@font-face{font-family:Bodoni;src:url('assets/bodoni-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Bodoni;src:url('assets/bodoni-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url('assets/dm-sans-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url('assets/dm-sans-medium.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:DM Sans;src:url('assets/dm-sans-semibold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
:root{--paper:#f3eee4;--white:#ffffff;--ink:#101010;--muted:#5c5a55;--copper:#b99860;--line:#ded7cb;--serif:Bodoni,Georgia,serif;--sans:'DM Sans',Arial,sans-serif;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}body{margin:0;background:#1e2225;font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--copper);outline-offset:5px}p,h1,h2,h3,figure{margin:0}.icon{display:block;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.skip-link{position:fixed;left:20px;top:-70px;z-index:100;background:var(--ink);color:white;padding:14px}.skip-link:focus{top:20px}
.site-header{height:106px;margin:0;padding:0 5.2%;width:100%;color:var(--white);display:flex;align-items:center;justify-content:space-between;position:absolute;inset:0 0 auto;z-index:30;gap:30px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-symbol{width:44px;height:47px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.brand-type{display:flex;flex-direction:column;align-items:center}.brand-name{font-family:var(--serif);font-size:31px;line-height:1;letter-spacing:5.8px;padding-left:6px}.brand-caption{font-size:8px;letter-spacing:2.4px;margin-top:8px;padding-left:2px}.desktop-nav{display:flex;align-items:center;gap:34px;margin-left:72px}.nav-link{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:var(--white);position:relative;padding:10px 0}.nav-link:after{position:absolute;bottom:1px;left:0;content:'';height:1px;width:0;background:var(--white);transition:width .25s}.nav-link:hover:after{width:100%}.tiny{width:12px;height:12px}.header-actions{display:flex;align-items:center;gap:22px}.language-toggle{display:flex;align-items:center;gap:9px;font-size:11px;padding:10px 0}.language-toggle .icon{width:15px;height:15px}.header-divider{height:18px;width:1px;background:#ffffff4d}.header-book{display:flex;align-items:center;gap:26px;border:1px solid var(--white);background:var(--white);color:var(--ink);border-radius:2px;min-height:43px;padding:0 19px;font-size:11px;font-weight:500;transition:background .2s,color .2s,border-color .2s}.header-book .icon{width:17px;height:17px}.header-book:hover{background:var(--copper);color:var(--white);border-color:var(--copper)}.mobile-menu-toggle,.mobile-menu{display:none}
.hero{margin:0;position:relative;width:100%;min-height:760px;height:100svh;max-height:none;isolation:isolate;color:var(--white);background:#28616a;border-radius:0;overflow:visible}.hero-media,.hero-shade{position:absolute;inset:0;border-radius:0;overflow:hidden;z-index:-1}.hero-media{background:#28616a url('assets/coast-poster.jpg') center center/cover}.hero-video{width:100%;height:100%;object-fit:cover;object-position:center 52%;position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;pointer-events:none}.hero-video.active{opacity:1}.hero-shade{background:linear-gradient(180deg,#10101088,transparent 26%),linear-gradient(90deg,rgba(12,30,31,.39) 0%,rgba(12,30,31,.14) 68%,rgba(12,30,31,.1)),linear-gradient(0deg,rgba(12,28,29,.58),rgba(12,28,29,0) 58%);z-index:0;pointer-events:none}.hero-content{position:absolute;left:5.2%;top:22%;z-index:1}.hero-eyebrow{display:flex;align-items:center;gap:11px;font-size:9px;font-weight:500;letter-spacing:2.45px;line-height:1.5}.hero-eyebrow>span:first-child{width:5px;height:5px;background:#b99860;border-radius:50%}h1{font-family:var(--serif);font-weight:400;font-size:clamp(78px,7.55vw,118px);line-height:1.02;letter-spacing:-4.1px;margin-top:24px;text-shadow:0 2px 28px #10101012}h1>span,h1>em{display:block}h1>em{font-weight:400;letter-spacing:-4.7px}.hero-description{font-size:13px;line-height:1.85;margin-top:24px;color:#ffffffeb;letter-spacing:.05px;max-width:410px}.hero-side-note{position:absolute;right:37px;top:48%;writing-mode:vertical-rl;display:flex;align-items:center;gap:17px;font-size:8px;letter-spacing:2.2px;color:#ffffffe0}.small-line{width:1px;height:38px;background:#ffffff90}.booking-area{position:absolute;bottom:42px;left:5.2%;right:5.2%;z-index:5;scroll-margin-top:80px}.booking-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;gap:18px}.booking-topline>p{display:flex;align-items:center;gap:10px;font-size:8.5px;letter-spacing:1.7px;font-weight:500}.video-controls{display:flex;gap:9px;align-items:center}.film-label{font-size:10px;letter-spacing:.2px;margin-right:6px}.video-control{display:grid;place-items:center;width:29px;height:29px;border:1px solid #ffffff65;border-radius:50%;color:#ffffff;transition:background .2s}.video-control:hover{background:#ffffff26}.video-control .icon{width:12px;height:12px;stroke-width:1.8}.booking-form{position:relative;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1.1fr;align-items:center;background:var(--white);color:var(--ink);padding:18px 16px;border-radius:3px;box-shadow:0 5px 35px #10101020}.booking-field{position:relative;min-width:0;border-right:1px solid var(--line)}.field-trigger{display:flex;align-items:center;gap:12px;width:100%;text-align:left;min-height:53px;padding:3px 20px;transition:background .2s;border-radius:2px}.field-trigger:hover,.field-trigger[aria-expanded=true]{background:#f3eee4}.destination-field .field-trigger{padding-left:10px}.field-icon{width:21px;height:21px;color:#5c5a55;stroke-width:1.25}.field-copy{display:flex;flex-direction:column;gap:7px;min-width:0}.field-label{font-size:9px;color:#5c5a55;white-space:nowrap}.field-value{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-value.placeholder{font-weight:400;color:#5c5a55}.field-chevron{margin-left:auto;width:12px;height:12px;color:#5c5a55}.guests-field{border-right:0}.guests-field .field-trigger{padding-right:16px}.find-stay{align-self:stretch;display:flex;align-items:center;justify-content:center;gap:22px;margin-left:8px;padding:0 20px;background:var(--copper);color:#ffffff;border-radius:2px;font-size:11px;font-weight:500;min-height:56px;white-space:nowrap;transition:background .25s}.find-stay .icon{width:19px;height:19px;transition:transform .25s}.find-stay:hover{background:#b99860}.find-stay:hover .icon{transform:translateX(4px)}.booking-bottomline{display:flex;align-items:center;gap:22px;margin-top:17px;color:#ffffffe0}.booking-bottomline>p{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.1px}.booking-bottomline .icon{width:12px;height:12px}.booking-bottomline>p:first-child{flex:1}.video-progress{height:2px;width:64px;background:#ffffff40;overflow:hidden}.video-progress>span{display:block;height:100%;background:#b99860;width:0}.hero-location{margin-left:6px}.booking-error{position:absolute;top:100%;font-size:11px;margin-top:6px;color:#ffffff;background:var(--copper);border-radius:2px}.booking-error:not(:empty){padding:8px 12px}.coastal-note{height:74px;margin:0 5.3%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;color:#5c5a55}.coastal-note>p{display:flex;align-items:center;gap:12px}.note-dot{width:5px;height:5px;border:1px solid #5c5a55;border-radius:50%}.coastal-note>button{display:flex;align-items:center;gap:17px;color:#5c5a55;font-size:10px}.coastal-note .icon{width:17px;height:17px}
.popover{position:absolute;background:var(--white);color:var(--ink);border:1px solid #ded7cb;box-shadow:0 16px 65px #10101026;border-radius:5px;padding:23px;z-index:40;bottom:calc(100% + 32px);text-align:left;animation:rise .18s ease-out}.popover-heading{font-size:15px;font-weight:500;line-height:1.4}.destination-popover{width:310px;left:-16px}.destination-popover>.popover-heading{margin:0 6px 14px}.destination-option{display:flex;align-items:center;justify-content:space-between;padding:14px 9px;width:100%;text-align:left;border-top:1px solid var(--line);border-radius:2px}.destination-option b,.guest-row b{font-size:12px;font-weight:500;display:block}.destination-option small,.guest-row small{display:block;font-size:10px;color:#5c5a55;margin-top:5px}.destination-option .icon{width:16px;height:16px;color:var(--copper);opacity:0}.destination-option.selected .icon{opacity:1}.destination-option:hover{background:#f3eee4}.guests-popover{width:320px;right:-30px}.guest-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.stepper{display:flex;align-items:center;gap:14px}.stepper button{display:grid;place-items:center;border:1px solid #ded7cb;border-radius:50%;width:28px;height:28px;font-size:18px;line-height:1}.stepper button:disabled{opacity:.3}.stepper output{min-width:12px;text-align:center;font-size:12px}.popover-done{width:100%;margin-top:17px;padding:11px;background:var(--ink);color:#ffffff;font-size:11px;border-radius:2px}.calendar-popover{width:640px;left:21%;bottom:calc(100% + 14px);padding:27px 28px 19px}.calendar-heading{display:flex;justify-content:space-between;align-items:flex-start}.calendar-heading>div>p:last-child{font-size:11px;color:var(--muted);margin-top:5px}.calendar-close{padding:0}.calendar-close .icon{width:17px;height:17px}.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:27px}.calendar-month>h3{text-align:center;font-size:12px;font-weight:500;margin-bottom:19px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:3px}.weekday{text-align:center;font-size:9px;color:#5c5a55;padding-bottom:9px}.day{height:32px;font-size:10px;position:relative;border-radius:2px}.day:not(:disabled):hover{outline:1px solid var(--copper);outline-offset:-1px}.day:disabled{color:#ded7cb}.day.in-range{background:#f3eee4;border-radius:0}.day.selected{color:#ffffff;background:var(--copper);border-radius:2px}.calendar-navigation{position:absolute;left:29px;right:29px;top:99px;display:flex;justify-content:space-between;pointer-events:none}.calendar-navigation button{pointer-events:auto;padding:0;color:var(--ink)}.calendar-navigation button:disabled{opacity:.2}.calendar-navigation .icon{width:13px;height:13px}.calendar-navigation #month-prev .icon{transform:rotate(90deg)}.calendar-navigation #month-next .icon{transform:rotate(-90deg)}.calendar-footer{border-top:1px solid var(--line);margin-top:17px;padding-top:14px;display:flex;align-items:center;justify-content:space-between;font-size:10px}.calendar-footer #clear-dates{padding:0;text-decoration:underline;text-underline-offset:3px;font-size:10px}.calendar-footer>span{color:var(--muted)}.calendar-done{background:var(--ink);color:white;padding:9px 15px;border-radius:2px;font-size:10px}
.dialog-close{position:absolute;top:20px;right:20px;z-index:3;display:grid;place-items:center;width:34px;height:34px;border:1px solid #ded7cb;border-radius:50%;background:var(--white);color:var(--ink)}.dialog-close .icon{width:16px;height:16px}dialog{color:var(--ink);background:var(--paper);border:0;border-radius:5px;padding:0;box-shadow:0 30px 130px #1010104d;max-height:90svh;overscroll-behavior:contain}dialog::backdrop{background:#101010a3;backdrop-filter:blur(6px)}dialog[open]{animation:rise .25s ease-out}.editorial-dialog{max-width:900px;width:calc(100% - 50px)}.editorial-content{padding:58px}.eyebrow{font-size:8px;letter-spacing:1.9px;color:var(--copper);font-weight:500}.editorial-dialog h2,.enquiry-dialog h2{font-family:var(--serif);font-size:52px;letter-spacing:-1.8px;line-height:1.08;font-weight:400;margin-top:16px}.editorial-intro{font-size:12px;line-height:1.8;color:#5c5a55;max-width:480px;margin-top:18px}.destination-tiles{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}.destination-tile{display:flex;flex-direction:column;text-align:left;padding:0}.destination-tile img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:2px}.destination-tile h3{font-family:var(--serif);font-size:30px;font-weight:400;margin-top:13px}.destination-tile p{font-size:11px;color:#5c5a55;line-height:1.7;margin:8px 0 15px}.destination-tile>span{display:flex;gap:14px;align-items:center;font-size:10px;border-bottom:1px solid #5c5a55;padding-bottom:7px;align-self:flex-start}.destination-tile .icon{width:15px;height:15px}.experience-layout{display:grid;grid-template-columns:.85fr 1fr;gap:40px;align-items:center}.experience-layout>img{width:100%;height:440px;object-fit:cover;border-radius:2px}.experience-copy p:not(.eyebrow){font-size:12px;line-height:1.9;color:#5c5a55;margin-top:20px}.experience-copy button{margin-top:28px;display:flex;align-items:center;gap:25px;color:var(--copper);font-size:11px;padding:0}.experience-copy h2{font-size:48px}.enquiry-dialog{width:850px;max-width:calc(100% - 40px)}.enquiry-dialog[open]{display:grid;grid-template-columns:.8fr 1.15fr}.enquiry-photo{position:relative;background:#101010;overflow:hidden;min-height:600px}.enquiry-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:65%;filter:brightness(.85)}.enquiry-photo>span{position:absolute;bottom:25px;left:25px;color:#ffffff;font-size:9px;letter-spacing:2px}.enquiry-content{padding:53px 43px 34px}.enquiry-intro{font-size:11px;line-height:1.9;color:#5c5a55;margin-top:17px}.stay-summary{margin:25px 0 21px;border-top:1px solid #ded7cb;padding-top:9px}.stay-summary>div{display:flex;justify-content:space-between;gap:15px;margin-top:13px;font-size:11px;line-height:1.5}.stay-summary dt{color:#5c5a55}.stay-summary dd{margin:0;text-align:right}.enquiry-note{font-size:10px;line-height:1.85;color:#5c5a55}.enquiry-cta{display:flex;align-items:center;gap:12px;justify-content:center;margin-top:23px;min-height:49px;border-radius:2px;background:var(--copper);color:white;font-size:11px}.enquiry-cta:hover{background:#b99860}.enquiry-cta .icon{width:17px;height:17px}.enquiry-cta>.icon:last-child{margin-left:auto;margin-right:17px}.enquiry-cta>.icon:first-child{margin-left:17px}.no-payment{text-align:center;font-size:8px;color:#5c5a55;margin-top:12px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 22px;background:var(--ink);color:#ffffff;font-size:12px;border-radius:4px;z-index:100}
@keyframes rise{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero-content{animation:arrive 1s .1s both}.booking-area{animation:arrive .9s .3s both}
@media(min-width:1600px){.hero-content{top:22%}.coastal-note{max-width:1577px;margin:auto}}
@media(max-width:1200px){.desktop-nav{margin-left:10px;gap:22px}.site-header{padding-inline:4.5%;gap:20px}.header-actions{gap:17px}.hero{min-height:720px}.hero-content{top:23%;left:4.5%}.booking-area{left:4%;right:4%}.booking-form{grid-template-columns:1.15fr .95fr .95fr .95fr 1.05fr;padding:16px 10px}.field-trigger{padding-inline:12px;gap:9px}.field-icon{width:18px;height:18px}.field-value{font-size:11px}.field-chevron{width:10px;height:10px}.find-stay{font-size:10px;gap:13px;padding:0 12px}.calendar-popover{left:15%}.hero-side-note{right:25px}.hero-description{margin-top:21px}}
@media(max-width:1000px){.desktop-nav{gap:20px;margin-left:0}.nav-link{font-size:11px}.header-book{gap:14px;padding:0 13px;font-size:10px}.header-actions{gap:14px}.brand-symbol{width:35px;height:41px}.brand-name{font-size:27px}.brand-caption{font-size:7px;letter-spacing:2px}.brand{gap:7px}.hero{min-height:780px}.booking-form{grid-template-columns:1.2fr 1fr 1fr 1fr;padding:14px}.find-stay{grid-column:1/-1;margin:13px 0 0;min-height:47px;gap:25px}.field-trigger{padding-inline:13px}.hero-content{top:21%}h1{font-size:89px}.hero-description{font-size:12px;margin-top:17px}.hero-eyebrow{font-size:8px;letter-spacing:1.9px}.calendar-popover{left:auto;right:0;bottom:calc(100% + 13px);max-width:100%}.guests-popover{right:0;bottom:calc(100% + 25px)}.destination-popover{left:0;bottom:calc(100% + 25px)}}
@media(max-width:1000px){.desktop-nav{display:none}.site-header{height:90px;padding-inline:6.5%}.mobile-menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:8px;width:34px;height:38px}.mobile-menu-toggle span{width:20px;height:1px;background:currentColor;transition:transform .2s}.mobile-menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.mobile-menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.header-divider{display:none}.header-actions{gap:18px}.mobile-menu{position:absolute;display:flex;top:100%;left:0;right:0;background:var(--paper);color:var(--ink);box-shadow:0 20px 30px #10101020;flex-direction:column;padding:15px 30px 25px}.mobile-menu>button{text-align:left;font-family:var(--serif);font-size:31px;padding:16px 0;border-bottom:1px solid var(--line)}.mobile-menu>p{font-size:10px;color:var(--muted);letter-spacing:1px;margin-top:25px}.hero{min-height:790px}.hero-content{left:6.5%;top:20%}h1{font-size:85px}.booking-area{left:5%;right:5%;bottom:32px}.hero-side-note{right:22px;top:29%;font-size:7px}.coastal-note{height:68px;margin-inline:6.4%;font-size:9px}.coastal-note>button{font-size:9px}.booking-topline>p{font-size:7px;letter-spacing:1.3px}.film-label{font-size:9px}.booking-bottomline>p{font-size:8px}.header-book{font-size:11px;gap:19px}.hero-description{font-size:12px;line-height:1.85}.hero-shade{background:linear-gradient(180deg,#10101088,transparent 26%),linear-gradient(90deg,#10101042,#10101015),linear-gradient(0deg,#101010a6,transparent 80%)}.field-trigger{gap:9px;padding-inline:10px}.destination-field .field-trigger{padding-left:3px}.field-icon{display:none}.field-value{font-size:12px}.field-label{font-size:9px}.field-chevron{width:11px;height:11px}.editorial-content{padding:50px 35px 35px}.experience-layout{gap:28px}.experience-layout>img{height:400px}.experience-copy h2{font-size:39px}}
@media(max-width:600px){.site-header{height:86px;padding-inline:7%;gap:12px}.brand-symbol{width:31px;height:36px}.brand-name{font-size:24px;letter-spacing:4.5px;padding-left:5px}.brand-caption{font-size:6.1px;letter-spacing:1.8px;margin-top:6px}.brand{gap:5px}.header-actions{gap:16px}.language-toggle{font-size:10px;gap:5px}.language-toggle .icon{display:none}.header-book{display:none}.mobile-menu-toggle{width:27px;padding:3px}.hero{min-height:820px;height:100svh}.hero-content{left:7%;right:7%;top:18%}.hero-eyebrow{font-size:7.5px;letter-spacing:1.65px;gap:9px}.hero-eyebrow>span:first-child{width:4px;height:4px}h1{font-size:clamp(52px,16.7vw,78px);line-height:1.05;letter-spacing:-3.2px;margin-top:24px}h1>em{letter-spacing:-3.8px}.hero-description{font-size:11px;line-height:1.8;margin-top:20px;max-width:260px}.hero-side-note{display:none}.hero-video{object-position:54% center}.hero-shade{background:linear-gradient(180deg,#10101088,transparent 26%),linear-gradient(90deg,#10101047,#10101008),linear-gradient(0deg,#101010b3,transparent 90%)}.booking-area{left:6%;right:6%;bottom:21px}.booking-topline{margin-bottom:12px;align-items:flex-end}.booking-topline>p{max-width:168px;font-size:7px;letter-spacing:1.3px;gap:6px;line-height:1.7}.film-label{display:none}.video-controls{gap:8px}.video-control{width:27px;height:27px}.booking-form{grid-template-columns:1fr 1fr;padding:11px 13px 13px;row-gap:0;column-gap:0}.booking-field{border:0}.destination-field{grid-column:1/-1;grid-row:1;border-bottom:1px solid var(--line)}.destination-field .field-trigger{padding:7px 4px;min-height:54px}.destination-field .field-copy{flex-direction:row;justify-content:space-between;align-items:center;flex:1}.destination-field .field-label{font-size:9px}.destination-field .field-value{font-size:11px}.destination-field .field-icon{display:block;width:17px;height:17px}.destination-field .field-chevron{margin-left:9px}.date-field{padding-top:9px;padding-bottom:8px;border-bottom:1px solid var(--line)}.date-field:nth-child(2){border-right:1px solid var(--line)}.date-field .field-trigger{padding:3px 5px;min-height:48px}.date-field:nth-child(3) .field-trigger{padding-left:18px}.field-copy{gap:5px}.field-label{font-size:8px}.field-value{font-size:11px}.guests-field{grid-column:1/-1;grid-row:3}.guests-field .field-trigger{padding:12px 5px 9px;min-height:46px}.guests-field .field-copy{flex-direction:row;flex:1;justify-content:space-between;align-items:center}.guests-field .field-value{font-size:11px}.guests-field .field-chevron{margin-left:9px}.find-stay{grid-row:4;min-height:45px;font-size:11px;margin-top:7px;gap:20px}.booking-bottomline{margin-top:12px;gap:9px;justify-content:center}.booking-bottomline>p{font-size:7.4px}.booking-bottomline>p:first-child{flex:0 1 auto}.booking-bottomline .icon{width:10px;height:10px}.hero-location,.video-progress{display:none!important}.coastal-note{height:65px;margin-inline:7%;font-size:8px}.coastal-note>p{max-width:200px;line-height:1.7;gap:9px}.coastal-note>button{font-size:8px;gap:8px;white-space:nowrap}.coastal-note .icon{width:14px;height:14px}.note-dot{flex-shrink:0}.popover{padding:20px;bottom:calc(100% + 17px)}.destination-popover{width:100%;left:0}.guests-popover{width:calc(100% + 26px);right:-13px}.calendar-popover{position:fixed;left:50%;top:50%;bottom:auto;right:auto;transform:translate(-50%,-50%);width:calc(100vw - 34px);max-width:390px;padding:25px;box-shadow:0 0 0 100vmax #101010a6,0 16px 65px #10101026;animation:none}.calendar-months{grid-template-columns:1fr;margin-top:30px}.calendar-month:nth-child(2){display:none}.calendar-navigation{top:101px;left:26px;right:26px}.day{height:38px;font-size:11px}.weekday{font-size:10px}.calendar-month>h3{font-size:13px}.calendar-footer{margin-top:20px}.booking-error{font-size:9px}.editorial-dialog{width:calc(100% - 28px);max-height:87svh}.editorial-content{padding:49px 26px 28px}.editorial-dialog h2{font-size:41px}.editorial-intro{font-size:11px}.destination-tiles{grid-template-columns:1fr;gap:28px;margin-top:25px}.destination-tile img{aspect-ratio:1.9}.destination-tile h3{font-size:28px}.experience-layout{grid-template-columns:1fr;gap:25px}.experience-layout>img{height:230px;object-position:center 45%;order:2}.experience-copy h2{font-size:41px}.experience-copy p:not(.eyebrow){font-size:11px}.enquiry-dialog{max-width:calc(100% - 28px);width:440px;max-height:91svh}.enquiry-dialog[open]{display:block}.enquiry-photo{min-height:170px;height:170px}.enquiry-photo img{object-position:50% 60%}.enquiry-photo>span{font-size:7px;bottom:20px;left:27px}.enquiry-content{padding:29px 27px 26px}.enquiry-dialog h2{font-size:42px;margin-top:12px}.enquiry-intro{margin-top:13px}.stay-summary{margin-top:20px}.enquiry-cta{margin-top:18px}.dialog-close{top:15px;right:15px;width:30px;height:30px}}
@media(max-width:360px){.hero{min-height:800px}.hero-content{top:17%}.booking-area{left:5%;right:5%}.booking-topline>p{font-size:6.5px}h1{font-size:clamp(52px,16.7vw,60px)}.hero-description{font-size:10px}.coastal-note>p{max-width:165px}.field-value{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(max-width:600px){h1>span,h1>em{white-space:nowrap}}
/* Keep fixed mobile calendar positioning independent of entrance animations. */
.booking-area{animation:none}

/* Booking readability and screen-safe layout. Video remains full bleed. */
:root {
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --header-height: 106px;
  --header-inset: 5.2%;
  --content-inset: 5.2%;
  --booking-inset: 5.2%;
  --booking-bottom: 42px;
}
html { background: #1e2225; }
.site-header {
  height: calc(var(--header-height) + var(--safe-top));
  padding-top: var(--safe-top);
  padding-left: max(var(--header-inset), calc(var(--safe-left) + 20px));
  padding-right: max(var(--header-inset), calc(var(--safe-right) + 20px));
}
.hero-content {
  left: max(var(--content-inset), calc(var(--safe-left) + 20px));
  right: max(var(--content-inset), calc(var(--safe-right) + 20px));
}
.booking-area {
  left: max(var(--booking-inset), calc(var(--safe-left) + 18px));
  right: max(var(--booking-inset), calc(var(--safe-right) + 18px));
  bottom: calc(var(--booking-bottom) + var(--safe-bottom));
}
.booking-form { grid-template-columns: minmax(0,1.2fr) repeat(3,minmax(0,1fr)) minmax(200px,1.15fr); padding: 20px 18px; }
.field-trigger { min-height: 62px; }
.field-label { font-size: 12px; line-height: 1.35; color: #101010; font-weight: 500; }
.field-value { font-size: 16px; line-height: 1.4; font-weight: 600; color: #101010; }
.field-value.placeholder { color: #101010; font-weight: 500; }
.field-icon { width: 22px; height: 22px; color: #5c5a55; stroke-width: 1.5; }
.field-chevron { color: #101010; width: 14px; height: 14px; }
.find-stay { font-size: 15px; font-weight: 600; min-height: 62px; gap: 15px; padding-inline: 18px; }
.booking-topline > p { font-size: 11px; letter-spacing: 1.2px; line-height: 1.5; }
.booking-symbol { width: 19px; height: 19px; color: #b99860; stroke-width: 1.5; }
.booking-bottomline > p { font-size: 12px; line-height: 1.5; color: #ffffff; }
.booking-bottomline .icon { width: 15px; height: 15px; }
.film-label { font-size: 12px; }
.video-control { width: 36px; height: 36px; }
.video-control .icon { width: 15px; height: 15px; }
.popover-heading { font-size: 18px; }
.destination-option b, .guest-row b { font-size: 15px; }
.destination-option small, .guest-row small { font-size: 12px; line-height: 1.5; color: #5c5a55; }
.stepper { gap: 12px; }
.stepper button { width: 36px; height: 36px; border-color: #5c5a55; }
.stepper output { font-size: 16px; min-width: 18px; }
.popover-done, .calendar-done { font-size: 14px; min-height: 42px; }
.calendar-heading > div > p:last-child { font-size: 13px; color: #101010; }
.calendar-month > h3 { font-size: 14px; }
.weekday { font-size: 11px; color: #5c5a55; }
.day { font-size: 14px; height: 40px; }
.calendar-navigation { top: 92px; }
.calendar-navigation button { display: grid; place-items: center; width: 32px; height: 32px; }
.calendar-navigation .icon { width: 16px; height: 16px; }
.calendar-footer, .calendar-footer #clear-dates { font-size: 12px; }
.calendar-footer > span { color: #101010; }
.booking-error { font-size: 13px; }
.enquiry-intro, .enquiry-note { font-size: 13px; line-height: 1.7; color: #101010; }
.stay-summary > div { font-size: 14px; }
.stay-summary dt { color: #101010; }
.enquiry-cta { font-size: 14px; }
.no-payment { font-size: 11px; color: #101010; }
@media(max-width:1200px) {
  :root { --header-inset: 4.5%; --content-inset: 4.5%; --booking-inset: 4%; }
  .field-trigger { padding-inline: 12px; }
  .booking-form { padding-inline: 12px; }
  .field-icon { width: 20px; height: 20px; }
}
@media(max-width:1000px) {
  .booking-form { grid-template-columns: minmax(0,1.2fr) repeat(3,minmax(0,1fr)); padding: 16px; }
  .find-stay { min-height: 52px; }
}
@media(max-width:1000px) {
  :root { --header-height: 90px; --header-inset: 6.5%; --content-inset: 6.5%; --booking-inset: 5%; --booking-bottom: 32px; }
  .booking-topline > p { font-size: 10px; }
  .field-value { font-size: 15px; }
  .booking-bottomline > p { font-size: 11px; }
  .popover { max-height: calc(100svh - var(--safe-top) - var(--safe-bottom) - 32px); overflow-y: auto; }
}
@media(max-width:600px) {
  :root { --header-height: 86px; --header-inset: 7%; --content-inset: 7%; --booking-inset: 6%; --booking-bottom: 21px; }
  .hero { min-height: calc(820px + var(--safe-top)); }
  .hero-content { top: calc(var(--header-height) + var(--safe-top) + 34px); }
  .booking-form { grid-template-columns: minmax(0,1fr) minmax(0,1fr); padding: 12px 14px 14px; }
  .field-label, .destination-field .field-label { font-size: 12px; }
  .field-value, .destination-field .field-value, .guests-field .field-value { font-size: 16px; }
  .destination-field .field-trigger { min-height: 62px; }
  .date-field .field-trigger { min-height: 55px; }
  .guests-field .field-trigger { min-height: 56px; padding-block: 13px; }
  .destination-field .field-icon { width: 20px; height: 20px; }
  .find-stay { min-height: 52px; font-size: 15px; }
  .booking-topline > p { max-width: 205px; font-size: 9.5px; letter-spacing: 1px; }
  .booking-symbol { width: 18px; height: 18px; }
  .booking-bottomline { margin-top: 13px; }
  .booking-bottomline > p { font-size: 11px; }
  .guests-popover { width: calc(100% + 28px); right: -14px; }
  .calendar-popover {
    width: min(390px, calc(100vw - max(17px,var(--safe-left)) - max(17px,var(--safe-right))));
    top: calc(50% + (var(--safe-top) - var(--safe-bottom)) / 2);
    max-height: calc(100svh - var(--safe-top) - var(--safe-bottom) - 32px);
  }
  .day { height: 40px; }
  dialog { max-height: calc(100svh - var(--safe-top) - var(--safe-bottom) - 24px); }
}
@media(max-width:360px) {
  :root { --booking-inset: 5%; }
  .hero { min-height: calc(810px + var(--safe-top)); }
  .destination-field .field-icon { display: none; }
  .booking-topline > p { font-size: 9px; }
}

.stepper .icon { width: 14px; height: 14px; stroke-width: 1.7; }
@media(max-width:1000px) and (max-height:600px) {
  .hero-content { top: calc(var(--header-height) + var(--safe-top) + 28px); }
  .calendar-popover {
    position: fixed;
    left: 50%;
    right: auto;
    bottom: auto;
    top: calc(50% + (var(--safe-top) - var(--safe-bottom)) / 2);
    transform: translate(-50%, -50%);
    width: min(640px, calc(100vw - var(--safe-left) - var(--safe-right) - 32px));
    max-height: calc(100svh - var(--safe-top) - var(--safe-bottom) - 32px);
    overflow-y: auto;
    animation: none;
  }
}

/* Safari 26 uses the body background for browser chrome at the page edge.
   Keep this fallback continuous with the hero, and give ivory sections their
   own paint rather than tinting the entire document ivory. */
html, body { background-color: #1e2225; }
.coastal-note {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-inline: 5.3%;
  background: var(--paper);
}
@media(max-width:1000px) { .coastal-note { padding-inline: 6.4%; } }
@media(max-width:600px) { .coastal-note { padding-inline: 7%; } }
