:root{
  --paper:#fafafa;
  --ink:#141414;
  --soft:#62625f;
  --rule:#c9c9c4;
  --quiet:#e5e5e2;
  --orange:#ff5a00;
  --ease:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box}
html{min-height:100%;scroll-behavior:smooth;background:var(--ink)}
body{margin:0;overflow-x:hidden;color:var(--ink);background:var(--paper);font-family:"Inter Tight",Arial,sans-serif;letter-spacing:0}
a{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:200;top:12px;left:12px;padding:10px 14px;color:var(--paper);background:var(--ink);font:600 12px "JetBrains Mono",monospace;text-transform:uppercase;text-decoration:none;transform:translateY(-180%)}
.skip-link:focus{transform:none}

.case-header{position:fixed;z-index:100;top:0;left:0;display:flex;width:100%;align-items:center;justify-content:space-between;padding:20px 12vw 20px 4vw;mix-blend-mode:multiply;pointer-events:none}
.case-header a{pointer-events:auto;text-decoration:none}
.case-home{font-size:18px;font-weight:900}
.case-home span,.footer-name span{color:var(--orange)}
.case-header nav{display:flex;gap:28px;font:600 13px "JetBrains Mono",monospace;text-transform:uppercase}
.case-header nav a{position:relative}
.case-header nav a::after{content:"";position:absolute;right:0;bottom:-5px;left:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.case-header nav a:hover::after,.case-header nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.header-on-dark .case-header{color:var(--paper);mix-blend-mode:normal}

.case-rail{position:fixed;z-index:80;top:50%;right:20px;display:flex;flex-direction:column;gap:8px;width:196px;padding:13px 12px 13px 21px;transform:translateY(-50%);font:500 14px/1.4 "JetBrains Mono",monospace;text-transform:uppercase;transition:opacity .22s ease,transform .38s var(--ease);background:rgba(250,250,250,.92);backdrop-filter:blur(8px)}
.case-rail::before{content:"";position:absolute;top:0;bottom:0;left:0;width:1px;background:var(--rule)}
.rail-progress{position:absolute;top:0;bottom:0;left:0;width:2px;overflow:hidden}
.rail-progress i{display:block;width:100%;height:100%;background:var(--orange);transform:scaleY(var(--page-progress,0));transform-origin:top;will-change:transform}
.case-rail a{display:grid;grid-template-columns:29px 1fr;gap:7px;padding:9px 0;color:#777773;text-decoration:none;transition:color .25s}
.case-rail a b{font-weight:600}
.case-rail a.is-active{color:var(--ink)}
.case-rail a.is-active b{color:var(--orange)}
.rail-on-dark .case-rail{color:var(--paper)}
.rail-on-dark .case-rail::before{background:#494947}
.rail-on-dark .case-rail a{color:#8d8d89}
.rail-on-dark .case-rail a.is-active{color:var(--paper)}
.rail-on-dark .case-rail{background:rgba(20,20,20,.9)}

.case-hero{position:relative;display:flex;min-height:100svh;flex-direction:column;justify-content:center;padding:112px max(16vw,230px) 92px 4vw;overflow:hidden;border-bottom:0}
.hero-kicker{margin-bottom:28px;font:600 13px/1.45 "JetBrains Mono",monospace;text-transform:uppercase}
.masked{overflow:hidden}
.masked>span{display:block;transform:translateY(120%);animation:mask-in .8s var(--ease) .15s both}
.case-hero h1{max-width:1450px;margin:0;font-size:clamp(64px,8.6vw,148px);font-weight:900;line-height:.92;opacity:0;transform:translateY(34px);animation:hero-heading-in .9s var(--ease) .18s both}
.case-hero h1 em{color:var(--orange);font-style:normal}
@keyframes mask-in{to{transform:none}}
@keyframes hero-heading-in{to{opacity:1;transform:none}}
.hero-summary{display:grid;grid-template-columns:minmax(280px,1.2fr) 2fr;gap:8vw;align-items:start;margin-top:58px;padding-top:0;border-top:0}
.hero-summary>p{max-width:620px;margin:0;font-size:clamp(20px,1.8vw,28px);line-height:1.22}
.hero-summary dl{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:20px 32px;margin:0}
.hero-summary dl div{border-top:1px solid var(--rule);padding-top:8px}
.hero-summary dt{color:var(--soft);font:500 11px "JetBrains Mono",monospace;text-transform:uppercase}
.hero-summary dd{margin:7px 0 0;font-size:17px;font-weight:600}
.hero-scroll{display:none}

.proof-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 4vw;border-bottom:1px solid var(--rule);background:#fff}
.proof-item{display:flex;min-width:0;min-height:190px;flex-direction:column;justify-content:space-between;padding:26px 26px 22px 0;border-right:1px solid var(--rule)}
.proof-item:not(:first-child){padding-left:26px}
.proof-item:last-child{border-right:0}
.proof-item strong{font-size:clamp(38px,4.2vw,72px);font-weight:900;line-height:.82;white-space:nowrap}
.proof-item span{font:500 14px/1.3 "JetBrains Mono",monospace;text-transform:uppercase}

.media-slot{position:relative;overflow:hidden;margin:0;background:#dededb;color:var(--ink);isolation:isolate}
.media-slot::before{content:attr(data-media);position:absolute;top:22px;right:24px;z-index:2;color:rgba(20,20,20,.38);font:500 10px "JetBrains Mono",monospace}
.media-real::before{display:none}
.media-fill,.media-carousel-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-contain{object-fit:contain;background:#fff}
.media-fill{z-index:0}
.media-slot video.media-fill{background:#fff}
.media-hero video.media-fill{transform:scale(1.075)}
[data-media-zoom]{cursor:zoom-in}
.media-carousel-controls,.media-carousel-controls button,.media-expand{cursor:pointer}
.media-carousel-track{position:absolute;inset:0;display:flex;transition:transform .62s cubic-bezier(.22,1,.36,1);will-change:transform}
.media-carousel-slide{position:relative;inset:auto;flex:0 0 100%;height:100%;opacity:1;transform:none}
.media-carousel-controls{position:absolute;top:18px;right:50px;z-index:4;display:flex;align-items:center;gap:7px;padding:5px;color:var(--paper);background:rgba(20,20,20,.88);box-shadow:0 8px 22px rgba(0,0,0,.16)}
.media-carousel-controls button{display:grid;width:30px;height:30px;padding:0;place-items:center;border:0;color:inherit;background:transparent;font-size:16px;cursor:pointer}
.media-carousel-controls button:hover,.media-carousel-controls button:focus-visible{color:var(--orange)}
.media-carousel-controls span{min-width:48px;text-align:center;font:600 10px "JetBrains Mono",monospace}
.media-expand{position:absolute;top:18px;right:18px;z-index:4;display:grid;width:38px;height:38px;padding:0;place-items:center;border:0;color:var(--paper);background:rgba(20,20,20,.88);font-size:20px;cursor:pointer}
.media-expand:hover,.media-expand:focus-visible{color:var(--orange)}
.media-lightbox{width:min(94vw,1500px);max-width:none;padding:0;border:0;background:transparent;overflow:visible}
.media-lightbox::backdrop{background:rgba(10,10,10,.88);backdrop-filter:blur(8px)}
.media-lightbox-stage{position:relative;display:grid;max-height:90svh;place-items:center}
.media-lightbox-content{display:grid;grid-template-rows:minmax(0,1fr) auto;max-width:100%;max-height:90svh;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.45)}
.media-lightbox-stage img,.media-lightbox-stage video{display:block;min-height:0;max-width:100%;max-height:calc(90svh - 86px);object-fit:contain;background:#fff}
.media-lightbox-caption{position:relative;display:grid;grid-template-columns:140px minmax(180px,1fr) minmax(240px,420px);gap:20px;align-items:end;width:100%;box-sizing:border-box;padding:18px 24px 20px;color:var(--ink);background:#fff}
.media-lightbox-caption::before{content:"";position:absolute;top:0;right:24px;left:24px;height:1px;background:rgba(20,20,20,.3)}
.media-lightbox-caption span,.media-lightbox-caption small{font:500 11px/1.4 "JetBrains Mono",monospace;text-transform:uppercase}
.media-lightbox-caption strong{font-size:19px;line-height:1.05}
.media-lightbox-caption small{color:rgba(20,20,20,.62);font-size:13px;line-height:1.45;text-transform:none}
.media-lightbox-close{position:fixed;top:max(18px,env(safe-area-inset-top));right:22px;display:grid;width:44px;height:44px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;background:#141414;font-size:24px;cursor:pointer}
.media-grid{position:absolute;inset:0;opacity:.7;background:linear-gradient(90deg,transparent 49.9%,rgba(20,20,20,.08) 50%,transparent 50.1%),linear-gradient(transparent 49.9%,rgba(20,20,20,.08) 50%,transparent 50.1%),repeating-linear-gradient(90deg,transparent 0 calc(12.5% - 1px),rgba(20,20,20,.045) calc(12.5% - 1px) 12.5%)}
.media-grid::before,.media-grid::after{content:"";position:absolute;background:rgba(20,20,20,.13)}
.media-grid::before{top:50%;left:50%;width:54%;height:1px;transform:translate(-50%,-50%) rotate(28deg)}
.media-grid::after{top:50%;left:50%;width:54%;height:1px;transform:translate(-50%,-50%) rotate(-28deg)}
.media-slot figcaption{position:relative;z-index:2;display:grid;grid-column:1;grid-row:2;grid-template-columns:140px minmax(180px,1fr) minmax(240px,420px);gap:20px;align-items:end;padding:18px 24px 20px;background:#fff}
.media-slot figcaption::before{content:"";position:absolute;top:0;right:24px;left:24px;height:1px;background:rgba(20,20,20,.3)}
.media-slot figcaption span,.media-slot figcaption small{font:500 11px/1.4 "JetBrains Mono",monospace;text-transform:uppercase}
.media-slot figcaption strong{font-size:19px;line-height:1.05}
.media-slot figcaption small{color:rgba(20,20,20,.62);text-transform:none}
.media-real figcaption small{font-size:13px;line-height:1.45}
.media-hero{min-height:min(62vw,760px)}
.media-wide{min-height:min(48vw,640px)}

.case-chapter{padding:120px max(16vw,210px) 130px 4vw;border-bottom:1px solid var(--rule)}
.chapter-heading{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;align-items:start;margin-bottom:76px}
.chapter-heading>p{margin:10px 0 0;font:700 13px "JetBrains Mono",monospace;text-transform:uppercase}
.chapter-heading h2{max-width:1050px;margin:0;font-size:clamp(52px,6vw,96px);font-weight:900;line-height:.95}
.chapter-heading h2 em{color:var(--orange);font-style:normal}
.story-grid{display:grid;grid-template-columns:minmax(300px,.8fr) 1.6fr;gap:8vw;align-items:start;margin:0 0 82px 256px}
.story-copy{max-width:680px}
.story-copy p{margin:0 0 1.2em;font-size:clamp(20px,1.8vw,27px);line-height:1.38}
.story-grid.story-grid-stacked{grid-template-columns:1fr;gap:52px;max-width:1050px}
.story-grid-stacked .story-copy{max-width:none}
.story-grid-stacked .transformation{width:min(100%,820px)}
#setup .story-grid{grid-template-columns:1fr;gap:52px;max-width:1050px}
#setup .story-grid .story-copy{max-width:none}
#setup .story-grid .transformation{order:-1;width:min(100%,820px)}
.transformation{display:grid;grid-template-columns:repeat(7,auto);gap:12px;align-items:center;padding:27px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font:600 15px/1.35 "JetBrains Mono",monospace;text-transform:uppercase}
.transformation i{color:var(--orange);font-style:normal;font-size:20px}

.chapter-dark{color:var(--paper);background:var(--ink);border-color:#333;padding-top:130px}
.chapter-dark .chapter-heading h2 em{color:var(--orange)}
.decision{max-width:1270px;margin:0 0 110px 256px;font-size:clamp(42px,5.6vw,88px);font-weight:800;line-height:1}
.retention-story{display:grid;grid-template-columns:minmax(250px,.7fr) 1.5fr;gap:8vw;margin-left:256px}
.retention-copy p{margin:0 0 1.25em;color:#a9a9a5;font-size:22px;line-height:1.35}
.retention-copy strong{color:var(--paper)}
.retention-chart{border-top:1px solid #494947}
.chart-head,.chart-row{display:grid;grid-template-columns:170px repeat(4,1fr);gap:14px;align-items:end;padding:14px 0;border-bottom:1px solid #353533}
.chart-head{color:#8d8d89;font:500 12px "JetBrains Mono",monospace;text-transform:uppercase}
.chart-head span:not(:first-child){text-align:center}
.chart-row>strong{font-size:15px;text-transform:uppercase}
.chart-row>strong small{display:block;margin-top:5px;color:#a0a09c;font:500 12px/1.3 "JetBrains Mono",monospace}
.chart-row i{position:relative;display:flex;height:116px;align-items:flex-end;justify-content:center;font-style:normal}
.chart-row i::before{content:"";position:absolute;right:0;bottom:0;left:0;height:var(--bar);background:#565653;transform:scaleY(0);transform-origin:bottom;transition:transform 1s var(--ease)}
.chart-row i b{position:relative;z-index:1;margin-bottom:8px;font:600 10px "JetBrains Mono",monospace}
.retention-story.visible .chart-row i::before{transform:scaleY(1)}
.chart-row.rituals i::before{background:var(--orange)}
.chart-note{display:flex;justify-content:space-between;gap:24px;padding-top:16px;color:#9b9b97;font:500 11px/1.4 "JetBrains Mono",monospace;text-transform:uppercase}
.chart-note strong{max-width:260px;color:var(--orange);text-align:right}
.fork{display:grid;grid-template-columns:220px minmax(0,720px);gap:36px;margin:100px 0 0 256px;padding-top:26px;border-top:1px solid #494947}
.fork p{margin:0}
.fork-label{color:var(--orange);font:600 10px "JetBrains Mono",monospace}
.fork p:last-child{font-size:22px;line-height:1.4}

.workstream{display:grid;grid-template-columns:70px minmax(250px,.72fr) minmax(380px,1.28fr);gap:32px;margin:0 0 84px 150px;padding-top:24px;border-top:1px solid var(--rule)}
.workstream-num{margin:4px 0 0;color:var(--orange);font:600 15px "JetBrains Mono",monospace}
.workstream h3{max-width:520px;margin:0 0 22px;font-size:clamp(34px,3.4vw,56px);line-height:.96;text-wrap:balance}
.workstream>div>p{max-width:560px;margin:0;color:var(--soft);font-size:19px;line-height:1.45}
.case-list{margin:0 0 100px 164px;padding:0;border-top:1px solid var(--ink);list-style:none;counter-reset:case-point}
.case-list li{counter-increment:case-point;display:grid;grid-template-columns:68px minmax(220px,.72fr) minmax(300px,1.28fr);gap:24px;padding:27px 0;border-bottom:1px solid var(--rule)}
.case-list li::before{content:counter(case-point,decimal-leading-zero);padding-top:4px;color:var(--orange);font:600 16px "JetBrains Mono",monospace}
.case-list strong{font-size:clamp(23px,2.2vw,34px);line-height:1.02}
.case-list span{max-width:620px;color:var(--soft);font-size:18px;line-height:1.42}
.media-inline{min-height:380px}
.media-inline figcaption{grid-template-columns:110px 1fr;gap:10px 18px}
.media-inline figcaption small{grid-column:2}
.media-cubo-moments figcaption{grid-template-columns:minmax(0,1fr);gap:8px;align-items:start;padding:22px 24px 24px}
.media-cubo-moments figcaption strong{order:1;max-width:680px}
.media-cubo-moments figcaption small{order:2;grid-column:1;max-width:680px}
.media-cubo-moments figcaption span{order:3;margin-top:12px}
.split-placeholder{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr}
.split-placeholder span{display:grid;place-items:center;color:rgba(20,20,20,.35);font:600 11px "JetBrains Mono",monospace}
.split-placeholder span:first-child{background:#d5d5d2;border-right:1px solid rgba(20,20,20,.2)}
.split-placeholder span:last-child{background:#e6e6e3}
.media-grid-thirds{background:linear-gradient(90deg,transparent 33.2%,rgba(20,20,20,.15) 33.3%,transparent 33.4% 66.5%,rgba(20,20,20,.15) 66.6%,transparent 66.7%),repeating-linear-gradient(90deg,transparent 0 calc(11.11% - 1px),rgba(20,20,20,.04) calc(11.11% - 1px) 11.11%)}
.media-video{display:grid;place-items:center;background:#d4d4d1}
.play-marker{display:grid;width:72px;aspect-ratio:1;place-items:center;border:1px solid rgba(20,20,20,.35);border-radius:50%;padding-left:4px;color:rgba(20,20,20,.5);font-size:18px}

.outcome-section{padding:120px max(16vw,210px) 130px 4vw;background:#fff}
.outcome-list{margin-left:256px;border-top:2px solid var(--ink)}
.outcome-list p{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:40px;align-items:center;margin:0;padding:34px 0 28px;border-bottom:1px solid var(--rule)}
.outcome-list strong{font-size:clamp(48px,3.8vw,66px);font-weight:900;line-height:.82;white-space:nowrap}
.outcome-list span{max-width:520px;font-size:clamp(20px,2vw,30px);font-weight:600;line-height:1.05}
.outcome-list p:nth-child(1) strong,.outcome-list p:nth-child(2) strong{color:var(--orange)}
.honesty-note{max-width:1000px;margin:72px 0 72px 256px;padding-left:24px;border-left:5px solid var(--orange);font-size:clamp(25px,2.8vw,42px);font-weight:600;line-height:1.15}
.media-outcome{min-height:min(48vw,640px);margin-left:256px}
.testimonial-placeholder{margin:90px 0 0 256px;padding:38px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.testimonial-placeholder>span{color:var(--orange);font:600 12px "JetBrains Mono",monospace}
.testimonial-placeholder p{margin:50px 0 18px;color:#aaa;font-size:clamp(44px,5.2vw,82px);font-weight:800;line-height:.92}
.testimonial-placeholder small{display:block;max-width:660px;color:var(--soft);font:500 13px/1.55 "JetBrains Mono",monospace}
.case-testimonial{margin:90px 0 0 256px;padding:42px 0 0;border-top:1px solid var(--rule)}
.case-testimonial p{max-width:1000px;margin:0 0 30px;font-size:clamp(20px,2vw,30px);font-weight:400;line-height:1.35}
.case-testimonial cite{font:500 13px "JetBrains Mono",monospace;text-transform:uppercase}
.case-testimonial cite strong{color:var(--orange)}

.artifact-gallery{margin:105px 0 0 256px;padding-top:30px;border-top:1px solid var(--ink)}
.artifact-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:46px}
.artifact-heading p{margin:0 0 14px;color:var(--soft);font:600 10px "JetBrains Mono",monospace}
.artifact-heading h3{margin:0;font-size:clamp(54px,6.4vw,102px);font-weight:900;line-height:.85}
.artifact-heading h3 span{color:var(--orange)}
.artifact-controls{display:flex;gap:8px}
.artifact-controls button{display:grid;width:48px;aspect-ratio:1;place-items:center;border:1px solid var(--ink);border-radius:50%;color:var(--ink);background:transparent;font-size:22px;cursor:pointer;transition:color .25s,background .25s,opacity .25s}
.artifact-controls button:hover,.artifact-controls button:focus-visible{color:var(--paper);background:var(--ink)}
.artifact-controls button:disabled{opacity:.24;cursor:default}
.artifact-track{display:flex;gap:18px;overflow-x:auto;padding:0 0 22px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--ink) var(--quiet);outline:none}
.artifact-track:focus-visible{outline:2px solid var(--orange);outline-offset:8px}
.artifact-item{flex:0 0 clamp(250px,28vw,440px);margin:0;scroll-snap-align:start}
.artifact-item.artifact-wide{flex-basis:clamp(340px,40vw,620px)}
.artifact-placeholder{position:relative;display:grid;aspect-ratio:4/3;place-items:center;overflow:hidden;background:#dededb}
.artifact-wide .artifact-placeholder{aspect-ratio:16/9}
.artifact-placeholder::before,.artifact-placeholder::after{content:"";position:absolute;top:50%;left:50%;width:70%;height:1px;background:rgba(20,20,20,.12)}
.artifact-placeholder::before{transform:translate(-50%,-50%) rotate(34deg)}
.artifact-placeholder::after{transform:translate(-50%,-50%) rotate(-34deg)}
.artifact-placeholder span{color:rgba(20,20,20,.3);font:500 10px "JetBrains Mono",monospace}
.artifact-item figcaption{display:grid;grid-template-columns:1fr;gap:5px;padding-top:12px;border-top:1px solid var(--rule)}
.artifact-item figcaption strong{font-size:17px}
.artifact-item figcaption small{color:var(--soft);font:500 9px/1.35 "JetBrains Mono",monospace}

.reflection{min-height:88svh;padding:120px max(16vw,210px) 115px 4vw;color:var(--paper);background:var(--ink)}
.reflection-label{margin:0 0 8vh;font:600 13px "JetBrains Mono",monospace}
.reflection-statement{max-width:1100px;margin:0;font-size:clamp(32px,4.2vw,68px);font-weight:900;line-height:1.02}
.reflection-close{max-width:1000px;margin:48px 0 0;color:#aaa;font-size:clamp(20px,2vw,30px);font-weight:400;line-height:1.35}
.reflection-close strong{color:var(--orange)}

.next-case{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--rule);background:var(--paper)}
.next-case>a,.next-case>div{display:flex;min-height:260px;flex-direction:column;justify-content:space-between;padding:34px 4vw;text-decoration:none}
.next-case>a{transition:color .35s,background .35s}
.next-case>a:first-child{border-right:1px solid var(--rule)}
.next-case>a:hover,.next-case>a:focus-visible{color:var(--paper);background:var(--ink)}
.next-case span,.next-case small{font:600 12px "JetBrains Mono",monospace;text-transform:uppercase}
.next-case strong{display:flex;align-items:end;justify-content:space-between;font-size:clamp(42px,5vw,78px);line-height:.9}
.next-case strong i{color:var(--orange);font-style:normal;font-size:.6em}
.next-case small{color:var(--soft)}

.case-footer{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;padding:70px 4vw 42px;color:var(--paper);background:var(--ink)}
.case-footer a{text-decoration:none}
.footer-name{font-size:clamp(58px,8vw,120px);font-weight:900;line-height:.8}
.case-footer p{margin:0;font:500 13px "JetBrains Mono",monospace}

.case-short .case-hero{min-height:86svh}
.case-short .case-hero h1{font-size:clamp(64px,8vw,132px)}
.case-short .media-hero{min-height:min(54vw,660px)}
.case-short .case-chapter,.case-short .outcome-section{padding-top:100px;padding-bottom:110px}
.case-short .chapter-heading{margin-bottom:62px}
.case-short .workstream{margin-bottom:68px}
.case-short .case-list{margin-bottom:76px}
.case-short .reflection{min-height:76svh}

.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1180px){
  .case-header{padding-right:5vw;padding-left:5vw}
  .case-rail{display:none}
  .case-hero,.case-chapter,.outcome-section,.reflection{padding-right:5vw;padding-left:5vw}
  .hero-summary{grid-template-columns:1fr;gap:42px}
  .chapter-heading{grid-template-columns:150px 1fr}
  .story-grid,.decision,.retention-story,.fork,.workstream,.case-list,.outcome-list,.honesty-note,.media-outcome,.testimonial-placeholder,.case-testimonial,.artifact-gallery{margin-left:0}
  .workstream{grid-template-columns:54px minmax(250px,.75fr) 1.25fr;margin-left:0}
  .case-list li{grid-template-columns:54px minmax(190px,.7fr) 1.3fr}
  .media-slot figcaption{grid-template-columns:110px 1fr}.media-slot figcaption small{grid-column:2}
}

@media(max-width:780px){
  .case-header{top:0;height:calc(52px + env(safe-area-inset-top));align-items:flex-end;padding:0 16px 14px;background:rgba(250,250,250,.94);backdrop-filter:blur(10px);mix-blend-mode:normal}.case-header nav{gap:12px;font-size:10px}.case-home{font-size:16px}
  .header-on-dark .case-header{color:var(--ink)}
  .case-hero{min-height:auto;padding-top:94px;padding-bottom:76px}
  .case-hero h1{font-size:clamp(52px,15vw,92px);line-height:.95}
  .hero-summary{margin-top:42px}.hero-summary dl{grid-template-columns:1fr 1fr}.hero-scroll{display:none}
  .proof-band{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 5vw}.proof-item{min-height:140px;padding:20px 12px 18px 0}.proof-item:not(:first-child){padding-left:12px}.proof-item:nth-child(2){border-right:0}.proof-item:nth-child(-n+2){border-bottom:1px solid var(--rule)}.proof-item strong{font-size:clamp(30px,8.5vw,40px)}.proof-item span{font-size:12px}
  .media-hero{min-height:62svh}.media-wide{min-height:56svh}
  .media-slot figcaption{position:relative;right:auto;bottom:auto;left:auto;z-index:auto;grid-template-columns:1fr;gap:6px;padding:14px 16px 16px;border-top:1px solid rgba(20,20,20,.3);background:#fff}.media-slot figcaption::before{display:none}.media-slot figcaption small{grid-column:auto}.media-slot figcaption strong{font-size:17px}
  .case-chapter,.outcome-section{padding-top:84px;padding-bottom:92px}
  .chapter-heading{grid-template-columns:1fr;gap:22px;margin-bottom:54px}.chapter-heading h2{font-size:clamp(46px,13vw,72px);line-height:.98}
  .story-grid{grid-template-columns:1fr;gap:56px;margin-bottom:70px}
  .transformation{grid-template-columns:1fr 24px 1fr;gap:16px;font-size:13px}.transformation i:nth-of-type(2){display:none}.transformation span:nth-of-type(3),.transformation span:nth-of-type(4){margin-top:10px}
  .decision{margin-bottom:90px;font-size:clamp(38px,11vw,62px)}
  .retention-story{grid-template-columns:1fr;gap:48px}
  .chart-head,.chart-row{grid-template-columns:100px repeat(4,1fr);gap:6px}.chart-row i{height:90px}.chart-row>strong{font-size:11px}.chart-note{flex-direction:column}.chart-note strong{text-align:left}
  .fork{grid-template-columns:1fr;gap:18px;margin-top:80px}
  .workstream{grid-template-columns:44px 1fr;gap:16px;margin-bottom:68px}.workstream>div{grid-column:2}.media-inline{grid-column:1/3;min-height:48svh}.workstream h3{font-size:40px}.workstream-num{font-size:14px}
  .case-list{margin-bottom:70px}.case-list li{grid-template-columns:40px 1fr;gap:12px}.case-list strong,.case-list span{grid-column:2}.case-list strong{font-size:25px}.case-list span{font-size:17px}.case-list li::before{font-size:14px}
  .outcome-list p{grid-template-columns:1fr;gap:12px;padding:26px 0}.outcome-list strong{font-size:clamp(44px,12.5vw,60px)}.outcome-list span{font-size:21px}.honesty-note{margin-top:70px;margin-bottom:70px;font-size:27px}
  .media-outcome{min-height:58svh}.testimonial-placeholder,.case-testimonial{margin-top:60px}.testimonial-placeholder p{font-size:48px}
  .artifact-gallery{margin-top:70px}.artifact-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.artifact-heading h3{font-size:46px}.artifact-controls{gap:6px}.artifact-controls button{width:38px}.artifact-item{flex-basis:78vw}.artifact-item.artifact-wide{flex-basis:86vw}
  .reflection{padding-top:84px;padding-bottom:88px}.reflection-label{margin-bottom:7vh}
  .next-case{grid-template-columns:1fr}.next-case>a:first-child{border-right:0;border-bottom:1px solid var(--rule)}.next-case>a,.next-case>div{min-height:200px}
  .case-footer{grid-template-columns:1fr;min-height:calc(310px + env(safe-area-inset-bottom));padding-bottom:calc(72px + env(safe-area-inset-bottom))}.case-footer p{margin-top:24px}
  .next-case strong i{font-size:0}.next-case strong i::after{content:"->";font:700 15px "JetBrains Mono",monospace}
  .case-short .case-hero{min-height:auto}.case-short .case-hero h1{font-size:clamp(50px,14vw,82px)}.case-short .case-chapter,.case-short .outcome-section{padding-top:76px;padding-bottom:82px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .masked>span,.case-hero h1{animation:none;opacity:1;transform:none}
  .reveal{opacity:1;transform:none;transition:none}
  .chart-row i::before{transform:scaleY(1);transition:none}
}

/* Reusable media specifications: the image keeps its source ratio and the caption sits below it. */
.media-slot[class*="media-ratio-"]{display:grid;height:auto;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;aspect-ratio:auto}
.media-ratio-16-9{--media-ratio:16/9}
.media-ratio-4-3{--media-ratio:4/3}
.media-slot[class*="media-ratio-"]::after{content:"";visibility:hidden;grid-column:1;grid-row:1;aspect-ratio:var(--media-ratio)}
.media-slot[class*="media-ratio-"]>.media-fill,.media-slot[class*="media-ratio-"]>.media-carousel-track,.media-slot[class*="media-ratio-"]>.media-grid,.media-slot[class*="media-ratio-"]>.split-placeholder{top:0;right:0;bottom:auto;left:0;width:100%;height:auto;aspect-ratio:var(--media-ratio)}
.media-slot[class*="media-ratio-"]>.play-marker{z-index:1;grid-column:1;grid-row:1;align-self:center;justify-self:center}
.media-slot.media-real:not(.media-carousel){display:block;height:auto!important;min-height:0!important;aspect-ratio:auto!important;background:#fff}
.media-slot.media-real:not(.media-carousel)::after{content:none!important;display:none!important}
.media-slot.media-real:not(.media-carousel)>.media-fill{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:auto}
.media-slot.media-carousel{display:flex;height:auto!important;min-height:0!important;flex-direction:column;grid-template:none;aspect-ratio:auto!important;padding:0;background:#fff}
.media-slot.media-carousel::after{content:none!important;display:none!important}
.media-carousel .media-stage{position:relative;flex:0 0 auto;width:100%;overflow:hidden;aspect-ratio:var(--media-ratio);background:#fff}
.media-carousel .media-stage>.media-carousel-track{inset:0;width:100%;height:100%;aspect-ratio:auto}

@media(max-width:780px){
  .media-slot figcaption small{display:none}
  .media-real figcaption small{display:block;font-size:11px}.media-carousel-controls{top:10px;right:10px}.media-expand{top:10px;right:10px}
  .media-lightbox-stage img,.media-lightbox-stage video{max-height:calc(90svh - 124px)}
  .media-lightbox-caption{grid-template-columns:1fr;gap:4px;padding:14px 16px 16px}
  .media-lightbox-caption::before{right:16px;left:16px}
}

/* Real media always dictates its own height. Ratios and minimums are for empty placeholders only. */
.media-slot.media-real{height:auto!important;min-height:0!important;aspect-ratio:auto!important}
