:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#060a08;color:#f3f0e7;font-synthesis:none;--landing-green:#a6dc92}
*{box-sizing:border-box}body{margin:0;min-width:280px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--landing-green);outline-offset:5px}[hidden]{display:none!important}
.landing-skip{position:fixed;left:20px;top:-100px;z-index:100;padding:14px 20px;border-radius:6px;background:#e1f0d9;color:#14251b;text-decoration:none}.landing-skip:focus{top:12px}
.landing-stage{--light:1;position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100svh - 76px);padding:18px 24px;overflow:hidden;background:#060a08}
.landing-copy{position:relative;display:grid;place-items:center;width:100%;min-height:150px;text-align:center;z-index:3}
.landing-manifesto{grid-area:1/1;margin:0;text-transform:uppercase;font-size:clamp(30px,4.1vw,70px);font-weight:650;letter-spacing:-.055em;line-height:1.06;transition:opacity .8s,transform 1s;text-wrap:balance}
.landing-signature{grid-area:1/1;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity 1.2s,transform 1.2s}
.landing-wordmark{font-size:clamp(38px,5.2vw,82px);font-weight:900;letter-spacing:-.035em;line-height:1.1}.landing-wordmark>span{color:var(--landing-green)}
.landing-signature p{font-size:clamp(18px,2vw,28px);font-weight:350;letter-spacing:.035em;margin:12px 0 0;color:#d3ddcc}
.landing-deck-space{display:grid;place-items:center;width:100%;flex:none;min-height:0;padding:0}
.landing-deck{position:relative;width:min(2360px,100%,calc((100svh - 430px)*2.0354));aspect-ratio:920/452;filter:brightness(calc(.13 + var(--light)*.87));transform:translateZ(0)}
.landing-still{display:block;width:100%;height:auto;aspect-ratio:920/452;object-fit:contain}
.deck-stage{position:absolute;inset:0;width:100%;aspect-ratio:920/452;visibility:hidden;isolation:isolate}
.deck-stage>img{position:absolute;pointer-events:none;user-select:none}.deck-plinth{left:0;top:11.0619469%;width:100%;height:88.9380531%}.deck-platter{left:18.3152174%;top:13.2743363%;width:63.3695652%;height:53.539823%}
.disc-position{position:absolute;left:50.2173913%;top:33.0730088%;width:54.4326087%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}.disc-plane{position:absolute;inset:0;border-radius:50%;overflow:hidden;transform:scaleY(.311153);mask-image:radial-gradient(circle closest-side,transparent 0 2.428%,black 2.7%);box-shadow:0 0 1px #56625b}.disc-plane>canvas{position:absolute;width:100%;height:100%;inset:0}
.surface-spin{position:absolute;inset:0;border-radius:50%;overflow:hidden}.surface-spin img{width:100%;height:100%;object-fit:cover}.label-spin{position:absolute;inset:0;will-change:transform}.paper-label{position:absolute;width:34.12%;height:34.12%;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;background:#e0dbc8;box-shadow:0 0 3px #0009}.paper-label img{display:block;width:100%;height:100%;object-fit:cover}
.disc-light{position:absolute;inset:0;border-radius:50%;opacity:.35;background:conic-gradient(from -55deg,transparent 0deg,#c6d9e33d 7deg,#ddebfac4 24deg,#b6d0dd4d 42deg,transparent 58deg,transparent 360deg);mask-image:radial-gradient(circle closest-side,transparent 0 33%,#fff6 35%,white 48%,#fffa 93%,transparent 100%)}.disc-light.secondary{background:conic-gradient(from 130deg,transparent,#e4eee088 27deg,transparent 68deg,transparent 360deg);opacity:.12}
[data-tonearm]{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.landing-stage.is-live .deck-stage{visibility:visible}.landing-stage.is-live .landing-still{visibility:hidden}
.landing-stage.is-revealed .landing-manifesto{opacity:0;transform:translateY(-8px)}.landing-stage.is-revealed .landing-signature{opacity:1;transform:none;transition-delay:.8s}
.landing-controls{position:relative;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:6px 0 18px;min-height:46px;z-index:3}
.landing-controls button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 17px;background:#ffffff07;border:1px solid #a6dc9238;border-radius:999px;color:#dde7d8;font-size:14px;font-weight:550;cursor:pointer;transition:background .2s,border-color .2s}.landing-controls button:hover{background:#a6dc9218;border-color:#a6dc9270}.landing-controls button:disabled{cursor:default;opacity:.4}.landing-controls [data-sound]{background:#b2dd9e;color:#102317;border-color:#b2dd9e;box-shadow:0 3px 20px #a6dc9214}.landing-controls [data-sound]:hover{background:#d4edc8}
.landing-controls svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.landing-controls [data-sound][aria-pressed=false] svg{opacity:.7}.landing-control-divider{display:none}.motion-play,[data-motion][aria-pressed=true] .motion-pause{display:none}[data-motion][aria-pressed=true] .motion-play{display:block}
.landing-actions{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(1120px,100%);gap:14px;scroll-margin-top:100px}
.landing-destination{display:grid;grid-template-columns:80px minmax(0,1fr) 20px;align-items:center;gap:10px;min-height:100px;padding:12px 18px 12px 10px;border:1px solid #a6dc9248;border-radius:14px;background:linear-gradient(120deg,#a6dc9210,#ffffff03);text-decoration:none;transition:background .2s,border-color .2s,transform .2s}.landing-destination:hover,.landing-destination:focus-visible{background:#a6dc9219;border-color:#a6dc92a0;transform:translateY(-3px)}
.landing-destination-art{height:72px;display:flex;align-items:center;justify-content:center;overflow:hidden}.landing-destination-deck{align-items:flex-end}.landing-destination-deck img{width:145px;height:87px;max-width:none;object-fit:contain;flex:none}.landing-destination-copy{display:grid;gap:6px}.landing-destination-copy strong{font-size:21px;font-weight:650;letter-spacing:-.025em}.landing-destination-copy>span{color:#b8c5b1;font-size:12px;line-height:1.5}.landing-destination-arrow{color:var(--landing-green);font-size:24px;transition:transform .2s}.landing-destination:hover .landing-destination-arrow{transform:translateX(3px)}
.landing-story-art{display:block;width:80px;height:72px;flex:none}
.landing-destination-disc{position:relative;display:block;width:70px;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px #ffffff50,0 5px 12px #0007;mask-image:radial-gradient(circle,transparent 0 2%,#000 3%)}.landing-destination-disc>img{display:block;width:100%;height:100%;object-fit:cover}.landing-destination-disc:after{content:"";position:absolute;inset:34%;border-radius:50%;background:radial-gradient(circle,#ddd6bd 0 10%,#202b23 13% 67%,#6a745950 68% 70%,#202b23 73%);box-shadow:0 0 0 1px #1118}
.landing-credit{margin:18px 0 0;text-align:center;color:#778774;font-size:10px;line-height:1.7;letter-spacing:.015em}.landing-credit span{margin-left:7px}.landing-status{font-size:11px;line-height:1.5;color:#b8c5b1;text-align:center;max-width:400px;margin:8px 0 0}.landing-status:empty{display:none}
.landing-page .vs-site-footer{margin-top:0}
@media(max-width:1120px){.landing-stage{min-height:calc(100svh - 68px)}}
@media(max-width:600px){.landing-stage{padding:35px 16px 25px;min-height:calc(100svh - 68px)}.landing-copy{min-height:124px}.landing-manifesto{font-size:clamp(27px,7.8vw,44px);letter-spacing:-.055em}.landing-wordmark{font-size:clamp(38px,11vw,64px)}.landing-deck-space{padding:8px 0;min-height:0}.landing-deck{width:calc(100% + 16px);max-width:none}.landing-controls{gap:8px;margin:4px 0 16px}.landing-controls button{font-size:13px;gap:6px;padding:9px 12px}.landing-actions{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.landing-destination{grid-template-columns:minmax(0,1fr) 18px;gap:7px;min-height:146px;padding:10px 13px 13px}.landing-destination-art{grid-column:1/-1;height:58px}.landing-destination-deck img{width:132px;height:79px}.landing-destination-disc{width:55px}.landing-story-art{width:62px;height:56px}.landing-destination-story{grid-column:1/-1;grid-template-columns:64px minmax(0,1fr) 18px;min-height:82px}.landing-destination-story .landing-destination-art{grid-column:auto}.landing-destination-copy strong{font-size:17px}.landing-destination-copy>span{font-size:11px}.landing-destination-arrow{font-size:20px;align-self:start}.landing-credit span{display:block;margin:0}.landing-signature p{margin-top:10px}}
@media(max-width:360px){.landing-stage{padding-top:25px}.landing-controls{gap:6px}.landing-controls button{font-size:12px;padding:9px 10px}.landing-controls svg{width:16px;height:16px}.landing-destination{padding:9px 10px 12px;gap:5px}.landing-destination-copy strong{font-size:15px}}
@media(orientation:landscape) and (max-height:550px){
 .landing-stage{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);grid-template-rows:auto auto auto auto;column-gap:20px;min-height:calc(100svh - 68px);padding:14px 24px 12px}
 .landing-copy{grid-column:1;grid-row:1;min-height:70px;align-self:end}.landing-manifesto{font-size:clamp(22px,3.3vw,36px)}.landing-wordmark{font-size:clamp(30px,4.4vw,48px)}.landing-signature p{font-size:16px;margin-top:6px}
 .landing-deck-space{grid-column:2;grid-row:1/3;min-height:0;padding:0}.landing-deck{width:min(100%,calc((100svh - 160px)*2.0354))}
 .landing-actions{grid-column:1;grid-row:2;grid-template-columns:1fr;align-self:start;width:100%;max-width:300px;justify-self:center;gap:8px;margin-top:12px}.landing-destination{grid-template-columns:64px minmax(0,1fr) 16px;min-height:64px;padding:6px 10px;gap:7px}.landing-destination-art{height:48px;grid-column:auto}.landing-destination-deck img{width:88px;height:53px}.landing-destination-disc{width:44px}.landing-destination-copy strong{font-size:16px}.landing-destination-copy>span{font-size:10px}.landing-destination-arrow{font-size:18px}
 .landing-controls{grid-column:2;grid-row:4;gap:6px;min-height:44px;margin:0}.landing-controls button{font-size:12px;padding:8px 10px}.landing-credit{grid-column:1/-1;grid-row:5;font-size:9px;margin-top:5px}.landing-credit span{display:inline;margin-left:6px}.landing-status{grid-column:1/-1;margin:3px auto}
}
@media(prefers-reduced-motion:reduce){.landing-manifesto,.landing-signature,.landing-actions a{transition:none!important}.landing-stage .landing-manifesto{opacity:0}.landing-stage .landing-signature{opacity:1;transform:none}}

@media(min-width:601px) and (min-height:551px) and (max-height:800px){.landing-stage{padding:16px 24px}.landing-copy{min-height:104px}.landing-manifesto{font-size:clamp(30px,3.7vw,44px)}.landing-wordmark{font-size:60px}.landing-signature p{font-size:22px;margin-top:8px}.landing-deck{width:min(2360px,100%,calc((100svh - 360px)*2.0354))}}
@media(max-width:600px) and (max-height:700px) and (orientation:portrait){.landing-stage{padding:18px 16px 16px}.landing-copy{min-height:96px}.landing-deck-space{min-height:0;padding:0}.landing-controls{margin:0 0 8px}.landing-credit{margin-top:10px}}

.landing-stage.skip-intro .landing-manifesto,.landing-stage.skip-intro .landing-signature{transition:none}

/* Imagination film: reserve the copy/caption area so every shot keeps its fit. */
.landing-deck{opacity:var(--change,1)}
.landing-build-caption{position:relative;z-index:3;display:flex;justify-content:center;flex-wrap:wrap;gap:8px 40px;min-height:56px;max-width:100%;line-height:1.3;margin:clamp(-124px,-7.6vw,-28px) 0 38px;text-align:center;font-size:clamp(28px,2.6vw,38px);color:#e3eadc}.landing-build-caption>div{display:flex;justify-content:center;align-items:baseline;gap:10px;max-width:100%;min-width:0}.landing-build-caption dt{color:#a6b5a2;font-weight:400;flex:none}.landing-build-caption dd{margin:0;font-weight:600;min-width:0;text-wrap:balance}
.landing-stage.opening-settled .landing-manifesto{opacity:0;transform:translateY(-8px)}
.landing-stage.is-revealed .landing-signature{transition-delay:0s}
.landing-signature p{text-wrap:balance;font-size:clamp(17px,2.1vw,30px);letter-spacing:.025em}
@media(min-width:601px) and (min-height:551px){.landing-deck{width:min(2360px,100%,calc((100svh - 450px)*2.0354))}}
@media(min-width:601px) and (min-height:551px) and (max-height:800px){.landing-deck{width:min(2360px,100%,calc((100svh - 380px)*2.0354))}}
@media(max-width:600px){.landing-build-caption{flex-direction:column;justify-content:flex-start;gap:5px;min-height:calc(28px * 1.3 * 3 + 5px);margin-bottom:32px;font-size:28px}.landing-build-caption>div{gap:6px}}
@media(max-width:360px){.landing-build-caption{min-height:calc(28px * 1.3 * 4 + 5px)}}
@media(orientation:landscape) and (max-height:550px){.landing-build-caption{grid-column:2;grid-row:3;flex-direction:column;gap:4px;margin:-30px 0 24px;font-size:24px}.landing-signature p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.landing-build-caption{transition:none}.landing-deck{opacity:1}}

@media(prefers-reduced-motion:reduce){.landing-controls button,.landing-destination,.landing-destination-arrow{transition:none}.landing-destination:hover,.landing-destination:focus-visible,.landing-destination:hover .landing-destination-arrow{transform:none}}

/* Let the fireworks arrive before inviting navigation on a first visit.
   Visibility retains layout and removes links from pointer/keyboard access. */
.landing-intro-note{display:none;position:absolute;inset:0;place-content:center;text-align:center;margin:0;color:#d2dfca;font-size:14px;line-height:1.7;pointer-events:none}
.landing-intro-note span{display:block;color:#99ad92;font-size:12px}
html.landing-intro-pending .landing-intro-note{display:grid}
html.landing-intro-pending .landing-actions>a,html.landing-intro-pending .vs-site-header .vs-primary-navigation,html.landing-intro-pending .vs-site-header .vs-menu-toggle,html.landing-intro-pending .vs-site-footer{visibility:hidden!important;pointer-events:none!important}

/* Three routes into VinylStack; retain readable cards on tablet and phone. */
@media(min-width:601px) and (max-width:1000px) and (min-height:551px){.landing-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:780px}.landing-destination-story{grid-column:1/-1;min-height:82px}}

/* Match the flat movie matte to the unlit page; no coloured glow behind the deck. */
.landing-film{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;background:#060a08}
.landing-stage.is-film .landing-deck{filter:none;opacity:1;mix-blend-mode:lighten}
.landing-stage.is-film .landing-still{visibility:hidden}

/* Independent unbranded windows. Only their own UI pixels are present: no
   backdrop, shadow, filter or blur. Film time owns both opacity envelopes. */
.landing-opening{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.landing-opening img{position:absolute;display:block;width:auto;object-fit:contain;border-radius:10px;box-shadow:none;filter:none}
.landing-opening-library{height:82%;left:7%;top:2%}
.landing-opening-files{height:68%;right:7%;top:9%}
@media(max-width:600px){.landing-opening img{border-radius:5px}.landing-opening-library{left:4%;height:86%}.landing-opening-files{right:4%;height:71%;top:9.5%}}
@media(prefers-reduced-motion:reduce){.landing-opening{display:none!important}}

/* The rendered frame has less empty space below its plinth than the old live stage. */
.landing-stage.is-film .landing-build-caption{margin-top:clamp(-60px,-3vw,-24px);margin-bottom:18px}
@media(orientation:landscape) and (max-height:550px){.landing-stage.is-film .landing-build-caption{margin-top:-12px;margin-bottom:14px}}
