/* Shared public palette: neutral black surfaces, logo red, legible white type. */
:root{--moon-brand:#d71920;--moon-brand-hover:#ed252d;--moon-canvas:#090909;--moon-surface:#111111;--moon-surface-raised:#171717;--moon-border:#ffffff21;--moon-copy:#f5f5f5;--moon-muted:#b3b3b3}
body{background:var(--moon-canvas);color:var(--moon-copy)}
body :is(#experience,#quests,#members-club,#mystery-quest,#fear-scan,#fate-quest,#secret-door,#evening,#school-visits,#birthdays,#booking,#gift,#contacts),body .company-search{background:var(--moon-canvas);border-color:var(--moon-border)}
body :is(#experience,#members-club,#mystery-quest,#fear-scan,#fate-quest,#secret-door,#evening,#school-visits,#birthdays,#booking,#gift,#contacts){border-top-color:var(--moon-border);border-bottom-color:var(--moon-border)}
body :is(#experience,#members-club,#mystery-quest,#fear-scan,#fate-quest,#secret-door,#evening,#school-visits,#birthdays,#booking,#gift,#contacts) :is(.eyebrow,.mx-kicker){color:#ed5b60;border-color:#d719204d;background:transparent;box-shadow:none}
body :is(#gift,#birthdays,#secret-door,#fear-scan,#fate-quest) h2{color:var(--moon-copy);background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:var(--moon-copy);text-shadow:none}
body :is(#gift,#birthdays,#secret-door,#fear-scan,#fate-quest) h2:before{background:var(--moon-brand);box-shadow:none}
body :is(#birthdays,#gift,#secret-door) :is(.section-heading,.gift-copy,.secret-copy){background:var(--moon-surface);border-color:var(--moon-border);box-shadow:none}
body :is(#evening,#school-visits,#members-club) :is(.aftergame-card,.school-feature,.school-price-details,.school-price-cards article,.moon-join-shell){background:var(--moon-surface);border-color:var(--moon-border);box-shadow:none}
body #school-visits :is(.school-compact-note,.school-phone-only){background:#d719200d;border-color:#d7192066;color:#d5cdcd}
body #school-visits .school-feature:before{background:linear-gradient(transparent,#d71920,transparent)}
body #school-visits .school-room-door{border-color:#8d3034;background:linear-gradient(95deg,#72282c 0 3%,#241214 4% 88%,#0b0909 90%)}
body #school-visits .school-room-door:after{background:#e74047}
body #school-visits .school-room-guests i{border-color:#ab686b;background:linear-gradient(#673436,#211414)}
body #school-visits .school-room-guests i:before{border-color:#c18c8d;background:radial-gradient(circle at 30% 25%,#b57d7f,#4c292a)}
body #school-visits .school-price-cards article:before,body #school-visits .school-price-cards article:after{border-color:var(--moon-border);background:var(--moon-canvas)}
body #booking .booking-form{background:var(--moon-surface);border-color:#d7192059;box-shadow:0 18px 55px #0003}
body #booking :is(.field,.booking-services,.service-config,.estimate-box){border-color:var(--moon-border);background-color:var(--moon-surface)}
body #booking :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:#0b0b0b;color:var(--moon-copy);border-color:#ffffff2c}
body #booking :is(input,select,textarea):focus{border-color:var(--moon-brand);outline-color:var(--moon-brand)}
body #booking .service-choice{background:#171717;border-color:#ffffff29;color:var(--moon-copy)}
body #booking .service-choice:has(input:checked){border-color:var(--moon-brand);background:#d7192012}
body :is(#experience,#members-club,#mystery-quest,#fear-scan,#fate-quest,#secret-door,#evening,#school-visits,#birthdays,#booking,#gift,#contacts) :is(.body-copy,.section-intro,.fine-print){color:var(--moon-muted)}
body :is(#members-club,#mystery-quest,#fear-scan,#fate-quest,#secret-door,#evening,#school-visits,#birthdays,#booking,#gift,#contacts) :is(.button.solid,.school-call-link,.moon-join-button){background:var(--moon-brand);border-color:var(--moon-brand);color:white;box-shadow:none}
body :is(#members-club,#mystery-quest,#fear-scan,#fate-quest,#secret-door,#evening,#school-visits,#birthdays,#booking,#gift,#contacts) :is(.button.solid,.school-call-link,.moon-join-button):hover{background:var(--moon-brand-hover);border-color:var(--moon-brand-hover)}
body #contacts :is(.contact-phone-group,.contact-branch,.contact-mail,.contact-bottom){background-color:var(--moon-surface);border-color:var(--moon-border)}
body #contacts :is(.contact-heading,.contact-phone-row,.contact-branches,.contact-socials){background:none}
body .company-search{background:var(--moon-canvas)}
body .company-search :is(h2,h3){color:var(--moon-copy)}
body .company-search :is(.company-story,.question-answer p){color:var(--moon-muted)}
body .company-search .company-questions details{background:var(--moon-surface);border-color:var(--moon-border)}
body .company-search .company-questions details[open]{background:#151111;border-color:#d7192066}
body .company-search .company-signature,body .company-search .eyebrow{color:#b3a5a5}
body #quests{--cinema-red:var(--moon-brand)}
body #quests .catalog-headline>div{background:var(--moon-brand)}
body #quests .compact-quest{background:var(--moon-surface)}
body #quests .compact-quest .quest-copy-button{background:var(--moon-surface)}
/* The birthday flow uses the same surfaces without repainting its artwork. */
body.moon-birthday-theme{background:var(--moon-canvas);color:var(--moon-copy)}
body.moon-birthday-theme :is(.panel,.package-helper,.budget-guide){background:var(--moon-surface);border-color:var(--moon-border);box-shadow:none}
body.moon-birthday-theme :is(.package-grid>button,.food-grid>button,.duration-filters>button){background:var(--moon-surface-raised);border-color:var(--moon-border);color:var(--moon-copy)}
body.moon-birthday-theme :is(.package-grid>button,.food-grid>button,.duration-filters>button):is(.active,.selected,[aria-pressed=true]){background:#d719201c;border-color:var(--moon-brand)}
body.moon-birthday-theme .button:not(.outline),body.moon-birthday-theme button[type=submit]{background:var(--moon-brand);border-color:var(--moon-brand);color:white}
body.moon-birthday-theme :is(input:not([type=checkbox]),select,textarea){background:#0b0b0b;border-color:#ffffff2c;color:white}
body.moon-birthday-theme :is(input,select,textarea):focus{border-color:var(--moon-brand);outline-color:var(--moon-brand)}
body.moon-birthday-theme .eyebrow{color:#ed5b60}
/* The disclosure action uses the same logo-red finish as the other main CTAs. */
body #mystery-quest .mystery-open{background:#d71920;border:1px solid #d71920;color:#fff;border-radius:5px;box-shadow:none;min-height:48px;line-height:1.5;transition:background .2s,border-color .2s}
body #mystery-quest .mystery-open:hover{background:#ed252d;border-color:#ed252d}
body #mystery-quest .mystery-open>span{min-width:0}
body #mystery-quest .mystery-open>i{flex:0 0 auto;line-height:1;font-size:20px}
body #mystery-quest .mystery-booking[open]>.mystery-open{border-radius:5px 5px 0 0}
@media(prefers-reduced-motion:reduce){body #mystery-quest .mystery-open{transition:none}}

/* Calm hero hierarchy; shorter copy gives the full-bleed artwork more room. */
body #home .hero-inner>.eyebrow{font-size:10px;line-height:1.5;letter-spacing:1.3px;font-weight:500;margin:0 0 22px;max-width:100%}
body #home h1{font-size:clamp(32px,3.5vw,58px);line-height:1.3;font-weight:500;letter-spacing:-.6px;text-wrap:balance;margin:0 0 16px}
body #home .hero-description{font-size:15px;line-height:1.6;margin:0 0 24px;font-weight:400}
@media(max-width:900px){
 body #home .hero-inner{padding:110px 6% 14px}
 body #home .hero-inner>.eyebrow{font-size:9px;letter-spacing:1.1px;margin-bottom:25px;gap:10px}
 body #home h1{width:100%;max-width:100%;font-size:clamp(26px,7vw,34px);line-height:1.35;letter-spacing:-.4px;margin-bottom:12px}
 body #home .hero-description{width:100%;max-width:100%;font-size:13px;line-height:1.6;margin-bottom:24px}
 body #home .hero-buttons{gap:9px;margin-bottom:22px}
 body #home .hero-buttons>.button{min-height:46px;padding:11px 16px;font-size:13px;line-height:1.5}
 body #home .moon-hero-register{font-size:10px;line-height:1.6;letter-spacing:.3px;margin-top:0}
 body #home .hero-index{margin-top:20px;font-size:11px}
 body #home .hero-bottom{font-size:11px;line-height:1.6;margin-top:8px;margin-bottom:18px;padding-top:12px;letter-spacing:.3px}
}

/* Slideshow controls removed; keep the existing puzzle clue without a control-row gap. */
body #home .hero-index{margin-top:0;gap:0}

/* Shared contact controls: aligned 48px fields across booking flows. */
body #booking-form .field :is(input:not([type=checkbox]):not([type=hidden]),select),
body #mystery-form .mystery-fields :is(input,select),
body.moon-birthday-theme .fields :is(input:not([type=checkbox]):not([type=hidden]),select),
body.moon-birthday-theme .budget-controls select{box-sizing:border-box;height:48px;min-height:48px;padding:0 12px;border-radius:8px;font-size:16px;line-height:1.4}
body #booking-form .field textarea,body #mystery-form textarea,body.moon-birthday-theme .fields textarea{box-sizing:border-box;min-height:90px;height:auto;padding:12px;border-radius:8px;font-size:16px;line-height:1.5}
