/* One clear visual language for every chapter of the Moon experience. */
body main>section.moon-chapter{position:relative;isolation:isolate;scroll-margin-top:110px;border-top:1px solid #d7192047;border-bottom:0;margin-block:0;padding-top:58px;padding-bottom:58px;background-color:#0a0a0a;background-image:radial-gradient(ellipse 700px 200px at 12% 0,#d719200b,transparent 75%)}
body main>section.moon-chapter:nth-of-type(even){background-color:#101010}
body main>section.moon-chapter::before{content:'';position:absolute;inset:-1px auto auto 8%;width:76px;height:3px;background:#e21c28;box-shadow:0 0 22px #d7192026;pointer-events:none;z-index:1}
body main>section.moon-chapter-featured{border-top-color:#d7192090;background-image:radial-gradient(ellipse 900px 280px at 10% 0,#d7192015,transparent 70%)}
body main>section.moon-chapter-featured::before{width:138px;height:4px}
body .moon-chapter .moon-chapter-heading{position:relative;isolation:isolate;display:block;width:100%;max-width:880px;box-sizing:border-box;margin:0 0 28px;padding:23px 27px 25px;border:1px solid #ffffff15;border-left:3px solid #dc1c28;border-radius:0 14px 14px 0;background:linear-gradient(110deg,#301014b0,#171214 58%,#131313);box-shadow:0 14px 32px #00000018;text-align:left;overflow:hidden;transform:none;min-width:0}
body .moon-chapter .moon-chapter-heading::after{content:'';position:absolute;bottom:0;left:27px;width:62px;height:2px;background:#e01e2b}
body .moon-chapter .moon-chapter-category{position:relative;z-index:1;display:flex;align-items:center;gap:10px;min-height:16px;margin:0 0 13px;padding:0 50px 0 0;color:#ed7b81;font-size:11px;font-weight:600;line-height:1.6;letter-spacing:1.2px;text-transform:none;max-width:none}
body .moon-chapter .moon-chapter-dash{display:block;width:19px;height:1px;flex:0 0 19px;background:#eb2936;box-shadow:0 3px 0 #eb293640}
body .moon-chapter .moon-chapter-title{position:relative;z-index:1;display:block;margin:0;padding:0;width:auto;max-width:none;min-height:0;border:0;background:none;color:#fff;-webkit-text-fill-color:#fff;font-size:clamp(28px,3.1vw,46px);font-weight:700;line-height:1.32;letter-spacing:-.7px;text-align:left;text-shadow:none;text-wrap:balance;white-space:normal;word-break:normal;overflow-wrap:break-word}
body .moon-chapter .moon-chapter-title::before,body .moon-chapter .moon-chapter-title::after{display:none;content:none}
body .moon-chapter .moon-chapter-symbol{position:absolute;right:21px;top:18px;display:grid;place-items:center;width:36px;height:36px;color:#f0525c;opacity:.8;transform:rotate(-7deg)}
body .moon-chapter .moon-chapter-symbol svg{display:block;width:32px;height:32px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
/* Quest selection and booking are the two primary decisions on the page. */
body #quests .moon-chapter-heading,body #booking .moon-chapter-heading{border-color:#d719205e;border-left:4px solid #e3222f;background:linear-gradient(108deg,#4a1019,#221215 62%,#151213)}
body #quests .catalog-headline{padding:0 0 26px;gap:28px;align-items:center}
body #quests .catalog-headline::after{display:none}
body #quests .catalog-headline>div{padding:0;border:0;border-radius:0;background:none;box-shadow:none}
body #quests .catalog-headline .moon-chapter-heading{margin:0}
body #quests .catalog-headline .section-intro{align-self:center;margin:0;padding:0;color:#c4bdbf;font-size:14px;line-height:1.85}
body #quests .catalog-headline h2{font-size:clamp(26px,2.9vw,42px)}
/* Keep chapter headings distinct from the cards, toys and form underneath. */
body #experience{padding-inline:8%}
body #experience .experience-copy{max-width:1250px;padding:0;margin:auto}
body #experience .experience-section-title{margin:0}
body #experience .fog-reading{padding-top:0}
body #members-club .moon-chapter-heading{margin-bottom:20px}
body #mystery-quest .mystery-heading{align-items:center}
body #mystery-quest .moon-chapter-heading{margin-bottom:20px}
body #screen-tear .gateway-inner{position:relative;max-width:1120px;margin-inline:auto;padding:0}
body #screen-tear .moon-chapter-heading{margin-inline:auto;max-width:900px}
body #screen-tear .gateway-path{margin-top:30px}
body #fear-scan .moon-chapter-heading,body #fate-quest .moon-chapter-heading{margin-bottom:22px}
body #secret-door .secret-copy,body #gift .gift-copy{padding-top:0;background:transparent;border:0;box-shadow:none}
body #secret-door .moon-chapter-heading,body #gift .moon-chapter-heading{margin-bottom:22px}
body #evening .aftergame-heading{margin-bottom:24px}
body #school-visits .school-heading{align-items:center}
body #school-visits .school-heading>div{flex:1;min-width:0}
body #school-visits .moon-chapter-heading{margin:0}
body #school-visits .moon-chapter-title{font-size:clamp(24px,2.6vw,36px)}
body #birthdays>.section-heading{background:none;border:0;padding:0;gap:32px}
body #birthdays .moon-chapter-heading{margin-bottom:20px}
body #booking .booking-copy{min-width:0}
body #booking .booking-copy .body-copy{font-size:15px;line-height:1.85;color:#c4bdbf}
body .company-search .moon-chapter-heading{margin-bottom:22px}
body #contacts .contact-heading{align-items:center;margin-bottom:30px}
body #contacts .contact-heading>div{flex:1;min-width:0}
body #contacts .moon-chapter-heading{margin:0;max-width:820px}
@media(min-width:901px){body #booking .booking-layout{align-items:start;gap:46px}body #booking .booking-form{border-top:3px solid #d71920}body #evening .aftergame-heading{max-width:880px}}
@media(max-width:900px){
 body main>section.moon-chapter{padding-block:38px;scroll-margin-top:96px}
 body main>section.moon-chapter::before{left:5%;width:54px}
 body main>section.moon-chapter-featured::before{width:102px}
 body .moon-chapter .moon-chapter-heading{padding:20px 20px 23px;margin-bottom:22px;border-radius:0 11px 11px 0}
 body .moon-chapter .moon-chapter-category{font-size:10px;letter-spacing:.5px;margin-bottom:11px;padding-right:35px;gap:8px}
 body .moon-chapter .moon-chapter-title{font-size:clamp(25px,6.2vw,34px);line-height:1.4;letter-spacing:-.5px;text-wrap:pretty}
 body .moon-chapter .moon-chapter-symbol{right:13px;top:14px;width:28px;height:28px}
 body .moon-chapter .moon-chapter-symbol svg{width:26px;height:26px}
 body .moon-chapter .moon-chapter-heading::after{left:20px;width:44px}
 body #experience{padding-inline:5%}
 body #experience .experience-copy{padding:0}
 body #quests .catalog-headline{display:block;padding-bottom:20px}
 body #quests .catalog-headline .section-intro{margin-top:18px;font-size:13px;line-height:1.8}
 body #quests .catalog-headline h2{font-size:clamp(18px,4.7vw,28px);letter-spacing:-.5px;white-space:nowrap}
 body #screen-tear{padding-inline:5%}
 body #screen-tear .gateway-inner{padding:0}
 body #screen-tear .gateway-path{margin-top:22px}
 body #school-visits .school-heading{display:flex;flex-direction:column;align-items:stretch;gap:18px}
 body #school-visits .school-heading>div{width:100%}
 body #school-visits .school-heading .school-call-link{align-self:flex-start}
 body #school-visits .moon-chapter-title{font-size:clamp(21px,5.2vw,29px)}
 body #contacts .contact-heading{gap:20px;align-items:stretch}
 body #contacts .contact-heading .contact-book{align-self:flex-start}
 body #birthdays>.section-heading{gap:18px}
 body #birthdays .moon-chapter-heading{margin-bottom:18px}
}
@media(max-width:380px){body .moon-chapter .moon-chapter-heading{padding-inline:16px}body .moon-chapter .moon-chapter-title{font-size:24px}body #quests .catalog-headline h2{font-size:17px}body .moon-chapter .moon-chapter-category{font-size:9px}}
@media(prefers-reduced-motion:reduce){body .moon-chapter .moon-chapter-heading{animation:none;transition:none}}

/* A section title leads its content; spacing follows the content, not empty panels. */
body main>section.moon-chapter{padding-top:40px;padding-bottom:40px}
body main>#members-club{padding-top:40px!important;padding-bottom:40px!important}
body #members-club>.moon-chapter-heading{max-width:none;margin:0 0 20px}
body #members-club .moon-join-art{padding:34px 30px 28px}
body #members-club .moon-join-copy{padding:28px 32px 28px 16px}
body #members-club .moon-join-copy>p{margin-top:0}
body #contacts .contact-bottom{margin-top:18px;padding-top:0;border-top:0;background:transparent;gap:18px}
body #contacts .contact-bottom>.contact-mail{min-height:0;padding:20px!important}
body #contacts .contact-bottom>.contact-socials{padding:20px;gap:12px}
body #contacts .contact-socials h3{font-size:21px;line-height:1.5;margin:0 0 4px}
body #contacts .contact-socials a{padding:14px 16px;font-size:18px!important}
body main>section.moon-chapter .moon-chapter-heading{margin-bottom:22px}
body #quests .catalog-headline .moon-chapter-heading,body #contacts .contact-heading .moon-chapter-heading,body #school-visits .school-heading .moon-chapter-heading{margin-bottom:0}
body #contacts{padding-bottom:30px}
body footer{padding-top:28px;padding-bottom:24px}
@media(max-width:900px){
 body main>section.moon-chapter{padding-top:24px;padding-bottom:24px}
 body main>#members-club{padding-top:24px!important;padding-bottom:24px!important}
 body main>section.moon-chapter .moon-chapter-heading{padding-top:17px;padding-bottom:19px;margin-bottom:18px}
 body #members-club>.moon-chapter-heading{margin-bottom:18px}
 body #members-club .moon-chapter-title{font-size:clamp(24px,5.8vw,30px)}
 body #members-club .moon-join-art{padding:24px 30px 12px}
 body #members-club .moon-join-pass{max-width:230px}
 body #members-club .moon-join-art-caption{margin-top:17px}
 body #members-club .moon-join-copy{padding:16px 22px 24px}
 body #members-club .moon-join-perks{margin:16px 0 20px}
 body #contacts .contact-heading{margin-bottom:20px}
 body #contacts .contact-bottom{margin-top:16px;padding-top:0;gap:16px}
 body #contacts .contact-bottom>.contact-mail{padding:18px!important}
 body #contacts .contact-bottom>.contact-socials{padding:18px;gap:10px}
 body #contacts .contact-socials h3{font-size:20px;margin-bottom:3px}
 body #contacts .contact-socials a{padding:13px 14px;font-size:17px!important}
 body #contacts{padding-bottom:24px}
 body footer{padding-top:24px;padding-bottom:20px}
}

/* Lights out: dim the entire scene, including the current full-bleed hero. */
body::after{content:'';position:fixed;inset:0;z-index:30;pointer-events:none;background:radial-gradient(ellipse at 50% 38%,#00000066 0%,#00000091 65%,#000000bd 100%);opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s}
html.lights-out body::after{opacity:1;visibility:visible}
html.lights-out body #home .hero-image-wrap img{filter:brightness(.48) saturate(.55);transition:filter .65s ease}
html.lights-out body #home .hero-shade{background:linear-gradient(90deg,#000e,#0007 65%,#0005),linear-gradient(0deg,#000c,transparent 65%)}
html.lights-out body #quests .quest-image img{filter:grayscale(.85) brightness(.34)!important}
html.lights-out body #quests .quest-card:is(:hover,:focus-within,.poster-awake) .quest-image img{filter:grayscale(.35) brightness(.55)!important}
html.lights-out body main>section.moon-chapter{background-color:#020202;background-image:none;border-top-color:#d7192030}
html.lights-out body .moon-chapter .moon-chapter-heading{background:linear-gradient(110deg,#160609,#050505);box-shadow:none}
html.lights-out body #light-switch.light-pull{z-index:41;opacity:1}
html.lights-out .light-pull .light-grip:after{background:#ff3043;box-shadow:0 0 10px #ff3043,0 0 22px #ff304380}
@media(prefers-reduced-motion:reduce){body::after,html.lights-out body #home .hero-image-wrap img{transition:none}}

/* The quest collection is the first destination, with visible posters on arrival. */
body main>#quests{padding-top:32px;padding-bottom:34px;border-top:2px solid #ec2533;background:#0c090a;background-image:radial-gradient(ellipse at 0 0,#75182738,transparent 65%)}
body #quests .catalog-headline{display:block;padding:0 0 20px}
body #quests .catalog-headline .moon-chapter-heading{max-width:none;margin:0 0 16px;padding:26px 28px;border:0;border-left:4px solid #f02b3b;border-radius:0;background:linear-gradient(100deg,#7b1025 0%,#301019 55%,#160d10 100%);box-shadow:none}
body #quests .catalog-headline .moon-chapter-category{color:#ffb6be}
body #quests .catalog-headline h2{font-size:clamp(26px,3.2vw,44px);line-height:1.4;letter-spacing:-.6px}
body #quests .catalog-headline .section-intro{max-width:82ch;font-size:14px;line-height:1.75;margin:0;color:#d3c8cb}
body #quests .catalog-toolbar{display:block;padding:16px 0;margin:0;border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15;background:none}
body #quests .catalog-location-label{margin:0 0 10px;font-size:12px;font-weight:600;color:#c6afb6;line-height:1.5}
body #quests #genres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:680px;border:0;padding:0;background:none}
body #quests #genres .filter{border:1px solid #ffffff25;border-radius:8px;padding:12px 8px;min-height:46px;background:#ffffff05;color:#ddd1d4;font-size:13px;line-height:1.4;box-shadow:none;transform:none}
body #quests #genres .filter.active{background:#b9142a;border-color:#f13b4c;color:#fff;box-shadow:0 4px 18px #b9142a20}
body #quests #genres .filter:after{display:none}
body #quests .catalog-actor-note{margin:14px 0 18px;font-size:12px;line-height:1.7;color:#b9a7ad}
body #quest-grid .catalog-fold{margin-bottom:18px}
body #quest-grid .catalog-toggle{border-top:0;border-bottom:1px solid #e22c3c44;padding:12px 0;margin-bottom:14px;min-height:0;font-size:22px}
body #quest-grid .catalog-toggle small{border-radius:50%;width:26px;height:26px;min-width:26px;background:#771629;color:#ffcad1}
body #quest-grid .catalog-fold-grid{gap:14px}
body #quest-grid .quest-card.compact-quest{border-radius:10px;border-color:#ffffff25;background:#171113}
body #quest-grid .compact-quest .quest-copy-button{background:#171113}
body #quest-grid .compact-quest h3{background:#a91d2b15;border-color:#a64c5b66;border-radius:4px}
body #quests :is(button,a):focus-visible{outline:2px solid #ff7180;outline-offset:4px}
@media(max-width:900px){
 body main>#quests{padding-top:22px;padding-bottom:24px}
 body #quests .catalog-headline .moon-chapter-heading{padding:20px 15px;margin-bottom:14px}
 body #quests .catalog-headline h2{font-size:clamp(17px,4.7vw,28px);white-space:nowrap;letter-spacing:-.5px}
 body #quests .catalog-headline .section-intro{font-size:12px;line-height:1.75;margin-top:0}
 body #quests .catalog-headline{padding-bottom:16px}
 body #quests #genres .filter{font-size:12px;min-height:44px;padding:10px 5px}
 body #quest-grid .catalog-toggle{font-size:20px;margin-bottom:12px}
 body #quest-grid .catalog-fold-grid{gap:10px}
}
