.stage-visual{position:fixed;inset:0;z-index:3;pointer-events:none;transform-origin:center;will-change:opacity,transform}
.stage-sky{position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,var(--c-sky-1),var(--c-sky-2) 56%,#fff3e6);overflow:hidden}.cloud{position:absolute;width:85vw;height:28vh;filter:blur(14px);background:radial-gradient(ellipse at 30% 55%,#fff9,transparent 52%),radial-gradient(ellipse at 62% 45%,#fff8,transparent 50%);transform:translate3d(0,0,0)}.cloud-a{left:-20%;top:15%}.cloud-b{right:-35%;top:47%;width:100vw;opacity:.7}.cloud-c{left:-12%;top:78%;width:120vw;opacity:.55}
.stage-back{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}.hero-giant{position:absolute;right:18px;top:15vh;color:#fff7ee;writing-mode:vertical-rl;font:900 clamp(100px,28vw,118px)/1.02 var(--font-serif);letter-spacing:-.04em;text-shadow:0 2px 28px #d5e6f333}.hero-latin{position:absolute;top:18vh;right:7px;writing-mode:vertical-rl;font:10px/1 var(--font-mono);letter-spacing:.28em;color:var(--c-indigo-deep);opacity:.6}
#stage{position:fixed;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:0;transition:opacity var(--crossfade-ms)}body.stage-ready #stage{opacity:1}body.stage-covered #stage{visibility:hidden}.stage-poster{position:fixed;inset:0;z-index:2;pointer-events:none;transition:opacity var(--crossfade-ms)}.stage-poster img{position:absolute;left:50%;top:50%;height:62.9vh;width:auto;max-width:none;transform:translate(-50%,-50%);will-change:transform}body.stage-ready .stage-poster{opacity:0}body.stage-covered .stage-poster{visibility:hidden}
main{position:relative;z-index:auto}#home{height:100vh;height:100svh;min-height:720px;position:relative}.home-eyebrow{position:absolute;left:var(--gutter);top:92px;z-index:4;font-size:10px;letter-spacing:.19em}.home-copy{position:absolute;left:var(--gutter);right:var(--gutter);bottom:max(60px,calc(env(safe-area-inset-bottom) + 46px));z-index:5}.home-copy h2{font-size:clamp(26px,6.7vw,34px);font-weight:600;line-height:1.3;letter-spacing:-.035em}.home-description{font-size:15px;line-height:1.65;margin-top:12px;max-width:24em}.home-actions{display:flex;align-items:center;gap:20px;margin-top:20px}.home-actions .pill{padding-inline:22px;gap:16px}.hero-hit{position:absolute;z-index:4;left:17%;right:15%;top:17%;height:42%;border-radius:50%;touch-action:pan-y}.hero-bubble{position:absolute;left:50%;top:17%;z-index:6;max-width:calc(100vw - 40px);padding:10px 18px;border-radius:24px;background:var(--c-cream);border:1px solid var(--c-gold);color:var(--c-ink);font-size:14px;white-space:nowrap;transform:translate(-50%,8px);opacity:0;pointer-events:none;transition:transform .3s,opacity .3s}.hero-bubble.is-visible{opacity:1;transform:translate(-50%,0)}.hero-bubble::after{content:'';position:absolute;width:8px;height:8px;background:var(--c-cream);border-right:1px solid var(--c-gold);border-bottom:1px solid var(--c-gold);bottom:-5px;left:48%;transform:rotate(45deg)}
.home-scroll{position:absolute;z-index:5;bottom:max(13px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;min-height:35px;font-size:11px;letter-spacing:.1em}.home-scroll svg{width:24px;height:24px;stroke:currentColor;stroke-width:2}.home-index{display:none}
#design{position:relative;padding-top:100px}.design-intro{position:relative;z-index:5;min-height:72vh;display:flex;flex-direction:column;justify-content:center;padding-bottom:30vh;margin-bottom:var(--intro-pause);pointer-events:none}.design-intro h2{font-size:clamp(40px,8.4vw,108px);margin-top:24px}.design-intro p:last-child{margin-top:25px;font-size:15px;max-width:24em;line-height:1.85}.design-stage-anchor{position:sticky;top:0;height:0;pointer-events:none}
.design-steps{position:relative}.step{position:relative;height:115vh;height:115svh;min-height:760px}.step-card{position:sticky;top:calc(100vh - 340px);top:calc(100svh - 340px);z-index:5;margin-inline:var(--gutter);padding:24px 25px 26px;border:1px solid #f7b84b72;border-radius:24px;background:#fff8eeeb;min-height:240px;max-width:620px;box-shadow:0 10px 40px #3c4f9b07}.step-number{position:absolute;top:8px;left:22px;font:900 48px/1.2 var(--font-serif);-webkit-text-stroke:1px #e4ad66;color:transparent;opacity:.65}.step-card h3{margin-top:28px;margin-bottom:14px;padding-right:60px;font-size:26px}.step-card .tag{padding-left:70px;color:var(--c-ink);display:block;font-size:11px}.step-body{font-size:15px;line-height:1.8;max-width:28em}.step-body p+p{margin-top:10px}.profile-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 15px}.profile-tags span{font-size:12px;border:1px solid #2e3f8626;border-radius:20px;padding:2px 10px}.profile-details{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;font-size:15px;line-height:1.7;margin:0}.profile-details dt{opacity:.6;font-size:12px;padding-top:3px}.profile-details dd{margin:0}.design-part-labels{position:fixed;inset:0;z-index:6;pointer-events:none}
.palette{position:relative;z-index:5;padding-top:80px;padding-bottom:110px;background:linear-gradient(180deg,transparent,#fde3ea 30%)}.palette-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:28px}.palette-heading h3{font-size:26px}.palette-swatches{display:flex;gap:14px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:15px}.swatch{flex:0 0 104px;scroll-snap-align:start}.swatch-disc{height:104px;width:104px;border-radius:50%;background:var(--swatch);border:1px solid #2e3f860d;box-shadow:inset 0 0 30px #ffffff30}.swatch p{font-size:12px;margin-top:14px}.swatch small{font:10px/1.6 var(--font-mono);opacity:.7;letter-spacing:.08em}
.ribbon-wrap{position:relative;z-index:7;height:140px;overflow:hidden;display:flex;align-items:center}.ribbon{position:relative;width:110%;margin-left:-5%;transform:rotate(-3deg);background:var(--c-coral);color:var(--c-cream);padding:13px 0;white-space:nowrap;box-shadow:0 2px 0 #ffffff26;overflow:hidden}.ribbon-track{display:flex;width:max-content;font:600 clamp(22px,3vw,42px)/1.5 var(--font-serif);will-change:transform}.ribbon-track span{padding-right:30px}
.future-section{position:relative;z-index:10;min-height:100vh;min-height:100svh}.future-section:focus{outline:none}#films{background:var(--c-cinema)}#music{background:linear-gradient(var(--c-coral),var(--c-red))}#culture{background:var(--c-paper)}#story{background:linear-gradient(var(--c-pink),var(--c-peach))}#team{background:linear-gradient(var(--c-indigo-deep),var(--c-night))}
body.is-lite .hero-hit{pointer-events:none}body.is-lite .design-part-labels{display:none}
@media(min-width:768px){#home{min-height:800px}.hero-giant{right:8vw;font-size:150px;top:15vh}.hero-latin{right:6vw}.home-eyebrow{top:124px}.home-copy{left:var(--gutter);right:auto;max-width:430px}.step-card{margin-inline:var(--gutter);max-width:600px}.swatch{flex:1}.swatch-disc{width:110px;height:110px}}
@media(min-width:1200px){#home{min-height:760px}.hero-giant{writing-mode:horizontal-tb;right:auto;left:50%;top:33%;transform:translateX(-50%);font-size:min(17vw,260px);white-space:nowrap;letter-spacing:.02em;line-height:1.12}.hero-latin{writing-mode:horizontal-tb;top:64%;right:var(--gutter);font-size:10px}.home-eyebrow{top:136px;font-size:12px}.home-copy{bottom:68px;max-width:470px}.home-copy h2{font-size:clamp(30px,2.6vw,46px)}.home-description{margin-top:18px;font-size:16px;max-width:25em}.home-actions{margin-top:24px}.hero-hit{left:38%;right:35%;top:17%;height:56%}.hero-bubble{left:63%;top:24%}.home-scroll{left:auto;right:var(--gutter);bottom:80px;transform:none;font-size:12px}.home-scroll svg{width:40px;height:40px}.home-index{display:block;position:absolute;right:var(--gutter);bottom:48px;z-index:5;font:11px var(--font-mono);letter-spacing:.2em}.design-intro{min-height:88vh;padding-bottom:15vh;margin-bottom:0}.design-intro h2{font-size:clamp(70px,7.4vw,108px);max-width:9em}.design-intro p:last-child{font-size:17px;max-width:27em}.step{height:110vh;min-height:800px}.step-card{top:29vh;margin-left:max(var(--gutter),calc((100vw - var(--content-max))/2 + var(--gutter)));margin-right:0;width:36%;max-width:540px;border:0;border-radius:0;background:none;box-shadow:none;padding:60px 0 40px;min-height:360px}.step-number{top:-36px;left:0;right:auto;font-size:112px;opacity:.38}.step-card .tag{position:relative;padding-left:0;font-size:12px;margin-top:6px}.step-card h3{position:relative;font-size:44px;margin:20px 0 30px;line-height:1.24;padding:0}.step-body,.profile-details{font-size:17px;line-height:1.9}.profile-tags{margin-bottom:25px}.profile-tags span{font-size:13px;padding:3px 12px}.palette{padding-top:100px;padding-bottom:130px}.palette-swatches{gap:35px;overflow:visible}.swatch-disc{height:140px;width:140px}.swatch p{font-size:15px}.swatch small{font-size:12px}.palette-heading h3{font-size:36px}}
@media(max-height:760px) and (max-width:767px){#home{min-height:690px}.home-copy{bottom:53px}.home-copy h2{font-size:25px}.home-description{margin-top:8px;font-size:15px}.home-actions{margin-top:14px}.home-eyebrow{top:96px}.step-card{top:calc(100svh - 340px)}.hero-giant{font-size:100px;top:17vh}}

/* Motion only runs while the sky is visible; transforms never affect layout. */
.stage-sky{--cloud-x:0px}.cloud{animation:cloud-drift var(--cloud-0,56s) ease-in-out infinite alternate;animation-play-state:paused}.cloud-b{animation-duration:var(--cloud-1,68s);animation-direction:alternate-reverse}.cloud-c{animation-duration:var(--cloud-2,80s)}.stage-sky.is-active .cloud{animation-play-state:running}@keyframes cloud-drift{from{transform:translate3d(calc(var(--cloud-x) - 4vw),0,0)}to{transform:translate3d(calc(var(--cloud-x) + 8vw),0,0)}}.stage-poster{overflow:hidden;transform:translateY(14px);transition:opacity var(--crossfade-ms),transform .9s cubic-bezier(.16,1,.3,1)}.is-open .stage-poster,.is-revealing .stage-poster{transform:translateY(0)}.poster-fallback{position:absolute;left:50%;top:35%;width:min(50vw,280px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 40% 35%,#fff8ee,#fbc7d4 45%,#f36c56);box-shadow:0 0 60px #f7b84b55}.swatch{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .8s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--item)*90ms)}.palette.is-revealed .swatch{opacity:1;transform:translateY(0)}
/* Each caption sits below its own detached part; no decorative leader lines. */
.part-label{position:absolute;left:0;top:0;padding:3px 10px;font-size:12px;line-height:1.5;color:var(--c-ink);background:#fff8eee8;border-radius:12px;opacity:0;white-space:nowrap}
@media(max-width:1199px){.step[data-step="parts"] .step-card{top:calc(100svh - var(--parts-card-reserve,340px) - env(safe-area-inset-bottom))}}
