/* ============================================================
   LUXURY EXECUTIVE — Global Design System v2
   EDITORIAL · SPATIAL · NAVY  (single source of truth)
   Warm bone · deep ink-navy · Fraunces + Archivo · glass · aurora
   Locked direction: Direction-EDITORIAL-SPATIAL-NAVY.html
   This stylesheet owns the ENTIRE shell, globally — not namespaced.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;1,9..144,300;1,9..144,400&family=Archivo:wght@400;500;600;700&display=swap');

:root{
  --bone:#F0EEE9; --bone-2:#E8E5DE; --ink:#14161C; --navy:#1E2A47; --navy-2:#2A3A5E;
  --mut:#585B63; --muted-2:#75757B; --line:rgba(20,22,28,.13); --hair:rgba(20,22,28,.07);
  --navy-soft:#9FB0D4; --glow-1:#BFC8DC; --glow-2:#C2CCC8; --glow-3:#D8D2C4;
  --glass:rgba(255,255,255,.5); --glass-strong:rgba(255,255,255,.7);
  --fd:'Fraunces',Georgia,serif; --fb:'Archivo',-apple-system,BlinkMacSystemFont,sans-serif;
  --maxw:1320px; --radius:14px; --radius-sm:5px;
  /* legacy-token neutralisation: old burgundy vars remapped to the locked system */
  --ox:#1E2A47; --ox2:#2A3A5E; --ox-light:rgba(30,42,71,.04);
  --bg:#F0EEE9; --bg2:#E8E5DE; --t1:#14161C; --t2:#585B63; --t3:#6E7178; --t4:#8A8C92;
  --rule:rgba(20,22,28,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--fb);background:var(--bone);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;margin:0}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(24px,5vw,56px)}
::selection{background:var(--navy);color:#fff}

/* ---------- SPATIAL aurora (global, fixed, behind everything) ---------- */
body::before,body::after{content:"";position:fixed;border-radius:50%;filter:blur(120px);opacity:.40;z-index:0;pointer-events:none}
body::before{width:620px;height:620px;background:var(--glow-1);top:-220px;left:-140px;animation:auraA 28s ease-in-out infinite}
body::after{width:580px;height:580px;background:var(--glow-2);bottom:-240px;right:-160px;animation:auraB 32s ease-in-out infinite}
.le-aura{position:fixed;border-radius:50%;filter:blur(120px);opacity:.38;z-index:0;pointer-events:none}
.le-aura.a1{width:600px;height:600px;background:var(--glow-1);top:-220px;left:-140px;animation:auraA 26s ease-in-out infinite}
.le-aura.a2{width:540px;height:540px;background:var(--glow-3);top:10%;right:-180px;animation:auraB 30s ease-in-out infinite}
.le-aura.a3{width:560px;height:560px;background:var(--glow-2);bottom:-240px;left:26%;animation:auraA 34s ease-in-out infinite}
@keyframes auraA{0%,100%{transform:translate(0,0)}50%{transform:translate(50px,-40px)}}
@keyframes auraB{0%,100%{transform:translate(0,0)}50%{transform:translate(-50px,50px)}}
@media (prefers-reduced-motion:reduce){body::before,body::after,.le-aura{animation:none}}

/* keep shell above aurora */
#hdr,header,main,footer,section,.le-ds{position:relative;z-index:2}

/* ---------- TYPOGRAPHY ---------- */
h1,h2,h3,.hero-h,.le-display,.le-h2,.big,.display{font-family:var(--fd);font-weight:300;letter-spacing:-.02em;color:var(--ink)}
h1 em,h2 em,h3 em,.hero-h em,.le-display em,.le-h2 em,.standfirst{font-style:italic;color:var(--navy)}
em{font-style:italic}
.le-eyebrow,.kicker,.eyebrow,.label,.ey,.cat,.le-drop-h,.crumb,.reg-tag,.form-tag,.fn-tier,.stat-l,.tier-label{
  font-family:var(--fb);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--navy)}
.le-eyebrow{font-size:.72rem}
.le-display,.le-hero-title{font-size:clamp(3rem,8vw,7.4rem);line-height:.94;letter-spacing:-.035em}
.le-h2,h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1.08}
.le-lead,.p{font-size:1.08rem;color:var(--mut);max-width:62ch;line-height:1.7}

