/* A night at Happiness: the real room, warm brass, light and conversation. */
:root{--night-glow:#b9776638;--night-accent:#edca96}
body[data-night=stage]{--night-glow:#9f577c45;--night-accent:#f4c1d0}
body[data-night=cheers]{--night-glow:#ca9b4d40;--night-accent:#f5d994}
.section{padding-top:88px;padding-bottom:88px}
.hero{min-height:780px;height:min(980px,100svh)}
.hero-content{padding-top:clamp(158px,19vh,210px);padding-bottom:115px;max-width:830px;z-index:2}
.hero h1{font-size:clamp(45px,4.7vw,74px);line-height:1.55;letter-spacing:.04em}
.hero-image{animation:roomOpening 1.45s var(--ease) both;object-position:67% 50%}
.hero-light{animation:spotArrival 1.3s var(--ease) both}
.hero-line{animation:wordArrival .8s var(--ease) backwards}
.hero-line:nth-child(1){animation-delay:.1s}.hero-line:nth-child(2){animation-delay:.23s}.hero-line:nth-child(3){animation-delay:.36s}
.hero-enter{animation:wordArrival .7s var(--ease) backwards;animation-delay:.42s}
.hero-content>.btn{animation-delay:.58s}
.hero-location{font-size:12px;letter-spacing:.06em}
.hero-copy{font-size:15px;line-height:2;margin:23px 0 25px}
.hero-price-link{display:inline-flex;gap:14px;align-items:center;margin-left:26px;font-size:12px;padding:13px 0;border-bottom:1px solid #d8b78780;white-space:nowrap}
.hero-price-link svg{width:16px}
.hero-room-frame{position:absolute;right:4.5vw;bottom:119px;width:clamp(235px,27vw,390px);z-index:3;padding:8px;background:linear-gradient(145deg,#d9bf8b70,#4e3946b3);border:1px solid #e7cca675;box-shadow:0 25px 65px #0008;transform:rotate(2deg);animation:roomInvite 1s .65s var(--ease) backwards;transition:transform .3s}
.hero-room-frame:hover{transform:rotate(0) translateY(-4px)}
.hero-room{height:200px;object-fit:cover;object-position:center;filter:brightness(.91)}
.hero-room-label{display:block;background:linear-gradient(115deg,#251c25f2,#37272cf2);padding:15px 16px;color:var(--light)}
.hero-room-label small{display:block;font-family:var(--serif);font-size:20px;color:#f2d7af;margin-bottom:4px}
.hero-room-label strong{font-size:11px;font-weight:400;display:flex;align-items:center;justify-content:space-between;gap:12px}
.hero-room-label svg{width:17px}
.hero-seal{display:none}
.story{padding-bottom:65px}.story-grid{grid-template-columns:1fr 1.15fr}.story-copy h2{font-size:clamp(31px,3.1vw,47px);line-height:1.75}
.story-copy>p:not(.eyebrow){font-size:14px;line-height:2.1}.story-visual>img{height:490px}.photo-index{font-size:11px}
.scenes{max-width:none;padding-top:65px;background:radial-gradient(ellipse at 75% 30%,var(--night-glow),transparent 65%),linear-gradient(150deg,#211822,#151216 80%);transition:background .6s;border-top:1px solid #b38e6230;border-bottom:1px solid #b38e6230}
.scenes>.section-heading,.scenes>.scene-tabs,.experience-grid{max-width:1440px;margin-left:auto;margin-right:auto}
.scene-tabs{gap:16px;margin-bottom:26px}.scene-tabs>button{font-size:15px;min-height:75px;border-top:1px solid #bda17925;padding:16px 19px;box-shadow:inset 0 -5px 14px #0002}
.scene-tabs>button[aria-selected=true]{background:linear-gradient(120deg,#b5875230,#4f34412b);color:var(--night-accent)}
.scene-tabs>button[aria-selected=true]:after{background:var(--night-accent);box-shadow:0 0 15px var(--night-accent)}
.experience-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:30px}
.experience-grid>*{min-width:0}.scene-panel{position:sticky;top:100px;min-height:680px;border:1px solid #c7a77566;box-shadow:0 24px 65px #0005}
.scene-panel>img{object-position:center top;transition:filter .6s}.scene-overlay{background:linear-gradient(0deg,#181319 3%,#181319eb 42%,#18131955 75%,#1813190a)}
.scene-panel:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(125deg,transparent 20%,var(--night-glow) 48%,transparent 66%);transition:background .5s}
.scene-copy{padding:245px 32px 52px;max-width:none}.scene-copy>span{font-size:12px;letter-spacing:.08em;color:var(--night-accent)}
.scene-copy h3{font-size:clamp(24px,2.45vw,36px);line-height:1.7;margin:16px 0}.scene-copy p{font-size:14px;line-height:2;max-width:none;margin-bottom:20px}
.scene-voice{padding:15px 0 20px;border-top:1px solid #dfc7a947;margin-top:18px}.scene-voice>span{font-size:10px;color:#c4ac97}.scene-voice blockquote{font-size:13px;line-height:1.9;margin-top:8px;color:#f0dfcb}
.scene-counter{font-size:19px;bottom:15px;right:21px;opacity:.65}.scene-copy .btn{font-size:12px;min-height:48px;gap:18px;padding:13px 18px}
.mood-console{width:100%;max-width:none;scroll-margin-top:105px;background:radial-gradient(ellipse at 50% 0%,var(--night-glow),transparent 65%),#201a22}
.mood-intro{padding:24px 27px 17px}.mood-intro .eyebrow{font-size:11px;margin-bottom:8px;letter-spacing:.08em}.mood-intro h3{font-size:23px}.mood-intro>p:last-child{font-size:12px;margin-top:8px;color:var(--muted)}
.stage{height:135px;background:radial-gradient(ellipse at 50% 65%,var(--night-glow),transparent 65%),#161218}.stage-logo>small{font-size:9px;letter-spacing:.16em}.stage-logo>span{font-size:55px}.stage-logo>svg{width:20px;height:24px;margin-top:0}.beam{height:185px}.stage-floor{bottom:-65px}
.console-bar{padding:11px 25px;font-size:10px;letter-spacing:.02em}.console-bar>span:last-child{white-space:nowrap;margin-left:12px}
.mood-options{padding:4px 25px}.mood-option{gap:13px;padding:14px 0}.option-content strong{font-size:13px;line-height:1.75}.option-content small{font-size:10px;letter-spacing:.04em;margin-bottom:3px}.option-star{font-size:20px}.check-box{width:29px;height:29px}
.mood-result{position:relative;padding:23px 25px;background:linear-gradient(140deg,#67444435,#cfaa6111);overflow:hidden;text-align:left}
.night-ticket-media{display:grid;grid-template-columns:84px 1fr;gap:15px;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px dashed #d8b78766}
.night-ticket-media img{width:84px;height:66px;object-fit:cover;border:1px solid #c7a77577}.night-ticket-media span{font-size:12px;line-height:1.8;color:#d6b997}
.mood-result>span{font-size:10px;letter-spacing:.06em}.mood-result>h3{font-size:23px;line-height:1.75;margin:10px 0 12px}.mood-result>p{font-size:13px;line-height:2;min-height:0;max-width:none}
#resultChips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:13px}#resultChips:empty{display:none}.result-chip{font-size:10px;line-height:1.6;border:1px solid #cda67060;padding:4px 9px;background:linear-gradient(120deg,#b5844326,#49333855);color:#e3c797;border-radius:2px}
.mood-actions{padding:1px 25px 17px;flex-direction:column;gap:12px}.mood-actions .btn{width:100%;font-size:12px;padding:14px 19px;min-height:52px}.reset-button{font-size:12px;min-height:40px}.mood-note{font-size:10px;padding-bottom:20px}
.mood-console.completion-focus .beam{opacity:1;filter:drop-shadow(0 0 20px #f2d8a7)}.mood-console.completion-focus .beam:nth-child(1){transform:rotate(-4deg)}.mood-console.completion-focus .beam:nth-child(5){transform:rotate(4deg)}
.mood-console.completion-glow .stage-logo{animation:brandLight .9s var(--ease) both}.mood-console.completion-glow .mood-result{animation:ticketGlint 1.2s var(--ease)}.mood-result.result-updated{animation:ticketArrival .55s var(--ease)}
.menu-section .section-top{max-width:1360px;margin-left:auto;margin-right:auto}.menu-copy h2{font-size:clamp(30px,3vw,45px)}.price-note{font-size:12px;line-height:2}.menu-image img{height:500px}
.visit-steps{list-style:none;margin:42px auto 0;padding:24px 0;max-width:1360px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #8b71584a;border-bottom:1px solid #8b71584a;gap:28px}
.visit-steps li{display:flex;gap:17px;align-items:flex-start}.visit-steps li>span{font:italic 28px/1.2 var(--latin);color:#9b784c}.visit-steps strong{font-size:14px;font-weight:500}.visit-steps p{font-size:12px;line-height:1.8;color:#75665c;margin-top:4px}.drink-film{margin-top:32px}.film-note{font-size:11px;line-height:1.9}
.message-copy>p:not(.eyebrow){font-size:14px;line-height:2}.message-copy .message-essence{font-family:var(--serif);color:#edcfa6!important;font-size:19px!important;line-height:1.9!important}
.message-more{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:24px}.message-more summary,.voice-detail summary{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;list-style:none;padding:16px 0;cursor:pointer}.message-more summary::-webkit-details-marker,.voice-detail summary::-webkit-details-marker{display:none}.message-more summary>span,.voice-detail summary>span{font-size:21px;color:var(--gold);transition:transform .3s}.message-more[open] summary>span,.voice-detail[open] summary>span{transform:rotate(45deg)}
.message-more>div{padding:0 0 18px}.message-more p{font-size:13px;line-height:2.1;color:var(--muted);margin:0 0 14px}.message-more p:last-child{margin-bottom:0}.message-art>span{font-size:11px;letter-spacing:.08em}
.voice-grid{gap:23px}.voice-card{display:block;padding:0;border:1px solid #b9926347;background:linear-gradient(140deg,#46303955,#211a23);overflow:hidden}.voice-image{height:205px;object-fit:cover;filter:brightness(.84)}.voice-body{padding:23px}.voice-tag{font-size:21px;margin:0 0 12px}.voice-detail{border-top:1px solid var(--line)}.voice-detail summary{font-size:12px}.voice-detail blockquote{font-size:13px;line-height:2;margin:0 0 20px;padding:0;color:#e0d2c7}.voice-number{font-size:10px;letter-spacing:.08em}.voices{padding-top:30px}
.gallery{padding-top:30px}.gallery-button>span{font-size:11px;letter-spacing:.04em}.faq{padding-top:30px}.faq summary{font-size:14px}.faq details>p{font-size:13px}.access{padding-top:65px}.access .text-link{font-size:13px}.copy-address{font-size:12px;min-height:42px}.closing-content p:not(.eyebrow){font-size:14px}.instagram-link{font-size:12px}.booking-dialog>p:not(.eyebrow){font-size:14px}.booking-dialog .dialog-hours{font-size:12px}
/* Reveals stay readable without JavaScript; each scene has its own light. */
html.enhanced .reveal[data-reveal=photo]{transform:translateY(22px) scale(.975);clip-path:inset(2% 0 0);transition:opacity .9s var(--ease),transform 1.15s var(--ease),clip-path 1.15s var(--ease)}
html.enhanced .reveal[data-reveal=type]{transform:translateY(20px);transition:opacity .65s var(--ease),transform .8s var(--ease)}
html.enhanced .reveal[data-reveal=light]{transform:translateY(20px);transition:opacity .8s,transform .8s var(--ease),box-shadow .8s}
html.enhanced .reveal.visible{transform:none;clip-path:inset(0)}
.control-enter.control-ready:not(.hero-room-frame){animation:controlArrival .5s var(--control-delay,0ms) var(--ease) backwards}
.hero-content>.hero-enter.control-ready{animation:wordArrival .7s .45s var(--ease) backwards}
a,button,summary,.mood-option{transition:transform .16s var(--ease),box-shadow .16s,color .2s}
a.is-held,button.is-held,summary.is-held,.mood-option.is-held{transform:translateY(3px) scale(.98)!important;box-shadow:inset 0 3px 7px #0005!important;animation:none!important}
.btn.is-held,.phone-card.is-held,.mobile-dock>button.is-held{box-shadow:0 1px 0 #6c4b33,inset 0 2px 4px #0003!important}
a.is-pressed,button.is-pressed,summary.is-pressed,.mood-option.is-pressed{animation:pressReturn .36s var(--ease)!important;transform:none}
.mood-option.is-held .check-box{transform:scale(.88)}.skip-link.is-held,.skip-link.is-pressed{transform:translateY(0)!important}
.tap-emblem{position:absolute;left:var(--x);top:var(--y);width:38px;height:38px;display:grid;place-items:center;color:#f2d7a9;filter:drop-shadow(0 0 7px #e0b561aa);animation:emblemRise .7s var(--ease) forwards}
.tap-emblem svg{width:29px;height:29px}.tap-emblem.effect-stage{color:#ffd6e6}.tap-emblem.effect-cheers{color:#ffe8aa}.tap-emblem.effect-phone{color:#fff0cd}.tap-dot{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border:1px solid #f4d7a0;background:#f2d5a27a;border-radius:50%;box-shadow:0 0 9px #f3c07566;animation:tapSpark .7s var(--ease) forwards}
.click-ring.effect-stage{border-color:#f4c6da;box-shadow:0 0 22px #b66c8d77}.click-ring.effect-phone{border-width:2px}.completion-flash{box-shadow:inset 0 0 120px #dfad5066}
@keyframes roomOpening{from{transform:scale(1.09);filter:brightness(.62)}to{transform:scale(1);filter:brightness(1)}}
@keyframes wordArrival{from{opacity:.2;transform:translateY(24px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@keyframes spotArrival{from{opacity:.1;transform:rotate(-32deg) translateX(20%)}to{opacity:1;transform:rotate(-15deg)}}
@keyframes roomInvite{from{opacity:0;transform:translateY(25px) rotate(5deg)}to{opacity:1;transform:rotate(2deg)}}
@keyframes controlArrival{from{opacity:.65;filter:brightness(1.5)}to{opacity:1;filter:brightness(1)}}
@keyframes pressReturn{0%{transform:translateY(3px) scale(.98)}48%{transform:translateY(-2px) scale(1.012)}100%{transform:translateY(0) scale(1)}}
@keyframes emblemRise{0%{opacity:0;transform:translate(-50%,-35%) scale(.4)}25%{opacity:1;transform:translate(-50%,-85%) scale(1.1)}100%{opacity:0;transform:translate(-50%,-160%) scale(.8)}}
@keyframes brandLight{0%{filter:brightness(1)}45%{filter:brightness(1.5) drop-shadow(0 0 17px #edc684)}100%{filter:brightness(1)}}
@keyframes ticketGlint{0%,100%{box-shadow:inset 0 0 0 #edcb8900}40%{box-shadow:inset 0 0 65px #edcb8935}}
@keyframes ticketArrival{from{filter:brightness(1.3)}to{filter:brightness(1)}}
@media(min-width:1600px){.hero-room-frame{right:max(5vw,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.hero-content{padding-left:6vw;max-width:720px}.hero h1{font-size:52px}.hero-room-frame{width:270px;right:4vw;bottom:113px}.hero-room{height:165px}.hero-room-label small{font-size:18px}.hero-price-link{display:flex;width:max-content;margin:15px 0 0;padding:7px 0}.experience-grid{gap:20px}.scene-copy{padding-left:24px;padding-right:24px}.scene-copy h3{font-size:27px}.mood-intro{padding-left:20px;padding-right:20px}.mood-options{padding-left:20px;padding-right:20px}.mood-result{padding:20px}.mood-actions{padding-left:20px;padding-right:20px}.mood-actions .btn{font-size:11px;gap:12px}.voice-body{padding:20px}.voice-tag{font-size:18px}.visit-steps{gap:20px}}
@media(max-width:850px){.hero h1{font-size:49px}.hero-room-frame{width:230px;right:4vw;bottom:111px}.hero-room{height:147px}.hero-room-label small{font-size:16px}.hero-room-label strong{font-size:10px}.hero-content{padding-top:150px;max-width:650px}.hero-location{font-size:10px}.hero-copy{font-size:13px}.section{padding-top:65px;padding-bottom:65px}.experience-grid{grid-template-columns:1fr}.scene-panel{position:relative;top:auto;min-height:495px}.scene-copy{padding:115px 35px 45px;max-width:570px}.scene-overlay{background:linear-gradient(90deg,#181319eb,#181319ad 50%,#18131924)}.scene-copy h3{font-size:31px}.scene-panel>img{object-position:center 38%}.mood-console{max-width:680px;margin:0 auto}.mood-intro{text-align:center}.mood-actions .btn{max-width:430px;font-size:13px}.mood-options{padding-left:28px;padding-right:28px}.option-content strong{font-size:14px}.mood-result{padding:24px 28px}.night-ticket-media{grid-template-columns:100px 1fr}.night-ticket-media img{width:100px;height:74px}.mood-result>h3{font-size:25px}.visit-steps{gap:15px}.visit-steps li{gap:10px}.visit-steps strong{font-size:13px}.visit-steps p{font-size:11px}.voice-grid{gap:14px}.voice-body{padding:17px}.voice-tag{font-size:17px}.voice-image{height:160px}.voice-detail summary{font-size:11px}.story-copy>p:not(.eyebrow){font-size:13px}.message-copy>p:not(.eyebrow){font-size:13px}}
@media(max-width:600px){
 .header{padding:0 22px}.header .sound-switch{font-size:10px;min-height:44px}.hero{height:auto;min-height:0;padding-bottom:0}.hero-image{object-position:68% 25%}.hero-shade{background:linear-gradient(90deg,#17121ae8,#171219b0 57%,#21191640),linear-gradient(0deg,#151216,transparent 80%)}
 .hero-content{padding:126px 25px 25px;max-width:none}.hero h1{font-size:clamp(34px,10vw,48px);line-height:1.55;letter-spacing:.035em}.hero-content .eyebrow{font-size:10px;letter-spacing:.16em}.hero-location{font-size:10px;line-height:1.8;letter-spacing:.015em;margin-bottom:23px}.hero-copy{font-size:14px;line-height:1.95;margin:21px 0 22px}.hero-content .btn{font-size:13px;min-height:54px;padding:15px 19px;gap:22px}.hero-price-link{display:inline-flex;margin:15px 0 0;font-size:12px;padding:8px 0}.hero-outline{inset:96px 12px 71px}
 .hero-room-frame{position:relative;right:auto;bottom:auto;display:grid;grid-template-columns:43% 57%;width:calc(100% - 50px);max-width:460px;margin:0 25px 29px;padding:5px;transform:rotate(-1deg);animation:mobileRoomInvite .85s .65s var(--ease) backwards}.hero-room{height:120px;object-position:center}.hero-room-label{display:flex;flex-direction:column;justify-content:center;padding:12px}.hero-room-label small{font-size:17px;line-height:1.6;margin-bottom:9px}.hero-room-label strong{font-size:10px;line-height:1.7;gap:5px}.hero-room-label svg{width:16px}.hero-foot{position:relative;height:59px;padding:0 24px}.hero-note:first-child{font-size:10px}.scroll-link{font-size:9px;gap:9px;letter-spacing:.05em}.night-strip{padding:17px 13px;gap:8px}.night-strip span{font-size:9px;gap:5px;line-height:1.7}.night-strip svg{width:15px}
 .section{padding:54px 23px}.section-top{margin-bottom:27px;align-items:flex-start;gap:16px}.section-number{font-size:11px;letter-spacing:.05em}.tiny-label{font-size:10px;line-height:1.8;text-align:right;max-width:150px}.eyebrow{font-size:11px;letter-spacing:.07em}.section-heading h2{font-size:29px;line-height:1.7}.section-heading>p{font-size:13px;line-height:1.9;margin-top:13px}
 .story-grid{grid-template-columns:1fr;gap:20px}.story-copy h2{font-size:32px;line-height:1.7;margin-bottom:21px}.story-copy>p:not(.eyebrow){font-size:14px;line-height:2;margin-bottom:14px}.story-copy .text-link{font-size:13px}.story-visual{margin:13px 0 26px;padding-left:8px}.story-visual>img{height:auto;aspect-ratio:1.15;object-position:center}.image-caption{padding:12px 20px;bottom:-15px}.image-caption>span{font-size:24px}.image-caption>p{font-size:19px}.photo-index{font-size:10px;margin-top:11px}
 .scenes{padding:48px 18px}.scenes .section-heading{padding:0 5px;margin-bottom:24px}.scene-tabs{gap:6px;margin-bottom:20px}.scene-tabs>button{font-size:12px;min-height:91px;gap:5px;padding:13px 8px;align-items:flex-start;line-height:1.6}.scene-tabs>button>span{font-size:17px}.scene-tabs>button>svg{right:6px;top:13px;width:16px;height:17px}.experience-grid{gap:22px}.scene-panel{min-height:0}.scene-copy{padding:190px 24px 42px;max-width:none}.scene-overlay{background:linear-gradient(0deg,#181319 0%,#181319f2 35%,#181319a8 62%,#18131913)}.scene-panel>img{object-position:58% 20%}.scene-copy>span{font-size:12px}.scene-copy h3{font-size:27px;line-height:1.65;margin:13px 0}.scene-copy p{font-size:13px;line-height:1.95;margin-bottom:14px}.scene-voice{padding:12px 0 17px;margin-top:14px}.scene-voice>span{font-size:10px}.scene-voice blockquote{font-size:12px;line-height:1.85}.scene-copy .btn{font-size:12px;min-height:49px;padding:13px 17px;width:100%;gap:12px}
 .mood-console{scroll-margin-top:80px}.mood-intro{padding:23px 17px 17px}.mood-intro .eyebrow{font-size:11px}.mood-intro h3{font-size:22px}.mood-intro>p:last-child{font-size:12px;line-height:1.8}.stage{height:119px}.stage-logo>span{font-size:53px}.stage-logo>small{font-size:9px}.stage-logo>svg{width:18px;height:20px}.console-bar{padding:11px 17px;font-size:10px}.console-bar b{font-size:20px}.mood-options{padding:2px 17px}.mood-option{padding:14px 0;gap:11px}.check-box{width:27px;height:27px}.option-content strong{font-size:13px}.option-content small{font-size:10px;line-height:1.6}.option-star{font-size:17px}.mood-result{padding:20px 18px}.night-ticket-media{grid-template-columns:84px 1fr;gap:13px;margin-bottom:14px;padding-bottom:14px}.night-ticket-media img{width:84px;height:69px}.night-ticket-media span{font-size:12px}.mood-result>span{font-size:10px}.mood-result>h3{font-size:23px;line-height:1.7;margin:11px 0}.mood-result>p{font-size:13px;line-height:1.95}.result-chip{font-size:10px;padding:4px 8px}.mood-actions{padding:0 18px 12px;gap:6px}.mood-actions .btn{width:100%;max-width:none;font-size:12px;min-height:54px;padding:14px 14px;gap:10px}.reset-button{font-size:12px;min-height:44px}.mood-note{font-size:10px;padding:0 15px 19px}
 .menu-grid{gap:24px}.menu-image img{height:285px}.menu-image>span{font-size:11px;left:19px}.menu-copy h2{font-size:31px}.price-row>strong{font-size:52px}.price-row>strong>small{font-size:11px}.price-row>span{font-size:16px}.price-note{font-size:12px;line-height:1.9}.menu-copy .text-link{font-size:13px;gap:15px}.visit-steps{grid-template-columns:1fr;gap:18px;margin-top:26px;padding:21px 0}.visit-steps li{gap:16px;align-items:center}.visit-steps li>span{font-size:29px}.visit-steps strong{font-size:14px}.visit-steps p{font-size:12px;margin-top:2px}.drink-film{margin-top:26px;gap:19px 11px}.drink-film figcaption{font-size:9px;letter-spacing:.03em}.film-note{font-size:11px;margin-top:18px;line-height:1.9}
 .message{gap:45px}.message-copy h2{font-size:28px}.message-art img{aspect-ratio:1.15}.message-art>span{font-size:11px;bottom:-30px}.message-copy>p:not(.eyebrow){font-size:14px;line-height:2}.message-copy .message-essence{font-size:18px!important}.message-more{margin-top:20px}.message-more summary{font-size:13px;min-height:51px}.message-more p{font-size:13px}.signature{margin-top:23px;gap:18px}.signature small{font-size:11px}.signature>span{font-size:22px}
 .voices{padding-top:20px}.voices h2{font-size:28px}.voice-grid{grid-template-columns:1fr;gap:23px}.voice-image{height:195px}.voice-body{padding:21px}.voice-tag{font-size:22px;margin-bottom:13px;padding:0}.voice-detail summary{font-size:13px;min-height:48px}.voice-detail blockquote{font-size:13px;line-height:2}.voice-number{font-size:10px}.gallery{padding-top:20px}.gallery-grid{grid-template-rows:255px 165px}.gallery-button>span{font-size:10px;padding:25px 11px 11px}.gallery-button>span>b{font-size:20px}.gallery .section-heading h2{font-size:28px}.gallery .section-heading>p{font-size:13px}
 .faq{padding-top:20px;gap:22px}.faq-heading h2{font-size:30px}.faq-heading>p:not(.eyebrow){font-size:13px}.faq summary{font-size:14px;gap:11px;line-height:1.8;padding:20px 0}.faq summary>span{font-size:17px}.faq details>p{font-size:13px;line-height:2;padding-left:0;padding-bottom:21px}.access{padding-top:42px}.access h2{font-size:28px}.access-brand{font-size:44px}dl>div{font-size:13px;grid-template-columns:80px 1fr}.access-small{font-size:12px}.copy-status{font-size:11px}.access .text-link{font-size:12px;gap:13px}.copy-address{font-size:12px;min-height:44px}.closing{min-height:470px}.closing-content{padding:50px 23px}.closing h2{font-size:38px}.closing-content p:not(.eyebrow){font-size:14px;line-height:2}.btn-large{font-size:13px;min-height:57px;gap:15px}.instagram-link{font-size:12px;margin-top:25px}footer{padding-bottom:105px}footer>span{font-size:10px}
 .mobile-dock{padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:9px}.mobile-dock>a{width:34%;font-size:10px;gap:5px}.mobile-dock>button{width:66%;min-height:49px;font-size:11px;gap:6px}.mobile-dock>button>svg:last-child{display:none}.mobile-dock>a>svg{width:15px}.mobile-nav>a{font-size:14px;min-height:52px}.booking-dialog h2{font-size:29px}.booking-dialog>p:not(.eyebrow){font-size:13px;line-height:2}.booking-dialog>.dialog-hours{font-size:12px}.phone-card small{font-size:11px}.phone-card strong{font-size:31px}.booking-dialog .text-link{font-size:12px}.gallery-controls>p{font-size:11px}.gallery-controls>button{width:44px;height:44px}
}
@media(max-width:370px){.hero-content{padding-left:21px;padding-right:21px;padding-top:118px}.hero h1{font-size:33px}.hero-location{font-size:9px}.hero-room-frame{width:calc(100% - 42px);margin-left:21px;margin-right:21px;grid-template-columns:40% 60%}.hero-room-label{padding:10px}.hero-room-label small{font-size:15px}.hero-room-label strong{font-size:9px}.hero-note:first-child{font-size:9px}.hero-foot{padding-left:20px;padding-right:20px}.night-strip span{font-size:8px}.section{padding-left:20px;padding-right:20px}.scenes{padding-left:13px;padding-right:13px}.scene-tabs>button{font-size:11px;padding-left:6px}.scene-copy{padding-left:20px;padding-right:20px}.scene-copy h3{font-size:25px}.mood-options{padding-left:14px;padding-right:14px}.option-content strong{font-size:12px}.mood-intro h3{font-size:20px}.mood-result>h3{font-size:21px}.mood-actions .btn{font-size:11px}.hero-content .btn{font-size:12px}.mobile-dock>button{font-size:10px}.mobile-dock>a{font-size:9px}.phone-card strong{font-size:27px}}
@keyframes mobileRoomInvite{from{opacity:0;transform:translateY(18px) rotate(1deg)}to{opacity:1;transform:rotate(-1deg)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html.enhanced .reveal{opacity:1;transform:none;clip-path:none}.hero-line,.hero-enter{opacity:1;filter:none;transform:none}.hero-image{filter:none;transform:none}.tap-emblem,.tap-dot,.tap-spark,.click-ring,.confetti,.completion-flash{display:none}.hero-room-frame{opacity:1}.control-enter{opacity:1;filter:none}}

/* v3: feedback beside the hand, and a quiet, complete first frame. */
.hero:not(.hero-ready) .hero-image,.hero:not(.hero-ready) .hero-light,.hero:not(.hero-ready) .hero-line,.hero:not(.hero-ready) .hero-enter:not(.is-held):not(.is-pressed),.hero:not(.hero-ready) .hero-room-frame:not(.is-held):not(.is-pressed),.hero:not(.hero-ready) .control-ready:not(.is-held):not(.is-pressed){animation:none!important;opacity:1;filter:none}
.hero:not(.hero-ready) .hero-image,.hero:not(.hero-ready) .hero-line,.hero:not(.hero-ready) .hero-enter{transform:none}
.hero.hero-ready .hero-image{animation:roomOpening 1.2s var(--ease) backwards}
.hero.hero-ready .hero-light{animation:spotArrival 1.2s var(--ease) backwards}
.hero.hero-ready .hero-line{animation:wordArrival .68s var(--ease) backwards}
.hero.hero-ready .hero-line:nth-child(1){animation-delay:.08s}.hero.hero-ready .hero-line:nth-child(2){animation-delay:.19s}.hero.hero-ready .hero-line:nth-child(3){animation-delay:.3s}
.hero.hero-ready .hero-enter,.hero.hero-ready .hero-content>.hero-enter.control-ready{animation:wordArrival .6s .4s var(--ease) backwards}
.hero.hero-ready .hero-room-frame{animation:roomInvite .65s .88s var(--ease) backwards}
.art-seal{display:inline-grid;place-items:center;width:29px;height:29px;margin-right:10px;background:linear-gradient(140deg,#873d42,#54252d);border:1px solid #c0786877;outline:1px solid #a75b5155;outline-offset:2px;border-radius:3px 1px 4px 2px;font-family:var(--serif);font-size:10px;line-height:1;letter-spacing:.05em;color:#f2dfc4;transform:rotate(-4deg);vertical-align:middle}
.hero-content>.eyebrow{display:flex;align-items:center;min-height:30px;letter-spacing:.18em}.section-top{border-top:0;background:url('/assets/brush-rule.svg') left top/100% 8px no-repeat;padding-top:22px}
.btn{border-radius:2px 8px 2px 6px}.btn:after{content:'';position:absolute;bottom:5px;left:10px;right:10px;height:3px;background:url('/assets/brush-rule.svg') center/100% 100% no-repeat;opacity:.45;pointer-events:none}
.menu-toggle{min-width:44px;min-height:44px;align-items:center;flex-shrink:0}
.access-info a[href^="tel:"],.noscript-notice a,.hero-price-link{display:inline-flex;align-items:center;min-height:44px}
.access-info a[href^="tel:"]{padding:4px 8px 4px 0}
.night-ticket-images{display:flex;gap:5px;min-width:0}.night-ticket-images img{flex:1;min-width:0;max-width:100%;width:100%;height:80px;object-fit:cover}.night-ticket-images img[hidden]{display:none}
.night-ticket-media{grid-template-columns:110px 1fr;align-items:center}.night-ticket-media.has-secondary{grid-template-columns:150px 1fr}.night-ticket-media.has-secondary img{width:calc(50% - 3px);height:83px}
.mood-result{scroll-margin-top:105px}.mood-result>p{line-height:1.9}.mood-actions{gap:8px}.mood-actions>.btn:not(.result-price-link){background:linear-gradient(120deg,#473039,#30252d);color:#eed5b0;border-color:#aa885d88;border-bottom-color:#171218;box-shadow:0 3px 0 #100d12;font-weight:400}
.mood-result.result-complete{border-top-color:#f0ca80}.mood-result.result-celebrating{animation:ticketGlint 1.2s var(--ease)}
.mood-live[hidden]{display:none}.mood-live{display:grid;grid-template-columns:53px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 0 14px;border-bottom:1px solid #c69a6050;position:relative;color:#e8d4b9;background:radial-gradient(ellipse at 15% 50%,#af765523,transparent 80%)}
.mood-live>img{width:53px;height:58px;object-fit:cover;border:1px solid #c6a16a77;border-radius:2px}.mood-live-copy{min-width:0}.mood-live-meter{display:flex;align-items:center;gap:12px;font-size:10px;margin-bottom:5px;color:#c8ac86}.mood-live-meter b{font-weight:500;color:#ffe2ad}
#moodLiveLights{display:inline-flex;gap:5px}#moodLiveLights>span{display:block;width:6px;height:6px;border-radius:50%;border:1px solid #ba946855;background:#30252a;transition:background .2s,box-shadow .3s}#moodLiveLights>span.on{background:#f3ce8e;border-color:#f3ce8e;box-shadow:0 0 8px #e5b57599}
#moodLiveText{display:block;font-size:12px;line-height:1.7}.mood-result-jump{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;min-width:58px;font-size:11px;border-left:1px solid #c9a77155;padding-left:10px}.mood-result-jump svg{width:14px;height:16px}
.mood-live.live-updated{animation:liveReply .48s var(--ease)}.mood-live.complete{background:linear-gradient(100deg,#a7744238,#d5b77b18);border-color:#e8c587}.mood-live.complete #moodLiveText{font-family:var(--serif);color:#ffe6b4;font-size:14px}.mood-live.complete:after{content:'';pointer-events:none;position:absolute;inset:0;border:1px solid #f7dd9855;box-shadow:inset 0 0 28px #dca95522;animation:localToast 1.2s var(--ease)}
.voice-excerpt{font-family:var(--serif);font-size:15px!important;line-height:1.95!important;color:#eed8b6!important;margin:0 0 17px!important}.voice-body .voice-tag{font-size:17px;color:#baa594;margin-bottom:12px}.voice-detail{margin-top:15px}.voice-image{height:185px}.voice-detail blockquote{font-family:var(--sans)}
@keyframes liveReply{from{filter:brightness(1.35)}to{filter:brightness(1)}}
@keyframes localToast{0%{opacity:.25;box-shadow:inset 0 0 0 #edc78400}45%{opacity:1;box-shadow:inset 0 0 38px #edc78455}100%{opacity:1;box-shadow:inset 0 0 28px #dca95522}}
@media(max-width:1100px){.night-ticket-media.has-secondary{grid-template-columns:128px 1fr}.mood-live{gap:8px;grid-template-columns:46px minmax(0,1fr) auto}.mood-live>img{width:46px;height:57px}.mood-result-jump{min-width:52px;padding-left:7px;font-size:10px}}
@media(max-width:850px){.menu-toggle{width:44px;height:44px}.scene-copy{padding-top:100px}.scene-panel{min-height:470px}.night-ticket-media.has-secondary{grid-template-columns:150px 1fr}}
@media(max-width:600px){
 .header-controls{gap:8px}.header .menu-toggle{width:44px;height:44px;min-width:44px;min-height:44px}.menu-toggle>span{width:22px}.hero-content{padding-top:117px;padding-bottom:19px}.hero-content>.eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:9px}.art-seal{width:25px;height:25px;font-size:9px;margin-right:9px}.hero-location{margin-bottom:18px}.hero h1{font-size:clamp(33px,9.8vw,47px)}.hero-copy{font-size:13px;line-height:1.9;margin:18px 0 19px}.hero-price-link{margin-top:8px}.hero-room-frame{margin-bottom:23px}.hero-room{height:103px}.hero-room-label small{font-size:16px}.hero.hero-ready .hero-room-frame{animation:mobileRoomInvite .65s .88s var(--ease) backwards}
 .story-grid{gap:17px}.story-copy h2{margin-bottom:17px}.story-visual{margin-bottom:20px}.section-top{padding-top:18px}.section-heading>p{font-size:12px}.scenes .section-heading{margin-bottom:20px}.scene-panel{min-height:0}.scene-copy{padding-top:152px;padding-bottom:36px}.scene-copy h3{font-size:26px}.scene-copy p{font-size:13px;line-height:1.85}.scene-voice{margin-top:12px;padding-bottom:15px}.experience-grid{gap:19px}
 .mood-intro{padding:21px 17px 15px}.stage{height:101px}.stage-logo>span{font-size:48px}.stage-logo>small{font-size:8px}.stage-logo>svg{width:17px;height:18px}.mood-option{padding:12px 0}.option-content small{font-size:9px;margin-bottom:2px}.mood-live{padding:10px 0 12px;gap:9px;grid-template-columns:47px minmax(0,1fr) auto}.mood-live>img{width:47px;height:56px}#moodLiveText{font-size:12px;line-height:1.65}.mood-live-meter{font-size:10px;gap:9px}.mood-result-jump{font-size:10px;min-width:51px;min-height:44px}.mood-result-jump svg{width:13px}.mood-live.complete #moodLiveText{font-size:13px}
 .mood-result{padding:19px 18px;scroll-margin-top:84px}.night-ticket-media{grid-template-columns:87px 1fr;gap:12px;margin-bottom:12px;padding-bottom:12px}.night-ticket-media img{width:100%;height:74px}.night-ticket-media.has-secondary{grid-template-columns:130px 1fr;gap:11px}.night-ticket-media.has-secondary img{height:77px}.night-ticket-media span{font-size:11px}.mood-result>h3{font-size:22px;line-height:1.65}.mood-result>p{font-size:12px;line-height:1.9}.mood-actions{padding-bottom:10px}.mood-actions .btn{min-height:49px}.mood-actions>.btn:not(.result-price-link){font-size:12px;min-height:46px}.voice-body{padding:20px}.voice-body .voice-tag{font-size:15px;margin-bottom:10px}.voice-excerpt{font-size:17px!important;line-height:1.9!important}.voice-image{height:172px}.voice-detail{margin-top:12px}.voice-detail summary{font-size:12px}.voice-grid{gap:20px}
}
@media(max-width:370px){.header-controls{gap:3px}.header .wordmark>span{font-size:32px}.hero-content{padding-top:112px}.hero h1{font-size:32px}.hero-room-label small{font-size:14px}.mood-live{grid-template-columns:40px minmax(0,1fr) auto;gap:7px}.mood-live>img{width:40px;height:54px}#moodLiveText{font-size:11px}.mood-result-jump{min-width:45px;gap:3px;padding-left:6px}.night-ticket-media.has-secondary{grid-template-columns:112px 1fr}.mood-result>h3{font-size:21px}.mood-actions .btn{font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero.hero-ready .hero-image,.hero.hero-ready .hero-line,.hero.hero-ready .hero-enter,.hero.hero-ready .hero-room-frame,.hero.hero-ready .hero-light,.mood-live,.mood-live:after,.mood-result.result-celebrating{animation:none!important;filter:none}.hero.hero-ready .hero-line,.hero.hero-ready .hero-enter{opacity:1;transform:none}}
