@font-face{font-family:'Instrument Serif';src:url('../assets/fonts/instrument-serif.ttf') format('truetype');font-display:swap}
@font-face{font-family:'Instrument Serif';font-style:italic;src:url('../assets/fonts/instrument-serif-italic.ttf') format('truetype');font-display:swap}

@property --world-bg{syntax:'<color>';inherits:true;initial-value:#0b0907}
@property --world-accent{syntax:'<color>';inherits:true;initial-value:#eaa06b}
@property --world-glow{syntax:'<color>';inherits:true;initial-value:#f3c49a}
@property --world-ink{syntax:'<color>';inherits:true;initial-value:#efe8dc}

body.show-active{padding:0;background:#0b0907;overflow-x:hidden}
.show-active .workspace,.show-active .below-shell,.show-active .sky,.show-active .ambient{display:none}

.show{display:none;position:relative;z-index:1;isolation:isolate;overflow-x:clip;color:var(--world-ink);font-family:var(--font);font-size:13px;line-height:1.7;--serif:'Instrument Serif','Iowan Old Style',Georgia,serif;--gutter:clamp(20px,5vw,76px);--soft:color-mix(in oklab,var(--world-ink) 64%,transparent);--faint:color-mix(in oklab,var(--world-ink) 16%,transparent);transition:--world-bg 1.1s ease,--world-accent 1.1s ease,--world-glow 1.1s ease,--world-ink 1.1s ease}
.show-active .show{display:block}
.show[hidden]{display:none!important}
.show:focus,.show [tabindex="-1"]:focus{outline:0}
.show-active .skip{z-index:50}
.show-skip{position:fixed;left:16px;top:-60px;z-index:60;padding:9px 14px;border-radius:6px;background:var(--world-accent);color:#0b0907;font-size:11px}
.show-skip:focus{top:12px}
.show h2,.show h3{font-weight:400}
.show ::selection{background:var(--world-accent);color:var(--world-bg)}

.show-backdrop{position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(75vmax 55vmax at 74% 16%,color-mix(in oklab,var(--world-accent) 24%,transparent),transparent 70%),radial-gradient(60vmax 45vmax at 6% 96%,color-mix(in oklab,var(--world-glow) 9%,transparent),transparent 70%),var(--world-bg)}
.show-grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.4' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}

.show-nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;gap:22px;height:64px;padding:0 var(--gutter);font-size:10px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid transparent;transition:background-color .5s,border-color .5s,backdrop-filter .5s}
.show.is-scrolled .show-nav{background:color-mix(in oklab,var(--world-bg) 74%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);border-bottom-color:var(--faint)}
.show-nav-brand{display:flex;align-items:center;white-space:nowrap}
.show-nav-brand span{font-size:22px;font-weight:600;letter-spacing:-.22em;color:var(--world-accent);margin-right:14px}
.show-nav-links{position:relative;display:flex;align-items:center;gap:18px;margin:0 auto;overflow-x:auto;scrollbar-width:none}
.show-nav-links::-webkit-scrollbar{display:none}
.show-nav-links a{position:relative;padding:8px 1px;color:var(--soft);white-space:nowrap;transition:color .3s}
.show-nav-links a:hover,.show-nav-links a.is-active{color:var(--world-ink)}
.show-nav-links a:focus-visible{outline-offset:-3px}
.show-nav-links.is-clip-end{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.show-nav-links.is-clip-start{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px);mask-image:linear-gradient(90deg,transparent,#000 28px)}
.show-nav-links.is-clip-start.is-clip-end{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.show-nav-motion{display:inline-flex;align-items:center;gap:8px;padding:8px 0;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.show-nav-motion:hover,.show-nav-motion[aria-pressed=true]{color:var(--world-ink)}
.motion-glyph{color:var(--world-accent)}
.show-nav-links a.is-active::after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:var(--world-accent)}
.show-nav-group{color:var(--world-accent);margin-left:8px;font-size:9px;opacity:.85}
.show-nav-group:first-child{margin-left:0}
.show-nav-brand{font-size:12px;letter-spacing:0;text-transform:none}
.show-nav-win{margin-left:14px;padding:0 1ch;font-style:normal;background:var(--world-ink);color:var(--world-bg)}
.show-nav-exit{white-space:nowrap;color:var(--soft)}
.show-nav-exit span{color:var(--world-accent);margin-left:8px}
.show-nav-exit:hover{color:var(--world-ink)}

.reel{position:relative;height:100svh;min-height:600px;overflow:hidden;isolation:isolate}
.reel-field{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}
.reel.no-field .reel-field{display:none}
.reel-fallback{position:absolute;left:66%;top:46%;width:min(30vw,320px);height:auto;translate:-50% -50%;border-radius:23%;box-shadow:0 0 0 1px #ffffff1a,0 40px 140px -20px color-mix(in oklab,var(--reel-glow,#fff) 45%,transparent)}
.reel-fallback.is-in{animation:fallback-in 1s cubic-bezier(.2,.75,.15,1) both}
.reel-veil{position:absolute;left:0;right:0;bottom:0;height:64%;pointer-events:none;background:linear-gradient(transparent,color-mix(in oklab,var(--world-bg) 82%,transparent) 55%,color-mix(in oklab,var(--world-bg) 82%,transparent) 78%,transparent)}
.reel-steps{position:absolute;top:84px;left:var(--gutter);right:var(--gutter);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;z-index:2}
.reel-steps button{display:block;width:100%;padding:12px 0 6px;text-align:left;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft)}
.reel-steps button b{display:block;margin-top:11px;font-weight:400;transition:color .4s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reel-steps .is-current b,.reel-steps button:hover b{color:var(--world-ink)}
.reel-step-no{display:none}
.reel-fill{position:relative;display:block;height:2px;overflow:hidden;background:var(--faint);border-radius:2px}
.reel-bar{position:absolute;inset:0;background:var(--reel-accent,var(--world-accent));transform:scaleX(0);transform-origin:left}
.reel-steps .is-done .reel-bar{transform:scaleX(1);opacity:.55}
.reel-steps .is-current .reel-bar{animation:reel-fill 6.4s linear forwards}
.reel:not(.is-playing) .reel-steps .is-current .reel-bar{animation-play-state:paused}
.reel-copy{position:absolute;left:var(--gutter);bottom:clamp(128px,19vh,200px);z-index:2;max-width:min(860px,58vw);pointer-events:none}
.reel-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);animation:fade-up .8s both}
.reel-segment{color:var(--reel-accent,var(--world-accent));border:1px solid color-mix(in oklab,var(--reel-accent,var(--world-accent)) 55%,transparent);padding:3px 9px;border-radius:999px}
.reel-name{margin:16px 0 12px;font-family:var(--serif);font-size:clamp(64px,10.5vw,176px);line-height:.92;letter-spacing:-.02em;color:var(--world-ink)}
.reel-name .w{display:inline-block;white-space:nowrap}
.reel-name .w span{display:inline-block;animation:letter-in 1s cubic-bezier(.2,.75,.15,1) both;animation-delay:calc(var(--i) * 34ms + 120ms)}
.reel-tagline{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.4vw,38px);line-height:1.15;color:color-mix(in oklab,var(--world-ink) 84%,transparent);animation:fade-up .9s .35s both}
.reel-platforms{margin:18px 0 0;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);animation:fade-up .9s .5s both}
.reel-platforms span{color:var(--reel-accent,var(--world-accent));margin:0 4px}
.reel-actions{position:absolute;right:var(--gutter);bottom:clamp(140px,20vh,210px);z-index:2}
.reel-explore{display:flex;align-items:center;gap:20px;text-align:left;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.reel-explore b{font-weight:400;color:var(--reel-accent,var(--world-accent))}
.reel-explore small{display:block;margin-top:7px;font-size:9px;letter-spacing:.08em;text-transform:none;color:var(--soft)}
.reel-explore-ring{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;font-size:24px;color:var(--reel-accent,var(--world-accent));border:1px solid color-mix(in oklab,var(--reel-accent,var(--world-accent)) 45%,transparent);transition:background .35s,color .35s,transform .35s}
.reel-explore:hover .reel-explore-ring{background:var(--reel-accent,var(--world-accent));color:#0b0907;transform:translateY(3px)}
.reel-explore:hover{color:var(--world-ink)}
.reel-foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:30px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--faint);font-size:9px;letter-spacing:.14em;color:var(--soft)}
.reel-foot p{margin:0}
.reel-controls{display:flex;gap:6px}
.reel-controls button{width:38px;height:38px;border:1px solid var(--faint);border-radius:50%;font-size:13px;color:var(--world-ink);transition:border-color .3s,background .3s}
.reel-controls button:hover{border-color:var(--reel-accent,var(--world-accent));color:var(--reel-accent,var(--world-accent))}
.reel-hint span{color:var(--world-accent);margin:0 10px}
.reel-count{font-size:10px;color:var(--world-ink)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.eyebrow{margin:0;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--world-accent)}
.show .reveal{opacity:0;transform:translateY(30px);transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}
.show .reveal.is-in{opacity:1;transform:none}

.manifesto{min-height:100svh;display:grid;align-content:center;padding:130px var(--gutter) 90px}
.manifesto-title{max-width:13ch;margin:18px 0 28px;font-family:var(--serif);font-size:clamp(52px,7.6vw,132px);line-height:.96;letter-spacing:-.025em}
.manifesto-title em,.chapter-title em,.section-head em,.finale-title em{font-style:italic;color:var(--world-glow)}
.manifesto-line{max-width:620px;margin:0;font-size:14px;line-height:1.9;color:var(--soft)}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:64px 0 0;border-top:1px solid var(--faint)}
.facts div{padding:20px 24px 0 0;margin-right:24px;border-right:1px solid var(--faint)}
.facts div:last-child{border-right:0;margin-right:0}
.facts dt{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--world-accent)}
.facts dd{margin:10px 0 0;font-size:12px;line-height:1.75}

.chapter{min-height:92svh;display:grid;align-content:center;padding:0 var(--gutter)}
.chapter-index{margin:0;font-size:11px;letter-spacing:.24em;color:var(--world-accent)}
.chapter-title{margin:12px 0 clamp(30px,4vw,64px);padding-bottom:.06em;font-family:var(--serif);font-size:clamp(84px,17vw,280px);line-height:.9;letter-spacing:-.04em}
.chapter-line{max-width:520px;margin:0;font-size:14px;color:var(--soft)}

.scene{position:relative;isolation:isolate;padding:0 var(--gutter);--soft:color-mix(in oklab,var(--s-ink) 66%,transparent);--faint:color-mix(in oklab,var(--s-ink) 15%,transparent)}
.scene-open{position:relative;min-height:100svh;display:grid;align-content:center;padding:110px 0 50px}
.scene-open-copy{max-width:720px}
.scene-eyebrow{display:flex;align-items:center;gap:12px;margin:0;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft)}
.scene-eyebrow span{color:var(--s-accent)}
.scene-eyebrow i{font-style:normal;opacity:.5}
.scene-name{display:flex;align-items:center;gap:clamp(16px,2vw,32px);margin:24px 0 14px;font-family:var(--serif);font-size:clamp(52px,6.9vw,118px);line-height:.95;letter-spacing:-.025em;color:var(--s-ink)}
.scene-name span{min-width:0}
.scene-icon{flex:none;width:clamp(56px,6vw,96px);height:auto;border-radius:23%;box-shadow:0 0 0 1px #ffffff1c,0 30px 90px -18px color-mix(in oklab,var(--s-accent) 75%,transparent)}
.scene-tagline{max-width:20ch;margin:0 0 28px;font-family:var(--serif);font-style:italic;font-size:clamp(28px,3.1vw,50px);line-height:1.08;color:var(--s-glow)}
.scene-story{max-width:640px;margin:0;font-size:13px;line-height:1.95;color:var(--soft)}
.scene-facts{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-top:30px}
.scene-status{display:flex;align-items:center;gap:10px;margin:0;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--s-ink)}
.scene-status i{width:7px;height:7px;border-radius:50%;background:#7fd38a;box-shadow:0 0 14px #7fd38a}
.scene-visit{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid color-mix(in oklab,var(--s-accent) 55%,transparent);border-radius:999px;font-size:11px;color:var(--s-ink);transition:background .25s,color .25s,border-color .25s}
.scene-visit span{color:var(--s-accent)}
.scene-visit:hover{background:var(--s-accent);border-color:var(--s-accent);color:#0b0907}
.scene-visit:hover span{color:inherit}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.chips li{padding:5px 12px;border:1px solid var(--faint);border-radius:999px;font-size:10px;letter-spacing:.04em;color:var(--soft)}

.scene-body{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,4.5vw,90px);align-items:start}
.scene-flow{min-width:0}
.beats{margin:0;padding:4vh 0 30vh;list-style:none}
.beat{min-height:74vh;display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-content:center;opacity:.7;transition:opacity .6s ease}
.beat.is-active{opacity:1}
.beat-index{padding-top:14px;font-size:11px;color:var(--s-accent)}
.beat h3{margin:0 0 16px;font-family:var(--serif);font-size:clamp(32px,3.6vw,58px);line-height:1.04;color:var(--s-ink)}
.beat p{max-width:430px;margin:0;font-size:13px;line-height:1.9;color:var(--soft)}

.stage{position:sticky;top:0;height:100svh;container-type:size;perspective:1700px}
.stage-tilt{position:relative;width:100%;height:100%;display:grid;place-items:center;transform-style:preserve-3d;transform:rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.stage-tilt>.device{grid-area:1/1}
.device{position:relative;transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1),filter .7s ease}
.device-screen{position:relative;overflow:hidden;background:#050505}
.media{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.035);transition:opacity .7s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.media.is-active{opacity:1;transform:none}

.device-phone{width:min(46cqi,36cqh);aspect-ratio:720/1565;border-radius:15.5%/7.2%;background:linear-gradient(150deg,#45454b,#151517 38%,#2b2b30 70%,#111113);box-shadow:inset 0 0 0 1.5px #5d5d64,inset 0 0 0 3.5px #09090a,0 60px 110px -40px #000,0 0 120px -40px color-mix(in oklab,var(--s-accent) 70%,transparent)}
.device-phone .device-screen{position:absolute;inset:1.2% 2.6%;border-radius:13.4%/6.2%}
.device-phone::after{content:'';position:absolute;top:4.1%;left:50%;z-index:3;width:30%;height:3.6%;translate:-50% 0;border-radius:99px;background:#000}
.device-phone::before{content:'';position:absolute;inset:1.2% 2.6%;z-index:4;border-radius:13.4%/6.2%;pointer-events:none;background:linear-gradient(118deg,#ffffff1f 0%,transparent 28%,transparent 72%,#ffffff0a 100%)}

.device-mac{width:min(96cqi,130cqh);border-radius:14px;padding:0;background:#161618;box-shadow:0 0 0 1px #ffffff21,0 70px 140px -50px #000,0 0 140px -50px color-mix(in oklab,var(--s-accent) 60%,transparent)}
.device-mac .device-screen{aspect-ratio:var(--ar,16/10);border-radius:14px}

.device-browser{width:min(96cqi,140cqh);border-radius:14px;overflow:hidden;background:#141416;box-shadow:0 0 0 1px #ffffff1f,0 70px 140px -50px #000,0 0 140px -50px color-mix(in oklab,var(--s-accent) 55%,transparent)}
.device-bar{display:flex;align-items:center;gap:7px;height:34px;padding:0 14px;background:#1f1f23;border-bottom:1px solid #ffffff12}
.device-bar i{width:10px;height:10px;border-radius:50%;background:#ff5f57}
.device-bar i:nth-child(2){background:#febc2e}
.device-bar i:nth-child(3){background:#28c840}
.device-bar span{min-width:44%;margin:0 auto;padding:4px 16px;border-radius:7px;background:#2b2b30;font-size:10px;letter-spacing:.02em;text-align:center;color:#a8a8b0}
.device-browser .device-screen{aspect-ratio:var(--ar,16/10)}

.device-poster{width:min(40cqi,34cqh);aspect-ratio:var(--ar,9/16)}
.poster-card{position:absolute;inset:0;overflow:hidden;border-radius:18px;background:#000;box-shadow:0 0 0 1px #ffffff1c,0 40px 90px -30px #000;z-index:calc(10 - var(--d,0));transform:translateX(calc(var(--o,0) * 24%)) rotate(calc(var(--o,0) * 5deg)) scale(calc(1 - var(--d,0) * .07));filter:brightness(calc(1 - var(--d,0) * .28));transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .7s ease}
.poster-card .media{opacity:1;transform:none}

.stage[data-devices~="browser"][data-devices~="phone"] .device-browser,.stage[data-devices~="browser"][data-devices~="poster"] .device-browser{width:min(84cqi,118cqh);transform:translate(-7cqi,-9cqh)}
.stage[data-devices~="browser"][data-devices~="phone"] .device-phone{width:min(27cqi,23cqh);transform:translate(31cqi,17cqh)}
.stage[data-devices~="browser"][data-devices~="poster"] .device-poster{width:min(25cqi,22cqh);transform:translate(28cqi,15cqh)}
.stage[data-devices~="browser"] .device:not(.is-front){filter:brightness(.5) saturate(.75)}
.stage[data-devices~="browser"] .device.is-front{z-index:2}

.scene-foot{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,70px);align-items:start;padding:30px 0 20vh}
.scene-built{padding:26px 30px 14px;border:1px solid var(--faint);border-radius:18px;background:color-mix(in oklab,var(--s-bg) 55%,#000);font-size:12px}
.label{margin:0 0 6px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--s-accent,var(--world-accent))}
.label span{margin-right:6px}
.label.prompt{font-size:12px;letter-spacing:0;text-transform:none;color:var(--soft)}
.label.prompt span{margin-right:0}
.p-user{font-weight:400;color:var(--s-ink,var(--world-ink))}
.p-arrow{font-style:normal;color:var(--s-accent,var(--world-accent))}
.p-file{white-space:nowrap}
.scene-built ul{margin:0;padding:0;list-style:none}
.scene-built li{display:grid;grid-template-columns:20px minmax(0,1fr);padding:13px 0;border-top:1px dashed var(--faint);line-height:1.75;color:var(--soft)}
.scene-built li:first-child{border-top:0}
.scene-built li::before{content:'›';color:var(--s-accent)}
.scene-side .chips{margin:8px 0 30px}
.scene-links{display:flex;flex-wrap:wrap;gap:10px}
.scene-links a,.ship-links a,.studio-card a{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border:1px solid var(--faint);border-radius:12px;font-size:11px;color:var(--s-ink,var(--world-ink));transition:border-color .25s,background .25s,color .25s}
.scene-links a span,.ship-links a span,.studio-card a span{color:var(--s-accent,var(--world-accent))}
.scene-links a:hover,.ship-links a:hover,.studio-card a:hover{border-color:var(--s-accent,var(--world-accent));color:var(--s-ink,var(--world-ink))}
.scene-links a.is-primary{background:var(--s-ink);border-color:var(--s-ink);color:var(--s-bg)}
.scene-links a.is-primary span{color:inherit;opacity:.6}
.scene-links a.is-primary:hover{background:var(--s-accent);border-color:var(--s-accent);color:#0b0907}

.scene-wall{position:absolute;left:0;right:0;top:0;height:120svh;z-index:-1;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 64%,#000 92%,transparent),linear-gradient(transparent,#000 12%,#000 70%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 30%,#000 64%,#000 92%,transparent),linear-gradient(transparent,#000 12%,#000 70%,transparent);mask-composite:intersect}
.wall-plane{position:absolute;left:62%;top:50%;width:150%;display:grid;gap:20px;opacity:.34;translate:-50% -50%;transform:perspective(1500px) rotateX(22deg) rotateY(-14deg) rotateZ(-8deg)}
.wall-track{display:flex;gap:20px;width:max-content;animation:wall var(--dur,60s) linear infinite;animation-play-state:paused}
.scene-wall.is-running .wall-track{animation-play-state:running}
.show.is-still .wall-track{animation-play-state:paused}
.wall-row.is-reverse .wall-track{animation-direction:reverse}
.wall-track img{display:block;width:clamp(120px,13vw,200px);height:auto;aspect-ratio:540/960;object-fit:cover;border-radius:14px;box-shadow:0 0 0 1px #ffffff14}

.section-head{max-width:900px}
.section-head h2{margin:16px 0 18px;font-family:var(--serif);font-size:clamp(46px,6.4vw,104px);line-height:.98;letter-spacing:-.02em}
.section-head p:last-child{max-width:560px;margin:0;font-size:13px;line-height:1.9;color:var(--soft)}

.also{padding:18vh var(--gutter) 12vh}
.also-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px;margin-top:60px}
.ship{position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--faint);border-radius:22px;background:color-mix(in oklab,var(--world-bg) 70%,#000);transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .4s,box-shadow .5s}
.ship:hover{transform:translateY(-6px);border-color:color-mix(in oklab,var(--s-accent) 55%,transparent);box-shadow:0 34px 90px -36px color-mix(in oklab,var(--s-accent) 50%,transparent)}
.ship-visual{aspect-ratio:11/4;margin:0;overflow:hidden;background:#000}
.ship-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 18%;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.ship:hover .ship-visual img{transform:scale(1.04)}
.ship-copy{display:flex;align-items:center;gap:14px;padding:24px 24px 0}
.ship-icon{width:52px;height:52px;border-radius:12px;box-shadow:0 0 0 1px #ffffff1a}
.ship h3{margin:0;font-family:var(--serif);font-size:32px;line-height:1}
.ship-kind{margin:6px 0 0;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.ship-kind span{opacity:.5}
.ship-line{margin:16px 0 22px;padding:0 24px;font-size:12px;line-height:1.85;color:var(--soft)}
.ship-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding:0 24px 24px}

.workshop{padding:14vh var(--gutter)}
.tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:56px}
.tool{padding:26px 26px 22px;border:1px solid var(--faint);border-radius:18px;background:color-mix(in oklab,var(--world-bg) 55%,#000);font-size:12px;line-height:1.85;transition:border-color .4s}
.tool:hover{border-color:color-mix(in oklab,var(--world-accent) 45%,transparent)}
.tool-path{margin:0;font-size:11px;color:var(--world-accent)}
.tool-path b{font-weight:400;color:var(--world-ink)}
.tool h3{margin:14px 0 10px;font-family:var(--serif);font-size:36px;line-height:1}
.tool p{color:var(--soft)}
.tool-tags{margin:18px 0 0;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.tool-tags span{color:var(--world-accent)}

.about{padding:16vh var(--gutter) 10vh}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(28px,5vw,96px);align-items:center}
.about-visual{position:relative;width:100%;max-width:620px;aspect-ratio:1;margin:0;container-type:inline-size}
.dial-field{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:crosshair}
.dial-center{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;margin:0;text-align:center;pointer-events:none}
.dial-center strong{font-family:var(--serif);font-size:10cqi;font-weight:400;line-height:.8;letter-spacing:-.02em;color:var(--world-glow)}

.dial-center span{font-size:max(9px,1.7cqi);line-height:1.7;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.about-visual figcaption{position:absolute;left:0;right:0;bottom:-10px;text-align:center;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft)}
.about-visual figcaption span{margin:0 6px;color:var(--world-accent)}
.about-copy h2{margin:16px 0 26px;font-family:var(--serif);font-size:clamp(48px,6.2vw,104px);line-height:.98;letter-spacing:-.02em}
.about-copy h2 em{font-style:italic;color:var(--world-glow)}
.about-line{max-width:600px;margin:0 0 14px;font-size:14px;line-height:1.9;color:var(--soft)}
.about-copy .about-line:first-of-type{color:var(--world-ink)}
.about-principles{display:grid;gap:8px;margin:30px 0;padding:0;list-style:none;font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.2vw,32px);line-height:1.2;color:var(--world-glow)}
.about-principles li::before{content:'';display:inline-block;width:6px;height:6px;margin:0 14px .22em 0;border-radius:50%;background:var(--world-accent)}
.about-links{display:flex;flex-wrap:wrap;gap:10px}
.about-links a{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border:1px solid var(--faint);border-radius:12px;font-size:11px;color:var(--world-ink);transition:border-color .25s}
.about-links a span{color:var(--world-accent)}
.about-links a:hover{border-color:var(--world-accent)}
.studio{padding:10vh var(--gutter)}
.studio-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4vw,70px);align-items:center;padding:clamp(28px,5vw,70px);border:1px solid color-mix(in oklab,var(--s-accent) 32%,transparent);border-radius:30px;background:radial-gradient(120% 160% at 0% 0%,color-mix(in oklab,var(--s-accent) 16%,transparent),transparent 62%)}
.studio-mark{width:clamp(84px,10vw,150px);height:auto;filter:drop-shadow(0 24px 70px color-mix(in oklab,var(--s-accent) 55%,transparent))}
.studio-card h2{margin:10px 0 14px;font-family:var(--serif);font-size:clamp(52px,6.6vw,110px);line-height:.95;color:var(--s-ink)}
.studio-card p:not(.eyebrow){max-width:600px;margin:0 0 26px;font-size:13px;line-height:1.9;color:color-mix(in oklab,var(--s-ink) 70%,transparent)}
.studio .eyebrow{color:var(--s-accent)}

.finale{min-height:92svh;display:grid;align-content:center;justify-items:start;padding:14vh var(--gutter) 5vh}
.finale-src{margin:0 0 22px;max-width:100%;font-size:clamp(11px,3.4vw,13px);color:var(--soft);white-space:nowrap}
.finale-src b{font-weight:400;color:var(--world-accent)}
.finale-src i{display:inline-block;width:.6em;height:1.1em;margin-left:2px;vertical-align:-.2em;background:var(--world-accent);animation:finale-blink 1.1s steps(1) infinite}
.show.is-still .finale-src i{animation:none}
.finale-title{margin:0 0 26px;font-family:var(--serif);font-size:clamp(66px,11.5vw,200px);line-height:.88;letter-spacing:-.03em}
.finale-line{max-width:560px;margin:0 0 36px;font-size:14px;line-height:1.9;color:var(--soft)}
.finale-links{display:flex;flex-wrap:wrap;gap:12px}
.finale-links a,.finale-links button{padding:13px 22px;border:1px solid var(--faint);border-radius:999px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--world-ink);transition:background .3s,color .3s,border-color .3s}
.finale-links a:first-child{background:var(--world-ink);border-color:var(--world-ink);color:var(--world-bg)}
.finale-links a:hover,.finale-links button:hover{border-color:var(--world-accent);background:var(--world-accent);color:#0b0907}
.finale-meta{margin:14vh 0 0;font-size:10px;letter-spacing:.12em;color:var(--soft)}
.finale-meta span{color:var(--world-accent);margin:0 8px}

@keyframes reel-fill{to{transform:scaleX(1)}}
@keyframes letter-in{from{opacity:0;transform:translateY(.42em) rotate(7deg);filter:blur(10px)}}
@keyframes fade-up{from{opacity:0;transform:translateY(14px)}}
@keyframes fallback-in{from{opacity:0;transform:scale(.86) rotate(-6deg);filter:blur(12px)}}
@keyframes wall{to{transform:translateX(-50%)}}
@keyframes finale-blink{50%{opacity:0}}

/* Passage from the terminal: the reel starts as a dotted copy of the screen */
.show.is-handoff:not(.is-run) :is(.show-backdrop,.show-grain,.reel-veil,.show-nav,.reel-steps,.reel-copy,.reel-actions,.reel-foot){opacity:0}
.show.is-handoff.is-run :is(.show-backdrop,.show-grain,.reel-veil){animation:hand-in 1.2s .2s ease-out both}
.show.is-handoff.is-run .show-nav{animation:hand-drop .45s .6s cubic-bezier(.2,.75,.15,1) both}
.show.is-handoff.is-run .reel-steps{animation:hand-in .4s .7s both}
.show.is-handoff.is-run :is(.reel-actions,.reel-foot){animation:hand-in .4s .8s both}
.reel.is-handoff .reel-meta{animation-delay:.9s}
.reel.is-handoff .reel-tagline{animation-delay:1.05s}
.reel.is-handoff .reel-platforms{animation-delay:1.2s}
.reel.is-handoff .reel-name .w span{animation-delay:calc(var(--i) * 34ms + 600ms)}
.reel.is-handoff .is-current .reel-bar{animation-delay:1.2s}
.reel-name .w.is-flying{visibility:hidden}
.reel-name .w:is(.is-flying,.is-landed) span{animation:none}
.handoff-name{position:fixed;left:0;top:0;z-index:50;margin:0;line-height:1;white-space:pre;transform-origin:0 0;pointer-events:none;font-kerning:none;font-variant-ligatures:none}

@media (min-width:1600px){
  .show{font-size:14px}
  .beat p,.scene-story{font-size:14px}
}

@media (max-width:1100px){
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts div:nth-child(2){border-right:0;margin-right:0}
  .tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}

@media (max-width:900px){
  .show-nav{height:56px;gap:14px}
  .show-nav-links{gap:14px}
  .show-nav-group{display:none}
  .show-nav-exit{display:none}
  .motion-label{display:none}
  .show-nav-links{padding-right:24px}
  .reel-steps{top:70px;gap:6px}
  .reel-steps button b{font-size:8px;letter-spacing:.08em}
  .reel-copy{left:var(--gutter);right:var(--gutter);max-width:none;bottom:170px}
  .reel-name{font-size:clamp(50px,15vw,96px);margin:12px 0 10px}
  .reel-tagline{font-size:clamp(20px,5.4vw,28px)}
  .reel-platforms{margin-top:12px}
  .reel-actions{left:var(--gutter);right:auto;bottom:96px}
  .reel-explore{gap:14px;font-size:10px}
  .reel-explore-ring{width:46px;height:46px;font-size:18px}
  .reel-explore small{display:none}
  .reel-foot{bottom:18px;padding-top:14px}
  .reel-hint{display:none}
  .reel-fallback{left:50%;top:34%;width:min(46vw,220px)}
  .manifesto{padding:110px var(--gutter) 70px}
  .chapter{min-height:72svh}
  .scene-open{min-height:auto;padding:110px 0 34px;order:0}
  .scene-body{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .scene-flow{display:contents}
  .stage{order:1;top:56px;height:54svh;z-index:2;background:linear-gradient(var(--s-bg) 82%,transparent);box-shadow:0 -28px 28px -14px var(--s-bg);margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter)}
  .beats{order:2}
  .scene-name{font-size:clamp(48px,12vw,84px)}
  .stage[data-devices~="browser"][data-devices~="phone"] .device-browser,.stage[data-devices~="browser"][data-devices~="poster"] .device-browser{width:min(88cqi,120cqh);transform:translate(-4cqi,-10cqh)}
  .stage[data-devices~="browser"][data-devices~="phone"] .device-phone{width:min(30cqi,30cqh);transform:translate(30cqi,14cqh)}
  .stage[data-devices~="browser"][data-devices~="poster"] .device-poster{width:min(28cqi,28cqh);transform:translate(30cqi,12cqh)}
  .beats{padding:4vh 0 22vh}
  .beat{min-height:44svh;grid-template-columns:34px minmax(0,1fr);align-content:start;padding-top:6svh}
  .beat h3{font-size:clamp(28px,8vw,40px)}
  .scene-foot{grid-template-columns:minmax(0,1fr);padding-bottom:14vh}
  .scene-wall{height:100svh}
  .ship-visual{height:auto;aspect-ratio:4/3}
  .also,.workshop{padding:12vh var(--gutter)}
  .tools{grid-template-columns:minmax(0,1fr)}
  .studio-card{grid-template-columns:minmax(0,1fr)}
  .about-grid{grid-template-columns:minmax(0,1fr)}
  .about-visual{max-width:420px;margin:0 auto}
  .finale-meta{margin-top:8vh}
}

@media (max-width:520px){
  .facts{grid-template-columns:minmax(0,1fr)}
  .facts div{border-right:0;margin-right:0}
  .reel-steps button{min-height:44px}
  .reel-step-no{display:inline}
  .reel-step-name{display:none}
  .scene-name{font-size:clamp(48px,14vw,72px)}
  .scene-tagline{font-size:clamp(26px,8vw,36px)}
}

@media (max-width:900px) and (max-height:500px) and (orientation:landscape){
  .reel{height:100svh;min-height:0}
  .reel-steps{top:62px}
  .reel-copy{right:auto;max-width:54vw;bottom:76px}
  .reel-name{font-size:clamp(38px,7.4vw,60px);margin:8px 0 6px}
  .reel-tagline{font-size:18px}
  .reel-platforms{display:none}
  .reel-actions{left:auto;right:var(--gutter);bottom:80px}
  .reel-foot{bottom:10px;padding-top:10px}
  .reel-fallback{left:74%;top:52%;width:min(26vw,38svh)}
  .manifesto{padding:80px var(--gutter) 50px}
  .chapter{min-height:100svh}
  .scene-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:28px}
  .scene-flow{display:block}
  .scene-open{min-height:100svh;padding:70px 0 24px}
  .scene-name{font-size:clamp(34px,5.6vw,54px)}
  .scene-tagline{font-size:22px;margin-bottom:14px}
  .scene-story{font-size:12px;line-height:1.8}
  .stage{order:0;top:56px;height:calc(100svh - 56px);margin:0;padding:0;background:none;box-shadow:none}
  .beats{padding:0 0 24vh}
  .beat{min-height:90svh;align-content:center;padding-top:0}
}

@media (max-width:520px){.p-user{display:none}}
@media (max-width:1145px){.show-nav-win{display:none}}

@media (prefers-reduced-motion:reduce){
  .handoff-name{display:none}
  .finale-src i{animation:none}
  .show .reveal{opacity:1;transform:none}
  .show [data-motion]{display:none}
  .beat{opacity:1}
  .reel-steps .is-current .reel-bar{transform:scaleX(1)}
  .stage-tilt{transform:none}
}