/* ---------- HEADER / GLASS NAV (locked reference) ---------- */
#hdr,header{position:fixed;top:18px;left:0;right:0;z-index:50;background:transparent;border:none;box-shadow:none}
#hdr .wrap,header .wrap{max-width:var(--maxw)}
.h-bar,.hbar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:78px;padding:0 12px 0 30px;background:rgba(255,255,255,.55);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border:1px solid rgba(255,255,255,.62);border-radius:6px;box-shadow:0 12px 48px rgba(22,20,15,.10)}
#hdr.scrolled .h-bar,#hdr.scrolled .hbar{box-shadow:0 14px 52px rgba(22,20,15,.14)}
.h-logo-wrap{display:flex;align-items:center}
.h-full{height:30px;width:auto;display:block}
.h-mono{display:none}
/* nav */
.le-nav{display:flex;align-items:center;gap:clamp(14px,1.9vw,26px);flex-wrap:nowrap}
.le-nav-top,nav a{font-family:var(--fb);font-size:clamp(.78rem,1vw,.84rem);font-weight:500;color:var(--mut);white-space:nowrap;transition:color .2s;cursor:pointer}
.le-nav-top:hover,nav a:hover{color:var(--ink)}
.le-nav-item{position:relative}
.nav-cta{display:inline-flex;align-items:center;margin-left:8px;font-family:var(--fb);font-weight:600;font-size:.78rem;letter-spacing:0;text-transform:none;color:#fff;background:var(--ink);padding:11px 20px;border-radius:4px;white-space:nowrap;text-decoration:none;transition:background .2s,transform .2s}
.nav-cta:hover{background:var(--navy);color:#fff;transform:translateY(-1px)}
/* frosted-glass dropdown */
.le-drop{position:absolute;top:100%;left:50%;transform:translateX(calc(-50% + var(--drop-shift,0px))) translateY(8px);pointer-events:none;
  background:rgba(247,246,243,.94);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);
  border:1px solid rgba(255,255,255,.65);box-shadow:0 18px 52px rgba(22,20,15,.14);
  opacity:0;visibility:hidden;transition:.22s;min-width:240px;z-index:200;border-radius:10px}
.le-drop-inner{display:flex;gap:34px;padding:24px 28px}
.le-drop-col{display:flex;flex-direction:column;min-width:230px}
.le-drop-h{font-family:var(--fb);font-weight:600;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:12px}
.le-drop-col a{font-size:.86rem;color:var(--mut);padding:7px 0;transition:color .18s;white-space:nowrap}
.le-drop-col a:hover{color:var(--navy)}

/* hover bridge — prevents dropdown closing when moving cursor from nav item to panel */
.le-nav-item::after{content:"";position:absolute;left:-16px;right:-16px;top:100%;height:18px;display:none}
.le-nav-item:hover::after,.le-nav-item:focus-within::after{display:block}
/* keep dropdown within viewport — constrain width */
.le-drop{max-width:min(94vw,860px)}

@media(max-width:1180px){.le-nav a[href="/#authority"],.le-nav a[href="/search/"]{display:none}}

@media(max-width:900px){.le-nav a.le-nav-top,.le-nav .le-nav-item,.le-drop{display:none}.nav-cta{display:none!important}}

/* ---------- BUTTONS ---------- */
.le-btn,.btn,.f-btn,button[type="submit"],.article-cta a{display:inline-block;font-family:var(--fb);font-weight:600;font-size:.82rem;letter-spacing:0;text-transform:none;padding:15px 28px;border-radius:var(--radius-sm);text-decoration:none;transition:.2s;cursor:pointer;border:none}
.le-btn-primary,.btn,.f-btn,button[type="submit"],.article-cta a{background:var(--ink);color:var(--bone)}
.le-btn-primary:hover,.btn:hover,.f-btn:hover,button[type="submit"]:hover,.article-cta a:hover{background:var(--navy);color:var(--bone);transform:translateY(-2px);box-shadow:0 14px 34px rgba(30,42,71,.26)}
.le-btn-glass{background:var(--glass);color:var(--ink);border:1px solid rgba(20,22,28,.16)}
.le-btn-glass:hover{background:#fff;color:var(--navy)}

/* ---------- SECTIONS ---------- */
.le-sec,.sec-full{position:relative;z-index:2;padding:clamp(56px,9vh,120px) 0}
.le-sec.alt,.sec-alt{background:rgba(232,229,222,.55);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.le-sec.dark,.sec-dark{background:var(--ink);color:var(--bone)}
.le-sec.dark h2,.le-sec.dark h3,.sec-dark h2,.sec-dark h3,.sec-dark .label{color:var(--bone)}
.le-sec.dark em,.sec-dark em,.sec-dark h2 em{color:var(--navy-soft)}
.sec-dark .p,.sec-dark p{color:rgba(240,238,233,.72)}
#hero,#stats,#contact,.ins-hero{background:transparent}

/* ---------- HERO ---------- */
.hero-h{font-family:var(--fd);font-weight:300;font-size:clamp(3rem,8vw,7.4rem);line-height:.94;letter-spacing:-.035em;color:var(--ink)}

/* ---------- EDITORIAL FUNCTION LIST ---------- */
.le-fnlist{border-top:1px solid var(--ink);margin-top:clamp(40px,5vh,56px)}
.le-fn{display:grid;grid-template-columns:64px 1fr auto;gap:24px;align-items:center;padding:26px 6px;border-bottom:1px solid var(--line);transition:.26s;text-decoration:none;color:inherit}
.le-fn:hover{padding-left:18px;background:linear-gradient(90deg,rgba(255,255,255,.55),transparent)}
.le-fn .n{font-family:var(--fb);font-weight:600;font-size:.74rem;color:var(--navy)}
.le-fn h3{font-family:var(--fd);font-size:clamp(1.2rem,2.2vw,1.8rem);font-weight:400;margin:0;letter-spacing:-.01em}
.le-fn .ar{color:var(--mut);font-size:1.2rem;transition:.26s}
.le-fn:hover .ar{color:var(--navy);transform:translate(5px,-5px)}

/* ---------- GLASS CARDS ---------- */
.le-card,.card,.art-card,.le-sector-card{background:var(--glass);backdrop-filter:blur(20px) saturate(1.25);-webkit-backdrop-filter:blur(20px) saturate(1.25);border:1px solid var(--glass-strong);border-radius:var(--radius);padding:30px;box-shadow:0 12px 40px rgba(20,22,28,.06);transition:.3s}
.le-card:hover,.card:hover,.art-card:hover,.le-sector-card:hover{transform:translateY(-5px);box-shadow:0 22px 52px rgba(20,22,28,.13)}
.le-card .num,.card .n{font-family:var(--fb);font-weight:600;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.le-card h3,.card h3{font-family:var(--fd);font-size:1.32rem;font-weight:400;margin:14px 0 6px;letter-spacing:-.01em}
.le-card p,.card p{color:var(--mut);font-size:.92rem;margin:0}

/* ---------- PROCESS STEPS ---------- */
.le-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(40px,5vh,56px)}
.le-step{border-top:2px solid var(--navy);padding-top:18px}
.le-step .sn{font-family:var(--fb);font-weight:600;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.le-step h3{font-family:var(--fd);font-size:1.25rem;font-weight:400;margin:8px 0 6px}
.le-step p{font-size:.92rem;color:var(--mut);margin:0}
@media(max-width:820px){.le-steps{grid-template-columns:1fr}}

/* ---------- MARQUEE ---------- */
.le-marq{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;padding:18px 0;margin-top:clamp(48px,7vh,72px)}
.le-marq-in{display:inline-block;animation:marq 38s linear infinite}
.le-marq-in span{font-family:var(--fd);font-size:1.42rem;color:var(--mut);margin:0 30px}
.le-marq-in .x{color:var(--navy)}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.le-marq-in{animation:none}}

/* ---------- CTA BAND / BLOCK ---------- */
.le-ctaband{position:relative;z-index:2;background:var(--ink);color:var(--bone);padding:clamp(56px,9vh,110px) 0;text-align:center}
.le-ctaband h2{color:var(--bone);margin:0 auto;max-width:24ch}
.le-ctaband em{font-style:italic;color:var(--navy-soft)}
.cta-block{text-align:center;background:var(--glass);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);border:1px solid var(--glass-strong);border-radius:24px;padding:clamp(56px,8vh,98px) 30px;box-shadow:0 24px 64px rgba(22,20,15,.11)}

/* ---------- GRIDS ---------- */
.le-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.le-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.le-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:900px){.le-grid-3,.le-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.le-grid-2,.le-grid-3,.le-grid-4{grid-template-columns:1fr}}

/* ---------- FORMS (glass) ---------- */
.form-wrap{background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--glass-strong);border-radius:var(--radius);padding:clamp(28px,4vw,44px)}
.fi,.fs,input,textarea,select{background:rgba(255,255,255,.6);border:1px solid rgba(20,22,28,.16);border-radius:6px;color:var(--ink);padding:12px 14px;font-family:var(--fb);font-size:1rem;outline:none;transition:border-color .25s;width:100%}
.fi:focus,.fs:focus,input:focus,textarea:focus,select:focus{border-color:var(--navy)}
.fi::placeholder{color:var(--t4)}
.fl,label{font-family:var(--fb);font-weight:600;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.f-note{font-size:.7rem;color:var(--mut);margin-top:14px;line-height:1.7}
.f-note a{color:var(--navy)}

/* ---------- FOOTER ---------- */
footer{background:var(--ink);color:rgba(240,238,233,.55);padding:clamp(48px,6vh,72px) 0 clamp(28px,4vh,40px);border-top:none}
footer a{color:rgba(240,238,233,.6);transition:color .18s}
footer a:hover{color:var(--bone)}
footer strong,footer h4{color:var(--navy-soft)}
footer .ft-col a{display:block;font-size:.82rem;padding:5px 0}
@media(max-width:900px){}
@media(max-width:520px){}

/* ---------- MISC LEGACY-TABLE / GEO-TAG REMAPS ---------- */
.geo-tag{font-family:var(--fb);font-size:.75rem;color:var(--mut);padding:8px 16px;border:1px solid var(--line)}
.cmp-table th{border-bottom:2px solid var(--navy)}
.cmp-table td{border-bottom:1px solid var(--line);color:var(--mut)}
.cmp-table td.us,.cmp-table th.us{color:var(--navy)}
.tq{border-left:2px solid var(--navy);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.tq-attr{color:var(--navy)}
.skip{position:absolute;left:-9999px}.skip:focus{position:fixed;top:10px;left:10px;width:auto;height:auto;background:var(--ink);color:#fff;padding:12px 24px;z-index:10001}
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(8px);background:var(--ink);color:#fff;padding:11px 24px;font-size:.81rem;opacity:0;transition:.3s;z-index:9999;pointer-events:none}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- HERO / FIRST-SECTION CLEARANCE under fixed glass header ---------- */
main > .le-sec:first-child,main > section:first-child,main > .fhero,main > .p2-hero,
main > .ins-hero,main > .hero,.fhero,.p2-hero,.ins-hero,#hero,
main > .wrap:first-child{padding-top:clamp(120px,16vh,160px)!important}
/* main itself when it carries the hero directly */
main{padding-top:0}

/* ============================================================
   V5 FRAUNCES TYPOGRAPHY SYSTEM (approved reference)
   ============================================================ */
.le-hero-title,.le-display,.le-h2,.hero-h,.display,.big,
.le-fn h3,.fn h3,.le-card h3,.card h3,.le-sector-mini h3,.le-step h3,
.state p,.le-marq-in span,.marq-in span,.cta-block h2,.le-ctaband h2,
footer .ft-brand,footer [data-footer-brand]{font-family:var(--fd);font-weight:300;letter-spacing:-.025em}
.le-hero-title,h1.le-hero-title{font-family:var(--fd);font-weight:300;font-size:clamp(3rem,8vw,7.4rem);line-height:.94;letter-spacing:-.035em;max-width:18ch;border-top:1px solid var(--line);padding-top:36px;padding-bottom:34px}
.le-hero-title em,.le-display em,.le-h2 em{font-family:var(--fd);font-style:italic;font-weight:300;color:var(--navy)}
@media(max-width:700px){.le-hero-title,h1.le-hero-title{font-size:clamp(2.75rem,14vw,4.9rem);line-height:.94;max-width:10.5ch}}
/* Archivo enforced on interface text */
.le-nav-top,nav a,.nav-cta,.le-drop-col a,.le-drop-h,.le-btn,.btn,button,input,textarea,select,.fl,label,.le-eyebrow,.le-lead,.p,footer a,footer p,.f-note{font-family:var(--fb)}

/* header bar + logo responsive */
@media(max-width:900px){.h-bar,.hbar{height:70px;padding:0 10px 0 18px;gap:10px}.h-full{height:24px}.nav-cta{padding:10px 14px;font-size:.72rem}}
@media(max-width:430px){.h-full{height:21px}.nav-cta{padding:9px 12px;font-size:.68rem}.h-bar,.hbar{padding:0 8px 0 14px}}

/* HOMEPAGE QUICK-PATH SUBNAV */

@media(max-width:680px){}

/* SECTOR EXPERTISE mini-cards */
.le-sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:clamp(40px,5vh,56px)}
@media(max-width:1000px){.le-sector-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.le-sector-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.le-sector-grid{grid-template-columns:1fr}}
.le-sector-mini{background:var(--glass);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--glass-strong);border-radius:12px;padding:22px 20px;box-shadow:0 10px 32px rgba(20,22,28,.05);transition:.3s}
.le-sector-mini:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(20,22,28,.12)}
.le-sector-mini .sn{font-family:var(--fb);font-weight:600;font-size:.62rem;letter-spacing:.1em;color:var(--navy)}
.le-sector-mini h3{font-family:var(--fd);font-size:1.04rem;font-weight:400;line-height:1.2;margin:10px 0 0;letter-spacing:-.01em}

