:root{
  --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);
  --text-sm:clamp(.875rem,.8rem + .35vw,1rem);
  --text-base:clamp(1rem,.95rem + .25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl:clamp(2rem,1.2rem + 2.5vw,3.25rem);
  --text-hero:clamp(2.5rem,1rem + 4.8vw,5.25rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
  --radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;
  --transition-interactive:180ms cubic-bezier(.16,1,.3,1);
  --font-display:'Cabinet Grotesk','Helvetica Neue',sans-serif;
  --font-body:'Satoshi','Helvetica Neue',sans-serif;
  --content:1240px;--header-h:76px;
}
:root,[data-theme=dark]{
  --color-bg:#0F0F0E;--color-surface:#171614;--color-surface-2:#1E1D1A;--color-border:#2F2D29;--color-divider:#26241F;
  --color-text:#E8E4DA;--color-text-muted:#A39E92;--color-text-faint:#6E6A61;
  --color-primary:#C9A96B;--color-primary-hover:#DCC08A;--color-on-primary:#15130F;
  --color-dark:#0A0A09;--color-on-dark:#E8E4DA;
  --shadow:0 20px 50px -20px rgba(0,0,0,.7);
}
[data-theme=light]{
  --color-bg:#F6F3EC;--color-surface:#FFFDF8;--color-surface-2:#EFEBE1;--color-border:#D9D3C5;--color-divider:#E5E0D4;
  --color-text:#1B1A17;--color-text-muted:#5E5A50;--color-text-faint:#8F897B;
  --color-primary:#8A6A2E;--color-primary-hover:#6F5422;--color-on-primary:#FFFDF8;
  --color-dark:#14130F;--color-on-dark:#EDE8DC;
  --shadow:0 20px 50px -24px rgba(40,30,10,.25);
}
body{font-family:var(--font-body);overflow-x:hidden}
a{color:inherit;text-decoration:none}
.container{width:min(100% - 2.5rem,var(--content));margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--color-primary);color:var(--color-on-primary);padding:.5rem 1rem;z-index:100}
.skip:focus{left:1rem}
.muted{color:var(--color-text-muted)}
.eyebrow{font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--color-primary);margin-bottom:var(--space-3)}
h1,h2,h3{font-family:var(--font-display);font-weight:800;letter-spacing:-.015em}

