@font-face{font-family:aktiv-grotesk;src:url("https://use.typekit.net/af/855c4b/00000000000000007753ca4f/31/l?subset_id=2&fvd=n4&v=3") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:aktiv-grotesk;src:url("https://use.typekit.net/af/36c3c6/00000000000000007753ca29/31/l?subset_id=2&fvd=n5&v=3") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:aktiv-grotesk;src:url("https://use.typekit.net/af/0e4445/00000000000000007753ca37/31/l?subset_id=2&fvd=n7&v=3") format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{--paper:#fff;--ink:#000;--muted:#686868;--line:#d8d8d8;--soft:#f4f4f1;--progress:0;--shift:0px;--case-gutter:clamp(20px,4vw,72px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html.is-editorial-scrolling{scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.52 aktiv-grotesk,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.home{overscroll-behavior:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block;max-width:100%}
.skip-link{position:fixed;z-index:100;left:12px;top:10px;padding:10px 14px;background:#000;color:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.topbar{position:fixed;z-index:40;inset:0 0 auto;height:68px;padding:0 6vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(14px)}
.brand{justify-self:start;display:inline-flex;align-items:center;gap:11px;font-size:15px;font-weight:600;border:0;background:none;padding:0;cursor:pointer;white-space:nowrap}
.brand-label{display:inline-flex}.brand-label span{display:inline-block;transform-origin:50% 100%}
.brand:hover .brand-label span,.brand:focus-visible .brand-label span{animation:brand-wave .52s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--letter)*28ms)}
.headshot{width:36px;height:36px;border-radius:50%;object-fit:cover;object-position:center 22%;background:#eee}
.headshot--glow{animation:headshot-glow .9s cubic-bezier(.22,.61,.36,1)}
.headshot--pulse{animation:headshot-pulse .62s cubic-bezier(.34,1.56,.64,1)}
.headshot--bob{animation:headshot-bob .7s cubic-bezier(.22,.61,.36,1)}
@keyframes headshot-glow{0%,100%{box-shadow:0 0 0 0 rgba(232,166,181,0)}45%{box-shadow:0 0 0 5px rgba(232,166,181,.34),0 0 18px rgba(232,166,181,.48)}}
@keyframes headshot-pulse{0%,100%{transform:scale(1)}42%{transform:scale(.96)}68%{transform:scale(1.035)}}
@keyframes headshot-bob{0%,100%{transform:translateY(0)}42%{transform:translateY(-3px)}72%{transform:translateY(1px)}}
@keyframes brand-wave{0%,100%{transform:translateY(0)}48%{transform:translateY(-4px)}}
.topnav{display:flex;gap:26px;font-size:16px}
.topnav a,.topnav button{position:relative;border:0;background:none;padding:8px 0;cursor:pointer}
.topnav a:after,.topnav button:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .24s cubic-bezier(.22,.61,.36,1)}
.topnav a:hover:after,.topnav a:focus-visible:after,.topnav a[aria-current=page]:after,.topnav button:hover:after,.topnav button:focus-visible:after{transform:scaleX(1)}
.socials{justify-self:end;display:flex;align-items:center;gap:14px}
.socials a{display:grid;place-items:center;width:28px;height:28px}
.socials svg{width:21px;height:21px}
.socials a:hover{opacity:.55}
.socials a:focus-visible,.topnav a:focus-visible,.brand:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.site-footer{display:flex;justify-content:space-between;gap:30px;padding:40px 6vw;border-top:1px solid var(--line);font-size:14px}
.site-footer nav{display:flex;gap:20px}

/* Homepage identity transition */
.intro-transition{display:none;position:fixed;z-index:1000;inset:0;place-items:center;overflow:hidden;color:#000}
.intro-transition__wash{position:absolute;inset:0;background:#e8a6b5}
.intro-transition__identity{position:relative;z-index:1;display:flex;align-items:center;gap:clamp(24px,2.4vw,38px);white-space:nowrap}
.intro-transition__identity img{width:clamp(118px,12vw,164px);height:clamp(118px,12vw,164px);border-radius:50%;object-fit:cover;object-position:center 22%;background:#f1bcc7;transform-origin:top left}
.intro-transition__identity span{font-size:clamp(3rem,7vw,7.4rem);font-weight:500;line-height:.92;letter-spacing:-.045em;transform-origin:top left}
html.intro-will-play .intro-transition{display:grid}
html.intro-will-play body{overflow:hidden}
html.intro-will-play .topbar .brand{visibility:hidden}
html.intro-will-play .topbar .topnav,html.intro-will-play .topbar .socials{opacity:0}
.topnav,.socials{transition:opacity .28s ease}

/* Home, a horizontal portfolio journey */
.journey{height:var(--journey-height,720vh);position:relative}.stage{position:sticky;top:0;height:100vh;overflow:hidden}
.world{height:100%;display:flex;align-items:center;gap:7vw;width:max-content;padding:68px 6vw 74px;transform:translate3d(var(--shift),0,0);will-change:transform}
.scene{height:min(76vh,760px);width:88vw;max-width:1320px;flex:none;position:relative}
.scene:focus,.scene:focus-visible{outline:none}
.kicker,.meta{font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--muted)}
.scene-marker{position:absolute;z-index:3;top:0;left:0;display:flex;align-items:baseline;gap:10px;max-width:100%;font-family:aktiv-grotesk,Arial,sans-serif;font-size:13px;line-height:1.2;white-space:nowrap;opacity:var(--label-opacity,1);transform:translate3d(var(--label-x,0),0,0);will-change:transform,opacity}
.scene-marker strong{font-weight:700;letter-spacing:-.01em}
.scene-marker span{color:var(--muted);font-weight:500}
.scene-marker span+span:before,.scene-marker strong+span:before{content:"·";margin-right:10px;color:var(--line)}
.project-copy,.intro-main,.final-main,.selected-intro{opacity:var(--copy-opacity,1);transform:translate3d(var(--copy-x,0),var(--copy-y,0),0);will-change:transform,opacity}
.intro-side,.final-side,.selected-list{opacity:var(--side-opacity,1);transform:translate3d(var(--side-x,0),0,0);will-change:transform,opacity}
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.32fr);gap:5vw;align-content:center;align-items:center}
.intro h1{font-size:clamp(3.25rem,4.9vw,5.8rem);font-weight:500;letter-spacing:-.042em;line-height:.94;margin:18px 0 28px;max-width:1120px}
.intro-copy{font-size:clamp(1.04rem,1.35vw,1.25rem);max-width:720px;color:#414141}
.intro-side{align-self:center;border-left:1px solid var(--line);padding-left:27px;margin:0}
.intro-side p{margin:6px 0 25px;max-width:330px}
.focus-list{display:flex;flex-wrap:wrap;gap:5px 14px}
.focus-list span{white-space:nowrap}
.journey-link{display:flex;justify-content:space-between;width:100%;padding:13px 0;border:0;border-top:1px solid #000;background:none;text-align:left;cursor:pointer}.journey-link:hover{text-decoration:underline;text-underline-offset:5px}
.journey-link>span:last-child,.explore>span:last-child,.final-links a>span:last-child,.contact-options a>span:last-child{display:inline-block;transition:transform .18s cubic-bezier(.22,.61,.36,1)}
.journey-link:hover>span:last-child,.journey-link:focus-visible>span:last-child,.explore:not([target="_blank"]):hover>span:last-child,.explore:not([target="_blank"]):focus-visible>span:last-child,.final-links a:not([target="_blank"]):hover>span:last-child,.final-links a:not([target="_blank"]):focus-visible>span:last-child{transform:translateX(3px)}
.project-copy .explore:hover>span:last-child,.project-copy .explore:focus-visible>span:last-child{animation:case-arrow-sweep .48s cubic-bezier(.22,.61,.36,1)}
@keyframes case-arrow-sweep{0%{transform:translateX(0)}55%{transform:translateX(8px)}100%{transform:translateX(3px)}}
.explore[target="_blank"]:hover>span:last-child,.explore[target="_blank"]:focus-visible>span:last-child,.final-links a[target="_blank"]:hover>span:last-child,.final-links a[target="_blank"]:focus-visible>span:last-child,.contact-options a[target="_blank"]:hover>span:last-child,.contact-options a[target="_blank"]:focus-visible>span:last-child{transform:translate(2px,-2px)}
.project-scene{display:grid;grid-template-columns:minmax(340px,.76fr) minmax(560px,1.24fr);gap:1vw;align-items:center}
.project-copy{position:relative;z-index:2;align-self:stretch;padding:58px 0 16px;display:flex;flex-direction:column}
.counter{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:auto}
.project-copy h2{position:relative;z-index:2;width:calc(100% + 3vw);font-size:clamp(2.5rem,4.7vw,5.4rem);line-height:.96;letter-spacing:-.042em;font-weight:700;margin:24px 0}
.project-copy h2 a{display:inline-block;transition:transform .24s cubic-bezier(.22,.61,.36,1),color .24s ease}
.project-copy h2 a:hover,.project-copy h2 a:focus-visible{color:#252525;transform:translateX(4px)}
.project-copy h2 a:focus-visible{outline:2px solid #000;outline-offset:6px}
.project-copy>p{font-size:18px;color:#454545;max-width:490px}
.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:24px}.tag{border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:12px}
.explore{margin-top:auto;display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:13px;font-weight:700}
.explore:hover span:first-child{text-decoration:underline;text-underline-offset:5px}
.case-external-link{margin-top:55px}.case-external-links{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:55px}.case-external-links .explore{min-width:min(100%,260px)}
.project-image{position:relative;z-index:1;width:calc(100% + 4vw);height:106%;margin-left:-3vw;border:0;background:transparent;box-shadow:none;overflow:hidden;opacity:var(--card-opacity,1);transform:translate3d(var(--card-x,0),0,0) scale(var(--card-scale,1));clip-path:inset(0 var(--card-clip-right,0%) 0 var(--card-clip-left,0%));transform-origin:50% 50%;will-change:transform,opacity,clip-path}
.project-scene[data-scene="1"] .project-image{width:calc(100% + 6vw);margin-left:-4.5vw}
.project-image img{width:100%;height:100%;object-fit:contain;padding:0;background:transparent;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.project-image:hover img{transform:scale(1.025)}
.project-image--how-sure img{object-fit:contain;background:transparent}
.project-copy .explore{margin-top:clamp(34px,4.5vh,56px)}
.selected-scene{display:grid;grid-template-columns:minmax(340px,.78fr) minmax(560px,1.22fr);gap:6vw;align-items:center}.selected-intro h2{font-size:clamp(2.7rem,4.6vw,5.2rem);line-height:.96;letter-spacing:-.042em;margin:20px 0 26px}.selected-intro>p{max-width:520px;font-size:18px;color:#454545}.selected-list{border-top:1px solid #000}.selected-work{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px 16px;padding:22px 52px 24px 0;border-bottom:1px solid var(--line)}.selected-work .meta{grid-column:1/-1}.selected-work strong{font-size:clamp(1.3rem,2vw,2rem);line-height:1.1;letter-spacing:-.025em;font-weight:500}.selected-proof{grid-column:1/-1;font-size:13px;line-height:1.4;color:#555}.selected-arrow{position:absolute;right:0;top:50%;font-size:20px;transform:translateY(-50%);transition:transform .18s cubic-bezier(.22,.61,.36,1)}.selected-work:hover strong{text-decoration:underline;text-underline-offset:6px}.selected-work:hover .selected-arrow,.selected-work:focus-visible .selected-arrow{transform:translate(3px,-50%)}
.final{display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:center}
.final h2{font-size:clamp(3.1rem,6.2vw,7rem);font-weight:500;line-height:.92;letter-spacing:-.045em;margin:16px 0}
.final-side{border-left:1px solid var(--line);padding-left:26px}.final-side p{font-size:20px;margin:5px 0 38px}
.final-links a{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0}.final-links a:hover span:first-child{text-decoration:underline}
.timeline{position:fixed;z-index:35;left:6vw;right:6vw;bottom:30px;height:34px;font-size:12px;text-transform:uppercase;letter-spacing:.075em;color:#595959}
.timeline-track{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}.timeline-fill{position:absolute;inset:0 auto 0 0;width:calc(var(--progress)*100%);background:#000}
.timeline-point{position:absolute;z-index:2;top:50%;width:44px;height:44px;padding:0;border:0;background:transparent;transform:translate(-50%,-50%);cursor:pointer}
.timeline-point:before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border:1.5px solid #000;border-radius:50%;background:#fff;transform:translate(-50%,-50%);transition:.2s}
.timeline-point:after{content:attr(data-label);position:absolute;left:50%;bottom:39px;padding:0 5px;background:rgba(255,255,255,.95);white-space:nowrap;color:#505050;font-size:12px;line-height:1.1;font-weight:500;opacity:1;transform:translate(-50%,0);transition:.2s}
.timeline-point:hover:before,.timeline-point:focus-visible:before,.timeline-point.active:before{background:#000;transform:translate(-50%,-50%) scale(1.3)}
.timeline-point:hover:after,.timeline-point:focus-visible:after,.timeline-point.active:after{color:#000;opacity:1;transform:translate(-50%,0)}
.timeline-point:hover:after,.timeline-point:focus-visible:after{animation:timeline-label-bounce 1.65s cubic-bezier(.34,1.56,.64,1) infinite}
@keyframes timeline-label-bounce{0%,42%,100%{translate:0 0}12%{translate:0 -5px}22%{translate:0 0}31%{translate:0 -2px}}
.timeline-point.active:after{font-weight:700}
.timeline-point:first-of-type:after{left:50%;padding-left:0;transform:translate(0,0)}
.timeline-point:first-of-type:hover:after,.timeline-point:first-of-type:focus-visible:after,.timeline-point:first-of-type.active:after{transform:translate(0,0)}
.timeline-point:last-of-type:after{left:auto;right:50%;padding-right:0;transform:translate(0,0)}
.timeline-point:last-of-type:hover:after,.timeline-point:last-of-type:focus-visible:after,.timeline-point:last-of-type.active:after{transform:translate(0,0)}
.timeline-point:focus-visible{outline:1px solid #000;outline-offset:2px}
.scene-index{position:absolute;right:0;top:-57px;color:#4b4b4b;font-weight:500}
.timeline-instruction{position:absolute;left:0;bottom:72px;display:flex;align-items:center;gap:9px;color:#000;font-size:11px;font-weight:700;letter-spacing:.1em;white-space:nowrap;transition:opacity .25s ease,transform .25s ease}
.timeline-instruction b{font-size:16px;line-height:1;font-weight:500}
.has-moved .timeline-instruction{opacity:0;transform:translateY(6px);pointer-events:none}

/* Case studies */
.reading-progress{position:fixed;z-index:60;inset:0 0 auto;height:3px;background:#000;transform-origin:left;transform:scaleX(0)}
.case-main{padding-top:68px}
.case-hero{min-height:calc(100svh - 68px);padding:8vh 6vw 7vh;display:grid;grid-template-columns:minmax(0,.8fr) minmax(500px,1.2fr);gap:6vw;align-items:end;border-bottom:1px solid var(--line)}
.case-hero-copy{align-self:center}.case-hero h1{font-size:clamp(3.4rem,6.5vw,7.5rem);font-weight:700;line-height:.92;letter-spacing:-.045em;margin:18px 0 30px}
.case-hero-intro{font-size:clamp(1.05rem,1.5vw,1.35rem);max-width:650px;color:#414141}
.case-hero-image{height:min(69vh,760px);border:1px solid #000;background:var(--soft);overflow:hidden;box-shadow:12px 12px 0 #000}
.case-hero-image img{width:100%;height:100%;object-fit:contain;padding:clamp(14px,1.4vw,26px);background:var(--soft)}
.case-scan{max-width:1280px;margin:auto;padding:95px var(--case-gutter) 0}.case-scan h2{font-size:clamp(2.25rem,3.6vw,4.25rem);line-height:1;letter-spacing:-.04em;margin:14px 0 45px}
.fact-grid{display:grid;grid-template-columns:repeat(3,1fr) minmax(1.15fr,1.35fr);border:1px solid #000}.fact{min-height:155px;padding:22px;display:flex;flex-direction:column;justify-content:space-between}.fact+.fact{border-left:1px solid #000}.fact strong{font-size:18px;line-height:1.25;font-weight:500}.fact--outcome{background:#000;color:#fff}.fact--outcome .meta{color:#bdbdbd}.fact--outcome strong{font-size:clamp(1.35rem,2vw,2rem);line-height:1.05;font-weight:700;letter-spacing:-.025em}
.case-scan--editorial h2{max-width:850px;margin-bottom:64px}.case-snapshot{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:8vw;padding-bottom:64px;border-bottom:1px solid #000}.snapshot-narrative{max-width:720px}.snapshot-narrative p{font-size:clamp(1.2rem,1.65vw,1.55rem);line-height:1.48;letter-spacing:-.018em;margin:0}.snapshot-narrative p+p{margin-top:24px}.snapshot-facts{margin:0}.snapshot-facts div{padding:12px 0 14px;border-top:1px solid var(--line)}.snapshot-facts div:last-child{border-bottom:1px solid var(--line)}.snapshot-facts dt{font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--muted)}.snapshot-facts dd{margin:6px 0 0;font-size:16px;line-height:1.4}.snapshot-shift{display:grid;grid-template-columns:minmax(150px,.34fr) minmax(0,1.66fr);gap:4vw;padding:46px 0 54px;border-bottom:1px solid #000}.snapshot-shift strong{max-width:940px;font-size:clamp(2rem,3.5vw,4rem);line-height:1.03;letter-spacing:-.04em;font-weight:500}.snapshot-story{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #000}.snapshot-story>div{min-height:190px;padding:28px 30px 34px 0;display:flex;flex-direction:column;justify-content:space-between}.snapshot-story>div+div{border-left:1px solid var(--line);padding-left:30px}.snapshot-story strong{font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.35;font-weight:500;max-width:330px}.snapshot-evidence{display:grid;grid-template-columns:minmax(150px,.34fr) minmax(0,1.66fr);gap:4vw;padding:34px 0 0}.snapshot-evidence p{max-width:850px;margin:0;font-size:18px;line-height:1.6;color:#292929}
.case-layout{display:grid;grid-template-columns:220px minmax(0,760px);column-gap:clamp(40px,5vw,72px);row-gap:0;max-width:1280px;margin:auto;padding:90px var(--case-gutter) 150px}
.chapter-rail{grid-column:1;grid-row:1/span 3;position:sticky;top:110px;align-self:start;max-height:calc(100vh - 150px);overflow:auto;padding-right:18px}
.chapter-rail .meta{display:block;margin-bottom:18px}.chapter-rail a{display:block;padding:8px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.3;color:var(--muted);transition:color .18s ease,transform .18s cubic-bezier(.22,.61,.36,1)}
.chapter-rail a:hover,.chapter-rail a.active{color:#000}.chapter-rail a.active{font-weight:700;transform:translateX(3px)}
.case-controls,.mobile-chapter-menu,.case-article{grid-column:2}.case-controls{display:flex;justify-content:flex-end;border-bottom:1px solid var(--line);padding-bottom:14px}.case-controls button{border:0;background:none;padding:8px 0;text-decoration:underline;text-underline-offset:5px;cursor:pointer}.case-controls button:focus-visible{outline:2px solid #000;outline-offset:3px}
.mobile-chapter-menu{display:none}
.case-article{min-width:0}.case-article>*{opacity:0;transform:translateY(12px);transition:opacity .48s ease,transform .48s cubic-bezier(.2,.7,.2,1)}.case-article>*.visible{opacity:1;transform:none}
.case-article h2{font-size:clamp(2.2rem,3.5vw,3.9rem);font-weight:700;line-height:1.02;letter-spacing:-.038em;margin:135px 0 32px;padding-top:30px;border-top:1px solid #000}
.case-article h2:before{content:attr(data-chapter);display:block;margin-bottom:18px;font-size:12px;line-height:1.4;letter-spacing:.15em;font-weight:700;color:var(--muted)}
.case-section:first-of-type h2{margin-top:45px}
.case-article h3{font-size:clamp(1.5rem,2.3vw,2.4rem);line-height:1.1;letter-spacing:-.025em;margin:70px 0 22px}
.case-article h4{font-size:14px;text-transform:uppercase;letter-spacing:.13em;margin:55px 0 16px}
.case-article p,.case-article li{font-size:18px;line-height:1.65;color:#292929}
.case-article p{margin:0 0 25px}.case-article ul{margin:0 0 34px;padding-left:1.25em}.case-article li{padding:4px 0}
.case-article .section-label{margin:80px 0 12px;font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.15em;font-weight:700;color:var(--muted)}
.case-section>p,.case-section>ul,.case-section>h3,.case-section>h4,.case-section>.section-label,.case-section>blockquote,.deep-dive-body>p,.deep-dive-body>ul,.deep-dive-body>h3,.deep-dive-body>h4,.deep-dive-body>.section-label,.deep-dive-body>blockquote{max-width:680px}
.case-article blockquote{font-size:clamp(1.55rem,2.5vw,2.65rem);line-height:1.18;letter-spacing:-.025em;margin:65px 0;padding:0 0 0 30px;border-left:4px solid #000}
.decision-questions{counter-reset:question;list-style:none;margin:48px 0 68px!important;padding:0!important;border-top:1px solid #000;border-bottom:1px solid #000}.case-article .decision-questions li{counter-increment:question;display:grid;grid-template-columns:58px 1fr;gap:20px;align-items:center;padding:19px 0;font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.25;color:#111}.case-article .decision-questions li+li{border-top:1px solid var(--line)}.decision-questions li:before{content:counter(question,decimal-leading-zero);font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--muted)}
.workflow-chain{counter-reset:workflow;list-style:none!important;display:grid;grid-template-columns:repeat(4,1fr);margin:42px 0 66px!important;padding:0!important;border-top:1px solid #000;border-bottom:1px solid #000}.case-article .workflow-chain li{counter-increment:workflow;position:relative;min-height:126px;padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;font-size:16px;line-height:1.35;color:#111}.workflow-chain li+li{border-left:1px solid var(--line)}.workflow-chain li:before{content:counter(workflow,decimal-leading-zero);font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--muted)}.workflow-chain li:not(:last-child):after{content:'→';position:absolute;right:-8px;bottom:16px;z-index:1;width:16px;text-align:center;background:#fff;color:var(--muted)}
.hierarchy-sequence{counter-reset:hierarchy;list-style:none!important;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:48px 0 66px!important;padding:1px 0!important;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.case-article .hierarchy-sequence li{counter-increment:hierarchy;min-height:140px;padding:22px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;font-size:19px;line-height:1.25;color:#111}.hierarchy-sequence li:before{content:counter(hierarchy,decimal-leading-zero);font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--muted)}
.signal-quotes{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:58px 0 70px;border-top:1px solid #000;border-bottom:1px solid #000}.case-article .signal-quotes blockquote{margin:0;padding:30px 28px 34px 0;border-left:0;font-size:clamp(1.4rem,2.15vw,2.2rem);display:flex;align-items:flex-end;min-height:220px}.case-article .signal-quotes blockquote+blockquote{padding-left:28px;border-left:1px solid var(--line)}
.signal-quotes--three{grid-template-columns:repeat(3,1fr)}.case-article .signal-quotes--three blockquote{font-size:clamp(1.2rem,1.65vw,1.75rem)}
.chapter-stat{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);align-items:end;gap:42px;margin:52px 0 66px;padding:28px 0 34px;border-top:1px solid #000;border-bottom:1px solid #000}.chapter-stat>strong{font-size:clamp(5rem,10vw,8.5rem);line-height:.78;letter-spacing:-.075em}.chapter-stat span{display:block;margin-bottom:12px;font-size:13px;line-height:1.3;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--muted)}.chapter-stat p{margin:0;font-size:17px;line-height:1.5;color:#292929}
.chapter-insight{display:grid;grid-template-columns:170px 1fr;gap:34px;margin:0 0 66px;padding:28px 0 32px;border-top:1px solid #000;border-bottom:1px solid #000}.chapter-insight p{margin:0;font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.45;letter-spacing:-.015em;color:#181818}
.report-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:52px 0 66px;border-top:1px solid #000;border-bottom:1px solid #000}.report-levels article{min-width:0;padding:20px 18px 26px 0}.report-levels article+article{padding-left:18px;border-left:1px solid var(--line)}.report-levels__trigger{display:block;width:100%;margin:0 0 23px;padding:0;overflow:hidden;border:1px solid var(--line);background:var(--soft);cursor:zoom-in}.report-levels__trigger:focus-visible{outline:3px solid #000;outline-offset:3px}.report-levels img{display:block;width:100%;height:auto;aspect-ratio:1.8/1;object-fit:cover;transition:transform .25s ease}.report-levels__trigger:hover img{transform:scale(1.025)}.report-levels .meta{display:block;margin-bottom:12px}.report-levels strong{display:block;font-size:17px;line-height:1.4;font-weight:500}
.modal-open{overflow:hidden}.image-modal{width:min(94vw,1200px);max-width:none;max-height:92vh;padding:0;border:0;background:#fff;color:#111;box-shadow:0 24px 80px rgba(0,0,0,.3)}.image-modal::backdrop{background:rgba(0,0,0,.72)}.image-modal[open]::backdrop{animation:image-modal-backdrop-in .2s ease both}.image-modal__panel{position:relative;padding:66px 24px 20px}.image-modal[open] .image-modal__panel{animation:image-modal-panel-in .22s cubic-bezier(.22,.61,.36,1) both}.image-modal__close{position:absolute;top:12px;right:14px;width:44px;height:44px;border:1px solid #000;background:#fff;color:#000;font-size:30px;line-height:1;cursor:pointer}.image-modal__close:focus-visible{outline:3px solid #fff;outline-offset:3px;background:#000;color:#fff}.image-modal figure{margin:0}.image-modal img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(92vh - 153px);margin:auto;border:1px solid var(--line);object-fit:contain}.image-modal figcaption{display:flex;gap:18px;align-items:baseline;margin-top:14px}.image-modal figcaption .meta{flex:0 0 auto}.image-modal figcaption strong{font-size:15px;line-height:1.4;font-weight:500}
@keyframes image-modal-backdrop-in{from{background:rgba(0,0,0,0)}to{background:rgba(0,0,0,.72)}}
@keyframes image-modal-panel-in{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.trust-model{margin:48px 0 66px;border-top:1px solid #000;border-bottom:1px solid #000}.trust-model__head,.trust-model__row{display:grid;grid-template-columns:.68fr 1fr 1.32fr}.trust-model__head{font-size:11px;line-height:1.4;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--muted)}.trust-model__head span,.trust-model__row>*{padding:16px 18px}.trust-model__head span+span,.trust-model__row>*+*{border-left:1px solid var(--line)}.trust-model__row{border-top:1px solid var(--line)}.trust-model__row strong{font-size:16px;line-height:1.35}.trust-model__row p{margin:0;font-size:15px;line-height:1.45;color:#292929}.trust-model__row p:last-child{color:var(--muted)}
.workflow-comparison{margin:0 0 66px;border-top:1px solid #000;border-bottom:1px solid #000}.workflow-comparison__head,.workflow-comparison__row{display:grid;grid-template-columns:1fr 1fr;gap:0}.workflow-comparison__head{font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--muted)}.workflow-comparison__head span{padding:16px 20px}.workflow-comparison__head span+span,.workflow-comparison__row p+p{border-left:1px solid var(--line)}.workflow-comparison__row{border-top:1px solid var(--line)}.workflow-comparison__row p{margin:0;padding:21px 20px;font-size:17px;line-height:1.45}.workflow-comparison__row p:first-child{color:var(--muted)}.workflow-comparison__row p:last-child{font-weight:600;color:#111}
.workflow-comparison--implementation-rules .workflow-comparison__row p:first-child{color:#111;font-weight:600}.workflow-comparison--implementation-rules .workflow-comparison__row p:last-child{font-weight:400;color:#292929}
.engineering-evidence{margin:-18px 0 66px;border:1px solid #000;background:#111;color:#fff}.engineering-evidence__head{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:20px 22px;border-bottom:1px solid #3d3d3d}.engineering-evidence__head .meta{color:#a8a8a8}.engineering-evidence__head strong{font-size:18px;line-height:1.35;font-weight:500}.engineering-evidence ol{list-style:none;margin:0!important;padding:0!important}.case-article .engineering-evidence li{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:24px;padding:17px 22px;color:#e8e8e8;font-size:14px;line-height:1.45}.engineering-evidence li+li{border-top:1px solid #333}.engineering-evidence code{font:500 13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#fff}.engineering-evidence li span{color:#bdbdbd}
.evidence-grid{display:grid;margin:0 0 55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.evidence-grid--topics{grid-template-columns:1fr 1fr}.evidence-grid--validation{grid-template-columns:repeat(3,1fr)}.evidence-grid>div{padding:22px 20px;min-height:145px}.evidence-grid>div+div{border-left:1px solid var(--line)}.evidence-grid--topics>div:nth-child(3),.evidence-grid--validation>div:nth-child(4){border-left:0}.evidence-grid--topics>div:nth-child(n+3),.evidence-grid--validation>div:nth-child(n+4){border-top:1px solid var(--line)}.evidence-grid strong{display:block;margin-bottom:24px;font-size:15px;line-height:1.3}.evidence-grid p{margin:0;font-size:15px;line-height:1.5;color:#444}
.evidence-grid--signals{grid-template-columns:1fr 1fr}.evidence-grid--signals p{font-size:18px;line-height:1.45;color:#222}
.evidence-grid--outcomes{grid-template-columns:repeat(3,1fr);border-top-color:#000;border-bottom-color:#000}.evidence-grid--outcomes>div{min-height:220px;display:flex;flex-direction:column;justify-content:flex-start}.evidence-grid--outcomes strong{margin-bottom:28px;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.evidence-grid--outcomes p{font-size:17px;line-height:1.5;color:#222}
.case-figure{margin:65px 0 85px;clear:both}.case-figure img,.case-figure video{display:block;width:100%;height:auto;object-fit:contain;border:1px solid var(--line);background:#f4f4f4}.case-figure__trigger{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.case-figure__trigger:focus-visible{outline:3px solid #000;outline-offset:4px}.case-figure__trigger img{transition:filter .2s ease}.case-figure__trigger:hover img{filter:contrast(1.035)}
.case-figure figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.framing-figure{margin-bottom:28px}.framing-figure img{background:#fff}
.domain-map{margin:45px 0 60px}.domain-map img{background:#fff}
.case-figure.asset-icon{float:left;width:88px;margin:8px 24px 14px 0}.case-figure.asset-icon img{border:0;background:transparent}
.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:65px 0 85px}.media-grid .case-figure{margin:0}.media-grid .case-figure:last-child:nth-child(odd){grid-column:1/-1}
.concept-primary{margin:50px 0 58px}.concept-primary figcaption,.concept-grid figcaption{font-size:14px;line-height:1.5;color:#333}.concept-grid{margin:0 0 68px;gap:18px}.concept-grid .case-figure{display:flex;flex-direction:column}.concept-grid figcaption{margin-top:14px}
.test-revision{margin:58px 0 68px}.test-revision figcaption{font-size:14px;line-height:1.5;color:#333}
.trust-overview{margin-bottom:36px}.trust-overview figcaption,.trust-detail-grid figcaption{font-size:14px;line-height:1.5;color:#333}.trust-detail-grid{grid-template-columns:1fr;gap:34px;margin-top:0}.trust-detail-grid .case-figure img{background:#fff}.trust-detail-grid .case-figure{padding-top:22px;border-top:1px solid var(--line)}
.deep-dive{margin:55px 0;background:var(--soft);border-top:1px solid #000;border-bottom:1px solid #000;border-left:3px solid #000;padding:0 22px}.deep-dive summary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px 0;cursor:pointer;list-style:none}.deep-dive summary::-webkit-details-marker{display:none}.deep-dive summary span{display:flex;flex-direction:column;gap:5px}.deep-dive summary small{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.deep-dive summary strong{font-size:20px;line-height:1.2;font-weight:500}.deep-dive summary i{font-style:normal;font-size:28px;line-height:1;transition:transform .2s}.deep-dive[open] summary i{transform:rotate(45deg)}.deep-dive-body{padding:18px 0 45px}.deep-dive-body>:first-child{margin-top:0}
.brief-facts{margin:0 0 32px;border-top:1px solid var(--line)}.brief-facts div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.brief-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.brief-facts dd{margin:0}.outcome-callout{padding:20px 0;border-top:1px solid var(--line)}.outcome-callout strong{display:block;margin-bottom:5px}.outcome-callout p{margin:0}
.case-next{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #000}
.case-next a{min-height:220px;padding:40px 6vw;display:flex;flex-direction:column;justify-content:space-between}.case-next a+ a{border-left:1px solid #000}.case-next a:hover{background:#000;color:#fff}
.case-next strong{font-size:clamp(1.6rem,3vw,3.4rem);line-height:1;letter-spacing:-.04em}
.loading{min-height:70vh;display:grid;place-items:center;color:var(--muted)}

/* About and contact */
.page-main{padding-top:68px}.page-hero{min-height:78vh;padding:11vh 6vw 8vh;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(4rem,8vw,9rem);line-height:.91;letter-spacing:-.045em;font-weight:700;margin:12px 0 26px}.page-hero h2{font-size:clamp(1.5rem,2.5vw,2.8rem);line-height:1.1;letter-spacing:-.025em;font-weight:500;margin:0}
.page-hero img{width:min(100%,520px);aspect-ratio:1;object-fit:cover;border:1px solid #000;box-shadow:7px 7px 0 #000}
.page-section{padding:110px 6vw;max-width:1320px;margin:auto}.page-section>h2{font-size:clamp(2.5rem,4vw,4.4rem);line-height:1;letter-spacing:-.04em;font-weight:700;margin:0 0 60px}
.large-copy{font-size:clamp(1.45rem,2.4vw,2.6rem);line-height:1.25;letter-spacing:-.025em;max-width:1050px}
.capability-grid,.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.capability,.principle{background:#fff;padding:32px;min-height:260px}.capability img,.principle img{width:46px;height:46px;object-fit:contain;margin-bottom:50px;opacity:.72}.capability h3,.principle h3{font-size:24px;line-height:1.1;margin:0 0 12px}.capability p,.principle p{font-size:17px;color:#444}
.principle-grid{grid-template-columns:repeat(4,1fr)}.principle{min-height:220px}
.tool-cloud{font-size:clamp(1.6rem,3vw,3.4rem);line-height:1.5;letter-spacing:-.03em}
.about-hero{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:6vw;align-items:center}.about-hero h1{font-size:clamp(3.5rem,5.9vw,6.8rem);max-width:980px}.about-hero h2{max-width:760px;font-size:clamp(1.25rem,1.8vw,1.85rem);line-height:1.28;color:#333}.about-main .page-section{border-top:1px solid var(--line)}.about-split{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(55px,8vw,120px)}.about-section-heading .meta{display:block;margin-bottom:22px}.about-section-heading h2{font-size:clamp(2.35rem,3.8vw,4.2rem);line-height:1;letter-spacing:-.04em;margin:0;max-width:570px}.about-section-heading--wide{margin-bottom:58px}.about-section-heading--wide h2{max-width:900px}.about-body>p{margin:0 0 28px;font-size:clamp(1.2rem,1.65vw,1.55rem);line-height:1.55;letter-spacing:-.015em;color:#292929}.about-principles .capability{min-height:310px;display:flex;flex-direction:column}.about-principles .capability>.meta{margin-bottom:auto}.about-principles .capability h3{font-size:clamp(1.45rem,2vw,2rem);letter-spacing:-.025em}.about-principles .capability p{font-size:17px;line-height:1.55}.practice-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:55px;border-top:1px solid #000;border-bottom:1px solid #000}.practice-grid article{min-height:190px;padding:25px 26px 28px 0}.practice-grid article:nth-child(even){padding-left:26px;border-left:1px solid var(--line)}.practice-grid article:nth-child(n+3){border-top:1px solid var(--line)}.practice-grid .meta{display:block;margin-bottom:42px}.practice-grid p{margin:0;font-size:17px;line-height:1.55;color:#333}.about-links{display:flex;gap:34px;margin:0}.about-links .explore{min-width:185px}
.about-dog-run{position:fixed;z-index:80;inset:0;pointer-events:none;opacity:0;overflow:hidden}.about-dog-run.is-running{opacity:1}.about-dog{position:absolute;left:-210px;bottom:-10px;width:210px;height:210px;background:url('/assets/profile/duke-run-cycle.png') 0 0/400% 200% no-repeat;clip-path:inset(8% 0);filter:drop-shadow(0 2px 0 rgba(255,255,255,.9))}.about-dog-ball-track{position:absolute;left:-30px;bottom:25px;width:22px;height:22px}.about-dog-ball-track:after{content:"";position:absolute;z-index:-1;left:2px;bottom:-7px;width:18px;height:4px;border-radius:50%;background:rgba(0,0,0,.2);transform-origin:center}.about-dog-ball-bounce,.about-dog-ball{display:block;width:22px;height:22px}.about-dog-ball{position:relative;border:2px solid #000;border-radius:50%;background:#e8a6b5;box-shadow:inset -4px -3px 0 rgba(0,0,0,.08)}.about-dog-ball:after{content:"";position:absolute;inset:3px 7px;border-left:1px solid rgba(0,0,0,.55);border-radius:50%}.about-dog-run.is-running .about-dog{animation:about-dog-travel 5.9s .45s cubic-bezier(.18,.3,.3,1) forwards,about-duke-cycle .78s .45s step-end infinite}.about-dog-run.is-running .about-dog-ball-track{animation:about-ball-travel 5.8s cubic-bezier(.12,.32,.24,1) forwards}.about-dog-run.is-running .about-dog-ball-track:after{animation:about-ball-shadow 5.8s linear forwards}.about-dog-run.is-running .about-dog-ball-bounce{animation:about-ball-bounce 5.8s linear forwards}.about-dog-run.is-running .about-dog-ball{animation:about-ball-roll 5.8s linear forwards}@keyframes about-dog-travel{0%{transform:translateX(0)}100%{transform:translateX(calc(100vw + 210px))}}@keyframes about-ball-travel{0%{transform:translateX(0)}100%{transform:translateX(calc(100vw + 90px))}}@keyframes about-ball-bounce{0%{transform:translateY(-92px);animation-timing-function:cubic-bezier(.55,.06,.68,.19)}10%{transform:translateY(0);animation-timing-function:cubic-bezier(.17,.67,.36,1)}18%{transform:translateY(-54px);animation-timing-function:cubic-bezier(.55,.06,.68,.19)}26%{transform:translateY(0);animation-timing-function:cubic-bezier(.17,.67,.36,1)}32%{transform:translateY(-29px);animation-timing-function:cubic-bezier(.55,.06,.68,.19)}38%{transform:translateY(0);animation-timing-function:cubic-bezier(.17,.67,.36,1)}42%{transform:translateY(-12px);animation-timing-function:cubic-bezier(.55,.06,.68,.19)}46%,100%{transform:translateY(0)}}@keyframes about-ball-roll{from{transform:rotate(0)}to{transform:rotate(1440deg)}}@keyframes about-ball-shadow{0%,18%,32%,42%{opacity:.06;transform:scale(.55)}10%,26%,38%,46%,100%{opacity:.2;transform:scale(1)}}@keyframes about-duke-cycle{0%,12.49%{background-position:0 0}12.5%,24.99%{background-position:33.333% 0}25%,37.49%{background-position:66.666% 0}37.5%,49.99%{background-position:100% 0}50%,62.49%{background-position:0 100%}62.5%,74.99%{background-position:33.333% 100%}75%,87.49%{background-position:66.666% 100%}87.5%,100%{background-position:100% 100%}}
.about-dog-run.is-running .about-dog{animation-duration:5.3s,.78s;animation-timing-function:linear,step-end}.about-dog-run.is-running .about-dog-ball-track{animation-timing-function:linear}@keyframes about-ball-travel{0%{transform:translateX(0)}100%{transform:translateX(calc(100vw + 250px))}}
.about-dog{background:none}.about-dog-sprite{position:absolute;inset:0;background:url('/assets/profile/duke-run-cycle.png') 0 0/400% 200% no-repeat;transform:scaleX(-1)}.about-dog-run.is-running .about-dog{animation:about-dog-travel 5.3s .45s linear forwards}.about-dog-run.is-running .about-dog-sprite{animation:about-duke-cycle .78s .45s step-end infinite}
.contact-hero{position:relative;isolation:isolate;overflow:hidden;min-height:calc(100vh - 68px);padding:15vh 6vw 8vh;display:flex;flex-direction:column;justify-content:space-between}.contact-hero>div{position:relative;z-index:1}.contact-hero h1{font-size:clamp(3.7rem,8vw,9.5rem);line-height:.91;letter-spacing:-.045em;font-weight:700;max-width:1250px;margin:0}.contact-options{display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px;border-top:1px solid #000}.contact-options a{display:flex;justify-content:space-between;padding:22px 0;font-size:20px}.contact-options a+a{margin-left:35px}.contact-options a:hover span:first-child{text-decoration:underline;text-underline-offset:5px}
.contact-flight{position:absolute;z-index:0;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.contact-flight__trail{fill:none;stroke:rgba(0,0,0,.18);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}.contact-flight__plane{opacity:0}.contact-flight__wobble{fill:#fff;stroke:#000;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:center}.contact-flight__accent{fill:none;stroke:#e8a6b5;stroke-width:3}.contact-flight.is-flying .contact-flight__plane{animation:contact-plane-visibility 6.6s linear forwards}.contact-flight.is-flying .contact-flight__wobble{animation:contact-plane-wobble 1.15s ease-in-out infinite alternate}@keyframes contact-plane-visibility{0%,2%{opacity:0}6%,93%{opacity:.72}100%{opacity:0}}@keyframes contact-plane-wobble{from{transform:rotate(-.65deg) translateY(-.4px)}to{transform:rotate(.65deg) translateY(.4px)}}
@media(prefers-reduced-motion:reduce){.contact-flight{display:none!important}}

@media(max-width:560px){.topnav a[href="/contact/"]{display:inline!important}}
@media(max-width:1100px){
  .case-hero{grid-template-columns:1fr;min-height:auto;padding:10vh var(--case-gutter) 70px;gap:45px}.case-hero h1{font-size:clamp(3.2rem,8vw,5.4rem)}.case-hero-image{height:min(62svh,620px);min-height:420px;box-shadow:6px 6px 0 #000}
  .case-scan{padding-top:70px}.case-scan h2{margin-bottom:32px}.fact-grid{grid-template-columns:1fr 1fr}.fact{min-height:135px}.fact:nth-child(odd){border-left:0}.fact:nth-child(n+3){border-top:1px solid #000}.fact--outcome{grid-column:auto}.case-snapshot{grid-template-columns:1fr;gap:42px;padding-bottom:46px}.snapshot-narrative{max-width:780px}.snapshot-shift,.snapshot-evidence{grid-template-columns:1fr;gap:18px}.snapshot-story{grid-template-columns:1fr}.snapshot-story>div{min-height:150px;padding:25px 0}.snapshot-story>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .case-layout{display:block;padding:55px var(--case-gutter) 100px}.chapter-rail{display:none}.case-controls{margin-bottom:16px}.mobile-chapter-menu{display:block;position:sticky;z-index:25;top:68px;background:#fff;border-top:1px solid #000;border-bottom:1px solid #000;margin-bottom:55px}.mobile-chapter-menu summary{display:flex;justify-content:space-between;padding:15px 0;cursor:pointer;font-weight:700}.mobile-chapter-menu nav{padding:0 0 12px}.mobile-chapter-menu a{display:block;padding:10px 0;border-top:1px solid var(--line);font-size:14px}.case-article h2{margin-top:100px}.case-section:first-of-type h2{margin-top:0}.case-next{grid-template-columns:1fr}.case-next a+ a{border-left:0;border-top:1px solid #000}.case-next a{min-height:170px;padding:28px var(--case-gutter)}
}
@media(min-width:901px) and (max-height:820px){.case-hero h1{font-size:clamp(3.2rem,5.9vw,6.8rem)}}
@media(max-width:900px){
  body.home{overscroll-behavior:auto}.topbar{padding:0 20px;grid-template-columns:auto 1fr}.headshot{width:30px;height:30px}.topnav{display:flex;justify-self:end;gap:15px;font-size:14px}.socials{display:none}
  .journey{height:auto}.stage{position:relative;height:auto;overflow:visible}.world{display:block;width:auto;height:auto;padding:105px 20px 60px;transform:none!important}.scene{height:auto;width:auto;max-width:none;min-height:calc(100svh - 105px);margin-bottom:95px}.scene-marker{position:static;width:100%;margin-bottom:38px;white-space:normal;flex-wrap:wrap}
  .intro,.project-scene,.selected-scene,.final{grid-template-columns:1fr}.intro{align-content:start;padding-top:5vh}.intro h1{font-size:clamp(3.2rem,14vw,5.5rem)}.intro-side{border-left:0;border-top:1px solid var(--line);padding:20px 0 0;margin-top:35px}.project-scene{gap:0;align-content:start}.project-scene .scene-marker{order:0}.project-scene .project-copy{display:contents}.project-scene .project-copy h2{order:1;width:auto;margin:0 0 24px}.project-scene .project-copy>p{order:2}.project-scene .project-image{order:3;margin-top:34px;margin-bottom:28px}.project-scene .project-copy .tags{order:4;margin-top:0}.project-scene .project-copy .explore{order:5;margin-top:28px}.project-image,.project-scene[data-scene="1"] .project-image{width:auto;height:62svh;min-height:430px;margin-left:0;box-shadow:none}.selected-scene{gap:42px}.selected-intro h2{font-size:clamp(2.7rem,9vw,4.8rem)}.selected-list{margin-bottom:25px}.scene-marker,.project-copy,.intro-main,.final-main,.selected-intro,.intro-side,.final-side,.selected-list,.project-image{opacity:1!important;transform:none!important;clip-path:none!important}.final{align-content:center;gap:35px}.final-side{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.timeline{display:none}
  .case-hero{grid-template-columns:1fr;min-height:auto;padding:10vh 20px 70px;gap:45px}.case-hero h1{font-size:clamp(3.2rem,13vw,5.4rem)}.case-hero-image{height:62svh;min-height:420px;box-shadow:6px 6px 0 #000}.case-scan{padding:70px 20px 0}.case-scan h2{margin-bottom:32px}.fact-grid{grid-template-columns:1fr 1fr}.fact{min-height:135px}.fact:nth-child(odd){border-left:0}.fact:nth-child(n+3){border-top:1px solid #000}.fact--outcome{grid-column:auto}.case-snapshot{grid-template-columns:1fr;gap:42px;padding-bottom:46px}.snapshot-shift,.snapshot-evidence{grid-template-columns:1fr;gap:18px}.snapshot-story{grid-template-columns:1fr}.snapshot-story>div{min-height:150px;padding:25px 0}.snapshot-story>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.case-layout{display:block;padding:55px 20px 100px}.chapter-rail{display:none}.case-controls{margin-bottom:16px}.mobile-chapter-menu{display:block;position:sticky;z-index:25;top:68px;background:#fff;border-top:1px solid #000;border-bottom:1px solid #000;margin-bottom:55px}.mobile-chapter-menu summary{display:flex;justify-content:space-between;padding:15px 0;cursor:pointer;font-weight:700}.mobile-chapter-menu nav{padding:0 0 12px}.mobile-chapter-menu a{display:block;padding:10px 0;border-top:1px solid var(--line);font-size:14px}.case-article h2{margin-top:100px}.case-section:first-of-type h2{margin-top:0}.case-article p,.case-article li{font-size:17px}.case-next{grid-template-columns:1fr}.case-next a+ a{border-left:0;border-top:1px solid #000}.case-next a{min-height:170px;padding:28px 20px}
  .chapter-stat{grid-template-columns:1fr;gap:24px}.chapter-insight{grid-template-columns:1fr;gap:16px}.signal-quotes{grid-template-columns:1fr}.case-article .signal-quotes blockquote{min-height:160px;padding:26px 0}.case-article .signal-quotes blockquote+blockquote{padding-left:0;border-left:0;border-top:1px solid var(--line)}.evidence-grid--validation,.evidence-grid--outcomes{grid-template-columns:1fr}.evidence-grid--validation>div+div,.evidence-grid--outcomes>div+div{border-left:0;border-top:1px solid var(--line)}.hierarchy-sequence{grid-template-columns:repeat(2,1fr)}.workflow-chain{grid-template-columns:repeat(2,1fr)}.workflow-chain li:nth-child(3){border-left:0;border-top:1px solid var(--line)}.workflow-chain li:nth-child(4){border-top:1px solid var(--line)}.workflow-chain li:nth-child(2):after{display:none}.trust-model__head{display:none}.trust-model__row{grid-template-columns:1fr}.trust-model__row>*{padding:14px 0}.trust-model__row>*+*{border-left:0;border-top:1px dashed var(--line)}.trust-model__row p:before{content:attr(data-label);display:block;margin-bottom:5px;font-size:10px;line-height:1.3;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
  .page-hero{grid-template-columns:1fr;padding:10vh 20px 70px}.page-hero img{margin-top:30px}.page-section{padding:80px 20px}.capability-grid,.principle-grid{grid-template-columns:1fr}.about-split{grid-template-columns:1fr;gap:48px}.about-principles .capability{min-height:230px}.practice-grid{grid-template-columns:1fr}.practice-grid article{min-height:0;padding:24px 0}.practice-grid article:nth-child(even){padding-left:0;border-left:0}.practice-grid article+article{border-top:1px solid var(--line)}.practice-grid .meta{margin-bottom:24px}.about-links{display:block}.about-links .explore+.explore{margin-top:18px}.contact-hero{padding:13vh 20px 45px}.contact-options{grid-template-columns:1fr}.contact-options a+a{margin-left:0;border-top:1px solid var(--line)}.site-footer{padding:32px 20px;flex-direction:column}
}
@media(max-width:560px){.intro-transition__identity{gap:16px}.intro-transition__identity img{width:72px;height:72px}.intro-transition__identity span{font-size:clamp(2.15rem,10vw,3rem)}.brand{font-size:14px}.topnav{gap:10px;font-size:13px}.topnav a[href="/contact/"]{display:none}.intro h1{font-size:3.45rem}.project-copy h2{font-size:2.8rem}.project-image{height:52svh;min-height:340px}.case-hero-image{height:52svh;min-height:340px}.fact-grid{grid-template-columns:1fr}.fact+.fact,.fact:nth-child(odd){border-left:0}.fact:nth-child(n+2){border-top:1px solid #000}.fact{min-height:110px}.fact--outcome{grid-column:auto}.case-article h2{font-size:2.2rem;line-height:1.04}.case-article h3{font-size:1.75rem}.deep-dive{padding:0 16px}.case-figure,.media-grid{margin:45px 0 60px}.media-grid{grid-template-columns:1fr}.media-grid .case-figure{grid-column:auto!important}.chapter-stat{margin:40px 0 50px}.chapter-stat>strong{font-size:5.5rem}.workflow-comparison__head{display:none}.workflow-comparison__row{grid-template-columns:1fr}.workflow-comparison__row p{padding:16px 0}.workflow-comparison__row p+p{border-left:0;border-top:1px dashed var(--line)}.workflow-comparison__row p:last-child:before{content:attr(data-label);display:block;margin-bottom:6px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.engineering-evidence__head,.case-article .engineering-evidence li{grid-template-columns:1fr;gap:8px}.engineering-evidence__head{padding:18px}.case-article .engineering-evidence li{padding:16px 18px}.evidence-grid--topics,.evidence-grid--signals{grid-template-columns:1fr}.evidence-grid--topics>div+div,.evidence-grid--signals>div+div{border-left:0;border-top:1px solid var(--line)}.hierarchy-sequence{grid-template-columns:1fr}.workflow-chain{grid-template-columns:1fr}.workflow-chain li{min-height:105px}.workflow-chain li+li,.workflow-chain li:nth-child(3){border-left:0;border-top:1px solid var(--line)}.workflow-chain li:after{display:none}.report-levels{grid-template-columns:1fr}.report-levels article{padding:22px 0}.report-levels article+article{padding-left:0;border-left:0;border-top:1px solid var(--line)}.report-levels strong{font-size:18px}.image-modal{width:96vw}.image-modal__panel{padding:62px 12px 14px}.image-modal figcaption{display:block}.image-modal figcaption .meta{display:block;margin-bottom:7px}.page-hero h1{font-size:4.1rem}.about-hero h1{font-size:3rem;line-height:.96}.contact-hero h1{font-size:3.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro-transition,.about-dog-run{display:none!important}.headshot,.brand-label span,.project-copy .explore>span:last-child,.timeline-point:after{animation:none!important;box-shadow:none!important;transform:none!important}.journey{height:auto}.stage{position:relative;height:auto;overflow:visible}.world{display:block;width:auto;padding:100px 4vw;transform:none!important}.scene{width:auto;height:auto;min-height:90vh;margin-bottom:70px}.scene-marker{position:static;width:100%;margin-bottom:38px;white-space:normal;flex-wrap:wrap}.scene-marker,.project-copy,.intro-main,.final-main,.intro-side,.final-side,.project-image,.case-article>*{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}.project-copy h2 a{transition:none!important;transform:none!important}.journey-link>span:last-child,.explore>span:last-child,.final-links a>span:last-child,.contact-options a>span:last-child,.selected-arrow,.chapter-rail a{transition:none!important;transform:none!important}.image-modal[open]::backdrop,.image-modal[open] .image-modal__panel{animation:none!important}.timeline{display:none}}