/* FOOTER white logo + grid */

@media(max-width:1100px){}
@media(max-width:760px){}
@media(max-width:480px){}

/* ---------- HERO STATEMENT + CTA + PROOF BAND (refined) ---------- */

@media(max-width:820px){}
/* keep body copy readable even on wide layout */
.le-lead,.p,.le-hero-statement{max-width:min(68ch,100%)}

/* ---------- SELECTED MANDATES grid ---------- */
.le-mandate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:clamp(40px,5vh,56px)}
@media(max-width:760px){.le-mandate-grid{grid-template-columns:1fr}}
.le-mandate{background:var(--glass);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--glass-strong);border-radius:14px;padding:26px 28px;box-shadow:0 12px 40px rgba(20,22,28,.06);transition:.3s}
.le-mandate:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(20,22,28,.12)}
.le-mandate h3{font-family:var(--fd);font-weight:400;font-size:1.24rem;letter-spacing:-.01em;margin:0 0 4px}
.le-mandate .mrole{font-family:var(--fb);font-weight:600;font-size:.86rem;color:var(--navy);margin:0 0 16px}
.le-mandate .mmeta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}
.le-mandate .mmeta dt{font-family:var(--fb);font-weight:600;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.le-mandate .mmeta dd{font-family:var(--fb);font-size:.84rem;color:var(--ink);margin:0}

/* ---------- LEADERSHIP INTELLIGENCE capture form ---------- */
.le-li{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:start;margin-top:clamp(36px,5vh,52px)}
@media(max-width:820px){.le-li{grid-template-columns:1fr;gap:28px}}
.le-li-form{display:flex;flex-direction:column;gap:16px;max-width:440px}
.le-li-form .fr{display:grid;grid-template-columns:1fr;gap:6px}
.le-li-form label{font-family:var(--fb);font-weight:600;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.le-li-form input[type=text],.le-li-form input[type=email]{background:rgba(255,255,255,.6);border:1px solid rgba(20,22,28,.16);border-radius:6px;padding:12px 14px;font-family:var(--fb);font-size:1rem;color:var(--ink);outline:none;transition:border-color .25s;width:100%}
.le-li-form input:focus{border-color:var(--navy)}

.le-li-form button{margin-top:6px;align-self:flex-start}

/* leadership intelligence consent (clean) */
.le-li-consent{display:flex!important;gap:10px;align-items:flex-start;width:100%;font-family:var(--fb)!important;font-weight:400!important;font-size:.78rem!important;line-height:1.5!important;letter-spacing:0!important;text-transform:none!important;color:var(--mut)!important}
.le-li-consent input[type=checkbox]{margin-top:3px;flex:0 0 auto;width:16px;height:16px}
.le-li-consent span{flex:1 1 auto;display:block}
.le-li-consent a{color:var(--navy)!important;text-transform:none!important;letter-spacing:0!important;font-weight:400!important}

/* ================================================================
   BESPOKE EDITORIAL HERO
   ================================================================ */
.le-hero-bespoke{position:relative;padding-top:clamp(128px,15vh,172px);padding-bottom:clamp(40px,6vh,72px)}
.le-hero-grid{display:grid;grid-template-columns:1.55fr .9fr;gap:clamp(36px,5vw,84px);align-items:end}
@media(max-width:980px){.le-hero-grid{grid-template-columns:1fr;gap:38px;align-items:start}}

/* editorial index header above H1 */
.le-hero-index{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:clamp(30px,4.5vh,52px)}
.le-hero-tag{display:inline-flex;align-items:center;gap:11px;font-family:var(--fb);font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.le-hero-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--navy);display:inline-block;flex:0 0 auto}
.le-hero-loc{font-family:var(--fb);font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);white-space:nowrap}

