/* First refinement of V2. Original layout, palette, fonts and photographs retained. */
body{line-height:1.5}
section[id]{scroll-margin-top:24px}
.skip-link{position:fixed;top:12px;left:12px;z-index:20;padding:12px 20px;background:var(--cream);color:var(--ink);transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible{outline:3px solid #a78e58;outline-offset:5px}
.brand{position:relative;width:245px;height:66px;overflow:hidden;flex-shrink:0}
.brand img{position:absolute;width:320px;max-width:none;left:-36px;top:-66px;height:auto}
.footer-logo{position:relative;width:275px;height:78px;overflow:hidden}
.footer .footer-logo img{position:absolute;width:360px;max-width:none;left:-41px;top:-74px;height:auto}
.nav{gap:clamp(17px,2.3vw,33px)}
.nav a,.footer-links a{padding-top:10px;padding-bottom:10px}
.nav .pill{padding:14px 23px}
.hero-sub{max-width:460px;text-wrap:pretty}
.hero h1,.intro h2,.editorial h2,.quote h2,.closing h2{text-wrap:balance}
.editorial p,.intro p,.visit p{text-wrap:pretty}
.pill{min-height:44px}
.menu-button{min-height:44px;min-width:74px}
.gallery-grid img{transition:filter .35s ease}
.gallery-grid img:hover{filter:brightness(1.04)}
.visit .pill:hover{background:var(--ink);color:var(--cream)}
.community-detail{display:block;margin-top:16px;color:var(--olive);font-size:12px;letter-spacing:.09em}
.footer-links a:hover{color:white;text-decoration:underline;text-underline-offset:5px}
@media(min-width:851px) and (max-width:1050px){.header{padding-left:4%;padding-right:4%}.nav{gap:16px;font-size:11px}.nav .pill{padding:12px 16px}.brand{width:245px}}
@media(max-width:850px){.brand{width:205px;height:56px}.brand img{width:270px;left:-31px;top:-56px}.nav{top:90px}.nav a{min-height:44px;display:flex;align-items:center}.nav .pill{justify-content:center}.menu-button{font-size:12px;letter-spacing:.1em}.hero-content{padding-bottom:13%}.editorial .copy{padding:65px 8%}}
@media(max-width:520px){.header{padding-top:18px}.hero{min-height:640px}.hero h1{font-size:clamp(54px,14vw,70px)}.hero-sub{font-size:14px}.hero-content{padding-bottom:58px}.intro h2{font-size:38px}.editorial h2{font-size:46px}.quote h2{font-size:35px}.fact{gap:18px;font-size:13px}.footer-links{gap:12px 22px}.gallery-head>span{display:block;margin-top:20px;font-size:10px;line-height:1.8}.footer-bottom{margin-top:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}.pill,.gallery-grid img{transition:none}}
/* Owner's five-photo Moments gallery: three images above two wider images. */
.gallery-five{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start}
.gallery-five img{grid-column:span 2}
.gallery-five img:nth-child(4),.gallery-five img:nth-child(5){grid-column:span 3;height:390px;margin-top:10px}
@media(max-width:850px){.gallery-five{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-five img,.gallery-five img:nth-child(3),.gallery-five img:nth-child(4){grid-column:span 1;height:300px;margin:0}.gallery-five img:nth-child(5){grid-column:span 2;height:360px;margin:0}}
@media(max-width:520px){.gallery-five{grid-template-columns:1fr;gap:16px}.gallery-five img,.gallery-five img:nth-child(2),.gallery-five img:nth-child(3),.gallery-five img:nth-child(4),.gallery-five img:nth-child(5){grid-column:1;height:auto;aspect-ratio:3/4;margin:0;object-fit:cover}}
/* Original closing photograph: no image overlay or colour adjustments. */
.closing h2,.closing>.eyebrow,.closing .booking-note{text-shadow:0 2px 12px rgba(0,0,0,.65)}
/* Practical swimming details within the existing V2 panel. */
.swim-details{width:100%;max-width:410px;margin:0 0 20px;border-top:1px solid #b9c1b4;font-size:14px}
.swim-details>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #b9c1b4}
.swim-details dt{font-weight:600}
.swim-details dd{margin:0;text-align:right;color:#50594d}
.editorial .swim-equipment{font-size:14px;margin:0 0 18px}
.editorial .swim-supervision{font-size:14px;margin:0 0 28px;color:var(--ink)}

/* Sauna information: keep practical guidance compact within the V2 panel. */
.sauna-details {color:inherit;}
.sauna-guidance {margin:24px 0; border-top:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25);padding:16px 0;}
.sauna-guidance summary {cursor:pointer; font-size:15px; line-height:1.6;}
.sauna-guidance p {font-size:14px; margin:14px 0 0;}

.deep .sauna-details dd {color:#e0e6dd;}
.deep .sauna-details div {border-color:rgba(255,255,255,.25);}

/* Natural photographs retain their full proportions and original colour. */
.land-section{padding:100px 6%;background:#f1eee7;}
.land-copy{max-width:760px;margin:0 auto 55px;text-align:center;}
.land-copy h2{font-size:clamp(42px,5vw,72px);line-height:1.12;margin:24px 0;}
.land-copy p{font-size:16px;line-height:1.9;margin:18px 0;}
.land-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start;}
.land-photos img{display:block;width:100%;height:auto;filter:none;opacity:1;}
@media(max-width:700px){.land-section{padding:65px 6%;}.land-copy{margin-bottom:32px;}.land-photos{grid-template-columns:1fr;gap:18px;}}

/* Owner requested a shorter side-by-side presentation. */
.land-photos img{aspect-ratio:1 / 1;height:auto;object-fit:cover;object-position:center 65%;}
.land-photos img:nth-child(2){object-position:center 60%;}
.land-photos img:nth-child(3){object-position:center 65%;}

@media(min-width:481px) and (max-width:700px){.land-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}}

.visit-directions{margin:24px 0;}.visit-directions a{color:inherit;text-underline-offset:4px;overflow-wrap:anywhere;}

/* Consistent spacing between swimming guidance paragraphs. */
#swim .copy p{margin-top:0;margin-bottom:18px;}

.winter-section{padding:85px 6%;background:#f1eee7;}
.winter-copy{text-align:center;margin:0 auto 40px;}
.winter-copy h2{font-size:clamp(38px,5vw,72px);line-height:1.15;margin:24px 0 32px;}
.winter-induction h3{font-size:25px;font-weight:400;margin:0 0 10px;}
.winter-induction p{font-size:15px;margin:0;}
.winter-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.winter-photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 70%;filter:none;}
@media(max-width:480px){.winter-section{padding:60px 6%;}.winter-photos{grid-template-columns:1fr;gap:16px;}}

.social-links a{color:inherit;text-decoration:underline;text-underline-offset:4px;}

/* Consistent body typography throughout the swimming panel. */
#swim .copy p,#swim .swim-details{font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.95;}

/* Landscape-led swimming section; practical information stays on cream. */
#swim{display:block;}
.swim-landscape{position:relative;height:650px;overflow:hidden;}
.swim-landscape img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 66%;}
.swim-landscape-title{position:absolute;top:55px;left:8%;color:var(--ink);}
.swim-landscape-title h2{margin:20px 0 0;}
#swim .swim-information{background:#f1eee7;padding:65px 8%;display:block;}
#swim .swim-information>p,#swim .swim-details{max-width:760px;margin-left:auto;margin-right:auto;}
#swim .swim-information>.pill{display:table;margin:28px auto 0;}
@media(max-width:700px){.swim-landscape{height:540px;}.swim-landscape-title{top:35px;left:6%;}#swim .swim-information{padding:40px 6%;}}
@media(max-width:480px){.swim-landscape{height:470px;}.swim-landscape img{object-position:65% 60%;}.swim-landscape-title h2{font-size:42px;}}
.swim-landscape-title{top:auto;bottom:28px;color:#fffdf7;text-shadow:0 1px 5px rgba(0,0,0,.3);}
.swim-landscape-title .eyebrow{color:inherit;}
.swim-landscape-title h2{font-size:clamp(42px,4.4vw,64px);line-height:1.08;margin-top:12px;}
@media(max-width:700px){.swim-landscape-title{top:auto;bottom:25px;}}
@media(max-width:480px){.swim-landscape-title{bottom:60px;}.swim-landscape-title h2{font-size:38px;}}

/* Separate sky label from the heading over water. */
.swim-landscape-label{position:absolute;top:35px;left:8%;color:var(--ink);}
.swim-landscape-title{bottom:40px;}
@media(max-width:700px){.swim-landscape-label{top:28px;left:6%;}}
@media(max-width:480px){.swim-landscape-title{bottom:60px;}}
@media(min-width:701px){.swim-landscape img{object-position:center 60%;}.swim-landscape-title{bottom:35px;}.swim-landscape-title h2{font-size:56px;}}

/* Consistent supporting typography in events; retain display heading. */
#events p{font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.95;letter-spacing:normal;max-width:720px;margin:20px auto;color:var(--ink);}
#events>.eyebrow{font-family:"DM Sans",sans-serif;font-weight:700;}
#events>.pill{margin:8px auto;}

.land-copy p{font-size:15px;line-height:1.95;}

.winter-induction h3{font-family:"DM Sans",sans-serif;font-size:15px;font-weight:700;line-height:1.95;}
.winter-induction p{font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.95;}

.common-questions{padding:75px 6%;background:#f1eee7;}
.common-questions>.eyebrow,.common-questions>h2{text-align:center;}
.common-questions h2{font-size:clamp(36px,4vw,58px);font-weight:400;margin:22px 0 38px;}
.question-list{max-width:820px;margin:auto;}
.question-list details{border-top:1px solid #c7cbbf;padding:20px 0;}
.question-list details:last-child{border-bottom:1px solid #c7cbbf;}
.question-list summary{font-family:"DM Sans",sans-serif;font-size:15px;font-weight:700;line-height:1.6;cursor:pointer;}
.question-list p{font-size:15px;line-height:1.95;margin:16px 0 0;}

#swim .copy .swim-supervision{color:var(--olive);}

#events p{color:var(--olive);}

#events .booking-note{opacity:1;color:var(--olive);}

/* Muted section colour study using established sage and a soft sky blue. */
.land-section{background:#e4e6dd;}
.winter-section{background:#e8eef0;}

.winter-description{max-width:720px;margin:0 auto 24px;font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.95;color:var(--olive);}

.winter-copy p{color:var(--olive);font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.95;opacity:1;}

/* Consistent section hierarchy: muted label, dark display heading. */
.intro>.eyebrow,#events>.eyebrow,.gallery-head .eyebrow,.land-copy>.eyebrow,.winter-copy>.eyebrow,.visit>div>.eyebrow,.common-questions>.eyebrow{color:var(--olive);}

/* Visitor guidance remains a single readable column without repeated facts. */
.visit{display:block;}
.visit>div{max-width:760px;margin-inline:auto;}

/* Hosted bookings, contained within the approved local preview design. */
.booking-calendar{padding:80px 8%;background:var(--cream);}
.booking-calendar>.eyebrow,.booking-preview-note,.booking-calendar-fallback{color:var(--olive);}
.booking-calendar h2{font-size:clamp(38px,5vw,64px);line-height:1.15;margin:22px 0;}
.booking-preview-note,.booking-calendar-fallback{font-size:15px;line-height:1.95;}
.bookwhen-calendar{display:block;width:100%;height:680px;border:0;background:white;margin-top:28px;}
.booking-calendar-fallback a{text-decoration:underline;text-underline-offset:4px;}
@media(max-width:480px){.booking-calendar{padding:50px 6%;}.bookwhen-calendar{height:720px;}}

.booking-help{margin-top:24px;border-block:1px solid var(--line);padding:18px 0;font-size:15px;line-height:1.95;color:var(--olive);}.booking-help summary{cursor:pointer;font-weight:700;}.booking-help p{margin:16px 0;}.booking-help a{text-decoration:underline;overflow-wrap:anywhere;}
