*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#111316;--ink-2:#1B1E22;--ink-3:#23272D;
  --paper:#FFFFFF;--paper-2:#F4F5F7;--tint:#F4F5F6;
  --gold:#16181B;--gold-2:#FFFFFF;--gold-soft:#E4E6E9;
  --text:#1C2025;--muted:#5C636C;--muted-2:#8A9099;--hair:#E5E7EA;
  --on-dark:#F3F4F5;--on-dark-mut:#A7ADB5;--on-dark-line:#333944;
  --serif:'Fraunces','Georgia',serif;
  --sans:'Archivo',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --wrap:1160px;--r:14px;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:var(--paper);line-height:1.6;
  -webkit-font-smoothing:antialiased;font-size:17px}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;line-height:1.1;letter-spacing:-.022em;color:var(--text)}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.lede{font-size:19px;line-height:1.65;color:var(--muted)}
.muted{color:var(--muted)} .gold{font-style:italic} .note{font-size:.8rem;color:var(--muted-2)}
.ico{width:24px;height:24px;display:inline-block;vertical-align:middle;flex:none}
.ico.sm{width:18px;height:18px}.ico.xs{width:15px;height:15px}.ico.lg{width:30px;height:30px}
.ico.rot{transform:rotate(90deg)}

/* router */
/* (SPA router removed — pages are now real WordPress pages/posts) */
@keyframes pin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* trust bar */
.util{background:#DB1313;color:#fff;font-size:.74rem}
.util .wrap{display:flex;justify-content:center;gap:6px;padding:8px 28px;text-align:center}
.util strong{color:#fff;font-weight:700}
.util-notice{max-width:var(--wrap);margin:0 auto;padding:0 28px 9px;text-align:center;font-size:.72rem;line-height:1.5;font-weight:600}
@media(max-width:680px){.util-notice{font-size:.64rem;padding:2px 16px 9px}}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.86);
  backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--hair);transition:.3s}
.site-header.scrolled{box-shadow:0 8px 30px rgba(16,25,32,.07)}
.bar{display:flex;align-items:center;justify-content:space-between;height:74px;width:100%}
.brand{display:flex;align-items:baseline;gap:.5rem;font-family:var(--serif);font-weight:600;
  font-size:1.42rem;color:var(--ink)}
.brand .mk{color:var(--gold);font-weight:700}
.brand small{font-family:var(--sans);font-size:.6rem;font-weight:700;letter-spacing:.24em;
  text-transform:uppercase;color:var(--muted-2)}
.nav{display:flex;align-items:center;gap:22px;flex-wrap:nowrap}
.nav>a,.subnav__t{font-size:.9rem;font-weight:500;color:#333a42;cursor:pointer;padding:6px 0;
  position:relative;display:inline-flex;align-items:center;gap:5px}
.nav>a.btn::after{display:none}
.nav>a::after,.subnav__t::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;
  background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.4,0,.2,1)}
.nav>a:hover::after,.subnav:hover .subnav__t::after,.subnav__t:hover::after{transform:scaleX(1)}
.nav>a:hover,.subnav__t:hover{color:var(--ink)}
.nav>a.active{color:var(--ink)}
.nav>a.active::after{transform:scaleX(1)}
.subnav{position:static}
.subnav::after{content:"";position:absolute;top:100%;left:0;right:0;height:16px}
.bar .subnav{position:relative}
/* Megamenu: two panels — left rail of practice areas, right panel shows the
   hovered area's subheader + services. */
.mega{position:absolute;top:calc(100% + 4px);left:0;transform:translateY(6px);
  background:#fff;border:1px solid var(--hair);border-radius:14px;width:760px;
  box-shadow:0 30px 60px rgba(16,25,32,.18);opacity:0;visibility:hidden;transition:.22s;
  display:grid;grid-template-columns:266px 1fr;overflow:hidden;z-index:60}
