:root{--ink:#183b3c;--teal:#155f60;--sand:#f6f3eb;--orange:#ad431f;--line:#d9dfd7}*{box-sizing:border-box}body{margin:0;background:var(--sand);color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--orange)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto}h1,h2,h3,p{margin:0 0 1rem}h1,h2,h3{line-height:1.15}h1,h2,.page-title{font-family:Georgia,serif;font-weight:normal}h1{font-size:clamp(2rem,4vw,3.3rem)}h2{font-size:clamp(1.6rem,3vw,2.6rem)}h3{font-size:1.2rem}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bb4e21;outline-offset:5px}.skip-link{position:absolute;top:-100px;left:15px;padding:12px;background:white;z-index:99}.skip-link:focus{top:8px}.utility{background:var(--ink);color:#fff;display:flex;justify-content:space-between;padding:9px 5%;font-size:11px;letter-spacing:1.5px}.utility a{text-decoration:none;letter-spacing:.5px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:13px 5%;gap:24px;background:var(--sand)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand img{width:130px;height:78px;object-fit:contain}.brand span{font-size:9px;letter-spacing:2px;max-width:90px;line-height:1.8}#primary-nav{display:flex;align-items:center;gap:25px}#primary-nav a{font-size:13px;font-weight:600;text-decoration:none}#primary-nav [aria-current]{text-decoration:underline;text-decoration-thickness:2px}.button{display:inline-flex;gap:18px;align-items:center;justify-content:center;padding:13px 23px;background:var(--teal);color:white;text-decoration:none;font-size:14px;font-weight:650;min-height:48px}.button:hover{background:#104849;color:white}.button-light{background:#fff;color:var(--ink)}.menu-toggle{display:none}.hero{position:relative;min-height:540px;color:#fff;display:flex;align-items:center;isolation:isolate;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,35,32,.86),rgba(10,35,32,.25));z-index:-1}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-content{padding:65px 7%;max-width:750px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;line-height:1.7}.hero h1{font-size:clamp(3.5rem,6.8vw,6rem);letter-spacing:-2px;line-height:1.02;margin:22px 0}.hero-content>p:not(.eyebrow){max-width:420px;color:#f4f2e9;font-size:17px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-caption{position:absolute;right:5%;bottom:28px;font-size:9px;letter-spacing:2px}.experiences{padding:70px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.section-heading h2{max-width:520px;margin:0}.section-heading>p{font-size:14px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.service-card{text-decoration:none;background:#fff}.service-card>img{width:100%;height:210px;object-fit:cover;display:block}.service-card>div{padding:23px}.service-card h3{margin:13px 0;font-family:Georgia,serif;font-weight:normal;font-size:1.45rem}.service-card h3 span{float:right}.service-card p{font-size:14px;color:#4a6260;margin:0}.visit-band{background:#e3e9df;margin:0 7% 70px;padding:35px;display:flex;justify-content:space-between;align-items:center;gap:25px}.visit-band p:last-child{margin:0}.site-footer{background:var(--ink);color:#fff;padding:50px 7% 22px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;font-size:14px}.site-footer h2{font-family:inherit;font-weight:600;font-size:13px}.site-footer p{color:#d3ded7;margin-top:12px;max-width:300px}.footer-brand{font:30px Georgia,serif;text-decoration:none}.site-footer nav a{display:block;margin:8px 0}.site-footer a:hover{color:#dce8d2}.footer-bottom{grid-column:1/-1;border-top:1px solid #42605d;padding-top:24px;display:flex;justify-content:space-between;font-size:11px}.interior{max-width:1200px;margin:auto;padding:45px 6% 65px}.page-intro{border-bottom:1px solid var(--line);margin-bottom:35px;padding-bottom:20px}.page-title{font-size:clamp(2.2rem,5vw,3.6rem);margin:0}.interior #main{display:flow-root}.interior #main>h1:first-child{font-size:2rem}.interior p{max-width:76ch;overflow-wrap:anywhere}.interior h1:not(:first-child),.interior h2{margin-top:2rem}.left-col{float:left;width:66%;padding-right:32px}.right-col{float:right;width:32%;background:white;padding:24px}.right-col h2{margin-top:0}.right-col img{margin-top:20px;width:100%;object-fit:cover}.right-col a{display:inline-block;margin-bottom:9px}.frame{border:6px solid white}.interior table{border-collapse:collapse;width:100%;margin:25px 0}.interior td{padding:13px 8px;border-bottom:1px solid var(--line)}#rates{display:grid;grid-template-columns:1fr 1fr;gap:25px}#rates>div{background:white;padding:22px}#rates h2{font-size:1.4rem;margin-top:0}#rates ul{padding-left:20px}#triggers,#houseboats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:25px 0}#triggers a,#houseboats a{display:block}#triggers img,#houseboats img{display:block;width:100%;height:210px;object-fit:cover}.sister-property{display:inline-flex;width:48%;padding:20px;background:white;margin:0 1% 20px 0}.sister-property img{max-height:190px;object-fit:contain}.menu-links{display:grid;gap:10px;margin:20px 0}.menu-links a{padding:12px 15px;background:#e3e9df;text-decoration:none}.menu-links small{float:right;margin-left:12px}dialog{border:0;padding:20px;background:var(--sand);color:var(--ink);max-width:90vw;max-height:92vh}dialog::backdrop{background:rgba(6,25,24,.85)}dialog>img{display:block;max-height:65vh;max-width:80vw;object-fit:contain;margin:auto}dialog button{border:1px solid var(--line);background:white;padding:10px 18px;min-height:44px}.photo-close{display:block;margin:0 0 15px auto}.photo-controls{display:flex;justify-content:space-between;gap:20px}#photo-caption{margin:15px 0}.interior a[name]{scroll-margin-top:20px}
@media(min-width:1600px){.hero{min-height:650px}.hero-photo{object-position:center 55%}}
@media(max-width:1050px){.brand span{display:none}#primary-nav{gap:14px}.site-header{padding-inline:4%}.service-card>img{height:170px}}
@media(max-width:760px){.utility{font-size:9px;letter-spacing:.7px}.site-header{flex-wrap:wrap;padding:8px 5%;gap:8px}.brand img{width:110px;height:67px}.brand span{display:block}.js .menu-toggle{display:block;border:1px solid var(--line);background:transparent;padding:9px 14px}.js #primary-nav{display:none}.js #primary-nav.is-open{display:flex}#primary-nav{flex-direction:column;align-items:stretch;width:100%;gap:0;padding:10px 0}#primary-nav a{padding:13px 10px;font-size:15px}.hero{min-height:500px}.hero-content{padding:48px 6% 65px}.hero h1{font-size:3.8rem}.hero:after{background:rgba(10,35,32,.65)}.hero-caption{left:6%;bottom:20px}.experiences{padding:40px 6%}.section-heading{display:block}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr;gap:22px}.service-card>img{height:230px}.visit-band{margin:0 6% 40px;padding:25px;display:block}.visit-band .button{margin-top:20px}.site-footer{grid-template-columns:1fr;gap:25px;padding:35px 6% 20px}.footer-bottom{display:block}.footer-bottom a{display:block;margin-top:10px}.interior{padding:30px 6% 45px}.left-col,.right-col{float:none;width:100%;padding:0}.right-col{padding:22px;margin-top:25px}#rates{grid-template-columns:1fr}#triggers,#houseboats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#triggers img,#houseboats img{height:140px}.sister-property{width:100%;margin-right:0}.actions .button{padding:12px 17px}.page-title{font-size:2.5rem}dialog{padding:14px;max-width:96vw}dialog>img{max-width:85vw}.interior td{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.brand .wordmark{display:block;max-width:none;font:30px/1.2 Georgia,serif;letter-spacing:-1px;padding:13px 0}.wordmark small{display:block;font:8px/2 system-ui,sans-serif;letter-spacing:1.8px;margin-top:5px}@media(max-width:760px){.brand .wordmark{font-size:26px;padding:12px 0}.wordmark small{font-size:7px}}

.page-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 30px}.page-actions a{display:inline-block;background:#e3e9df;padding:10px 17px;text-decoration:none;font-size:14px;font-weight:600}.interior h1,.interior h2{overflow-wrap:anywhere}

/* Immersive photo viewer */
#photo-dialog{position:fixed;inset:0;margin:0;border:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#101716;color:#f7f6f0;overflow:hidden}
#photo-dialog[open]{display:grid;grid-template-rows:72px minmax(0,1fr) auto 92px}
#photo-dialog::backdrop{background:#101716}
.viewer-top{display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid #ffffff14}.viewer-brand{font:22px Georgia,serif}.viewer-brand span{font:11px system-ui,sans-serif;color:#9aa9a2;margin-left:14px;letter-spacing:1.4px;text-transform:uppercase}.viewer-tools{display:flex;gap:12px;align-items:center}
#photo-dialog button,#photo-dialog .viewer-tools a{border:0;background:transparent;color:#fff;min-width:44px;min-height:44px;padding:0;display:grid;place-items:center;text-decoration:none}
#photo-dialog .photo-close{font:32px/1 system-ui,sans-serif;margin:0}.viewer-tools a{font-size:25px}.viewer-tools button:hover,.viewer-tools a:hover{background:#ffffff18!important;border-radius:50%}
.photo-stage{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;padding:20px 80px;touch-action:pan-y;overflow:hidden}
#photo-dialog #photo-full{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;margin:0;display:block;user-select:none}
#photo-dialog .photo-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;font:50px/1 Georgia,serif;color:#c2cdc7;z-index:2;transition:color .2s,background .2s;border-radius:50%}.photo-arrow:hover{background:#ffffff16!important;color:#fff!important}#photo-prev{left:18px}#photo-next{right:18px}
.photo-meta{display:flex;justify-content:space-between;align-items:center;padding:10px 80px 18px;gap:20px;font-size:13px;color:#c4cdc7}#photo-dialog #photo-caption{margin:0;max-width:75ch}#photo-count{white-space:nowrap;letter-spacing:2px;font-size:11px;color:#93a49a}
#photo-thumbnails{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:8px 32px 18px;scrollbar-width:thin;scrollbar-color:#506058 transparent}#photo-thumbnails button{flex:0 0 72px;height:54px;opacity:.45;border:2px solid transparent!important;border-radius:3px;overflow:hidden;transition:opacity .2s}#photo-thumbnails button[aria-current="true"]{opacity:1;border-color:#e8eece!important}#photo-thumbnails button:hover{opacity:1}#photo-thumbnails img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:760px){#photo-dialog[open]{grid-template-rows:60px minmax(0,1fr) auto 82px}.viewer-top{padding:0 14px}.viewer-brand{font-size:19px}.viewer-brand span{display:none}.photo-stage{padding:10px 0}#photo-dialog .photo-arrow{width:42px;height:48px;background:#10171670;font-size:38px}#photo-prev{left:5px}#photo-next{right:5px}.photo-meta{padding:14px 18px;font-size:12px;gap:12px}#photo-thumbnails{padding:8px 16px 14px}#photo-thumbnails button{flex-basis:64px;height:48px}}
@media(prefers-reduced-motion:reduce){#photo-dialog *{transition:none!important}}

html:has(#photo-dialog[open]),body:has(#photo-dialog[open]){overflow:hidden}#photo-thumbnails{scrollbar-width:none}#photo-thumbnails::-webkit-scrollbar{display:none}

/* Accommodation booking comparison. */
.stay-booking{background:#fff;border:1px solid var(--line);padding:28px;margin:25px 0 35px;scroll-margin-top:20px}.interior .stay-booking h2{margin-top:0}.stay-booking p:last-child{margin-bottom:0}.stay-booking-fallback{margin-top:20px;font-size:14px}.stay-booking .button{white-space:normal;text-align:center}.booking-comparison{background:#edf2ec;border-left:3px solid var(--teal);padding:18px;margin:20px 0}.booking-switch-note{font-size:12px;margin:14px 0 0;color:#465c56}@media(max-width:760px){.stay-booking{padding:20px 16px}.stay-booking .button{width:100%}}
