/* PolyMinds — GPPC Group · shared design system */
:root{
  --navy:#1D274E; --navy-700:#161e3c; --navy-900:#0f1530; --navy-1000:#0a1026;
  --orange:#FF6724; --orange-600:#ec5410; --orange-soft:rgba(255,103,36,.08); --orange-ink:#C2410C;
  --ink:#11162b; --muted:#5a6178; --muted-2:#676d80; --line:#e4e6ee; --line-strong:#cfd3e0;
  --paper:#fbfbfd; --paper-2:#f4f5f9; --white:#fff;
  --on-navy:#eef0f7; --on-navy-muted:#a7adc6; --line-navy:rgba(255,255,255,.14);
  --serif:'Newsreader',Georgia,serif; --sans:'Hanken Grotesk',system-ui,sans-serif; --mono:'IBM Plex Mono',ui-monospace,monospace;
  --maxw:1280px; --gut:clamp(20px,5vw,72px); --r:2px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --t1:clamp(2.7rem,6.6vw,5.9rem); --t2:clamp(2.1rem,4.2vw,3.5rem); --t3:clamp(1.4rem,2.3vw,1.9rem);
  --shadow-card:0 1px 2px rgba(16,22,43,.04),0 22px 48px -30px rgba(16,22,43,.38);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
::selection{background:var(--orange);color:#fff}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:var(--r)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;mix-blend-mode:multiply;
  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='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.mono{font-family:var(--mono);font-weight:500;font-variant-numeric:tabular-nums}
.eyebrow{font-family:var(--mono);font-weight:600;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--orange-ink);display:inline-flex;align-items:center;gap:.7em}
.eyebrow::before{content:"";width:26px;height:2px;background:currentColor}
.verticals .eyebrow,.chapter.dark .eyebrow,.cta .eyebrow{color:var(--orange)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04;letter-spacing:-.012em;color:var(--navy)}
.serif-i{font-style:italic;font-weight:400}

.btn{font-family:var(--sans);font-weight:600;font-size:.95rem;display:inline-flex;align-items:center;gap:.6em;padding:.95em 1.55em;border-radius:var(--r);cursor:pointer;border:1px solid transparent;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s;min-height:48px}
.btn .arr{transition:transform .3s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-600)}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--line-strong)}
.btn-ghost:hover{border-color:var(--navy)}
.btn-ghost.on-dark{color:var(--on-navy);border-color:var(--line-navy)}
.btn-ghost.on-dark:hover{border-color:rgba(255,255,255,.6)}

.topbar{background:var(--navy-1000);color:var(--on-navy-muted);font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:34px;gap:16px}
.topbar b{color:#fff;font-weight:600}
.topbar .right{display:flex;gap:22px}
.topbar a:hover{color:#fff}
@media (max-width:760px){.topbar .right{display:none}}

header{position:sticky;top:0;inset-inline:0;z-index:100;transition:background .35s var(--ease),box-shadow .35s,border-color .35s;border-bottom:1px solid transparent;background:var(--paper)}
header.scrolled{background:rgba(251,251,253,.86);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:80px}
.brand{display:flex;align-items:center;gap:13px}
.brand .mark{width:36px;height:36px;flex:none}
.brand .name{font-family:var(--sans);font-weight:800;font-size:1.46rem;letter-spacing:-.03em;color:var(--navy);line-height:1}
.brand .name .accent{color:var(--orange)}
.brand .grp{display:block;font-family:var(--mono);font-weight:500;font-size:.56rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted-2);margin-top:4px}
.brand .vert{font-family:var(--mono);font-weight:500;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);border:1px solid var(--line-strong);border-radius:100px;padding:6px 12px;margin-left:14px;white-space:nowrap}
.nav-links{display:flex;align-items:center;gap:34px}
.nav-links a{font-weight:600;font-size:.94rem;color:var(--navy);position:relative;padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--orange);transition:width .3s var(--ease)}
.nav-links a:hover::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:18px}
.menu-btn{display:none;background:none;border:0;cursor:pointer;padding:10px}
.menu-btn span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0;transition:.3s}
@media (max-width:1180px){.brand .vert{display:none}}

