/* Native guest pages share the site's existing colour and typography tokens. */
[hidden]{display:none!important}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rebuild-page .page-intro{padding-bottom:55px}.page-intro h1{font-size:clamp(3rem,6.8vw,6.7rem);max-width:1100px;overflow-wrap:break-word}.page-intro .lead{max-width:780px;font-size:clamp(1.05rem,1.6vw,1.3rem);margin-top:26px;color:var(--muted)}.page-intro .text-link{margin-top:20px}.rebuild-page p{overflow-wrap:anywhere}.rebuild-page h2{font-size:clamp(2.2rem,3.7vw,4rem)}.rebuild-page h3{font-size:1.6rem}
.business-socials{display:flex;gap:10px;margin:22px 0;flex-wrap:wrap}.business-socials a{display:grid;place-items:center;min-width:46px;min-height:46px;border:1px solid var(--line);border-radius:50%;transition:background .2s,transform .2s}.business-socials svg{width:23px;height:23px}.business-socials a:hover{background:var(--yellow);color:#173e35;transform:translateY(-3px)}.nav-invitation .business-socials{margin-bottom:0}.footer-top{grid-template-columns:1.3fr 1fr 1fr;gap:5vw}.footer-explore{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}.footer-explore h3{font-size:1.5rem;margin-bottom:14px}.footer-explore>a{display:inline-flex;align-items:center;min-height:44px}.footer-explore>a:hover{text-decoration:underline;text-underline-offset:5px}
.location-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:7vw;padding-top:20px}.location-details h2{margin-bottom:24px}.location-details h3{margin:25px 0 8px}.location-details address{font-style:normal}.location-details>a:not(.button){display:inline-block;min-height:44px;padding-top:5px;overflow-wrap:anywhere}.location-details .button{margin-top:12px}.map-frame{height:480px;position:relative;overflow:hidden;border-radius:28px;background:var(--surface)}.map-frame>img{width:100%;height:100%;object-fit:cover;filter:brightness(.7)}.map-card{position:absolute;inset:auto 25px 25px;padding:25px;background:var(--glass);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(20px)}.map-card h2{font-size:2rem;margin-bottom:20px}.map-card .eyebrow{display:block;margin-bottom:12px}.map-frame iframe{width:100%;height:100%;border:0;display:block}.location-map>.small{margin-top:15px}.location-map a{text-decoration:underline;text-underline-offset:3px}
.enquiry-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--surface)}.enquiry-section h2{margin-bottom:24px}.enquiry-section h3{margin:38px 0 14px}.enquiry-form{display:grid;gap:22px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.enquiry-form label{display:grid;gap:7px;font-size:.9rem;font-weight:600;min-width:0}.enquiry-form input:not([type=checkbox]),.enquiry-form textarea,.enquiry-form select,.tour-search input{width:100%;min-width:0;min-height:50px;border:1px solid var(--muted);border-radius:10px;background:var(--bg);color:var(--ink);padding:12px;font-size:1rem}.enquiry-form textarea{resize:vertical}.enquiry-form .enquiry-consent{display:flex;gap:12px;align-items:flex-start;font-weight:400}.enquiry-consent input{width:22px;height:22px;flex:none;accent-color:var(--ink);margin-top:3px}.enquiry-form .small{font-weight:400;font-size:.8rem}.enquiry-form .small a{text-decoration:underline}.enquiry-form .button{border:0;justify-self:start}.enquiry-status:empty{display:none}.enquiry-status{padding:18px;border:1px solid var(--line);border-radius:10px}.enquiry-form [disabled]{opacity:.7;cursor:wait}
.tour-note{margin-top:25px;padding-inline-start:20px;border-inline-start:2px solid var(--yellow);font-size:.9rem;color:var(--muted)}.experiences{padding-top:20px}.experience-tools{display:flex;gap:24px;align-items:end;flex-wrap:wrap;margin-bottom:40px}.experience-tools fieldset{border:0;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap;flex:1 1 600px}.experience-tools button{background:transparent;border:1px solid var(--line);color:var(--ink);padding:10px 17px;border-radius:30px;min-height:44px;font-size:.8rem}.experience-tools button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.tour-search{display:grid;font-size:.8rem;gap:7px;flex:1 1 220px}.experience-count{width:100%;color:var(--muted);font-size:.8rem}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.experience-card{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--surface);align-self:start;scroll-margin-top:130px}.experience-card>img{width:100%;aspect-ratio:1.55;object-fit:cover;transition:transform .6s}.experience-card:hover>img{transform:scale(1.025)}.experience-copy{padding:25px}.experience-copy .eyebrow{margin-bottom:12px;font-size:.6rem}.experience-copy h2{font-size:1.8rem;margin-bottom:18px}.experience-copy p{font-size:.9rem}.experience-copy details{border-block:1px solid var(--line);margin:20px 0 10px;font-size:.85rem}.experience-copy summary{padding:13px 0;min-height:44px}.experience-copy details>div{padding-bottom:18px}.experience-copy .text-link{font-size:.78rem}
.booking-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;padding-top:20px}.booking-image{width:100%;height:100%;min-height:400px;object-fit:cover;border-radius:28px}.booking-panel{align-self:center;padding:30px 0}.booking-panel h2{margin-bottom:30px}.booking-panel h3{margin:40px 0 18px}.booking-panel .small{margin-top:18px}.booking-panel .text-link{margin:24px 24px 0 0}
.room-photo-section{padding-top:0;padding-bottom:65px}.room-photo-section>h2{font-size:1.6rem;margin-bottom:22px}.room-photo-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.room-photo-grid a{position:relative;overflow:hidden;border-radius:18px;min-height:200px}.room-photo-grid a:first-child{grid-row:span 2}.room-photo-grid img{width:100%;height:100%;max-height:560px;object-fit:cover;transition:transform .6s}.room-photo-grid a:hover img{transform:scale(1.03)}.room-photo-grid a>span{position:absolute;right:16px;bottom:16px;background:var(--bg);width:44px;height:44px;border-radius:50%;display:grid;place-items:center}.room-photo-grid a:only-child{grid-column:1/-1;aspect-ratio:2}.room-story{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw;background:var(--surface)}.room-story h2{max-width:400px}.room-story p{color:var(--muted)}.room-comforts{padding-top:35px;padding-bottom:35px}.room-comforts .room-amenities{margin:30px 0}.room-reserve{display:flex;align-items:center;justify-content:space-between;gap:45px;background:var(--surface)}.room-reserve h2{margin-bottom:20px}.room-reserve>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:14px;flex:none}
.room-lightbox{max-width:95vw;width:1200px;max-height:94dvh;padding:50px 18px 24px;border:1px solid var(--line);border-radius:20px;background:var(--bg);color:var(--ink);overflow:auto}.room-lightbox[open]{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:10px;align-items:center}.room-lightbox::backdrop{background:#051812e8;backdrop-filter:blur(10px)}.room-lightbox figure{margin:0;min-width:0}.room-lightbox img{width:100%;height:min(68dvh,750px);object-fit:contain}.room-lightbox figcaption{text-align:center;margin-top:15px;font-size:.85rem}.room-lightbox button{border:1px solid var(--line);border-radius:50%;color:var(--ink);background:var(--bg);min-width:44px;min-height:44px;font-size:1.7rem}.room-lightbox .photo-close{position:absolute;right:15px;top:8px}.photo-open{overflow:hidden}
.room-layout{margin-top:28px;border-block:1px solid var(--line)}.room-layout summary{padding:15px 0;min-height:44px}.room-layout img{border-radius:12px;margin-bottom:18px;width:100%;height:auto}
.room-photo-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.room-photo-grid a{min-width:0}
.home-comforts{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.home-comforts h2{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:20px}.home-amenities{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:0;padding:0;align-self:center}.home-amenities li{display:flex;align-items:center;gap:20px;font-size:.9rem}.home-amenities svg{width:42px;height:42px}.home-experiences{background:var(--surface);display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.home-experiences h2{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:25px}.home-experiences img{border-radius:24px}.home-experiences .text-link{margin-top:24px}.guestbook>p{margin-top:18px;color:var(--muted)}.guestbook-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:40px}.guestbook-grid figure{margin:0;padding:28px;border:1px solid var(--line);border-radius:20px}.guestbook blockquote{margin:0;font-size:1rem}.guestbook figcaption{margin-top:24px;color:var(--muted);font-size:.8rem}
/* Stable glass geometry: the inner lens moves; scrolling never scales the bar. */
.mobile-dock,.mobile-dock.is-scrolling,.mobile-dock.is-pressed{transform:none;transition:opacity .22s,visibility .22s;background:var(--glass);border:1px solid var(--line);box-shadow:inset 0 1px 0 #ffffff38,0 12px 38px #0002;overflow:hidden;isolation:isolate;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:7px;border-radius:999px;min-height:66px;height:auto}.mobile-dock>a{min-width:0;min-height:48px;padding:10px 5px;text-align:center;justify-content:center;font-size:clamp(.65rem,2.7vw,.8rem);line-height:1.25;display:flex;align-items:center;border-radius:999px;z-index:1;overflow-wrap:normal}.mobile-dock .dock-book{background:var(--yellow);color:#173e35;border-radius:999px;transform:none;gap:3px}.dock-book span{display:none}.mobile-dock .dock-lens{position:absolute;inset:7px auto 7px 0;width:var(--lens-width,0px);transform:translateX(var(--lens-x,7px));background:color-mix(in srgb,var(--ink) 9%,transparent);border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:999px;transition:transform .36s cubic-bezier(.22,.8,.25,1),width .36s cubic-bezier(.22,.8,.25,1),opacity .2s;opacity:0;z-index:0;pointer-events:none}.mobile-dock.has-selection .dock-lens{opacity:1}.mobile-dock.keyboard-open{visibility:hidden;opacity:0;pointer-events:none}.mobile-dock>a:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}.menu-open .mobile-dock{visibility:hidden;opacity:0;pointer-events:none}
@media(max-width:1000px){.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top{grid-template-columns:1fr 1fr}.footer-explore{grid-column:1/-1}.guestbook-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.location-grid,.enquiry-section,.booking-grid,.room-story,.home-comforts,.home-experiences{grid-template-columns:1fr;gap:35px}.map-frame{height:380px}.rebuild-page .page-intro{padding-top:60px}.rebuild-page .section{padding-inline:24px}.room-photo-grid{gap:10px;grid-template-columns:1fr 1fr}.room-photo-grid a{min-height:140px}.room-photo-grid a:first-child{grid-column:1/-1;grid-row:auto;min-height:250px}.room-photo-grid img{max-height:360px}.room-reserve{align-items:flex-start;flex-direction:column;gap:25px}.room-lightbox[open]{grid-template-columns:44px minmax(0,1fr) 44px;gap:0;padding-inline:4px}.room-lightbox img{height:60dvh}.booking-image{min-height:280px}.guestbook-grid{grid-template-columns:1fr}.guestbook-grid figure{padding:24px}.experience-tools{gap:18px}.form-pair{gap:18px}.footer-top{grid-template-columns:1fr}.footer-explore{grid-column:auto}}
@media(max-width:560px){.mobile-dock{display:grid;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;max-width:none}.site-footer{padding-bottom:calc(40px + var(--dock-clearance,90px) + env(safe-area-inset-bottom))}.bird-to-top{bottom:calc(var(--dock-clearance,90px) + env(safe-area-inset-bottom))}.experience-grid{grid-template-columns:1fr}.form-pair{grid-template-columns:1fr}.home-amenities{gap:24px 14px}.home-amenities li{gap:10px;font-size:.8rem}.home-amenities svg{width:34px;height:34px}.map-card{inset:auto 15px 15px;padding:20px}.map-card .button{font-size:.8rem;gap:10px}}
@media(max-width:700px){.room-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-photo-grid a:only-child{aspect-ratio:auto}}
/* Intrinsic grid sizing must also allow enlarged and translated text to wrap. */
.section>*,.stay,.home-comforts>*,.home-experiences>*,.guestbook-grid>*,.intro-grid>*{min-width:0}
.section h2,.stay h3,.guestbook-grid figure,.home-amenities li{overflow-wrap:anywhere}
.home-amenities{grid-template-columns:repeat(2,minmax(0,1fr))}
.island{grid-template-columns:repeat(2,minmax(0,1fr))}.island-copy{min-width:0;overflow-wrap:anywhere}
.section .button,.hero-copy .button{max-width:100%;white-space:normal;gap:20px}
@media(max-width:700px){.stays-grid,.guestbook-grid,.home-comforts,.home-experiences{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.island{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.mobile-dock .dock-lens,.business-socials a,.experience-card>img,.room-photo-grid img{transition:none}}
/* Phone invitation: a real photo header and a compact, separate bird control. */
@media(max-width:760px){
 .newsletter-dialog{width:calc(100% - 24px);max-width:460px;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:24px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .newsletter-frame{display:flex;flex-direction:column;min-height:0}
 .newsletter-gallery{height:170px;min-height:170px;flex:none;overflow:hidden}
 .newsletter-gallery .hero-slide img{object-position:center 45%}
 .newsletter-photo-shade{background:linear-gradient(0deg,#071f1b9e,transparent 75%)}
 .newsletter-photo-note{top:16px;left:18px;font-size:.56rem;letter-spacing:.14em;max-width:calc(100% - 90px);padding:5px 10px}
 .newsletter-close{top:12px;right:12px;width:44px;height:44px;background:#122a25e8;color:#f3f0e4;border-color:#ffffff55}
 .newsletter-gallery .hero-controls{display:flex;left:18px;right:18px;bottom:12px;width:auto;max-width:300px;min-height:48px;height:48px;margin:0 auto;padding:0 5px 0 9px;gap:4px;border-radius:999px;box-shadow:none;background:#0d2924e8;border:1px solid #ffffff40;align-items:center}
 .newsletter-gallery .hero-pagination{display:grid;flex:1;width:auto;min-width:0;height:44px;grid-template-columns:repeat(7,minmax(0,1fr));padding:0}
 .newsletter-gallery .hero-pagination button{min-width:0;min-height:44px;padding:0}
 .newsletter-gallery .hero-flight-bird{width:28px;height:28px;top:8px}
 .newsletter-gallery .hero-play{width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;flex:none}
 .newsletter-copy{padding:22px 22px 14px}
 .newsletter-copy .eyebrow{font-size:.58rem;letter-spacing:.16em;margin-bottom:8px}
 .newsletter-copy h2{font-size:clamp(1.5rem,8vw,1.9rem);line-height:1.05;max-width:18ch;margin-bottom:10px;text-wrap:balance}
 .newsletter-copy>p#newsletter-intro{font-size:.84rem;line-height:1.45}
 .newsletter-form{margin-top:16px}
 .newsletter-names{gap:12px;margin-bottom:12px}
 .newsletter-names label,.newsletter-form>label:not(.newsletter-consent){font-size:.77rem;line-height:1.4}
 .newsletter-optional{display:block;font-size:.69rem;font-weight:400;line-height:1.3}
 .newsletter-names input,.newsletter-form input[type=email]{min-height:44px;height:44px;font-size:16px;margin-top:6px}
 .newsletter-form>input[type=email]{margin-top:0}
 .newsletter-consent{font-size:.75rem;line-height:1.4;margin:14px 0;min-height:44px;align-items:flex-start}
 .newsletter-consent input{width:21px;height:21px;margin-top:1px}
 .newsletter-submit{min-height:46px;padding:11px 15px;font-size:.84rem}
 .newsletter-fineprint{font-size:.7rem!important;line-height:1.4!important;margin:12px 0 0!important}
 .newsletter-later{min-height:44px;font-size:.76rem;padding:8px 0}
}
@media(max-width:760px) and (max-height:740px){
 .newsletter-gallery{height:120px;min-height:120px}.newsletter-photo-note{top:12px}
 .newsletter-copy{padding:16px 20px 10px}.newsletter-copy h2{font-size:1.7rem;max-width:19ch;margin-bottom:8px}
 .newsletter-form{margin-top:12px}.newsletter-names{margin-bottom:10px}.newsletter-consent{margin:10px 0}.newsletter-fineprint{margin-top:9px!important}
}
@media print{.business-socials,.footer-explore,.mobile-dock,.room-lightbox,.enquiry-form,.map-card button,.experience-tools{display:none!important}.rebuild-page .section{padding:18px 0}.location-grid,.enquiry-section,.booking-grid,.room-story{display:block}.experience-grid{grid-template-columns:1fr 1fr}.experience-card{break-inside:avoid}.map-frame{height:200px}.room-photo-grid{display:block}.room-photo-grid a{display:none}.room-photo-grid a:first-child{display:block}.room-photo-grid img{max-height:250px}.experience-card details>div{display:block}}
