
:root{--ink:#243f49;--muted:#526970;--sea:#dce8e8;--sea-light:#edf2f2;--sand:#f1ede5;--paper:#fcfcf8;--line:#bdcccf;--deep:#294c58;--accent:#466775}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit}img{display:block;width:100%;height:auto}figure{margin:0}p{margin:0 0 1.2em}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;margin:0 0 .65em;line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(2.9rem,4.5vw,5.2rem)}h2{font-size:clamp(2.3rem,3.1vw,3.8rem)}h3{font-size:1.6rem;margin-top:1rem}em{font-weight:400;color:#587582}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #956738;outline-offset:6px}section[id]{scroll-margin-top:100px}.skip{position:fixed;top:-90px;left:20px;background:white;padding:12px;z-index:99}.skip:focus{top:15px}.header{height:110px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw;gap:30px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{font-family:Georgia,serif;font-size:2.15rem;text-decoration:none;line-height:1;letter-spacing:-.045em;display:inline-block}.brand span{display:block;font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.16em;margin-top:10px;font-weight:500;line-height:1.4}.header nav{display:flex;gap:30px;align-items:center;font-size:.9rem}.header nav a{text-decoration:none}.header nav a:hover{text-decoration:underline}.nav-contact{border:1px solid var(--accent);padding:11px 18px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:.88fr 1.12fr;min-height:610px;background:var(--sea-light)}.hero-copy{padding:80px 3vw 55px 5.5vw;align-self:center}.eyebrow{font-size:.76rem;letter-spacing:.17em;font-weight:600;line-height:1.7;margin-bottom:26px}.hero-intro{font-size:1.13rem;max-width:410px;margin:27px 0}.hero-photo{position:relative;min-height:610px}.hero-photo>img{height:100%;object-fit:cover}.image-label{position:absolute;bottom:24px;left:24px;right:24px;padding:16px 20px;background:rgba(252,252,248,.94);display:flex;justify-content:space-between;gap:20px;font-size:.78rem}.image-label span:first-child{letter-spacing:.11em}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--deep);color:white;padding:15px 24px;text-decoration:none;font-size:.95rem;border:1px solid transparent;transition:background .15s}.button:hover{background:#3f6674}.button span{font-size:1.4rem}.hero-note{font-size:.82rem;color:var(--muted);margin:24px 0 0;max-width:330px}.facts{display:grid;grid-template-columns:repeat(4,1fr);margin:0 5.5vw;padding:35px 0;border-bottom:1px solid var(--line)}.facts p{margin:0;border-right:1px solid var(--line);padding:0 28px}.facts p:first-child{padding-left:0}.facts p:last-child{border:0}.facts strong{display:block;font:400 1.8rem Georgia,serif}.facts span{font-size:.9rem;color:var(--muted)}.section{padding:90px 5.5vw}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-bottom:65px}.welcome-copy{max-width:580px;padding-top:42px}.signature{font:italic 1.6rem Georgia,serif;color:var(--accent);margin-top:25px}.living{display:grid;grid-template-columns:1.25fr .8fr;gap:6vw;padding-top:20px;align-items:center}.wide-photo img{aspect-ratio:4/3;object-fit:cover}.section-side{max-width:490px}.small-note{font-size:.87rem;color:var(--muted)}figcaption{font-size:.84rem;color:var(--muted);margin-top:13px;line-height:1.5}.photo-link{display:block;overflow:hidden}.photo-link img{transition:transform .35s}.photo-link:hover img{transform:scale(1.012)}.evening{display:grid;grid-template-columns:1.3fr 1fr;background:var(--deep);color:white;align-items:center}.evening>div:last-child{padding:65px 6vw}.evening img{aspect-ratio:4/3;object-fit:cover}.evening .eyebrow{color:#c6d9dc}.evening-detail{margin-top:28px;max-width:440px}.evening-detail figcaption{color:#d6e5e7}.brochure-download{margin-top:30px}.brochure-download .button{max-width:100%;text-align:left;gap:16px}.brochure-download .small-note{margin-top:12px;font-size:.8rem}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:7vw;margin-bottom:40px}.section-heading>p{max-width:390px;color:var(--muted);margin-bottom:25px}.sleep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.sleep-grid img{aspect-ratio:4/3;object-fit:cover}.sleep-grid p{font-size:.98rem}.note{padding:22px 28px;background:var(--sea-light);margin:28px 0 0;font-size:.95rem;border-left:2px solid #8ba6ad}.garden{background:var(--sea-light)}.garden-intro{max-width:1100px;padding-bottom:48px}.garden-intro>p:last-child{max-width:720px;font-size:1.15rem}.garden-image{padding:0 3vw}.garden-image img{aspect-ratio:2/1;object-fit:cover;object-position:center 57%}.garden-image figcaption{margin:15px 2.5vw 0}.terrace{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:center;padding-top:55px}.terrace img{aspect-ratio:4/3;object-fit:cover}.beach-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:32px;align-items:start}.beach-grid img{aspect-ratio:4/3;object-fit:cover}.beach-route{padding-top:18px}.beach-route h3{margin-top:0}.beach-route p{font-size:1rem;margin-bottom:0}.adventures{background:var(--sea-light)}.surround-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:32px}.surround-grid .surround-big{grid-row:span 3;display:flex;flex-direction:column}.surround-big .photo-link{position:relative;flex:1;min-height:0}.surround-grid .pirateship{grid-column:auto}.pirateship img{aspect-ratio:16/9;object-position:center 72%}.surround-grid img{aspect-ratio:16/10;object-fit:cover}.surround-grid .surround-big img{position:absolute;inset:0;height:100%;aspect-ratio:auto;object-position:35% center}.work{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:center;background:var(--sand)}.work img{aspect-ratio:4/3;object-fit:cover}.practical{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw}.practical>div:first-child p:last-child{color:var(--muted)}details{border-bottom:1px solid var(--line)}details:first-child{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:22px 35px 22px 0;position:relative;font-weight:500;font-size:1.02rem}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;font-size:1.5rem;top:14px;font-weight:300}details[open] summary:after{content:'−'}details>div{padding:0 28px 5px 0;color:var(--muted);font-size:.97rem}.arrival{border-top:1px solid var(--line);padding-top:70px}.arrival-grid{display:grid;grid-template-columns:1fr 1fr .85fr;gap:45px}.number{font-size:.8rem;letter-spacing:.08em;color:var(--muted)}.arrival-grid p{font-size:.96rem}.arrival-grid img{aspect-ratio:3/4;object-fit:cover}.text-link{font-size:.9rem}.contact{text-align:center;background:var(--deep);color:var(--paper);padding-top:80px;padding-bottom:80px}.contact h2{font-size:clamp(3.5rem,6vw,6rem)}.contact h2 em{color:#c5dadc}.contact>p:not(.eyebrow){max-width:640px;margin-left:auto;margin-right:auto}.button-light{background:var(--paper);color:var(--deep)}.button-light:hover{background:var(--sea)}.email{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere;margin:20px auto 35px;font-size:1rem}.contact-signature{font:italic 1.5rem/1.5 Georgia,serif}footer{padding:55px 5.5vw 25px;display:grid;grid-template-columns:1fr 1fr .5fr;gap:30px;font-size:.88rem}footer>div:first-child p{margin-top:23px}footer nav{display:flex;flex-direction:column;gap:10px;align-items:flex-start}footer .brand{font-size:1.8rem}footer a{overflow-wrap:anywhere}.footer-note{grid-column:1/-1;border-top:1px solid var(--line);padding-top:23px;color:var(--muted);font-size:.77rem;margin:0}.legal{max-width:920px;margin:auto;padding:70px 30px 90px;min-height:65vh}.legal h1{font-size:3.3rem}.legal h2{font-size:1.7rem;margin-top:2rem}.legal h3{font-size:1.3rem}.legal p,.legal li{font-size:1rem;overflow-wrap:anywhere}.legal a{text-decoration:underline}.lightbox{padding:70px 24px 25px;background:var(--paper);border:0;width:min(1100px,95vw);max-height:95vh;color:var(--ink)}.lightbox::backdrop{background:rgba(16,29,33,.88)}.lightbox>img{object-fit:contain;width:100%;height:65vh}.lightbox>p{margin:15px 0 0;font-size:.9rem}.lightbox-close{position:absolute;right:25px;top:16px;background:none;border:1px solid var(--line);padding:8px 16px;cursor:pointer}.no-scroll{overflow:hidden}
@media(min-width:1600px){.header,.section,footer{padding-left:max(5.5vw,calc((100vw - 1500px)/2));padding-right:max(5.5vw,calc((100vw - 1500px)/2))}.hero-copy{padding-left:max(5.5vw,calc((100vw - 1500px)/2))}}
@media(max-width:1050px){.header{height:95px}.header nav{gap:17px;font-size:.82rem}.hero{min-height:510px}.hero-photo{min-height:510px}.hero-copy{padding-top:48px;padding-bottom:48px}.hero h1{font-size:3.2rem}.section{padding-top:65px;padding-bottom:65px}.living{padding-top:0;gap:4vw}.arrival-grid{gap:25px}.facts strong{font-size:1.55rem}.facts p{padding:0 20px}.image-label{font-size:.7rem;gap:5px;padding:12px;left:15px;right:15px}.sleep-grid{gap:20px}.sleep-grid h3{font-size:1.4rem}}
@media(max-width:760px){html{scroll-padding-top:20px}.header{padding:22px 6vw;height:auto;flex-wrap:wrap;gap:20px}.brand{font-size:1.9rem}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:10px 14px;font-size:.9rem}.menu-toggle span{margin-left:12px}.header nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}.header nav.is-open{display:flex}.header nav a{padding:13px 0;border-top:1px solid var(--line);font-size:1rem}.header nav .nav-contact{border:none;border-top:1px solid var(--line);padding:13px 0}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:46px 6vw 42px}.hero h1{font-size:clamp(2.8rem,10vw,4rem)}.hero-intro{max-width:480px;font-size:1.05rem}.hero-note{max-width:none}.hero-photo{min-height:0;height:380px}.hero-photo>img{object-position:55% center}.image-label{font-size:.74rem;left:6vw;right:6vw}.eyebrow{font-size:.73rem;margin-bottom:20px}.facts{grid-template-columns:1fr 1fr;padding:12px 0;margin:0 6vw}.facts p,.facts p:first-child{padding:18px 15px 18px 0;border:0}.facts p:nth-child(even){padding-left:15px}.facts p:nth-child(-n+2){border-bottom:1px solid var(--line)}.facts strong{font-size:1.6rem}.facts span{font-size:.87rem}.section{padding:55px 6vw}.welcome,.living,.terrace,.work,.practical{grid-template-columns:1fr;gap:25px}.welcome{padding-bottom:25px}.welcome-copy{padding-top:0}.living{padding-top:20px}.section-side{max-width:none}.evening{grid-template-columns:1fr}.evening>div:last-child{padding:35px 6vw 40px}.section-heading{display:block;margin-bottom:27px}.section-heading>p{max-width:none;margin-top:15px}.sleep-grid{grid-template-columns:1fr;gap:25px}.sleep-grid h3{font-size:1.6rem}.sleep-grid p{font-size:1rem}.note{padding:18px}.garden-intro{padding-bottom:20px}.garden-image{padding:0}.garden-image img{aspect-ratio:4/3;object-position:55% center}.garden-image figcaption{margin:15px 6vw 0}.terrace{padding-top:35px}.beach-grid{grid-template-columns:1fr;gap:30px}.beach-route{padding-top:12px}.surround-grid{grid-template-columns:1fr;gap:25px}.surround-grid .surround-big{grid-row:auto;grid-column:auto;display:block}.surround-big .photo-link{position:static}.surround-grid .surround-big img{position:static;height:auto;aspect-ratio:4/3;object-position:30% center}.surround-grid figcaption{font-size:.79rem}.surround-grid img{aspect-ratio:4/3}.arrival-grid{grid-template-columns:1fr;gap:30px}.arrival-grid img{aspect-ratio:4/3;object-position:center 70%}.practical{gap:20px}.contact{padding-top:58px;padding-bottom:55px}footer{padding:40px 6vw 25px;grid-template-columns:1fr;gap:25px}footer nav{flex-direction:row;gap:25px;flex-wrap:wrap}.legal{padding:45px 6vw 60px}.legal h1{font-size:2.7rem}.lightbox{padding:65px 15px 20px}.lightbox>img{height:55vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* BOOKING NAV START */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:761px) and (max-width:1150px){.header{height:auto;flex-wrap:wrap}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:10px 14px}.header nav{display:none;width:100%;flex-direction:column;align-items:stretch}.header nav.is-open{display:flex}.header nav a{padding:10px 0;font-size:1rem}.header nav .nav-contact{border:none;padding:10px 0}}
/* BOOKING NAV END */