.hero{position:relative;background:var(--paper);overflow:hidden;padding:110px 0 0}
.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(56% 74% at 96% -6%,rgba(255,103,36,.09),transparent 60%),radial-gradient(46% 64% at -6% 106%,rgba(29,39,78,.06),transparent 60%)}
.hero .wrap{position:relative;z-index:2}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.hero-copy{max-width:660px}
.hero h1{font-size:var(--t1);color:var(--navy);max-width:13ch;margin-top:26px}
.hero .lead{color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.27rem);max-width:50ch;margin-top:28px;line-height:1.58}
.hero .lead b{color:var(--ink);font-weight:600}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero-art{position:relative;width:min(100%,460px);aspect-ratio:1/1;justify-self:center}
.hero-art .ring{position:absolute;inset:0;border-radius:50%;border:1px solid var(--line);background:radial-gradient(circle at 50% 36%,rgba(255,103,36,.10),rgba(29,39,78,.035) 72%)}
.hero-art .ring2{position:absolute;inset:9%;border-radius:50%;border:1px dashed var(--line-strong);animation:spin 80s linear infinite}
.hero-art .mk{position:absolute;inset:23%;filter:drop-shadow(0 28px 46px rgba(29,39,78,.20));animation:hbob 8s ease-in-out infinite}
.hero-art .mk svg{width:100%;height:100%;overflow:visible}
.hero-art .orb{position:absolute;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);background:var(--white);border:1px solid var(--line);border-radius:100px;padding:7px 13px;box-shadow:0 8px 24px -14px rgba(16,22,43,.4)}
.hero-art .orb i{font-style:normal;color:var(--orange);margin-right:.5em}
.orb.o1{top:4%;left:50%;transform:translateX(-50%)}
.orb.o2{top:47%;right:-4%}
.orb.o3{bottom:5%;left:14%}
.orb.o4{top:47%;left:-6%}
@keyframes hbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes spin{to{transform:rotate(360deg)}}
.hero.sub{padding-top:96px}
.hero.sub h1{max-width:16ch}
.hero.sub .hero-grid{grid-template-columns:1fr;gap:0}
.hero-ledger{margin-top:76px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
.hled{padding:30px 28px 40px;border-left:1px solid var(--line)}
.hled:first-child{border-left:0;padding-left:0}
.hled .num{font-family:var(--serif);font-size:clamp(2rem,3.4vw,2.9rem);color:var(--navy);line-height:1;letter-spacing:-.02em}
.hled .num em{color:var(--orange-ink);font-style:normal}
.hled .lb{color:var(--muted);margin-top:10px;font-size:.9rem;max-width:22ch;line-height:1.45}

section{padding-block:clamp(76px,9.5vw,136px)}
.sec-head{max-width:68ch}
.sec-head h2{font-size:var(--t2);margin-top:20px}
.sec-head p{color:var(--muted);margin-top:18px;font-size:1.1rem;max-width:58ch}

.firm{background:var(--paper);border-top:1px solid var(--line)}
.firm-grid{display:grid;grid-template-columns:.9fr 1.4fr;gap:64px;align-items:start}
.firm-left h2{font-size:var(--t2);margin-top:20px}
.firm-copy{font-family:var(--serif);font-size:clamp(1.25rem,1.9vw,1.6rem);line-height:1.55;color:var(--ink);font-weight:400}
.firm-copy .dc{float:left;font-family:var(--serif);font-size:4.6em;line-height:.78;padding:.06em .12em 0 0;color:var(--orange-ink);font-weight:500}
.firm-copy p+p{margin-top:1.2em}
.firm-copy em{font-style:italic;color:var(--navy)}
.firm-tenets{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:64px;border-top:1px solid var(--line)}
.tenet{padding:30px 30px 6px;border-left:1px solid var(--line)}
.tenet:first-child{border-left:0;padding-left:0}
.tenet .tn{font-family:var(--mono);font-size:.72rem;color:var(--orange-ink);letter-spacing:.14em}
.tenet h3{font-size:1.35rem;margin-top:12px}
.tenet p{color:var(--muted);margin-top:10px;font-size:.97rem;line-height:1.6}

.verticals{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden}
.verticals .watermark{position:absolute;right:-70px;top:-70px;width:480px;opacity:.05;pointer-events:none}
.verticals h2{color:#fff}
.verticals .sec-head p{color:var(--on-navy-muted)}
.vindex{margin-top:58px;border-top:1px solid var(--line-navy)}
.vrow{display:grid;grid-template-columns:110px 1.2fr 1.6fr auto;gap:28px;align-items:center;padding:34px 8px;border-bottom:1px solid var(--line-navy);transition:background .3s,padding .3s var(--ease);position:relative}
.vrow:hover{background:rgba(255,255,255,.03);padding-left:20px}
.vrow .rn{font-family:var(--serif);font-size:2.1rem;color:var(--on-navy-muted);font-style:italic;transition:color .3s}
.vrow:hover .rn{color:var(--orange)}
.vrow h3{color:#fff;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.1}
.vrow h3 .pm{display:block;font-family:var(--mono);font-weight:500;font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--orange);margin-bottom:9px}
.vrow .vd{color:var(--on-navy-muted);font-size:.99rem;line-height:1.55;max-width:52ch}
.vrow .go{font-family:var(--mono);font-size:.78rem;color:#fff;letter-spacing:.06em;white-space:nowrap;display:inline-flex;align-items:center;gap:.6em}
.vrow .go .arr{transition:transform .3s var(--ease)}
.vrow:hover .go .arr{transform:translateX(5px)}
.vrow:hover .go{color:var(--orange)}

.chapter{position:relative;overflow:hidden}
.ch-label{display:flex;align-items:baseline;gap:22px}
.ch-label .roman{font-family:var(--serif);font-style:italic;font-size:clamp(3.4rem,7vw,6rem);line-height:.9;color:transparent;-webkit-text-stroke:1px var(--line-strong);user-select:none}
.chapter.dark .ch-label .roman{-webkit-text-stroke:1px rgba(255,255,255,.25)}
.ch-head{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:end}
.ch-head h2{font-size:var(--t2);margin-top:22px}
.ch-head .ch-intro{color:var(--muted);font-size:1.08rem;line-height:1.62;max-width:46ch}
.chapter.dark{background:var(--navy);color:var(--on-navy)}
.chapter.dark h2,.chapter.dark h3{color:#fff}
.chapter.dark .ch-head .ch-intro{color:var(--on-navy-muted)}
.chapter.dark .sec-head p{color:var(--on-navy-muted)}
.chapter.alt{background:var(--paper-2)}
.ch-body{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,5vw,72px);margin-top:60px;align-items:start}

.svc{border-top:1px solid var(--line)}
.chapter.dark .svc{border-color:var(--line-navy)}
.svc-row{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:20px 6px;border-bottom:1px solid var(--line);align-items:baseline;transition:background .25s,padding .25s var(--ease)}
.chapter.dark .svc-row{border-color:var(--line-navy)}
.svc-row:hover{background:var(--orange-soft);padding-left:16px}
.chapter.dark .svc-row:hover{background:rgba(255,255,255,.04)}
.svc-row .sn{font-family:var(--mono);font-size:.74rem;color:var(--muted-2)}
.svc-row .st{font-weight:600;font-size:1.04rem;color:var(--ink)}
.chapter.dark .svc-row .st{color:#fff}
.svc-row .sd{grid-column:2;color:var(--muted);font-size:.93rem;margin-top:4px;line-height:1.5;max-width:60ch}
.chapter.dark .svc-row .sd{color:var(--on-navy-muted)}

.aside-card{border:1px solid var(--line);background:var(--white);border-radius:5px;padding:32px 30px;box-shadow:var(--shadow-card)}
.aside-card+.aside-card{margin-top:20px}
.aside-card .ac-k{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-ink);margin-bottom:14px;display:block}
.chapter.dark .aside-card .ac-k{color:var(--orange)}
.aside-card h3{font-size:1.42rem;line-height:1.15}
.aside-card p{color:var(--muted);margin-top:12px;font-size:.97rem;line-height:1.6}
.aside-card p b{color:var(--ink)}
.aside-card .who{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.aside-card .who .lbl{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:6px}
.aside-card .who .nm{font-weight:600;font-size:.96rem;color:var(--ink);line-height:1.5}
.chapter.dark .aside-card{background:var(--navy-900);border-color:var(--line-navy);box-shadow:none}
.chapter.dark .aside-card h3{color:#fff}
.chapter.dark .aside-card p{color:var(--on-navy-muted)}
.chapter.dark .aside-card p b{color:#fff}
.chapter.dark .aside-card .who{border-color:var(--line-navy)}
.chapter.dark .aside-card .who .nm{color:#fff}

.mandates{margin-top:70px}
.mandates .m-title{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:26px;display:flex;align-items:center;gap:.8em}
.mandates .m-title::after{content:"";flex:1;height:1px;background:var(--line-navy)}
.mgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line-navy);border:1px solid var(--line-navy)}
.mcell{background:var(--navy);padding:26px 22px 30px;transition:background .3s}
.mcell:hover{background:var(--navy-900)}
.mcell .yr{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--orange)}
.mcell h4{font-family:var(--sans);font-weight:700;color:#fff;font-size:.98rem;margin-top:10px;letter-spacing:-.01em}
.mcell p{color:var(--on-navy-muted);font-size:.87rem;line-height:1.55;margin-top:8px}
.mcell p b{color:var(--on-navy);font-weight:600}

.winline{display:flex;align-items:center;gap:26px;margin-top:64px;padding:26px 30px;border:1px solid var(--line-navy);background:linear-gradient(90deg,rgba(255,103,36,.12),transparent 55%)}
.winline .big{font-family:var(--serif);font-size:clamp(2.4rem,4.4vw,3.6rem);color:#fff;line-height:1;white-space:nowrap}
.winline .big em{color:var(--orange);font-style:normal}
.winline p{color:var(--on-navy-muted);font-size:.99rem;max-width:52ch}
.winline p b{color:#fff}

.footprint{background:var(--paper-2)}
.fp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:56px;border-top:1px solid var(--line-strong)}
.fp-col{padding:28px 26px 10px;border-left:1px solid var(--line)}
.fp-col:first-child{border-left:0;padding-left:0}
.fp-col h4{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-ink);margin-bottom:16px}
.fp-col ul{list-style:none}
.fp-col li{font-weight:600;font-size:.96rem;color:var(--ink);padding:7px 0;border-bottom:1px dashed var(--line);letter-spacing:-.005em}
.fp-col li:last-child{border-bottom:0}

.endorse{background:var(--paper)}
.e-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
.e-cell{background:var(--paper);padding:30px 28px;transition:background .3s}
.e-cell:hover{background:var(--white)}
.e-cell .enm{font-family:var(--serif);font-size:1.28rem;color:var(--navy);line-height:1.2;letter-spacing:-.01em}
.e-cell .erl{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);margin-top:9px}
.e-cell .erl b{color:var(--orange-ink);font-weight:600}

.team{background:var(--paper-2)}
.tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px}
.tmember{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:5px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s}
.tmember:hover{transform:translateY(-5px);box-shadow:var(--shadow-card)}
.tmember .pic{position:relative;aspect-ratio:1/1.04;background:linear-gradient(165deg,var(--navy) 0%,var(--navy-900) 100%);overflow:hidden}
.tmember .pic::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);z-index:3}
.tmember:hover .pic::after{transform:scaleX(1)}
.tmember .pic .wm{position:absolute;left:-12px;top:-12px;width:110px;opacity:.08}
.tmember .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:grayscale(1) contrast(1.04);z-index:1;transition:transform .5s var(--ease)}
.tmember:hover .pic img{transform:scale(1.035)}
.tmember .pic::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(29,39,78,.12) 0%,rgba(29,39,78,.04) 45%,rgba(15,21,48,.46) 100%);pointer-events:none}
.tmember .pic .mono-av{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:2.7rem;color:rgba(255,255,255,.9)}
.tmember .tinfo{padding:20px 22px 24px}
.tmember .nm{font-weight:800;font-size:1.08rem;color:var(--navy);letter-spacing:-.01em}
.tmember .rl{font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);margin-top:7px;line-height:1.6}
.tmember .bio{color:var(--muted);font-size:.88rem;line-height:1.55;margin-top:11px}
.tmember .tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}
.tmember .tg{font-size:.63rem;font-weight:600;letter-spacing:.02em;padding:3px 9px;border:1px solid var(--line);border-radius:100px;color:var(--muted)}