/* H1 — reuse le-hero-title scale but strip the old border/padding (index supplies the rule now) */
.le-hero-bespoke .le-hero-title{border-top:none;padding-top:0;padding-bottom:0;max-width:16ch}

/* editorial italic statement, hung under the H1 */
.le-hero-statement{font-family:var(--fd);font-weight:300;font-style:italic;font-size:clamp(1.35rem,2.3vw,2.05rem);line-height:1.28;letter-spacing:-.01em;color:var(--navy);max-width:24ch;margin-top:clamp(26px,3.5vh,40px)}

/* right column: lede + actions, sitting on a hairline */
.le-hero-aside{display:flex;flex-direction:column;gap:30px;padding-left:clamp(0px,2vw,30px);border-left:1px solid transparent}
@media(min-width:981px){.le-hero-aside{border-left:1px solid var(--line);padding-bottom:6px}}
.le-hero-lede{font-family:var(--fb);font-size:1rem;line-height:1.72;color:var(--mut);max-width:42ch;margin:0}

/* bespoke CTAs — full-width stacked editorial links with arrow */
.le-hero-actions{display:flex;flex-direction:column;gap:12px}
.le-cta-lg{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-radius:10px;background:var(--ink);color:var(--bone);font-family:var(--fb);font-weight:600;font-size:.92rem;letter-spacing:.01em;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background .25s;box-shadow:0 10px 30px rgba(20,22,28,.12)}
.le-cta-lg:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(20,22,28,.2)}
.le-cta-lg .ca{font-size:1rem;opacity:.85;transition:transform .25s}
.le-cta-lg:hover .ca{transform:translate(3px,-3px)}
.le-cta-lg.ghost{background:var(--glass);color:var(--ink);border:1px solid var(--glass-strong);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-shadow:0 6px 22px rgba(20,22,28,.05)}
.le-cta-lg.ghost:hover{background:rgba(255,255,255,.7);box-shadow:0 14px 36px rgba(20,22,28,.12)}