/* utility bar */
.utility{background:var(--color-dark);color:#B9B3A6;font-size:var(--text-xs);border-bottom:1px solid #24221E}
.utility-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:36px;letter-spacing:.06em}
.utility-right{display:flex;align-items:center;gap:.75rem}
.utility a{color:#E8E4DA;font-weight:700}
.utility a:hover{color:#C9A96B}
.dot{width:6px;height:6px;border-radius:50%;background:#C9A96B;display:inline-block}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--color-bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border)}
.header-inner{display:flex;align-items:center;gap:var(--space-6);min-height:var(--header-h)}
.brand{display:flex;align-items:center;flex-shrink:0}
.logo-img{display:block;height:50px;width:auto}
.logo-mark path{stroke:var(--color-primary)}
.logo-word{font-family:var(--font-display);font-weight:800;font-size:31px;fill:var(--color-text);letter-spacing:.02em}
.logo-sub{font-family:var(--font-body);font-weight:700;font-size:10.5px;letter-spacing:.32em;fill:var(--color-text-muted)}
.primary-nav{margin-left:auto}
.nav-list{display:flex;align-items:center;gap:var(--space-1);list-style:none}
.nav-item{position:relative;display:flex;align-items:center}
.nav-link{display:block;padding:.6rem .55rem;font-size:var(--text-sm);font-weight:500;white-space:nowrap;color:var(--color-text)}
.nav-link:hover,.nav-link[aria-current=page]{color:var(--color-primary)}
.has-drop .nav-link{padding-right:.15rem}
.drop-toggle{display:grid;place-items:center;width:22px;height:30px;color:var(--color-text-muted)}
.drop-toggle:hover{color:var(--color-primary)}
.chev{transition:transform var(--transition-interactive)}
.nav-item.open .chev{transform:rotate(180deg)}
.drop{position:absolute;top:100%;left:0;min-width:250px;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-top:2px solid var(--color-primary);padding:var(--space-2) 0;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s}
.drop a{display:block;padding:.55rem 1.1rem;font-size:var(--text-sm);color:var(--color-text-muted)}
.drop a:hover{color:var(--color-primary);background:var(--color-surface-2)}
.nav-item.open>.drop,.nav-item.open>.mega{opacity:1;visibility:visible;transform:none}
.is-mega{position:static}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--color-surface);border-top:2px solid var(--color-primary);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;max-height:calc(100dvh - 120px);overflow:auto}
.mega-inner{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-5) var(--space-8);padding-block:var(--space-6)}
.mega-head{display:block;font-family:var(--font-display);font-weight:800;font-size:.95rem;color:var(--color-text);padding-bottom:.5rem;margin-bottom:.4rem;border-bottom:1px solid var(--color-border)}
.mega-head:hover{color:var(--color-primary)}
.mega-col ul{list-style:none}
.mega-col li a{display:block;padding:.2rem 0;font-size:.85rem;line-height:1.3;color:var(--color-text-muted)}
.mega-col li a:hover{color:var(--color-primary)}
.header-actions{display:flex;align-items:center;gap:var(--space-3)}
.theme-toggle{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--color-border);color:var(--color-text)}
.theme-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}
.menu-btn{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:1px solid var(--color-border);border-radius:var(--radius-md)}
.menu-btn span{width:20px;height:2px;background:var(--color-text);transition:transform .2s,opacity .2s}
.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{border-top:1px solid var(--color-border);background:var(--color-bg);max-height:calc(100dvh - 112px);overflow:auto}
.mobile-nav>ul{list-style:none;padding:var(--space-4) 1.25rem var(--space-8)}
.mobile-nav>ul>li{border-bottom:1px solid var(--color-divider)}
.mobile-nav>ul>li:last-child{border:0;padding-top:var(--space-6)}
.m-link{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;font-weight:700;font-size:1.05rem;cursor:pointer;list-style:none}
.m-link::-webkit-details-marker{display:none}
details[open] .chev{transform:rotate(180deg)}
.m-sub{list-style:none;padding:0 0 1rem .75rem}
.m-sub a{display:block;padding:.4rem 0;color:var(--color-text-muted);font-size:.95rem}
.m-cat ul{list-style:none;padding-left:.75rem}
.m-cathead{color:var(--color-primary)!important;font-weight:700;margin-top:.5rem}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.5rem;font-weight:700;font-size:var(--text-sm);letter-spacing:.02em;border-radius:var(--radius-sm);border:1px solid transparent;white-space:nowrap}
.btn-gold{background:var(--color-primary);color:var(--color-on-primary)}
.btn-gold:hover{background:var(--color-primary-hover)}
.btn-ghost{border-color:currentColor;color:inherit}
.btn-ghost:hover{color:var(--color-primary)}
.btn-sm{padding:.6rem 1rem;font-size:.85rem}
.text-link{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--color-primary);font-size:var(--text-sm)}
.text-link:hover{gap:.65rem;color:var(--color-primary-hover)}

