:root{
  --ganache:#241314;
  --brass:#C89B3C;
  --espresso:#6B3E26;
  --dusk:#263A5B;
  --pistachio:#B8CFA3;
  --rose:#F5B6C8;
  --cream:#FFF2D8;
  --raspberry:#B61942;
  --serif-display:"Bodoni 72","Didot","Bodoni Moda",Georgia,serif;
  --serif-poem:"Cormorant Garamond","Cormorant",Georgia,serif;
  --sans:"Nunito Sans",Inter,"Avenir Next",system-ui,sans-serif;
  --script:"Snell Roundhand","Dancing Script","Brush Script MT",cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ganache)}
body{margin:0;color:var(--cream);font-family:var(--sans);overflow-x:hidden;background:radial-gradient(circle at 50% 10%,rgba(200,155,60,.16),transparent 28%),linear-gradient(160deg,var(--ganache),#13090a 65%,#090506)}
body.glass-open .gilded-window .glass-pane{transform:translateY(-7vh) rotateX(8deg);filter:drop-shadow(0 26px 30px rgba(0,0,0,.35))}
body.glass-open .open-cabinet{letter-spacing:.22em;background:var(--cream);color:var(--raspberry)}
.cabinet{position:relative;isolation:isolate}.scene{min-height:100vh;position:relative;display:grid;place-items:center;overflow:hidden;padding:8vh 8vw}.scene:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,242,216,.34) 0 1px,transparent 1.6px);background-size:34px 34px;opacity:.12;mix-blend-mode:screen}.scene:after{content:"";position:absolute;left:3vw;right:3vw;bottom:7vh;height:5px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--brass),transparent);box-shadow:0 -18px 30px rgba(0,0,0,.45)}
.cabinet-rail{position:fixed;z-index:30;right:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:16px;padding:18px 10px;border:1px solid rgba(200,155,60,.6);border-radius:999px;background:linear-gradient(180deg,rgba(36,19,20,.62),rgba(107,62,38,.5));box-shadow:inset 0 0 18px rgba(200,155,60,.2),0 20px 50px rgba(0,0,0,.42);backdrop-filter:blur(8px)}.cabinet-rail:before{content:"";position:absolute;top:-45px;bottom:-45px;left:50%;width:2px;background:linear-gradient(var(--brass),transparent,var(--brass));z-index:-1}.rail-marker{position:relative;width:34px;height:34px;text-decoration:none;color:var(--cream);border-radius:50%;display:grid;place-items:center;background:var(--ganache);border:1px solid var(--brass);font:700 12px var(--sans);transition:.35s}.rail-marker em{position:absolute;right:45px;top:50%;transform:translateY(-50%) translateX(8px);opacity:0;white-space:nowrap;background:var(--cream);color:var(--ganache);padding:5px 9px;border-radius:2px;font:700 10px var(--sans);letter-spacing:.1em;text-transform:uppercase;transition:.35s}.rail-marker:hover em,.rail-marker.active em{opacity:1;transform:translateY(-50%)}.rail-marker.active{background:var(--brass);color:var(--ganache);box-shadow:0 0 22px rgba(200,155,60,.8)}
.sugarfall{position:fixed;inset:0;z-index:25;pointer-events:none;opacity:.75}.sugar{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--cream);box-shadow:0 0 8px var(--cream);animation:sugarDrop var(--dur,6s) linear infinite;animation-delay:var(--delay,0s)}@keyframes sugarDrop{from{transform:translate3d(var(--x,0),-10vh,0);opacity:0}15%{opacity:.8}to{transform:translate3d(calc(var(--x,0) + 30px),110vh,0);opacity:0}}
.gilded-window{background:radial-gradient(circle at 50% 52%,rgba(255,242,216,.25),transparent 26%),radial-gradient(circle at 70% 24%,rgba(38,58,91,.85),transparent 34%),linear-gradient(180deg,#18243b,var(--ganache) 70%)}.brass-frame{position:absolute;inset:5vh 5vw;border:3px double var(--brass);border-radius:46% 46% 14px 14px/10% 10% 14px 14px;box-shadow:inset 0 0 0 12px rgba(200,155,60,.08),inset 0 0 60px rgba(255,242,216,.08),0 0 45px rgba(200,155,60,.18)}.scallop-valance{position:absolute;top:0;left:0;right:0;height:82px;background:radial-gradient(circle at 28px 82px,var(--raspberry) 0 34px,transparent 35px) repeat-x top left/70px 90px,linear-gradient(180deg,var(--ganache),#3b171c);border-bottom:2px solid var(--brass);filter:drop-shadow(0 15px 25px rgba(0,0,0,.45))}.glass-pane{width:min(860px,80vw);min-height:58vh;padding:9vh 6vw;text-align:center;border-radius:48% 48% 28px 28px/13% 13% 28px 28px;border:1px solid rgba(255,242,216,.36);background:linear-gradient(115deg,rgba(255,255,255,.18),rgba(38,58,91,.16) 36%,rgba(255,242,216,.05)),radial-gradient(circle at 50% 72%,rgba(200,155,60,.3),transparent 35%);box-shadow:inset 35px 0 40px rgba(255,255,255,.08),inset -24px 0 40px rgba(38,58,91,.25);transition:1.1s cubic-bezier(.18,.9,.2,1.05)}.ticket-label,.chapter{display:inline-block;font:800 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--brass);border:1px solid rgba(200,155,60,.75);padding:8px 14px;background:rgba(36,19,20,.55)}.wordmark{font-family:var(--serif-display);font-size:clamp(4rem,12vw,10rem);line-height:.82;margin:3vh 0;color:var(--brass);font-weight:800;letter-spacing:-.07em;text-shadow:0 2px 0 var(--espresso),0 0 28px rgba(200,155,60,.55),10px 0 20px rgba(38,58,91,.55)}.window-poem{max-width:610px;margin:0 auto 4vh;font:italic clamp(1.2rem,2vw,1.8rem) var(--serif-poem);color:var(--cream)}.open-cabinet,.macaron{cursor:pointer}.open-cabinet,.return-ticket{border:1px solid var(--brass);background:linear-gradient(90deg,var(--raspberry),#7d1630);color:var(--cream);padding:15px 25px;border-radius:999px;text-transform:uppercase;letter-spacing:.16em;font:900 12px var(--sans);text-decoration:none;box-shadow:0 13px 35px rgba(182,25,66,.3);transition:.35s}.steam{position:absolute;bottom:18%;left:var(--left);width:55px;height:170px;border-left:2px solid rgba(255,242,216,.42);border-radius:55% 0 0 0;filter:blur(.2px);animation:steam 7s ease-in-out infinite}.s1{--left:24%;animation-delay:-1s}.s2{--left:45%;animation-delay:-4s;height:210px}.s3{--left:64%;animation-delay:-2s}.s4{--left:76%;animation-delay:-6s;height:150px}@keyframes steam{0%{transform:translateY(70px) rotate(8deg) scaleX(.6);opacity:0}35%{opacity:.75}100%{transform:translateY(-140px) rotate(-12deg) scaleX(1.2);opacity:0}}.tile-reflection{position:absolute;bottom:0;left:0;right:0;height:22vh;background:linear-gradient(45deg,rgba(255,242,216,.1) 25%,transparent 25% 50%,rgba(255,242,216,.08) 50% 75%,transparent 75%) 0 0/90px 90px;transform:perspective(500px) rotateX(62deg);transform-origin:bottom;opacity:.45}
.macaron-balcony{background:radial-gradient(circle at 65% 35%,rgba(245,182,200,.28),transparent 28%),linear-gradient(140deg,var(--ganache),#33191a 55%,var(--espresso));grid-template-columns:minmax(260px,380px) 1fr minmax(240px,330px);gap:4vw}.act-card,.recipe-slip,.final-label{position:relative;z-index:2;background:linear-gradient(135deg,rgba(255,242,216,.94),rgba(245,182,200,.88));color:var(--ganache);border:2px solid var(--brass);box-shadow:12px 16px 0 rgba(0,0,0,.22),inset 0 0 28px rgba(200,155,60,.2);padding:34px}.angled{transform:rotate(-4deg)}h2{font-family:var(--serif-display);font-size:clamp(2.8rem,6vw,6.4rem);line-height:.85;margin:14px 0;color:var(--brass);text-shadow:0 2px 0 var(--ganache)}.act-card h2,.recipe-slip h2{color:var(--raspberry);text-shadow:none}.act-card p,.recipe-slip p,.final-label p{font:1.3rem/1.45 var(--serif-poem)}.macaron-stage{position:relative;z-index:2;height:70vh;width:100%;transform-style:preserve-3d}.macaron{position:absolute;width:clamp(130px,16vw,210px);aspect-ratio:1;border-radius:50%;border:3px solid rgba(255,242,216,.75);background:radial-gradient(circle at 35% 28%,rgba(255,242,216,.8),transparent 18%),var(--mac);box-shadow:inset 0 -18px 0 rgba(107,62,38,.18),0 25px 45px rgba(0,0,0,.34);transition:.65s cubic-bezier(.22,1,.36,1);color:var(--ganache)}.macaron:before{content:"";position:absolute;inset:17%;border-radius:50%;border:2px dashed rgba(36,19,20,.2);background:radial-gradient(circle,var(--cream) 0 32%,transparent 33%);transform:scale(.35);opacity:.35;transition:.55s}.macaron.open{transform:translateZ(80px) scale(1.12) rotate(var(--r,0));box-shadow:0 0 0 14px rgba(200,155,60,.18),0 34px 60px rgba(0,0,0,.48)}.macaron.open:before{transform:scale(1.04);opacity:.9}.macaron b{position:absolute;left:50%;bottom:-25px;transform:translateX(-50%);font:800 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--cream)}.m1{--mac:var(--pistachio);left:2%;top:20%;--r:-8deg}.m2{--mac:var(--rose);left:30%;top:4%;--r:8deg}.m3{--mac:var(--raspberry);left:48%;top:42%;--r:-12deg}.m4{--mac:var(--brass);left:72%;top:22%;--r:6deg}.peephole-card{position:relative;z-index:2;min-height:310px;border-radius:50% 50% 8px 8px;border:2px solid var(--brass);background:radial-gradient(circle at 50% 34%,var(--dusk) 0 29%,transparent 30%),var(--cream);color:var(--ganache);display:grid;place-items:end center;padding:34px;text-align:center;box-shadow:0 25px 55px rgba(0,0,0,.38);overflow:hidden}.peephole-orbit{position:absolute;top:35px;width:155px;height:155px;border:2px solid var(--brass);border-radius:50%;background:radial-gradient(circle at 62% 42%,var(--raspberry) 0 8px,transparent 9px),radial-gradient(circle,var(--pistachio),var(--dusk));transition:.55s}.peephole-card p{position:relative;font:1.35rem var(--serif-poem);margin:0}.peephole-card.pulse .peephole-orbit{transform:scale(1.18) rotate(22deg)}
.eclair-corridor{background:linear-gradient(180deg,#1d0e0f,var(--ganache) 35%,var(--espresso));place-items:stretch center}.drip-curtain{position:absolute;top:0;left:0;right:0;height:26vh;background:linear-gradient(180deg,#150808,var(--espresso));filter:drop-shadow(0 16px 18px rgba(0,0,0,.5))}.drip-curtain i{position:absolute;top:70%;width:38px;height:120px;border-radius:0 0 28px 28px;background:linear-gradient(var(--espresso),#140909)}.drip-curtain i:nth-child(1){left:10%;height:90px}.drip-curtain i:nth-child(2){left:28%;height:160px}.drip-curtain i:nth-child(3){left:52%;height:105px}.drip-curtain i:nth-child(4){left:70%;height:190px}.drip-curtain i:nth-child(5){left:88%;height:122px}.eclair-tray{align-self:center;justify-self:start;width:min(760px,76vw);padding:42px 6vw;border-radius:999px;background:radial-gradient(circle at 25% 22%,rgba(255,242,216,.5),transparent 13%),linear-gradient(180deg,#9a5a2e,var(--espresso) 55%,#2a1111);border:3px solid var(--brass);box-shadow:0 35px 70px rgba(0,0,0,.48);transform:translateX(calc(var(--scroll-pull,0) * 110px - 8vw));transition:transform .15s linear}.tray-tag{font:900 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--cream)}.corridor-copy{position:absolute;right:8vw;bottom:18vh;width:min(420px,70vw);padding:28px;background:rgba(255,242,216,.9);color:var(--ganache);border:1px solid var(--brass);transform:rotate(3deg);box-shadow:13px 16px 0 rgba(0,0,0,.25)}.corridor-copy p{font:1.25rem var(--serif-poem)}.script-note{font-family:var(--script)!important;color:var(--raspberry);font-size:1.7rem!important}.eclair-form{position:absolute;right:-9vw;width:50vw;height:80px;border-radius:999px;background:linear-gradient(180deg,#b97338,var(--espresso));border:2px solid var(--brass);box-shadow:inset 0 -18px 0 rgba(36,19,20,.35)}.eclair-form.top{top:35vh}.eclair-form.bottom{bottom:9vh;right:10vw;width:36vw;opacity:.75}
.cake-parlour{background:radial-gradient(circle at 18% 25%,rgba(184,207,163,.2),transparent 22%),linear-gradient(135deg,var(--dusk),var(--ganache) 52%,#16090a);grid-template-columns:.8fr 1.2fr}.recipe-slip{transform:rotate(2deg);max-width:460px}.cake-slice{position:relative;width:min(640px,80vw);height:560px;transform:skewY(-9deg) rotate(-2deg);filter:drop-shadow(30px 38px 30px rgba(0,0,0,.45))}.layer{position:absolute;left:var(--left,0);right:0;height:86px;border:2px solid rgba(36,19,20,.32);display:flex;align-items:center;padding-left:35px;color:var(--ganache);font:900 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;transition:transform .2s linear}.layer span{transform:skewY(9deg)}.sponge{top:58px;background:linear-gradient(90deg,#e7b765,var(--cream));--d:30px}.cream{top:144px;background:linear-gradient(90deg,var(--cream),#fff9ea);--left:26px;--d:60px}.jam{top:230px;background:linear-gradient(90deg,var(--raspberry),#e56580);color:var(--cream);--left:52px;--d:95px}.fruit{top:316px;background:radial-gradient(circle at 22% 45%,var(--raspberry) 0 16px,transparent 17px),linear-gradient(90deg,var(--rose),var(--pistachio));--left:78px;--d:125px}.ganache{top:402px;background:linear-gradient(90deg,var(--espresso),var(--ganache));color:var(--cream);--left:104px;--d:155px}.fork-engraving{position:absolute;right:8vw;bottom:14vh;width:230px;height:28px;border-top:5px double rgba(255,242,216,.65);transform:rotate(-23deg)}.fork-engraving:before{content:"";position:absolute;right:0;top:-28px;width:80px;height:70px;border-right:4px solid rgba(255,242,216,.65);border-radius:50%}
.espresso-room{background:radial-gradient(circle at 50% 46%,rgba(200,155,60,.22),transparent 31%),linear-gradient(180deg,#090506,var(--ganache) 70%);grid-template-columns:1fr .8fr}.moon-table{position:relative;width:min(560px,82vw);aspect-ratio:1;display:grid;place-items:center}.saucer{position:relative;width:92%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--espresso) 0 30%,#120707 31% 48%,var(--cream) 49% 57%,var(--dusk) 58% 62%,transparent 63%);box-shadow:0 34px 70px rgba(0,0,0,.55),inset 0 0 55px rgba(200,155,60,.3);animation:saucerTurn 18s linear infinite}.espresso-moon{position:absolute;inset:28%;border-radius:50%;background:radial-gradient(circle at 36% 34%,var(--cream) 0 10%,var(--brass) 11% 36%,var(--espresso) 37%);box-shadow:0 0 26px rgba(255,242,216,.42);transform:translateX(calc(var(--eclipse,0) * 45px))}.spoon{position:absolute;left:61%;top:8%;width:28px;height:72%;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,242,216,.75),var(--brass),rgba(255,242,216,.5));transform:rotate(36deg);transform-origin:center bottom}.final-label{background:rgba(36,19,20,.72);color:var(--cream);border-radius:50% 50% 8px 8px/18% 18% 8px 8px}.final-label h2{color:var(--brass);text-shadow:none}.return-ticket{display:inline-block;margin-top:14px;background:transparent}@keyframes saucerTurn{to{transform:rotate(360deg)}}
@media(max-width:900px){.cabinet-rail{right:8px}.scene{padding:10vh 8vw 12vh}.macaron-balcony,.cake-parlour,.espresso-room{grid-template-columns:1fr;gap:34px}.macaron-stage{height:56vh}.peephole-card{width:min(340px,85vw);justify-self:center}.corridor-copy{position:relative;right:auto;bottom:auto;justify-self:center;margin-top:48vh}.eclair-tray{width:90vw}.cake-slice{height:480px}.wordmark{font-size:22vw}}