/* Enquiry form: comfortable touch targets and no horizontal overflow on phones. */
.inquiry-form{width:100%;max-width:760px;margin:2.5rem auto;text-align:left;padding:clamp(20px,4vw,40px);border:1px solid #90a8a5;border-radius:16px;background:rgba(255,255,255,.06)}
.inquiry-form p{max-width:none!important;margin-left:0!important;margin-right:0!important}.inquiry-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 24px}.inquiry-form label{display:block;font-size:15px;margin:16px 0 8px}.inquiry-form input,.inquiry-form textarea{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;min-height:48px;font:inherit;font-size:16px;border:1px solid #b3c4c1;border-radius:8px;padding:12px;color:#243f49;background:#fffefa}.inquiry-form textarea{resize:vertical}.inquiry-form input:focus-visible,.inquiry-form textarea:focus-visible{outline:3px solid #c6ddd7;outline-offset:3px}.inquiry-form .inquiry-intro,.inquiry-form .inquiry-privacy{font-size:15px;line-height:1.6}.inquiry-privacy a{text-decoration:underline;color:inherit}.inquiry-form button{cursor:pointer;min-height:48px}.inquiry-form button:disabled{opacity:.65;cursor:wait}.inquiry-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#inquiry-status{margin-bottom:0;line-height:1.6}#inquiry-status:empty{display:none}#inquiry-status.error{color:#ffe2d6}.calendar-day.historical{visibility:hidden}
@media(max-width:600px){.inquiry-grid{grid-template-columns:minmax(0,1fr);gap:0}.inquiry-form{padding:20px}.inquiry-form button{width:100%;justify-content:center}}

.inquiry-details{margin:28px 0}.inquiry-details>summary{cursor:pointer;list-style:none;display:inline-flex;gap:24px}.inquiry-details>summary::-webkit-details-marker{display:none}.inquiry-period{grid-column:1/-1;padding:18px;border:1px solid #bed0cf;border-radius:12px}.inquiry-period p{margin:0 0 10px}.inquiry-period .range-trigger{margin:0 0 12px;white-space:normal;text-align:left}.range-days button:disabled{opacity:.3;cursor:not-allowed}.range-dialog .admin-button{min-height:44px}.inquiry-form input{min-width:0;box-sizing:border-box}@media(max-width:600px){.inquiry-period{padding:12px}.inquiry-period button{width:100%}}

.inquiry-form .inquiry-grid>div{min-width:0}.inquiry-form label{line-height:1.4;min-height:21px}.inquiry-form input{height:50px}.inquiry-form .inquiry-period{margin-bottom:4px}.inquiry-form .inquiry-period>p:first-child{font-weight:600}.inquiry-form #inquiry-period-summary{font-size:.9rem;margin-bottom:0}.inquiry-form .range-trigger{background:#edf2f2;color:#243f49;border:1px solid #bed0cf;border-radius:8px;padding:12px 16px;width:100%}

.inquiry-details>summary::after{display:none}

/* The enquiry disclosure is an action, not a FAQ row. */
.contact .inquiry-details{border:0;max-width:760px;margin:32px auto 36px;padding:0}.contact .inquiry-details>summary{padding:16px 24px;border-radius:8px;min-height:56px;align-items:center;justify-content:center;gap:24px}.contact .inquiry-details[open]>summary span{font-size:0}.contact .inquiry-details[open]>summary span::before{content:'−';font-size:1.4rem}.contact .inquiry-form{margin:24px 0 0}.contact .email{display:inline-block;margin:0 0 26px}.contact .contact-signature{margin-top:10px}.inquiry-form select{display:block;width:100%;min-width:0;height:50px;box-sizing:border-box;font:inherit;font-size:16px;border:1px solid #b3c4c1;border-radius:8px;padding:12px;color:#243f49;background:#fffefa}.inquiry-form select:focus-visible{outline:3px solid #c6ddd7;outline-offset:3px}@media(max-width:600px){.contact .inquiry-details>summary{width:100%}.contact .inquiry-details{margin:28px auto 32px}}