/* hero */
.hero{position:relative;min-height:min(86vh,820px);display:flex;align-items:flex-end;color:#F2EEE4;overflow:hidden;background:#0A0A09}
.hero-img,.page-hero-img,.emerg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,7,.88) 0%,rgba(8,8,7,.6) 45%,rgba(8,8,7,.15) 100%),linear-gradient(0deg,rgba(8,8,7,.75),transparent 50%)}
.hero-inner{position:relative;padding-block:var(--space-24) var(--space-20)}
.hero .eyebrow,.page-hero .eyebrow,.emerg .eyebrow,.section-dark .eyebrow{color:#D6B97E}
.hero-title{font-size:var(--text-hero);line-height:1.02;max-width:15ch;margin-bottom:var(--space-6)}
.lead{font-size:var(--text-lg);line-height:1.5;max-width:58ch;color:inherit;opacity:.88}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.hero .btn-gold,.page-hero .btn-gold,.emerg .btn-gold,.section-dark .btn-gold{background:#C9A96B;color:#15130F}
.hero .btn-gold:hover,.emerg .btn-gold:hover,.section-dark .btn-gold:hover{background:#DCC08A}
.hero .btn-ghost:hover,.emerg .btn-ghost:hover,.section-dark .btn-ghost:hover{color:#D6B97E}

.band{background:var(--color-surface);border-bottom:1px solid var(--color-border)}
.band-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.band-item{padding:var(--space-6) var(--space-4);border-left:1px solid var(--color-border);display:flex;flex-direction:column}
.band-item:first-child{border-left:0;padding-left:0}
.band-a{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg)}
.band-b{color:var(--color-text-muted);font-size:var(--text-sm)}

/* sections */
.section{padding-block:clamp(4rem,8vw,7rem)}
.section-alt{background:var(--color-surface)}
.section-dark{background:var(--color-dark);color:var(--color-on-dark)}
.section-dark p{color:#C5BFB2}
.split{display:grid;grid-template-columns:5fr 7fr;gap:var(--space-12);align-items:start}
.section-title{font-size:var(--text-2xl);line-height:1.05;max-width:18ch}
.prose p{margin-bottom:var(--space-5);color:var(--color-text-muted)}
.prose p:first-child{color:var(--color-text);font-size:var(--text-lg);line-height:1.5}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-10);flex-wrap:wrap}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.cat-card{position:relative;display:flex;flex-direction:column;background:var(--color-bg);border:1px solid var(--color-border);overflow:hidden;border-radius:var(--radius-sm)}
.cat-card img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform .6s cubic-bezier(.16,1,.3,1);filter:saturate(.85)}
.cat-card:hover img{transform:scale(1.04)}
.cat-card:hover{border-color:var(--color-primary)}
.cat-card:hover h3{color:var(--color-primary)}
.cat-body{padding:var(--space-6)}
.cat-body h3{font-size:var(--text-lg);margin-bottom:var(--space-2);transition:color var(--transition-interactive)}
.cat-body p{color:var(--color-text-muted);font-size:var(--text-sm)}
.cat-count{display:block;font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);font-weight:700;margin-bottom:var(--space-2)}
.cat-feature{grid-column:span 2;grid-row:span 2}
.cat-feature img{aspect-ratio:auto;flex:1;min-height:320px}
.cat-feature h3{font-size:var(--text-xl)}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.feature.reverse .feature-media{order:2}
.feature-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm)}
.feature-copy>p{margin-block:var(--space-5);color:var(--color-text-muted)}
.link-list{list-style:none;border-top:1px solid var(--color-border)}
.link-list a{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--color-border);font-weight:700}
.link-list a:hover{color:var(--color-primary);padding-left:.4rem}
.chip-cloud{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.chip{padding:.7rem 1.1rem;border:1px solid var(--color-border);border-radius:999px;font-size:var(--text-sm);font-weight:500;background:var(--color-surface)}
.chip:hover{border-color:var(--color-primary);color:var(--color-primary)}
.emerg{position:relative;color:#F2EEE4;overflow:hidden;background:#0A0A09}
.emerg-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,7,.9),rgba(8,8,7,.55) 60%,rgba(8,8,7,.3))}
.emerg-inner{position:relative;padding-block:clamp(5rem,10vw,8rem)}
.emerg-inner p{max-width:52ch;margin-top:var(--space-4);opacity:.88;font-size:var(--text-lg)}

/* page hero */
.page-hero{position:relative;color:#F2EEE4;background:#0A0A09;overflow:hidden}
.page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,7,.92),rgba(8,8,7,.65) 55%,rgba(8,8,7,.35))}
.page-hero-inner{position:relative;padding-block:clamp(4rem,9vw,7.5rem)}
.page-title{font-size:var(--text-2xl);line-height:1.05;max-width:22ch;margin-bottom:var(--space-5)}
.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;font-size:var(--text-xs);margin-bottom:var(--space-6);color:#B9B3A6}
.crumbs a:hover{color:#D6B97E}

/* services index */
.svc-layout{display:grid;grid-template-columns:240px 1fr;gap:var(--space-12)}
.svc-toc{position:sticky;top:calc(var(--header-h) + 1.5rem);align-self:start}
.svc-toc ul{list-style:none;border-left:1px solid var(--color-border)}
.svc-toc a{display:block;padding:.45rem 0 .45rem 1rem;font-size:var(--text-sm);color:var(--color-text-muted);margin-left:-1px;border-left:2px solid transparent}
.svc-toc a:hover{color:var(--color-primary);border-left-color:var(--color-primary)}
.svc-cat{scroll-margin-top:calc(var(--header-h) + 1rem);margin-bottom:var(--space-16)}
.svc-cat-head{display:grid;grid-template-columns:200px 1fr;gap:var(--space-6);align-items:center;margin-bottom:var(--space-6)}
.svc-cat-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm)}
.svc-cat-title{font-size:var(--text-xl);margin-bottom:var(--space-2)}
.svc-cat-head p{color:var(--color-text-muted)}
.svc-list{list-style:none;border-top:1px solid var(--color-border)}
.svc-list a{display:grid;grid-template-columns:minmax(180px,2fr) 5fr 20px;gap:var(--space-6);align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--color-border)}
.svc-list a:hover{color:var(--color-primary)}
.svc-list a:hover .svc-name{color:var(--color-primary)}
.svc-name{font-weight:700;font-family:var(--font-display);font-size:1.05rem}
.svc-sum{color:var(--color-text-muted);font-size:var(--text-sm)}