.subnav:hover .mega,.subnav:focus-within .mega{opacity:1;visibility:visible;transform:none}
.mega__rail{background:var(--paper-2);border-right:1px solid var(--hair);padding:10px}
.mega__area{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border-radius:10px;
  cursor:pointer;text-align:left;border:0;background:none;font-family:var(--sans);color:#333a42;transition:.18s}
.mega__area:hover,.mega__area.active{background:#fff;color:var(--ink);box-shadow:0 4px 14px rgba(16,25,32,.06)}
.mega__area .ico{color:var(--gold);flex-shrink:0}
.mega__area b{font-family:var(--serif);font-weight:600;font-size:1rem;display:block;line-height:1.28;min-height:2.56em;color:var(--ink)}
.mega__area span{display:block;font-size:.72rem;color:var(--muted-2);margin-top:2px}
.mega__area .chev{margin-left:auto;opacity:0;transform:translateX(-4px);transition:.18s;color:var(--muted-2)}
.mega__area:hover .chev,.mega__area.active .chev{opacity:1;transform:none}
.mega__panels{position:relative;min-height:190px}
.mega__panel{display:none;padding:24px 26px 30px}
.mega__panel.active{display:block;position:absolute;inset:0;animation:megafade .25s ease}
@keyframes megafade{from{opacity:0;transform:translateX(6px)}to{opacity:1;transform:none}}
.mega__sub{font-size:.78rem;color:var(--muted);margin-bottom:18px;line-height:1.5}
.mega__links{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.mega__links a{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:9px;
  color:#333a42;font-size:.86rem;font-weight:500;transition:.16s}
.mega__links a:hover{background:var(--paper-2);color:var(--ink)}
.mega__links a .n{font-family:var(--serif);font-size:.72rem;color:var(--muted-2);min-width:18px}
.mega__links a:hover .n{color:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:14.5px;
  padding:.72rem 1.25rem;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:.2s}
.btn-gold{background:#16181B;color:#fff}.btn-gold:hover{background:#2C3036;transform:translateY(-1px)}
.btn-on-dark{border-color:#3a414b;color:var(--on-dark)}.btn-on-dark:hover{border-color:#fff;color:#fff}
.btn .ico{width:17px;height:17px}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;width:30px;height:24px}
.nav-toggle span{display:block;height:2px;background:var(--ink);margin:5px 0;transition:.25s}

/* hero */
.hero{position:relative;overflow:hidden}
.hero--dark{background:var(--ink);color:var(--on-dark)}
.hero--dark h1{color:#fff}.hero--dark .lede{color:var(--on-dark-mut)}
.hero__inner{padding:92px 28px 84px;max-width:var(--wrap);position:relative;z-index:2}
.hero__inner h1{max-width:16em}
.hero h1{font-family:var(--serif);font-size:clamp(42px,5.6vw,72px);font-weight:400;line-height:1.02;letter-spacing:-.02em}
.hero .lede{margin-top:24px;max-width:680px}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.hero__glow{position:absolute;right:-160px;top:-120px;width:520px;height:520px;
  background:radial-gradient(circle,rgba(255,255,255,.05),transparent 62%);pointer-events:none;z-index:1}
.hero-mark{position:absolute;right:-40px;top:-10px;width:460px;height:460px;z-index:1;opacity:.9}
.hero-mark circle[stroke]{fill:none;stroke-width:1}
.hero--page .hero__inner{padding:172px 28px 52px}
@media(max-width:700px){.hero--page .hero__inner{padding-top:96px}}
.hero--page h1{font-size:clamp(42px,5.6vw,72px)}
.hero__ico{width:58px;height:58px;border-radius:14px;background:var(--ink);color:var(--gold-2);
  display:grid;place-items:center;margin-bottom:22px}
.hero__ico .ico{width:30px;height:30px}
.badge{display:inline-flex;align-items:center;gap:9px;margin-top:22px;padding:9px 16px;border-radius:999px;
  background:var(--tint);border:1px solid var(--gold-soft);color:var(--gold);font-weight:600;
  font-size:.82rem;letter-spacing:.02em}
.badge .ico{color:var(--gold)}

/* sections */
.section{padding:84px 0}.section--tight{padding:60px 0}
.section--tint{background:var(--tint)}.section--paper2{background:var(--paper-2)}
.section--dark{background:var(--ink);color:var(--on-dark)}
.section--dark h2,.section--dark h3,.section--dark h4{color:#fff}
.section--dark .lede,.section--dark p{color:var(--on-dark-mut)}
.s-head{max-width:720px;margin-bottom:46px}
.s-head h2{font-size:clamp(2.3rem,4vw,3.5rem);margin-top:14px}
.stats-head h2{font-size:clamp(2.3rem,4vw,3.5rem);margin-top:14px}
.s-head p{margin-top:16px}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--on-dark-line);
  border:1px solid var(--on-dark-line);border-radius:var(--r);overflow:hidden}
.stat{background:var(--ink);padding:30px 28px}
.stat b{font-family:var(--serif);font-size:2.1rem;color:var(--gold-2);font-weight:600;display:block;line-height:1}
.stat span{display:block;margin-top:10px;color:var(--on-dark-mut);font-size:.92rem}

/* practice cards */
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.pcard{background:#fff;border:1px solid var(--hair);border-radius:var(--r);padding:30px;
  transition:.25s;display:flex;flex-direction:column;min-height:212px}
.pcard:hover{border-color:var(--gold-soft);box-shadow:0 18px 44px rgba(16,25,32,.08);transform:translateY(-3px)}
.pcard__ico{width:48px;height:48px;border-radius:12px;background:var(--ink);color:var(--gold-2);
  display:grid;place-items:center;margin-bottom:20px}
.pcard h3{font-size:1.3rem}.pcard p{margin-top:10px;color:var(--muted);font-size:.97rem;flex:1}
.pcard .go{margin-top:18px;font-weight:600;font-size:.86rem;color:var(--ink);display:inline-flex;align-items:center;gap:7px}
.pcard .go .ico{color:var(--gold);transition:.2s}.pcard:hover .go .ico{transform:translateX(5px)}

/* two-col */
.two{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:start}
.two--mid{align-items:center}
.two h2{font-size:clamp(1.8rem,3vw,2.4rem)} .two p+p{margin-top:16px}

/* model */
.model{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mcol h3{font-size:1.3rem;margin:16px 0 10px}.mcol p{color:var(--on-dark-mut);font-size:.97rem}
.mnum{font-family:var(--serif);font-size:1.05rem;font-weight:600;color:var(--gold-2);width:38px;height:38px;
  border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center}

/* network constellation */
.net-wrap{display:flex;justify-content:center}
.net-svg{width:100%;height:auto;max-width:600px}
.net-svg .cl{stroke:rgba(255,255,255,.20);stroke-width:1}
.net-svg .cn{fill:#1E2228;stroke:#FFFFFF;stroke-width:1.5}
.net-svg .core-ring{fill:none;stroke:rgba(255,255,255,.35);stroke-width:1}
.net-svg .core{fill:#FFFFFF}
.net-svg .core-t{fill:#111316;font-family:var(--sans);font-weight:700;font-size:16px;letter-spacing:.05em}
.net-svg .core-s{fill:#5C636C;font-family:var(--sans);font-weight:600;font-size:10px}
.net-svg .ct{fill:#F3F4F5;font-family:var(--sans);font-weight:600;font-size:12.5px}
.net-svg .cs{fill:#A7ADB5;font-family:var(--sans);font-weight:400;font-size:10.5px}

/* bench */
.bench{border-top:1px solid var(--hair)}
.brow{display:grid;grid-template-columns:38px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--hair);align-items:start}
.brow__ic{color:var(--gold);margin-top:2px}
.brow b{font-family:var(--serif);font-weight:600;font-size:1.18rem;color:var(--text)}
.brow p{color:var(--muted);font-size:.98rem;margin-top:2px}
.section--dark .brow{border-bottom:1px solid var(--on-dark-line)}
.section--dark .brow b{color:#fff}.section--dark .brow p{color:var(--on-dark-mut)}

/* network grid */
.netgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 48px}
.netcat__h{display:flex;align-items:center;gap:13px;margin-bottom:6px}
.netcat__h .ico{color:var(--gold)}
.netcat__h h3{font-size:1.45rem}
.netcat .bench{border-top:0}

/* checklist */
.checklist{list-style:none;display:grid;gap:15px;margin-top:8px}
.checklist li{display:flex;gap:14px;align-items:flex-start;font-size:1.02rem}
.checklist .ck{flex:none;width:24px;height:24px;border-radius:50%;background:#16181B;color:#fff;
  display:grid;place-items:center;margin-top:2px}
.checklist .ck .ico{width:15px;height:15px}

/* case card */
.case{background:var(--ink);color:var(--on-dark);border-radius:var(--r);padding:34px 32px;
  box-shadow:0 24px 50px rgba(16,25,32,.16)}
.case .tag{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2)}
.case h3{color:#fff;font-size:1.42rem;margin:14px 0}.case p{color:var(--on-dark-mut);font-size:.99rem}
.case .quo{font-family:var(--serif);font-size:2.6rem;color:var(--gold);line-height:.5;height:.6em}
.case__model{margin-top:24px;padding-top:20px;border-top:1px solid var(--on-dark-line);font-size:.86rem;color:var(--on-dark-mut)}
.case__model b{color:#fff;font-family:var(--serif);font-weight:600}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step .n{font-family:var(--serif);font-size:2.4rem;font-weight:600;color:var(--gold);line-height:1}
.step h4{font-size:1.12rem;margin:10px 0 8px}.step p{color:var(--on-dark-mut);font-size:.92rem}

/* outcomes */
.outs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.out{border:1px solid var(--hair);border-radius:var(--r);padding:30px;background:#fff}
.out b{font-family:var(--serif);font-size:2.3rem;color:var(--ink);display:block;line-height:1}
.out .l{color:var(--gold);font-weight:600;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin:14px 0 8px}
.out p{color:var(--muted);font-size:.94rem}

/* press */
.press{display:flex;flex-wrap:wrap;gap:12px 30px;align-items:center}
.press span{font-family:var(--serif);font-size:1.18rem;color:#9aa1a9;font-weight:500}

/* profile (about) */
.profile{background:var(--ink);color:var(--on-dark);border-radius:var(--r);padding:36px;text-align:center;
  box-shadow:0 24px 50px rgba(16,25,32,.16)}
.profile__mk{font-family:var(--serif);font-size:3.2rem;font-weight:700;color:var(--gold)}
.profile__name{font-family:var(--serif);font-size:1.4rem;color:#fff;margin-top:6px}
.profile__role{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);font-weight:700;margin-top:6px}
.profile__stats{margin-top:24px;padding-top:22px;border-top:1px solid var(--on-dark-line);display:grid;gap:18px;text-align:left}
.profile__stats div{display:flex;align-items:baseline;gap:14px}
.profile__stats b{font-family:var(--serif);font-size:1.6rem;color:var(--gold-2);min-width:64px}
.profile__stats span{color:var(--on-dark-mut);font-size:.92rem}

/* contacts list */
.contacts{margin-top:34px;display:grid;gap:14px}
.contacts div{display:flex;align-items:center;gap:12px}.contacts .ico{color:var(--gold)}
.contacts a,.contacts span{font-size:1.02rem;color:var(--text)}

/* posts */
.posts{border-top:1px solid var(--hair)}
.post{padding:20px 0;border-bottom:1px solid var(--hair)}
.post b{font-family:var(--serif);font-weight:600;font-size:1.15rem;display:block}
.post span{color:var(--muted);font-size:.9rem}

/* faq */
.faq{border-top:1px solid var(--hair)}
.faq details{border-bottom:1px solid var(--hair);padding:22px 0}
.faq summary{font-family:var(--serif);font-weight:600;font-size:1.14rem;cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;gap:20px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{color:var(--gold);font-size:1.5rem;font-weight:300;transition:.2s;line-height:1}
.faq details[open] summary .pm{transform:rotate(45deg)}
.faq p{margin-top:14px;color:var(--muted);max-width:760px}

/* form */
.form{background:#fff;border:1px solid var(--hair);border-radius:var(--r);padding:32px}
.field{margin-bottom:18px}
.field label{display:block;font-size:.82rem;font-weight:600;color:#333a42;margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;font-family:var(--sans);font-size:.98rem;padding:12px 14px;
  border:1px solid var(--hair);border-radius:9px;background:var(--paper-2);color:var(--text)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px;background:#fff}

/* CTA */
.cta{background:var(--ink);color:#fff;border-radius:18px;padding:54px 48px;display:flex;justify-content:space-between;
  align-items:center;gap:36px;box-shadow:0 30px 60px rgba(16,25,32,.18);position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;right:-120px;bottom:-160px;width:420px;height:420px;pointer-events:none;
  background:radial-gradient(circle,rgba(255,255,255,.05),transparent 62%)}
.cta h2{color:#fff;font-size:clamp(1.7rem,3vw,2.3rem);max-width:560px;position:relative}
.cta p{color:var(--on-dark-mut);margin-top:12px;position:relative}.cta .act{position:relative;z-index:2;flex:none}

/* footer */
.footer{background:var(--ink);color:var(--on-dark-mut);padding:64px 0 30px;font-size:.9rem}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--on-dark-line)}
.footer .brand{color:#fff;margin-bottom:16px}.footer .brand .mk{color:var(--gold)}
.fcontact p{margin:5px 0;color:var(--on-dark-mut)}.fcontact h5+p,.fcontact .fh5+p{margin-top:5px}.fcontact a{color:var(--on-dark-mut)}.fcontact a:hover{color:var(--gold-2)}
.fcol h5,.fcontact h5,.fcol .fh5,.fcontact .fh5{color:#fff;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px;font-weight:700}
.fcol a{display:block;padding:5px 0;color:var(--on-dark-mut)}.fcol a:hover{color:var(--gold-2)}
.fbot{padding-top:26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.78rem;color:var(--muted-2);line-height:1.7;border-top:0}
.footer .disc{max-width:760px;margin-top:0;padding-top:0;border-top:0}.footer .disc strong{color:var(--on-dark-mut);font-weight:600}

/* reveal */
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}
  .page.active{animation:none}html{scroll-behavior:auto}}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* post grid */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pc{display:flex;flex-direction:column;border:1px solid var(--hair);border-radius:var(--r);overflow:hidden;background:#fff;transition:.25s}
.pc:hover{border-color:#cfd3d8;box-shadow:0 16px 38px rgba(16,25,32,.08);transform:translateY(-3px)}
.pc .pth{aspect-ratio:16/9;background:var(--paper-2);overflow:hidden}
.pc .pth img{width:100%;height:100%;object-fit:cover;display:block}
.pc .pb{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}
.pc .pd{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}
.pc h3{font-size:1.05rem;margin-top:8px;flex:1;line-height:1.32}
.pc .go{margin-top:14px;font-weight:600;font-size:.82rem;display:inline-flex;align-items:center;gap:7px;color:var(--ink)}
.pcard.soon{opacity:.62}
.pcard.soon:hover{transform:none;box-shadow:none;border-color:var(--hair)}
.pcard .tagb{margin-top:16px;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);border:1px solid var(--hair);padding:4px 11px;border-radius:999px;align-self:flex-start}
@media(max-width:940px){.pgrid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.pgrid{grid-template-columns:1fr}}
/* video */
.vgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.vcard{display:flex;flex-direction:column;border:1px solid var(--hair);border-radius:var(--r);overflow:hidden;background:#fff;transition:.25s}
.vcard:hover{border-color:#cfd3d8;box-shadow:0 18px 44px rgba(16,25,32,.08);transform:translateY(-3px)}
.vthumb{position:relative;aspect-ratio:16/9;background:#111316;overflow:hidden}
.vthumb img{width:100%;height:100%;object-fit:cover;display:block}
.vthumb .play{position:absolute;inset:0;display:grid;place-items:center}
.vthumb .play span{width:62px;height:62px;border-radius:50%;background:rgba(17,19,22,.66);display:grid;place-items:center;transition:.2s;border:1px solid rgba(255,255,255,.45)}
.vcard:hover .play span{background:#111316;transform:scale(1.06)}
.vthumb .play svg{width:22px;height:22px;margin-left:3px;fill:#fff}
.vbody{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.vbody .tag{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.vbody h3{font-size:1.22rem;margin-top:8px;flex:1}
.vbody .go{margin-top:16px;font-weight:600;font-size:.84rem;display:inline-flex;align-items:center;gap:7px}
.vbody .go .ico{color:var(--ink)}
.player{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#111316;box-shadow:0 24px 50px rgba(16,25,32,.18)}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:10px 17px;border:1px solid var(--hair);border-radius:999px;font-weight:600;font-size:.86rem;color:var(--ink)}
.chip:hover{border-color:var(--ink)}
.relcard{background:var(--paper-2);border:1px solid var(--hair);border-radius:var(--r);padding:28px}
.relcard h3{font-size:1.2rem;margin-top:4px}
.relcard p{color:var(--muted);font-size:.95rem;margin:8px 0 18px}
.btn-ghost{border-color:var(--hair);color:var(--ink);background:#fff}
.btn-ghost:hover{border-color:var(--ink)}
@media(max-width:940px){.vgrid{grid-template-columns:1fr}}
/* research / method */
.rband{display:flex;gap:24px;align-items:flex-start;background:#fff;border:1px solid var(--hair);border-radius:var(--r);padding:30px 32px}
.rband__ic{width:54px;height:54px;border-radius:13px;background:var(--ink);color:#fff;display:grid;place-items:center;flex:none}
.rband__ic .ico{width:28px;height:28px}
.rband h3{font-size:1.3rem}
.rlink{font-weight:600;color:var(--ink);border-bottom:1px solid #111316;padding-bottom:1px;white-space:nowrap;text-decoration:none}
.rlink:hover{opacity:.65}
.pipe{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:16px;align-items:stretch}
.pstep{background:#fff;border:1px solid var(--hair);border-radius:var(--r);padding:28px 22px;text-align:center;display:flex;flex-direction:column;justify-content:center}
.pstep b{font-family:var(--serif);font-size:2.5rem;color:var(--ink);display:block;line-height:1}
.pstep span{display:block;margin-top:10px;color:var(--muted);font-size:.9rem;line-height:1.4}
.pstep--dark{background:var(--ink-2);border-color:var(--on-dark-line)}
.pstep--dark b{color:#fff}.pstep--dark span{color:var(--on-dark-mut)}
.parrow{display:grid;place-items:center;color:var(--muted-2)}
.section--dark .parrow{color:var(--on-dark-mut)}
.parrow .ico{width:26px;height:26px}
.steps--5{grid-template-columns:repeat(5,1fr)}
.bars{display:grid;gap:16px}
.barrow{display:grid;grid-template-columns:230px 1fr 38px;gap:16px;align-items:center}
.barrow .bl{font-size:.95rem;color:var(--text)}
.barrow .bt{height:14px;background:var(--paper-2);border-radius:7px;overflow:hidden}
.barrow .bf{height:100%;background:var(--ink);border-radius:7px}
.barrow .bv{font-family:var(--serif);font-weight:600;color:var(--ink);text-align:right}
a.brow{text-decoration:none}
a.brow:hover b{text-decoration:underline}
@media(max-width:940px){.steps--5{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.pipe{grid-template-columns:1fr}.parrow{transform:rotate(90deg);padding:4px 0}.rband{flex-direction:column;gap:16px}}
@media(max-width:680px){.barrow{grid-template-columns:1fr;gap:6px}.barrow .bv{text-align:left}.steps--5{grid-template-columns:1fr}}
/* article / posts */
.measure{max-width:760px;margin:0 auto}
.pmeta{margin-top:18px;font-size:.8rem;letter-spacing:.06em;color:var(--muted-2);text-transform:uppercase;font-weight:600}
.pimg{margin-bottom:32px}
.pimg img{width:100%;border-radius:var(--r);display:block;border:1px solid var(--hair)}
.kt{background:var(--ink);color:#fff;border-radius:var(--r);padding:26px 30px;margin-bottom:38px}
.kt__h{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:14px}
.kt .checklist{margin:0}
.kt .checklist li{color:#fff;font-size:.98rem}
.kt .checklist .ck{color:#fff}
.prose{font-size:1.07rem;line-height:1.75;color:var(--text)}
.prose h2{font-family:var(--serif);font-weight:700;font-size:1.5rem;margin:40px 0 14px;letter-spacing:-.022em}
.prose h3{font-size:1.14rem;font-weight:700;margin:30px 0 10px}
.prose p{margin:0 0 18px}
.prose b{font-weight:700}
.prose i{font-style:italic}
.prose ul{margin:0 0 20px;padding:0;list-style:none;display:grid;gap:11px}
.prose ul li{position:relative;padding-left:24px}
.prose ul li:before{content:"";position:absolute;left:5px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--ink)}
.prose .pq{margin:26px 0;padding:18px 26px;border-left:3px solid var(--ink);background:var(--paper-2);font-size:1.02rem}
.prose .pq cite{display:block;margin-top:10px;font-style:normal;font-size:.82rem;color:var(--muted-2);letter-spacing:.02em}
.prose .cs{margin:20px 0 26px;padding:18px 22px;border:1px solid var(--hair);border-radius:var(--r);background:#fff}
.prose .cs b{display:block;font-family:var(--serif);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted-2);margin-bottom:7px}
.disc{margin-top:30px;padding-top:22px;border-top:1px solid var(--hair);font-size:.8rem;color:var(--muted-2);line-height:1.6}
.steps--3{grid-template-columns:repeat(3,1fr)}
@media(max-width:780px){.steps--3{grid-template-columns:1fr}}
/* brand + photos + the network */
.brand__img{height:30px;width:auto;display:block}
.brand__img--lg{height:44px}
.maxphoto{background-position:center;background-size:cover;border-radius:var(--r);border:1px solid var(--on-dark-line)}
.maxphoto--home{width:100%;aspect-ratio:4/3;min-height:320px;filter:grayscale(1) contrast(1.03)}
.profile__photo{width:calc(100% + 72px);aspect-ratio:3/2;margin:-36px -36px 22px;border-radius:var(--r) var(--r) 0 0;background-position:center;background-size:cover}
.unit-badges{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:42px}
.unit-badges--hero{margin-top:36px}
.ubadge{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:18px 8px;border:1px solid var(--on-dark-line);border-radius:13px;background:rgba(255,255,255,.025)}
.ubadge__ic{width:30px;height:30px;color:#fff;display:grid;place-items:center}
.ubadge__ic .ico{width:30px;height:30px}
.ubadge b{font-size:.76rem;letter-spacing:.01em;color:var(--on-dark)}
.ugrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ucard{background:#fff;border:1px solid var(--hair);border-radius:var(--r);padding:30px 28px}
.ucard__ic{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:13px;background:var(--ink);color:#fff;margin-bottom:18px}
.ucard__ic .ico{width:25px;height:25px}
.ucard h3{font-size:1.16rem;margin-bottom:8px}
.ucard p{color:var(--muted);font-size:.96rem;line-height:1.62}
.nyc-band{position:relative;background:#0b0c0e;overflow:hidden;line-height:0}
.nyc-band svg{display:block;width:100%;height:auto;max-height:340px}
.nyc-band__cap{position:absolute;left:0;right:0;bottom:30px;line-height:1.5}
.nyc-band__cap .eyebrow{color:rgba(255,255,255,.82)}
.nyc-band__cap p{color:rgba(255,255,255,.66);font-size:.94rem;max-width:540px;margin-top:6px}
@media(max-width:860px){.unit-badges{grid-template-columns:repeat(3,1fr)}.ugrid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.unit-badges{grid-template-columns:repeat(2,1fr)}.ugrid{grid-template-columns:1fr}.nyc-band svg{max-height:220px}}
/* proof bar + credibility */
.proofbar{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;margin-top:30px;padding-top:24px;border-top:1px solid var(--on-dark-line)}
.proofbar span{font-size:.73rem;letter-spacing:.13em;text-transform:uppercase;color:var(--on-dark-mut);font-weight:600;position:relative}
.proofbar span:not(:last-child){padding-right:20px}
.proofbar span:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;width:4px;height:4px;border-radius:50%;background:var(--on-dark-mut);opacity:.55;transform:translateY(-50%)}
.proofbar__vs{color:#fff !important;font-weight:700 !important;letter-spacing:.08em !important}
.creds{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 0}
.creds span{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);font-weight:600;padding:2px 20px;position:relative}
.creds span:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;width:4px;height:4px;border-radius:50%;background:#cdd1d6;transform:translateY(-50%)}
.profile__creds{margin-top:18px;padding-top:16px;border-top:1px solid var(--on-dark-line);display:flex;flex-direction:column;gap:7px}
.profile__creds span{font-size:.73rem;letter-spacing:.05em;color:var(--on-dark-mut);text-transform:uppercase}
@media(max-width:680px){.creds span{padding:2px 12px;font-size:.7rem}.creds span:not(:last-child)::after{display:none}}
/* trust studio + forms */
.tstudio-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.qcard{display:block;background:#fff;border:1px solid var(--hair);border-radius:var(--r);padding:28px;text-decoration:none;color:inherit;position:relative}
.qcard--live{transition:transform .2s ease,border-color .2s ease}
.qcard--live:hover{transform:translateY(-3px);border-color:var(--ink)}
.qcard__ic{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--ink);color:#fff;margin-bottom:16px}
.qcard__ic .ico{width:24px;height:24px}
.qcard h3{font-size:1.18rem;margin-bottom:8px}
.qcard p{color:var(--muted);font-size:.95rem;line-height:1.6}
.qcard .go{margin-top:16px;display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.9rem}
.qcard.soon{opacity:.6}
.form{max-width:780px;margin:0 auto}
.privacy{display:flex;gap:13px;align-items:flex-start;background:var(--paper-2);border:1px solid var(--hair);border-radius:var(--r);padding:16px 18px;font-size:.88rem;color:var(--muted);line-height:1.55;margin-bottom:26px}
.privacy .ico{flex:none;margin-top:2px}
fieldset.fset{border:1px solid var(--hair);border-radius:var(--r);padding:28px 28px 12px;margin:0 0 22px;background:#fff}
fieldset.fset legend{font-family:var(--serif);font-weight:700;font-size:1.02rem;padding:0 10px;letter-spacing:-.01em}
.fld{display:block;margin-bottom:18px}
.fld__q{display:block;font-size:.9rem;font-weight:600;margin-bottom:7px;color:var(--text)}
.fld__h{display:block;font-size:.8rem;color:var(--muted-2);margin-top:7px;line-height:1.5}
.inp{width:100%;padding:11px 13px;border:1px solid var(--hair);border-radius:10px;font:inherit;font-size:.95rem;background:#fff;color:var(--text)}
.inp:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(17,19,22,.08)}
textarea.inp{resize:vertical}
.opts{display:grid;gap:8px;margin-top:2px}
.opts--wrap{grid-template-columns:1fr 1fr}
.opt{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;cursor:pointer;padding:10px 13px;border:1px solid var(--hair);border-radius:10px;line-height:1.4}
.opt input{margin-top:2px;flex:none}
.opt:hover{border-color:var(--muted-2)}
.qactions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.brief{display:none;margin-top:30px;border:1px solid var(--hair);border-radius:var(--r);overflow:hidden}
.brief__bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--ink)}
.brief__bar h3{font-size:1rem;color:#fff}
.brief pre{margin:0;padding:22px;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.65;color:var(--text);background:var(--paper-2);max-height:440px;overflow:auto}
@media(max-width:680px){.tstudio-grid{grid-template-columns:1fr}.opts--wrap{grid-template-columns:1fr}}
.hero__alt{margin-top:18px;font-size:.92rem;color:rgba(255,255,255,.55)}
.hero__alt a{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:500}
/* monochrome accents */
.hero--dark .eyebrow,.section--dark .eyebrow{color:#C2C7CD}
.hero--dark .btn-gold,.section--dark .btn-gold,.cta .btn-gold{background:#fff;color:#16181B}
.hero--dark .btn-gold:hover,.section--dark .btn-gold:hover,.cta .btn-gold:hover{background:#E6E8EA}
.case .quo{color:rgba(255,255,255,.35)}
.section--dark .step .n{color:#fff}
.section--dark .mnum{border-color:#3A4048;color:#fff}
.profile__mk{color:#fff}
.footer .brand .mk{color:#fff}
/* responsive */
@media(max-width:940px){
  .two,.fgrid,.netgrid{grid-template-columns:1fr;gap:34px}
  .model,.steps,.outs{grid-template-columns:1fr 1fr;gap:24px}
  .pillars{grid-template-columns:1fr}.hero-mark{display:none}
}
/* Nav collapses to the hamburger menu well before it runs out of room inside
   the fixed 1160px header — this is what fixes the "header narrower than the
   page" look: previously the nav only wrapped below 680px, so on common
   laptop widths (900-1150px) the logo + 7 links + 2 buttons were forced to
   shrink/compress inside .bar instead of the header simply matching .wrap. */
@media(max-width:1080px){
  /* backdrop-filter turns the header into the containing block for
     position:fixed children — the menu was sizing against the 129px header
     instead of the viewport. Solid header on mobile, no filter. */
  .site-header{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
  .nav{position:fixed;inset:74px 0 0 0;flex-direction:column;align-items:stretch;background:#fff;
    border-bottom:1px solid var(--hair);padding:14px 28px 40px;gap:2px;box-shadow:0 24px 40px rgba(16,25,32,.12);display:none;
    overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;z-index:96}
  .site-header.open .nav{display:flex}
  .nav>a,.subnav__t{padding:12px 0;border-bottom:1px solid var(--hair)}
  .nav>a.active::after{display:none}
  .mega{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:0;width:auto;
    display:block;background:none;border-radius:0}
  .mega__rail{display:none}
  .mega__panel{display:block;padding:6px 0 8px 6px}
  .mega__panel .mega__sub{display:none}
  .mega__links{grid-template-columns:1fr}
  .nav .btn{margin-top:10px;justify-content:center}.nav-toggle{display:block}
}
@media(max-width:680px){
  body{font-size:16px}
  .stats,.model,.steps,.outs{grid-template-columns:1fr}
  .section{padding:60px 0}.hero__inner{padding:60px 28px 52px}
  .cta{flex-direction:column;align-items:flex-start;padding:38px 28px}
  .util .wrap{font-size:.66rem}
}

/* ============================================================
   FIRST-RESPONSE REPOSITIONING (added) — MONOCHROME
   Brand: ink / white / cool gray only. No hues, no gradients.
   Emphasis resolves to white on dark surfaces, ink on light.
   NOTE: figures, the "ex-federal cyber bench" description, and
   all result/outcome claims are PLACEHOLDERS to verify before publishing.
   ============================================================ */
/* proof bar — numerals emphasized in white (proof/feature moment) */
.proofbar--emph span{color:var(--on-dark-mut)}
.proofbar--emph b{color:#fff;font-weight:800;letter-spacing:.03em}
.proofbar--emph .proofbar__vs{color:#fff !important}
.proofbar--emph .proofbar__vs b{color:#fff}

/* header active-incident call — secondary/ghost button */
.btn-phone{background:#fff;border:1px solid var(--hair);color:var(--ink);font-variant-numeric:tabular-nums}
.btn-phone .ico{color:var(--gold)}
.btn-phone:hover{border-color:var(--ink);transform:translateY(-1px)}

/* active-incident band — ink rule + ink pulse, no hue */
.incident-wrap{background:var(--tint)}
.incident-wrap .wrap{padding-top:24px;padding-bottom:24px}
.incident{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;border:1px solid var(--hair);
  border-left:4px solid var(--ink);border-radius:var(--r);padding:20px 24px;box-shadow:0 16px 38px rgba(16,25,32,.08)}
.incident__pulse{flex:none;width:13px;height:13px;position:relative}
.incident__pulse span{position:absolute;inset:0;border-radius:50%;background:var(--ink)}
.incident__pulse::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--ink);opacity:.45;animation:ipulse 2.1s ease-out infinite}
.incident__txt{flex:1;min-width:240px}
.incident__txt b{font-family:var(--serif);font-weight:600;font-size:1.1rem;color:var(--ink);display:block}
.incident__txt p{color:var(--muted);font-size:.94rem;margin-top:3px}
.incident__btn{flex:none}
@keyframes ipulse{0%{transform:scale(1);opacity:.45}100%{transform:scale(2.7);opacity:0}}
@media (prefers-reduced-motion:reduce){.incident__pulse::after{animation:none}}

/* two-front crisis (dark section) */
.fronts{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.front{background:var(--ink-2);border:1px solid var(--on-dark-line);border-radius:var(--r);padding:32px}
.front__tag{font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#C2C7CD}
.front h3{color:#fff;font-size:1.32rem;margin:14px 0 12px;letter-spacing:-.02em}
.front p{color:var(--on-dark-mut);font-size:.99rem}

/* method cards (light section) */
.mcard{background:#fff;border:1px solid var(--hair);border-radius:var(--r);padding:32px}
.mcard__tag{font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.mcard h3{font-size:1.38rem;margin:14px 0 12px}
.mcard p{color:var(--muted)}

/* consultation block */
.consult{max-width:760px}
.consult h2{font-size:clamp(1.9rem,3.4vw,2.6rem)}

@media(max-width:940px){.fronts{grid-template-columns:1fr}}
@media(max-width:680px){.incident{flex-direction:column;align-items:flex-start}.incident__btn{width:100%;justify-content:center}}

/* meet-max section */
.maxphoto{width:100%;height:auto;display:block;border-radius:var(--r);border:1px solid var(--on-dark-line)}
.maxfacts{list-style:none;display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:26px;padding-top:22px;border-top:1px solid var(--on-dark-line)}
.maxfacts li{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-mut);position:relative}
.maxfacts li:not(:last-child){padding-right:18px}
.maxfacts li:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;width:4px;height:4px;border-radius:50%;background:var(--on-dark-mut);opacity:.5;transform:translateY(-50%)}
.maxfacts li b{color:#fff;font-weight:800}

/* video embeds (cybercrime) */
.vembed{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;border:1px solid var(--hair);background:#000;box-shadow:0 16px 38px rgba(16,25,32,.08)}
.vembed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vstack{display:grid;gap:40px}
.vmeta{margin-top:16px}
.vmeta .tag{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.vmeta h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.15;margin-top:8px}
.vmeta p{color:var(--muted);margin-top:8px;max-width:680px}

/* article (Insights) */
.article{max-width:820px;margin:0 auto}
.article p{font-size:16px;line-height:1.7}
.article>p{margin-top:18px}
.article h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.8vw,46px);letter-spacing:-.015em;margin:46px 0 6px}
.article h3{font-weight:700;font-size:1.22rem;letter-spacing:-.022em;margin:30px 0 6px}
.article .lede{margin-top:18px}
.article ul{margin:14px 0 0;padding-left:0;list-style:none;display:grid;gap:12px}
.article ul li{display:flex;gap:13px;align-items:flex-start;color:var(--muted)}
.article ul li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--ink);margin-top:9px}
.article .src{font-size:13.5px;color:var(--muted);margin-top:10px}
.article .src a{text-decoration:underline;text-underline-offset:2px}
.figure{margin:30px 0 8px;background:#fff;border:1px solid var(--hair);border-radius:var(--r);padding:26px 24px;box-shadow:0 16px 38px rgba(16,25,32,.06)}
.figure svg{width:100%;height:auto;display:block}
.figcap{font-size:13.5px;color:var(--muted);margin-top:14px;text-align:center}
.pullbox{margin:30px 0;background:var(--ink);color:var(--on-dark);border-radius:var(--r);padding:30px 32px;box-shadow:0 24px 50px rgba(16,25,32,.16)}
.pullbox b{font-family:var(--serif);font-weight:600;color:#fff;font-size:1.3rem;display:block;letter-spacing:-.02em}
.pullbox p{color:var(--on-dark-mut);margin-top:10px}
.pullbox .src{color:var(--on-dark-mut);opacity:.8}


/* ============================================================
   HOME (v2) — sections ported from the firm's homepage design,
   restyled to the noir monochrome system
   ============================================================ */

/* hero: two-column (copy + intake widget) */
.hero-grid{display:grid;grid-template-columns:1.05fr .92fr;gap:52px;align-items:center}
.hero__inner.hero-grid{max-width:var(--wrap)}
.hero-grid h1{font-size:clamp(2.4rem,3.3vw,3.4rem)}
@media(max-width:940px){.hero-grid{grid-template-columns:1fr;gap:40px}}

/* featured-in marquee */
.featured{background:var(--ink);border-top:1px solid var(--on-dark-line);padding:26px 0}
.featured .wrap{display:flex;align-items:center;gap:40px}
.featured-label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-mut);white-space:nowrap;font-weight:700}
.marquee{overflow:hidden;flex:1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;align-items:center;gap:52px;animation:marquee-scroll 38s linear infinite;width:max-content}
.marquee-track span{font-family:var(--serif);font-size:1.15rem;color:#7A828C;font-weight:500;white-space:nowrap}
.marquee-track span img{display:block;height:20px;width:auto}
@keyframes marquee-scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* numbered practice grid (8 areas) */
.pxgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.pxcard{background:#fff;padding:34px 28px;min-height:220px;display:flex;flex-direction:column;transition:.3s;position:relative}
.pxcard:hover{background:var(--ink)}
.pxcard .num{font-family:var(--serif);font-size:.85rem;color:var(--muted-2);margin-bottom:auto}
.pxcard h3{font-size:1.22rem;margin:30px 0 8px;line-height:1.2;transition:.3s}
.pxcard:hover h3{color:#fff}
.pxcard p{font-size:.85rem;color:var(--muted);transition:.3s}
.pxcard:hover p{color:var(--on-dark-mut)}
.pxcard .arrow{margin-top:14px;font-size:.8rem;font-weight:600;color:#fff;letter-spacing:.04em;opacity:0;transform:translateX(-6px);transition:.3s}
.pxcard:hover .arrow{opacity:1;transform:none}
@media(max-width:940px){.pxgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.pxgrid{grid-template-columns:1fr}.pxcard{min-height:0}}

/* how-we-work columns (on dark section) */
.agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.acol{border-top:1px solid rgba(255,255,255,.55);padding-top:26px}
.acol h3{font-size:1.28rem;margin-bottom:10px}
.section--dark .acol h3{color:#fff}
.acol p{font-size:.92rem;color:var(--on-dark-mut)}
@media(max-width:940px){.agrid{grid-template-columns:1fr;gap:30px}}

/* team */
.tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.tcard{background:#fff;border:1px solid var(--hair);border-radius:var(--r);overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.tcard:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(16,20,26,.12)}
.tphoto{height:230px;background:linear-gradient(150deg,#EDEFF2,#DADDE2);position:relative;overflow:hidden}
.tphoto img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:grayscale(1);transition:.4s}
.tcard:hover .tphoto img{filter:grayscale(0)}
.tphoto .initials{font-family:var(--serif);font-size:3.4rem;color:rgba(17,19,22,.18);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.tbody{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1}
.tbody h3{font-size:1.12rem}
.tbody .role{font-size:.72rem;color:var(--muted-2);letter-spacing:.1em;text-transform:uppercase;margin:4px 0 12px;font-weight:600}
.tbody p{font-size:.85rem;color:var(--muted);flex:1}
.tbody a{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;display:inline-block;margin-top:14px;border-bottom:1px solid var(--ink);align-self:flex-start}
.tbody a:hover{color:var(--muted)}
@media(max-width:940px){.tgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.tgrid{grid-template-columns:1fr}}

/* stats band: 4-up variant + centered head */
.stats--4{grid-template-columns:repeat(4,1fr)}
.stats-head{text-align:center;max-width:34em;margin:0 auto 48px}
@media(max-width:940px){.stats--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.stats--4{grid-template-columns:1fr}}

/* blog teaser cards */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.bcard{background:#fff;border:1px solid var(--hair);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.3s}
.bcard:hover{box-shadow:0 18px 44px rgba(16,20,26,.10);transform:translateY(-4px)}
.bcard-img{display:block;height:180px;overflow:hidden;background:linear-gradient(150deg,#EDEFF2,#DADDE2);position:relative}
.bcard-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:.4s}
.bcard:hover .bcard-img img{filter:grayscale(0);transform:scale(1.03)}
.bcard-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.bcard-fallback span{font-family:var(--serif);font-size:3.2rem;font-weight:600;color:rgba(17,19,22,.22);line-height:1}
.bcard-fallback em{font-style:normal;font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2)}
.bcard-body{padding:24px;display:flex;flex-direction:column;flex:1}
.bcard-meta{display:flex;justify-content:space-between;gap:12px;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);margin-bottom:12px}
.bcard h3{font-family:var(--serif);font-weight:500;font-size:19.2px;line-height:1.28;margin-bottom:8px}
.bcard h3 a:hover{color:var(--muted)}
.bcard p{font-size:13.5px;color:var(--muted);flex:1}
.bcard-link{margin-top:16px;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--ink);align-self:flex-start}
.bcard-link:hover{color:var(--muted)}
.bteaser-foot{margin-top:36px;text-align:center}
@media(max-width:940px){.bgrid{grid-template-columns:1fr}}

/* ============================================================
   Confidential intake widget (dark card, monochrome accents)
   ============================================================ */
.intake{background:linear-gradient(160deg,var(--ink-2),#14171B);border:1px solid var(--on-dark-line);border-radius:12px;position:relative;overflow:hidden;color:var(--on-dark)}
.intake::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent)}
.intake-head{padding:22px 26px 16px;border-bottom:1px solid var(--on-dark-line)}
.intake-head .tag{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-mut);font-weight:700}
.intake-head h3{font-size:1.15rem;font-weight:600;margin-top:6px;color:#fff}
.intake-head p{font-size:.78rem;color:var(--on-dark-mut);margin-top:2px}
.iprogress{display:flex;gap:5px;padding:14px 26px 0}
.ipdot{flex:1;height:3px;background:var(--on-dark-line);border-radius:2px;transition:.3s}
.ipdot.done{background:#fff}
.ipdot.active{background:rgba(255,255,255,.55)}
.intake-body{padding:18px 26px 22px;min-height:248px}
.istep{display:none}
.istep.show{display:block;animation:ifade .35s ease}
@keyframes ifade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.iqnum{font-family:var(--serif);font-size:.68rem;color:var(--on-dark-mut);letter-spacing:.05em}
.iq{font-family:var(--serif);font-weight:600;font-size:1.1rem;line-height:1.3;margin:6px 0 3px;color:#fff}
.iqhint{font-size:.74rem;color:var(--on-dark-mut);margin-bottom:15px}
.iopts{display:flex;flex-direction:column;gap:8px}
.iopt{background:var(--ink-3);border:1px solid var(--on-dark-line);border-radius:8px;padding:12px 14px;cursor:pointer;display:flex;align-items:center;gap:11px;transition:.2s;text-align:left;font-family:var(--sans);color:var(--on-dark);width:100%}
.iopt:hover{border-color:rgba(255,255,255,.4);background:#262B32}
.iopt.sel{border-color:#fff;background:rgba(255,255,255,.08)}
.iopt .iic{width:30px;height:30px;border-radius:6px;background:rgba(255,255,255,.10);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.85rem;color:#E4E6E9}
.iopt .itx{flex:1}
.iopt .itx b{display:block;font-weight:600;font-size:.82rem}
.iopt .itx span{display:block;font-size:.7rem;color:var(--on-dark-mut);margin-top:1px}
.iopt .ichk{width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.55rem}
.iopt.sel .ichk{background:#fff;border-color:#fff;color:var(--ink)}
.ifield{margin-bottom:13px}
.ifield label{font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;color:var(--on-dark-mut);display:block;margin-bottom:5px;font-weight:600}
.ifield input,.ifield textarea,.iselect{width:100%;background:var(--ink-3);border:1px solid var(--on-dark-line);color:var(--on-dark);padding:11px 12px;border-radius:6px;font-family:var(--sans);font-size:.85rem}
.ifield textarea{min-height:88px;resize:vertical}
.ifield input:focus,.ifield textarea:focus,.iselect:focus{outline:none;border-color:rgba(255,255,255,.55)}
.iprivacy{font-size:.7rem;color:var(--on-dark-mut);background:var(--ink-3);border:1px solid var(--on-dark-line);border-left:2px solid #fff;border-radius:0 6px 6px 0;padding:10px 12px;line-height:1.55;margin-top:14px}
.inav{display:flex;justify-content:space-between;align-items:center;padding:14px 26px 20px;border-top:1px solid var(--on-dark-line)}
.iback{background:none;border:none;color:var(--on-dark-mut);font-family:var(--sans);font-size:.8rem;cursor:pointer;padding:6px 2px}
.iback:hover{color:#fff}
.iback:disabled{opacity:0;pointer-events:none}
.inext{background:#fff;color:var(--ink);border:none;font-weight:700;padding:11px 22px;border-radius:6px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;font-family:var(--sans);transition:.2s}
.inext:hover:not(:disabled){background:#DADDE2}
.inext:disabled{opacity:.32;cursor:not-allowed}
.iresult{text-align:center;padding:6px 2px}
.irmark{width:50px;height:50px;border-radius:50%;border:1.5px solid #fff;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:1.3rem;color:#fff}
.iresult h3{font-weight:600;font-size:1.15rem;margin-bottom:7px;color:#fff}
.iresult>p{font-size:.8rem;color:var(--on-dark-mut);margin:0 auto 16px}
.iroute{background:var(--ink-3);border:1px solid var(--on-dark-line);border-radius:8px;padding:14px 16px;text-align:left}
.iroute .irlabel{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-mut);margin-bottom:6px;font-weight:700}
.iroute .irteam{font-family:var(--serif);font-size:.95rem;font-weight:600;margin-bottom:2px;color:#fff}
.iroute .irwhen{font-size:.74rem;color:var(--on-dark-mut)}
.irestart{background:none;border:1px solid var(--on-dark-line);color:var(--on-dark-mut);font-family:var(--sans);font-size:.7rem;padding:8px 15px;border-radius:6px;cursor:pointer;margin-top:14px;transition:.2s}
.irestart:hover{color:#fff;border-color:rgba(255,255,255,.45)}

/* ============================================================
   Contact form states
   ============================================================ */
.hpwrap{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.form-error{background:#FBF1F0;border:1px solid #E4C9C5;border-left:3px solid #8C3B33;color:#5C2721;font-size:.85rem;padding:12px 14px;border-radius:0 6px 6px 0;margin-bottom:18px;line-height:1.5}
.form-done{text-align:center;padding:52px 36px}
.form-done .fdmark{width:54px;height:54px;border-radius:50%;border:1.5px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px}
.form-done .fdmark .ico{width:24px;height:24px}
.form-done h3{font-size:1.5rem;margin-bottom:10px}
.form-done p{color:var(--muted);font-size:.95rem;max-width:38ch;margin:0 auto 24px}
.btn-ghost{background:none;border:1px solid var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}

/* Unified left edge: sections narrowed via inline max-width (legacy of the
   original design export) centered themselves and broke the shared left
   margin. Neutralize the inline narrowing so every section uses the standard
   grid. Single posts keep their intentional narrow article column. */
body:not(.single-post) main .wrap[style*="max-width"]{max-width:var(--wrap) !important}
.single-post .hero__inner{max-width:876px}
/* Intake page: the .wrap.form element combined a full-width container with a
   centered 780px utility — keep the fields narrow but pin the block to the
   shared grid edge instead of centering it. */
body:not(.single-post) main .wrap.form{max-width:var(--wrap) !important;background:none;border:0;padding-top:0;padding-bottom:0}
body:not(.single-post) main .wrap.form>*{max-width:724px}
/* Posts: match the .measure text column to the 820px post hero column. */
.single-post .wrap.measure{max-width:820px}

/* Header buttons: .nav>a link rules were overriding .btn padding/color by
   specificity — restore proper button metrics and white CTA text. */
.nav>a.btn{padding:.66rem 1.2rem;border-radius:999px}
.nav>a.btn-gold{color:#fff}
.nav>a.btn-gold:hover{color:#fff}
.nav>a.btn-phone{color:var(--ink)}
.nav>a.btn.active::after{display:none}

/* Videos: horizontal tiles — player left, description right */
.vfilter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.vf-pill{font-family:inherit;font-weight:600;font-size:.84rem;letter-spacing:.01em;padding:10px 18px;border:1px solid var(--hair);border-radius:999px;background:#fff;color:var(--muted);cursor:pointer;transition:.2s;text-decoration:none;display:inline-flex;align-items:center}
.vf-pill:hover{border-color:var(--ink);color:var(--ink)}
.vf-pill.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.vrows{display:flex;flex-direction:column;gap:34px}
.vrow{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;align-items:center;background:#fff;border:1px solid var(--hair);border-radius:var(--r);overflow:hidden}
.vrow .vembed{position:relative;aspect-ratio:16/9;background:#0F1114}
.vrow .vembed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vrow .vmeta{padding:30px 34px 30px 0}
.vrow .vmeta .tag{display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);border:1px solid var(--hair);border-radius:999px;padding:4px 12px;margin-bottom:12px}
.vrow .vmeta h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.15;margin-bottom:8px}
.vrow .vmeta p{color:var(--muted);font-size:.92rem}
@media(max-width:940px){.vrow{grid-template-columns:1fr}.vrow .vmeta{padding:4px 26px 26px}}

/* In-text links: underline so a link is always recognizable as one.
   Buttons, cards, nav and other component links are unaffected. */
main p a:not(.btn):not(.rlink), main li a:not(.btn):not(.rlink), .prose a:not(.rlink), .faq a, .contacts a, .vmeta p a, td a{
  text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;
  text-decoration-color:rgba(17,19,22,.35);transition:text-decoration-color .2s,color .2s}
main p a:not(.btn):not(.rlink):hover, main li a:not(.btn):not(.rlink):hover, .prose a:not(.rlink):hover, .faq a:hover, .contacts a:hover, td a:hover{
  text-decoration-color:currentColor}
.section--dark p a:not(.btn), .hero--dark p a:not(.btn){text-decoration-color:rgba(255,255,255,.4)}

/* FAQ: smooth open/close (animated via JS, this handles the +/- icon) */
.faq details{overflow:hidden}
.faq summary{user-select:none}

/* Home: three large practice-area feature tiles */
.bigcards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bigcard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--hair);
  border-radius:16px;padding:38px 32px 34px;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.bigcard::before{content:"";position:absolute;inset:0;background:var(--ink);opacity:0;transition:opacity .3s;z-index:0}
.bigcard>*{position:relative;z-index:1}
.bigcard:hover{transform:translateY(-6px);box-shadow:0 26px 54px rgba(16,20,26,.16);border-color:var(--ink)}
.bigcard:hover::before{opacity:1}
.bigcard__ico{width:56px;height:56px;border-radius:13px;background:var(--paper-2);display:flex;align-items:center;justify-content:center;margin-bottom:26px;transition:.3s}
.bigcard__ico .ico{width:28px;height:28px;color:var(--ink);transition:.3s}
.bigcard:hover .bigcard__ico{background:rgba(255,255,255,.12)}
.bigcard:hover .bigcard__ico .ico{color:#fff}
.bigcard__num{position:absolute;top:32px;right:32px;font-family:var(--serif);font-size:.9rem;color:var(--muted-2);transition:.3s}
.bigcard:hover .bigcard__num{color:rgba(255,255,255,.5)}
.bigcard h3{font-size:1.5rem;line-height:1.2;margin-bottom:14px;transition:.3s}
.bigcard:hover h3{color:#fff}
.bigcard p{font-size:.92rem;color:var(--muted);line-height:1.6;flex:1;transition:.3s}
.bigcard:hover p{color:var(--on-dark-mut)}
.bigcard__link{margin-top:24px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink);transition:.3s;opacity:0;transform:translateX(-6px)}
.bigcard:hover .bigcard__link{color:#fff;opacity:1;transform:none}
@media(max-width:940px){.bigcards{grid-template-columns:1fr}.bigcard__link{opacity:1;transform:none}}

/* Network / Services: 2x2 grid of service tiles under each practice area */
.svc2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.svc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--hair);border-radius:14px;
  padding:28px 28px 26px;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative}
.svc:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(16,20,26,.12);border-color:var(--ink)}
.svc__ic{width:48px;height:48px;border-radius:12px;background:var(--paper-2);display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:.3s}
.svc__ic .ico{width:24px;height:24px;color:var(--ink)}
.svc:hover .svc__ic{background:var(--ink)}
.svc:hover .svc__ic .ico{color:#fff}
.svc h3{font-size:1.18rem;line-height:1.25;margin-bottom:9px}
.svc p{font-size:.9rem;color:var(--muted);line-height:1.55;flex:1}
.svc__link{margin-top:18px;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);opacity:0;transform:translateX(-6px);transition:.3s}
.svc:hover .svc__link{opacity:1;transform:none}
.section--paper2 .svc{background:#fff}
@media(max-width:780px){.svc2{grid-template-columns:1fr}.svc__link{opacity:1;transform:none}}

/* Network band embedded in the About page */
.network-band{position:relative;overflow:hidden}
.network-band .hero__glow{position:absolute;inset:0;opacity:.6}

/* About: The Network band adjustments */
.network-band__h1{color:#fff;font-size:clamp(2.2rem,4vw,3rem)}
.network-band{padding-top:calc(84px + 2px);padding-bottom:calc(84px + 2px)}
/* Match the three model columns' body text to the lede size (larger) */
.model .mcol p{font-size:1.2rem;line-height:1.55}



/* ============================================================
   Single blog post (imported prose content)
   ============================================================ */
.post-wrap{max-width:760px;margin:0 auto;padding:0 28px}
.post-hero{padding:88px 0 36px}
.post-meta{display:flex;gap:10px;align-items:center;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#6b7280;font-weight:600;margin:0}
.post-meta a{color:inherit;text-decoration:none}
.post-meta a:hover{color:#111}
.post-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.05;letter-spacing:-.02em;margin:18px 0 8px}
.post-cover{margin:36px 0 0}
.post-cover img{width:100%;height:auto;border-radius:16px;display:block}
.post-body{padding:8px 28px 88px;font-size:1.06rem;line-height:1.75;color:#26292e}
.post-body p{margin:0 0 1.15em}
.post-body h2{font-family:var(--serif);font-weight:500;font-size:1.7rem;line-height:1.2;margin:2em 0 .7em;letter-spacing:-.01em}
.post-body h3{font-family:var(--serif);font-weight:500;font-size:1.32rem;margin:1.7em 0 .6em}
.post-body h1{font-family:var(--serif);font-weight:500;font-size:1.85rem;line-height:1.15;margin:1.8em 0 .7em}
.post-body h2 strong,.post-body h3 strong,.post-body h1 strong{font-weight:inherit}
.post-body ul,.post-body ol{margin:0 0 1.2em;padding-left:1.35em}
.post-body li{margin:.4em 0}
.post-body a{color:#111;text-decoration:underline;text-underline-offset:3px}
.post-body blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:2px solid #111;color:#3c4046;font-style:italic}
.post-body blockquote p:last-child{margin-bottom:0}
.post-body img{max-width:100%;height:auto;border-radius:12px;margin:1.4em 0}
.post-body table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.95rem}
.post-body th,.post-body td{border:1px solid #e3e5e8;padding:10px 12px;text-align:left;vertical-align:top}
.post-body th{background:#f4f5f6;font-weight:600}
.post-body figure{margin:1.4em 0}
.post-body iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;height:auto;border-radius:12px;margin:1.6em 0}
.post-body hr{border:0;border-top:1px solid #e3e5e8;margin:2.4em 0}
@media(max-width:760px){.post-hero{padding:56px 0 24px}.post-body{padding:4px 28px 64px}.post-hero h1{font-size:clamp(1.9rem,7vw,2.4rem)}}

/* ============================================================
   Home: typography aligned to the PA design system.
   Colors (incl. inverted dark sections) intentionally untouched.
   ============================================================ */
.home .hero h1{font-weight:400;font-size:clamp(42px,5.6vw,72px);line-height:1.02;letter-spacing:-.02em}
.home h2{font-weight:400;letter-spacing:-.015em;line-height:1.08}
.home .s-head h2,.home .stats-head h2{font-size:clamp(30px,3.8vw,46px)}
.home .two h2{font-size:clamp(30px,3.8vw,46px)}
.home h3{font-weight:500}
/* Home paragraph scale — exactly three tiers */
:root{--para-big:19px;--para-med:16px}
.home .hero .lede,.home .lede{font-size:var(--para-big);line-height:1.65}
.home .whycard h3,.home .modelcard h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.15;letter-spacing:-.01em;margin-bottom:8px}
/* dotted 3D icons in cards (per 2.pdf design) */
.whycard .dot-ic{display:block;width:78px;height:auto;margin:0 0 18px}
.modelcard .dot-ic{display:block;height:64px;width:auto;margin:0 0 18px}
/* Our Clients: dark section, dotted column resting on the section's bottom edge */
#clients.section--dark{overflow:hidden}
#clients.section--dark .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 64px;align-items:end}
#clients .s-head{max-width:480px !important;align-self:center}
#clients .clients-art{display:block;width:min(620px,46vw);height:auto;margin:0 -48px -96px 0;justify-self:end}
@media(max-width:820px){#clients.section--dark .wrap{display:block}#clients .clients-art{width:300px;margin:34px 0 -64px}}
.home .modelcard p{font-size:var(--para-med);line-height:1.6}
/* single eyebrow size across the site — kill the --lg upsize from page styles */
.home .eyebrow.eyebrow--lg{font-size:11px;margin-bottom:16px}
/* pcard titles promoted to the H3 tier (23px) */
.home .pcard h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.15}
.home .pcard h3 a{font-size:inherit}
.home .whycard p{font-size:var(--para-med);line-height:1.6}
.home .psvc li{font-size:var(--para-med);line-height:1.6}
.home .psvc li a{font-size:inherit}
.home .pcard .ptag{font-size:var(--para-med);line-height:1.6}
.home p{line-height:1.7}
.home .section{padding:96px 0}
.home .section--tight{padding:72px 0}
.home .hero__inner{padding:56px 28px 48px}
@media(max-width:760px){
.home .section{padding:64px 0}
.home .hero__inner{padding:44px 24px 40px}
}

/* ============================================================
   Home hero: portrait on the left, gradient into ink, copy right
   ============================================================ */
.home .hero--dark{position:relative;overflow:hidden}
.home .hero-photo{position:absolute;top:0;bottom:0;right:0;width:48%;z-index:1;
  background:url(../img/dot-justice-w2.png) right 6% center/auto 84% no-repeat}
/* /home-2/ draft: same layout, abstract geometric hero art */
.home.home-alt .hero-photo{background:url(../img/abstract-geo-hero.jpg) center/cover no-repeat}
/* /home-3/ draft: white SVG shapes centered on the black hero column, generous margins */
.home.home-alt3 .hero-photo{background:url(../img/abstract-dilendorf-shapes.svg) 62% center/auto 62% no-repeat}
@media(max-width:900px){.home.home-alt3 .hero-photo{background-size:auto 46%;background-position:center 30%}}
.home.home-alt .hero-photo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to right, var(--ink) 0%, rgba(17,19,24,.9) 6%, rgba(17,19,24,.74) 14%, rgba(17,19,24,.56) 22%, rgba(17,19,24,.4) 32%, rgba(17,19,24,.27) 44%, rgba(17,19,24,.16) 56%, rgba(17,19,24,.08) 70%, rgba(17,19,24,.03) 84%, rgba(17,19,24,0) 100%)}
.home .hero--dark .hero__inner{position:relative;z-index:2}
.home .hero--dark .hero__inner > .reveal{width:min(680px,56%)}
.home .hero--dark .hero__inner h1{max-width:none;font-size:clamp(42px,5.6vw,66px)}
.home .hero-sub{font-family:var(--serif);font-weight:400;font-size:clamp(1.35rem,2.2vw,1.85rem);
  letter-spacing:-.012em;line-height:1.2;color:#fff;margin-top:18px}
@media(max-width:900px){
.home .hero-photo{width:100%;background-position:center 24%;background-size:auto 62%}
.home .hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom, rgba(17,19,24,.5) 0%, rgba(17,19,24,.82) 55%, var(--ink) 96%)}
.home .hero--dark .hero__inner > .reveal{width:100%}
}


/* Home hero bullet points */
.home .hero-points{list-style:none;margin:26px 0 0;padding:0;max-width:none}
.home .hero-points li{position:relative;padding:7px 0 7px 26px;color:var(--on-dark-mut);font-size:var(--para-med);line-height:1.6}
.home .hero-points li::before{content:"";position:absolute;left:0;top:17px;width:14px;height:2px;background:var(--gold-2)}

/* ============================================================
   Services (#62) & About (#10): typography on the PA system.
   Colors and dark sections untouched.
   ============================================================ */
.page-id-62 .hero--page h1,
.page-id-10 .hero--page h1{font-size:clamp(2.6rem,5.6vw,4.5rem);font-weight:400;line-height:1.02;letter-spacing:-.02em;max-width:16ch}
.page-id-62 h2,.page-id-10 h2{font-weight:400;letter-spacing:-.015em;line-height:1.08}
.page-id-62 .two h2,.page-id-10 .two h2{font-size:clamp(30px,3.8vw,46px)}
.page-id-62 .s-head h2,.page-id-10 .s-head h2,
.page-id-62 .stats-head h2,.page-id-10 .stats-head h2{font-size:clamp(30px,3.8vw,46px)}
.page-id-62 h3,.page-id-10 h3{font-weight:500}
.page-id-62 .hero--page .hero__inner,.page-id-10 .hero--page .hero__inner{padding:96px 28px 88px}
.page-id-62 .hero .lede,.page-id-10 .hero .lede{font-size:1.19rem;line-height:1.65;max-width:46em}
.page-id-62 .section,.page-id-10 .section{padding:96px 0}
.page-id-62 .section--tight,.page-id-10 .section--tight{padding:72px 0}
.page-id-62 p,.page-id-10 p{line-height:1.7}
.page-id-62 .muted p,.page-id-10 .muted p{font-size:1.03rem}
@media(max-width:760px){
.page-id-62 .section,.page-id-10 .section{padding:64px 0}
.page-id-62 .hero--page .hero__inner,.page-id-10 .hero--page .hero__inner{padding:64px 28px 56px}
}

/* ============ Mobile fixes: util marquee, menu typography, sticky CTA ============ */

/* util bar: static & centered on desktop, marquee on mobile */
.util-track{display:flex;justify-content:center;gap:6px}
.util-msg{white-space:nowrap}
.util-dup{display:none}
@keyframes util-scroll{to{transform:translateX(-50%)}}
@media(max-width:680px){
  .util .wrap{display:block;overflow:hidden;padding:8px 0;text-align:left;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
  .util-track{display:flex;justify-content:flex-start;width:max-content;gap:56px;
    padding-left:16px;animation:util-scroll 16s linear infinite}
  .util-dup{display:inline}
}
@media (prefers-reduced-motion:reduce){.util-track{animation:none}}

/* mobile menu: consistent typography + practice-area group headers */
.mega__mhead{display:none}
@media(max-width:1080px){
  .nav>a,.subnav__t{font-size:16px;font-weight:500;color:var(--ink)}
  .mega__mhead{display:flex;align-items:center;font-size:12px;font-weight:700;
    letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);
    padding:16px 0 4px;text-decoration:none}
  .mega__panel{display:block;padding:0 0 6px 2px}
  .mega__panels{position:static;min-height:0}
  .mega__panel.active{position:static;inset:auto;animation:none}
  .mega__links a{font-size:15px;font-weight:500;padding:10px 8px;border-radius:8px}
  .mega__links a .n{font-size:.72rem;min-width:20px}
}

/* sticky bottom CTA bar (mobile only) */
.mcta{display:none}
@media(max-width:680px){
  .mcta{position:fixed;left:0;right:0;bottom:0;z-index:95;display:grid;
    grid-template-columns:1fr 1fr;gap:1px;background:var(--hair);
    border-top:1px solid var(--hair);
    padding-bottom:env(safe-area-inset-bottom)}
  .mcta a{display:flex;align-items:center;justify-content:center;
    padding:16px 10px;font-size:14.5px;font-weight:600;text-decoration:none;
    letter-spacing:.01em}
  .mcta__call{background:#fff;color:var(--ink)}
  .mcta__req{background:var(--ink);color:#fff}
  body{padding-bottom:calc(53px + env(safe-area-inset-bottom))}
}

/* menu open: lock page scroll, hide sticky CTA under the menu */
body.nav-locked{overflow:hidden}
body.nav-locked .mcta{display:none}

/* hamburger -> X while menu is open; keep it above the panel */
.nav-toggle{position:relative;z-index:97}
.nav-toggle span{transition:transform .22s ease,opacity .18s ease}
.site-header.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-header.open .nav-toggle span:nth-child(2){opacity:0}
.site-header.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Home hero: match PA-page hero typography exactly — no italic accents.
   Same face, same size; only the colors stay inverted. */
.home .hero .gold, .home .hero h1 .gold{font-style:normal}


/* ============ Accessibility ============ */
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:#fff;
  padding:12px 20px;border-radius:0 0 10px 0;font-size:14.5px;font-weight:600;text-decoration:none}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:2px}
.hero--dark a:focus-visible,.section--dark a:focus-visible,.util a:focus-visible,
footer a:focus-visible,.mcta a:focus-visible{outline-color:#fff}
/* megamenu opens for keyboard users too */
.subnav:focus-within .mega{opacity:1;visibility:visible;transform:none;pointer-events:auto}
/* numbers in light merged tiles: AA contrast */
.svc-num{color:var(--muted)}
.bcard-meta,.bcard-meta span{color:var(--muted)}
.bcard-meta .bcard-cat,.bcard-meta span.bcard-cat{color:var(--gold);font-weight:700}
.subnav.kb-open .mega{opacity:1;visibility:visible;transform:none;pointer-events:auto}
