/* Booking details and a compact picture journal, in the established Woodfield palette. */
.booking-jump{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;padding-top:26px;padding-bottom:0}
.booking-jump a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 23px;border:1px solid #c9b999;border-radius:16px;background:#e8e3d6;color:#294333;font-size:12px;font-weight:700;letter-spacing:.06em;transition:background .2s ease,transform .2s ease}
.booking-jump a:hover{background:#d9ddcf;transform:translateY(-2px)}
.booking-jump span{font-size:19px;color:#a4875a}
#private-saunas,#individual-places,#team-days,#photo-journal{scroll-margin-top:100px}
body[data-page="booking"] .intro{padding-bottom:49px}
.sauna-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-bottom:20px}
.sauna-booking-card{overflow:hidden;border:1px solid #d6c7aa;border-radius:24px;background:#e9e5da;box-shadow:0 15px 35px #10271b14}
.sauna-card-image{height:330px;overflow:hidden;background:#344a39}
.sauna-card-image img{object-position:center 50%;filter:saturate(.83) contrast(1.035)}
.sauna-booking-card:nth-child(2) .sauna-card-image img{object-position:center 45%}
.sauna-card-body{padding:33px 35px 38px}
.sauna-card-body .eyebrow{color:#8c7250}
.sauna-card-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-bottom:1px solid #c9bba3;margin:15px 0 15px;padding-bottom:15px}
.sauna-card-title h3{margin:0;font-size:clamp(2.4rem,3.6vw,3.8rem);line-height:1}
.sauna-card-title strong{font:500 clamp(3rem,4vw,4.2rem)/1 var(--serif);color:#284632;white-space:nowrap}
.sauna-card-body p:not(.eyebrow){max-width:42ch;color:#536555;font-size:15px;line-height:1.62}
.sauna-card-body .sauna-meta{color:#846c48!important;font-size:11px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;max-width:none!important}
.sauna-card-body .button{min-width:230px;margin-top:13px}
.booking-source-note{color:#6c796a;font-size:12px;line-height:1.6;padding-top:8px;padding-bottom:110px;max-width:1440px}
.individual-panel{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;margin:0 16px;border-radius:28px;background:#153326;color:#f7f2e6;box-shadow:0 18px 42px #11281b24}
.individual-photo{min-height:575px;background:#23402e}
.individual-photo img{object-position:center 43%}
.individual-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:75px clamp(40px,7vw,115px);background:linear-gradient(135deg,#254734,#10291e)}
.individual-copy .eyebrow{color:#d6bb8a}
.individual-copy h2{font-size:clamp(3.5rem,5.4vw,6.5rem);line-height:.98}
.individual-copy>p:not(.eyebrow){color:#dce6d6;font-size:17px;line-height:1.7}
.individual-actions{display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-top:17px}
.individual-actions .text-link{color:#eee1c7;border-color:#c4a777}
.team-booking{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(45px,7vw,100px);padding-top:140px;padding-bottom:135px}
.team-booking h2{font-size:clamp(3.5rem,5.4vw,6.5rem)}
.team-booking p:not(.eyebrow){font-size:17px;color:#566757;line-height:1.7;margin-bottom:28px}
.team-price-list{align-self:center;border-top:1px solid #c9bca4}
.team-price-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:23px 3px;border-bottom:1px solid #c9bca4;color:#334937}
.team-price-list>div span{font-size:15px}
.team-price-list strong{font:500 25px/1.1 var(--serif);color:#765c38;white-space:nowrap}
.team-price-list>a{display:flex;justify-content:space-between;gap:15px;padding:22px 3px 0;color:#304f38;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.team-price-list>a span{font-size:20px;color:#a18354}
.booking-gallery{padding-bottom:70px}
.booking-gallery>.eyebrow{margin-bottom:19px}
.booking-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.booking-gallery figure,.journal-grid figure{overflow:hidden;margin:0;border-radius:18px;background:#dde0d4}
.booking-gallery figure img{height:330px;object-fit:cover}
.booking-gallery figcaption,.journal-grid figcaption{padding:14px 18px;color:#586b59;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
body[data-page="booking"] .pricing-note{padding-bottom:105px;padding-top:0;line-height:1.7}
body[data-page="booking"] .pricing-note a{text-decoration:underline;text-underline-offset:3px}
.home-booking{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,7vw,110px);align-items:center;padding-top:125px;padding-bottom:125px}
.home-booking p:not(.eyebrow){font-size:18px;color:#586a5a;line-height:1.7;max-width:530px;margin-bottom:28px}
.home-booking-photo{height:510px;overflow:hidden;border-radius:24px;box-shadow:0 17px 40px #16302020}
.home-booking-photo img{object-position:center 50%}
.package-bridge{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;border-top:1px solid #cbbd9f;padding-top:75px;padding-bottom:115px}
.package-bridge h2{font-size:clamp(3.3rem,5.2vw,6rem)}
.package-bridge p:not(.eyebrow){font-size:18px;color:#536456;line-height:1.7;max-width:480px;margin-bottom:26px}
.photo-journal{padding-top:120px;padding-bottom:40px}
.journal-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:30px}
.journal-heading h2{margin-bottom:0}
.journal-heading>p{color:#627362;font-size:15px}
.journal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.journal-grid figure img{height:320px;object-fit:cover}
.journal-grid figure:nth-child(1) img{object-position:center 50%}
.journal-grid figure:nth-child(4) img{object-position:center 50%}

/* Six navigation links use the same full-screen treatment on compact tablets. */
@media(max-width:1100px){
 .site-header{height:76px;padding:0 22px}
 .menu-toggle{z-index:60;display:flex;flex-direction:column;gap:6px;background:none;border:1px solid #d4bd8e6b;border-radius:50%;width:42px;height:42px;align-items:center;justify-content:center;padding:8px;cursor:pointer}
 .menu-toggle span{display:block;width:24px;height:1px;background:#fff}
 .main-nav{display:none}
 .main-nav.open{position:absolute;z-index:102;inset:0;display:flex;align-items:flex-start;justify-content:center;gap:6px;padding:110px 10% 60px;border-radius:0;background:#10271d;flex-direction:column;font:32px var(--serif)}
 .main-nav .nav-enquire{font:14px var(--sans);margin-top:20px;margin-left:0}
 .site-header.menu-active,.site-header.scrolled.menu-active{inset:0;width:100vw;height:100dvh;border:0;border-radius:0;background:#10271d;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
 .site-header.menu-active .brand{position:absolute;z-index:103;left:24px;top:31px}
 .site-header.menu-active .menu-toggle{position:absolute;z-index:103;right:23px;top:19px}
}
@media(max-width:850px){
 .sauna-card-image{height:275px}
 .sauna-card-body{padding:26px}
 .sauna-card-title{flex-wrap:wrap}
 .individual-photo{min-height:480px}
 .individual-copy{padding:55px 35px}
 .booking-gallery figure img{height:265px}
 .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 html{scrollbar-width:none}
 html::-webkit-scrollbar{display:none}
 .booking-jump{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;padding:17px 30px 3px;scrollbar-width:none}
 .booking-jump::-webkit-scrollbar{display:none}
 .booking-jump a{flex:0 0 168px;scroll-snap-align:start;padding:14px 16px;border-radius:13px;font-size:11px}
 body[data-page="booking"] .intro{padding-top:74px;padding-bottom:30px}
 .sauna-booking-grid{grid-template-columns:1fr;gap:12px}
 .sauna-card-image{height:295px}
 .sauna-card-body{padding:24px 23px 27px}
 .sauna-card-title{flex-wrap:nowrap}
 .sauna-card-title h3{font-size:2.65rem}
 .sauna-card-title strong{font-size:3.25rem}
 .sauna-card-body .button{width:100%;max-width:330px}
 .booking-source-note{padding-bottom:75px}
 .individual-panel{display:flex;flex-direction:column;margin:0 8px;border-radius:20px}
 .individual-photo{height:310px;min-height:0}
 .individual-copy{padding:55px 30px 63px}
 .individual-copy h2{font-size:clamp(3.6rem,11vw,5.3rem)}
 .individual-copy>p:not(.eyebrow){font-size:16px}
 .individual-actions .button{min-width:0;width:100%;max-width:330px}
 .team-booking{grid-template-columns:1fr;gap:47px;padding-top:92px;padding-bottom:90px}
 .team-booking h2{font-size:clamp(3.6rem,11vw,5.4rem)}
 .team-price-list>div{padding:19px 0}
 .booking-gallery{padding-bottom:50px}
 .booking-gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:5px;scrollbar-width:none}
 .booking-gallery-grid::-webkit-scrollbar{display:none}
 .booking-gallery figure{flex:0 0 79%;scroll-snap-align:start}
 .booking-gallery figure img{height:290px}
 .home-booking{display:flex;flex-direction:column-reverse;align-items:stretch;gap:36px;padding-top:75px;padding-bottom:85px}
 .home-booking-photo{height:360px;border-radius:19px}
 .home-booking p:not(.eyebrow){font-size:16px}
 .package-bridge{grid-template-columns:1fr;gap:5px;padding-top:60px;padding-bottom:85px}
 .package-bridge p:not(.eyebrow){font-size:16px}
 .photo-journal{padding-top:80px}
 .journal-heading{display:block;margin-bottom:25px}
 .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .journal-grid figure img{height:230px}
 .journal-grid figcaption{padding:11px;font-size:10px}
}
@media(max-width:520px){
 .sauna-card-image{height:270px}
 .sauna-card-title h3{font-size:2.3rem}
 .sauna-card-title strong{font-size:3rem}
 .sauna-meta{letter-spacing:.03em!important}
 .team-price-list>div span{font-size:14px}
 .team-price-list strong{font-size:22px}
 .journal-grid figure img{height:190px}
}
@media(prefers-reduced-motion:reduce){.booking-jump a{transition:none}}