/* numbered proof row */

@media(max-width:820px){}

/* ---------- BESPOKE PROOF ROW (card-on-rule) ---------- */
.le-hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(50px,7vh,80px);background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.le-hero-proof .pf{position:relative;display:flex;flex-direction:column;gap:9px;background:var(--bone);padding:30px 30px 30px 30px;transition:background .3s,transform .3s}
.le-hero-proof .pf:hover{background:rgba(255,255,255,.55)}
.le-hero-proof .pf-n{font-family:var(--fb);font-weight:600;font-size:.64rem;letter-spacing:.16em;color:var(--navy);margin-bottom:4px}
.le-hero-proof .pf-h{font-family:var(--fd);font-weight:400;font-size:1.18rem;letter-spacing:-.01em;color:var(--ink);line-height:1.2}
.le-hero-proof .pf-b{font-family:var(--fb);font-size:.84rem;line-height:1.6;color:var(--mut);max-width:34ch}
@media(max-width:820px){.le-hero-proof{grid-template-columns:1fr}}

/* ---------- BESPOKE QUICK-PATH DIRECTORY ---------- */
.le-quickpath{display:flex;align-items:stretch;gap:0;margin-top:clamp(18px,2.5vh,28px);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--glass);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15)}
.le-qp-label{flex:0 0 auto;display:flex;align-items:center;padding:0 22px;font-family:var(--fb);font-weight:600;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);border-right:1px solid var(--line);background:rgba(30,42,71,.04)}
.le-qp-links{display:flex;flex-wrap:wrap;flex:1 1 auto}
.le-qp-links a{display:inline-flex;align-items:center;gap:7px;padding:16px 22px;font-family:var(--fb);font-weight:500;font-size:.78rem;letter-spacing:.01em;color:var(--ink);border-right:1px solid var(--line);transition:background .25s,color .25s}
.le-qp-links a:last-child{border-right:none}
.le-qp-links a .ar{font-size:.74rem;color:var(--navy);opacity:0;transform:translate(-3px,3px);transition:.25s}
.le-qp-links a:hover{background:rgba(255,255,255,.5);color:var(--navy)}
.le-qp-links a:hover .ar{opacity:.9;transform:translate(0,0)}
@media(max-width:820px){.le-quickpath{flex-direction:column}.le-qp-label{border-right:none;border-bottom:1px solid var(--line);padding:12px 22px}.le-qp-links{flex-direction:column}.le-qp-links a{border-right:none;border-bottom:1px solid var(--line);justify-content:space-between}.le-qp-links a:last-child{border-bottom:none}.le-qp-links a .ar{opacity:.6;transform:none}}

