/* self-hosted fonts (latin subsets from Google Fonts, variable Inter) */
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* ============================================================
   London International (LISRC) — Corporate Training
   Design system "Meridian" · navy + gold · B2B / enterprise
   Inter (sans) + Instrument Serif (gold italic accent)
   Mobile-first, schema-rich, no framework.
   ============================================================ */
/* Fonts are loaded via <link> in each page head (preconnect + stylesheet) — no @import,
   so CSS parsing never blocks font discovery. */

:root{
  --navy:#001e44; --navy-deep:#00132c; --navy-mid:#062a5a; --navy-2:#0a3a6b; --cobalt:#1e4fa3;
  --gold:#e0aa4b; --gold-deep:#c8943a; --gold-soft:#f4dca6; --gold-glow:rgba(224,170,75,.22);
  --cream:#ffffff; --cream-2:#f6f8fc; --cream-3:#fff8e8; --paper:#eef2f8;
  --ink:#0a1628; --ink-2:#33425c; --ink-3:#4a5a76; --ink-4:#697a96; --ink-5:#9aa8c0;
  --border:#e4e9f2; --border-2:#d6deeb; --emerald:#16a34a;
  --maxw:1200px; --r:16px; --r-sm:11px; --r-lg:24px;
  --ease:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.77,0,.175,1);
  --sh-sm:0 1px 2px rgba(0,30,68,.05),0 4px 12px -4px rgba(0,30,68,.08);
  --sh:0 8px 24px -10px rgba(0,30,68,.14),0 18px 50px -24px rgba(0,30,68,.18);
  --sh-lg:0 24px 60px -22px rgba(0,19,44,.30),0 10px 24px -14px rgba(0,30,68,.16);
  --sh-gold:0 14px 32px -12px rgba(200,148,58,.5);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-wrap:break-word}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:'Inter',sans-serif;font-weight:800;line-height:1.1;letter-spacing:-.025em;color:var(--ink)}
.serif{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:0;color:var(--gold)}
.gold{color:var(--gold-deep)}
.eyebrow{font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);display:inline-flex;align-items:center;gap:9px}
.eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(224,170,75,.18)}
.eyebrow.on-navy{color:var(--gold-soft)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:.95rem;padding:13px 25px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:transform .2s var(--ease),box-shadow .25s var(--ease),background .25s,border-color .25s,color .25s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn-gold{background:linear-gradient(135deg,var(--gold-soft),var(--gold) 45%,var(--gold-deep));color:#3a2906;box-shadow:var(--sh-gold)}
.btn-gold:hover{box-shadow:0 18px 40px -14px rgba(200,148,58,.62);filter:brightness(1.03)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-mid)}
.btn-on-navy{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(244,220,166,.3)}
.btn-on-navy:hover{background:rgba(255,255,255,.14);border-color:var(--gold-soft)}
.btn-outline{background:#fff;color:var(--ink);border-color:var(--border-2)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold-deep)}
.btn-lg{padding:15px 32px;font-size:1.02rem}
.btn-block{width:100%}

/* topbar */
.topbar{background:linear-gradient(90deg,#00102400,#00132c 8%,#001e44 50%,#00132c 92%,#00102400),#000f22;color:#b9c6dc;font-size:.82rem;position:relative}
.topbar::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(224,170,75,.55),transparent)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:44px;gap:12px}
.topbar .tb-l,.topbar .tb-r{display:flex;align-items:center}
.topbar .ti,.topbar .tb-r a{display:inline-flex;align-items:center;gap:8px;padding:0 16px;position:relative;line-height:1;white-space:nowrap}
.topbar .ti:first-child{padding-left:0}.topbar .tb-r a:last-child{padding-right:0}
.topbar .ti:not(:last-child)::after,.topbar .tb-r a:not(:last-child)::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:13px;background:rgba(255,255,255,.14)}
.topbar .ic{color:var(--gold);display:inline-flex}
.topbar .ti b{color:#fff;font-weight:700}
.topbar .tb-r a{color:#b9c6dc;transition:color .15s}.topbar .tb-r a:hover{color:#fff}
.topbar .tb-phone{color:var(--gold-soft);font-weight:600}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);transition:box-shadow .25s}
.site-header.scrolled{box-shadow:var(--sh-sm)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:18px}
.brand{display:flex;align-items:center;gap:11px}
.brand img{height:46px;width:auto}
.brand .bt{font-weight:800;font-size:.96rem;letter-spacing:-.01em;line-height:1.05;color:var(--navy)}
.brand .bt span{display:block;font-size:.62rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-4)}
.nav-links{display:flex;align-items:center;gap:26px;margin-left:auto}
.nav-links>a,.nav-links .nd>a{font-size:.93rem;color:var(--ink-2);font-weight:500;transition:color .18s;position:relative}
.nav-links>a:hover,.nav-links .nd>a:hover{color:var(--gold-deep)}
/* editorial underline glide — transform-only, hover-gated */
.nav-links>a::after,.nav-links .nd>a::before{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left center;transition:transform .22s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .nav-links>a:hover::after,.nav-links .nd>a:hover::before{transform:scaleX(1)}
}
.nav-links .nd{position:relative}
.nav-links .nd>a::after{content:'▾';margin-left:5px;font-size:.68em;opacity:.55}
.nav-links .nd-menu{position:absolute;top:100%;left:0;min-width:230px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px) scale(.98);transform-origin:top left;transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s;z-index:60}
.nav-links .nd:hover .nd-menu,.nav-links .nd:focus-within .nd-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.nav-links .nd-menu a{display:block;padding:9px 12px;border-radius:9px;font-size:.9rem;color:var(--ink-2);white-space:nowrap}
.nav-links .nd-menu a:hover{background:var(--cream-2);color:var(--gold-deep)}
.nav-cta{display:flex;align-items:center;gap:10px}
.nav-toggle{display:none;background:none;border:0;font-size:1.5rem;color:var(--ink);cursor:pointer}

