*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + var(--nav) + 64px); -webkit-text-size-adjust:100%}
body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--font); font-size:1.0625rem; line-height:1.62; -webkit-font-smoothing:antialiased}
img{max-width:100%; height:auto; display:block}
a{color:inherit; text-underline-offset:3px; text-decoration-thickness:1px}
button{font:inherit; color:inherit}
:focus-visible{outline:2px solid var(--ink); outline-offset:4px; border-radius:6px}
h1,h2,h3,h4{margin:0; font-weight:500; letter-spacing:-0.025em; line-height:1.1}
p{margin:0 0 1em}
.wrap{width:100%; max-width:var(--wrap); margin:0 auto; padding:0 var(--g)}
.vh{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.skip{position:absolute; left:-9999px}
.skip:focus{left:16px; top:calc(env(safe-area-inset-top,0px) + 12px); z-index:99; background:var(--ink); color:var(--bg); padding:10px 14px; border-radius:8px}
.muted{color:var(--muted)}
.eyebrow{display:block; color:var(--accent-text); font-weight:500; font-size:.98rem; margin-bottom:18px}

/* Reveal: one subtle, functional motion */
.js .rv{opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1; transform:none; transition:none} *{scroll-behavior:auto!important}}

/* Top nav */
.nav{position:sticky; top:env(safe-area-inset-top,0px); z-index:40; background:color-mix(in srgb,var(--bg) 92%,transparent); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid transparent}
.nav.solid{border-bottom-color:var(--line)}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; gap:20px; height:var(--nav)}
.logo{font-weight:600; text-decoration:none; white-space:nowrap}
.links{display:flex; align-items:center; gap:clamp(12px,2.2vw,30px); font-size:.96rem}
.links a,.links button{background:none; border:0; padding:4px 0; cursor:pointer; text-decoration:none; color:var(--muted); white-space:nowrap; border-bottom:1px solid transparent}
.links a:hover,.links button:hover{color:var(--ink)}
.links a[aria-current="page"]{color:var(--ink); border-bottom-color:var(--ink)}
@media (max-width:720px){.links .opt{display:none}}
.logo .short{display:none}
@media (max-width:560px){.logo .full{display:none} .logo .short{display:inline} .nav .wrap{gap:10px} .links{gap:9px; font-size:.86rem; min-width:0; overflow-x:auto; scrollbar-width:none} .links::-webkit-scrollbar{display:none} .links .cv{padding:6px 9px}}
.progress{position:fixed; left:0; right:0; top:calc(env(safe-area-inset-top,0px) + var(--nav)); height:2px; z-index:41; pointer-events:none}
.progress i{display:block; height:100%; width:0; background:var(--accent)}

/* Buttons */
.row{display:flex; gap:12px; flex-wrap:wrap}

/* Pages */
.js .page{display:none}
.js .page.on{display:block}

/* HOME */
.hero{padding:clamp(56px,10vw,136px) 0 clamp(48px,6vw,80px)}
.hero h1{font-size:clamp(2.6rem,6.4vw,5.6rem); letter-spacing:-0.04em; line-height:1.02; max-width:15ch}
.hero .copy{font-size:clamp(1.12rem,1.6vw,1.32rem); line-height:1.55; max-width:56ch; margin:32px 0 0; color:var(--muted)}
.hero .row{margin-top:36px}
.proof{list-style:none; margin:clamp(56px,7vw,96px) 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(20px,3vw,40px)}
.proof li{border-top:1px solid var(--ink); padding-top:20px}
.proof b{display:block; font-size:clamp(2.1rem,3.8vw,3.2rem); font-weight:500; letter-spacing:-0.045em; line-height:1}
.proof .what{display:block; margin-top:12px; font-weight:500}
.proof .where{display:block; margin-top:2px; color:var(--muted); font-size:.95rem}
@media (max-width:900px){.proof{grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:36px}}

.block{padding:clamp(72px,10vw,136px) 0; border-top:1px solid var(--line)}
.bhead{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(24px,5vw,80px); align-items:end; margin-bottom:clamp(40px,5vw,64px)}
.bhead h2{font-size:clamp(2rem,4vw,3.3rem); letter-spacing:-0.035em; line-height:1.06; max-width:18ch}
.bhead p{margin:0; color:var(--muted); font-size:1.12rem; max-width:52ch}
@media (max-width:860px){.bhead{grid-template-columns:1fr}}

.work{display:grid; gap:clamp(48px,6vw,88px)}
.wcard{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(24px,4vw,64px); align-items:center; text-decoration:none}
.wcard:nth-child(even){grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.wcard:nth-child(even) .img{order:2}
.wcard .img{border-radius:var(--r); overflow:hidden; aspect-ratio:16/11; background:var(--soft)}
.wcard .img img{width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.wcard:hover .img img{transform:scale(1.02)}
.wcard .lab{color:var(--muted); font-size:.92rem}
.wcard h3{font-size:clamp(1.6rem,2.8vw,2.3rem); letter-spacing:-0.03em; line-height:1.12; margin:12px 0 16px}
.wcard p{color:var(--muted); margin:0}
.signals{display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 26px; padding:0; list-style:none}
.signals li{font-size:.9rem; padding:6px 12px; border-radius:999px; background:var(--accent-soft); color:var(--accent-text); font-weight:500}
.read{font-weight:500; text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:6px}
.wcard:hover .read{text-decoration-color:var(--ink)}
@media (max-width:860px){.wcard,.wcard:nth-child(even){grid-template-columns:1fr} .wcard:nth-child(even) .img{order:0}}

.pillars{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--ink)}
.pillars > div{padding:32px 0 36px; border-bottom:1px solid var(--line)}
.pillars > div:nth-child(odd){padding-right:clamp(20px,4vw,56px); border-right:1px solid var(--line)}
.pillars > div:nth-child(even){padding-left:clamp(20px,4vw,56px)}
.pillars h3{font-size:clamp(1.3rem,2vw,1.6rem); letter-spacing:-0.02em; margin-bottom:12px}
.pillars p{margin:0; max-width:52ch}
.ev{margin-top:18px; font-size:.96rem; color:var(--muted); display:grid; gap:6px}
.ev strong{color:var(--ink); font-weight:600}
.ev a{color:var(--accent-text); font-weight:500}
@media (max-width:760px){.pillars{grid-template-columns:1fr} .pillars > div:nth-child(odd),.pillars > div:nth-child(even){padding-left:0; padding-right:0; border-right:0}}
.lead-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink)}
.lead-grid article{padding:26px clamp(18px,3vw,42px) 10px 0}
.lead-grid article+article{padding-left:clamp(18px,3vw,42px);border-left:1px solid var(--line)}
.lead-grid h3{font-size:clamp(1.3rem,2vw,1.65rem);margin-bottom:12px}
.lead-grid p{max-width:36ch;color:var(--muted);margin-bottom:14px}
.lead-grid a{font-weight:700;color:var(--accent-text)}
@media(max-width:860px){.lead-grid{grid-template-columns:1fr}.lead-grid article,.lead-grid article+article{padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}}

.aside-link{margin-top:36px}