/* ================================================================
   REDESIGNED FOOTER
   ================================================================ */
footer{background:var(--ink);color:var(--bone);margin-top:clamp(60px,9vh,120px);padding:clamp(54px,7vh,84px) 0 clamp(28px,4vh,40px)}
footer .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,48px)}

/* brand row */
footer .ft-top{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(36px,6vw,90px);align-items:start;padding-bottom:clamp(40px,5vh,56px);border-bottom:1px solid rgba(240,238,233,.12)}
@media(max-width:900px){footer .ft-top{grid-template-columns:1fr;gap:34px}}
footer .ft-logo{height:30px;width:auto;display:block;margin-bottom:22px}
footer .ft-statement{font-family:var(--fd);font-weight:300;font-size:clamp(1.05rem,1.5vw,1.32rem);line-height:1.5;letter-spacing:-.005em;color:rgba(240,238,233,.82);max-width:46ch;margin:0}

/* footer CTAs */
footer .ft-cta{display:flex;flex-direction:column;gap:11px}
footer .ft-cta a.ft-cta-primary,footer .ft-cta a.ft-cta-ghost{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;border-radius:9px;font-family:var(--fb);font-weight:600;font-size:.86rem;letter-spacing:.01em;transition:transform .25s,background .25s,border-color .25s}
footer .ft-cta-primary{background:var(--bone);color:var(--ink)}
footer .ft-cta-primary:hover{transform:translateY(-2px);background:#fff}
footer .ft-cta-ghost{background:transparent;color:var(--bone);border:1px solid rgba(240,238,233,.22)}
footer .ft-cta-ghost:hover{transform:translateY(-2px);border-color:rgba(240,238,233,.5)}
footer .ft-cta .ar{font-size:.92rem;opacity:.7}
footer .ft-contact{display:flex;flex-wrap:wrap;gap:18px;margin-top:8px}
footer .ft-contact a{font-family:var(--fb);font-size:.82rem;color:var(--navy-soft,#9FB0D4);text-decoration:none;transition:color .2s}
footer .ft-contact a:hover{color:#fff}

/* directory grid */
footer .ft-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(20px,3vw,40px);padding:clamp(40px,5vh,56px) 0;border-bottom:1px solid rgba(240,238,233,.12)}
@media(max-width:980px){footer .ft-grid{grid-template-columns:repeat(3,1fr);gap:32px}}
@media(max-width:620px){footer .ft-grid{grid-template-columns:repeat(2,1fr);gap:28px}}
@media(max-width:420px){footer .ft-grid{grid-template-columns:1fr}}
footer .ft-col{display:flex;flex-direction:column;gap:0}
footer .ft-col h4{font-family:var(--fb);font-weight:600;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-soft,#9FB0D4);margin:0 0 16px}
footer .ft-col a{font-family:var(--fb);font-size:.84rem;line-height:1.45;color:rgba(240,238,233,.62);text-decoration:none;padding:5px 0;transition:color .2s,padding-left .2s;border-left:1px solid transparent}
footer .ft-col a:hover{color:#fff;padding-left:8px}

/* legal bar */
footer .ft-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding-top:clamp(22px,3vh,30px);font-family:var(--fb);font-size:.74rem;color:rgba(240,238,233,.58)}
footer .ft-legal{max-width:60ch}
footer .ft-bottom-links{display:flex;gap:20px;flex-wrap:wrap}
footer .ft-bottom-links a{color:rgba(240,238,233,.55);text-decoration:none;transition:color .2s}
footer .ft-bottom-links a:hover{color:#fff}

/* ================================================================
   PRE-FOOTER CONTACT BAND
   ================================================================ */
.le-contactband{position:relative;padding:clamp(64px,11vh,128px) 0;background:#E8E5DE;border-top:1px solid var(--line);overflow:hidden}
.le-contactband .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.le-cb-inner{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(30px,5vh,52px)}
.le-cb-title{font-family:var(--fd);font-weight:300;font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.03em;color:var(--ink);margin:0;max-width:18ch}
.le-cb-title em{font-style:italic;color:var(--navy)}
.le-cb-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:100%}
.le-cb-link{display:flex;flex-direction:column;gap:6px;padding:26px 48px 26px 0;margin-right:48px;border-right:1px solid var(--line);text-decoration:none;transition:transform .25s}
.le-cb-link:last-of-type{border-right:none}
.le-cb-link:hover{transform:translateX(4px)}
.le-cb-lbl{font-family:var(--fb);font-weight:600;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--navy)}
.le-cb-val{font-family:var(--fd);font-weight:300;font-size:clamp(1.3rem,2.4vw,2rem);letter-spacing:-.01em;color:var(--ink);transition:color .25s}
.le-cb-link:hover .le-cb-val{color:var(--navy)}
.le-cb-div{display:none}
@media(max-width:680px){
  .le-cb-actions{flex-direction:column}
  .le-cb-link{border-right:none;border-bottom:1px solid var(--line);margin-right:0;padding:22px 0;width:100%}
  .le-cb-link:last-of-type{border-bottom:none}
}
/* tighten the gap into the footer */
.le-contactband + footer{margin-top:0}

/* ================================================================
   ACCESSIBILITY — WCAG 2.2 AA
   ================================================================ */

/* A. Skip link */
.le-skip{position:absolute;left:-9999px;top:0;z-index:9999;background:var(--ink);color:var(--bone);padding:14px 22px;font-family:var(--fb);font-weight:600;font-size:.9rem;border-radius:0 0 8px 0;text-decoration:none}
.le-skip:focus{left:0}

/* B. Visible focus indicators (3:1 min contrast, offset for clarity) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,.le-nav-top:focus-visible,.le-cta-lg:focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:3px}
/* on dark surfaces, use bone outline for contrast */
footer a:focus-visible,footer button:focus-visible,.le-cta-lg:focus-visible,.le-ctaband a:focus-visible{outline:3px solid #C9D4EC;outline-offset:3px}
/* fallback for browsers without :focus-visible — still show on keyboard focus */
a:focus,button:focus{outline-color:var(--navy)}

/* C. Keyboard dropdowns — open on focus-within as well as hover */
.le-nav-item:hover .le-drop,
.le-nav-item:focus-within .le-drop{opacity:1;visibility:visible;transform:translateX(calc(-50% + var(--drop-shift,0px))) translateY(0);pointer-events:auto}

/* D. Mobile menu button — hidden on desktop, shown <=900px */
.le-menu-btn{display:none;position:relative;z-index:1300;align-items:center;gap:9px;background:transparent;border:1px solid rgba(20,22,28,.2);border-radius:8px;padding:9px 14px;font-family:var(--fb);font-weight:600;font-size:.78rem;letter-spacing:.04em;color:var(--ink);cursor:pointer;transition:border-color .2s}
.le-menu-btn:hover{border-color:var(--navy)}
.le-menu-bars{display:inline-flex;flex-direction:column;gap:3px;width:16px}
.le-menu-bars span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:.25s}
.le-menu-btn[aria-expanded="true"] .le-menu-bars span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.le-menu-btn[aria-expanded="true"] .le-menu-bars span:nth-child(2){opacity:0}
.le-menu-btn[aria-expanded="true"] .le-menu-bars span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.le-menu-btn[aria-expanded="true"]{background:var(--bone);border-color:var(--navy)}

/* Mobile menu panel */
.le-mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:rgba(240,238,233,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;gap:2px;padding:96px clamp(24px,7vw,56px) 40px;overflow-y:auto}
.le-mobile-menu[hidden]{display:none}
.le-mobile-menu a{font-family:var(--fd);font-weight:300;font-size:clamp(1.5rem,5vw,2rem);letter-spacing:-.01em;color:var(--ink);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--line);transition:color .2s}
.le-mobile-menu a:hover,.le-mobile-menu a:focus-visible{color:var(--navy)}
body.le-menu-open{overflow:hidden}

@media(max-width:900px){
  header,#hdr{z-index:1300}
  .le-nav{display:none}            /* hide desktop nav */
  .le-menu-btn{display:inline-flex}/* show menu button */
}

/* E. Required-field text indicator (not colour alone) */
.le-req{color:var(--navy);font-weight:600}
.req-note{font-family:var(--fb);font-size:.78rem;color:var(--mut)}

/* H. Reduced motion — comprehensive */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  body::before,body::after,.le-aura,.le-marq-in{animation:none!important}
}

/* ================================================================
   MOBILE CONVERSION CTA (header)
   ================================================================ */
.le-mobile-cta{display:none;align-items:center;justify-content:center;background:var(--ink);color:var(--bone);font-family:var(--fb);font-weight:600;font-size:.78rem;letter-spacing:.01em;padding:10px 16px;border-radius:8px;text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s}
.le-mobile-cta:hover{background:var(--navy);transform:translateY(-1px)}
.le-mobile-cta .mc-short{display:inline}
.le-mobile-cta .mc-long{display:none}
/* show "Discuss a Mandate" on slightly wider mobile/tablet */
@media(min-width:431px){.le-mobile-cta .mc-short{display:none}.le-mobile-cta .mc-long{display:inline}}
/* show the mobile CTA only when the mobile menu button is showing (<=900px) */
@media(max-width:900px){
  .le-mobile-cta{display:inline-flex;margin-left:auto}
}
/* keep header items aligned: logo | menu btn ... mobile-cta on the right */
@media(max-width:900px){
  .h-bar{gap:12px}
}

/* narrow-mobile header fit: wordmark + menu + CTA */
@media(max-width:480px){
  .h-full{height:18px}
  .le-mobile-cta{padding:9px 13px;font-size:.72rem}
  .le-menu-txt{display:none}              /* icon-only menu button to save width */
  .le-menu-btn{padding:9px 11px}
  .h-bar,.hbar{gap:8px;padding:0 8px}
}
@media(max-width:360px){
  .h-full{height:16px}
  .le-mobile-cta{padding:8px 11px;font-size:.7rem}
}

/* what happens next block (form pages) */
.le-next{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.le-next-h{display:block;font-family:var(--fb);font-weight:600;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:12px}
.le-next p{font-family:var(--fb);font-size:.92rem;line-height:1.65;color:var(--mut);max-width:60ch;margin:0}


/* honest supporting text under broader-practice grouping (not clickable) */
.le-drop-note{display:block;font-family:var(--fb);font-size:.74rem;line-height:1.55;color:var(--mut);opacity:.85;margin-top:10px;max-width:230px}

/* narrow-desktop (900-1180px): tighten wide dropdowns to fit viewport */
@media(min-width:900px) and (max-width:1180px){
  .le-drop{max-width:min(92vw,720px) !important}
  .le-drop-inner{gap:22px !important;padding:20px 22px !important}
  .le-drop-col{min-width:0 !important}
  .le-drop-col a{font-size:.8rem !important;white-space:normal !important}
  .le-drop-note{max-width:170px !important}
}


/* grouped mobile menu (by intent) */
.le-mm-group{padding:14px 0;border-bottom:1px solid var(--line)}
.le-mm-group:last-child{border-bottom:none}
.le-mm-h{display:block;font-family:var(--fb);font-weight:600;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-soft);margin:0 0 10px}
.le-mobile-menu .le-mm-group a{display:block;font-family:var(--fb);font-size:1.02rem;color:var(--ink);padding:11px 0;line-height:1.3;text-decoration:none;min-height:44px}
.le-mobile-menu .le-mm-group a:active{color:var(--navy)}


/* explicit, obvious close affordance at top of mobile menu */
.le-mm-close{position:absolute;top:20px;right:clamp(20px,6vw,48px);display:inline-flex;align-items:center;gap:6px;background:none;border:none;font-family:var(--fb);font-weight:600;font-size:.86rem;letter-spacing:.02em;color:var(--ink);cursor:pointer;padding:8px 4px;min-height:44px;z-index:2}
.le-mm-close span{font-size:1.5rem;line-height:1;font-weight:400}
.le-mm-close:hover,.le-mm-close:focus-visible{color:var(--navy)}


/* CTA row spacing (prevents merged buttons) */
.le-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.le-cta-row .le-btn{margin:0}



/* ===== Curated related / onward-link module ===== */
.le-related{padding:clamp(48px,7vh,84px) 0;border-top:1px solid var(--line)}
.le-related .le-related-eyebrow{font-family:var(--fb);font-weight:600;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--navy-soft)}
.le-related h2{font-family:var(--fd);font-weight:400;font-size:clamp(1.5rem,3vw,2.05rem);line-height:1.12;color:var(--ink);margin:14px 0 0;letter-spacing:-.01em}
.le-related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:clamp(28px,4vh,40px)}
.le-related-card{display:block;padding:22px 24px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.4);text-decoration:none;transition:border-color .2s,background .2s,transform .2s}
.le-related-card:hover,.le-related-card:focus-visible{border-color:var(--navy-soft);background:rgba(255,255,255,.7);transform:translateY(-2px)}
.le-related-card .rl-label{display:flex;align-items:center;gap:8px;font-family:var(--fd);font-weight:400;font-size:1.08rem;color:var(--ink);line-height:1.2}
.le-related-card .rl-arrow{color:var(--navy-soft);font-size:.9rem;transition:transform .2s}
.le-related-card:hover .rl-arrow,.le-related-card:focus-visible .rl-arrow{transform:translate(2px,-2px)}
.le-related-card .rl-desc{font-family:var(--fb);font-size:.86rem;line-height:1.5;color:var(--mut);margin:8px 0 0}
@media(max-width:680px){.le-related-grid{grid-template-columns:1fr}}