/* service detail */
.detail{display:grid;grid-template-columns:1fr 340px;gap:var(--space-12);align-items:start}
.sub-title{font-size:var(--text-xl);margin-bottom:var(--space-6)}
.caps{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-16)}
.caps li{padding:1rem 1.1rem 1rem 2.6rem;background:var(--color-surface);border:1px solid var(--color-border);position:relative;font-weight:500;border-radius:var(--radius-sm)}
.caps li::before{content:"";position:absolute;left:1.1rem;top:1.45rem;width:10px;height:2px;background:var(--color-primary)}
.steps{list-style:none;display:grid;gap:0;border-top:1px solid var(--color-border)}
.steps li{display:grid;grid-template-columns:64px 1fr;gap:var(--space-4);padding:var(--space-6) 0;border-bottom:1px solid var(--color-border)}
.steps span{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);color:var(--color-primary)}
.steps h3{font-size:1.15rem;margin-bottom:.25rem}
.steps p{color:var(--color-text-muted)}
.detail-side{display:flex;flex-direction:column;gap:var(--space-5);position:sticky;top:calc(var(--header-h) + 1.5rem)}
.side-card{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}
.side-card ul{list-style:none}
.side-card li{padding:.5rem 0;border-bottom:1px solid var(--color-divider)}
.side-card li:last-child{border:0}
.side-card a:not(.btn){color:var(--color-primary);font-weight:700;word-break:break-word}
.side-cta{border-top:2px solid var(--color-primary)}
.side-cta p{color:var(--color-text-muted);margin-bottom:var(--space-5)}
.side-cta .btn{width:100%}
.side-phone{display:block;text-align:center;margin-top:var(--space-4)}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.rel-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}
.rel-card:hover{border-color:var(--color-primary)}
.rel-card h3{font-size:1.15rem}
.rel-card p{color:var(--color-text-muted);font-size:var(--text-sm);flex:1}

