.quest-hero{min-height:730px;padding:160px max(7vw,24px) 70px;display:flex;align-items:end;background:linear-gradient(90deg,#080b10 0%,#080b10df 43%,#080b1020),var(--quest-image) 70% center/cover}.quest-hero-inner{max-width:820px}.quest-hero h1{font-size:clamp(50px,8vw,104px)}.quest-code{font:700 90px Unbounded;color:#ffffff08;position:absolute;right:8vw}.quest-facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:35px;border:1px solid #ffffff22}.quest-facts span{padding:18px;border-right:1px solid #ffffff22}.quest-facts b,.quest-facts small{display:block}.quest-facts small{color:var(--muted)}.quest-story{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.story-aside{border-left:1px solid var(--line);padding-left:35px}.story-aside p{color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:35px}.feature-grid article{padding:24px;background:var(--panel);border:1px solid var(--line)}.feature-grid b{color:var(--amber)}.feature-grid p{color:var(--muted)}.booking-section{background:#0d1118}.booking-layout{display:grid;grid-template-columns:1fr 300px;gap:25px;margin-top:35px}.schedule{background:var(--panel);border:1px solid var(--line)}.day-row{display:grid;grid-template-columns:130px 1fr;gap:15px;padding:18px;border-bottom:1px solid var(--line)}.day-row>div{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.slot{background:#0b0f16;color:#fff;border:1px solid var(--line);padding:11px 5px;cursor:pointer}.slot small,.slot b{display:block}.slot small{color:var(--muted);font-size:10px}.slot:hover,.slot.selected{border-color:var(--cyan);background:#55dfe414}.slot:disabled{opacity:.25;cursor:not-allowed}.booking-summary{padding:24px;background:var(--panel);border:1px solid var(--line);align-self:start;position:sticky;top:20px}.booking-summary span,.booking-summary b{display:block}.booking-summary span{color:var(--muted);margin:8px 0 20px}.booking-summary .btn{width:100%}.quest-modal{display:none;position:fixed;inset:0;background:#000c;z-index:30;place-items:center}.quest-modal.open{display:grid}.quest-modal form{background:var(--panel);padding:35px;max-width:450px;width:90%;position:relative}.quest-modal label{display:block;margin:12px 0}.quest-modal input{width:100%;padding:13px;background:#080b10;border:1px solid var(--line);color:white}.quest-modal .btn{width:100%}.card-actions{display:flex;gap:8px;align-items:center}.card-book{position:relative;z-index:3;padding:10px 13px;background:linear-gradient(135deg,var(--amber),#ffce76);color:#17110a;font-size:12px;font-weight:800;border-radius:4px;box-shadow:0 8px 20px #ffb24a18}.details{position:relative;z-index:3;padding:9px 6px}.quest-card{transition:.25s}.quest-card:hover{transform:translateY(-6px);border-color:#55dfe466}.card-cover{position:absolute;inset:0;z-index:2}.quest-card .badge{z-index:3}
@media(max-width:900px){.quest-story,.booking-layout{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.day-row{grid-template-columns:1fr}.day-row>div{grid-template-columns:repeat(3,1fr)}.booking-summary{position:static}}@media(max-width:560px){.quest-facts{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr}.day-row>div{grid-template-columns:repeat(2,1fr)}.card-bottom{align-items:flex-end;gap:15px}.card-actions{flex-direction:column;align-items:stretch}.quest-hero h1{font-size:47px}}
.hero-kicker{display:flex;gap:12px;align-items:center}.danger-chip{background:var(--amber);color:#17110a;padding:4px 10px;border-radius:20px;font-size:10px;font-weight:800}.hero-sub{font-size:18px;color:#c9ced7}.quest-breadcrumbs,.quick-summary,.amenities{padding:20px max(7vw,24px);border-bottom:1px solid var(--line)}.quest-breadcrumbs{display:flex;gap:12px;color:var(--muted)}.quick-summary p{max-width:1100px;margin:auto}.quick-summary a,.accent-text{color:var(--amber)}.amenities div{display:flex;gap:28px;flex-wrap:wrap;color:var(--muted)}.info-section{display:grid;grid-template-columns:1.3fr .7fr;gap:60px}.info-section>div>p{font-size:17px;color:#bbc2cd}.red-list{list-style:none;padding:0}.red-list li{padding:7px 0;color:#bbc2cd}.red-list li:before{content:'—';color:var(--amber);margin-right:12px}.info-card{background:var(--panel);border:1px solid var(--line);padding:28px;align-self:start}.info-card p{color:var(--muted)}.big-price{font:700 24px Unbounded;color:#fff!important}.full-story{padding-top:0}.full-story details,.pricing-section details{background:var(--panel);border:1px solid var(--line);padding:22px}.full-story summary,.pricing-section summary{font:700 18px Unbounded;cursor:pointer}.full-story details>div{max-width:900px;color:#bfc6d0;padding:18px 0}.pricing-section table{width:100%;border-collapse:collapse;margin:18px 0}.pricing-section th,.pricing-section td{padding:13px;text-align:center;border-bottom:1px solid var(--line)}.pricing-section th{background:#55dfe414;color:var(--muted)}.pricing-section tr.highlight{background:#ffb24a12;color:var(--amber)}.booking-intro{padding-bottom:35px}.booking-notes{display:grid;grid-template-columns:1fr 1fr;gap:25px}.booking-notes article{border:1px solid var(--line);background:var(--panel);padding:24px}.booking-notes p,.booking-notes li{color:var(--muted)}.booking-section{padding-top:35px}.booking-widget-wrap{background:#fff;border-radius:8px;padding:12px;min-height:360px}.card-art{background-image:var(--card-image)!important}
.amenity{display:inline-flex;align-items:center;gap:9px}.amenity-icon{width:21px;height:21px;flex:0 0 21px;background:var(--cyan);mask:center/contain no-repeat;-webkit-mask:center/contain no-repeat;filter:drop-shadow(0 0 7px #55dfe438)}.amenity-icon.wifi{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 8.82a15 15 0 0 1 20 0l-1.5 1.75a12.7 12.7 0 0 0-17 0L2 8.82Zm3.5 4.08a9.7 9.7 0 0 1 13 0L17 14.65a7.45 7.45 0 0 0-10 0L5.5 12.9Zm3.5 4.08a4.5 4.5 0 0 1 6 0l-3 3.5-3-3.5Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 8.82a15 15 0 0 1 20 0l-1.5 1.75a12.7 12.7 0 0 0-17 0L2 8.82Zm3.5 4.08a9.7 9.7 0 0 1 13 0L17 14.65a7.45 7.45 0 0 0-10 0L5.5 12.9Zm3.5 4.08a4.5 4.5 0 0 1 6 0l-3 3.5-3-3.5Z'/%3E%3C/svg%3E")}.amenity-icon.parking{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h7.2a6.2 6.2 0 0 1 0 12.4H10V22H6V2Zm4 4v4.4h3a2.2 2.2 0 1 0 0-4.4h-3Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h7.2a6.2 6.2 0 0 1 0 12.4H10V22H6V2Zm4 4v4.4h3a2.2 2.2 0 1 0 0-4.4h-3Z'/%3E%3C/svg%3E")}.amenity-icon.camera{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h12a2 2 0 0 1 2 2v2.7l4-2.4v9.4l-4-2.4V17a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm5 3.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Zm0 2a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h12a2 2 0 0 1 2 2v2.7l4-2.4v9.4l-4-2.4V17a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm5 3.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Zm0 2a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Z'/%3E%3C/svg%3E")}.amenity-icon.photo{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.2 4 9.7 2h4.6l1.5 2H20a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h4.2ZM12 7a6 6 0 1 0 0 12 6 6 0 0 0 0-12Zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.2 4 9.7 2h4.6l1.5 2H20a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h4.2ZM12 7a6 6 0 1 0 0 12 6 6 0 0 0 0-12Zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Z'/%3E%3C/svg%3E")}
@media(max-width:760px){.info-section,.booking-notes{grid-template-columns:1fr}.quest-hero{min-height:650px}.amenities div{gap:12px}.hero-kicker{align-items:flex-start;flex-direction:column}}/* compact information layout */
.quick-summary p{max-width:none;margin:0;text-align:left}.pricing-section details{max-width:820px}.pricing-section table{max-width:720px;margin:18px 0}.pricing-section th,.pricing-section td{padding:10px 14px}.pricing-section{display:flex;justify-content:center}.pricing-section details{width:100%}/* left-aligned pricing tables */
.quick-summary{display:none}
.pricing-section{justify-content:flex-start}.pricing-section details{margin:0}.pricing-section th,.pricing-section td{text-align:left}.pricing-section table{margin-left:0;margin-right:0}

/* A single left alignment line for every quest page. */
body[data-quest] .section{padding-left:max(7vw,24px);padding-right:max(7vw,24px);text-align:left}
body[data-quest] .section>*{margin-left:0;margin-right:0;text-align:left}
body[data-quest] .info-section>div,body[data-quest] .info-section>aside{margin-left:0;margin-right:0;text-align:left}
body[data-quest] .feature-grid,body[data-quest] .booking-notes,body[data-quest] .booking-widget-wrap{margin-left:0;margin-right:0}
body[data-quest] .feature-grid article,body[data-quest] .booking-notes article,body[data-quest] .info-card{text-align:left}
body[data-quest] .full-story details,body[data-quest] .pricing-section details{margin-left:0;margin-right:0}
body[data-quest] .section.faq{max-width:none;margin-left:0;margin-right:0}
body[data-quest] .section.faq>*{max-width:1050px;margin-left:0;margin-right:0}
body[data-quest] .pricing-section table,body[data-quest] .pricing-section th,body[data-quest] .pricing-section td{text-align:left}

/* Balanced flow: description, full story, pricing, then feature cards. */
body[data-quest] .info-section{padding-bottom:42px}
body[data-quest] .full-story{padding-top:0;padding-bottom:28px}
body[data-quest] .full-story details{border-radius:8px}
body[data-quest] .pricing-section{padding-top:0;padding-bottom:76px}
body[data-quest] .pricing-section details{border-radius:8px}
body[data-quest] .features-section{padding-top:76px;padding-bottom:82px;border-top:1px solid var(--line)}
@media(max-width:760px){body[data-quest] .info-section{padding-bottom:30px}body[data-quest] .full-story{padding-bottom:22px}body[data-quest] .pricing-section{padding-bottom:58px}body[data-quest] .features-section{padding-top:58px;padding-bottom:64px}}

/* Place the fear level directly below the quest genre. */
.quest-hero-inner{position:relative}
.quest-hero [data-genre]{display:block;margin-top:12px;margin-bottom:42px}
.quest-hero .hero-kicker .danger-chip{position:absolute;left:0;top:58px;margin:0}
.cta .btn{display:inline-block;margin-top:18px}
body[data-quest] .booking-section .booking-widget-wrap{max-width:1260px}
.booking-widget-empty{display:flex;min-height:360px;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(34px,6vw,80px);background:radial-gradient(circle at 15% 20%,#55dfe414,transparent 42%),linear-gradient(145deg,#111821,#090d13)}
.booking-widget-empty h3{margin:12px 0 10px;font:700 clamp(24px,4vw,40px)/1.15 Unbounded;color:#f7f4ed}
.booking-widget-empty p{max-width:620px;margin:0 0 24px;color:#9da8b6;font-size:17px}
.booking-widget-empty .btn{margin-top:4px}
.booking-section{background:radial-gradient(circle at 16% 0,#55dfe40d,transparent 38%),#0d1118}
.booking-widget-wrap{position:relative;overflow:hidden;background:linear-gradient(145deg,#111821,#090d13);border:1px solid #55dfe43d;border-radius:16px;padding:12px;box-shadow:0 28px 80px #0008,0 0 45px #55dfe40b}
.booking-widget-wrap:before{content:"";position:absolute;z-index:1;inset:0 auto auto 0;width:180px;height:2px;background:linear-gradient(90deg,var(--cyan),var(--amber),transparent);box-shadow:0 0 20px #55dfe480}
.booking-widget-wrap>#timequest-booking{position:relative;z-index:2;overflow:hidden;border-radius:11px}
body[data-quest="silent-hill"] .quest-hero{--quest-image:url('quest-silent-hill-new.jpg')}

/* Preserve the line and paragraph breaks entered in CMS textareas. Content is
   still assigned through textContent, so user-provided HTML is never run. */
.full-story details>div p,
.full-story [data-story-lead],
.full-story [data-story-full],
.full-story [data-story-warning]{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.full-story [data-story-lead]{display:block}