/* hero */
.hero{position:relative;background:linear-gradient(160deg,#00132c 0%,#001e44 48%,#0a3a6b 100%);color:#e6eefb;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(760px 420px at 82% -8%,var(--gold-glow),transparent 62%),radial-gradient(680px 380px at -6% 18%,rgba(30,79,163,.45),transparent 60%);pointer-events:none}
.hero::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(900px 520px at 26% 22%,#000,transparent 76%);pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:58px 0 70px}
.hero h1{color:#fff;font-size:clamp(2.4rem,4.7vw,3.9rem);font-weight:800}
.hero h1 .serif{display:block;font-size:1.04em;line-height:1.04;margin-top:2px}
.hero .sub{font-size:1.14rem;color:var(--gold-soft);font-weight:500;margin:18px 0 12px}
.hero .lede{color:#b9c6dd;font-size:1.04rem;max-width:48ch}
.hero-region{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hero-region span{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:600;color:#dfe8f6;background:rgba(255,255,255,.06);border:1px solid rgba(244,220,166,.25);padding:7px 14px;border-radius:999px}
.hero-region span .fl{font-size:.95rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:13px;margin-top:26px}
.hero-stats{display:flex;gap:34px;margin-top:30px}
.hero-stats .st b{font-size:1.85rem;font-weight:800;color:#fff;display:block;line-height:1}
.hero-stats .st b .serif{font-size:1rem;color:var(--gold)}
.hero-stats .st span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#8b9bb8}
.hero-stats .st+.st{padding-left:34px;border-left:1px solid rgba(255,255,255,.1)}

/* lead form card */
.lead-card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-lg);overflow:hidden;border:1px solid rgba(244,220,166,.4)}
.lead-card .secure{background:var(--navy-deep);color:#b9c6da;font-size:.76rem;text-align:center;padding:10px}
.lead-card .secure b{color:var(--gold-soft)}
.lead-card .body{padding:24px 26px}
.lead-card h3{font-size:1.32rem;text-align:center;font-weight:800}
.lead-card h3 .serif{font-size:1.1em}
.lead-card .tagline{text-align:center;color:var(--ink-3);font-size:.9rem;margin:6px 0 16px}
.field{margin-bottom:12px}
.field label{display:block;font-size:.78rem;font-weight:600;color:var(--ink-3);margin-bottom:5px}
.field .inp{display:flex;align-items:center;gap:10px;background:var(--cream-2);border:1px solid var(--border-2);border-radius:var(--r-sm);padding:0 14px;transition:border-color .18s,box-shadow .18s,background .18s}
.field .inp .ic{color:var(--ink-5);font-size:.95rem}
.field .inp input,.field .inp select,.field .inp textarea{flex:1;width:100%;padding:12px 0;border:0;background:transparent;font-family:inherit;font-size:.96rem;color:var(--ink);outline:none}
.field .inp:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(224,170,75,.18);background:#fff}
.phone-row{display:grid;grid-template-columns:84px 1fr;gap:9px}
.phone-row .prefix{display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--border-2);border-radius:var(--r-sm);background:#fff;font-size:.9rem;font-weight:600;color:var(--ink-2)}
.form-note{text-align:center;font-size:.76rem;color:var(--ink-4);margin-top:11px}
.form-ok{display:none;text-align:center;padding:14px;border-radius:var(--r-sm);background:#ecfdf3;color:#15803d;font-weight:600;font-size:.92rem;margin-top:10px}

/* sections */
section{padding:84px 0}
.section-alt{background:var(--cream-2)}
.section-navy{background:linear-gradient(160deg,#00132c,#001e44);color:#e6eefb}
.section-head{max-width:64ch;margin-bottom:42px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head h2{font-size:clamp(1.9rem,3.4vw,2.6rem);margin:14px 0 12px;font-weight:800}
.section-head h2 .serif{font-size:1.08em}
.section-head p{color:var(--ink-3);font-size:1.06rem}
.section-navy .section-head h2{color:#fff}.section-navy .section-head p{color:#b9c6dd}

/* grids + cards */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;align-items:start}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:28px;box-shadow:var(--sh-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
@media (hover:hover){.card:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:var(--gold-soft)}}
.card .ic{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(150deg,var(--cream-3),#fbeecb);color:var(--gold-deep);margin-bottom:16px;font-size:1.35rem;box-shadow:inset 0 0 0 1px rgba(224,170,75,.3)}
.card h3{font-size:1.16rem;margin-bottom:8px;font-weight:700}
.card p{color:var(--ink-3);font-size:.95rem}
.card .lnk{margin-top:13px;font-size:.86rem;font-weight:600;color:var(--gold-deep);display:inline-flex;gap:6px}

/* stat strip */
.statstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.statstrip .s b{display:block;font-size:2.4rem;font-weight:800;color:var(--navy);line-height:1;letter-spacing:-.02em}
.statstrip .s b .serif{color:var(--gold-deep);font-size:.9em}
.statstrip .s span{font-size:.9rem;color:var(--ink-3);margin-top:6px;display:block}

/* regions */
.regions{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.region{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:28px;box-shadow:var(--sh-sm);position:relative;overflow:hidden}
.region .fl{font-size:2rem;line-height:1}
.region h3{font-size:1.18rem;margin:12px 0 7px}
.region p{color:var(--ink-3);font-size:.93rem}
.region ul{list-style:none;margin-top:13px;display:grid;gap:7px}
.region ul li{display:flex;gap:9px;font-size:.9rem;color:var(--ink-2)}
.region ul li::before{content:'✓';color:var(--gold-deep);font-weight:700}

/* logos */
.logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 40px;opacity:.9}
.logos .lg{font-weight:700;color:var(--ink-4);font-size:1.02rem;letter-spacing:.01em}

/* research cards */
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.res-grid a{display:block;padding:22px;border:1px solid var(--border);border-radius:var(--r);background:#fff;transition:border-color .2s,transform .2s var(--ease),box-shadow .2s}
.res-grid a:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:var(--sh-sm)}
.res-grid .tag{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep)}
.res-grid h4{font-size:1.02rem;margin:9px 0 0;line-height:1.3;color:var(--ink)}
.res-grid .arr{margin-top:12px;color:var(--gold);font-size:.85rem;font-weight:600}

/* faq */
.faq{display:grid;gap:12px;max-width:860px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);padding:2px 24px;box-shadow:var(--sh-sm)}
.faq details[open]{border-color:#f0dfb0}
.faq summary{cursor:pointer;list-style:none;padding:19px 0;font-weight:700;font-size:1.04rem;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--gold);font-size:1.6rem;font-weight:300;transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--ink-3);font-size:.96rem;padding:0 0 20px}

/* cta band */
.cta-band{background:linear-gradient(150deg,#00132c,#001e44 60%,#0a3a6b);color:#fff;border-radius:var(--r-lg);padding:54px;text-align:center;position:relative;overflow:hidden;box-shadow:var(--sh-lg)}
.cta-band::after{content:'';position:absolute;inset:0;background:radial-gradient(540px 260px at 50% -20%,var(--gold-glow),transparent 62%)}
.cta-band h2{color:#fff;font-size:clamp(1.8rem,3.2vw,2.4rem);margin-bottom:13px;position:relative}
.cta-band h2 .serif{color:var(--gold-soft)}
.cta-band p{color:#c0cde2;max-width:56ch;margin:0 auto 26px;position:relative}
.cta-band .hero-cta{justify-content:center;position:relative}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.contact-info .row{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--border)}
.contact-info .row .ic{color:var(--gold-deep);font-size:1.1rem}
.contact-info .row b{display:block;font-weight:700}
.contact-info .row span{color:var(--ink-3);font-size:.95rem}

/* footer */
footer{background:var(--navy-deep);color:#9fb0ca;padding:58px 0 28px}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:30px}
.foot-brand img{height:64px;margin-bottom:14px}
.foot-brand p{color:#7e90af;font-size:.9rem;max-width:36ch}
.foot-col h4{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:13px}
.foot-col a{display:block;color:#9fb0ca;font-size:.92rem;padding:5px 0;transition:color .18s}
.foot-col a:hover{color:var(--gold)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:36px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:#6b7f9d;font-size:.84rem}

/* whatsapp float */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:56px;height:56px;border-radius:50%;background:#1faf54;display:grid;place-items:center;box-shadow:0 14px 30px -8px rgba(31,175,84,.6);transition:transform .18s var(--ease)}
@media(hover:hover) and (pointer:fine){.wa-float:hover{transform:scale(1.06)}}
.wa-float:active{transform:scale(.94)}
.wa-float svg{width:29px;height:29px;fill:#fff}

/* breadcrumb */
.crumb{color:var(--ink-4);font-size:.86rem;padding:14px 0}
.crumb a{color:var(--gold-deep);font-weight:600}

/* ===== institutional homepage components ===== */
/* logo (png-04 gold lockup, no text beside) */
.brand img{height:54px;width:auto}
.hero .brand-mark{height:88px;width:auto;align-self:center;margin-bottom:22px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.3))}

/* hero v2 — institutional, centered option */
.hero-c{position:relative;z-index:1;text-align:center;max-width:980px;margin:0 auto;padding:72px 0 12px}
.hero-c h1{color:#fff;font-size:clamp(2.6rem,5.4vw,4.6rem);font-weight:800;letter-spacing:-.03em}
.hero-c h1 .serif{color:var(--gold)}
.hero-c .sub{font-size:clamp(1.05rem,1.6vw,1.32rem);color:#c3d0e6;max-width:62ch;margin:22px auto 0;font-weight:400}
.hero-c .hero-cta{justify-content:center;margin-top:30px}
.hero-quote{max-width:60ch;margin:26px auto 0;color:#aebbd4;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:1.18rem;line-height:1.5}
.hero-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}
.hero-badges span{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:#e6eefb;background:rgba(255,255,255,.06);border:1px solid rgba(244,220,166,.28);padding:9px 16px;border-radius:999px}
/* hero stat band (under hero, on navy) */
.hero-statband{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.1);margin-top:48px}
.hero-statband .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:34px 24px}
.hero-statband .s{text-align:center}
.hero-statband .s b{display:block;font-size:2.3rem;font-weight:800;color:#fff;line-height:1;letter-spacing:-.02em}
.hero-statband .s b .serif{color:var(--gold)}
.hero-statband .s span{font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:#8b9bb8;margin-top:8px;display:block}

/* trust / partners marquee */
.trustbar{padding:34px 0;border-bottom:1px solid var(--border)}
.trustbar .lbl{text-align:center;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-4);font-weight:600;margin-bottom:20px}
.partners{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 46px}
.partners .p{font-weight:700;color:#7d8aa3;font-size:1.05rem;letter-spacing:.01em;white-space:nowrap}

/* accreditations */
.accred{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.accred .a{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 22px;box-shadow:var(--sh-sm);font-weight:700;color:var(--navy)}
.accred .a span{font-size:.78rem;font-weight:500;color:var(--ink-4);display:block}

/* offices */
.offices{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.office{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:26px;box-shadow:var(--sh-sm);position:relative;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
@media(hover:hover){.office:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:var(--gold-soft)}}
.office .fl{font-size:1.9rem;line-height:1}
.office h3{font-size:1.2rem;margin:12px 0 4px}
.office .reg{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);font-weight:700}
.office p{color:var(--ink-3);font-size:.9rem;margin-top:9px}

/* divisions / brands */
.divisions{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.division{display:block;background:linear-gradient(165deg,#fff,var(--cream-2));border:1px solid var(--border);border-radius:var(--r);padding:28px;box-shadow:var(--sh-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
@media(hover:hover){.division:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:var(--gold-soft)}}
.division .nm{font-weight:800;font-size:1.18rem;color:var(--navy)}
.division .url{font-size:.82rem;color:var(--gold-deep);font-weight:600;margin-top:2px}
.division p{color:var(--ink-3);font-size:.93rem;margin-top:12px}

/* testimonials */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tcard{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:26px;box-shadow:var(--sh-sm)}
.tcard .stars{color:var(--gold);letter-spacing:2px;font-size:.95rem}
.tcard p{color:var(--ink-2);font-size:.97rem;margin:12px 0 16px;line-height:1.55}
.tcard .who{display:flex;align-items:center;gap:12px}
.tcard .av{width:42px;height:42px;border-radius:50%;background:linear-gradient(150deg,var(--navy),var(--cobalt));color:#fff;display:grid;place-items:center;font-weight:700}
.tcard .who b{display:block;font-size:.92rem}.tcard .who span{font-size:.8rem;color:var(--ink-4)}

@media(max-width:980px){
  .hero-statband .wrap,.offices{grid-template-columns:repeat(2,1fr)}
  .divisions,.tgrid{grid-template-columns:1fr}
  .hero .brand-mark{height:72px}
}
@media(max-width:640px){
  .hero-statband .wrap{grid-template-columns:repeat(2,1fr);gap:26px 16px}
  .offices{grid-template-columns:1fr 1fr}
  .hero-c{padding:48px 0 8px}
  .partners{gap:14px 26px}.partners .p{font-size:.92rem}
}

/* ===== v4 prestige refinements ===== */
/* refined icon treatment — line-icons, not emoji */
.card .ic{background:linear-gradient(150deg,#fff,var(--cream-3));border:1px solid #efe0bb;box-shadow:none;width:52px;height:52px;border-radius:13px}
.card .ic svg{width:25px;height:25px;stroke:var(--gold-deep);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* header: refined, slim gold accent, crest logo */
.site-header{border-bottom:1px solid var(--border)}
.brand img{height:50px}
.nav{height:78px}
.nav-links{gap:30px}
.nav-links>a,.nav-links .nd>a{font-size:.9rem;font-weight:500;letter-spacing:.01em;color:var(--ink-2)}
.navphone{font-size:.9rem;font-weight:600;color:var(--ink-2);letter-spacing:.01em;display:inline-flex;align-items:center;gap:7px;margin-right:4px}
.navphone:hover{color:var(--gold-deep)}
.navphone svg{width:15px;height:15px;stroke:var(--gold-deep);fill:none;stroke-width:1.7}
/* editorial hero meta (replaces emoji pill badges) */
.hero-meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;margin-top:30px;color:#c3d0e6;font-size:.9rem;font-weight:500}
.hero-meta .mi{display:inline-flex;align-items:center;gap:8px}
.hero-meta .mi svg{width:15px;height:15px;stroke:var(--gold);fill:none;stroke-width:1.7}
.hero-meta b{color:var(--gold-soft);font-weight:600}
.hero-meta i{width:1px;height:13px;background:rgba(244,220,166,.32);display:inline-block}
/* topbar icon refine */
.topbar .ti svg{width:13px;height:13px;stroke:var(--gold);fill:none;stroke-width:1.8;vertical-align:-2px;margin-right:5px}
/* office: refined country marker instead of flag emoji */
.office .reg{margin-top:2px}
.office .mk{width:38px;height:38px;border-radius:50%;border:1px solid #efe0bb;background:var(--cream-3);display:grid;place-items:center;color:var(--gold-deep);font-family:'Instrument Serif',serif;font-style:italic;font-size:1.2rem;margin-bottom:6px}
/* contact line icons */
.cleadrow svg,.contact-info .row svg{width:18px;height:18px;stroke:var(--gold-deep);fill:none;stroke-width:1.7}
@media(max-width:980px){.brand img{height:42px}.nav{height:64px}}

/* ===== v5 — HERO "WOW": cinematic motion (navy/gold, same fonts) ===== */
.hero{min-height:auto}
.hero-c{min-height:76vh;display:flex;flex-direction:column;justify-content:center;padding:64px 0 28px}
/* living aurora background */
.hero .aurora{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.hero .aurora span{position:absolute;border-radius:50%;filter:blur(76px);opacity:.55;animation:auroraDrift 20s ease-in-out infinite}
.hero .aurora .a1{width:540px;height:540px;background:radial-gradient(circle,rgba(224,170,75,.30),transparent 70%);top:-140px;left:52%}
.hero .aurora .a2{width:640px;height:640px;background:radial-gradient(circle,rgba(30,79,163,.55),transparent 70%);bottom:-240px;left:-120px;animation-delay:-7s}
.hero .aurora .a3{width:420px;height:420px;background:radial-gradient(circle,rgba(224,170,75,.16),transparent 70%);top:26%;right:-90px;animation-delay:-13s}
@keyframes auroraDrift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(46px,34px) scale(1.12)}66%{transform:translate(-34px,22px) scale(.94)}}
.hero .wrap{position:relative;z-index:1}
/* gold shimmer sweeping the serif word */
.hero h1 .serif{background:linear-gradient(100deg,var(--gold-deep) 32%,#fff4d6 50%,var(--gold) 68%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:220% 100%;animation:goldShimmer 6s linear infinite}
@keyframes goldShimmer{0%{background-position:220% 0}100%{background-position:-220% 0}}
/* cinematic staggered entrance */
.hero-c>*{opacity:0;transform:translateY(24px);animation:heroIn 1s var(--ease) forwards}
.hero-c .brand-mark{animation-delay:.05s}
.hero-c .eyebrow{animation-delay:.2s}
.hero-c h1{animation-delay:.34s}
.hero-c .sub{animation-delay:.5s}
.hero-c .hero-cta{animation-delay:.66s}
.hero-c .hero-meta{animation-delay:.8s}
@keyframes heroIn{to{opacity:1;transform:none}}
/* gentle float on the crest */
.hero-c .brand-mark{will-change:transform}
.hero-floatwrap{animation:floatY 6.5s ease-in-out 1.1s infinite}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
/* CTA light sweep (hero only) */
.hero .btn-gold{position:relative;overflow:hidden}
.hero .btn-gold::after{content:'';position:absolute;top:0;left:-160%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:ctaSweep 5s ease-in-out 2s infinite}
@keyframes ctaSweep{0%{left:-160%}45%,100%{left:170%}}
/* statband entrance + count target */
.hero-statband{opacity:0;animation:heroIn 1s var(--ease) .95s forwards}
/* scroll cue */
.hero-scroll{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:1;color:var(--gold-soft);opacity:.7;animation:cueBob 2s ease-in-out infinite}
.hero-scroll svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6}
@keyframes cueBob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,7px)}}
@media(max-width:640px){.hero-c{min-height:auto;padding:44px 0 18px}.hero-scroll{display:none}}
@media(prefers-reduced-motion:reduce){
  .hero-c>*,.hero-statband{opacity:1;transform:none;animation:none}
  .hero .aurora span,.hero .btn-gold::after,.hero-floatwrap,.hero-scroll{animation:none}
  .hero h1 .serif{animation:none;-webkit-text-fill-color:var(--gold);background:none}
}

/* ===================== MOBILE (mobile-first hardening) ===================== */
@media (max-width:980px){
  .hero-grid,.grid-2,.contact-grid{grid-template-columns:1fr}
  .grid-3,.grid-4,.regions,.res-grid,.statstrip{grid-template-columns:1fr 1fr}
  .nav-links{display:none}.nav-toggle{display:block}
  .brand img{height:40px}.nav{height:62px}
  .brand .bt{display:none}            /* logo only on mobile — frees header space */
  .nav-cta .btn{padding:9px 15px;font-size:.85rem}
  .topbar .ti:nth-child(n+3){display:none}
  .lead-card{max-width:480px;margin:0 auto}
  .hero-grid{gap:34px;padding:40px 0 56px}
}
@media (max-width:640px){
  body{line-height:1.58}
  section{padding:48px 0}
  .grid-3,.grid-4,.regions,.res-grid,.statstrip{grid-template-columns:1fr}
  .statstrip{gap:28px}
  .card,.region{padding:22px}
  .cta-band{padding:32px 20px}
  .hero h1{font-size:clamp(2rem,8.2vw,2.6rem)}
  .hero .sub{font-size:1.02rem}
  .hero-stats{gap:16px}.hero-stats .st+.st{padding-left:16px}
  .field .inp input,.field .inp select,.field .inp textarea{font-size:16px}  /* no iOS zoom */
  .topbar .wrap{height:42px}.topbar{font-size:.75rem}
  .topbar .ti,.topbar .tb-r a{padding:0 10px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-bottom{flex-direction:column}
}
@media (max-width:480px){
  .wrap{padding:0 16px}
  .nav-cta .btn-call{display:none}
  .foot-grid{grid-template-columns:1fr}
}
/* mobile menu panel */
@media (max-width:980px){
  .nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--border);box-shadow:var(--sh);padding:8px 18px 16px;max-height:78vh;overflow-y:auto}
  .nav-links.open>a,.nav-links.open .nd{padding:12px 2px;border-bottom:1px solid var(--border)}
  .nav-links.open .nd>a::after{display:none}
  .nav-links.open .nd-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:4px 0 2px 14px;min-width:0}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}.btn:active,.card:hover,.wa-float:hover{transform:none}}

/* ===== v7 — SECTION FLOW (reveal-on-scroll + curved transitions) ===== */
/* scroll reveal — .reveal added by JS, so content is fully visible if JS/observer is off */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.reveal.in{opacity:1;transform:none}
/* curved transitions between sections */
.flow-curve{line-height:0;position:relative;z-index:1}
.flow-curve svg{display:block;width:100%;height:70px}
@media(max-width:640px){.flow-curve svg{height:42px}}
/* softer section rhythm so light bands feel continuous */
section{position:relative}
.section-soft{background:linear-gradient(180deg,var(--cream-2),#fff)}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ===== v8 — THE GROUP: institutes portfolio (multinational) ===== */
.inst-stats{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 22px;margin:-16px 0 36px;color:var(--ink-3);font-size:.96rem;font-weight:500}
.inst-stats b{color:var(--navy);font-weight:800}
.inst-stats i{width:1px;height:16px;background:var(--border-2);display:inline-block}
.divisions{grid-template-columns:repeat(auto-fill,minmax(252px,1fr))}
.division{padding:24px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.division::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--gold-soft),var(--gold));opacity:0;transition:opacity .25s}
.division:hover::before{opacity:1}
.division .url{order:-1;margin-bottom:8px}
.division .nm{font-size:1.06rem}
.division p{flex:1;margin-top:8px;font-size:.9rem}
.division .visit{margin-top:14px;font-size:.82rem;font-weight:700;color:var(--gold-deep);letter-spacing:.01em}
.division:hover .visit{color:var(--gold)}
@media(max-width:980px){.divisions{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}
@media(max-width:560px){.divisions{grid-template-columns:1fr 1fr;gap:12px}.division{padding:18px}.inst-stats{gap:8px 14px;font-size:.86rem}}

/* ===== v9 — Capabilities index (editorial / corporate, no icon-box cards) ===== */
.cap-wrap{display:grid;grid-template-columns:.82fr 1.32fr;gap:60px;align-items:start}
.cap-intro{position:sticky;top:104px}
.cap-intro h2{font-size:clamp(1.95rem,3.4vw,2.7rem);margin:14px 0 16px}
.cap-intro p{color:var(--ink-3);font-size:1.06rem;margin-bottom:24px}
.cap-note{margin-top:24px;font-size:.9rem;color:var(--ink-4);border-top:1px solid var(--border);padding-top:18px}
.cap-note b{color:var(--navy);font-weight:800}
.cap-list{display:flex;flex-direction:column}
.cap-row{display:flex;align-items:center;gap:26px;padding:22px 10px 22px 6px;border-top:1px solid var(--border);transition:background .3s var(--ease);color:inherit}
.cap-row:last-child{border-bottom:1px solid var(--border)}
.cap-row .cap-no,.cap-row .cap-body{transition:transform .3s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .cap-row:hover{background:linear-gradient(90deg,var(--cream-3),transparent 82%)}
  .cap-row:hover .cap-no,.cap-row:hover .cap-body{transform:translateX(12px)}
}
.cap-no{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:1.6rem;color:var(--gold);min-width:32px;text-align:center;line-height:1}
.cap-body{flex:1}
.cap-body h3{font-size:1.2rem;margin-bottom:4px;font-weight:700;letter-spacing:-.01em}
.cap-body p{color:var(--ink-3);font-size:.95rem}
.cap-arr{color:var(--gold-deep);font-size:1.05rem;opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s}
.cap-row:hover .cap-arr{opacity:1;transform:none}
@media(max-width:900px){.cap-wrap{grid-template-columns:1fr;gap:30px}.cap-intro{position:static}}
@media(max-width:560px){.cap-row{gap:14px;padding:16px 4px}.cap-no{font-size:1.3rem;min-width:24px}.cap-body h3{font-size:1.06rem}}

/* ===== v10 — editorial sections across the page (corporate, no icon-box cards) ===== */
/* Enterprise: feature list (no mini icon-cards) */
.feat-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:8px}
.feat{padding:20px 0;border-top:1px solid var(--border)}
.feat h3{font-size:1.04rem;margin-bottom:5px;display:flex;align-items:baseline;gap:11px;font-weight:700}
.feat h3 .fn{font-family:'Instrument Serif',Georgia,serif;font-style:italic;color:var(--gold);font-size:1.15rem;line-height:1}
.feat p{color:var(--ink-3);font-size:.93rem;padding-left:26px}
/* Offices: hairline-separated columns */
.office-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border-2)}
.office-col{padding:32px 28px 8px 0;border-right:1px solid var(--border)}
.office-col:last-child{border-right:0;padding-right:0}
.office-col .reg{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);font-weight:700}
.office-col h3{font-size:1.55rem;margin:9px 0 9px;font-weight:800;letter-spacing:-.02em}
.office-col p{color:var(--ink-3);font-size:.9rem}
/* Research: editorial 2-column index */
.rsrch-list{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.rsrch{display:block;padding:22px 8px 22px 0;border-top:1px solid var(--border);transition:background .28s;color:inherit}
.rsrch>*{transition:transform .28s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .rsrch:hover{background:linear-gradient(90deg,var(--cream-3),transparent 80%)}
  .rsrch:hover>*{transform:translateX(10px)}
}
.rsrch .tag{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep)}
.rsrch h4{font-size:1.04rem;margin:7px 0 0;line-height:1.35;color:var(--ink);font-weight:700}
.rsrch .rd{margin-top:9px;font-size:.82rem;font-weight:600;color:var(--gold-deep);opacity:0;transition:opacity .28s}
.rsrch:hover .rd{opacity:1}
/* Testimonials: refined quotes, no card boxes */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.quote-b{position:relative;padding-top:30px;border-top:2px solid var(--gold)}
.quote-b .qm{position:absolute;top:14px;left:0;font-family:'Instrument Serif',Georgia,serif;font-style:italic;color:var(--gold);font-size:3rem;line-height:0}
.quote-b p{font-size:1.04rem;color:var(--ink-2);line-height:1.62;margin-bottom:18px}
.quote-b .who b{display:block;font-size:.94rem;font-weight:700}
.quote-b .who span{font-size:.82rem;color:var(--ink-4)}
/* Accreditations: clean hairline-separated row */
.accred-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center}
.accred-row .a{padding:6px 32px;border-right:1px solid var(--border-2);text-align:center}
.accred-row .a:last-child{border-right:0}
.accred-row .a b{display:block;font-size:1.15rem;color:var(--navy);font-weight:800;letter-spacing:.01em}
.accred-row .a span{font-size:.76rem;color:var(--ink-4)}
@media(max-width:900px){
  .office-row{grid-template-columns:1fr 1fr}.office-col:nth-child(2){border-right:0}
  .office-col{border-bottom:1px solid var(--border);padding-right:24px}
  .rsrch-list{grid-template-columns:1fr;gap:0}
  .quotes{grid-template-columns:1fr;gap:30px}
  .feat-list{grid-template-columns:1fr}
}
@media(max-width:560px){
  .office-row{grid-template-columns:1fr}.office-col{border-right:0}
  .accred-row .a{border-right:0;padding:10px 18px}
}

/* ===== v11 — trust / credentials band (high-trust, verifiable) ===== */
.trustband{padding:60px 0;background:var(--cream-2);border-top:1px solid var(--border)}
.tb-head{text-align:center;max-width:660px;margin:0 auto 34px}
.tb-head .eyebrow{justify-content:center}
.tb-head h2{font-size:clamp(1.45rem,2.5vw,2rem);margin-top:12px}
.creds{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--border-2);border-radius:var(--r);box-shadow:var(--sh-sm);overflow:hidden;max-width:1000px;margin:0 auto}
.cred{padding:28px 22px;border-right:1px solid var(--border);text-align:center;display:flex;flex-direction:column;align-items:center;gap:9px}
.cred:last-child{border-right:0}
.cred svg{width:26px;height:26px;stroke:var(--gold-deep);fill:none;stroke-width:1.6}
.cred b{font-size:1.05rem;color:var(--navy);font-weight:800;letter-spacing:-.01em}
.cred span{font-size:.8rem;color:var(--ink-4);line-height:1.35}
.sectors-line{text-align:center;margin:30px auto 0;max-width:820px;color:var(--ink-3);font-size:.98rem;line-height:1.6}
.sectors-line b{color:var(--navy);font-weight:600}
@media(max-width:780px){.creds{grid-template-columns:1fr 1fr}.cred:nth-child(2){border-right:0}.cred:nth-child(-n+2){border-bottom:1px solid var(--border)}}
@media(max-width:460px){.creds{grid-template-columns:1fr}.cred{border-right:0;border-bottom:1px solid var(--border)}.cred:last-child{border-bottom:0}}

/* ===== v12 — offices alignment fix + "As featured in" press wall ===== */
.office-row{align-items:stretch;border-bottom:1px solid var(--border-2)}
.office-col{padding:34px 30px}
.office-col:last-child{padding-right:30px}
@media(max-width:900px){.office-col{padding:26px 24px}}
/* As featured in — press logo wall */
.featured{padding:56px 0;border-top:1px solid var(--border);background:#fff}
.featured .lbl2{text-align:center;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-4);font-weight:600;position:relative;padding-bottom:16px;margin-bottom:32px}
.featured .lbl2::after{content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:46px;height:2px;background:var(--gold)}
.press-wall{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 30px}
.press-wall a{display:flex;align-items:center;justify-content:center;height:62px;min-width:140px;padding:0 18px;filter:grayscale(1);opacity:.6;transition:filter .3s var(--ease),opacity .3s var(--ease),transform .3s var(--ease)}
.press-wall a:hover{filter:none;opacity:1;transform:translateY(-2px)}
.press-wall img{max-height:34px;max-width:148px;width:auto;height:auto;object-fit:contain;display:block}
.featured .foot{text-align:center;margin-top:30px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-5)}
@media(max-width:560px){.press-wall{gap:12px 22px}.press-wall a{height:50px;min-width:108px;padding:0 10px}.press-wall img{max-height:26px;max-width:110px}}

/* v13 — press wall text wordmarks (stand-in until real logos provided) */
.press-wall .pw{font-family:'Instrument Serif',Georgia,serif;font-style:normal;font-weight:400;color:var(--ink-3);font-size:1.32rem;letter-spacing:.01em;white-space:nowrap;opacity:.66;transition:opacity .3s var(--ease),color .3s}
@media(hover:hover) and (pointer:fine){.press-wall .pw:hover{opacity:1;color:var(--navy)}}
@media(max-width:560px){.press-wall .pw{font-size:1.1rem}}

/* ============================================================
   v14 — ELEVATION LAYER
   focus/selection craft · burger · form states · inner-page
   hero · article template · admin · 404 · mobile perf
   ============================================================ */

/* --- invisible details that compound --- */
::selection{background:var(--navy);color:var(--gold-soft)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px}
.btn:focus-visible{outline-offset:2px}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--navy);color:#fff;padding:12px 22px;border-radius:0 0 12px 0;font-weight:600;font-size:.9rem}
.skip-link:focus{left:0}

/* --- animated burger (replaces ☰ char) ---
   display none/block stays with the base rule + ≤980px query earlier in the file */
.nav-toggle{background:none;border:0;cursor:pointer;width:44px;height:44px;position:relative;padding:0;font-size:0}
.nav-toggle span{position:absolute;left:11px;right:11px;height:2px;border-radius:2px;background:var(--navy);transition:transform .22s var(--ease),opacity .18s}
.nav-toggle span:nth-child(1){top:17px}
.nav-toggle span:nth-child(2){top:25px}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}

/* --- form: validation + success craft --- */
.field .inp.err{border-color:#d64545;background:#fff7f7}
.field .inp.err:focus-within{box-shadow:0 0 0 3px rgba(214,69,69,.14)}
.field .fmsg{display:none;font-size:.76rem;color:#c03535;margin-top:5px}
.field.err .fmsg{display:block}
.hp-field{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.btn[data-busy]{pointer-events:none;opacity:.75}
.btn .spin{display:none;width:15px;height:15px;border:2px solid rgba(0,0,0,.25);border-top-color:#3a2906;border-radius:50%;animation:spin .55s linear infinite}
.btn[data-busy] .spin{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* --- inner-page hero (editorial, compact navy band) --- */
.page-hero{position:relative;background:linear-gradient(160deg,#00132c 0%,#001e44 55%,#062a5a 100%);color:#e6eefb;overflow:hidden;padding:56px 0 54px}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(640px 320px at 84% -12%,var(--gold-glow),transparent 62%);pointer-events:none}
.page-hero .wrap{position:relative;z-index:1}
.page-hero .crumb{color:#8fa2c2;padding:0 0 18px;font-size:.84rem}
.page-hero .crumb a{color:var(--gold-soft);font-weight:500}
.page-hero .crumb .sep{margin:0 8px;opacity:.5}
.page-hero .eyebrow{color:var(--gold-soft)}
.page-hero h1{color:#fff;font-size:clamp(2rem,4.2vw,3.2rem);font-weight:800;letter-spacing:-.025em;margin:14px 0 0;max-width:20ch}
.page-hero h1 .serif{color:var(--gold)}
.page-hero .dek{color:#c3d0e6;font-size:clamp(1rem,1.4vw,1.16rem);max-width:62ch;margin-top:16px}
.page-hero .ph-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:22px;color:#aebbd4;font-size:.88rem;font-weight:500}
.page-hero .ph-meta b{color:var(--gold-soft);font-weight:600}
.page-hero .ph-meta i{width:1px;height:13px;background:rgba(244,220,166,.32);display:inline-block;align-self:center}
.page-hero.page-hero .crumb,.page-hero .eyebrow,.page-hero .kick,.page-hero .dek,.page-hero .ph-meta{animation:heroIn .8s var(--ease) both}
.page-hero h1{animation:heroSlide .8s var(--ease) both}
@keyframes heroSlide{from{transform:translateY(14px)}to{transform:none}}
.page-hero.page-hero .eyebrow,.page-hero .kick{animation-delay:.08s}
.page-hero.page-hero h1{animation-delay:.12s}
.page-hero.page-hero .dek{animation-delay:.26s}
.page-hero.entered .ph-meta{animation-delay:.36s}

/* --- long-form article (research papers) --- */
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:64px;align-items:start;padding:56px 0 30px}
.art-body{max-width:68ch;font-size:1.06rem;color:var(--ink-2);line-height:1.75}
.art-body>p{margin:0 0 1.35em}
.art-byline{font-family:'Instrument Serif',Georgia,serif;font-style:italic;color:var(--ink-3);font-size:1.04rem;border-left:2px solid var(--gold);padding:2px 0 2px 16px;margin:0 0 2em}
.art-body>p:first-of-type{font-size:1.18rem;color:var(--ink);line-height:1.65}
.art-body>p:first-of-type::first-letter{font-family:'Instrument Serif',Georgia,serif;font-style:italic;color:var(--gold-deep);font-size:3.2em;float:left;line-height:.82;padding:4px 10px 0 0}
.art-body h2{font-size:1.5rem;margin:2em 0 .7em;letter-spacing:-.02em;scroll-margin-top:110px}
.art-body h2 .no{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;color:var(--gold);margin-right:12px}
.art-body h3{font-size:1.17rem;margin:1.7em 0 .6em;scroll-margin-top:110px}
.art-body ul,.art-body ol{margin:0 0 1.35em;padding-left:1.3em}
.art-body li{margin-bottom:.45em}
.art-body li::marker{color:var(--gold-deep)}
.art-body blockquote{border-left:2px solid var(--gold);margin:1.8em 0;padding:6px 0 6px 24px;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:1.22rem;color:var(--ink);line-height:1.55}
.art-body figure{margin:2em 0}
.art-body figure img{border-radius:var(--r-sm);border:1px solid var(--border)}
.art-body figcaption{font-size:.84rem;color:var(--ink-4);margin-top:10px;text-align:center}
.art-body table{width:100%;border-collapse:collapse;font-size:.92rem;margin:1.8em 0}
.art-body th{text-align:left;font-weight:700;color:var(--navy);border-bottom:2px solid var(--gold);padding:10px 12px}
.art-body td{border-bottom:1px solid var(--border);padding:10px 12px;color:var(--ink-2)}
/* sticky rail: TOC + author */
.art-rail{position:sticky;top:104px;display:flex;flex-direction:column;gap:28px}
.art-toc{border-left:1px solid var(--border-2);padding-left:20px}
.art-toc .lbl{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4);font-weight:700;margin-bottom:12px}
.art-toc a{display:block;font-size:.88rem;color:var(--ink-3);padding:5px 0;line-height:1.4;transition:color .18s;border-left:2px solid transparent;margin-left:-21px;padding-left:19px}
.art-toc a.on{color:var(--navy);font-weight:600;border-left-color:var(--gold)}
@media(hover:hover){.art-toc a:hover{color:var(--gold-deep)}}
.art-author{border-top:2px solid var(--gold);padding-top:16px}
.art-author b{font-size:.95rem;display:block}
.art-author span{font-size:.83rem;color:var(--ink-4);line-height:1.5;display:block;margin-top:4px}
/* reading progress — 2px gold hairline under header */
.read-progress{position:fixed;top:0;left:0;height:2.5px;width:100%;background:linear-gradient(90deg,var(--gold-deep),var(--gold));transform:scaleX(0);transform-origin:left center;z-index:90;pointer-events:none}
/* related index at foot of article */
.art-related{border-top:1px solid var(--border-2);padding:44px 0 70px}
@media(max-width:960px){.art-layout{grid-template-columns:1fr;gap:0}.art-rail{display:none}}
@media(max-width:640px){.art-body{font-size:1.02rem}.art-body>p:first-of-type{font-size:1.08rem}}

/* --- generic content page (legal etc.) --- */
.doc-body{max-width:76ch;margin:0 auto;padding:56px 0 84px;color:var(--ink-2);font-size:.99rem;line-height:1.75}
.doc-body h2{font-size:1.3rem;margin:2em 0 .6em}
.doc-body p,.doc-body li{margin-bottom:.9em}
.doc-body ul,.doc-body ol{padding-left:1.3em}

/* --- admin (leads dashboard) --- */
.admin-wrap{max-width:1100px;margin:0 auto;padding:40px 24px 80px;min-height:70vh}
.admin-login{max-width:400px;margin:8vh auto;background:#fff;border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);padding:34px}
.admin-login h1{font-size:1.35rem;margin-bottom:4px}
.admin-login .sub{color:var(--ink-4);font-size:.88rem;margin-bottom:22px}
.admin-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 20px}
.admin-bar h1{font-size:1.4rem;margin-right:auto}
.admin-bar .inp{background:#fff;border:1px solid var(--border-2);border-radius:10px;padding:9px 14px;font-size:.92rem;min-width:220px;font-family:inherit}
.admin-bar select.inp{min-width:130px}
.lead-tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-sm);font-size:.92rem}
.lead-tbl th{text-align:left;background:var(--cream-2);color:var(--ink-3);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;padding:12px 14px;border-bottom:1px solid var(--border-2)}
.lead-tbl td{padding:13px 14px;border-bottom:1px solid var(--border);vertical-align:top}
.lead-tbl tr:last-child td{border-bottom:0}
.lead-tbl .muted{color:var(--ink-4);font-size:.82rem}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;border-radius:999px;padding:4px 12px}
.pill.new{background:#fff8e8;color:#9a7420;border:1px solid #f0dfb0}
.pill.contacted{background:#eef4ff;color:#2b5cb8;border:1px solid #d5e2f8}
.pill.closed{background:#eefcf2;color:#177a3d;border:1px solid #cdeeda}
.admin-empty{text-align:center;color:var(--ink-4);padding:60px 0}
@media(max-width:760px){.lead-tbl{display:block;overflow-x:auto;white-space:nowrap}}

/* --- 404 / 410 --- */
.err-hero{min-height:62vh;display:flex;align-items:center;text-align:center;background:linear-gradient(160deg,#00132c,#001e44 60%,#062a5a);color:#e6eefb;position:relative;overflow:hidden}
.err-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(600px 300px at 60% -10%,var(--gold-glow),transparent 60%)}
.err-hero .wrap{position:relative;z-index:1;max-width:640px}
.err-code{font-family:'Instrument Serif',Georgia,serif;font-style:italic;color:var(--gold);font-size:clamp(4rem,10vw,6.5rem);line-height:1}
.err-hero h1{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);margin:10px 0 12px}
.err-hero p{color:#b9c6dd;margin-bottom:26px}

/* --- mobile perf: lighter aurora on small screens --- */
@media(max-width:640px){
  .hero .aurora span{filter:blur(48px)}
  .hero .aurora .a1{width:340px;height:340px}
  .hero .aurora .a2{width:380px;height:380px}
  .hero .aurora .a3{display:none}
}
@media(prefers-reduced-motion:reduce){
  .page-hero.entered .crumb,.page-hero.entered .eyebrow,.page-hero.entered h1,.page-hero.entered .dek,.page-hero.entered .ph-meta{animation:none}
  .nav-toggle span,.read-progress{transition:none}
}

/* ============================================================
   v15 — WOW PASS
   film grain · credentials ledger · statband gold hairline ·
   headline coupling · aurora parallax · card craft
   ============================================================ */

/* --- film grain on navy surfaces (kills gradient banding, adds print texture) --- */
.hero .aurora .grain{position:absolute;inset:0;border-radius:0;filter:none;opacity:.5;animation:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.055'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}

/* --- hero headline coupling + optical tune --- */
.hero-c h1{letter-spacing:-.035em}
.hero-c h1 .serif{font-size:1.16em;margin-top:-4px}
.hero-c .sub{max-width:56ch;line-height:1.68}

/* --- statband: woven gold hairline + tabular numerals --- */
.hero-statband{border-top:0;position:relative}
.hero-statband::before{content:'';position:absolute;top:0;left:8%;right:8%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(224,170,75,.5) 18%,rgba(224,170,75,.5) 82%,transparent)}
.hero-statband .s b{font-variant-numeric:tabular-nums}

/* --- credentials ledger (replaces the icon-box card) --- */
.cred-ledger{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border-2);border-bottom:1px solid var(--border-2);max-width:1080px;margin:0 auto}
.cred-ledger .cl{padding:30px 28px 26px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:6px}
.cred-ledger .cl:last-child{border-right:0}
.cred-ledger .no{font-family:'Instrument Serif',Georgia,serif;font-style:italic;color:var(--gold);font-size:1.05rem;line-height:1}
.cred-ledger b{font-size:1.22rem;color:var(--navy);font-weight:800;letter-spacing:-.015em;line-height:1.15}
.cred-ledger b .serif{font-size:.8em;color:var(--gold-deep)}
.cred-ledger .cl>span:last-child{font-size:.84rem;color:var(--ink-4);line-height:1.4}
@media(max-width:900px){.cred-ledger{grid-template-columns:1fr 1fr}.cred-ledger .cl:nth-child(2){border-right:0}.cred-ledger .cl:nth-child(-n+2){border-bottom:1px solid var(--border)}}
@media(max-width:460px){.cred-ledger{grid-template-columns:1fr}.cred-ledger .cl{border-right:0;border-bottom:1px solid var(--border);padding:20px 4px 18px}.cred-ledger .cl:last-child{border-bottom:0}}

/* --- institute cards: hairline craft (flat at rest, lift on hover only) --- */
.division{background:#fff;border-radius:12px;box-shadow:none;border-color:var(--border-2)}
@media(hover:hover){.division:hover{box-shadow:var(--sh);border-color:var(--gold-soft)}}

/* --- aurora gets GPU hint for scroll parallax --- */
.hero .aurora span{will-change:transform}

/* ============================================================
   v16 — STRUCTURAL DRAMA
   asymmetric editorial hero · word-mask reveal · ghost crest ·
   city marquee · display-scale headlines · pull quote
   ============================================================ */

/* --- HERO: asymmetric editorial composition --- */
.hero-ed{position:relative;z-index:1;min-height:78vh;display:flex;flex-direction:column;justify-content:center;padding:88px 0 34px;max-width:900px}
.hero-ed .kick{display:flex;align-items:center;gap:14px;font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft)}
.hero-ed .kick .rule{width:56px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);display:inline-block;transform-origin:left center;animation:ruleDraw .9s var(--ease) .1s both}
@keyframes ruleDraw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-ed .disp{color:#fff;font-size:clamp(3.1rem,7.6vw,6.6rem);line-height:.98;letter-spacing:-.042em;font-weight:800;margin:26px 0 0}
.hero-ed .disp .serif{font-size:1.04em;letter-spacing:-.01em}
/* word-mask reveal — each word rises out of its own clip */
.hero-ed .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.hero-ed .w i:not(.serif){font-style:normal}
.hero-ed .w i{display:inline-block;transform:translateY(112%);animation:wordUp .85s var(--ease) forwards}
.hero-ed .w:nth-child(1) i{animation-delay:.12s}
.hero-ed .w:nth-child(2) i{animation-delay:.22s}
.hero-ed .w:nth-child(3) i{animation-delay:.34s}
.hero-ed .w:nth-child(4) i{animation-delay:.46s}
@keyframes wordUp{to{transform:translateY(0)}}
.hero-ed .sub{font-size:clamp(1rem,1.4vw,1.18rem);color:#c3d0e6;max-width:54ch;margin:30px 0 0;line-height:1.68;opacity:0;animation:heroIn .9s var(--ease) .7s forwards}
.hero-ed .hero-cta{margin-top:32px;opacity:0;animation:heroIn .9s var(--ease) .85s forwards}
.hero-ed .hero-folio{display:flex;flex-wrap:wrap;gap:12px 34px;align-items:center;margin-top:64px;padding-top:20px;border-top:1px solid rgba(244,220,166,.22);color:#aebbd4;font-size:.88rem;font-weight:500;opacity:0;animation:heroIn .9s var(--ease) 1s forwards}
.hero-ed .hero-folio .mi{display:inline-flex;align-items:center;gap:8px}
.hero-ed .hero-folio .mi svg{width:15px;height:15px;stroke:var(--gold);fill:none;stroke-width:1.7}
.hero-ed .hero-folio b{color:var(--gold-soft);font-weight:600}
@media(max-width:980px){
  .hero-ed{min-height:auto;padding:56px 0 20px;max-width:none}
  .hero-ed .disp{font-size:clamp(2.7rem,11.5vw,4rem)}
  .hero-ed .hero-folio{margin-top:44px;gap:10px 20px}
}
@media(prefers-reduced-motion:reduce){
  .hero-ed .w i{transform:none;animation:none}
  .hero-ed .kick .rule,.hero-ed .sub,.hero-ed .hero-cta,.hero-ed .hero-folio{animation:none;opacity:1;transform:none}
}

/* --- CITY MARQUEE — slow masthead of the four capitals --- */
.city-marquee{overflow:hidden;padding:64px 0 58px;background:#fff;border-top:1px solid var(--border);white-space:nowrap;position:relative}
.city-marquee::before,.city-marquee::after{content:'';position:absolute;top:0;bottom:0;width:12%;z-index:1;pointer-events:none}
.city-marquee::before{left:0;background:linear-gradient(90deg,#fff,transparent)}
.city-marquee::after{right:0;background:linear-gradient(-90deg,#fff,transparent)}
.cm-track{display:inline-flex;align-items:baseline;gap:38px;animation:cmScroll 46s linear infinite;padding-left:38px}
.cm-track span{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:clamp(3.4rem,7.4vw,6rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(0,30,68,.22)}
.cm-track em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:clamp(1.6rem,3vw,2.6rem);color:var(--gold);opacity:.8}
@keyframes cmScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.cm-track{animation:none}}

/* --- display-scale section headlines --- */
.section-head h2{font-size:clamp(2.1rem,4vw,3.1rem);letter-spacing:-.032em}
.section-head h2 .serif{font-size:1.14em}
.cap-intro h2{font-size:clamp(2.1rem,3.7vw,2.9rem);letter-spacing:-.03em}

/* --- press wall: real logo holders --- */
.press-wall .pwl{display:flex;align-items:center;justify-content:center;height:62px;min-width:120px;padding:0 14px;filter:grayscale(1) contrast(.85);opacity:.62;transition:filter .3s var(--ease),opacity .3s var(--ease)}
.press-wall .pwl img{max-height:34px;max-width:150px;width:auto;height:auto;object-fit:contain;display:block}
.press-wall .pwl img[height="40"]{max-height:40px}
@media(hover:hover) and (pointer:fine){.press-wall .pwl:hover{filter:none;opacity:1}}
.press-wall .pw-ab{font-family:'Inter',sans-serif;font-weight:800;font-style:normal;font-size:1.18rem;letter-spacing:-.02em;color:var(--ink-3)}
@media(max-width:560px){.press-wall .pwl{height:48px;min-width:96px;padding:0 8px}.press-wall .pwl img{max-height:26px;max-width:112px}}

/* ============================================================
   v19 — LIVING PAGE
   hairlines draw themselves · one-shot serif shimmer ·
   ghost numerals · magnetic buttons · cursor-aware aurora
   ============================================================ */

/* --- hairlines rule themselves in as sections reveal --- */
.reveal.cap-row,.reveal.rsrch,.reveal.feat,.reveal.quote-b{position:relative;border-top-color:transparent}
.reveal.cap-row::before,.reveal.rsrch::before,.reveal.feat::before,.reveal.quote-b::before{
  content:'';position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--border);
  transform:scaleX(0);transform-origin:left center;transition:transform .9s var(--ease);transition-delay:inherit}
.reveal.quote-b::before{height:2px;background:var(--gold);top:-2px}
.reveal.in.cap-row::before,.reveal.in.rsrch::before,.reveal.in.feat::before,.reveal.in.quote-b::before{transform:scaleX(1)}
.reveal.cred-ledger{border-top-color:transparent;border-bottom-color:transparent;position:relative}
.reveal.cred-ledger::before,.reveal.cred-ledger::after{content:'';position:absolute;left:0;width:100%;height:1px;background:var(--border-2);transform:scaleX(0);transition:transform 1.1s var(--ease) .15s}
.reveal.cred-ledger::before{top:-1px;transform-origin:left center}
.reveal.cred-ledger::after{bottom:-1px;transform-origin:right center}
.reveal.in.cred-ledger::before,.reveal.in.cred-ledger::after{transform:scaleX(1)}

/* --- serif words shimmer ONCE as their section arrives --- */
.section-head.reveal.in h2 .serif,.cap-intro.reveal.in h2 .serif{
  background:linear-gradient(100deg,var(--gold-deep) 32%,#ffedbf 50%,var(--gold-deep) 68%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  background-size:240% 100%;animation:serifSweep 1.3s ease .4s 1 both}
@keyframes serifSweep{from{background-position:190% 0}to{background-position:-90% 0}}

/* --- ghost numerals swell behind capability rows --- */
.cap-row{overflow:hidden}
.cap-row::after{content:attr(data-no);position:absolute;right:6px;top:50%;transform:translateY(-46%) translateX(24px);
  font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:7.5rem;line-height:1;color:var(--navy);
  opacity:0;pointer-events:none;transition:opacity .4s var(--ease),transform .5s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .cap-row:hover::after{opacity:.055;transform:translateY(-46%) translateX(0)}
}
/* keep the functional arrow above the ghost numeral */
.cap-arr{position:relative;z-index:1}

/* --- magnetic gold buttons get a will-change hint --- */
.btn-gold{will-change:transform}

/* ============================================================
   v23 — THE NETWORK
   route constellation (four capitals, travelling light) ·
   drifting gold dust canvas · glass statband
   ============================================================ */
.hero .aurora .golddust{position:absolute;inset:0;width:100%;height:100%;filter:none;border-radius:0;opacity:1;animation:none}
.hero .aurora .heronet{position:absolute;top:50%;right:-3%;transform:translateY(-52%);width:min(50vw,700px);height:auto;filter:none;border-radius:0;opacity:.9;animation:none}
.heronet .arc{stroke:rgba(224,170,75,.30);stroke-width:1.1;stroke-dasharray:3 21;animation:arcFlow 1.8s linear infinite}
@keyframes arcFlow{to{stroke-dashoffset:-24}}
.heronet .pulse{fill:#ffe9b8;opacity:.95}
.heronet .node>circle:first-child{fill:var(--gold)}
.heronet .node .ring{fill:none;stroke:var(--gold);stroke-width:1}
.heronet .node .halo{fill:none;stroke:rgba(224,170,75,.18);stroke-width:1}
.heronet .node text{font-family:'Inter',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.32em;fill:#c9d5e8;opacity:.9}
.heronet .hub text{fill:var(--gold-soft)}
@media(max-width:980px){.hero .aurora .heronet{width:86vw;right:-28%;opacity:.5}}
@media(prefers-reduced-motion:reduce){.heronet .arc{animation:none}.heronet .pulse{display:none}}

/* glass statband — floats like an instrument panel */
.hero-statband{border-top:0}
.hero-statband::before{display:none}
.hero-statband .wrap{background:rgba(255,255,255,.045);border:1px solid rgba(244,220,166,.18);border-radius:20px;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 30px 60px -30px rgba(0,0,0,.5);
  padding:34px 40px;max-width:calc(var(--maxw) - 48px)}
@media(max-width:640px){.hero-statband .wrap{padding:26px 20px;border-radius:16px}}

/* --- MERIDIAN GLOBE: engraved-instrument hero signature --- */
.hero .aurora .meridian{position:absolute;top:50%;right:-11%;width:min(54vw,740px);height:auto;
  filter:none;border-radius:0;opacity:.6;animation:meridianSpin 140s linear infinite;transform-origin:center}
.hero .aurora .meridian circle,.hero .aurora .meridian ellipse,.hero .aurora .meridian line{
  stroke:rgba(224,170,75,.17);stroke-width:1}
.hero .aurora .meridian circle:first-child{stroke:rgba(224,170,75,.26)}
.hero .aurora .meridian .sat{fill:var(--gold-soft);stroke:none;opacity:.95}
.hero .aurora .meridian .s2{fill:var(--gold);opacity:.7}
@keyframes meridianSpin{from{transform:translateY(-50%) rotate(0deg)}to{transform:translateY(-50%) rotate(360deg)}}
@media(max-width:980px){.hero .aurora .meridian{width:88vw;right:-38%;opacity:.42}}
@media(prefers-reduced-motion:reduce){.hero .aurora .meridian{animation:none;transform:translateY(-50%)}}

/* ============================================================
   v21 — FLUID FLOW
   press strip under the cover · gradient-dissolved section
   boundaries · earlier, gentler reveals
   ============================================================ */

/* the curve is the hero's true edge — no navy continuation band */
.hero{padding-bottom:0}
/* press strip sits tight under the hero */
.featured{border-top:0;padding:46px 0 42px}
.featured .lbl2{margin-bottom:26px}

/* section boundaries dissolve instead of switching */
.section-alt{background:linear-gradient(180deg,#fff 0,var(--cream-2) 140px)}
.section-flow{background:linear-gradient(180deg,var(--cream-2) 0,#fff 140px)}
.trustband{border-top:0;background:linear-gradient(180deg,#fff 0,var(--cream-2) 150px)}
.city-marquee{border-top:0;background:linear-gradient(180deg,var(--cream-2) 0,#fff 150px)}
.city-marquee::before{background:linear-gradient(90deg,rgba(255,255,255,.94),transparent)}
.city-marquee::after{background:linear-gradient(-90deg,rgba(255,255,255,.94),transparent)}

/* ============================================================
   v22 — SILK
   word-cascade headlines sitewide · gold progress thread ·
   liquid velocity blocks (JS drives silk scroll)
   ============================================================ */
.w2{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}
.w2 i{display:inline-block;font-style:inherit;transform:translateY(116%);transition:transform .85s var(--ease);transition-delay:calc(var(--wi,0)*70ms)}
.reveal.in .w2 i,.page-hero.entered .w2 i{transform:none}
.cap-list,.rsrch-list,.quotes,.divisions,.feat-list{will-change:transform}

@media(prefers-reduced-motion:reduce){
  .w2,.w2 i{transform:none;transition:none}
  .reveal.cap-row,.reveal.rsrch,.reveal.feat{border-top-color:var(--border)}
  .reveal.quote-b{border-top-color:var(--gold)}
  .reveal.cred-ledger{border-top-color:var(--border-2);border-bottom-color:var(--border-2)}
  .reveal.cap-row::before,.reveal.rsrch::before,.reveal.feat::before,.reveal.quote-b::before,
  .reveal.cred-ledger::before,.reveal.cred-ledger::after{display:none}
  .section-head.reveal.in h2 .serif,.cap-intro.reveal.in h2 .serif{animation:none;background:none;-webkit-text-fill-color:var(--gold)}
  .cap-row::after{display:none}
}

/* --- editorial pull quote (lead testimonial) --- */
.quotes{grid-template-columns:1fr 1fr}
.quote-lead{grid-column:1/-1;padding-top:38px;max-width:76ch}
.quote-lead p{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:clamp(1.5rem,2.7vw,2.15rem);line-height:1.4;color:var(--navy);letter-spacing:-.01em}
.quote-lead .qm{font-size:4.4rem;top:26px}
@media(max-width:900px){.quotes{grid-template-columns:1fr}}

/* ===================== DEPTH LAYER v24 (2026-09-25) =====================
   Tokens are prefixed --d- to avoid collisions with the Meridian base. */
:root{--d-navy:#001e44;--d-navy-2:#00132c;--d-navy-3:#022352;--d-gold:#e0aa4b;--d-gold-2:#b98a34;--d-gold-3:#f8e2a0;--d-paper:#f7f6f2;--d-hair:#d9d4c7;--d-ink:#0f1a2e;--d-ink-2:#3b4a63;--d-muted:#6b7280}
.mnum{font-family:"Instrument Serif",Georgia,serif;font-weight:400;line-height:1;background:linear-gradient(180deg,var(--d-gold-3) 0%,var(--d-gold) 46%,#b48631 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 #7a5a1d) drop-shadow(0 2px 0 #55401a) drop-shadow(0 14px 22px rgba(0,0,0,.5))}
.on-paper .mnum,.mnum.lite{filter:drop-shadow(0 1px 0 #7a5a1d) drop-shadow(0 6px 10px rgba(0,0,0,.16))}
.tilt{--mx:50%;--my:50%;position:relative;transform-style:flat;transition:transform .15s ease-out;will-change:transform}
.tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(280px 200px at var(--mx) var(--my),rgba(224,170,75,.22),transparent 70%);opacity:0;transition:opacity .2s;pointer-events:none}
.tilt:hover::after{opacity:1}
.persp{perspective:1100px}
.grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.kick{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--d-gold);display:flex;align-items:center;gap:12px;font-weight:600}
.kick::before{content:"";width:34px;height:1px;background:var(--d-gold)}
.on-paper .kick{color:var(--d-gold-2)}
/* glass header (sitewide) */
.site-header{background:rgba(0,19,44,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.site-header .nav-links>a,.site-header .nav-links .nd>a{color:#dfe8f6}
.site-header .navphone{color:#dfe8f6}
.site-header .nav-links>a::after,.site-header .nav-links .nd>a::before{background:var(--d-gold)}
.site-header.scrolled{box-shadow:0 10px 30px rgba(0,0,0,.25)}
/* rings (parallax decor) */
.rings{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.rings i{position:absolute;border:1px solid rgba(224,170,75,.26);border-radius:50%;left:78%;top:58%;transform:translate(-50%,-50%);will-change:transform}
.rings i:nth-child(2){border-color:rgba(224,170,75,.16)}.rings i:nth-child(3){border-color:rgba(224,170,75,.09)}
/* rising index rows */
.index{perspective:1100px}
.irow{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;padding:18px 12px 18px 0;border-bottom:1px solid var(--d-hair);transition:transform .22s,background .22s;border-radius:8px;text-decoration:none;color:inherit}
.irow:first-child{border-top:1px solid var(--d-hair)}
.irow:hover{transform:translateZ(26px) translateX(8px);background:rgba(224,170,75,.06)}
.irow .mnum{font-size:1.9rem;margin-top:2px}
.irow h3,.irow h4{margin:0 0 6px;font-size:1.02rem;font-weight:700;color:var(--d-navy);white-space:nowrap}
.irow p{margin:0;font-size:.86rem;color:var(--d-ink-2);line-height:1.55;max-width:60ch}
.on-navy .irow{border-color:rgba(255,255,255,.12)}.on-navy .irow h3,.on-navy .irow h4{color:#fff}.on-navy .irow p,.on-navy .irow small{color:#8ea2c2}
.on-navy .irow:hover{background:rgba(255,255,255,.045)}
/* modes + staircase */
.modes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px;perspective:1100px}
.mode{border-radius:14px;padding:22px 20px 20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);overflow:hidden}
.mode .mnum{font-size:1.5rem}.mode h3{margin:10px 0 6px;font-size:1rem;color:#fff}.mode p{margin:0;font-size:.82rem;color:#b9c6dd;line-height:1.5}
.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;perspective:1200px;align-items:end}
.step{position:relative;padding:26px 24px 22px;border-top:1px solid rgba(224,170,75,.45);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0))}
.step:nth-child(2){transform:translateZ(22px) translateY(-14px)}.step:nth-child(3){transform:translateZ(44px) translateY(-28px)}
.step::before{content:"";position:absolute;left:0;top:-1px;width:44px;height:3px;background:var(--d-gold)}
.step .mnum{font-size:2.6rem}.step h3{margin:10px 0 6px;font-size:1.05rem;color:#fff}.step p{margin:0;font-size:.84rem;color:#b9c6dd;line-height:1.55}
/* lead magnet composition (course hero) */
.magnet{position:relative;height:470px;perspective:1400px}
.cover{position:absolute;left:-30px;top:34px;width:216px;aspect-ratio:636/900;border-radius:6px;box-shadow:-18px 30px 60px rgba(0,0,0,.55),-1px 0 0 #c9963c,-2px 0 0 #a67a2b,-3px 0 0 #8f6a25,-4px 0 0 #7a5a1d,-5px 0 0 #61481a;animation:bob 6s ease-in-out infinite;z-index:1}
.cover img{width:100%;height:100%;display:block;border-radius:6px;object-fit:cover}
.cover::after{content:"";position:absolute;inset:0;border-radius:6px;background:linear-gradient(105deg,rgba(255,255,255,.16),transparent 40%,rgba(0,0,0,.18) 100%);pointer-events:none}
@keyframes bob{0%,100%{transform:rotateY(-24deg) rotateX(4deg) translateZ(20px) translateY(0)}50%{transform:rotateY(-24deg) rotateX(4deg) translateZ(20px) translateY(-10px)}}
.pcard{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:22px 24px 20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 30px 60px rgba(0,0,0,.35);color:#fff}
.pcard.mform{position:absolute;right:0;top:0;width:372px;z-index:2}
.pcard h3{margin:0 0 6px;font-size:1.3rem;color:#fff}
.pcard .lede{margin:0 0 14px;font-size:.82rem;color:#b9c6dd;line-height:1.5}
.pcard .field label{color:#8ea2c2}
.pcard .inp{background:rgba(0,19,44,.55);border-color:rgba(255,255,255,.18)}
.pcard .inp input{color:#fff}
.badge{display:inline-flex;align-items:center;gap:8px;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--d-gold);border:1px solid rgba(224,170,75,.5);border-radius:999px;padding:5px 10px;margin-bottom:12px;font-weight:600}
.fine{font-size:.68rem;color:#8ea2c2;margin-top:10px;line-height:1.5}
.mg-ok{padding:6px 0}.mg-ok h4{margin:0 0 8px;font-size:1.1rem;color:#fff}.mg-ok p{font-size:.86rem;color:#b9c6dd}
/* lead panel */
.lp-dim{position:fixed;inset:0;background:rgba(0,10,26,.5);z-index:95;opacity:0;pointer-events:none;transition:opacity .4s}
.lp-dim.on{opacity:1;pointer-events:auto}
.lead-panel{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);z-index:96;transform:translateX(105%);transition:transform .5s cubic-bezier(.2,.8,.2,1);background:linear-gradient(180deg,#022352,#00132c);border-left:1px solid rgba(224,170,75,.35);box-shadow:-40px 0 80px rgba(0,0,0,.45);padding:30px 32px;color:#fff;overflow:auto}
.lead-panel.open{transform:translateX(0)}
.lead-panel .lp-x{position:absolute;right:18px;top:16px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:none;color:#fff;cursor:pointer;font-size:1rem}
.lead-panel h3{font-size:1.5rem;margin:12px 0 6px;letter-spacing:-.02em;color:#fff}
.lead-panel p{color:#b9c6dd;font-size:.86rem;line-height:1.5;margin:0 0 18px}
.lead-panel .field label{color:#8ea2c2}.lead-panel .inp{background:rgba(0,19,44,.55);border-color:rgba(255,255,255,.18)}.lead-panel .inp input,.lead-panel .inp select,.lead-panel .inp textarea{color:#fff}
.lead-panel .inp select option{color:#0f1a2e}
.lead-panel .lp-alt{margin-top:16px;font-size:.78rem;color:#8ea2c2}.lead-panel .lp-alt a{color:#fff}
.lp-ok h4{color:#fff;font-size:1.2rem;margin:20px 0 8px}
body.lp-open{overflow:hidden}
/* sticky mobile CTA */
.mcta{display:none}
@media (max-width:768px){.mcta{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(0,19,44,.92);backdrop-filter:blur(10px);border-top:1px solid rgba(224,170,75,.35)}.mcta .btn{padding:12px 10px;font-size:.86rem}.wa-float{display:none}.magnet{height:auto;perspective:none}.cover{display:none}.pcard.mform{position:static;width:100%}.modes{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}.step:nth-child(n){transform:none}}
/* review cards (real Google reviews) */
.gwall{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:30px;perspective:1200px}
.gcard{grid-column:span 2;display:flex;flex-direction:column;background:#fff;border:1px solid #e6e1d6;border-radius:14px;padding:24px 24px 20px;box-shadow:0 10px 30px rgba(0,30,68,.06);transition:transform .2s,box-shadow .2s}
.gcard:nth-child(n+4){grid-column:span 3}
.gcard:hover{box-shadow:0 26px 50px rgba(0,30,68,.13)}
.stars{color:var(--d-gold);letter-spacing:2px;font-size:.95rem}.stars .off{color:#d9d4c7}
.gcard p{font-size:.92rem;line-height:1.62;color:var(--d-ink-2);margin:12px 0 18px;flex:1}
.gwho{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #efeae0;padding-top:14px}
.gwho b{display:block;color:var(--d-navy);font-size:.9rem}.gwho span{font-size:.7rem;color:var(--d-muted)}
.gword{font-weight:700;font-size:1rem;letter-spacing:-.02em;font-family:Inter,sans-serif}
@media (max-width:900px){.gwall{grid-template-columns:1fr}.gcard,.gcard:nth-child(n+4){grid-column:auto}}
/* article */
.art-hero{position:relative;background:linear-gradient(180deg,#022352 0%,#001e44 60%,#00132c 100%);color:#fff;padding:40px 0 58px;overflow:hidden}
.art-hero h1{font-size:clamp(1.9rem,3.4vw,2.55rem);max-width:22ch;letter-spacing:-.025em;line-height:1.05;color:#fff}
.art-hero .dek{color:#b9c6dd;font-size:1.04rem;line-height:1.6;max-width:60ch}
.ameta{display:flex;gap:22px;font-size:.78rem;color:#b9c6dd;align-items:center;margin-top:22px;flex-wrap:wrap}.ameta b{color:#fff}
.ameta .dot{width:4px;height:4px;border-radius:50%;background:var(--d-gold)}
.aauthor{display:flex;align-items:center;gap:14px;margin-top:26px;font-size:.84rem;color:#dfe8f6}
.mono{width:44px;height:44px;border-radius:50%;border:1px solid rgba(224,170,75,.7);display:flex;align-items:center;justify-content:center;font-family:"Instrument Serif",Georgia,serif;color:var(--d-gold);font-size:1.1rem;background:rgba(224,170,75,.08);flex:none}
.aauthor small{display:block;color:#8ea2c2;font-size:.74rem}
.art-layout{display:grid;grid-template-columns:260px 1fr;gap:64px;padding:64px 24px 72px;align-items:start}
.art-rail{position:sticky;top:96px}
.art-toc .lbl{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--d-gold-2);font-weight:600;margin-bottom:14px}
.art-toc a{display:block;padding:8px 0 8px 16px;font-size:.86rem;color:var(--d-ink-2);border-left:1px solid var(--d-hair);text-decoration:none;position:relative}
.art-toc a i{font-family:"Instrument Serif",Georgia,serif;font-style:italic;color:var(--d-gold-2);margin-right:10px;font-size:.9rem}
.art-toc a.on{color:var(--d-navy);font-weight:600}.art-toc a.on::before{content:"";position:absolute;left:-1px;top:6px;bottom:6px;width:2px;background:var(--d-gold)}
.amag{margin-top:26px;border:1px solid #e6e1d6;background:#fff;border-radius:14px;padding:18px;box-shadow:0 16px 40px rgba(0,30,68,.08);perspective:900px}
.doc{width:98px;aspect-ratio:3/4;background:linear-gradient(180deg,#022352,#001e44);border-radius:4px;transform:rotateY(-20deg) rotateX(3deg);box-shadow:-10px 18px 34px rgba(0,30,68,.35),-1px 0 0 #c9963c,-2px 0 0 #8f6a25,-3px 0 0 #61481a;padding:10px 9px;color:#fff;font-size:.44rem;line-height:1.3;position:relative;margin:2px auto 16px}
.doc::before{content:"";position:absolute;left:0;top:0;height:2px;width:40%;background:var(--d-gold)}
.doc b{display:block;font-size:.5rem;margin-top:8px;font-weight:700;line-height:1.35}.doc i{display:block;font-family:"Instrument Serif",Georgia,serif;font-style:italic;color:var(--d-gold);font-size:.52rem}
.amag h4{margin:0 0 6px;font-size:.92rem;color:var(--d-navy)}.amag p{margin:0 0 12px;font-size:.76rem;color:var(--d-ink-2);line-height:1.5}
.amag .field{margin-bottom:8px}.amag .btn{width:100%;justify-content:center;padding:11px 16px;font-size:.84rem}
.art-body{max-width:66ch}
.art-body h2{display:flex;gap:16px;align-items:baseline;font-size:1.7rem;letter-spacing:-.02em;color:var(--d-navy);margin:44px 0 16px;font-weight:800}
.art-body h2 .mnum{font-size:1.9rem;flex:none}
.art-body p{font-size:1.04rem;line-height:1.72;color:var(--d-ink-2);margin:0 0 20px}
.art-body>p.first::first-letter{font-family:"Instrument Serif",Georgia,serif;font-size:4.2rem;float:left;line-height:.8;margin:8px 12px 0 0;color:var(--d-gold-2)}
.art-body blockquote{margin:34px 0;padding:28px 32px;border-left:3px solid var(--d-gold);background:#fff;border-radius:0 14px 14px 0;font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:1.45rem;line-height:1.35;color:var(--d-navy);box-shadow:0 16px 40px rgba(0,30,68,.07)}
.art-body table{width:100%;border-collapse:collapse;font-size:.88rem;margin:26px 0 30px}
.art-body th{text-align:left;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--d-gold-2);padding:0 12px 12px 0;border-bottom:1px solid var(--d-navy)}
.art-body td{padding:12px 12px 12px 0;border-bottom:1px solid var(--d-hair);color:var(--d-ink-2);vertical-align:top}
.art-body td:first-child{color:var(--d-navy);font-weight:600}
@media (max-width:900px){.art-layout{grid-template-columns:1fr;gap:32px}.art-rail{position:static}}
@media print{.site-header,.topbar,.art-rail,.lead-panel,.lp-dim,.mcta,.wa-float,.art-related,footer,.read-progress{display:none!important}.art-layout{display:block;padding:0}.art-hero{background:#001e44!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#fff}}
/* touch and reduced motion: no depth motion, static hero */
@media (pointer:coarse){.tilt,.rings i,[data-depth]{transform:none!important}.cover{animation:none}}
@media (prefers-reduced-motion:reduce){.tilt,.rings i,[data-depth],.step{transform:none!important;transition:none!important}.cover{animation:none}.lead-panel{transition:none}}
/* ---- homepage story: pinned scene + chapters ---- */
.story{position:relative;padding:0;background:linear-gradient(180deg,#022352 0%,#001e44 42%,#00132c 100%);color:#fff}
.story-pin{position:sticky;top:0;height:100vh;overflow:hidden}
.story-pin canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .6s}
.story-pin canvas.ready{opacity:1}
.hero-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
body.no-3d .hero-still{display:block}body.no-3d .story-pin canvas{display:none}
.chapters{position:relative;margin-top:-100vh;z-index:3}
.chapter{min-height:100vh;display:grid;align-items:center}
.chapter>.wrap{width:100%}
.ch0>.wrap{display:grid;grid-template-rows:1fr auto;min-height:100vh;padding-top:90px}
.ch0 .hero-ed{max-width:560px;align-self:center}
.ch0 .hero-statband{margin-top:0}
.ch1 .ch-copy{margin-left:auto;width:min(44%,560px)}
.roster{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:6px}
.roster a{display:block;height:58px;padding:9px 0 0 12px;border-bottom:1px solid rgba(255,255,255,.08);border-left:2px solid transparent;font-size:.88rem;color:#8ea2c2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;transition:all .25s}
.roster a em{overflow:hidden;text-overflow:ellipsis}
.roster a i{display:inline-block;font-family:"Instrument Serif",Georgia,serif;font-style:italic;color:#5f7aa6;width:30px}.roster a b{color:#dfe8f6;font-weight:600}
.roster a em{display:block;font-style:normal;font-size:.72rem;color:#6f86ab;margin:3px 0 0 30px}
.roster a.active,.roster a:hover{border-left-color:#e0aa4b;color:#fff}.roster a.active b,.roster a.active i,.roster a:hover b{color:#e0aa4b}
.ch2 .wrap{position:relative;display:grid;grid-template-columns:44% 1fr;gap:48px;align-items:center}
.plate{position:absolute;top:-10vh;bottom:-10vh;z-index:-1;pointer-events:none}
.plate-l{left:-24px;width:48%;background:linear-gradient(90deg,rgba(0,19,44,.96),rgba(0,19,44,.86) 55%,rgba(0,19,44,0))}
.plate-r{right:-24px;width:56%;background:linear-gradient(90deg,rgba(0,19,44,0),rgba(0,19,44,.55) 40%,rgba(0,19,44,.7))}
.chip{position:absolute;z-index:4;transform:translate(-50%,calc(-100% - 18px));padding:7px 11px;border:1px solid rgba(224,170,75,.7);background:rgba(0,19,44,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:7px;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .25s;text-align:center}
.chip::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:18px;background:linear-gradient(180deg,rgba(224,170,75,.9),rgba(224,170,75,0))}
.chip small{display:block;letter-spacing:.04em;text-transform:none;color:#b9c6dd;font-size:.68rem;margin-top:2px}
.ledger{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0 44px;border-top:1px solid #d9d4c7;border-bottom:1px solid #d9d4c7}
.ledger>div{padding:22px 24px 22px 0;border-right:1px solid #d9d4c7;display:flex;gap:16px;align-items:flex-start}.ledger>div+div{padding-left:24px}.ledger>div:last-child{border-right:0}
.ledger .mnum{font-size:1.55rem}.ledger b{display:block;color:#001e44;font-size:1rem}.ledger span{color:#6b7280;font-size:.8rem}
.press{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:26px 0;border-bottom:1px solid #d9d4c7;margin-bottom:60px}
.press .pl{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#6b7280;white-space:nowrap}.press img{height:26px;width:auto;display:block;filter:grayscale(1);opacity:.72;transition:filter .2s,opacity .2s}.press img:hover{filter:none;opacity:1}
.press .ab{font-family:Georgia,serif;font-weight:700;font-size:1.05rem;color:#5b6472;display:flex;align-items:center;height:26px}
.offices{display:grid;grid-template-columns:repeat(4,1fr);margin-top:38px;border-top:1px solid rgba(224,170,75,.35)}
.off{padding:26px 26px 0 0;border-right:1px solid rgba(255,255,255,.1)}.off+.off{padding-left:26px}.off:last-child{border-right:0}
.off .reg{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:#e0aa4b}.off h3{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:2.35rem;margin:10px 0 8px;color:#fff}.off p{color:#8ea2c2;font-size:.84rem;line-height:1.55;margin:0}
.sec-pad{padding:80px 0}
.on-paper{background:#f7f6f2;color:#0f1a2e}
.on-paper h2{color:#001e44}
.on-navy{background:linear-gradient(180deg,#00132c 0%,#001e44 100%);color:#fff;position:relative;overflow:hidden}
.on-navy h2{color:#fff}
.h2d{font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:16px 0 18px;font-size:clamp(1.9rem,3.2vw,2.6rem)}
@media (max-width:900px){.story-pin{display:none}.chapters{margin-top:0}.chapter{min-height:0;padding:56px 0}.ch0{background:#001e44 url(/img/hero-still.webp) center/cover no-repeat}.ch0>.wrap{min-height:0;padding-top:40px;grid-template-rows:auto auto;gap:40px}.ch1 .ch-copy{width:100%}.ch2 .wrap{grid-template-columns:1fr}.plate{display:none}.ledger,.offices{grid-template-columns:1fr 1fr}.roster{grid-template-columns:1fr}.press{flex-wrap:wrap;justify-content:flex-start;gap:20px}}
.story .irow{border-color:rgba(255,255,255,.12)}.story .irow h3{color:#fff}.story .irow p{color:#8ea2c2}.story .irow:hover{background:rgba(255,255,255,.045)}
.story .irow:first-child{border-top-color:rgba(255,255,255,.12)}
.h1d{font-weight:800;letter-spacing:-.03em;line-height:1.02;margin:18px 0 18px;font-size:clamp(2.5rem,5vw,4.1rem);color:#fff}
.h1d .serif{color:#e0aa4b}
.story .sub{color:#b9c6dd;font-size:1.06rem;line-height:1.62;margin:0 0 26px;max-width:48ch}
.story .lede{color:#b9c6dd;font-size:1rem;line-height:1.62;margin:0 0 22px;max-width:44ch}
.folio{display:flex;gap:22px;margin-top:26px;font-size:.74rem;color:#8ea2c2;letter-spacing:.04em;white-space:nowrap;flex-wrap:wrap}
.folio b{color:#fff;font-weight:600}
.ch0 .hero-statband{border-top:1px solid rgba(224,170,75,.35);padding:22px 0 34px}
.ch0 .hero-statband>.wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:0;min-height:0}
.ch0 .hero-statband .s b{display:block;font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:2.7rem;line-height:1;background:linear-gradient(180deg,#f8e2a0 0%,#e0aa4b 46%,#b48631 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 #7a5a1d) drop-shadow(0 2px 0 #55401a) drop-shadow(0 14px 22px rgba(0,0,0,.5))}
.ch0 .hero-statband .s b .serif{color:inherit}
.ch0 .hero-statband .s span{display:block;margin-top:9px;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#8ea2c2}
.story .h2d{color:#fff}
.story .btn-ghost{color:#fff;border:1px solid rgba(255,255,255,.32)}
@media (max-width:900px){.ch0 .hero-statband>.wrap{grid-template-columns:1fr 1fr}}

/* AA contrast on paper: darker gold for small/large accents, darker captions */
.on-paper .kick{color:#8f6a25}
.on-paper .kick::before{background:#8f6a25}
.on-paper .serif,.on-paper h2 .serif,.on-paper .h2d .serif{color:#8f6a25}
.ledger span,.gwho span,.on-paper .irow p,.art-toc a i,.art-toc .lbl,.amag p,.press .pl{color:#5b6472}
.art-toc a i,.art-toc .lbl{color:#8f6a25}
.gcard p{color:#2f3b52}
.on-paper .irow p{color:#3b4a63}
.on-paper .fine,.on-paper .form-note{color:#5b6472}

.art-toc{max-height:calc(100vh - 300px);overflow:auto;padding-right:6px}

/* a11y: heading-order aliases + contrast on light backgrounds */
.foot-col .fh{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#e0aa4b;margin:0 0 14px;font-weight:700}
.rsrch .rh{margin:8px 0 10px;font-size:1.02rem;line-height:1.35;font-weight:700}
.pcard .pt{margin:0 0 6px;font-size:1.3rem;color:#fff;font-weight:800;letter-spacing:-.01em}
.amag .amag-title{margin:0 0 6px;font-size:.92rem;color:#001e44;font-weight:700}
.mg-title{margin:0 0 8px;font-size:1.1rem;color:#fff;font-weight:700}
.lp-ok .mg-title{margin-top:20px;font-size:1.2rem}
.eyebrow{color:#8f6a25}.eyebrow::before{background:#8f6a25}
.eyebrow.on-navy,.page-hero .eyebrow,.section-navy .eyebrow,.card .eyebrow,.on-navy .eyebrow{color:#e0aa4b}.eyebrow.on-navy::before,.page-hero .eyebrow::before,.section-navy .eyebrow::before,.card .eyebrow::before,.on-navy .eyebrow::before{background:#e0aa4b}
.cap-note{color:#5b6472}

/* Fast, quiet presentation: preserve the globe and make ordinary content immediate. */
.site-header,.mcta,.pcard,.chip{backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header{background:#00132c}
.grain,.hero .aurora .grain,.hero .btn-gold::after{display:none}
.hero-ed .w i,.hero-ed .kick .rule,.hero-ed .sub,.hero-ed .hero-cta,.hero-ed .hero-folio,
.hero-statband,.hero-c>*,.page-hero h1,.page-hero .crumb,.page-hero .eyebrow,.page-hero .kick,.page-hero .dek,.page-hero .ph-meta{animation:none;opacity:1;transform:none}
.hero-floatwrap,.hero-scroll,.cover,.cm-track,.hero .aurora span,.heronet .arc{animation:none}
.hero h1 .serif{animation:none;background:none;-webkit-text-fill-color:var(--gold)}
.tilt,.step{transform:none;transition:box-shadow .2s,border-color .2s}
.tilt::after{display:none}
.pcard,.amag,.lead-card{box-shadow:0 8px 22px rgba(0,19,44,.08)}
.hero-still{display:block;opacity:1;transition:opacity .2s}
body.globe-ready:not(.no-3d) .hero-still{opacity:0}
.lead-panel{overscroll-behavior:contain;transition:transform .2s ease;box-shadow:-8px 0 28px rgba(0,0,0,.2)}
.lead-panel .field label{color:#c6d3e8}
.form-error{padding:12px 14px;border:1px solid #b4342d;border-radius:6px;color:#852019;background:#fff1ee;font-size:.88rem;line-height:1.5;margin:14px 0}
.lead-panel .form-error,.pcard .form-error{color:#852019}
[hidden]{display:none!important}
button:disabled{cursor:wait;opacity:.65}
.admin-table-scroll{overflow-x:auto}
.admin-bar{flex-wrap:wrap}
.admin-wrap #adminMessage{margin:12px 0;font-size:.9rem}
.privacy-settings{background:none;border:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
.privacy-choice{position:fixed;z-index:100;left:20px;bottom:20px;max-width:530px;padding:18px;background:#fff;color:#172b45;border:1px solid #cad2db;border-radius:10px;box-shadow:0 4px 24px #00132c24}
.privacy-choice p{font-size:.83rem;line-height:1.5;margin:0 0 12px}
.privacy-choice a{color:#174c80;text-decoration:underline}
.privacy-choice>div{display:flex;gap:10px;flex-wrap:wrap}
.privacy-choice .btn{font-size:.8rem;padding:10px 14px}
@media(max-width:899px){body.globe-ready .hero-still{opacity:1}.story-pin canvas{display:none}}
@media(max-width:768px){.privacy-choice{left:12px;right:12px;bottom:82px;max-width:none}.privacy-choice>div{display:grid;grid-template-columns:1fr 1fr}.topbar .tb-l .ti{white-space:normal}.lead-panel{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){.lead-panel,.hero-still{transition:none}}

/* Keep chapter lighting inside the globe section; preserve native sticky positioning. */
.story{overflow:clip;isolation:isolate}

.story .chip{left:0;top:0}
.cap-wrap>*,.irow>*,.art-layout>*{min-width:0}
.irow h3,.irow h4{white-space:normal;overflow-wrap:anywhere}
.feat-three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.feat-three{grid-template-columns:1fr}}
@media(max-width:460px){.ledger,.offices{grid-template-columns:1fr}.ledger>div,.ledger>div+div,.off,.off+.off{padding-left:0;border-right:0}.ledger>div{border-bottom:1px solid #d9d4c7}.ledger>div:last-child{border-bottom:0}.irow{grid-template-columns:40px minmax(0,1fr);gap:12px}}
@media(max-width:768px){.topbar .tb-l{display:none}.topbar .tb-r{width:100%;justify-content:space-between;gap:10px}.topbar .tb-r a{padding:0;font-size:.72rem}.topbar .tb-r a::after{display:none}}

.site-header .nav-toggle span{background:#f6dfa8}
@media(max-width:768px){.page-hero .rings{display:none}}