.cta{background:var(--navy-1000);color:#fff;position:relative;overflow:hidden}
.cta .inner{display:grid;grid-template-columns:1.3fr .7fr;gap:44px;align-items:center;position:relative;z-index:1}
.cta h2{color:#fff;font-size:var(--t2);max-width:17ch}
.cta p{color:var(--on-navy-muted);margin-top:20px;max-width:44ch}
.cta-side{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.cta .archwm{position:absolute;left:-80px;bottom:-120px;width:480px;opacity:.07}

footer{background:var(--navy);color:var(--on-navy-muted);padding-block:64px 34px}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--line-navy)}
.foot-brand .name{color:#fff}
.foot-brand p{margin-top:18px;max-width:36ch;font-size:.94rem;line-height:1.65}
.foot-col h4{font-family:var(--mono);color:#fff;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}
.foot-col a{display:block;padding:7px 0;font-size:.95rem;transition:color .25s}
.foot-col a:hover{color:#fff}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-top:28px;font-size:.84rem}
.foot-bottom .legal{max-width:64ch;line-height:1.6}

.reveal{opacity:0;transform:translateY(9px) scale(.994);filter:blur(5px);transition:opacity .8s var(--ease),transform .8s var(--ease),filter .8s var(--ease)}
.reveal.in{opacity:1;transform:none;filter:none}
.hero [data-load],.hero-shader [data-load]{opacity:0;transform:translateY(26px);animation:rise .9s var(--ease) forwards}
@keyframes rise{to{opacity:1;transform:none}}

.m-menu{position:fixed;inset:0;z-index:200;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:30px var(--gut);transform:translateY(-100%);transition:transform .45s var(--ease);overflow-y:auto}
.m-menu.open{transform:none}
.m-menu .m-top{display:flex;justify-content:space-between;align-items:center}
.m-menu .close{background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}
.m-menu nav{margin-top:40px;display:flex;flex-direction:column}
.m-menu nav a{font-family:var(--serif);font-size:1.8rem;color:#fff;padding:12px 0;border-bottom:1px solid var(--line-navy)}
.m-menu .btn{margin-top:34px;align-self:flex-start}

@media (max-width:1080px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-art{display:none}
  .ch-head,.ch-body,.firm-grid{grid-template-columns:1fr;gap:36px}
  .mgrid{grid-template-columns:repeat(2,1fr)}
  .fp-grid{grid-template-columns:repeat(2,1fr)}
  .fp-col:nth-child(odd){border-left:0;padding-left:0}
  .e-grid{grid-template-columns:repeat(2,1fr)}
  .tgrid{grid-template-columns:repeat(2,1fr)}
  .cta .inner{grid-template-columns:1fr}
  .vrow{grid-template-columns:64px 1fr;grid-template-rows:auto auto;row-gap:10px}
  .vrow .vd{grid-column:2}
  .vrow .go{grid-column:2;justify-self:start}
}
@media (max-width:860px){
  .nav-links,.nav-cta .btn{display:none}
  .menu-btn{display:block}
  .hero-ledger{grid-template-columns:1fr 1fr}
  .hled:nth-child(odd){border-left:0;padding-left:0}
  .hled{padding-block:24px 28px}
  .firm-tenets{grid-template-columns:1fr}
  .tenet{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}
  .tenet:first-child{border-top:0;padding-top:0}
  .foot-top{grid-template-columns:1fr 1fr}
  .winline{flex-direction:column;align-items:flex-start;gap:14px}
}
@media (max-width:560px){
  body{font-size:16px}
  .hero-ledger{grid-template-columns:1fr 1fr}
  .mgrid,.e-grid,.tgrid,.fp-grid{grid-template-columns:1fr}
  .fp-col{border-left:0;padding-left:0}
  .foot-top{grid-template-columns:1fr}
  .hero{padding-top:80px}
  .hero.sub{padding-top:64px}
  .brand .logo{height:34px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal,.hero [data-load],.hero-shader [data-load]{opacity:1!important;transform:none!important;filter:none!important}
}

/* AUTHENTIC LOGO LOCKUP */
.brand .lockup{display:flex;flex-direction:column;gap:6px}
.brand .logo{height:42px;width:auto;display:block}
.brand .grp{margin-top:0}
footer .brand .logo{height:36px}
.m-menu .logo{height:30px;width:auto;display:block}

/* BRAND EMBLEM DIVIDER + subtle motifs */
.motif-band{display:flex;align-items:center;justify-content:center;gap:56px;padding:clamp(52px,7vw,88px) var(--gut);background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20110.8%20110.8'%20width%3D'110.8'%20height%3D'110.8'%3E%3Cpath%20d%3D'M0%2050.54C19.46%2050.93%2037.3%2060.34%2048.57%2076%2055.88%2086.15%2059.86%2098.22%2060.06%20110.73L100.19%20110.73C100.03%2093.06%2095.31%2075.84%2086.37%2060.57%2077.62%2045.64%2065.11%2033.09%2050.17%2024.31%2035.15%2015.49%2017.41%2010.58%200%2010.41Z'%20fill%3D'%231D274E'%2F%3E%3Crect%20x%3D'70.58'%20y%3D'0'%20width%3D'40.13'%20height%3D'40.13'%20fill%3D'%23FF6724'%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:center;background-size:24px 24px}
.motif-band::before,.motif-band::after{content:"";height:1px;width:min(200px,26vw)}
.motif-band::before{background:linear-gradient(90deg,transparent,var(--line-strong))}
.motif-band::after{background:linear-gradient(90deg,var(--line-strong),transparent)}
.cta{background-color:var(--navy-1000);background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20110.8%20110.8'%20width%3D'110.8'%20height%3D'110.8'%3E%3Cpath%20d%3D'M0%2050.54C19.46%2050.93%2037.3%2060.34%2048.57%2076%2055.88%2086.15%2059.86%2098.22%2060.06%20110.73L100.19%20110.73C100.03%2093.06%2095.31%2075.84%2086.37%2060.57%2077.62%2045.64%2065.11%2033.09%2050.17%2024.31%2035.15%2015.49%2017.41%2010.58%200%2010.41Z'%20fill%3D'%23FFFFFF'%20fill-opacity%3D'0.05'%2F%3E%3Crect%20x%3D'70.58'%20y%3D'0'%20width%3D'40.13'%20height%3D'40.13'%20fill%3D'%23FFFFFF'%20fill-opacity%3D'0.05'%2F%3E%3C%2Fsvg%3E");background-size:66px 66px}
.firm{position:relative}
.firm .fmark{position:absolute;right:-40px;bottom:-40px;width:340px;opacity:.05;pointer-events:none}
@media (max-width:560px){.motif-band{gap:34px;padding-block:44px;background-size:20px 20px}}


/* ============ MOBILE & DENSITY REFINEMENTS ============ */
@media (max-width:640px){
  /* service ledger: number as a marker, everything full-width & airy */
  .svc-row{display:block;padding:24px 0}
  .svc-row .sn{display:block;color:var(--orange-ink);margin-bottom:7px}
  .svc-row .st{display:block;font-size:1.12rem;line-height:1.32}
  .svc-row .sd{display:block;margin-top:9px;max-width:none}
  .svc-row:hover{padding-left:0;background:none}

  /* leadership → swipeable rail with peeking cards (a phone-specific layout) */
  .tgrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;
    margin-inline:calc(-1 * var(--gut));padding:4px var(--gut) 18px;scrollbar-width:none}
  .tgrid::-webkit-scrollbar{display:none}
  .tmember{flex:0 0 80%;min-width:80%;scroll-snap-align:center}

  /* firm statement: lighter weight, less wall-of-text */
  .firm-copy{font-size:1.14rem;line-height:1.62}
  .firm-copy .dc{font-size:3.5em}

  /* more air */
  .ch-body{margin-top:40px;gap:30px}
  .sec-head h2{margin-top:16px}
  .sec-head p{margin-top:15px}
  .aside-card{padding:28px 24px}
  .aside-card+.aside-card{margin-top:16px}
  .fp-grid{margin-top:40px}
}

/* ============ SHADER HERO (home) — BCG-style immersive canvas ============ */
header.hero-dark:not(.scrolled){background:var(--navy);border-bottom-color:transparent}
header.hero-dark:not(.scrolled) .nav-links a{color:var(--on-navy)}
header.hero-dark:not(.scrolled) .brand .grp{color:var(--on-navy-muted)}
header.hero-dark:not(.scrolled) .menu-btn span{background:#fff}
header.hero-dark .logo-nav-light{display:none}
header.hero-dark:not(.scrolled) .logo-nav{display:none}
header.hero-dark:not(.scrolled) .logo-nav-light{display:block}

.hero-shader{position:relative;overflow:hidden;display:flex;align-items:center;
  min-height:calc(100svh - 114px);
  background:
    radial-gradient(30% 36% at 70% 44%, rgba(255,103,36,.12), transparent 62%),
    radial-gradient(30% 36% at 10% 14%, rgba(96,120,206,.13), transparent 64%),
    var(--navy-900)}
#heroShader{position:absolute;inset:0;width:100%;height:100%;display:block}
.hs-mark{position:absolute;right:-5vw;top:50%;transform:translateY(-56%);width:min(42vw,540px);opacity:.07;z-index:1;pointer-events:none}
.hs-content{position:relative;z-index:2;padding-block:clamp(44px,7vh,84px)}
.hero-shader h1{color:#fff;font-size:var(--t1);max-width:14ch;margin-top:28px}
.hero-shader h1 .serif-i{color:var(--orange)}
.hero-shader .lead{color:rgba(238,240,247,.78);font-size:clamp(1.05rem,1.5vw,1.27rem);max-width:46ch;margin-top:24px;line-height:1.6}
.hero-shader .hero-actions{margin-top:36px}

section.ledger-band{background:var(--paper);border-bottom:1px solid var(--line);padding-block:6px 0}
.ledger-band .hero-ledger{margin-top:0;border-top:0}

@media (max-width:640px){
  .hero-shader{min-height:calc(94svh - 114px)}
  .hs-content{padding-block:36px}
  .hs-mark{right:-24vw;width:78vw;opacity:.06}
}
