:root{--paper:#f1e8d5;--ink:#302e40;--muted:#716246;--night:#151c35;--line:#c9b78d}.hero{background:radial-gradient(ellipse at 70% 50%,#31314d,transparent 60%),#151c35}.hero:after{content:'';position:absolute;inset:95px 28px 68px;border:1px solid #a78d555c;pointer-events:none;border-radius:150px 150px 4px 4px}.hero-copy{top:28%}.hero h1{font-style:italic;letter-spacing:-5px;color:#f4e4bb}.title-dot{color:#be9f64}.welcome{color:#dbd2bc}.hero-rock{filter:none;transform:none}.rock-wrap{right:3%;width:45%;top:22%}.rock-caption{color:#d2bb83;bottom:2%;right:18%}.orbit{border-color:#c2a26130}.hero-foot{color:#d2bb83;gap:15px}.hero-foot a{padding:12px 0}.hero-coordinate{display:none}.topbar,.brand{color:#e4ce9f}.menu-paper{position:relative;background:var(--paper);border:16px solid #151c35;padding:70px 7% 0}.menu-paper:before{content:'✦';position:absolute;top:18px;left:50%;color:#96733e;font-size:20px}.menu-intro h2{font-style:italic}.menu-nav{border-color:#b89e68}.section-number{color:#95723b}.section-header h2{font-style:italic}.menu-items li{border-top-style:dotted}.closing{border-top:1px solid #b89e68}.site-footer{background:#151c35;color:#d6c59e}.arrival{background:radial-gradient(ellipse at center,#3b3652,#11172f 70%)}.arrival-rock{transform:none}.arrival-title{color:#f4e4bb}.arrival-title>span:last-child{font-style:italic}.arrival a{background:#151c35;color:#f4e4bb}.access-link{background:#f1e8d5}@media(max-width:900px){.hero:after{inset:90px 18px 65px}.rock-wrap{right:-4%;width:53%}.menu-paper{border-width:10px;padding-left:5%;padding-right:5%}}@media(max-width:600px){.hero-copy{top:135px}.hero h1{font-size:20vw;letter-spacing:-3px}.hero:after{inset:91px 13px 64px;border-radius:100px 100px 3px 3px}.rock-wrap{top:430px;right:10%;width:80%;height:300px}.hero-foot{font-size:6px;letter-spacing:0;flex-wrap:wrap;bottom:15px}.hero-foot>span:first-of-type{display:none}.menu-paper{padding-top:55px}.menu-intro h2{font-size:43px}.site-footer{font-size:9px}}@media print{.menu-paper{border:0}.hero:after{display:none}}

/* Galaxy → solar system → Moonrock, 14 seconds. */
.cosmic-canvas{position:absolute;inset:0;width:100%;height:100%}.arrival{animation:exit-arrival 1s 13s forwards;background:#080d20}.arrival .flight-stars{display:none}.arrival .arrival-rock{animation:storybook-landing 14s cubic-bezier(.2,.65,.15,1) both}.arrival .arrival-title{animation:title-in 1.5s 11.2s forwards}.arrival-label{font-size:0}.arrival-label:after{content:'GALAXIES → SOLAR SYSTEM → MOONROCK';font-size:8px;letter-spacing:2px}.arrival a{background:#151c35e6}@keyframes storybook-landing{0%,57%{opacity:0;transform:translate(-50%,-50%) scale(.005) rotate(-35deg)}64%{opacity:1;transform:translate(-50%,-50%) scale(.03) rotate(-25deg)}85%,100%{opacity:1;transform:translate(-50%,-60%) scale(.9) rotate(0)}}
.fox-companion{position:fixed;z-index:4;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .35s,top .65s cubic-bezier(.2,.7,.3,1),left .65s,width .65s;filter:drop-shadow(0 8px 7px #151c3526)}.fox-companion.awake{opacity:1;visibility:visible}.fox-companion img{width:100%;height:auto;display:block;transform-origin:50% 85%}.fox-companion span{display:block;text-align:center;color:#79633e;font-family:var(--serif);font-size:15px;font-style:italic;margin-top:4px}.fox-companion.hopping img{animation:fox-hop .7s ease-in-out}.hero-rock{transition:opacity .4s}@keyframes fox-hop{0%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(3px) scaleY(.9)}50%{transform:translateY(-35px) rotate(-9deg)}80%{transform:translateY(-3px) rotate(3deg)}}@media(max-width:600px){.fox-companion span{font-size:11px}.fox-companion{opacity:.95}}@media(prefers-reduced-motion:reduce){.fox-companion{display:none!important}}@media print{.fox-companion{display:none}}

/* Character performance: layered tail, breathing, stretch and landing sparks. */
.fox-puppet{position:relative;width:100%;animation:fox-breathe 3s ease-in-out infinite;transform-origin:50% 90%}.fox-puppet .fox-body{clip-path:polygon(0 0,60% 0,60% 46%,80% 65%,90% 100%,0 100%)}.fox-puppet .fox-tail{position:absolute;inset:0;clip-path:polygon(60% 0,100% 0,100% 100%,90% 100%,80% 65%,60% 46%);transform-origin:66% 64%;animation:fox-tail-swish 2.8s ease-in-out infinite}.fox-companion.hopping .fox-puppet{animation:fox-bound .95s cubic-bezier(.35,0,.35,1)}.fox-companion.hopping img{animation:none}.fox-companion.waking .fox-puppet{animation:fox-stretch 1.5s ease-in-out}.fox-blink{position:absolute;left:15.3%;top:14%;width:5%;height:1%;background:#e6ddcd;border-bottom:1px solid #534742;border-radius:50%;opacity:0;animation:fox-blink 5.3s infinite}.fox-sparks{position:absolute;left:50%;top:88%}.fox-sparks i{position:absolute;width:4px;height:4px;background:#d3af63;box-shadow:0 0 8px #e5c684;border-radius:50%;opacity:0}.hopping .fox-sparks i{animation:fox-spark .8s calc(.5s + var(--spark-delay)) ease-out both}@keyframes fox-breathe{50%{transform:translateY(-3px) scale(1.015,1.025)}}@keyframes fox-tail-swish{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(8deg)}}@keyframes fox-stretch{0%{transform:scale(.85,.75) rotate(8deg)}45%{transform:scale(.93,1.12) rotate(-9deg)}70%{transform:scale(1.05,.96)}100%{transform:scale(1)}}@keyframes fox-bound{0%{transform:scale(1.08,.83)}35%{transform:translateY(-65px) rotate(-14deg) scale(.95,1.08)}65%{transform:translateY(-24px) rotate(6deg)}80%{transform:scale(1.12,.82)}100%{transform:scale(1)}}@keyframes fox-blink{0%,44%,48%,100%{opacity:0}45%,47%{opacity:1}}@keyframes fox-spark{0%{opacity:0;transform:translate(0,0) scale(.2)}20%{opacity:1}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.1)}}
.fox-companion{display:none!important}.moon-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.scene-fox{position:fixed;z-index:4;pointer-events:none;transform-origin:50% 80%;will-change:top,left,width,height;transition:opacity .3s}.scene-fox .pose{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .4s}.scene-fox[data-phase="0"] .pose-0,.scene-fox[data-phase="1"] .pose-1,.scene-fox[data-phase="2"] .pose-2{opacity:1}.scene-fox.landed .pose-2{animation:fox-breathe 3s ease-in-out infinite}@media print{.scene-fox,.moon-layer{display:none}}
.scene-fox{will-change:transform;transition:none}.scene-fox .pose{transition:none;animation:none!important;object-fit:contain}.scene-fox.landed .pose-2{animation:none}

.arrival{animation:exit-arrival 1s 15s forwards}.arrival .arrival-rock{display:none}.arrival .arrival-title{top:72%;animation:title-in 1.4s 13.4s forwards}.arrival-label:after{content:"A SMALL PLACE IN A VERY BIG UNIVERSE"}.arrival .cosmic-canvas{display:block}

.blackhole-stage{height:240svh;position:relative;background:#020208}.blackhole-sticky{position:sticky;top:0;height:100svh;overflow:hidden}.blackhole-view{position:absolute;inset:0}.blackhole-view canvas{display:block;width:100%;height:100%}.blackhole-heading{position:absolute;left:8%;bottom:12%;color:#f1e8d5;pointer-events:none;opacity:calc(1 - var(--plunge,0)*1.8)}.blackhole-heading h1{font:italic clamp(48px,6vw,90px)/1 var(--serif);margin:20px 0}.blackhole-heading>p:last-child{font-size:12px}.blackhole-skip{position:absolute;right:6%;top:32px;color:#f1e8d5;padding:14px;border:1px solid #b89e6855;font-size:11px}.blackhole-credit{position:absolute;bottom:18px;right:24px;font-size:8px;color:#bdb6a6}.arrival{display:none!important}.storybook-unused{display:none}.topbar{top:240svh}.fox-idle .pose-2{animation:fox-idle-life 9s ease-in-out infinite!important}@keyframes fox-idle-life{0%,40%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(-3px) scale(1.015)}55%,65%{transform:rotate(-4deg) translateY(2px)}58%,62%,68%{transform:rotate(3deg) translateY(-2px)}}
.scene-fox .pose{transition:opacity .13s ease-out}.fox-idle:after{content:'';position:absolute;left:17%;top:32%;width:5%;height:1%;border-radius:50%;background:#d9cdbb;border-bottom:1px solid #534742;opacity:0;animation:fox-blink 5.3s infinite}

/* The original sleeping fox and moon remain one continuous illustration. */
.hero-rock.sleeping-fox-scene{opacity:1!important;animation:sleeping-scene-breathe 5s ease-in-out infinite;transform-origin:50% 70%;transition:none}.scene-fox,.moon-layer,.fox-companion{display:none!important}.sleepy-fox-blink{position:absolute;pointer-events:none;z-index:1;border-radius:50%;background:#c4b6a8;opacity:0;animation:sleepy-eye 11s ease-in-out infinite;filter:blur(.4px)}@keyframes sleeping-scene-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.006)}}@keyframes sleepy-eye{0%,78%,83%,100%{opacity:0;transform:scaleY(.15)}80%,81%{opacity:.4;transform:scaleY(.55)}}@media(prefers-reduced-motion:reduce){.sleepy-fox-blink{display:none}}
/* Reveal only the eye region; the original fox, moon and silhouette never move. */
.hero-rock.sleeping-fox-scene{animation:none!important;transform:none!important}.fox-eyes-open{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;opacity:0;clip-path:ellipse(16% 8% at 41% 57%);will-change:opacity}.sleepy-fox-blink{display:none!important}

.menu-intro>h2{font:italic 54px var(--serif);margin:0}.menu-intro>h2 span{font:14px var(--sans);margin-left:12px;color:var(--muted)}.menu-columns{padding-bottom:65px}.section-header{margin-bottom:24px}

/* One continuous viewport: event horizon → darkness → crescent → café. */
.cinema-ready .blackhole-stage{height:300svh;background:#020208;z-index:1}
.cinema-ready #home{margin-top:-100svh;position:relative;z-index:2;visibility:hidden}
.cinema-ready .topbar{top:200svh;z-index:3}
.landing-preview.hero{position:absolute;inset:0;width:100%;margin:0;z-index:1;pointer-events:none;background:none!important}
.landing-preview:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,#31314d,transparent 60%),#151c35;opacity:var(--landing-bg,0)}
.landing-preview .rock-wrap{opacity:var(--landing-moon,0)}
.landing-preview .hero-copy{opacity:var(--landing-copy,0);transform:translateY(var(--landing-rise,18px))}
.landing-preview .hero-foot,.landing-preview .stars,.landing-preview .orbit,.landing-preview:after{opacity:var(--landing-copy,0)}
.blackhole-heading,.blackhole-credit{z-index:2}.blackhole-skip{z-index:3}
.cinema-ready .blackhole-credit{opacity:calc(1 - var(--plunge,0))}
@media print{.blackhole-stage,.landing-preview{display:none}.cinema-ready #home{margin:0;visibility:visible}}
/* End the pinned arrival cleanly before the full, scrollable menu. */
.cinema-ready #home,.cinema-ready .landing-preview.hero{min-height:100svh}
.cinema-ready #menu{position:relative;z-index:3;margin-top:-24px;border-top:0;border-radius:24px 24px 0 0;box-shadow:0 -12px 40px #080d2018;scroll-margin-top:24px}
.cinema-ready #menu:before{top:20px}
.cinema-ready .site-footer{position:relative;z-index:3}
@media(max-width:600px){.cinema-ready #menu{margin-top:-18px;border-radius:18px 18px 0 0}.cinema-ready #menu:before{top:18px}}
