/* Audience-led navigation, contextual offers, and a future video-ready hero. */
.site-header{gap:clamp(28px,3.1vw,55px)}
.main-nav{flex:1;justify-content:space-between;gap:28px;min-width:0}
.nav-left{display:flex;align-items:center;gap:clamp(14px,2vw,31px);min-width:0}
.main-nav .nav-left>a:not(.nav-book){white-space:nowrap}
.main-nav .nav-book{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;padding:10px 16px;border-radius:999px;background:#e7d7b7;color:#173126;box-shadow:0 4px 17px #0002;opacity:1}
.main-nav .nav-book span{font-size:17px;font-weight:400;line-height:1}
.main-nav .nav-book:hover,.main-nav .nav-book.active{background:#f6ebd1;color:#11281b;opacity:1}
.main-nav .nav-story{display:inline-flex;align-items:center;justify-content:space-between;gap:17px;white-space:nowrap;padding:11px 18px;border:1px solid #d7c8a7b8;border-radius:999px;color:#f2ead9;opacity:1}
.main-nav .nav-story span{font-size:16px;font-weight:400;line-height:1}
.main-nav .nav-story:hover,.main-nav .nav-story.active{background:#e8dbc3;color:#193326;opacity:1}
.main-nav .nav-story.active{border-color:#e8dbc3}
.hero-photo picture{display:block;width:100%;height:100%}
.hero-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.025)}
.video-toggle{position:absolute;z-index:3;right:clamp(28px,5vw,84px);bottom:35px;padding:8px 13px;border:1px solid #e8dbc3ab;border-radius:999px;background:#0e2b1d9e;color:#f5ebd7;cursor:pointer;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.video-toggle:hover{background:#e8dbc3;color:#193326}
.draft-review-note{max-width:760px;margin:0 0 25px;padding:13px 17px;border-left:2px solid #a38a5e;background:#eae7da;color:#425447;font-size:13px;line-height:1.55}

/* Practical enquiry and question sections, kept in the existing visual language. */
.hero-actions{align-items:center;flex-wrap:wrap}
.hero-secondary{display:inline-flex;align-items:center;gap:18px;min-height:48px;padding:9px 2px;border-bottom:1px solid #e8dcc6;color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hero-secondary:hover{color:#e8dcc6}
.hero-secondary:focus-visible,.faq-list summary:focus-visible,.enquiry-form :is(input,select,textarea,button):focus-visible{outline:3px solid #b3996f;outline-offset:3px}
.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-top:35px;padding-bottom:125px}
.faq-section h2,.enquiry-form-intro h2{font-size:clamp(3rem,5vw,5.6rem);margin-top:16px}
.faq-list details{border-top:1px solid #cbbd9f}
.faq-list details:last-child{border-bottom:1px solid #cbbd9f}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;cursor:pointer;list-style:none;font:normal 22px/1.25 var(--serif);color:#203b2b}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font:25px/1 var(--sans);color:#8d7650;transition:transform .2s ease}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{margin:0;padding:0 25px 25px 0;max-width:620px;color:#526257;font-size:15px;line-height:1.7}
.enquiry-form-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-bottom:140px;scroll-margin-top:100px}
.enquiry-form-intro>p:not(.eyebrow){max-width:430px;color:#526257;font-size:17px;line-height:1.7}
.enquiry-form{padding:clamp(25px,4vw,55px);border:1px solid #d1c4aa;border-radius:24px;background:#eae7db}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px;margin-bottom:26px}
.form-field{display:flex;flex-direction:column;gap:9px;min-width:0}
.form-field-full{grid-column:1 / -1}
.form-field label{font-size:12px;font-weight:700;letter-spacing:.04em;color:#304b37}
.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;border:1px solid #bdbda9;border-radius:10px;background:#f8f7f0;color:#1d3929;font:16px/1.45 var(--sans);padding:13px 14px}
.form-field textarea{resize:vertical;min-height:135px}
.form-field input::placeholder,.form-field textarea::placeholder{color:#788477;opacity:1}
.enquiry-form button{cursor:pointer}
.form-explanation{margin:17px 0 0;color:#596b5c;font-size:13px;line-height:1.55}
@media(max-width:760px){
 .hero-actions{gap:9px 22px}
 .faq-section,.enquiry-form-section{grid-template-columns:1fr;gap:28px;padding-bottom:90px}
 .faq-section{padding-top:5px}.faq-list summary{font-size:20px}
 .enquiry-form{border-radius:19px}.form-grid{gap:18px}
}
@media(max-width:520px){.form-grid{grid-template-columns:1fr}.form-field-full{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.faq-list summary span{transition:none}}

.routes{padding-top:125px;padding-bottom:145px}
.routes-intro{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:44px}
.routes-intro h2{margin-bottom:0}
.routes-intro p:not(.eyebrow){font-size:17px;line-height:1.7;color:#586a5a;max-width:370px;margin:0 0 6px}
.route-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.route-card{position:relative;display:block;height:390px;overflow:hidden;border-radius:21px;background:#2a4935;color:#fff;box-shadow:0 15px 32px #11281b18}
.route-card img{filter:saturate(.8);transition:transform .65s ease}
.route-card:hover img,.route-card:focus-visible img{transform:scale(1.045)}
.route-card:after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(0deg,#081b13ed,transparent)}
.route-copy{position:absolute;z-index:1;inset:auto 22px 25px;display:flex;flex-direction:column;gap:7px}
.route-copy small{font-size:9px;font-weight:700;letter-spacing:.16em;color:#e0cda8}
.route-copy strong{font:500 clamp(29px,2.7vw,40px)/1.04 var(--serif);letter-spacing:-.025em}
.route-copy>span{font-size:12px;line-height:1.4;color:#e6eddf;max-width:25ch}
.route-copy b{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:27px;height:27px;border:1px solid #e7d7b7;border-radius:50%;font-size:16px;font-weight:400}

.audience-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:12px;padding-bottom:125px}
.audience-gallery .feature-card,.audience-gallery .feature-card.major,.audience-gallery .feature-card.wide{grid-column:auto;grid-row:auto;height:420px}
.audience-gallery .feature-caption strong{font-size:clamp(28px,3vw,43px)}
.offers{padding-top:135px;padding-bottom:135px;scroll-margin-top:105px}
.offer-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:46px}
.offer-heading h2{margin-bottom:0}
.offer-heading>p:last-child{font-size:17px;color:#5c6b5b;line-height:1.7;max-width:450px;margin:0 0 5px}
.offers .package-list{padding-bottom:16px}
.offers .package-list article:last-child{border-bottom:1px solid #b5c0b1}
.offers .package-end span{color:#806746}
.offer-note{max-width:82ch;font-size:12px;color:#687668;line-height:1.7;margin:0 0 25px}
.offers>.button{min-width:210px}
body[data-page="sauna"] .intro{padding-bottom:49px}
body[data-page="sauna"] .pricing-note{padding-bottom:105px;padding-top:0;line-height:1.7}
body[data-page="sauna"] .pricing-note a{text-decoration:underline;text-underline-offset:3px}
#larger-groups{scroll-margin-top:105px}

@media(max-width:1350px){
 .site-header{padding-left:35px;padding-right:35px;gap:27px}
 .nav-left{gap:15px}
 .main-nav{font-size:11px}
 .main-nav .nav-story{padding:10px 15px;gap:10px}
 .route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .route-card:last-child{grid-column:1 / -1}
 .route-card{height:360px}
}
@media(max-width:1100px){
 .site-header{padding-left:22px;padding-right:22px}
 .main-nav.open{overflow-y:auto;justify-content:flex-start;align-items:stretch;gap:23px;padding:118px 9% 45px}
 .nav-left{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
 .nav-left>a{font:500 clamp(29px,4.2vw,38px)/1.2 var(--serif);letter-spacing:-.025em}
 .main-nav .nav-book{font:700 13px var(--sans);letter-spacing:.08em;padding:13px 19px;margin-top:14px}
 .main-nav .nav-story{align-self:flex-start;font:600 12px var(--sans);letter-spacing:.08em;padding:13px 18px}
 .routes{padding-top:100px;padding-bottom:105px}
 .audience-gallery{padding-bottom:85px}
}
@media(max-width:760px){
 .main-nav.open{gap:20px;padding:108px 9% 35px}
 .nav-left{gap:3px}
 .nav-left>a{font-size:clamp(28px,8.4vw,36px);padding:6px 0}
 .main-nav .nav-book{padding:13px 18px;margin-top:13px;font-size:12px}
 .main-nav .nav-story{margin-top:4px}
 .routes{padding-top:82px;padding-bottom:85px}
 .routes-intro,.offer-heading{display:block;margin-bottom:28px}
 .routes-intro h2,.offer-heading h2{font-size:clamp(3.2rem,10vw,5rem);margin-bottom:18px}
 .routes-intro p:not(.eyebrow),.offer-heading>p:last-child{font-size:15px}
 .route-grid{grid-template-columns:1fr;gap:10px}
 .route-card:last-child{grid-column:auto}
 .route-card{height:285px;border-radius:18px}
 .route-copy{left:23px;bottom:22px}
 .route-copy strong{font-size:37px}
 .route-copy>span{font-size:12px}
 .audience-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-bottom:70px}
 .audience-gallery .feature-card,.audience-gallery .feature-card.major,.audience-gallery .feature-card.wide{height:260px;grid-column:auto}
 .audience-gallery .feature-card:first-child{grid-column:1/-1;height:370px}
 .audience-gallery .feature-caption strong{font-size:30px}
 .audience-gallery .feature-card:first-child .feature-caption strong{font-size:39px}
 .offers{padding-top:80px;padding-bottom:90px}
 .offers .package-list article{padding:23px 18px}
 .offers .package-end span{white-space:normal}
 .video-toggle{right:27px;bottom:23px}
}
@media(max-width:380px){.main-nav.open{padding-top:93px;gap:13px}.nav-left>a{font-size:28px}}
@media(prefers-reduced-motion:reduce){.hero-motion,.video-toggle{display:none}.route-card img{transition:none}}
@media(min-width:761px){.events-jump{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep page names visible at the top on smaller screens as well as desktop. */
@media(max-width:1100px){
 .site-header,.site-header.scrolled{height:auto;min-height:112px;padding:10px 18px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:rgba(10,31,22,.96);border-radius:0}
 .site-header.scrolled{top:0;left:0;right:0;border-left:0;border-right:0;border-top:0}
 .site-header .brand{align-self:center}
 .site-header .menu-toggle{display:none}
 .site-header .main-nav,.site-header .main-nav.open{display:flex;position:static;inset:auto;width:100%;min-width:0;flex:initial;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px 16px;padding:0;overflow:visible;background:transparent;font:600 11px/1.25 var(--sans);letter-spacing:.03em}
 .site-header .nav-left{display:contents}
 .site-header .main-nav .nav-left>a,.site-header .main-nav .nav-story,.site-header .main-nav .nav-book{display:inline-flex;align-items:center;align-self:auto;min-height:27px;padding:4px 0;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent;color:#f2ead9;font:600 11px/1.25 var(--sans);letter-spacing:.03em;white-space:nowrap}
 .site-header .main-nav .active,.site-header .main-nav a:hover{color:#e1c995;background:transparent}
}
@media(max-width:760px){
 .site-header,.site-header.scrolled{min-height:120px;gap:8px}
 .site-header .main-nav,.site-header .main-nav.open{gap:3px 15px}
 .site-header .main-nav .nav-left>a,.site-header .main-nav .nav-story,.site-header .main-nav .nav-book{min-height:25px;font-size:10px}
 .policy-hero{padding-top:165px}
 .booking-service-hero{padding-top:160px}
}
/* Give longer headings room without affecting other pages. */
body[data-page="events"] .hero h1,body[data-page="private"] .hero h1,body[data-page="sauna"] .hero h1{font-size:clamp(3rem,4.2vw,4.7rem);line-height:1.06}
@media(max-width:760px){body[data-page="events"] .hero h1,body[data-page="private"] .hero h1,body[data-page="sauna"] .hero h1{font-size:clamp(2.3rem,7.5vw,3.25rem);line-height:1.06}}
#voucher-enquiry .intro-main h2{font-size:clamp(2.7rem,4.2vw,4.7rem)}
@media(max-width:760px){#voucher-enquiry .intro-main h2{font-size:clamp(2.3rem,8vw,3.2rem)}}
