
  :root{
    --navy-900:#0c1226;
    --navy-800:#111a35;
    --navy-700:#16213f;
    --navy-600:#1d2a4c;
    --ink:#14213d;
    --muted:#5a637a;
    --muted-light:#8d94a7;
    --paper:#ffffff;
    --paper-warm:#faf8f3;
    --line:#e7e2d6;
    --line-navy:rgba(214,178,94,0.22);
    --gold-1:#e7cd85;
    --gold-2:#c9a24b;
    --gold-3:#9c7a2b;
    --gold-line:#c9a24b;
    --white:#ffffff;
    --banner-h:clamp(620px,66vh,780px);
    --mono-top:clamp(310px,33vh,390px);
    --gold-grad:linear-gradient(158deg,#efd8a0 0%,#d0ab53 40%,#a07f30 74%,#e2c06f 100%);
    --gold-grad-dark:linear-gradient(150deg,#d5ac68 0%,#c29a59 48%,#a5844a 100%);
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{
    font-family:'Libre Franklin',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.6;
    font-weight:300;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,.serif{font-family:'Marcellus',Georgia,serif;font-weight:400;letter-spacing:.01em}
  .mono{font-family:'IBM Plex Mono',monospace}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}

  .wrap{max-width:1200px;margin:0 auto;padding:0 40px}
  @media(max-width:640px){.wrap{padding:0 22px}}

  /* ---- eyebrow: label flanked by hairline rules (echoes the LTD. rule in the logo) ---- */
  .eyebrow{
    display:inline-flex;align-items:center;gap:16px;
    font-family:'IBM Plex Mono',monospace;
    font-size:11.5px;letter-spacing:.32em;text-transform:uppercase;
    color:var(--gold-3);font-weight:500;
  }
  .eyebrow::before,.eyebrow::after{content:"";width:34px;height:1px;background:var(--gold-line);opacity:.7}
  .eyebrow.solo::after{display:none}
  .on-navy .eyebrow{color:var(--gold-1)}
  .on-navy .eyebrow::before,.on-navy .eyebrow::after{background:var(--gold-2);opacity:.85}

  /* metallic gold text */
  .gold-metal{
    display:inline-block;
    color:#c29a59;
    background:var(--gold-grad-dark);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
    -webkit-transform:translateZ(0);transform:translateZ(0);
  }
  .on-navy .gold-metal{ background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
  @supports not ((-webkit-background-clip:text) or (background-clip:text)){
    .gold-metal{-webkit-text-fill-color:#c29a59;color:#c29a59;background:none}
    .on-navy .gold-metal{-webkit-text-fill-color:#e7cd85;color:#e7cd85;background:none}
  }

  /* ---------------- NAV ---------------- */
  header.nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    color:var(--ink);
    transition:background .4s ease,box-shadow .4s ease,border-color .4s ease;
    border-bottom:1px solid transparent;
  }
  header.nav.scrolled{
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:212px;transition:height .35s ease}
  header.nav.scrolled .nav-inner{height:108px}
  .brand{display:inline-flex;align-items:center}
  .brand-logo{height:164px;width:auto;display:block;position:relative;top:16px;transition:height .35s ease,top .35s ease}
  header.nav.scrolled .brand-logo{height:96px;top:6px}
  .wordmark{font-family:'Marcellus',serif;font-size:24px;letter-spacing:.14em;display:flex;align-items:baseline;gap:1px}
  .wordmark .d{color:var(--gold-2)}
  .wordmark .ltd{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.28em;margin-left:10px;opacity:.5;transform:translateY(-2px)}
  nav.links{display:flex;gap:38px;align-items:center}
  nav.links a{font-size:13px;letter-spacing:.06em;color:inherit;opacity:.82;transition:opacity .2s}
  nav.links a:hover{opacity:1}
  nav.links a.cta{
    border:1px solid rgba(26,32,54,.3);padding:9px 20px;border-radius:2px;opacity:1;color:var(--ink);
    font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:all .25s;
  }
  nav.links a.cta:hover{border-color:var(--gold-2);color:var(--gold-3)}

  /* ---------------- HERO (LIGHT) ---------------- */
  .hero{
    position:relative;min-height:var(--banner-h);display:flex;align-items:center;padding:120px 0 46px;
    background:
      radial-gradient(1100px 640px at 80% -8%,rgba(201,162,75,.20),transparent 55%),
      radial-gradient(900px 620px at 6% 112%,rgba(22,33,63,.07),transparent 60%),
      linear-gradient(160deg,#ffffff 0%,#faf7f0 58%,#f3eee1 100%);
    color:var(--ink);overflow:hidden;
  }
  .hero-frame{
    position:absolute;inset:24px;
    border:1px solid rgba(201,162,75,.32);
    pointer-events:none;
  }
  .hero-frame::before,.hero-frame::after{
    content:"";position:absolute;width:12px;height:12px;border:1px solid rgba(156,122,43,.65);
  }
  .hero-frame::before{top:-1px;left:-1px;border-right:0;border-bottom:0}
  .hero-frame::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
  .hero-grid{
    position:absolute;inset:0;opacity:.6;pointer-events:none;
    background-image:linear-gradient(rgba(22,33,63,.045) 1px,transparent 1px);
    background-size:100% 46px;
    mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent);
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent);
  }
  .hero-inner{position:relative;z-index:2}
  .hero-monogram{
    position:absolute;z-index:1;pointer-events:none;user-select:none;
    right:0;top:var(--mono-top);transform:translateY(-50%);
    width:min(975px,90%);max-width:none;height:auto;
    opacity:.16;
    -webkit-mask-image:radial-gradient(135% 135% at 50% 50%,#000 60%,transparent 94%);
    mask-image:radial-gradient(135% 135% at 50% 50%,#000 60%,transparent 94%);
  }
  @media(max-width:860px){
    .hero-monogram{right:0;width:130vw;opacity:.10}
  }
  .hero .eyebrow{margin-bottom:14px}
  .hero h1{
    font-size:clamp(34px,5.2vw,64px);line-height:1.05;letter-spacing:.005em;
    color:var(--ink);max-width:16ch;
  }
  .hero h1 em{font-style:normal}
  .hero .lede{
    margin-top:20px;max-width:54ch;font-size:clamp(15px,1.4vw,17.5px);line-height:1.55;
    color:var(--muted);font-weight:300;
  }
  .hero .actions{margin-top:18px;display:flex;gap:16px;flex-wrap:wrap}
  .btn{
    display:inline-flex;align-items:center;gap:11px;
    font-size:13px;letter-spacing:.1em;text-transform:uppercase;
    padding:15px 30px;border-radius:2px;cursor:pointer;transition:all .25s ease;
    font-weight:400;
  }
  .btn .arw{transition:transform .25s ease}
  .btn:hover .arw{transform:translateX(4px)}
  .btn-gold{background:var(--gold-grad);color:#20180a;font-weight:500;border:1px solid transparent}
  .btn-gold:hover{filter:brightness(1.07)}
  .btn-ghost{background:transparent;color:var(--ink);border:1px solid rgba(26,32,54,.28)}
  .btn-ghost:hover{border-color:var(--gold-2);color:var(--gold-3)}

  .hero-meta{position:absolute;left:0;right:0;bottom:44px;z-index:2}
  .hero-meta .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
  .strap{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-3)}
  .strap span{color:var(--gold-2);font-weight:500}
  .hero-index{display:flex;gap:26px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.16em;color:rgba(26,32,54,.32)}
  @media(max-width:760px){.hero-index{display:none}}

  /* ---------------- SECTION SHELL ---------------- */
  section{position:relative}
  .band{padding:110px 0}
  .sec-head{margin-bottom:56px}
  .sec-head h2{font-size:clamp(28px,3.6vw,46px);line-height:1.1;margin-top:22px;max-width:20ch}
  .sec-head .sub{margin-top:20px;max-width:60ch;color:var(--muted);font-size:17px}

  /* ---------------- MANIFESTO (NAVY) ---------------- */
  .manifesto{background:var(--navy-800);color:#e9e3d6;border-top:1px solid var(--line-navy);border-bottom:1px solid var(--line-navy)}
  .manifesto .grid{display:grid;grid-template-columns:1fr 1.35fr;gap:70px;align-items:start}
  .manifesto .lead{font-family:'Marcellus',serif;font-size:clamp(23px,2.7vw,32px);line-height:1.35;color:#f4efe4}
  .manifesto .lead .gold-metal{white-space:nowrap}
  .manifesto p.body{color:#b7bdca;font-size:16.5px;margin-bottom:18px}
  .manifesto .metrics{display:flex;gap:48px;margin-top:40px;flex-wrap:wrap}
  .metric .n{font-family:'Marcellus',serif;font-size:40px;line-height:1;color:#f2ecdf}
  .metric .n .gold-metal{font-size:inherit}
  .metric .l{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#8d94a7;margin-top:12px;max-width:20ch}
  @media(max-width:820px){.manifesto .grid{grid-template-columns:1fr;gap:38px}}

  /* ---------------- PORTFOLIO INDEX (LIGHT · signature) ---------------- */
  .index-sec{background:var(--paper-warm);color:var(--ink)}
  .index-sec .sec-head h2{color:var(--ink)}
  .index-sec .sec-head .sub{color:var(--muted)}
  .index-board{border-top:1px solid var(--line)}
  .idx-row{
    display:grid;grid-template-columns:88px 1fr auto;gap:30px;align-items:center;
    padding:26px 6px;border-bottom:1px solid var(--line);
    cursor:default;position:relative;transition:background .3s ease,padding-left .3s ease;
  }
  .idx-row:hover{background:rgba(201,162,75,.07);padding-left:18px}
  .desc-cta{
    display:inline-flex;align-items:center;gap:6px;margin-left:6px;
    color:var(--gold-3);font-weight:500;text-decoration:none;
    border-bottom:1px solid var(--gold-line);padding-bottom:1px;
    white-space:nowrap;transition:color .2s;
  }
  .desc-cta:hover{color:var(--gold-2)}
  .desc-cta .arw{transition:transform .25s ease}
  .desc-cta:hover .arw{transform:translateX(3px)}
  .idx-code{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.12em;color:var(--gold-3);font-weight:500}
  .idx-main{min-width:0}
  .idx-name{font-family:'Marcellus',serif;font-size:clamp(21px,2.4vw,29px);color:var(--ink);line-height:1.15}
  .idx-desc{color:var(--muted);font-size:15px;margin-top:7px;max-width:62ch;
    max-height:0;opacity:0;overflow:hidden;transition:max-height .4s ease,opacity .35s ease,margin-top .35s ease;}
  .idx-row:hover .idx-desc,.idx-row.open .idx-desc{max-height:140px;opacity:1;margin-top:10px}
  .idx-status{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
    display:inline-flex;align-items:center;gap:9px;color:var(--muted);white-space:nowrap}
  .dot{width:6px;height:6px;border-radius:50%;background:var(--gold-2)}
  .idx-status.active .dot{background:#3f9c5e;box-shadow:0 0 0 3px rgba(63,156,94,.15)}
  .idx-status.build .dot{background:var(--gold-2);box-shadow:0 0 0 3px rgba(201,162,75,.18)}
  @media(max-width:680px){
    .idx-row{grid-template-columns:64px 1fr;gap:16px}
    .idx-status{grid-column:2;justify-self:start;margin-top:2px}
    .idx-desc{max-height:none;opacity:1;margin-top:8px}
  }

  /* ---------------- APPROACH (NAVY · numbered sequence) ---------------- */
  .approach{background:var(--navy-800);color:#e9e3d6}
  .approach .sec-head h2{color:#f4efe4}
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-navy)}
  .step{padding:44px 34px 44px 0;border-right:1px solid var(--line-navy);position:relative}
  .step:last-child{border-right:0;padding-right:0}
  .step .num{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.2em;color:var(--gold-1)}
  .step h3{font-size:24px;margin:20px 0 12px;color:#f2ecdf}
  .step p{color:#b7bdca;font-size:15.5px;max-width:34ch}
  .step .bar{position:absolute;top:-1px;left:0;width:46px;height:2px;background:var(--gold-grad)}
  @media(max-width:820px){
    .steps{grid-template-columns:1fr}
    .step{border-right:0;border-bottom:1px solid var(--line-navy);padding:34px 0}
    .step:last-child{border-bottom:0}
  }

  /* ---------------- STRUCTURE (LIGHT) ---------------- */
  .structure{background:var(--paper);color:var(--ink);overflow:hidden;position:relative}
  .structure .glow{position:absolute;top:-30%;right:-10%;width:620px;height:620px;
    background:radial-gradient(circle,rgba(201,162,75,.12),transparent 65%);pointer-events:none}
  .structure .grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;position:relative;z-index:2}
  .structure h2{font-size:clamp(28px,3.6vw,44px);color:var(--ink);line-height:1.12;margin-top:22px}
  .structure p{color:var(--muted);margin-top:22px;font-size:16.5px;max-width:52ch}
  .structure ul{list-style:none;margin-top:30px;display:flex;flex-direction:column;gap:2px}
  .structure li{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line);font-size:15.5px;color:var(--ink)}
  .structure li:last-child{border-bottom:1px solid var(--line)}
  .structure li .k{font-family:'IBM Plex Mono',monospace;color:var(--gold-3);font-size:12px;letter-spacing:.08em;padding-top:3px;min-width:34px}
  .org{border:1px solid var(--line);padding:34px;background:rgba(201,162,75,.04)}
  .org-top{text-align:center;padding:20px;border:1px solid rgba(201,162,75,.55);margin:0 auto 8px;max-width:260px;background:#fff}
  .org-top .m{font-family:'Marcellus',serif;font-size:20px;color:var(--ink)}
  .org-top .s{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-3);margin-top:6px}
  .org-stem{width:1px;height:26px;background:var(--line);margin:0 auto}
  .org-kids{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
  .org-kid{border:1px solid var(--line);padding:14px 8px;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;color:var(--muted);background:#fff}
  @media(max-width:820px){.structure .grid{grid-template-columns:1fr;gap:44px}}

  /* ---------------- CONTACT (NAVY) ---------------- */
  .contact{background:var(--navy-800);color:#e9e3d6;border-top:1px solid var(--line-navy)}
  .contact .grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
  .contact h2{font-size:clamp(28px,3.4vw,42px);line-height:1.12;margin-top:22px;max-width:16ch;color:#f4efe4}
  .contact .sub{color:#b7bdca;margin-top:20px;font-size:16.5px;max-width:44ch}
  .contact .direct{margin-top:34px;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.04em;color:#dfe3ea}
  .contact .direct a{color:var(--gold-1);border-bottom:1px solid var(--gold-2);padding-bottom:2px}
  .form{display:flex;flex-direction:column;gap:18px}
  .field{display:flex;flex-direction:column;gap:8px}
  .field label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9aa1b2}
  .field input,.field select,.field textarea{
    font-family:'Libre Franklin',sans-serif;font-size:16px;font-weight:300;color:var(--ink);
    padding:13px 14px;border:1px solid rgba(255,255,255,.16);background:#fff;border-radius:2px;
    transition:border-color .2s;
  }
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold-2)}
  .field textarea{resize:vertical;min-height:104px}
  .form .btn-gold{justify-content:center;border:0;font-family:'Libre Franklin',sans-serif}
  .note{font-size:12px;color:#8d94a7;font-family:'IBM Plex Mono',monospace;letter-spacing:.03em}
  @media(max-width:820px){.contact .grid{grid-template-columns:1fr;gap:44px}}

  /* ---------------- FOOTER (LIGHT) ---------------- */
  footer{background:var(--paper);color:var(--muted);padding:64px 0 34px;border-top:1px solid var(--line)}
  .foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:40px;border-bottom:1px solid var(--line)}
  .foot-logo{height:164px;width:auto;display:block}
  .foot-tag{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-3);margin-top:16px}
  .foot-cols{display:flex;gap:60px;flex-wrap:wrap}
  .foot-col h4{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-weight:500}
  .foot-col a,.foot-col p{display:block;font-size:14px;color:var(--muted);margin-bottom:10px;transition:color .2s}
  .foot-col a:hover{color:var(--gold-3)}
  .foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;font-size:12px;color:var(--muted-light)}
  .foot-bottom .mono{letter-spacing:.05em}

  /* cookie consent banner */
  .cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--navy-900);color:#e9e3d6;border-top:1px solid var(--line-navy);display:none;flex-wrap:wrap;align-items:center;gap:18px;justify-content:space-between;padding:16px 24px}
  .cookie-banner.show{display:flex}
  .cookie-banner p{font-size:13.5px;color:#c3c8d4;max-width:74ch;margin:0}
  .cookie-banner a{color:var(--gold-1);border-bottom:1px solid var(--gold-2);text-decoration:none}
  .cookie-actions{display:flex;gap:10px;flex-shrink:0}
  .cookie-btn{cursor:pointer;font-family:'Libre Franklin',sans-serif;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:10px 20px;border-radius:2px;border:1px solid transparent;transition:all .2s}
  .cookie-btn.gold{background:var(--gold-grad);color:#20180a;font-weight:500}
  .cookie-btn.gold:hover{filter:brightness(1.07)}
  .cookie-btn.ghost{background:transparent;color:#e9e3d6;border-color:rgba(233,227,214,.35)}
  .cookie-btn.ghost:hover{border-color:var(--gold-2);color:#f4e9cc}
  @media(max-width:560px){.cookie-banner{padding:14px 18px;gap:12px}.cookie-actions{width:100%}.cookie-btn{flex:1}}

  /* reveal animation — progressive enhancement: visible by default, hidden only while motion runs */
  .reveal{transition:opacity .7s ease,transform .7s ease}
  .motion .reveal{opacity:0;transform:translateY(22px)}
  .motion .reveal.in{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){
    .motion .reveal{opacity:1;transform:none;transition:none}
    html{scroll-behavior:auto}
    .idx-desc{transition:none}
  }

  /* motion layer (Lenis + GSAP) — hide-at-paint states, cleared by JS if it can't run */
  .hero h1 .line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
  .hero h1 .line-inner{display:block}
  .hero-monogram{will-change:transform}
  .hero-inner{will-change:transform}
  .hero-hide [data-anim]{opacity:0}
  .hero-hide .hero h1 .line-inner{transform:translateY(112%)}
  .hero-hide .hero-monogram{opacity:0}
  .hero-hide .page-hero [data-banner]{opacity:0}
  @media(prefers-reduced-motion:reduce){
    .hero-hide [data-anim]{opacity:1}
    .hero-hide .hero h1 .line-inner{transform:none}
    .hero-hide .hero-monogram{opacity:.16}
    .hero-hide .page-hero [data-banner]{opacity:1}
  }

  /* responsive inline nav (no hamburger) */
  @media(max-width:860px){
    .nav-inner{height:150px}
    .brand-logo{height:108px;top:14px}
    header.nav.scrolled .nav-inner{height:104px}
    header.nav.scrolled .brand-logo{height:78px;top:6px}
    .foot-logo{height:108px}
    nav.links{gap:22px}
    nav.links a{font-size:12.5px}
    nav.links a.cta{padding:8px 15px;font-size:11px}
  }
  @media(max-width:560px){
    .nav-inner{height:128px}
    .brand-logo{height:92px;top:12px}
    header.nav.scrolled .nav-inner{height:96px}
    header.nav.scrolled .brand-logo{height:70px;top:4px}
    .foot-logo{height:92px}
    nav.links{gap:14px}
    nav.links a{font-size:11.5px;letter-spacing:.02em}
    nav.links a.cta{padding:7px 11px;letter-spacing:.05em}
  }

  /* ---- mobile optimization pass ---- */
  @media(max-width:640px){
    .band{padding:64px 0}
    .sec-head{margin-bottom:34px}
    .sec-head .sub{font-size:15.5px}
    .hero-frame{inset:14px}
    .hero{align-items:center;padding:92px 0 34px}
    .hero-inner{padding-top:0;padding-bottom:0}
    .hero h1{font-size:clamp(30px,8.2vw,42px);line-height:1.08}
    .hero .eyebrow{margin-bottom:24px}
    .hero .lede{margin-top:22px}
    .hero .actions{margin-top:30px;flex-direction:column;align-items:stretch;gap:12px}
    .hero .actions .btn{width:100%;justify-content:center}
    .hero-meta{bottom:22px}
    .manifesto .metrics{gap:26px}
    .metric .n{font-size:32px}
    .manifesto p.body,.structure p,.contact .sub{font-size:15.5px}
    .idx-row{padding:20px 4px}
    .contact .grid,.manifesto .grid,.structure .grid{gap:40px}
    .foot-top{gap:30px}
    .foot-cols{gap:36px}
  }
  @media(max-width:400px){
    .wrap{padding:0 18px}
    .nav-inner{height:92px}
    .brand-logo{height:62px;top:8px}
    header.nav.scrolled .nav-inner{height:78px}
    header.nav.scrolled .brand-logo{height:52px;top:4px}
    .foot-logo{height:62px}
    .hero-inner{padding-top:0;padding-bottom:0}
    nav.links{gap:10px}
    nav.links a{font-size:10.5px;letter-spacing:0}
    nav.links a.cta{padding:6px 9px;letter-spacing:.02em}
  }

  /* ============ multi-page components ============ */
  /* active nav */
  nav.links a.active{opacity:1;color:var(--gold-3)}
  /* interior page hero */
  .page-hero{position:relative;overflow:hidden;min-height:var(--banner-h);display:flex;align-items:center;
    background:radial-gradient(1100px 640px at 80% -8%,rgba(201,162,75,.20),transparent 55%),radial-gradient(900px 620px at 6% 112%,rgba(22,33,63,.07),transparent 60%),linear-gradient(160deg,#ffffff 0%,#faf7f0 58%,#f3eee1 100%);
    padding:120px 0 46px}
  .page-hero .hero-frame{position:absolute;inset:24px;border:1px solid rgba(201,162,75,.32);pointer-events:none}
  .page-hero .wrap{position:relative;z-index:2;width:100%;will-change:transform}
  .page-hero .eyebrow{margin-bottom:22px}
  .page-hero h1{font-family:'Marcellus',Georgia,serif;font-weight:400;font-size:clamp(36px,5.6vw,68px);line-height:1.05;color:var(--ink);max-width:18ch}
  .page-hero .intro{margin-top:24px;max-width:60ch;font-size:clamp(16px,1.6vw,19px);color:var(--muted)}
  .page-hero .pmono{position:absolute;z-index:1;right:0;top:var(--mono-top);transform:translateY(-50%);width:min(975px,90%);height:auto;opacity:.16;pointer-events:none;will-change:transform;
    -webkit-mask-image:radial-gradient(135% 135% at 50% 50%,#000 60%,transparent 94%);mask-image:radial-gradient(135% 135% at 50% 50%,#000 60%,transparent 94%)}
  @media(max-width:760px){:root{--banner-h:clamp(580px,74vh,680px);--mono-top:clamp(290px,37vh,340px)}.page-hero{padding:92px 0 34px}.page-hero .hero-frame{inset:14px}.page-hero .pmono{right:0;width:130vw;opacity:.10}.page-transition .pt-mono{width:130vw;opacity:.10}}
  /* get-in-touch banner */
  .cta-band{background:var(--navy-800);color:#e9e3d6;border-top:1px solid var(--line-navy);padding:100px 0;text-align:center}
  .cta-band .eyebrow{justify-content:center;color:var(--gold-1)}
  .cta-band h2{font-family:'Marcellus',Georgia,serif;font-weight:400;font-size:clamp(28px,3.6vw,44px);line-height:1.12;color:#f4efe4;margin:22px auto 0;max-width:20ch}
  .cta-band p{color:#b7bdca;margin:18px auto 0;max-width:52ch;font-size:16.5px}
  .cta-band .btn{margin-top:34px}
  /* home overview + services teaser */
  .overview{background:var(--paper-warm)}
  .overview .lead{font-family:'Marcellus',Georgia,serif;font-size:clamp(22px,2.5vw,30px);line-height:1.35;color:var(--ink);max-width:24ch;margin-top:22px}
  .overview .body{color:var(--muted);font-size:16.5px;max-width:56ch;margin-top:18px}
  .svc-teaser{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px}
  .svc-teaser a{background:var(--paper-warm);padding:26px 24px;display:block;transition:background .25s ease,transform .25s ease}
  .svc-teaser a:hover{background:#fff}
  .svc-teaser .c{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;color:var(--gold-3)}
  .svc-teaser .n{font-family:'Marcellus',Georgia,serif;font-size:20px;color:var(--ink);margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:10px}
  .svc-teaser .n .arw{color:var(--gold-2);opacity:0;transform:translateX(-4px);transition:all .25s ease}
  .svc-teaser a:hover .n .arw{opacity:1;transform:none}
  .overview .more{margin-top:34px;display:flex;gap:26px;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.06em}
  .overview .more a{color:var(--gold-3);border-bottom:1px solid var(--gold-line);padding-bottom:2px}
  @media(max-width:760px){.svc-teaser{grid-template-columns:1fr}}
  /* team */
  .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
  .team-card{border:1px solid var(--line);background:#fff;border-radius:2px;overflow:hidden}
  .team-photo{aspect-ratio:4/5;background:radial-gradient(120% 120% at 30% 20%,#1c2748,#0c1226);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line-navy)}
  .team-photo span{font-family:'Marcellus',Georgia,serif;font-size:56px;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  .team-body{padding:26px 24px}
  .team-name{font-family:'Marcellus',Georgia,serif;font-size:23px;color:var(--ink)}
  .team-role{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-3);margin-top:9px}
  .team-bio{color:var(--muted);font-size:15px;margin-top:14px}
  @media(max-width:820px){.team-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}}
  /* legal pages */
  .legal{max-width:820px}
  .legal .updated{margin-top:16px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--muted-light)}
  .legal h2{font-family:'Marcellus',Georgia,serif;font-weight:400;font-size:22px;margin:44px 0 14px;color:var(--ink)}
  .legal p{margin-bottom:16px;color:#39405a;font-size:16px;line-height:1.65}
  .legal ul{margin:0 0 16px 0;padding-left:22px;color:#39405a}
  .legal li{margin-bottom:8px;font-size:16px;line-height:1.6}
  .legal a.inline{color:var(--gold-3);border-bottom:1px solid var(--gold-line);text-decoration:none}
  .legal strong{font-weight:500;color:var(--ink)}
  .legal .note{margin-top:34px;padding:16px 18px;border:1px solid var(--line);background:var(--paper-warm);font-size:13.5px;color:var(--muted)}
  /* footer 4-col tweak */
  .foot-cols{gap:48px}

  .overview .metrics{display:flex;gap:48px;flex-wrap:wrap;margin-top:34px}
  .overview .metric .n{color:var(--navy-700)}
  .overview .metric .l{color:var(--muted-light)}

  /* page transition curtain */
  .page-transition{position:fixed;inset:0;z-index:200;overflow:hidden;
    background:radial-gradient(1100px 640px at 80% -8%,rgba(201,162,75,.20),transparent 55%),radial-gradient(900px 620px at 6% 112%,rgba(22,33,63,.07),transparent 60%),linear-gradient(160deg,#ffffff 0%,#faf7f0 58%,#f3eee1 100%);
    opacity:0;visibility:hidden;transition:opacity .5s ease, visibility 0s linear .5s}
  .page-transition.show{opacity:1;visibility:visible;transition:opacity .45s ease}
  .nav-in .page-transition{opacity:1;visibility:visible;transition:none}
  .page-transition .hero-frame{position:absolute;inset:24px;border:1px solid rgba(201,162,75,.32);pointer-events:none}
  .page-transition .pt-mono{position:absolute;right:0;top:var(--mono-top);transform:translateY(-50%);width:min(975px,90%);height:auto;opacity:.16;pointer-events:none;
    -webkit-mask-image:radial-gradient(135% 135% at 50% 50%,#000 60%,transparent 94%);mask-image:radial-gradient(135% 135% at 50% 50%,#000 60%,transparent 94%)}
  @media(prefers-reduced-motion:reduce){.page-transition{display:none}}

  /* ---- team cards: clickable, open glass bio popup ---- */
  .team-card{cursor:pointer;text-align:left;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
  .team-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(16,24,44,.12);border-color:var(--gold-line)}
  .team-card:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
  .team-hint{display:inline-block;margin-top:16px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-3)}
  .team-card:hover .team-hint{color:var(--gold-2)}

  /* ---- glass bio modal ---- */
  .bio-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;
    opacity:0;visibility:hidden;transition:opacity .32s ease,visibility 0s linear .32s}
  .bio-modal.open{opacity:1;visibility:visible;transition:opacity .32s ease}
  .bio-scrim{position:absolute;inset:0;background:rgba(10,16,34,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
  .bio-glass{position:relative;z-index:1;width:100%;max-width:min(940px,94vw);max-height:min(92vh,880px);overflow-y:auto;padding:34px 36px 32px;border-radius:16px;
    background:rgba(20,28,52,.55);
    backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);
    border:1px solid rgba(201,162,75,.38);
    box-shadow:0 30px 90px rgba(6,10,24,.55),inset 0 1px 0 rgba(255,255,255,.14);
    color:#eef0f6;
    transform:translateY(16px) scale(.985);opacity:0;
    transition:transform .34s cubic-bezier(.2,.7,.2,1),opacity .34s ease}
  .bio-modal.open .bio-glass{transform:none;opacity:1}
  .bio-close{position:absolute;top:12px;right:16px;background:none;border:0;color:#c7cbd8;font-size:26px;line-height:1;cursor:pointer;padding:4px;transition:color .2s ease}
  .bio-close:hover{color:var(--gold-1)}
  .bio-head{display:flex;align-items:center;gap:18px;margin-bottom:20px}
  .bio-avatar{width:64px;height:64px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:radial-gradient(120% 120% at 30% 20%,#1c2748,#0c1226);border:1px solid rgba(201,162,75,.4)}
  .bio-avatar span{font-family:'Marcellus',Georgia,serif;font-size:23px;color:#d9b978}
  .bio-name{font-family:'Marcellus',Georgia,serif;font-size:24px;color:#fff}
  .bio-role{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-1);margin-top:6px}
  .bio-text{font-size:14.5px;line-height:1.52;color:#d7dae4;column-count:2;column-gap:40px}
  .bio-text p{margin-top:10px;break-inside:avoid}
  .bio-text .bio-block{break-inside:avoid}
  .bio-text ul{break-inside:avoid}
  .bio-text p:first-child{margin-top:0}
  .bio-text .bio-sub{margin-top:16px;padding-top:12px;border-top:1px solid rgba(201,162,75,.22);
    font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-1)}
  .bio-text ul{list-style:none;margin-top:9px;display:flex;flex-direction:column;gap:7px}
  .bio-text li{position:relative;padding-left:16px;font-size:13.5px;line-height:1.48;color:#cfd3df}
  .bio-text li::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--gold-2)}
  .bio-text strong{color:#f0e6cf;font-weight:500}
  .bio-glass::-webkit-scrollbar{width:8px}
  .bio-glass::-webkit-scrollbar-thumb{background:rgba(201,162,75,.35);border-radius:8px}
  .bio-glass::-webkit-scrollbar-track{background:transparent}
  @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
    .bio-scrim{background:rgba(10,16,34,.72)}
    .bio-glass{background:rgba(18,26,48,.96)}
  }
  @media(prefers-reduced-motion:reduce){.bio-glass{transition:opacity .2s ease}}
  @media(max-width:760px){.bio-text{column-count:1}.bio-glass{max-width:min(520px,94vw)}}
  @media(max-width:480px){.bio-glass{padding:28px 22px}}