.snap .facts{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(16px,2.4vw,32px)}
.snap .facts li{border-top:1px solid var(--line); padding-top:16px; font-weight:500}
@media (max-width:860px){.snap .facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

.cta{padding:clamp(80px,12vw,160px) 0 clamp(40px,5vw,64px); border-top:1px solid var(--line)}
.cta h2{font-size:clamp(2.4rem,6vw,5rem); letter-spacing:-0.04em; line-height:1.02; max-width:15ch}
.cta p{margin:24px 0 36px; color:var(--muted); font-size:1.15rem; max-width:52ch}
.foot{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:clamp(64px,8vw,110px); padding-top:24px; border-top:1px solid var(--line); color:var(--muted); font-size:.92rem}

/* CASE STUDY */
.chero{padding-top:clamp(40px,7vw,96px); padding-bottom:clamp(40px,5vw,64px)}
.back{display:inline-block; color:var(--muted); text-decoration:none; font-size:.95rem; margin-bottom:clamp(28px,4vw,48px)}
.back:hover{color:var(--ink)}
.chero h1{font-size:clamp(2.4rem,5.6vw,4.8rem); letter-spacing:-0.04em; line-height:1.03; max-width:17ch}
.chero .premise{font-size:clamp(1.15rem,1.7vw,1.35rem); line-height:1.5; max-width:56ch; margin:28px 0 0; color:var(--muted)}
.scope{list-style:none; margin:clamp(40px,5vw,56px) 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(16px,2.4vw,32px)}
.scope li{border-top:1px solid var(--ink); padding-top:16px; font-size:1.15rem; font-weight:500; letter-spacing:-0.01em; line-height:1.3}
@media (max-width:860px){.scope{grid-template-columns:repeat(2,minmax(0,1fr))}}
.role{display:grid; grid-template-columns:minmax(0,3fr) minmax(0,9fr); gap:clamp(16px,5vw,80px); margin-top:40px; padding-top:20px; border-top:1px solid var(--line)}
.role dt{color:var(--muted)}
.role dd{margin:0; max-width:64ch}
@media (max-width:760px){.role{grid-template-columns:1fr; gap:4px}}

.subnav{position:sticky; top:calc(env(safe-area-inset-top,0px) + var(--nav)); z-index:30; background:color-mix(in srgb,var(--bg) 94%,transparent); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.subnav ol{list-style:none; margin:0 auto; padding:0 var(--g); max-width:var(--wrap); display:flex; gap:clamp(16px,3vw,40px); overflow-x:auto; scrollbar-width:none}
.subnav ol::-webkit-scrollbar{display:none}
.subnav a{display:block; padding:14px 0 13px; text-decoration:none; color:var(--muted); font-size:.95rem; white-space:nowrap; border-bottom:2px solid transparent}
.subnav a:hover{color:var(--ink)}
.subnav a.on{color:var(--ink); border-bottom-color:var(--accent-text)}

.sec{display:grid; grid-template-columns:minmax(0,3fr) minmax(0,9fr); gap:clamp(20px,5vw,80px); padding:clamp(56px,7vw,96px) 0; border-bottom:1px solid var(--line)}
.sec > .lab{color:var(--muted); font-size:1rem; font-weight:500; position:sticky; top:calc(var(--nav) + 80px); align-self:start}
.sec > .body{min-width:0}
@media (max-width:860px){.sec{grid-template-columns:1fr} .sec > .lab{position:static}}
.sec h2{font-size:clamp(1.7rem,3.2vw,2.5rem); letter-spacing:-0.03em; line-height:1.14; max-width:24ch; margin-bottom:24px}
.sec h3{font-size:clamp(1.25rem,2vw,1.55rem); letter-spacing:-0.02em; line-height:1.2; margin:56px 0 18px}
.prose{max-width:64ch; font-size:1.1rem}
.prose p:last-child{margin-bottom:0}
.qs{list-style:none; margin:32px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,3vw,36px)}
.qs li{border-top:1px solid var(--line); padding-top:16px}
.qs h4{font-size:.95rem; color:var(--muted); font-weight:500; letter-spacing:0; margin-bottom:8px}
.qs p{margin:0}
@media (max-width:860px){.qs{grid-template-columns:1fr}}

.decisions{margin-top:8px; border-top:1px solid var(--ink)}
.dec{display:grid; grid-template-columns:2.4rem minmax(0,4fr) minmax(0,4fr) minmax(0,4fr); gap:clamp(16px,2.4vw,32px); padding:26px 0; border-bottom:1px solid var(--line)}
.dec .n{color:var(--accent-text); font-weight:600; font-variant-numeric:tabular-nums}
.dec h4{font-size:1.15rem; font-weight:600; letter-spacing:-0.01em; line-height:1.3}
.dec .k{display:block; font-size:.85rem; color:var(--muted); margin-bottom:4px}
.dec p{margin:0; color:var(--ink)}
.dech{color:var(--muted); font-size:.88rem; padding:0 0 10px}
.dech .dec{padding:12px 0; border:0}
@media (max-width:860px){.dec{grid-template-columns:2rem 1fr} .dec > div{grid-column:2} .dech{display:none}}
@media (min-width:861px){.dec .k{display:none}}

.led{list-style:none; margin:0; padding:0; counter-reset:l; border-top:1px solid var(--ink)}
.led li{display:grid; grid-template-columns:2.4rem minmax(0,1fr); gap:clamp(12px,2vw,24px); padding:22px 0; border-bottom:1px solid var(--line); font-size:1.12rem; line-height:1.5; max-width:none}
.led li::before{counter-increment:l; content:counter(l); color:var(--accent-text); font-weight:600}

.tbl{overflow-x:auto; margin-top:32px}
.tbl table{width:100%; min-width:620px; border-collapse:collapse; font-size:1rem}
.tbl th,.tbl td{text-align:left; padding:16px 20px 16px 0; border-bottom:1px solid var(--line); vertical-align:top}
.tbl thead th{font-weight:500; font-size:.88rem; color:var(--muted); border-bottom-color:var(--ink)}
.tbl tbody th{font-weight:600}
.tbl tr.hl th,.tbl tr.hl td{color:var(--accent-text)}
.conclusion{margin-top:28px; font-size:1.2rem; line-height:1.45; max-width:48ch; font-weight:500; letter-spacing:-0.01em}

.system{list-style:none; margin:24px 0 0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; position:relative}
.system::before{content:""; position:absolute; left:0; right:0; top:15px; height:1px; background:var(--ink)}
.system li{position:relative; padding:44px 20px 0 0}
.system li::before{content:attr(data-n); position:absolute; top:0; left:0; width:31px; height:31px; border-radius:50%; background:var(--bg); box-shadow:inset 0 0 0 1px var(--ink); display:grid; place-items:center; font-size:.85rem; font-weight:600}
.system li.key::before{background:var(--accent); color:var(--on-accent); box-shadow:none}
.system h4{font-size:1.02rem; font-weight:600; letter-spacing:-0.01em; line-height:1.3; margin-bottom:6px}
.system p{margin:0; color:var(--muted); font-size:.95rem}
@media (max-width:860px){.system{grid-template-columns:1fr} .system::before{left:15px; right:auto; top:0; bottom:0; width:1px; height:auto} .system li{padding:0 0 28px 52px}}

.chain{list-style:none; margin:24px 0 0; padding:0; display:flex; flex-wrap:wrap; align-items:center; gap:12px 34px}
.chain li{position:relative; padding:10px 18px; border-radius:999px; background:var(--paper); box-shadow:inset 0 0 0 1px var(--line); font-weight:500}
.chain li:last-child{background:var(--ink); color:var(--bg); box-shadow:none}
.chain li + li::before{content:"→"; position:absolute; left:-25px; top:50%; transform:translateY(-52%); color:var(--muted); font-weight:400}

.figs{display:grid; gap:clamp(16px,2vw,28px); margin-top:28px}
.figs.two{grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start}
@media (max-width:760px){.figs.two{grid-template-columns:1fr}}
figure{margin:0}
.shot{background:var(--soft); border-radius:var(--r); padding:clamp(14px,2.6vw,36px)}
.shot > button{all:unset; display:block; width:100%; cursor:zoom-in; border-radius:10px}
.shot > button:focus-visible{outline:2px solid var(--ink); outline-offset:4px}
.shot img{border-radius:8px; box-shadow:0 18px 44px -22px rgba(21,23,28,.35); background:#fff; margin:0 auto}
figcaption{margin-top:14px; color:var(--muted); font-size:.95rem; max-width:64ch}
figcaption b{color:var(--ink); font-weight:600}
.pin-wrap{position:relative}
.pin{position:absolute; transform:translate(-50%,-50%); width:26px; height:26px; border-radius:50%; background:var(--accent); color:var(--on-accent); font-size:.78rem; font-weight:700; display:grid; place-items:center; box-shadow:0 0 0 3px var(--paper)}
.legend{list-style:none; margin:20px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px 28px; counter-reset:g}
.legend li{display:grid; grid-template-columns:26px 1fr; gap:12px; font-size:.95rem; color:var(--muted)}
.legend li::before{counter-increment:g; content:counter(g); width:26px; height:26px; border-radius:50%; background:var(--accent); color:var(--on-accent); font-size:.78rem; font-weight:700; display:grid; place-items:center}
.legend b{color:var(--ink); font-weight:600}
.diagram{background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:clamp(18px,3vw,36px); overflow-x:auto}
.diagram svg{display:block; width:100%; min-width:560px; height:auto}

.impact{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:clamp(24px,3vw,40px)}
.impact > div{border-top:1px solid var(--ink); padding-top:18px}
.impact b{display:block; font-size:clamp(2.2rem,4.2vw,3.4rem); font-weight:500; letter-spacing:-0.045em; line-height:1}
.impact span{display:block; margin-top:12px; max-width:32ch}
.status{display:inline-block; margin:0 0 18px; font-size:.85rem; font-weight:500; padding:5px 11px; border-radius:999px}
.status.ok{background:var(--accent-soft); color:var(--accent-text)}
.status.wip{box-shadow:inset 0 0 0 1px var(--line); color:var(--muted)}
.endnote{margin:48px 0 0; font-size:clamp(1.3rem,2.4vw,1.8rem); line-height:1.3; letter-spacing:-0.02em; max-width:36ch; font-weight:500}
.foot-note{margin-top:28px; color:var(--muted); font-size:.95rem; max-width:70ch}

.reflect{background:var(--paper); border-radius:var(--r); padding:clamp(24px,4vw,48px); margin-top:clamp(48px,6vw,80px); display:grid; grid-template-columns:minmax(0,3fr) minmax(0,9fr); gap:clamp(16px,5vw,80px)}
.reflect h2{font-size:1rem; font-weight:500; color:var(--muted); letter-spacing:0; line-height:1.4}
.reflect p{margin:0; font-size:1.2rem; line-height:1.5; max-width:56ch}
@media (max-width:760px){.reflect{grid-template-columns:1fr}}

.next{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:center; text-decoration:none; padding:clamp(56px,7vw,96px) 0}
.next .k{color:var(--muted)}
.next h2{font-size:clamp(1.8rem,3.6vw,3rem); letter-spacing:-0.035em; line-height:1.08; margin-top:12px}
.next .img{border-radius:var(--r); overflow:hidden; aspect-ratio:16/10; background:var(--soft)}
.next .img img{width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.next:hover .img img{transform:scale(1.02)}
@media (max-width:760px){.next{grid-template-columns:1fr}}

/* Principles page */
.pairs{margin:24px 0 0; border-top:1px solid var(--ink)}
.pairs > div{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; padding:18px 0; border-bottom:1px solid var(--line)}
.pairs dt{font-weight:500}
.pairs dd{margin:0; color:var(--muted)}
.items{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:clamp(24px,3vw,40px); margin-top:32px}
.items > div{border-top:1px solid var(--line); padding-top:16px}
.items h4{font-size:1.1rem; font-weight:600; letter-spacing:-0.01em; margin-bottom:8px}
.items p{margin:0; color:var(--muted)}
.roles{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; margin-top:28px}
.roles > div{background:var(--paper); padding:20px 22px}
.roles h4{font-size:1.02rem; font-weight:600; margin-bottom:4px}
.roles p{margin:0; color:var(--muted); font-size:.96rem}
@media (max-width:860px){.roles{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* About */
.about{display:grid; grid-template-columns:220px minmax(0,1fr); gap:clamp(32px,6vw,96px); padding:clamp(56px,8vw,112px) 0 clamp(48px,6vw,80px); align-items:start}
.about .ph{width:100%; max-width:220px; aspect-ratio:4/5; border-radius:14px; overflow:hidden; background:var(--soft)}
.about .ph img{width:100%; height:100%; object-fit:cover; object-position:50% 22%}
.about h1{font-size:clamp(2.3rem,5vw,4.2rem); letter-spacing:-0.04em; line-height:1.04; max-width:16ch; margin-bottom:36px}
.about .prose p{font-size:1.15rem}
@media (max-width:860px){.about{grid-template-columns:1fr; gap:28px} .about .ph{max-width:140px}}
.tl{list-style:none; margin:48px 0 0; padding:0; border-top:1px solid var(--ink)}
.tl li{display:grid; grid-template-columns:170px minmax(0,1fr); gap:6px 32px; padding:20px 0; border-bottom:1px solid var(--line)}
.tl .w{color:var(--muted); font-variant-numeric:tabular-nums}
.tl b{font-weight:600}
.tl span.o{color:var(--muted)}
@media (max-width:620px){.tl li{grid-template-columns:1fr}}

/* Lightbox */
dialog.lb{border:0; padding:0; background:transparent; max-width:min(1400px,94vw); max-height:92vh}
dialog.lb::backdrop{background:rgba(12,13,16,.86)}
dialog.lb img{max-height:84vh; width:auto; border-radius:10px; background:#fff; margin:0 auto}
dialog.lb p{color:#fff; text-align:center; opacity:.85; margin-top:12px; font-size:.95rem}
dialog.lb .x{position:fixed; top:calc(env(safe-area-inset-top,0px) + 14px); right:16px; width:44px; height:44px; border-radius:50%; border:0; background:#fff; color:#1A1A2E; font-size:22px; cursor:pointer}

/* ===== Style v4: bold editorial, indigo ===== */
body{letter-spacing:-0.005em}
.ac{color:var(--accent-text)}
h1,h2,.bhead h2,.sec h2,.chero h1,.cta h2,.about h1,.next h2,.wcard h3{font-weight:800; letter-spacing:-0.05em}
.eyebrow,.sec > .lab,.wcard .lab,.next .k,.qs h4,.dec .k,.dech,.reflect h2,.tl .w,.scope-lab{text-transform:uppercase; letter-spacing:.14em; font-weight:700; font-size:.78rem}
.eyebrow{color:var(--accent-text); margin-bottom:24px}
.sec > .lab{color:var(--accent-text)}
.wcard .lab{color:var(--accent-text)}
.qs h4{color:var(--muted)}
.reflect h2{color:var(--accent-text)}
.logo{font-weight:800; letter-spacing:-0.03em; font-size:1.08rem}
.nav .wrap{position:relative}
.nav{border-bottom:0!important}
.hero{position:relative; overflow:hidden}
.hero .wrap{position:relative}
.hero h1{font-size:clamp(2.6rem,6.2vw,5.8rem); line-height:.97; letter-spacing:-0.055em; max-width:17ch}
.hero .copy{color:var(--muted); font-size:clamp(1.15rem,1.7vw,1.45rem); max-width:50ch}
.proof li,.scope li,.impact > div,.snap .facts li{border-top:2px solid var(--ink)}
.proof b,.impact b{font-weight:800; letter-spacing:-0.055em}
.proof b{font-size:clamp(2.3rem,4.2vw,3.6rem)}
.proof .what{font-weight:700}
.block{border-top:0; position:relative}
.block::before{content:""; position:absolute; top:0; left:max(var(--g),calc((100% - var(--wrap))/2 + var(--g))); right:max(var(--g),calc((100% - var(--wrap))/2 + var(--g))); height:1px; background:var(--line)}
.bhead{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.bhead h2{font-size:clamp(2.2rem,4.6vw,4rem); line-height:.98; max-width:16ch}
@media (max-width:860px){.bhead{grid-template-columns:1fr}}
.wcard{background:var(--paper); border:1px solid var(--line); border-radius:6px; padding:clamp(16px,2vw,24px); transition:border-color .2s}
.wcard:hover{border-color:var(--accent-text)}
.wcard .img{border-radius:4px}
.wcard h3{font-size:clamp(1.7rem,3vw,2.6rem); line-height:1.02}
.wcard > div:last-child{padding:clamp(8px,2vw,24px)}
.signals li{border-radius:4px; font-weight:600}
.read{color:var(--accent-text); font-weight:700; text-decoration:none}
.read::after{content:" →"}
.pillars{border-top:2px solid var(--ink)}
.pillars h3{font-weight:800; letter-spacing:-0.035em}
.ev a{font-weight:700}
.snap{background:var(--dark); color:#fff}
.snap::before{display:none}
.snap .bhead p{color:#C4C6DA}
.snap .facts li{border-top-color:#fff; color:#fff}
.cta h2{font-size:clamp(2.6rem,7vw,6rem); line-height:.96}
.cta{border-top:0}
.chero h1{font-size:clamp(2.6rem,6.2vw,5.6rem); line-height:.98}
.scope li{font-weight:700}
.subnav a{font-weight:600}
.subnav a.on{border-bottom-color:var(--accent-text); color:var(--accent-text)}
.sec h2{font-size:clamp(1.9rem,3.6vw,3rem); line-height:1.04}
.sec h3{font-weight:800; letter-spacing:-0.03em}
.dec .n,.led li::before{font-weight:800}
.dec h4{font-weight:700}
.decisions,.led,.tbl thead th{border-color:var(--ink)}
.decisions,.led{border-top-width:2px}
.shot{border-radius:6px; background:var(--soft)}
.diagram{border-radius:6px}
.status{border-radius:4px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; font-size:.72rem}
.reflect{background:var(--dark); color:#fff; border-radius:6px}
.reflect h2{color:var(--accent-text)}
.reflect p{color:#fff}
.next .img{border-radius:6px}
.next h2{font-size:clamp(2rem,4.4vw,3.6rem); line-height:1}
.chain li{border-radius:4px; font-weight:600}
.chain li:last-child{background:var(--accent); color:var(--on-accent)}
.system li.key::before{background:var(--accent)}
.about .ph{border-radius:6px}
.about h1{font-size:clamp(2.4rem,5.6vw,4.8rem); line-height:.98}
.roles,.map{border-radius:6px}
.endnote{font-weight:700; letter-spacing:-0.03em}
.conclusion{font-weight:600}
/* Editorial portfolio: outcome first, then the decision behind it. */
.hero{background:var(--hero-bg);color:var(--hero-on);padding:clamp(76px,9vw,128px) 0 clamp(64px,7vw,96px)}
.hero::before,.hero::after{display:none}
.hero .eyebrow{color:var(--hero-eyebrow)}.hero h1{max-width:13ch;font-size:clamp(3.25rem,8vw,8rem)}
.hero h1 .ac{color:var(--hero-highlight)}.hero .copy{color:var(--hero-copy);max-width:54ch}
.work{gap:0;border-top:2px solid var(--ink)}
.wcard,.wcard:nth-child(even){position:relative;grid-template-columns:minmax(0,5fr) minmax(0,7fr);padding:clamp(26px,4.5vw,58px) 0;gap:clamp(28px,5vw,76px);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}
.wcard:nth-child(even) .img{order:0}.wcard .img{width:100%;max-width:100%;min-width:0;aspect-ratio:16/10;border-radius:0;align-self:center}
.wcard .img img{max-width:100%}
.wcard > div:last-child{min-width:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.wcard h3{font-size:clamp(1.9rem,3vw,3rem);max-width:19ch;margin:14px 0 16px}
.wcard p{max-width:52ch}.wcard .read{margin-top:26px;border-bottom:1px solid var(--accent)}
.wcard .outcome{font-size:clamp(1.45rem,2.1vw,2.2rem);font-weight:800;letter-spacing:-.045em;color:var(--accent-text);line-height:1.1;margin-top:20px}
.wcard .case-num{font-size:.84rem;font-weight:700;letter-spacing:.12em;color:var(--accent-text);margin-bottom:12px}
.wcard:hover{border-color:var(--accent-text)}.wcard .signals{margin:18px 0 0}
.wcard .signals li{background:transparent;border:1px solid var(--line);color:var(--muted);font-size:.82rem}
.work-intro{font-size:clamp(1.2rem,1.7vw,1.5rem);max-width:48ch;color:var(--muted);margin:0 0 32px}
.case-visual{margin:20px 0 0}.case-visual img{width:100%;height:auto;border:1px solid var(--line)}.case-visual figcaption{font-size:.9rem;color:var(--muted);margin-top:12px}
.earlier-list{border-top:2px solid var(--ink);margin-top:32px}
.earlier-item{display:grid;grid-template-columns:minmax(160px,2fr) minmax(0,5fr);gap:clamp(24px,5vw,90px);padding:32px 0;border-bottom:1px solid var(--line)}
.earlier-item h2{font-size:clamp(1.6rem,3vw,2.6rem)}.earlier-item .period{color:var(--accent-text);font-weight:700;font-size:.9rem}.earlier-item p{max-width:65ch}
.earlier-item ul{margin:14px 0 0;padding-left:20px}
@media(max-width:760px){.earlier-item{grid-template-columns:1fr;gap:12px}}
@media(max-width:860px){.wcard,.wcard:nth-child(even){grid-template-columns:1fr}.wcard .img{aspect-ratio:16/9}.hero::before,.hero::after{display:none}}

/* Shared actions and navigation: edit these components here. */
.row{gap:var(--space-3) var(--space-8);align-items:center}
.btn,.btn.line,.hero .btn,.hero .btn.line{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:6px 12px;border:1px solid #fff;border-radius:4px;background:transparent;box-shadow:none;color:var(--ink);font-size:14px;font-weight:400;line-height:1.35;letter-spacing:0;white-space:normal;text-decoration:none;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.btn:hover,.btn.line:hover,.hero .btn:hover,.hero .btn.line:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn:focus-visible,.btn.line:focus-visible,.hero .btn:focus-visible,.hero .btn.line:focus-visible{outline:3px solid var(--ink);outline-offset:3px;background:var(--accent);border-color:var(--accent);color:#fff}
.btn:active,.btn.line:active,.hero .btn:active,.hero .btn.line:active{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){.btn,.btn.line,.hero .btn,.hero .btn.line{transition:none}.btn:active{transform:none}}
.links .cv,.links .cv:hover{padding:4px 0;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;box-shadow:none;color:var(--ink);font-weight:600}
@media(max-width:560px){.links .cv{padding:4px 0}}

/* Leadership casebook: direct paths from impact to evidence. */
.hero h1{font-size:clamp(3.5rem,7.2vw,7rem);max-width:none}
.hero h1 .ac{white-space:nowrap}
.hero .copy{max-width:64ch}
.numbers{min-height:calc(100svh - var(--nav));display:flex;align-items:center;padding:clamp(72px,8vw,112px) 0;background:var(--bg)}
.numbers .wrap{width:100%}
.numbers-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 48px;align-items:end;margin-bottom:clamp(48px,6vw,72px)}
.numbers-head .eyebrow{grid-column:1/-1;margin:0}
.numbers-head h2{font-size:clamp(2.8rem,5vw,5rem);font-weight:800;letter-spacing:-.055em;line-height:1;margin:0}
.numbers-head p{color:var(--muted);max-width:38ch;margin:0;font-size:1.1rem}
.numbers-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.5vw,36px);margin:0}
.numbers-grid>div{border-top:1px solid var(--line);padding-top:clamp(22px,3vw,40px);min-width:0}
.numbers-grid dt{font-size:clamp(3.5rem,5.4vw,6.2rem);font-weight:800;letter-spacing:-.075em;line-height:.9;color:var(--ink);font-variant-numeric:tabular-nums}
.numbers-grid>div:last-child dt{color:var(--accent-text)}
.numbers-grid dd{display:grid;gap:4px;margin:24px 0 0;line-height:1.4}
.numbers-grid dd strong{font-size:1.22rem}
.numbers-grid dd span{color:var(--muted);font-size:1rem}
.numbers-note{border-top:1px solid var(--line);padding-top:20px;margin:clamp(56px,6vw,80px) 0 0;color:var(--muted);font-size:.9rem;max-width:80ch}
@media(max-width:1100px){.numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 36px}.numbers-grid dt{font-size:clamp(4rem,7vw,6rem)}}
@media(max-width:760px){.numbers-head{grid-template-columns:1fr}.numbers-grid{gap:40px 28px}.numbers-grid dt{font-size:clamp(3rem,10vw,5rem)}.hero h1 .ac{white-space:normal}}
@media(max-width:520px){.numbers-grid{grid-template-columns:1fr}.numbers{min-height:0}}
.category-index{display:block;color:var(--accent-text);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.impact-paths{border-top:2px solid var(--ink)}
.impact-path{padding:clamp(40px,5vw,68px) 0;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--nav) + 28px)}
.path-intro{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 24px;margin-bottom:clamp(22px,3vw,36px)}
.path-intro .category-index{grid-row:1/3;padding-top:10px}
.path-intro h3{font-size:clamp(2rem,3.2vw,3.2rem);font-weight:800;line-height:1.05;letter-spacing:-.05em;margin:0}
.path-intro p{grid-column:2;color:var(--muted);margin:0;font-size:1rem}
.path-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,44px)}
.path-cases a{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0;min-height:230px;padding:24px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;transition:border-color .2s,color .2s}
.path-cases a:hover,.path-cases a:focus-visible{color:var(--accent-text);border-top-color:var(--accent-text);border-bottom-color:var(--accent-text)}
.path-cases a span{color:var(--accent-text);font-size:.78rem;letter-spacing:.12em;font-weight:700;text-transform:uppercase}
.path-cases a strong{font-size:clamp(1.35rem,2.1vw,2rem);font-weight:700;line-height:1.15;letter-spacing:-.035em;max-width:31ch}
.path-cases a em{display:flex;align-items:baseline;justify-content:space-between;gap:16px;width:100%;margin-top:auto;font-style:normal;font-size:.95rem;font-weight:600;line-height:1.35;color:var(--accent-text)}
.path-cases a em i{font-size:1.25rem;font-style:normal;line-height:1}
.featured-work{border-top:2px solid var(--ink)}
.featured-case{display:grid;grid-template-columns:minmax(120px,1.5fr) minmax(0,5fr) minmax(190px,3fr);gap:clamp(18px,4vw,56px);align-items:start;padding:clamp(32px,4vw,58px) 0;border-bottom:1px solid var(--line);text-decoration:none}
.featured-index{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);padding-top:8px}
.featured-case h3{font-size:clamp(1.8rem,3vw,3rem);font-weight:800;line-height:1.04;letter-spacing:-.05em;max-width:18ch}
.featured-case p{max-width:55ch;color:var(--muted);font-size:1.08rem;line-height:1.55;margin:18px 0 22px}
.featured-result{display:inline-flex;gap:16px;color:var(--accent-text);font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}
.featured-case img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:var(--soft);border:1px solid var(--line)}
.featured-case:hover h3,.featured-case:focus-visible h3{color:var(--accent-text)}
.workflow{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 34px;padding:0}
.workflow li{counter-increment:step;min-width:0;border-top:1px solid var(--line);padding:14px 12px 12px 0;font-size:.95rem;font-weight:600;line-height:1.3}
.workflow li::before{content:counter(step,decimal-leading-zero);display:block;color:var(--accent-text);font-size:.75rem;letter-spacing:.12em;margin-bottom:10px}
@media(max-width:860px){.featured-case{grid-template-columns:1fr minmax(0,3fr);gap:14px 26px}.featured-index{grid-column:1/-1;padding:0}.featured-case img{grid-column:1;grid-row:2}.featured-case>div{grid-column:2;grid-row:2}}
@media(max-width:600px){.featured-case{grid-template-columns:1fr}.featured-case>div,.featured-case img{grid-column:1;grid-row:auto}.featured-case img{max-width:440px}}
@media(max-width:600px){.workflow{grid-template-columns:repeat(2,minmax(0,1fr))}}
.split-callout{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,8vw,120px)}
.split-callout h2{font-size:clamp(2.4rem,5vw,5rem);font-weight:800;letter-spacing:-.055em;line-height:1;max-width:15ch}
.split-callout p{font-size:clamp(1.1rem,1.6vw,1.35rem);max-width:54ch}
.home-about{background:var(--hero-bg);border-top:1px solid var(--line);scroll-margin-top:calc(var(--nav) + 16px)}
.about-layout{display:grid;grid-template-columns:minmax(0,302px) minmax(0,1fr);gap:clamp(48px,8vw,128px);align-items:start;padding-top:clamp(72px,10vw,140px)}
.about-portrait{width:100%;max-width:302px;background:var(--paper);overflow:hidden}
.about-portrait img{width:100%;height:auto;display:block}
.about-content h2{font-size:clamp(3.4rem,6vw,6rem);line-height:.95;letter-spacing:-.055em;margin:0 0 clamp(30px,4vw,56px)}
.about-copy{max-width:61ch;color:var(--muted);font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.65}
.about-copy p{margin:0 0 1.35em}
.about-contact{margin-top:clamp(48px,6vw,90px);padding-top:24px;border-top:1px solid var(--line)}
.about-contact h3{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.045em;font-weight:800;line-height:1.05}
.about-contact p{color:var(--muted);margin:14px 0 24px}
.about-contact .row{gap:14px 28px}
.home-about .foot{margin-top:clamp(72px,10vw,140px)}
@media(max-width:760px){.about-layout{grid-template-columns:1fr;gap:36px}.about-portrait{max-width:200px}.about-content h2{margin-bottom:28px}.about-contact{margin-top:42px}}
.leadership-brief{padding:clamp(56px,8vw,112px) var(--g);border-top:1px solid var(--line)}
.leadership-brief h2{font-size:clamp(2rem,4vw,4rem);font-weight:800;line-height:1.02;letter-spacing:-.05em;max-width:18ch;margin:18px 0 44px}
.lead-proof-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.lead-proof-list a{display:flex;flex-direction:column;align-items:flex-start;border-top:2px solid var(--ink);padding-top:20px;text-decoration:none;min-width:0}
.lead-proof-list a:hover{border-color:var(--accent-text)}
.lead-proof-list span{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);font-weight:700}
.lead-proof-list strong{font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.1;letter-spacing:-.035em;margin:18px 0}
.lead-proof-list p{color:var(--muted);font-size:.97rem;line-height:1.5}
.lead-proof-list em{font-style:normal;color:var(--accent-text);font-weight:700;font-size:.95rem;margin-top:auto}
.case-facts{margin:30px 0 0;border-top:2px solid var(--ink);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,40px)}
.case-facts>div{padding-top:16px;min-width:0}
.case-facts>div:nth-child(2){background:var(--accent-soft);padding:16px 20px 22px}
.case-facts dt{font-size:.78rem;color:var(--accent-text);text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.case-facts dd{margin:10px 0 0;font-size:1rem;line-height:1.5}
.decision-note{padding:clamp(24px,4vw,44px);border-left:4px solid var(--accent);background:var(--accent-soft);margin:32px 0}
.decision-note span{display:block;font-size:.78rem;color:var(--accent-text);letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-bottom:14px}
.decision-note p{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.4;font-weight:600;letter-spacing:-.025em;margin:0}
.missing-evidence{border-top:1px solid var(--line);padding-top:20px;margin-top:40px;color:var(--muted);font-size:.95rem}
.evidence-visual{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(26px,4vw,52px);background:var(--hero-bg);color:var(--hero-on)}
.evidence-visual span,.evidence-visual small{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;color:var(--hero-eyebrow)}
.evidence-visual strong{font-size:clamp(2rem,4vw,4.5rem);line-height:1.06;letter-spacing:-.055em;max-width:11ch}
@media(max-width:760px){.split-callout{grid-template-columns:1fr}.lead-proof-list{grid-template-columns:1fr}.case-facts{grid-template-columns:1fr}}
@media(max-width:600px){.path-intro{grid-template-columns:1fr;gap:5px}.path-intro .category-index{grid-row:auto;padding:0}.path-intro p{grid-column:1}}
@media(max-width:600px){.path-cases{grid-template-columns:1fr;gap:0}.path-cases a{min-height:0;border-bottom:0;padding:20px 0 24px}.path-cases a:last-child{border-bottom:1px solid var(--line)}}
@media(max-width:600px){.hero h1{font-size:clamp(3.2rem,10vw,4.4rem)}}

/* Editorial hierarchy: #2547C4 is the only blue accent; text remains legible on dark surfaces. */
.hero h1,.chero h1{border-left:4px solid var(--accent);padding-left:clamp(16px,2vw,28px)}
.featured-result{color:var(--ink)}
.featured-result span{color:var(--ink)}
.subnav a.on{color:var(--ink);border-bottom-color:var(--ink)}
.featured-case:hover h3,.featured-case:focus-visible h3{color:var(--ink)}
.block{border-top:0;padding:clamp(64px,8vw,104px) 0}
.bhead h2{font-size:clamp(2rem,3vw,3rem);font-weight:700}
.numbers{min-height:0;display:block;padding:clamp(78px,8vw,136px) 0;background:var(--bg)}
.numbers .wrap{max-width:var(--wrap);padding-inline:var(--wide-gutter)}
.numbers-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,3.5vw,80px)}
.numbers-grid>div{border:0;padding:0}
.numbers-grid dt{font-size:clamp(3rem,4.7vw,6rem);font-weight:700;letter-spacing:-.075em;line-height:1;color:var(--ink);white-space:nowrap}
.numbers-grid>div:last-child dt{color:var(--ink)}
.numbers-grid dd{display:block;margin:24px 0 0;color:var(--muted);font-size:clamp(.82rem,.9vw,1rem);line-height:1.4;max-width:23ch}
.featured-work{border:0}
.featured-case{grid-template-columns:minmax(150px,2fr) minmax(0,8fr);gap:clamp(24px,4vw,80px);border:0;padding:clamp(35px,4.5vw,64px) 0}
.featured-case + .featured-case{border-top:0}
.featured-case h3{font-size:clamp(1.65rem,2.6vw,2.65rem);font-weight:700;max-width:24ch;line-height:1.13}
.featured-case p{margin:14px 0 18px;max-width:65ch}
.featured-case:hover h3,.featured-case:focus-visible h3{color:var(--ink)}
.featured-result{border:0;padding:0}
.split-callout h2{font-size:clamp(2rem,3.2vw,3.2rem);font-weight:700;line-height:1.12;max-width:17ch}
.about-content h2{font-size:clamp(2.5rem,4vw,4rem)}
.about-contact{border:0;padding:0}
.about-contact h3{font-size:clamp(1.6rem,2.5vw,2.5rem);font-weight:700}
.about-contact .row{margin-top:20px}
.home-about{border:0}
.chero h1{font-size:clamp(2.25rem,4.1vw,4.2rem);max-width:22ch}
.leadership-brief{border:0}
.leadership-brief h2{font-size:clamp(1.9rem,2.9vw,2.9rem);font-weight:700;margin-bottom:20px;max-width:28ch}
.lead-management{max-width:70ch;color:var(--muted);margin:0 0 48px}
.lead-proof-list a{border:0;padding:0}
.lead-proof-list strong{font-size:clamp(1.3rem,1.8vw,1.65rem)}
.case-facts{border:0}
.case-facts>div:nth-child(2){background:transparent;padding:16px 0 0}
.sec{border-bottom:0}
.sec + .sec{border-top:1px solid var(--line)}
.sec h2{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.cta{border:0}
.cta h2{font-size:clamp(2rem,3.5vw,3.4rem)}
.decision-note{border-left:2px solid var(--accent)}
@media(max-width:860px){.featured-case{grid-template-columns:minmax(0,1fr)}.featured-index,.featured-case>div{grid-column:1;grid-row:auto}}
@media(max-width:900px){.numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 36px}.numbers-grid dt{font-size:clamp(3rem,7vw,5rem)}}
@media(max-width:520px){.numbers{padding:72px 0}.numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 20px}.numbers-grid dt{font-size:clamp(2.25rem,9vw,3.2rem)}.numbers-grid dd{margin-top:14px;font-size:.8rem}.featured-case{padding:38px 0}.featured-case h3{max-width:none}}

/* Project stories: full-width editorial bands with one clear measure each. */
#work.block{padding:clamp(50px,5vw,90px) 0 0}
#work.block{background:var(--hero-bg)}
#work.block::before{display:none}
#work>.wrap,#work .featured-case .wrap{max-width:var(--wrap);padding-inline:var(--wide-gutter)}
#work .bhead{display:block;margin-bottom:clamp(36px,4vw,64px)}
#work .bhead h2{max-width:none;font-size:clamp(3rem,5vw,6rem);font-weight:700;letter-spacing:-.06em}
.featured-case,.featured-case + .featured-case{display:block;position:relative;padding:clamp(52px,3.3vw,68px) 0;border:0;background:var(--hero-bg);text-decoration:none;transition:background-color .16s ease}
.featured-case:nth-child(even){background:var(--hero-bg)}
.featured-case:hover,.featured-case:focus-visible{background:var(--paper)}
.featured-case:active{background:var(--soft)}
.featured-case .wrap{display:block;width:100%}
.featured-index{display:block;padding:0;color:var(--muted);font-size:.84rem;font-weight:700;letter-spacing:.065em;line-height:1.45}
.featured-case h3{margin:16px 0 14px;max-width:34ch;color:var(--ink);font-size:clamp(2rem,2.4vw,3rem);font-weight:700;letter-spacing:-.045em;line-height:1.1}
.featured-case p{max-width:75ch;margin:0;color:var(--muted);font-size:clamp(1rem,1.15vw,1.3rem);line-height:1.5}
.featured-result{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;width:fit-content;margin-top:clamp(28px,3vw,42px);color:var(--ink);font-weight:400;line-height:1.15}
.featured-result strong{font-size:clamp(2.4rem,2.7vw,3.1rem);font-weight:700;letter-spacing:-.055em;white-space:nowrap}
.featured-result span{color:var(--muted);font-size:clamp(.94rem,1vw,1.12rem);font-weight:400}
.featured-case:hover h3{color:var(--ink)}
.featured-result::after{content:"↗";font-size:1.4rem;line-height:1;color:var(--accent);opacity:0;transform:translate(-4px,4px);transition:opacity .16s ease,transform .16s ease}
.featured-case:hover .featured-result::after,.featured-case:focus-visible .featured-result::after{opacity:1;transform:translate(3px,-3px)}
.featured-case:focus-visible{outline:3px solid var(--accent);outline-offset:-6px}
@media(max-width:600px){.featured-case,.featured-case + .featured-case{padding:60px 0}.featured-case h3{margin:18px 0 16px;font-size:clamp(2rem,8vw,2.6rem)}.featured-result{display:grid;gap:8px;margin-top:32px}}

/* Work titles: keep the hierarchy while reducing the visual weight. */
.wcard h3,.path-cases a strong,.featured-case h3{font-weight:500}

/* Subtitles and project impact labels. */
.page[data-page="home"] .eyebrow,.featured-index,.case-story > .chero .eyebrow{font-size:12px;font-weight:300}
.featured-result{opacity:.6}
.hero .copy{font-size:16px;line-height:1.5}

/* Typography scale: H1 / H2 / project H3 / subtitle H4 / impact H5 / body. */
body{font-size:16px;line-height:1.6}
.hero h1,.chero h1,.case-story .chero h1{font-size:clamp(48px,6.667vw,96px);line-height:1.04}
#work .bhead h2,.split-callout h2,.about-content h2,.leadership-brief h2,.case-story .sec h2{font-size:clamp(36px,3.75vw,54px);line-height:1.1}
.featured-case h3,.wcard h3{font-size:32px;line-height:1.15}
.page[data-page="home"] .eyebrow,.featured-index,.case-story > .chero .eyebrow{font-size:12px;line-height:1.3}
.featured-result strong,.story-metrics strong{font-size:24px;line-height:1.2}
.btn,.btn.line,.hero .btn,.hero .btn.line{font-size:12px;line-height:1.5}
.chero .premise,.scope li,.subnav a,.bhead p,.cta p,.case-story .prose,.featured-case p,.split-callout p,.about-copy,.lead-management,.numbers dd,.foot,.back{font-size:16px;line-height:1.6}

/* Updated scale: H1 112 / H2 72 / project H3 40 / impact H5 light. */
.hero h1,.chero h1,.case-story .chero h1{font-size:clamp(48px,7.778vw,112px)}
#work .bhead h2,.split-callout h2,.about-content h2,.leadership-brief h2,.case-story .sec h2{font-size:clamp(40px,5vw,72px)}
.featured-case h3,.wcard h3{font-size:40px}
.featured-result strong,.story-metrics strong,.numbers-grid dt,.proof b,.impact b{font-weight:300}
.featured-result{display:none}

/* Wide-screen refinement and controlled line wrapping. */
.split-callout{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
#work .bhead h2,.split-callout h2,.about-content h2,.leadership-brief h2,.case-story .sec h2{
  font-size:clamp(40px,5vw,80px);
  line-height:1.05;
}
.split-callout h2{max-width:none}
.numbers-grid dt,.proof b,.impact b,.featured-result strong,.story-metrics strong{
  font-weight:500;
  letter-spacing:-.02em;
}

/* Four editorial case studies: one reading measure and room for real product evidence. */
.case-story{background:var(--hero-bg)}
.case-story .chero{padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(56px,7vw,96px)}
.case-story .chero h1{max-width:21ch;font-size:clamp(2.6rem,4.8vw,5.2rem);line-height:1.04;margin-top:22px}
.case-story .premise{max-width:68ch;line-height:1.55}
.case-story .scope{max-width:980px;margin-top:clamp(48px,5vw,74px)}
.case-story .scope li{font-size:clamp(.94rem,1.15vw,1.15rem);font-weight:600;border-color:var(--line)}
.story-body{padding-bottom:80px}
.case-story .sec{grid-template-columns:minmax(110px,2fr) minmax(0,8fr);gap:clamp(20px,6vw,96px);padding:clamp(68px,8vw,112px) 0;border:0}
.case-story .sec + .sec{border:0}
.case-story .sec>.lab{position:static;color:var(--muted);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;padding-top:7px}
.case-story .sec>.body{max-width:1040px}
.case-story .sec h2{max-width:22ch;font-size:clamp(1.9rem,2.8vw,3rem);line-height:1.12;margin:0 0 24px}
.case-story .sec h3{font-size:clamp(1.25rem,1.8vw,1.7rem);font-weight:700;margin:64px 0 18px}
.case-story .prose,.case-story p.prose,.case-story .story-points{max-width:720px;color:var(--muted);font-size:clamp(1.05rem,1.2vw,1.2rem);line-height:1.65}
.case-story .prose p{margin:0 0 1.1em}
.story-points{display:grid;gap:18px;margin:0 0 38px}
.story-points p{margin:0}.story-points strong{color:var(--ink);font-weight:700}
.case-story .shot{margin:42px 0 0;padding:clamp(12px,2vw,28px);border-radius:0;background:var(--paper)}
.case-story .shot img{display:block;width:100%;height:auto;border-radius:0;box-shadow:none}
.case-story .shot>button{border-radius:0}
.case-story .shot figcaption{font-size:.88rem;line-height:1.5;color:var(--muted);margin:15px 0 0}
.case-story .shot figcaption{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.case-story .figs.two{margin-top:28px;gap:24px}
.case-story .figs.two .shot{margin:0}
.case-story .system-grid-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.case-story .system-grid-gallery .shot{padding:16px}
.case-story .strategy-map{max-width:1020px;margin:44px 0 0;padding:clamp(24px,4vw,52px);background:var(--paper)}
.strategy-layer{background:var(--accent);color:#fff;padding:20px 24px;font-weight:700;font-size:clamp(1.2rem,1.7vw,1.75rem);letter-spacing:-.025em}
.strategy-modules{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:30px}
.strategy-modules span{display:grid;place-items:center;text-align:center;min-height:64px;padding:12px 7px;background:var(--soft);color:var(--ink);font-size:.9rem;line-height:1.25}
.contract-map .strategy-modules{grid-template-columns:repeat(3,minmax(0,1fr))}
.strategy-map figcaption{margin-top:20px;color:var(--muted);font-size:.85rem}
.case-story .workflow{grid-template-columns:repeat(5,minmax(0,1fr));margin:34px 0 0}
.evidence-caveat{max-width:700px;color:var(--muted);font-size:.93rem;line-height:1.6;margin:30px 0 0}
.story-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px;margin-top:48px;max-width:850px}
.story-metrics>div{display:flex;flex-direction:column;gap:12px}
.story-metrics strong{font-size:clamp(2.4rem,4.2vw,4.5rem);letter-spacing:-.06em;line-height:1;font-weight:700}
.story-metrics span{max-width:28ch;color:var(--muted);font-size:1rem;line-height:1.45}
.impact-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}
.impact-outcomes>div{display:flex;flex-direction:column;gap:4px}
.impact-outcomes strong{font-size:1.12rem;line-height:1.25;font-weight:600}
.impact-outcomes span{color:var(--muted);font-size:1.05rem;line-height:1.4}
.vision-principles + .sec .story-metrics strong{font-size:1.15rem;letter-spacing:-.02em;line-height:1.2}
.story-continue{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:clamp(28px,5vw,80px);margin-top:64px;padding:clamp(36px,5vw,72px) 0 24px;border-top:0}
.story-continue .eyebrow{display:block;color:var(--muted);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.story-continue h2{max-width:18ch;margin:18px 0 18px;font-size:clamp(1.8rem,2.8vw,3rem);line-height:1.08}
.story-continue h3{margin:18px 0 28px;font-size:clamp(1.4rem,2vw,2rem);line-height:1.12}
.story-continue p{max-width:48ch;margin:0 0 28px;color:var(--muted);font-size:1rem;line-height:1.55}
.continue-talk{align-self:end;padding:clamp(24px,3vw,42px);background:var(--paper)}
.continue-link{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-weight:700;text-decoration:none}
.continue-link span{color:var(--accent);opacity:0;transform:translate(-4px,4px);transition:opacity .16s ease,transform .16s ease}
.continue-link:hover span,.continue-link:focus-visible span{opacity:1;transform:translate(2px,-2px)}
.continue-link:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
@media(max-width:760px){.case-story .sec{grid-template-columns:1fr;gap:16px;padding:60px 0}.case-story .sec>.lab{padding:0}.case-story .scope{grid-template-columns:repeat(2,minmax(0,1fr))}.case-story .figs.two,.case-story .system-grid-gallery{grid-template-columns:1fr}.case-story .workflow{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-map .strategy-modules{grid-template-columns:1fr}.story-metrics{gap:32px 20px}.impact-outcomes{grid-template-columns:1fr;gap:24px}}
@media(max-width:760px){.story-continue{grid-template-columns:1fr;margin-top:40px}.continue-talk{align-self:stretch}}
@media(max-width:430px){.story-metrics{grid-template-columns:1fr}.case-story .chero h1{font-size:clamp(2.35rem,10vw,3.1rem)}}

/* Portfolio typography scale — one place to adjust the live hierarchy. */
body{font-size:1rem;line-height:1.6}
.nowrap{white-space:nowrap}
.hero h1,.chero h1,.case-story .chero h1{font-size:clamp(3rem,6.667vw,6rem);line-height:1.04}
#work .bhead h2,.split-callout h2,.about-content h2,.leadership-brief h2,.case-story .sec h2{font-size:clamp(2rem,2.778vw,2.5rem);line-height:1.16}
.featured-case h3{font-size:2rem;line-height:1.15}
.featured-result strong,.story-metrics strong{font-size:1.5rem;line-height:1.2;letter-spacing:-.035em}
.hero .copy,.chero .premise,.case-story .premise{font-size:1.25rem;line-height:1.55}
.featured-case p,.case-story .prose,.case-story p.prose,.case-story .story-points,.about-copy,.split-callout p,.lead-management{font-size:1rem;line-height:1.6}
@media(max-width:760px){.hero h1,.chero h1,.case-story .chero h1{font-size:clamp(2.75rem,10vw,4rem)}}
@media(max-width:430px){.case-story .chero h1{font-size:clamp(2.75rem,10vw,4rem)}}

/* Keep the home flow continuous between Explore and Leadership. */
.page[data-page="home"] > .block + .block::before{display:none}

.case-story video{display:block;width:100%;height:auto;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.video-placeholder{display:grid;place-items:center;min-height:260px;margin-top:28px;border:1px dashed var(--line);background:var(--paper);color:var(--muted);font-size:.9rem}
.ai-screens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.ai-screens .shot{margin:0}
.ai-screens img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain}
@media(max-width:760px){.ai-screens{grid-template-columns:1fr}}
.principle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);margin-top:32px}
.principle-grid p{display:grid;gap:12px;margin:0;padding:28px;background:var(--paper);min-height:150px}
.principle-grid p strong{font-size:1.15rem;color:var(--ink)}
.principle-grid p span{color:var(--muted)}
.principle-grid p:last-child{grid-column:1/-1}
@media(max-width:700px){.principle-grid{grid-template-columns:1fr}}

body.is-locked{overflow:hidden}
.site-lock{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:var(--bg);color:var(--ink)}
.site-lock.is-unlocked{display:none}
.site-lock-card{width:min(100%,520px);padding:clamp(28px,6vw,64px);border:1px solid var(--line);background:var(--paper)}
.site-lock-card h1{margin:18px 0 32px;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05;letter-spacing:-.04em}
.site-lock-card form{display:grid;gap:12px}.site-lock-card label{font-size:.85rem;color:var(--muted)}.site-lock-card input{width:100%;padding:14px 16px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit}.site-lock-card input:focus-visible{outline:2px solid var(--ac);outline-offset:3px}.site-lock-card .btn{justify-self:start;margin-top:8px}.site-lock-error{margin:4px 0 0;color:#ff8d8d;font-size:.9rem}

/* Private portfolio entry */
.site-lock{display:block;overflow-y:auto;padding:0 clamp(24px,6vw,88px);background:radial-gradient(ellipse at 84% 42%,rgba(66,73,188,.15),transparent 34%),var(--bg)}
.access-shell{width:min(100%,1280px);min-height:100%;margin:0 auto;display:flex;flex-direction:column}
.access-header{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.access-name{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:700;letter-spacing:-.02em}
.access-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid #5b63dc;border-radius:50%;color:#b8bbff;font-size:.77rem;letter-spacing:-.04em}
.access-header-note{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.82rem;letter-spacing:.02em}
.access-header-note i{width:3px;height:3px;border-radius:50%;background:#777fe5}
.access-main{flex:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);align-items:center;gap:clamp(48px,9vw,132px);padding:clamp(64px,10vh,112px) 0}
.access-intro{max-width:700px}
.access-kicker,.access-card-label{display:inline-flex;align-items:center;gap:10px;color:#b8bbff;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.access-kicker-dot{width:7px;height:7px;border-radius:50%;background:#8188ff;box-shadow:0 0 18px rgba(129,136,255,.7)}
.access-intro h1{max-width:11ch;margin:28px 0 24px;font-size:clamp(3.25rem,6.2vw,6rem);line-height:.99;letter-spacing:-.065em;font-weight:800}
.access-intro h1 span{color:#aeb3ff}
.access-copy{max-width:46ch;margin:0;color:#b4bdcf;font-size:clamp(1.1rem,1.5vw,1.25rem);line-height:1.6}
.access-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px);margin-top:clamp(46px,8vh,84px);padding-top:20px;border-top:1px solid var(--line)}
.access-proof div{display:flex;flex-direction:column;gap:8px}
.access-proof strong{font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1;font-weight:700;letter-spacing:-.05em}
.access-proof span{max-width:15ch;color:var(--muted);font-size:.86rem;line-height:1.4}
.site-lock-card{width:100%;max-width:440px;justify-self:end;padding:clamp(28px,4vw,44px);border:1px solid #3b4354;border-radius:12px;background:linear-gradient(145deg,rgba(36,43,59,.88),rgba(23,28,41,.97));box-shadow:0 28px 90px rgba(0,0,0,.22)}
.access-card-label{font-size:.7rem;letter-spacing:.12em}
.site-lock-card h2{margin:24px 0 10px;font-size:clamp(2rem,3.4vw,2.75rem);line-height:1;letter-spacing:-.05em}
.access-card-copy{margin:0 0 32px;color:var(--muted);font-size:1rem;line-height:1.55}
.site-lock-card form{display:grid;gap:12px}
.site-lock-card label{font-size:.9rem;color:var(--ink);font-weight:500}
.site-lock-card input{min-height:54px;padding:14px 16px;border:1px solid #555d71;border-radius:6px;background:rgba(12,15,22,.46);color:var(--ink);font:inherit;font-size:1rem;transition:border-color .18s,box-shadow .18s}
.site-lock-card input:focus-visible{outline:0;border-color:#8990ff;box-shadow:0 0 0 3px rgba(113,121,255,.2)}
.site-lock-card .btn{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:0 20px;border:1px solid #747aff;border-radius:6px;background:#5158d8;color:#fff;font:inherit;font-weight:650;text-decoration:none;transition:background .18s,transform .18s}
.site-lock-card .btn:hover{background:#6269e8;transform:translateY(-1px)}
.site-lock-card .btn:focus-visible{outline:2px solid #c3c6ff;outline-offset:3px}
.access-arrow{font-size:1.25rem;line-height:1}
.site-lock-error{margin:4px 0 0;color:#ffaaaa;font-size:.9rem}
.access-card-foot{display:flex;align-items:center;gap:9px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}
.access-lock-icon{width:20px;height:20px;display:grid;place-items:center;border:1px solid #7880f0;border-radius:50%;color:#b8bbff}.access-lock-icon svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.2}
.access-footer{display:flex;justify-content:space-between;gap:20px;padding:20px 0 24px;border-top:1px solid var(--line);color:#8f99ad;font-size:.8rem}
.access-footer i{padding:0 4px;color:#b8bbff;font-style:normal}
@media(max-width:860px){.access-main{grid-template-columns:1fr;gap:44px;padding:clamp(52px,9vh,84px) 0}.access-intro{max-width:680px}.access-intro h1{max-width:12ch;font-size:clamp(3.2rem,9vw,5.2rem)}.site-lock-card{max-width:none;justify-self:stretch}.access-proof{margin-top:48px}}
@media(max-width:560px){.site-lock{padding:0 22px;background:radial-gradient(ellipse at 100% 20%,rgba(66,73,188,.13),transparent 38%),var(--bg)}.access-header{min-height:68px}.access-header-note{font-size:0}.access-header-note i{width:6px;height:6px}.access-main{gap:38px;padding:50px 0 44px}.access-kicker{font-size:.69rem}.access-intro h1{margin:22px 0 18px;font-size:clamp(2.85rem,13vw,4.1rem)}.access-copy{font-size:1.05rem}.access-proof{gap:12px;margin-top:38px;padding-top:16px}.access-proof strong{font-size:1.55rem}.access-proof span{font-size:.76rem}.site-lock-card{padding:26px 22px}.access-footer{flex-direction:column;gap:7px;padding:16px 0 20px;font-size:.76rem}}
.system-layers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.system-layers>div{padding:24px 20px 26px 0;border-right:1px solid var(--line)}
.system-layers>div+div{padding-left:20px}
.system-layers>div:last-child{border-right:0}
.system-layers strong{display:block;color:var(--accent);font-size:1.8rem;line-height:1;font-weight:700}
.system-layers h3{margin:16px 0 8px;font-size:1.05rem}
.system-layers p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.45}
@media(max-width:760px){.system-layers{grid-template-columns:repeat(2,minmax(0,1fr))}.system-layers>div:nth-child(2){border-right:0}.system-layers>div:nth-child(n+3){border-top:1px solid var(--line)}}

/* Section hierarchy: these are H2s, with a 64px desktop cap. */
#work .bhead h2,.split-callout h2,.about-content h2,.leadership-brief h2,.case-story .sec h2,.story-continue h2,.cta h2,.next h2{
  font-size:clamp(40px,4.444vw,64px);
  line-height:1.08;
}

/* Final type scale. */
.btn,.btn.line,.hero .btn,.hero .btn.line{font-size:16px}
#work .bhead h2,.split-callout h2,.about-content h2,.leadership-brief h2,.case-story .sec h2,.story-continue h2,.cta h2,.next h2{
  font-size:clamp(32px,3.333vw,48px);
}
