/* heru-locations: Locations block family (locations-hero, locations-map-list, locations-taxonomy, location-hero, location-prose, location-services, location-featured, location-other, location-projects). Colours via site tokens, fonts as named. Hover rules sit inside the hover-capable query. */
.hu-loc-hero,.hu-loc-map,.hu-loc-tax,.loc-hero,.loc-prose,.loc-svc,.loc-feat,.loc-other,.hu-locproj{--cream:var(--wp--preset--color--light-gray);--surface:var(--wp--preset--color--heru-surface);--bg-deep:var(--wp--preset--color--heru-sand-deep);--rule:var(--wp--preset--color--heru-rule);--ink:var(--wp--preset--color--heru-ink);--ink-mid:var(--wp--preset--color--heru-ink-mid);--ink-light:var(--wp--preset--color--heru-ink-light);--teal:var(--wp--preset--color--heru-forest);--primary:var(--wp--preset--color--primary);--accent:var(--wp--preset--color--accent-1);--gutter:clamp(1.25rem,5vw,8.125rem);}
/* locations-hero */
.hu-loc-hero{--c-bg:var(--wp--preset--color--light-gray);--c-ink:var(--wp--preset--color--heru-ink);--c-ink-deep:var(--wp--preset--color--primary);--c-ink-mid:var(--wp--preset--color--heru-ink-mid);--c-accent:var(--wp--preset--color--accent-1);position:relative;overflow:hidden;background:var(--c-bg);padding:clamp(3.5rem,7vw,6.25rem) var(--gutter);}
.hu-loc-hero .loc-hero-bg{position:absolute;inset:0;background-image:var(--loc-hero-bg);background-size:cover;background-position:center;opacity:.3;}
.hu-loc-hero .loc-hero-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;}
.hu-loc-hero .loc-hero-content{max-width:780px;display:flex;flex-direction:column;gap:1.75rem;}
.hu-loc-hero .eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-family:'Inter',sans-serif;font-size:0.75rem;font-weight:500;letter-spacing:0.3em;text-transform:uppercase;color:var(--c-accent);margin:0;}
.hu-loc-hero .eyebrow::before{content:none;width:30px;height:1px;background:var(--c-accent);}
.hu-loc-hero h1{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(2.5rem,5vw,3.5rem);line-height:1.1;letter-spacing:-0.015em;color:var(--c-ink);margin:0;}
.hu-loc-hero h1 em{font-style:italic;color:var(--c-accent);}
.hu-loc-hero .loc-hero-lead{font-family:'Manrope',sans-serif;font-weight:400;font-size:clamp(1.4rem,2.2vw,1.75rem);line-height:1.5;color:var(--c-ink-deep);margin:0;}
.hu-loc-hero .loc-hero-body{font-family:'Inter',sans-serif;font-weight:300;font-size:1.0625rem;line-height:1.75;color:var(--c-ink-mid);margin:0;max-width:62ch;}
/* locations-map-list */
.hu-loc-map{background:var(--wp--preset--color--white);padding:clamp(3rem,5vw,3.75rem) var(--gutter);}
.hu-loc-map *,.hu-loc-map *::before,.hu-loc-map *::after{box-sizing:border-box;margin:0;}
.hu-loc-map .loc-map-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:start;}
.hu-loc-map .loc-map-col{background:var(--surface);border:1px solid var(--rule);position:relative;min-height:540px;overflow:hidden;}
.hu-loc-map .loc-map-canvas{position:absolute;inset:0;width:100%;height:100%;background:var(--surface);}
.hu-loc-map .loc-map-canvas .leaflet-container{width:100%;height:100%;background:var(--surface);font-family:var(--wp--preset--font-family--global,sans-serif);}
.hu-loc-map .loc-map-pin svg{filter:drop-shadow(0 2px 3px rgba(31,35,48,.35));}
.hu-loc-map .leaflet-popup-content a{color:var(--teal);text-decoration:none;font-weight:500;font-family:var(--wp--preset--font-family--global,sans-serif);}
.hu-loc-map .loc-list-head{border-bottom:1px solid var(--rule);padding-bottom:1.1rem;margin-bottom:.25rem;}
.hu-loc-map .loc-list-head h2{font-family:var(--wp--preset--font-family--heading,sans-serif);font-weight:500;font-size:clamp(1.6rem,2.5vw,1.75rem);letter-spacing:-.005em;color:var(--ink);}
.hu-loc-map .loc-list-head h2 em{font-style:italic;color:var(--accent);}
.hu-loc-map .loc-cards{display:flex;flex-direction:column;}
.hu-loc-map .loc-card{display:block;text-decoration:none;border-bottom:1px solid var(--rule);padding:1.5rem 0 2rem;}
.hu-loc-map .loc-card:last-child{border-bottom:none;}
.hu-loc-map .loc-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.6rem;}
.hu-loc-map .loc-card-head h3{font-family:var(--wp--preset--font-family--heading,sans-serif);font-weight:500;font-size:1.5rem;letter-spacing:-.005em;color:var(--ink);}
.hu-loc-map .loc-card-link{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--wp--preset--font-family--global,sans-serif);font-weight:500;font-size:.78rem;letter-spacing:.02em;color:var(--teal);white-space:nowrap;}
.hu-loc-map .loc-card-link svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.5;transition:transform .25s ease;}
@media (hover:hover) and (pointer:fine){.hu-loc-map .loc-card:hover .loc-card-link svg{transform:translateX(3px);}}
.hu-loc-map .loc-card-desc{font-family:var(--wp--preset--font-family--global,sans-serif);font-weight:300;font-size:.95rem;line-height:1.6;color:var(--ink-mid);margin-bottom:.75rem;max-width:34rem;}
.hu-loc-map .loc-card-meta{font-family:var(--wp--preset--font-family--global,sans-serif);font-weight:300;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mid);}
.hu-loc-map .loc-card-address{font-family:var(--wp--preset--font-family--global,sans-serif);font-weight:300;font-size:.8rem;line-height:1.5;color:var(--ink-mid);margin-top:.5rem;}
.hu-loc-map .loc-card-address:empty{display:none;}
@media(max-width:880px){.hu-loc-map .loc-map-inner{grid-template-columns:1fr;}.hu-loc-map .loc-map-col{min-height:340px;order:2;}}
/* locations-taxonomy */
.hu-loc-tax{--c-bg:var(--wp--preset--color--heru-surface);--c-rule:var(--wp--preset--color--heru-rule);--c-ink:var(--wp--preset--color--primary);--c-ink-mid:var(--wp--preset--color--heru-ink-mid);--c-ink-light:var(--wp--preset--color--heru-ink-light);--c-accent:var(--wp--preset--color--accent-1);background:var(--c-bg);border-top:1px solid var(--c-rule);border-bottom:1px solid var(--c-rule);padding:clamp(3rem,5vw,3.8rem) var(--gutter);}
.hu-loc-tax .loc-tax-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem;}
.hu-loc-tax .loc-tax-eyebrow{font-family:'Manrope',sans-serif;font-weight:500;font-size:0.75rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--c-accent);margin:0 0 0.4rem;}
.hu-loc-tax .loc-tax-head h2{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(2rem,3.2vw,2.625rem);line-height:1.15;color:var(--c-ink);margin:0;}
.hu-loc-tax .loc-tax-head h2 em{font-style:italic;color:var(--c-accent);}
.hu-loc-tax .loc-tax-group-label{font-family:'Inter',sans-serif;font-weight:500;font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--c-ink-light);margin:0.75rem 0 0;}
.hu-loc-tax .loc-tax-row{display:flex;flex-wrap:wrap;gap:0.5rem;}
.hu-loc-tax .loc-tax-pill,.hu-loc-tax .loc-tax-row a{display:inline-flex;align-items:center;padding:0.45rem 1.0625rem;border:1px solid var(--c-rule);border-radius:100px;font-family:'Inter',sans-serif;font-weight:400;font-size:0.825rem;color:var(--c-ink-mid);text-decoration:none;transition:background 0.25s ease,border-color 0.25s ease,color 0.25s ease;}
.hu-loc-tax .loc-tax-row a.imp-chip.is-active{background:var(--c-ink);border-color:var(--c-ink);color:var(--wp--preset--color--white);}
@media (hover:hover) and (pointer:fine){.hu-loc-tax .loc-tax-pill:hover,.hu-loc-tax .loc-tax-row a:hover{background:var(--c-accent);border-color:var(--c-accent);color:var(--wp--preset--color--white);}}
/* location-hero */
.loc-hero{position:relative;overflow:hidden;background:var(--primary);padding:clamp(3.5rem,8vw,6.25rem) var(--gutter);}
.loc-hero *,.loc-hero *::before,.loc-hero *::after{box-sizing:border-box;margin:0;}
.loc-hero .loc-hero-bg{position:absolute;inset:0;background-color:var(--wp--preset--color--secondary);background-image:var(--loc-hero-bg);background-size:cover;background-position:center;opacity:.7;}
.loc-hero .loc-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,var(--wp--preset--color--primary) 0%,rgba(57,64,62,.52) 57%,rgba(57,64,62,0) 100%);}
.loc-hero .loc-hero-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;}
.loc-hero .loc-hero-content{max-width:720px;display:flex;flex-direction:column;gap:1.75rem;}
.loc-hero .eyebrow{font-family:'Inter',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);}
.loc-hero h1{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(2.5rem,5vw,3.5rem);line-height:1.07;color:var(--cream);letter-spacing:-.01em;}
.loc-hero h1 em{font-style:italic;color:var(--accent);}
.loc-hero .loc-hero-sub{font-family:'Manrope',sans-serif;font-size:1.125rem;line-height:1.78;color:var(--wp--preset--color--white);max-width:580px;font-weight:400;}
.loc-hero .loc-hero-actions{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;}
.loc-hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:'Inter',sans-serif;font-size:.9375rem;font-weight:500;padding:.875rem 1.625rem;border-radius:2px;text-decoration:none;border:1px solid transparent;transition:background .2s ease,border-color .2s ease;}
.loc-hero .btn-primary{background:var(--cream);color:var(--ink);}
@media (hover:hover) and (pointer:fine){.loc-hero .btn-primary:hover{background:var(--wp--preset--color--white);}}
.loc-hero .btn-outline{background:transparent;border-color:var(--wp--preset--color--white);color:var(--cream);}
@media (hover:hover) and (pointer:fine){.loc-hero .btn-outline:hover{background:rgba(255,255,255,.12);}}
.loc-hero .loc-hero-trust{display:flex;gap:.9rem;align-items:center;margin-top:.25rem;}
.loc-hero .loc-hero-trust .tick{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;}
.loc-hero .loc-hero-trust .tick svg{width:15px;height:15px;stroke:var(--wp--preset--color--white);fill:none;stroke-width:2.5;}
.loc-hero .loc-hero-trust p{font-family:'Manrope',sans-serif;font-size:1rem;line-height:1.5;color:var(--wp--preset--color--white);max-width:520px;}
@media (max-width:768px){.loc-hero .loc-hero-overlay{background:linear-gradient(180deg,rgba(57,64,62,.82),rgba(57,64,62,.7));}}
/* location-prose */
.loc-prose{background:var(--bg-colour,var(--wp--preset--color--white));padding:clamp(3.5rem,7vw,6rem) var(--gutter);}
.loc-prose .loc-prose-inner{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:1.875rem;}
.loc-prose h2{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(1.75rem,3vw,2rem);line-height:1.2;letter-spacing:-.01em;color:var(--ink);margin:.75rem 0 0;}
.loc-prose h2 em{font-style:italic;color:var(--teal);}
.loc-prose p{font-family:'Inter',sans-serif;font-weight:300;font-size:1.0625rem;line-height:1.8;color:var(--ink-mid);margin:0;}
.loc-prose p.lead{font-family:'Jost',sans-serif;font-weight:400;font-size:clamp(1.15rem,2vw,1.3rem);line-height:1.6;color:var(--ink);letter-spacing:-.005em;}
/* loc-narrative (long form location copy), moved from Custom CSS */
.loc-narrative{background:var(--wp--preset--color--white);padding:clamp(3.5rem,7vw,6rem) clamp(1.25rem,5vw,8.125rem);}
.loc-narrative>*{max-width:880px;margin-left:auto;margin-right:auto;}
.loc-narrative>*+*{margin-top:1.5rem;}
.loc-narrative h2{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(1.75rem,3vw,2rem);line-height:1.2;letter-spacing:-.01em;color:var(--wp--preset--color--heru-ink);margin-top:2.75rem;}
.loc-narrative h2 em{font-style:italic;color:var(--wp--preset--color--heru-forest);}
.loc-narrative p{font-family:'Inter',sans-serif;font-weight:300;font-size:1.0625rem;line-height:1.8;color:var(--wp--preset--color--heru-ink-mid);}
.loc-narrative p.lead{font-family:'Jost',sans-serif;font-weight:400;font-size:clamp(1.15rem,2vw,1.3rem);line-height:1.6;color:var(--wp--preset--color--heru-ink);}
/* location-services */
.loc-svc{background:var(--cream);padding:clamp(3.5rem,7vw,5.5rem) var(--gutter);}
.loc-svc *,.loc-svc *::before,.loc-svc *::after{box-sizing:border-box;margin:0;}
.loc-svc .loc-svc-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:3rem;}
.loc-svc .loc-svc-head{display:flex;flex-direction:column;gap:1.875rem;max-width:760px;}
.loc-svc .eyebrow{font-family:'Manrope',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);}
.loc-svc h2{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(2rem,3.5vw,2.625rem);line-height:1.1;letter-spacing:-.015em;color:var(--ink);}
.loc-svc h2 em{font-style:italic;color:var(--accent);}
.loc-svc .loc-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.loc-svc .loc-svc-card{background:var(--surface);border:1px solid var(--rule);padding:2.25rem 2rem 2rem;display:flex;flex-direction:column;gap:1rem;text-decoration:none;transition:border-color .2s ease,transform .2s ease;}
@media (hover:hover) and (pointer:fine){.loc-svc .loc-svc-card:hover{border-color:var(--accent);transform:translateY(-2px);}}
.loc-svc .loc-svc-tag{font-family:'Manrope',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}
.loc-svc .loc-svc-card h3{font-family:'Manrope',sans-serif;font-weight:600;font-size:1.55rem;line-height:1.2;color:var(--ink);}
.loc-svc .loc-svc-card p{font-family:'Manrope',sans-serif;font-weight:300;font-size:.95rem;line-height:1.6;color:var(--ink-mid);flex:1;}
.loc-svc .loc-svc-link{font-family:'Manrope',sans-serif;font-weight:500;font-size:.9rem;color:var(--teal);}
@media (max-width:960px){.loc-svc .loc-svc-grid{grid-template-columns:1fr;}}
/* location-featured */
.loc-feat{--surface:var(--wp--preset--color--white);background:var(--cream);padding:clamp(3.5rem,6vw,5rem) var(--gutter);}
.loc-feat *,.loc-feat *::before,.loc-feat *::after{box-sizing:border-box;margin:0;}
.loc-feat .loc-feat-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:2.5rem;}
.loc-feat .loc-feat-head{display:flex;flex-direction:column;gap:1.875rem;max-width:760px;}
.loc-feat .eyebrow{font-family:'Inter',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);}
.loc-feat h2{font-family:'Jost',sans-serif;font-weight:500;font-size:clamp(2rem,3.5vw,2.625rem);line-height:1.1;letter-spacing:-.015em;color:var(--ink);}
.loc-feat h2 em{font-style:italic;color:var(--accent);}
.loc-feat .loc-feat-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);background:var(--surface);overflow:hidden;text-decoration:none;color:inherit;}
.loc-feat .loc-feat-img{background-color:var(--bg-deep);background-image:var(--loc-feat-img);background-size:cover;background-position:center;position:relative;min-height:360px;border-right:1px solid var(--rule);}
.loc-feat .loc-feat-img span{position:absolute;bottom:1rem;left:1rem;background:var(--surface);font-family:'Inter',sans-serif;font-style:italic;font-weight:300;font-size:.72rem;color:var(--ink-light);padding:.3rem .625rem;}
.loc-feat .loc-feat-body{padding:clamp(1.75rem,3vw,2.5rem);display:flex;flex-direction:column;gap:1.25rem;}
.loc-feat .loc-feat-meta{font-family:'Inter',sans-serif;font-weight:300;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mid);display:flex;flex-wrap:wrap;gap:.5rem;}
.loc-feat .loc-feat-meta .sep{color:var(--rule);}
.loc-feat .loc-feat-body h3{font-family:'Jost',sans-serif;font-weight:600;font-size:2rem;letter-spacing:-.01em;color:var(--ink);}
.loc-feat .loc-feat-tagline{font-family:'Jost',sans-serif;font-style:italic;font-weight:400;font-size:1rem;line-height:1.7;color:var(--ink-mid);}
.loc-feat .loc-feat-body p.desc{font-family:'Inter',sans-serif;font-weight:300;font-size:1rem;line-height:1.7;color:var(--ink-mid);}
.loc-feat .loc-feat-readlink{font-family:'Inter',sans-serif;font-weight:500;font-size:.9rem;color:var(--accent);text-decoration:none;margin-top:auto;}
.loc-feat .loc-feat-browse{border-top:1px solid var(--rule);padding-top:2.25rem;display:flex;flex-direction:column;align-items:center;gap:1.1rem;}
.loc-feat .loc-feat-browse-label{font-family:'Inter',sans-serif;font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-light);}
.loc-feat .loc-feat-pills{display:flex;flex-wrap:wrap;gap:.625rem;justify-content:center;}
.loc-feat .loc-feat-pill{font-family:'Inter',sans-serif;font-size:.825rem;font-weight:400;color:var(--ink-mid);background:var(--cream);border:1px solid var(--rule);border-radius:100px;padding:.45rem 1.0625rem;text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease;}
@media (hover:hover) and (pointer:fine){.loc-feat .loc-feat-pill:hover{background:var(--accent);border-color:var(--accent);color:var(--wp--preset--color--white);}}
@media (max-width:860px){.loc-feat .loc-feat-card{grid-template-columns:1fr;}.loc-feat .loc-feat-img{border-right:none;border-bottom:1px solid var(--rule);min-height:240px;}}
/* location-other */
.loc-other{--gold:var(--wp--preset--color--numeral);background:var(--surface);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:clamp(3.5rem,7vw,5.5rem) var(--gutter);}
.loc-other *,.loc-other *::before,.loc-other *::after{box-sizing:border-box;margin:0;}
.loc-other .loc-other-inner{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:3rem;}
.loc-other .loc-other-head{display:flex;flex-direction:column;gap:1.875rem;max-width:760px;}
.loc-other .eyebrow{font-family:var(--wp--preset--font-family--global,sans-serif);font-size:.75rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);}
.loc-other h2{font-family:var(--wp--preset--font-family--heading,sans-serif);font-weight:500;font-size:clamp(2rem,3.5vw,2.625rem);line-height:1.1;color:var(--ink);}
.loc-other h2 em{font-style:italic;color:var(--accent);}
.loc-other .loc-other-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.loc-other .loc-other-card{background:transparent;border:1px solid var(--rule);padding:1.5rem 1.5rem 1.3rem;display:flex;flex-direction:column;gap:.4rem;text-decoration:none;transition:border-color .2s ease,background .2s ease;}
@media (hover:hover) and (pointer:fine){.loc-other .loc-other-card:hover{border-color:var(--accent);background:var(--wp--preset--color--white);}}
.loc-other .loc-other-kicker{font-family:var(--wp--preset--font-family--global,sans-serif);font-weight:500;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.loc-other .loc-other-card h3{font-family:var(--wp--preset--font-family--heading,sans-serif);font-weight:500;font-size:1.4rem;letter-spacing:-.005em;color:var(--ink);}
.loc-other .loc-other-card p{font-family:var(--wp--preset--font-family--global,sans-serif);font-weight:300;font-size:.85rem;line-height:1.5;color:var(--ink-mid);}
@media (max-width:960px){.loc-other .loc-other-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.loc-other .loc-other-grid{grid-template-columns:1fr;}}
/* location-projects */
.hu-locproj{--c-bg-deep:var(--wp--preset--color--heru-sand-deep);--c-surface:var(--wp--preset--color--heru-surface);--c-rule:var(--wp--preset--color--heru-rule);--c-ink:var(--wp--preset--color--heru-ink);--c-ink-mid:var(--wp--preset--color--heru-ink-mid);--font-display:'Poppins','Helvetica Neue',sans-serif;--max-w:1180px;--gutter:clamp(1.25rem,5vw,3rem);padding:clamp(4rem,7vw,6rem) var(--gutter);background:var(--wp--preset--color--white);}
.hu-locproj .projects-inner{max-width:var(--max-w);margin:0 auto;}
.hu-locproj .section-header{margin-bottom:3rem;max-width:720px;}
.hu-locproj .eyebrow{display:inline-flex;align-items:center;font-size:0.72rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--wp--preset--color--accent-1);margin-bottom:1.25rem;font-family:'Inter',sans-serif;}
.hu-locproj .section-header h2{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,2.875rem);font-weight:500;line-height:1.1;letter-spacing:-0.015em;color:var(--wp--preset--color--primary);}
.hu-locproj .section-header h2 em{font-style:italic;}
.hu-locproj .section-header p.intro{margin-top:1rem;font-family:'Inter',sans-serif;font-weight:300;font-size:1rem;line-height:1.65;color:var(--c-ink-mid);}
.hu-locproj .projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;}
.hu-locproj .proj-card{background:var(--c-surface);border:1px solid var(--c-rule);text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;overflow:hidden;}
@media (hover:hover) and (pointer:fine){.hu-locproj .proj-card:hover{border-color:var(--wp--preset--color--accent-1);transform:translateY(-2px);box-shadow:0 6px 24px rgba(31,35,48,.07);}}
.hu-locproj .proj-card-img{position:relative;aspect-ratio:16/9;background-color:var(--c-bg-deep);background-size:cover;background-position:center;border-bottom:1px solid var(--c-rule);}
.hu-locproj .proj-card-meta{padding:1.5rem 1.5rem 1.75rem;display:flex;flex-direction:column;gap:0.5rem;}
.hu-locproj .proj-card-meta > *{margin:0;}
.hu-locproj .proj-card-grade{font-family:'Manrope',sans-serif;font-weight:600;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--wp--preset--color--accent-1);}
.hu-locproj .proj-card h3{font-family:'Manrope',sans-serif;font-weight:700;font-size:1.3rem;line-height:1.2;color:var(--c-ink);}
.hu-locproj .proj-card p{font-family:'Manrope',sans-serif;font-weight:300;font-size:0.875rem;line-height:1.5;color:var(--c-ink-mid);}
@media(max-width:700px){.hu-locproj .projects-grid{grid-template-columns:1fr;}}
