.base-page .footer-top .footer-name{font:13px/1.7 Georgia,serif;letter-spacing:.13em;text-align:left;padding:0;min-width:0}.base-page .footer-top>a:last-child{white-space:nowrap}.base-rates h3{min-height:40px}
@media(max-width:650px){
 .base-page .base-page-title h1{font-size:38px}
 .base-page .base-definition>div{grid-template-columns:1fr;gap:8px;padding:20px 0}
 .base-page .base-definition dt{font-size:14px;color:var(--ink)}
 .base-page .base-definition dd,.base-page .base-rate-detail{font-size:14px;line-height:1.9}
 .base-page .base-space>div>p:not(.eyebrow),.base-page .base-room>div>p:not(.eyebrow){font-size:14px}
 .base-page .base-times h3,.base-page .base-rates h3{font-size:12px}
 .base-page .base-rates h3{min-height:44px}
 .base-page .base-times p,.base-page .base-rates p{font-size:clamp(27px,7.6vw,32px);white-space:nowrap}
 .base-page .base-time-note,.base-page figcaption{font-size:11px}
 .base-page .book-button,.base-page .menu-toggle{min-height:44px}
 .base-page .base-booking-note{font-size:12px;line-height:1.8}
}
.base-page .base-page-title{padding:85px 0 76px}.base-page-title h1{font:400 clamp(42px,5vw,64px)/1.15 Georgia,serif;letter-spacing:.04em;margin:0}.base-page .base-subtitle{font:17px/1.8 var(--serif);letter-spacing:.12em;margin-top:17px}.base-page .base-lead{font:22px/1.9 var(--serif);letter-spacing:.06em;margin-top:45px}
.base-page h2{font:400 25px/1.7 var(--serif);margin:0 0 20px}.base-page h3{font:400 12px/1.8 var(--sans);margin:0 0 10px}.base-page figure{margin:0}.base-page figcaption{font-size:10px;color:var(--muted);margin-top:10px}.base-space,.base-room{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;margin-bottom:90px}.base-space img,.base-room img{width:100%;aspect-ratio:1.5;object-fit:cover}.base-space>div>p:not(.eyebrow),.base-room>div>p:not(.eyebrow){font-size:14px;max-width:350px}.base-room{grid-template-columns:1fr 1.2fr}.base-room>div{padding-left:30px}.base-facts{display:grid;grid-template-columns:1fr 1.65fr;gap:70px;padding:48px 0;border-top:1px solid var(--line)}.base-times,.base-rates{display:grid;grid-template-columns:1fr 1fr;gap:35px}.base-times p,.base-rates p{font:36px/1.5 Georgia,serif;margin:0}.base-times p span{font:20px var(--serif);margin-left:8px}.base-time-note{font-size:10px;color:var(--muted);margin:10px 0 25px}.base-definition{margin:0}.base-definition>div{display:grid;grid-template-columns:110px 1fr;gap:22px;padding:20px 0;border-top:1px solid var(--line)}.base-definition dt{font-size:13px;line-height:1.9}.base-definition dd{font-size:13px;line-height:1.9;margin:0;color:var(--muted)}.base-facts>.base-definition>div:first-child{border-top:0;padding-top:0}.base-rate-detail{font-size:13px;margin-top:20px}.base-page .booking-row h2{font:26px Georgia,serif;margin:0}.base-page .base-booking-note{font-size:10px;margin-top:5px;color:#d1dbd8}.base-page .footer-top>a:last-child{font-size:12px}.base-page .desktop-nav a[aria-current]{color:var(--accent)}
@media(max-width:750px){.base-space,.base-room{gap:35px}.base-facts{gap:30px;grid-template-columns:1fr 1.6fr}.base-definition>div{grid-template-columns:1fr;gap:7px}}
@media(max-width:650px){.base-page .base-page-title{padding:80px 0 48px}.base-page-title h1{font-size:43px}.base-page .base-subtitle{font-size:14px;margin-top:12px}.base-page .base-lead{font-size:17px;margin-top:32px;letter-spacing:.025em}.base-space,.base-room{grid-template-columns:1fr;gap:26px;margin-bottom:58px}.base-space figure{width:92%}.base-space>div{padding-left:8%}.base-room>div{padding-left:0}.base-room figure{width:88%;justify-self:end}.base-page h2{font-size:22px;margin-bottom:15px}.base-space>div>p:not(.eyebrow),.base-room>div>p:not(.eyebrow){font-size:13px}.base-facts{grid-template-columns:1fr;gap:24px;padding:35px 0}.base-facts h2{margin-bottom:0}.base-times,.base-rates{gap:18px}.base-times p,.base-rates p{font-size:30px}.base-page h3{font-size:11px}.base-definition>div{grid-template-columns:86px 1fr;gap:16px;padding:18px 0}.base-definition dt,.base-definition dd,.base-rate-detail{font-size:12px}.base-page .booking-row{gap:20px}.base-page .booking-row h2{font-size:23px}.base-page .footer-top{gap:20px}.base-page .footer-top>a:last-child{font-size:10px;min-width:0}}
/* THE BASE mobile refinement. Desktop and the adopted TOP remain unchanged. */
@media(max-width:650px){
 .base-page .base-page-title{padding-top:64px;padding-bottom:44px}
 .base-page .base-page-title h1{font-size:38px}
 .base-page .base-lead{font-size:18px;line-height:1.85;margin-top:28px}
 .base-page .base-space>div>p:not(.eyebrow),
 .base-page .base-room>div>p:not(.eyebrow),
 .base-page .base-definition dd,
 .base-page .base-rate-detail{font-size:16px;line-height:1.9;overflow-wrap:anywhere}
 .base-page .base-definition dt{font-size:14px;line-height:1.8}
 .base-page .base-times h3,.base-page .base-rates h3{font-size:14px;line-height:1.8}
 .base-page .base-times,.base-page .base-rates{grid-template-columns:repeat(2,minmax(0,1fr))}
 .base-page .base-rates{grid-template-rows:auto auto;gap:10px 18px}
 .base-page .base-rates>div{display:grid;grid-template-rows:subgrid;grid-row:span 2;gap:10px}
 .base-page .base-rates h3{min-height:0;margin:0}
 .base-page .base-times p,.base-page .base-rates p{font-size:clamp(27px,7.6vw,32px);line-height:1.5;white-space:nowrap}
 .base-page .base-time-note,.base-page figcaption{font-size:12px;line-height:1.8}
 .base-page .small-note{font-size:14px!important;line-height:1.9}
 .base-page .base-booking-note{font-size:14px;line-height:1.8}
 .base-page .booking-row>div>p:first-child{font-size:14px}
 .base-page .book-button{font-size:12px;min-height:44px}
 .base-page .menu-toggle{min-width:44px;min-height:44px}
 .base-page .mobile-nav a{font-size:14px;min-height:48px}
 .base-page .footer-top{flex-wrap:wrap;gap:12px}
 .base-page .footer-top>a:last-child{font-size:14px;min-height:44px}
 .base-page .footer-bottom nav{font-size:14px}
}
/* THE BASE detail only: reuse the shared typography, rules and booking CTA. */
.stay-detail-page .stay-detail-intro{padding:80px 0 56px}
.stay-detail-page .stay-detail-intro h1{font:400 32px/1.7 var(--serif);letter-spacing:.06em;margin:0 0 30px}
.stay-detail-page .stay-detail-paragraph{white-space:pre-line;font-size:14px;line-height:1.9}
.stay-detail-page .stay-detail-intro .stay-detail-paragraph+p{margin-top:18px}
.stay-detail-page .stay-detail-photo{max-width:760px;margin:0 0 72px}
.stay-detail-page .stay-detail-photo img{width:100%;height:auto}
.stay-detail-page .stay-facilities{list-style:none;margin:0;padding:0;font-size:14px;line-height:1.9;color:var(--muted)}
.stay-detail-page .stay-facilities li+li{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}
.stay-detail-page .stay-booking-facts{margin:28px 0 32px}
.stay-detail-page .base-definition>div{grid-template-columns:145px 1fr}
.stay-detail-page .booking-row{background:var(--ink);color:var(--paper)}
@media(max-width:650px){.stay-detail-page .stay-detail-intro{padding:64px 0 38px}.stay-detail-page .stay-detail-intro h1{font-size:27px;margin-bottom:24px}.stay-detail-page .stay-detail-photo{margin-bottom:44px}.stay-detail-page .base-facts{grid-template-columns:1fr;gap:20px}.stay-detail-page .base-definition>div{grid-template-columns:1fr;gap:6px}.stay-detail-page .stay-detail-paragraph,.stay-detail-page .stay-facilities{font-size:14px}.stay-detail-page .base-times h3,.stay-detail-page .base-rates h3{font-size:12px}}
/* Owner photographs: natural aspect ratios; no cropping or added decoration. */
.stay-detail-page .base-gallery{max-width:920px;min-width:0;margin:0 auto;padding:48px 0 48px}
.stay-detail-page .base-gallery>h2{margin:0 0 28px;font-size:14px;letter-spacing:.16em}
.stay-detail-page .base-gallery-track{display:flex;gap:16px;overflow-x:auto;max-width:100%;min-width:0;padding:6px 2px 14px;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a5aaa2 transparent}
.stay-detail-page .base-gallery-controls{display:flex;align-items:center;gap:8px;margin:0 0 12px}
.stay-detail-page .base-gallery-controls p{flex:1;min-width:0;margin:0;font-size:12px;line-height:1.6;color:#626c66}
.stay-detail-page .base-gallery-controls button{width:44px;height:44px;flex:none;background:transparent;border:1px solid #cbd0c9;border-radius:50%;color:inherit;font:inherit;cursor:pointer}
.stay-detail-page .base-gallery-controls button:disabled{opacity:.3;cursor:default}
.stay-detail-page .base-gallery-controls button:focus-visible,.stay-detail-page .base-gallery-track:focus-visible{outline:2px solid #173f43;outline-offset:2px}
.stay-detail-page .base-gallery-photo{display:block;padding:0;margin:0;border:0;background:none;cursor:zoom-in;width:38%;flex:0 0 38%;scroll-snap-align:start;align-self:center;color:inherit}
.stay-detail-page .base-gallery-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.stay-detail-page .base-gallery-photo:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.base-photo-dialog{border:0;padding:54px 16px 16px;background:#171916;max-width:94vw;max-height:94dvh;color:white}
.base-photo-dialog::backdrop{background:rgb(0 0 0 / .82)}
.base-photo-dialog img{display:block;max-width:88vw;max-height:78dvh;width:auto;height:auto;object-fit:contain}
.base-photo-close{position:absolute;right:12px;top:6px;min-height:44px;padding:8px 16px;border:0;background:transparent;color:white;font:inherit;cursor:pointer}
@media(max-width:650px){.stay-detail-page .base-gallery{padding:36px 0 48px}.stay-detail-page .base-gallery-track{gap:12px}.stay-detail-page .base-gallery-photo{width:78%;flex-basis:78%}.stay-detail-page .base-gallery>h2{margin-bottom:26px}}



@media(min-width:651px) and (max-width:1000px){.stay-detail-page .base-gallery-photo{width:46%;flex-basis:46%}}

/* Final public copy and owner-supplied transport photos */
.proof-prose{font-size:14px;line-height:1.95}.proof-prose p{margin:0 0 1.1em}.proof-prose p:last-child{margin-bottom:0}.facility-group+.facility-group{margin-top:28px}.house-parking-photo{max-width:360px;margin:24px 0!important}.house-parking-photo img{display:block;width:100%;height:auto}.mobility-guide{margin:28px 0 48px}.mobility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.mobility-card{min-width:0;border-top:1px solid var(--line);padding-top:20px}.base-page .mobility-card h3{font-size:17px;line-height:1.6}.mobility-card img{display:block;width:100%;max-width:500px;height:auto;margin-bottom:20px}.mobility-card .proof-prose{font-size:13px}.mobility-card>a{display:inline-block;font-size:12px;min-height:44px;padding-top:14px}.photo-pending{font-size:12px;color:var(--muted);padding:24px 16px;background:#f4f3ed;text-align:center}.access-page .access-location-guide>h3{font-size:20px}.access-overview-route>li:last-child h3{font-weight:600;color:var(--accent)}
@media(max-width:650px){.mobility-grid{grid-template-columns:1fr;gap:24px}.house-parking-photo{max-width:300px}.proof-prose{font-size:13px}}

/* Owner-provided island transport photographs: retain the whole frame. */
.mobility-photo{height:220px;display:flex;align-items:center;justify-content:flex-start;margin:0 0 20px}.mobility-card .mobility-photo img{width:auto;max-width:min(100%,320px);height:auto;max-height:220px;object-fit:contain;margin:0}.island-heritage-intro p{margin:0 0 1.2em}.fishing-transfer p{margin:0 0 1.2em}
