@font-face{font-family:Geist;src:url('../foundations/fonts/Geist-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{font-family:Geist,sans-serif;color-scheme:dark;--ink:#101312;--surface:#1a1e1d;--ivory:#f1f0e9;--cobalt:#345aff;--highlight:#a8b9ff;--muted:#a9aea9;--rule:#414943;--feedback:160ms;--panel:240ms;color:var(--ivory);background:var(--ink)}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--ivory);font-size:16px;line-height:1.6}main{max-width:1180px;padding:0 48px;margin:auto}::selection{background:var(--highlight);color:var(--ink)}a{color:var(--highlight);text-underline-offset:4px}a:hover{color:var(--ivory)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--highlight);outline-offset:5px}header{padding:32px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--rule)}header img{display:block;object-fit:contain}header p{font-size:12px;color:var(--muted);margin:0}h1,h2,h3{font-weight:400;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}h1{font-size:clamp(44px,6vw,76px);margin:0}h2{font-size:32px;margin:0 0 28px}h3{font-size:24px;margin:0 0 12px}p{margin:0 0 18px;max-width:70ch}.introduction{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:end;padding:68px 0}.introduction p{font-size:18px;line-height:1.6;color:var(--muted);margin:0}.scene{border:1px solid var(--rule);background:var(--surface)}.image-window{overflow:hidden;aspect-ratio:1200/525;background:var(--ink)}.image-window img{width:calc(100% + 24px);max-width:none;height:100%;object-fit:cover;display:block;transform:translateX(-12px)}.scene-copy{min-height:187px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 32px}.scene-copy h3{font-size:40px;margin-bottom:12px}.scene-copy p{margin:0}.stage-time{font-size:12px;color:var(--highlight);margin-bottom:10px!important}.scene-logo{object-fit:contain;flex-shrink:0}.stage.active{animation:stage-in var(--panel) cubic-bezier(.16,1,.3,1) both}.stage:first-child.active{animation:none}.transport{display:flex;align-items:center;gap:28px;margin-top:24px;flex-wrap:wrap}.buttons{display:flex;gap:10px}button{font:inherit;min-height:44px;padding:10px 22px;border:1px solid var(--muted);background:var(--surface);color:var(--ivory);cursor:pointer;transition:background-color var(--feedback) ease-out,color var(--feedback) ease-out,border-color var(--feedback) ease-out}button:hover:enabled{background:var(--ivory);color:var(--ink)}button:disabled{opacity:.45;cursor:not-allowed}#play{background:var(--ivory);color:var(--ink)}#play:hover:enabled{background:var(--highlight);border-color:var(--highlight)}.static-toggle{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;min-height:44px}.static-toggle input{width:18px;height:18px;accent-color:var(--cobalt)}output{margin-left:auto;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}progress{appearance:none;width:100%;height:3px;border:0;display:block;background:var(--rule);margin-top:20px}progress::-webkit-progress-bar{background:var(--rule)}progress::-webkit-progress-value{background:var(--highlight)}progress::-moz-progress-bar{background:var(--highlight)}.status{font-size:13px;color:var(--muted);margin:15px 0 30px;min-height:24px}.storyboard{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:28px 0 0;margin:0;border-top:1px solid var(--rule)}.storyboard li{padding-right:20px}.storyboard span{display:block;color:var(--highlight);font-size:12px;margin-bottom:14px}.storyboard p{font-size:15px;color:var(--muted)}.timings{padding:54px 0;border-top:1px solid var(--rule);margin-top:42px}.timings>div{display:grid;grid-template-columns:1fr 1fr;gap:64px}.timings h3{font-size:22px}.timings p{color:var(--muted)}.note{font-size:13px;max-width:90ch;margin-top:20px}footer{padding:30px 0 45px;border-top:1px solid var(--rule);font-size:13px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}html[data-static] *,html[data-static] *::before,html[data-static] *::after{animation:none!important;transition:none!important}html[data-static] .image-window img{transform:translateX(-12px)!important}
@keyframes stage-in{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){main{padding:0 20px}header{align-items:flex-start;padding:24px 0;flex-wrap:wrap;gap:14px}.introduction{grid-template-columns:1fr;gap:28px;padding:42px 0}.introduction p{font-size:17px}h1{font-size:49px}h2{font-size:28px}.image-window{aspect-ratio:4/3}.scene-copy{padding:24px;min-height:190px}.scene-copy h3{font-size:32px}.scene-logo{width:120px;height:auto}.scene-copy{flex-wrap:wrap}.scene-copy p{font-size:14px}.transport{gap:12px 22px}.buttons{width:100%}.buttons button{flex:1;padding:10px 12px}output{font-size:12px}.storyboard{grid-template-columns:1fr;gap:12px}.storyboard li{display:grid;grid-template-columns:65px 1fr;gap:0 15px;padding:12px 0}.storyboard li>span{grid-row:1/3;padding-top:4px}.storyboard h3{font-size:23px}.storyboard p{margin-bottom:0}.timings>div{grid-template-columns:1fr;gap:24px}.timings{padding:40px 0;margin-top:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.image-window img{transform:translateX(-12px)!important}}

.scene[data-playing="false"] .stage{animation-play-state:paused}