/* misc pages */
.mv{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.mv-card{padding:clamp(2rem,4vw,3rem);background:var(--color-bg);border:1px solid var(--color-border);border-top:2px solid var(--color-primary)}
.mv-text{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);line-height:1.35}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-5)}
.pillar{padding:var(--space-8) var(--space-6);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm)}
.pillar h3{font-size:1.2rem;margin-bottom:var(--space-3)}
.pillar h3::before{content:"";display:block;width:28px;height:2px;background:var(--color-primary);margin-bottom:var(--space-4)}
.pillar p{color:var(--color-text-muted)}
.q-list{display:grid;gap:0;max-width:880px}
.q-item{padding-block:var(--space-10);border-bottom:1px solid var(--color-border);scroll-margin-top:calc(var(--header-h) + 1rem)}
.q-item:first-child{padding-top:0}
.q-item p{color:var(--color-text-muted);margin-bottom:var(--space-5);font-size:var(--text-lg);line-height:1.55}
.q-item .sub-title{margin-bottom:var(--space-4)}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.loc-card{padding:clamp(2rem,4vw,3rem);background:var(--color-surface);border:1px solid var(--color-border)}
.loc-card p{color:var(--color-text-muted);margin-bottom:var(--space-4)}
.loc-card p a{color:var(--color-primary);font-weight:700}
.contact-grid{display:grid;grid-template-columns:1fr 340px;gap:var(--space-12);align-items:start}
.form{display:grid;gap:var(--space-5)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.form label{display:grid;gap:.4rem;font-size:var(--text-sm);font-weight:700}
.form input,.form select,.form textarea{width:100%;padding:.85rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-weight:400;font-size:var(--text-base)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--color-primary) 25%,transparent)}
.form [aria-invalid=true]{border-color:#C8553D}
.form-msg{min-height:1.5em;font-size:var(--text-sm);color:var(--color-primary)}
.form-msg.err{color:#D9705B}
.form .btn{justify-self:start}

/* footer */
.site-footer{background:var(--color-dark);color:#B9B3A6;padding-top:var(--space-16)}
.site-footer .logo-word{fill:#E8E4DA}.site-footer .logo-sub{fill:#9A9488}.site-footer .logo-mark path{stroke:#C9A96B}
.footer-cta{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-8);flex-wrap:wrap;padding-bottom:var(--space-12);border-bottom:1px solid #2A2824}
.footer-cta .eyebrow{color:#D6B97E}
.footer-title{font-size:var(--text-2xl);color:#F2EEE4;line-height:1.05}
.footer-cta-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}
.footer-cta .btn-gold{background:#C9A96B;color:#15130F}
.footer-cta .btn-ghost{color:#E8E4DA}
.footer-cta .btn-ghost:hover{color:#D6B97E}
.footer-grid{display:grid;grid-template-columns:1.6fr repeat(5,1fr);gap:var(--space-8);padding-block:var(--space-12)}
.footer-brand p{margin-top:var(--space-4);font-size:var(--text-sm);max-width:30ch}
.footer-head{font-family:var(--font-display);font-weight:800;color:#E8E4DA;margin-bottom:var(--space-3);font-size:.95rem}
.site-footer ul{list-style:none}
.site-footer li a{display:block;padding:.25rem 0;font-size:.85rem}
.site-footer a:hover{color:#D6B97E}
.footer-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);padding-block:var(--space-6);border-top:1px solid #2A2824;font-size:var(--text-xs)}

/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}

/* responsive */
@media (max-width:1240px){
  .primary-nav{display:none}
  .menu-btn{display:flex}
  .header-actions{margin-left:auto}
  .footer-grid{grid-template-columns:repeat(3,1fr)}
  .footer-brand{grid-column:1/-1}
}
@media (max-width:960px){
  .split,.feature,.detail,.contact-grid,.svc-layout{grid-template-columns:1fr}
  .feature.reverse .feature-media{order:0}
  .cat-grid,.rel-grid{grid-template-columns:1fr 1fr}
  .cat-feature{grid-column:span 2;grid-row:auto}
  .svc-toc{position:static}
  .svc-toc ul{display:flex;flex-wrap:wrap;gap:.25rem;border:0}
  .svc-toc a{border:1px solid var(--color-border);border-radius:999px;padding:.35rem .8rem;margin:0}
  .detail-side{position:static}
  .band-grid{grid-template-columns:1fr 1fr}
  .band-item:nth-child(3){border-left:0;padding-left:0}
  .band-item:nth-child(n+3){border-top:1px solid var(--color-border)}
}
@media (max-width:640px){
  .hide-sm{display:none}
  .logo-img{height:42px}
  .utility-inner>span:first-child{display:none}
  .utility-inner{justify-content:flex-end}
  .cat-grid,.rel-grid,.mv,.loc-grid,.caps,.form-row{grid-template-columns:1fr}
  .cat-feature{grid-column:auto}
  .cat-feature img{min-height:0;aspect-ratio:16/10}
  .svc-cat-head{grid-template-columns:1fr}
  .svc-list a{grid-template-columns:1fr 20px;gap:.35rem 1rem}
  .svc-name{grid-column:1}.svc-sum{grid-column:1;grid-row:2}
  .svc-list a svg{grid-row:1/3;grid-column:2}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero-inner{padding-block:var(--space-20) var(--space-12)}
  .hero{min-height:auto}
  .hero-shade{background:linear-gradient(0deg,rgba(8,8,7,.92) 30%,rgba(8,8,7,.55))}
}
ul[role=list] li,ol[role=list] li{max-width:none}

/* utility links */
.u-link{color:#B9B3A6!important;font-weight:500!important}
.u-link:hover{color:#C9A96B!important}

/* responsibility pages */
.subnav{position:sticky;top:var(--header-h);z-index:40;background:var(--color-surface);border-bottom:1px solid var(--color-border)}
.subnav-inner{display:flex;gap:var(--space-6);overflow-x:auto;scrollbar-width:none}
.subnav-inner::-webkit-scrollbar{display:none}
.subnav a{flex-shrink:0;padding:1rem 0;font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);border-bottom:2px solid transparent}
.subnav a:hover{color:var(--color-primary);border-bottom-color:var(--color-primary)}
.r-sec{scroll-margin-top:calc(var(--header-h) + 56px)}
.r-wrap{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.r-head .section-title{margin-bottom:var(--space-5)}
.r-body{color:var(--color-text-muted);font-size:var(--text-lg);line-height:1.55;margin-bottom:var(--space-6)}
.r-caps{grid-template-columns:1fr;margin-bottom:0}
.section-alt .caps li,.section-alt .r-card{background:var(--color-bg)}
.r-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}
.r-card{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}
.r-num{display:block;font-family:var(--font-display);font-weight:800;color:var(--color-primary);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--space-3)}
.r-card h3{font-size:1.1rem;margin-bottom:var(--space-2)}
.r-card p{color:var(--color-text-muted);font-size:var(--text-sm)}
.r-steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);counter-reset:s}
.r-steps li{position:relative;padding:var(--space-6) var(--space-5);border-top:2px solid var(--color-primary);background:var(--color-surface)}
.section-alt .r-steps li{background:var(--color-bg)}
.r-step-n{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);font-weight:800;font-family:var(--font-display);margin-bottom:var(--space-4)}
.r-steps h3{font-size:1.1rem;margin-bottom:var(--space-2)}
.r-steps p{color:var(--color-text-muted);font-size:var(--text-sm)}
.r-next .section-title{max-width:24ch;margin-bottom:var(--space-10)}
.r-trio{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.r-trio-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-8);border:1px solid #2F2D29;border-radius:var(--radius-sm)}
.r-trio-card:hover{border-color:#C9A96B}
.r-trio-card h3{color:#F2EEE4;font-size:var(--text-lg)}
.r-trio-card p{color:#C5BFB2}
.r-trio-card .text-link{color:#D6B97E}
.resp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.resp-grid .cat-card{background:var(--color-bg)}
@media (max-width:960px){.r-wrap{grid-template-columns:1fr}.resp-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.resp-grid,.r-trio{grid-template-columns:1fr}.u-link,.u-link+.u-link+.dot{display:none}}
.r-steps[data-n="4"]{grid-template-columns:repeat(2,1fr)}
.r-steps[data-n="5"],.r-steps[data-n="6"]{grid-template-columns:repeat(3,1fr)}
@media (max-width:1440px){.header-actions .btn-gold{display:none}.nav-link{padding-inline:.45rem}}
@media (max-width:640px){.r-steps[data-n]{grid-template-columns:1fr 1fr}}
.outcomes{padding-bottom:clamp(3rem,6vw,5rem)}
.out-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--color-border)}
.out-card{padding:var(--space-8) var(--space-8) var(--space-6) 0;display:flex;flex-direction:column;gap:var(--space-4)}
.out-card+.out-card{padding-left:var(--space-8);border-left:1px solid var(--color-border)}
.out-word{font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);line-height:1;color:var(--color-primary)}
.out-card p{color:var(--color-text-muted);flex:1}
.footer-promise{font-family:var(--font-display);font-weight:800;color:#E8E4DA;font-size:1.05rem}
.footer-brand p+p{margin-top:var(--space-2)}
@media (max-width:760px){.out-grid{grid-template-columns:1fr}.out-card,.out-card+.out-card{padding:var(--space-6) 0;border-left:0;border-bottom:1px solid var(--color-border)}}
.detail-lead{font-size:var(--text-lg);line-height:1.55;color:var(--color-text);margin-bottom:var(--space-10);max-width:62ch}
.hq-city{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-2)}
.nav-item:last-child>.drop,.nav-item:nth-last-child(2)>.drop{left:auto;right:0}
.see-also{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-4)}.see-also a{color:var(--color-primary);font-weight:600}
.loc-region{margin-top:clamp(3rem,6vw,5rem)}
.loc-region-head{margin-bottom:var(--space-6)}
.city-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--color-border);border-left:1px solid var(--color-border)}
.city-grid li.city{max-width:none;display:flex;flex-direction:column;gap:.25rem;padding:var(--space-5) var(--space-6);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface)}
.city-name{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);color:var(--color-text)}
.city-region{font-size:var(--text-sm);color:var(--color-text-muted)}
@media (max-width:900px){.city-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.city-grid li.city{padding:var(--space-4)}}
/* DGA strategic partner line, bottom of footer */
.footer-partner{display:flex;align-items:center;justify-content:center;gap:10px;padding-block:0 var(--space-6);font-size:var(--text-xs);color:#9A9488;text-align:center}
.footer-partner .us-flag{flex-shrink:0;display:block;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.footer-partner a{color:#C9A96B;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.footer-partner a:hover{color:#E8E4DA}
@media (max-width:640px){.footer-partner{align-items:flex-start;text-align:left}.footer-partner .us-flag{margin-top:2px}}
