@font-face{font-family:GlowSans;src:url('../assets/fonts/glow-sans/GlowSansSC-Compressed-ExtraBold.otf')}@font-face{font-family:NotoSC;src:url('../assets/fonts/noto-sans-sc-variable.woff2')}@font-face{font-family:Martian;src:url('../assets/fonts/martian-grotesk-variable.woff2')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#090a0b;color:#f2f2ee;font-family:NotoSC;overflow:hidden}button,input{font:inherit}button{color:inherit}.review-shell{display:grid;grid-template-columns:310px 1fr}.review-sidebar{padding:24px;border-right:1px solid #2d3032;display:flex;flex-direction:column;min-height:0}.review-brand{font:26px GlowSans;color:#f2f2ee;text-decoration:none}.review-brand b{color:#ff4f34}.review-copy{margin:32px 0 18px}.review-copy strong{font:46px/.85 GlowSans}.review-copy p{font-size:11px;line-height:1.6;color:#9b9e9e;max-width:24ch}.review-sidebar ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:3px;overflow:auto}.review-sidebar li{min-width:0}.review-sidebar li button{width:100%;height:58px;border:1px solid #242728;background:#111315;display:grid;grid-template-columns:28px 1fr;text-align:left;align-items:center;padding:7px;cursor:pointer}.review-sidebar li button.active{background:#ff4f34;color:#1b0602}.review-sidebar li i{font:8px Martian;font-style:normal}.review-sidebar li span{display:grid;min-width:0}.review-sidebar li strong{font:8px Martian;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-sidebar li small{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#777}.review-sidebar li button.active small{color:#3b1009}.review-sidebar footer{margin-top:auto;padding-top:16px;border-top:1px solid #2d3032;display:flex;gap:12px;align-items:end}.review-sidebar footer b{font:60px/.7 GlowSans;color:#ff4f34}.review-sidebar footer span{font:8px/1.4 Martian;color:#737676}.review-stage{display:grid;grid-template-rows:66px 1fr;min-width:0}.review-stage>header{display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #2d3032}.review-stage>header>div:first-child{display:grid}.review-stage header small{font:8px Martian;color:#727575}.review-stage header strong{font-size:13px}.review-actions{display:flex;gap:5px}.review-actions button{height:36px;min-width:42px;border:0;background:#17191a;cursor:pointer}.review-actions button:first-child{padding:0 14px;background:#f2f2ee;color:#090a0b}#preview{width:100%;height:100%;border:0}
:root{--red:#ff4f34;--black:#090a0b;--panel:#111315;--raised:#17191a;--white:#f2f2ee;--gray:#9b9e9e;--line:#2d3032;--progress:0%;--px:0px;--py:0px;--deck:0}.case-page{position:relative;width:100vw;height:100vh;overflow:hidden;background:var(--black);color:var(--white);isolation:isolate}.layout{position:absolute;inset:0;overflow:hidden}.layout video{width:100%;height:100%;object-fit:cover;background:#101112}.layout video:not(.active):not(:only-child){opacity:0;pointer-events:none}.case-title span{font:8px Martian;letter-spacing:.16em;color:var(--red)}.case-title h1{font:clamp(64px,7vw,96px)/.86 GlowSans;margin:15px 0;letter-spacing:-.03em}.case-title p{margin:0;max-width:38ch;font-size:13px;line-height:1.7;color:var(--gray)}.media-note{position:absolute;right:18px;top:18px;z-index:12;padding:7px 9px;border:1px solid rgba(255,255,255,.32);background:rgba(9,10,11,.62);backdrop-filter:blur(8px);font:7px Martian;color:var(--white)}button:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:4px}::selection{background:var(--red);color:#1b0602}.evidence-open{position:absolute;z-index:70;right:18px;bottom:18px;border:0;background:var(--white);color:var(--black);padding:10px 12px;font:8px Martian;cursor:pointer}.evidence{position:absolute;z-index:80;right:0;top:0;bottom:0;width:min(560px,46vw);padding:26px 30px;background:#0d0e0f;transform:translateX(100%);transition:transform .55s cubic-bezier(.16,1,.3,1);overflow:auto;box-shadow:-30px 0 80px rgba(0,0,0,.35)}.evidence-visible .evidence{transform:none}.evidence>button{float:right;background:#222526;border:0;padding:9px;font:8px Martian;cursor:pointer}.evidence>small{font:8px Martian;color:var(--red)}.evidence h2{font:58px/.88 GlowSans;margin:20px 0}.evidence img{width:100%;height:260px;object-fit:contain;background:#17191a}.evidence dl{margin:20px 0;border-top:1px solid #303334}.evidence dl div{display:grid;grid-template-columns:120px 1fr;gap:15px;padding:10px 0;border-bottom:1px solid #303334}.evidence dt,.evidence dd{margin:0;font:8px/1.55 Martian}.evidence dt{color:#747777}.evidence p{font-size:11px;line-height:1.8;color:#909393}

/* 01 — cinematic ellipse slides */
.cinema-slider{background:#000}.cinema-scene{position:absolute;inset:0;clip-path:ellipse(78% 100% at 50% 50%);transition:clip-path 1s cubic-bezier(.16,1,.3,1),opacity .8s}.cinema-scene video{opacity:0!important;transition:opacity .8s}.cinema-scene video.active{opacity:1!important}.cinema-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),transparent 58%,rgba(0,0,0,.2))}.cinema-copy{position:absolute;z-index:4;left:5vw;top:12vh;width:40%}.scene-nav{display:flex;gap:4px;margin-top:32px}.scene-nav button{border:1px solid rgba(255,255,255,.3);background:transparent;padding:10px 16px;font:8px Martian;cursor:pointer}.scene-nav button.active{background:var(--red);border-color:var(--red);color:#1b0602}.cinema-result{position:absolute;z-index:4;right:5vw;bottom:7vh;text-align:right}.cinema-result b{display:block;font:clamp(96px,14vw,190px)/.7 GlowSans;color:var(--red)}.cinema-result span{font:8px Martian}

/* 02 — indexed crossfade */
.video-switcher{display:grid;grid-template:1fr 31vh/24% 1fr 25%;background:#000}.switch-media{grid-area:1/1/3/4;position:relative}.switch-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.7))}.switch-index{grid-area:1/1/2/2;z-index:3;padding:5vw 0 0 4vw;display:grid;align-content:start;gap:4px}.switch-index>b{font:8px Martian;margin-bottom:18px}.switch-index button{width:100%;height:48px;border:0;border-bottom:1px solid rgba(255,255,255,.26);background:transparent;text-align:left;font:10px Martian;cursor:pointer}.switch-index button.active{color:var(--red);transform:translateX(18px)}.switch-title{grid-area:2/1/3/3;z-index:3;padding:0 0 4vw 4vw;align-self:end}.switch-title .case-title h1{font-size:clamp(90px,13vw,185px);margin:0}.switch-title .case-title p,.switch-title .case-title span{display:none}.switch-proof{grid-area:2/3/3/4;z-index:3;padding:0 4vw 4vw 2vw;align-self:end;display:grid;gap:14px}.switch-proof strong{font:32px/.95 GlowSans}.switch-proof small{font:8px Martian;color:#bbb}

/* 03 — direct scrub */
.scroll-scrub{display:grid;grid-template:1fr 180px/64% 1fr;padding:3vw;gap:18px;background:#e9e8e2;color:#0d0e0f}.scrub-media{grid-area:1/1/2/2;position:relative;overflow:hidden;border-radius:16px}.scrub-line{position:absolute;left:20px;right:20px;bottom:18px;height:3px;background:rgba(255,255,255,.3)}.scrub-line i{display:block;width:var(--progress);height:100%;background:var(--red)}.scroll-scrub>.case-title{grid-area:1/2/2/3;align-self:start}.scroll-scrub .case-title span{color:#9a2918}.scroll-scrub .case-title p{color:#5d5e5b}.scrub-control{grid-area:2/1/3/2;display:flex;align-items:center;gap:18px;border-top:1px solid #b9bab5}.scrub-control input{width:74%;accent-color:var(--red)}.scrub-control span{font:8px Martian}.scrub-proof{grid-area:2/2/3/3;display:grid;grid-template-columns:1fr auto auto auto;align-items:center;border-top:1px solid #b9bab5}.scrub-proof b{font-size:18px}.scrub-proof strong{font:70px/.8 GlowSans}.scrub-proof i{font:9px Martian;font-style:normal}.scrub-proof small{grid-column:1/-1;font:7px Martian;color:#666}

/* 04 — before / after phase */
.dual-phase{display:grid;grid-template-columns:1fr 1fr}.phase{position:relative;overflow:hidden;transition:filter .8s,opacity .8s,transform .8s}.phase:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.78))}.phase>b,.phase>span{position:absolute;z-index:3;left:4vw}.phase>b{bottom:9vh;font:52px GlowSans}.phase>span{bottom:6vh;font:8px Martian}.phase-before{filter:grayscale(1);opacity:1}.phase-after{opacity:.28;filter:blur(18px)}.show-after .phase-before{opacity:.25;filter:blur(18px) grayscale(1)}.show-after .phase-after{opacity:1;filter:none}.phase-switch{position:absolute;z-index:5;left:50%;top:5vh;transform:translateX(-50%);display:flex;background:#0d0e0f;padding:4px}.phase-switch button{border:0;background:transparent;padding:11px 18px;font:8px Martian;cursor:pointer}.phase-switch button.active{background:var(--white);color:#111}.phase-title{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.phase-title .case-title h1{font-size:110px;text-shadow:0 4px 40px rgba(0,0,0,.7)}.phase-title .case-title p{display:none}

/* 05 — cursor scrub */
.case-slider{background:#050505}.slider-media{position:absolute;inset:0;overflow:hidden}.slider-media video{position:absolute;inset:0;opacity:0!important;transform:translateY(8%) scale(1.035);filter:saturate(.82) brightness(.72);transition:opacity .68s cubic-bezier(.16,1,.3,1),transform .68s cubic-bezier(.16,1,.3,1)}.slider-media video.active{opacity:1!important;transform:none}.slider-media video.past{transform:translateY(-8%) scale(1.035)}.slider-media video.future{transform:translateY(8%) scale(1.035)}.slider-shade{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0,rgba(0,0,0,.2) 48%,rgba(0,0,0,.42) 100%),linear-gradient(0deg,rgba(0,0,0,.94) 0,transparent 38%)}.slider-title{position:absolute;z-index:6;left:4vw;top:18vh;width:44vw}.slider-title h1{font:clamp(78px,9vw,124px)/.82 GlowSans;letter-spacing:-.03em;margin:0}.slider-clock{position:absolute;z-index:7;right:4vw;top:5vh;display:grid;grid-template-columns:auto;justify-items:end;gap:8px}.slider-clock>span{font:8px Martian;color:#c5c6c2}.slider-clock>span b{color:var(--red)}.slider-clock>strong{font:68px/.78 GlowSans;color:var(--red);font-variant-numeric:tabular-nums}.slider-clock>small{font:8px Martian;color:#c5c6c2}.slider-clock>div{display:flex;gap:3px}.slider-clock button{width:38px;height:38px;border:1px solid rgba(255,255,255,.35);background:rgba(9,10,11,.46);display:grid;place-items:center;cursor:pointer}.slider-clock button:disabled{opacity:.25;cursor:default}.slider-clock svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.slider-position{position:absolute;z-index:7;right:4vw;top:45%;display:grid;gap:8px}.slider-position i{display:block;width:28px;height:1px;background:rgba(255,255,255,.38);transition:width .3s,background .3s}.slider-position i.active{width:54px;background:var(--red)}.slider-caption{position:absolute;z-index:8;left:0;right:0;bottom:0;min-height:174px;display:grid;grid-template-columns:22% 53% 25%;background:rgba(9,10,11,.82);backdrop-filter:blur(13px);border-top:1px solid rgba(255,255,255,.2)}.slider-caption>div{padding:26px 3vw}.caption-status{display:grid;align-content:space-between;border-right:1px solid rgba(255,255,255,.16)}.caption-status span,.caption-next span{font:8px Martian;color:var(--red)}.caption-status b{font:24px GlowSans}.caption-story{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center;border-right:1px solid rgba(255,255,255,.16)}.caption-story h2{font:54px/.85 GlowSans;margin:0;color:var(--red)}.caption-story p{max-width:52ch;margin:0;font-size:12px;line-height:1.7;color:#d2d3cf}.caption-next{display:grid;align-content:space-between;text-align:right}.caption-next b{font:20px GlowSans}.mechanism-case-slider .evidence-open{bottom:194px}

/* 05 — compact case caption */
.case-slider .slider-caption{left:4vw;right:4vw;bottom:24px;height:96px;min-height:0;grid-template-columns:18% 56% 26%;background:transparent;backdrop-filter:none;border-top:0}
.case-slider .slider-caption>div{padding:0 2vw;text-shadow:0 2px 18px rgba(0,0,0,.74)}
.case-slider .caption-status{align-content:end;gap:10px;padding-left:0;border-right:0}
.case-slider .caption-story{align-items:end;border-right:0}
.case-slider .caption-next{align-content:end;gap:10px;padding-right:0}
.case-slider .caption-status b{font-size:20px}
.case-slider .caption-story{grid-template-columns:112px minmax(0,1fr);gap:22px}
.case-slider .caption-story h2{font-size:40px;line-height:.86}
.case-slider .caption-story p{max-width:58ch;font-size:11px;line-height:1.55}
.case-slider .caption-next b{font-size:18px}
.mechanism-case-slider .evidence-open{bottom:140px}
.standalone-case .slider-clock>div,.standalone-case .slider-position{display:none}

/* 06 — fixed media, chapter crossfade */
.section-crossfade{background:#070808}.cross-media{position:absolute;inset:0}.cross-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.85),transparent 52%,rgba(0,0,0,.3))}.cross-chapters{position:absolute;z-index:5;right:4vw;top:17vh;width:25vw;display:grid}.cross-chapters button{height:92px;display:grid;grid-template-columns:80px 1fr;align-items:center;text-align:left;border:0;border-bottom:1px solid rgba(255,255,255,.3);background:transparent;cursor:pointer}.cross-chapters button i{font:8px Martian;font-style:normal}.cross-chapters button b{font:24px GlowSans}.cross-chapters button.active{padding-left:22px;background:var(--red);color:#1b0602}.cross-title{position:absolute;z-index:4;left:4vw;top:20vh;width:38vw}.cross-count{position:absolute;z-index:5;right:4vw;bottom:7vh}.cross-count b{font:90px/.8 GlowSans}.cross-count span{font:12px Martian;color:#aaa}

/* 07 — video presentation deck */
.video-deck{padding:22px;background:#050505;display:grid;grid-template:44px 1fr 14px/48px 1fr 48px;gap:10px}.video-deck>header{grid-area:1/1/2/4;display:flex;justify-content:space-between;font:8px Martian}.deck-stage{grid-area:2/2/3/3;position:relative;overflow:hidden}.deck-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8),transparent)}.deck-slide{position:absolute;z-index:3;inset:0;padding:6vw;display:grid;grid-template-columns:1fr 34%;align-items:end}.deck-slide .case-title h1{font-size:100px}.deck-slide .case-title p{display:none}#deckText{display:grid;align-self:end;gap:10px}#deckText b{font:45px GlowSans}#deckText span{font-size:13px;color:#bbb}.deck-prev,.deck-next{grid-row:2;border:0;background:#121314;cursor:pointer}.deck-prev{grid-column:1}.deck-next{grid-column:3}.deck-progress{grid-area:3/1/4/4;background:#242627}.deck-progress i{display:block;width:100%;height:100%;background:var(--red);transform-origin:left;transform:scaleX(calc((var(--deck) + 1)*.2));transition:transform .6s}

/* 08 — parallax layers */
.parallax-stage{background:#000}.parallax-media{position:absolute;inset:-3%;transform:translate(var(--px),var(--py)) scale(1.06);transition:transform .35s ease-out}.parallax-media:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.22)}.parallax-word{position:absolute;z-index:3;font:clamp(150px,26vw,380px)/.7 GlowSans;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35);pointer-events:none}.word-a{left:-2vw;top:10vh;transform:translate(calc(var(--px)*-1.5),calc(var(--py)*-1.2))}.word-b{right:-3vw;bottom:8vh;transform:translate(calc(var(--px)*1.2),calc(var(--py)*1.4))}.parallax-title{position:absolute;z-index:4;left:7vw;top:8vh}.parallax-title .case-title h1{font-size:82px}.parallax-title .case-title p{display:none}.parallax-proof{position:absolute;z-index:5;right:6vw;top:10vh;display:grid;grid-template-columns:auto auto;gap:3px 14px;align-items:end}.parallax-proof b,.parallax-proof span{font:8px Martian}.parallax-proof strong{font:64px/.8 GlowSans;color:var(--red)}

/* 09 — gallery reveal */
.gallery-reveal{background:#d9d8d0;color:#0b0c0c}.reveal-media{position:absolute;left:3vw;right:3vw;top:4vh;height:62vh;overflow:hidden;clip-path:inset(0 25% 0 25% round 18px);transition:clip-path .8s cubic-bezier(.16,1,.3,1)}.gallery-reveal:hover .reveal-media,.gallery-reveal.reveal-complete .reveal-media{clip-path:inset(0 round 18px)}.reveal-window{position:absolute;inset:0;border:1px solid rgba(255,255,255,.4)}.reveal-title{position:absolute;left:4vw;top:7vh;z-index:4}.reveal-title .case-title span{color:#9c2d1c}.reveal-title .case-title h1{font-size:80px}.reveal-title .case-title p{display:none}.reveal-gallery{position:absolute;left:3vw;right:3vw;bottom:6vh;display:grid;grid-template-columns:repeat(4,1fr)}.reveal-gallery button{height:145px;border:1px solid #aaa9a3;background:transparent;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:16px;cursor:pointer}.reveal-gallery i{font:8px Martian;font-style:normal}.reveal-gallery b{font:22px GlowSans}.reveal-gallery button:hover{background:var(--red);color:#1b0602}.reveal-instruction{position:absolute;right:4vw;top:8vh;font:8px Martian}

/* 10 — metric console */
.metric-console{display:grid;grid-template:58px 1fr 190px/64% 1fr;background:#050706}.metric-console>header{grid-area:1/1/2/3;display:flex;justify-content:space-between;align-items:center;padding:0 24px;border-bottom:1px solid #27302c;font:8px Martian;color:#78f59a}.console-media{grid-area:2/1/3/2;position:relative;overflow:hidden;border-right:1px solid #27302c}.console-media video{filter:grayscale(.8) contrast(1.2)}.console-scan{position:absolute;left:0;right:0;top:0;height:2px;background:#78f59a;box-shadow:0 0 20px #78f59a;animation:console-scan 4s linear infinite}.console-title{grid-area:2/2/3/3;padding:35px}.console-title .case-title span{color:#78f59a}.console-title .case-title h1{font-size:74px}.console-metrics{grid-area:3/1/4/2;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #27302c}.console-metrics div{padding:20px;border-right:1px solid #27302c}.console-metrics b{display:block;font:60px/.8 GlowSans;color:#78f59a}.console-metrics span{font:8px Martian}.console-steps{grid-area:3/2/4/3;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #27302c}.console-steps button{border:0;border-right:1px solid #27302c;background:transparent;padding:8px;display:grid;align-content:space-between;text-align:left;cursor:pointer}.console-steps button i{font:7px Martian;font-style:normal}.console-steps button b{font:16px GlowSans}.console-steps button small{display:none}.console-steps button.active{background:#78f59a;color:#041006}@keyframes console-scan{to{top:100%}}
