:root{--teal:#0b6773;--violet:#cc46e3;--ivory:#faf8f3;--sand:#eeebe2;--ink:#203331;--muted:#65716d;--line:#d9dcd3;--serif:'Coco Serif',Georgia,serif;--sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.75}body:has(dialog[open]){overflow:hidden}img{max-width:100%;display:block;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--violet);outline-offset:5px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.07;margin:0 0 24px;letter-spacing:-.035em}h1{font-size:clamp(60px,7.8vw,120px)}h2{font-size:clamp(42px,4.6vw,72px)}h3{font-size:clamp(30px,2.7vw,43px)}em{font-weight:400}p{margin:0 0 28px;max-width:520px}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:120px}.eyebrow{display:block;font-size:10px;letter-spacing:.23em;text-transform:uppercase;font-weight:600;margin-bottom:24px;color:var(--teal)}.button{border:0;background:var(--violet);color:#241128;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:19px 27px;font-size:10px;line-height:1.4;letter-spacing:.13em;text-transform:uppercase;font-weight:700;min-height:54px;transition:filter .2s,transform .2s}.button:hover{filter:brightness(1.08)}.button span{font-size:20px;font-weight:400;line-height:1}.button-outline{border:1px solid var(--violet)}.button-light{background:var(--violet);color:#241128}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:44px;border-bottom:1px solid var(--teal);padding:11px 0;font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;color:var(--teal);transition:gap .25s}.text-link:hover{gap:46px}.text-link span{font-size:19px}.light{color:#fff;border-color:#ffffff80}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ivory);padding:14px;z-index:100}.skip-link:focus{top:10px}.site-header{position:fixed;top:0;left:0;width:100%;height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;gap:25px;z-index:30;color:white;border-bottom:1px solid #ffffff30;transition:background .3s,color .3s,height .3s}.site-header.is-scrolled,.is-inner .site-header{background:var(--ivory);color:var(--ink);height:86px;border-color:var(--line)}body.admin-bar .site-header{top:32px}.brand{display:inline-block;min-width:170px}.brand>span{font-family:var(--serif);font-size:34px;letter-spacing:-.01em;line-height:1}.brand small{display:block;font-size:7px;letter-spacing:.23em;margin-top:10px;text-align:center}.brand-image{max-height:58px;width:auto;max-width:190px;object-fit:contain}.nav-links{list-style:none;display:flex;align-items:center;gap:23px;padding:0;margin:0}.nav-links a{font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;white-space:nowrap}.nav-links a:hover{color:var(--violet)}.header-actions{display:flex;align-items:center;gap:18px}.header-book{font-size:9px;padding:15px 22px;min-height:48px}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:9px}.menu-toggle span{height:1px;background:currentColor;display:block;margin:8px 0;width:26px}.hero{height:min(940px,100svh);min-height:720px;position:relative;color:white}.hero-image,.hero>img{position:absolute;inset:0;width:100%;height:100%;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#052c3480,transparent 80%),linear-gradient(0deg,#06333865,transparent 55%)}.hero-content{position:absolute;left:max(7%,calc((100vw - 1280px)/2));top:50%;transform:translateY(-46%);max-width:690px;padding-top:50px}.hero-content .eyebrow{color:white}.hero-content h1{max-width:690px;text-wrap:balance;margin-bottom:28px}.hero-content p{max-width:420px;font-size:13px;line-height:1.9;margin-bottom:26px}.hero-bottom{position:absolute;bottom:110px;left:7%;right:7%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.18em}.hero-bottom>a{display:flex;align-items:center;gap:20px;font-size:25px}.hero-bottom>a span{font-size:9px;text-transform:uppercase}.booking-wrap{position:relative;z-index:3;width:min(1120px,calc(100% - 112px));margin:-62px auto 0}.booking-bar{background:var(--ivory);box-shadow:0 12px 34px #1029250b;display:grid;grid-template-columns:1fr 1fr 1fr 1.45fr;padding:25px 30px;align-items:center;gap:0}.booking-bar>label{padding:0 24px;border-right:1px solid var(--line);font-size:9px;letter-spacing:.15em;text-transform:uppercase;font-weight:600}.booking-bar>label:first-child{padding-left:0}.booking-bar input,.booking-bar select{display:block;width:100%;border:0;background:transparent;color:var(--ink);font-size:13px;padding:12px 0 0;letter-spacing:0;text-transform:none;min-height:42px}.booking-bar>.button{margin-left:25px;white-space:nowrap}.form-error{color:#8a1641;font-size:13px;margin:0;grid-column:1/-1}.form-error:not(:empty){margin-top:14px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-top:145px}.intro h2{font-size:clamp(40px,4.2vw,66px);max-width:510px}.intro-copy p{font-size:14px}.intro-images{position:relative;padding-bottom:55px}.intro-main{height:560px;width:82%;margin-left:auto}.intro-detail{position:absolute;width:52%;height:260px;left:-30px;bottom:30px;border:9px solid var(--ivory)}.image-note{font-size:8px;letter-spacing:.2em;position:absolute;right:0;bottom:0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:55px}.section-heading h2{margin-bottom:0;max-width:750px}.section-heading>.text-link{flex-shrink:0;margin-bottom:6px}.section-heading>p{max-width:390px;font-size:13px;margin:0 0 10px}.stay-section{padding-top:30px;overflow:hidden}.suite-slider{overflow:hidden}.suite-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.suite-track::-webkit-scrollbar{display:none}.suite-slide{flex:0 0 76%;scroll-snap-align:start}.suite-photo{display:block;position:relative;overflow:hidden}.suite-photo img{width:100%;height:560px;transition:transform .7s}.suite-photo:hover img{transform:scale(1.035)}.suite-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#061d2355)}.suite-photo-name{position:absolute;bottom:30px;left:35px;font-family:var(--serif);font-size:42px;color:white;z-index:1}.suite-info{display:flex;justify-content:space-between;gap:35px;padding:30px 0 5px}.suite-info .eyebrow{font-size:8px;margin-bottom:14px}.suite-info h3{font-size:34px;margin-bottom:15px}.suite-info p{font-size:13px;max-width:510px;margin-bottom:13px}.suite-info .text-link{align-self:center;flex-shrink:0}.suite-feature{font-size:10px;color:var(--muted)}.slider-controls{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.slider-count{font-size:11px;letter-spacing:.2em}.slider-controls button{border:1px solid var(--line);background:none;width:50px;height:50px;border-radius:50%;font-size:22px;margin-left:10px}.slider-controls button:hover{background:var(--teal);color:white}.visual-break{position:relative;height:630px;overflow:hidden;color:white;display:grid;place-items:center;text-align:center}.visual-break>img{position:absolute;inset:0;width:100%;height:100%}.visual-break:after{content:'';position:absolute;inset:0;background:#07313c50}.visual-copy{position:relative;z-index:1;padding:50px 25px}.visual-copy .eyebrow{color:white}.visual-copy h2{font-size:clamp(48px,6vw,92px)}.visual-copy p{font-size:13px;line-height:1.8;margin:0 auto}.spa-section{background:var(--sand)}.spa-section h2{max-width:680px}.section-note{font-size:9px;letter-spacing:.18em;color:var(--teal);text-align:right;margin-bottom:5px}.spa-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.spa-photo img{height:660px;width:100%}.spa-copy>p{font-size:14px}.treatment-list{margin:35px 0}.treatment-list>div{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;align-items:center;padding:23px 0;border-bottom:1px solid #cfd2c9}.treatment-list dt{font-family:var(--serif);font-size:25px;line-height:1.2}.treatment-list dd{margin:0;font-size:11px;color:var(--muted)}.hammam-strip{display:grid;grid-template-columns:1fr 1.6fr;gap:100px;margin-top:95px;align-items:center}.hammam-strip p{font-family:var(--serif);font-size:55px;line-height:1.1;margin:0;padding-left:55px}.hammam-strip img{width:100%;height:330px}.dining-section{background:#082e34;color:#fff}.dining-section .eyebrow{color:#9ccacf}.dining-section .section-heading h2{max-width:750px}.dining-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:55px;align-items:start}.dining-item:nth-child(2){margin-top:115px}.dining-item img{height:490px;width:100%;margin-bottom:30px}.dining-item:nth-child(2) img{height:390px}.dining-item .eyebrow{font-size:8px;margin-bottom:14px}.dining-item h3{margin-bottom:12px}.dining-item p{font-size:12px;color:#bfd0d0}.experience-collage{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:280px 280px;gap:18px}.experience-tile{position:relative;overflow:hidden}.experience-tile:first-child{grid-row:span 2}.experience-tile img{width:100%;height:100%;transition:transform .65s}.experience-tile:hover img{transform:scale(1.04)}.experience-tile:after{position:absolute;content:'';inset:45% 0 0;background:linear-gradient(transparent,#071d3370)}.experience-tile>span{position:absolute;bottom:23px;left:24px;right:20px;font-family:var(--serif);font-size:27px;color:white;z-index:1}.experience-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:35px;gap:30px}.experience-bottom .eyebrow{font-size:8px;margin:0}.ocean{height:580px}.weddings{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center}.wedding-copy h2{font-size:clamp(42px,4.4vw,67px)}.wedding-copy p{font-size:14px}.wedding-photo img{height:640px;width:100%}.gallery-section{padding-top:20px}.gallery-filters{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:35px}.gallery-filters button{background:none;border:0;border-bottom:1px solid transparent;padding:10px 0;font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}.gallery-filters button[aria-pressed=true]{color:var(--teal);border-color:var(--violet)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:start}.gallery-item{padding:0;border:0;background:none;position:relative;overflow:hidden;display:block;width:100%}.gallery-item img{height:330px;width:100%;transition:transform .6s}.gallery-item:nth-child(even){margin-top:55px}.gallery-item:nth-child(3n) img{height:240px}.gallery-item:hover img{transform:scale(1.04)}.gallery-item>span{position:absolute;bottom:0;left:0;width:100%;padding:15px;background:#082e34c0;color:white;font-size:9px;letter-spacing:.12em;transform:translateY(100%);transition:transform .2s}.gallery-item:hover>span,.gallery-item:focus-visible>span{transform:none}.gallery-item[hidden]{display:none}.statement{border-top:1px solid var(--line);text-align:center;padding-inline:30px}.statement h2{font-size:clamp(32px,3.4vw,54px);line-height:1.3}.statement-mark{display:block;margin-top:35px;font-size:25px;color:var(--violet)}.location-section{background:var(--sand)}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.location-grid p{font-size:14px}.location-card{background:var(--teal);color:white;padding:50px}.location-card .eyebrow{color:#cde3e4}.location-card h3{font-size:48px}.location-card ul{list-style:none;padding:0;margin:25px 0}.location-card li{border-bottom:1px solid #ffffff35;padding:18px 0;display:flex;gap:25px;font-size:12px}.location-card li span{font-size:9px;color:#a5ccce}.location-card .text-link{color:white;border-color:#ffffff65;font-size:9px}.final-booking{height:600px}.final-booking .button{margin-top:18px}.site-footer{background:#062c32;color:#e9eeee;padding:90px 56px 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px;max-width:1280px;margin:0 auto 70px;padding-bottom:65px;border-bottom:1px solid #ffffff25}.footer-top .eyebrow{color:#a8ced1}.footer-top h2{font-size:clamp(36px,4vw,60px);margin:0}.footer-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.3fr .85fr .85fr 1.2fr;gap:60px}.footer-grid .eyebrow{color:#a8ced1;font-size:9px;margin-bottom:20px}.footer-grid .brand{margin-bottom:20px}.footer-grid .brand small{text-align:left}.address{font-size:11px;line-height:1.9;color:#bfd0d0}.footer-link{display:block;font-size:11px;margin-bottom:12px}.footer-link:hover{color:var(--violet)}.footer-link span{display:none}.social-links{display:flex;gap:20px;font-size:10px;margin-top:25px}.footer-bottom{max-width:1280px;margin:65px auto 0;padding-top:25px;border-top:1px solid #ffffff25;display:flex;justify-content:space-between;gap:25px;font-size:8px;color:#afc8ca;letter-spacing:.06em}.dialog-close{position:absolute;right:20px;top:15px;width:44px;height:44px;border:0;background:none;font-size:32px;line-height:1;z-index:2}.booking-dialog{width:min(650px,calc(100% - 30px));max-height:90svh;border:0;background:var(--ivory);color:var(--ink);padding:55px;overflow:auto}.booking-dialog::backdrop,.mobile-menu::backdrop{background:#031e28a8}.booking-dialog h2{font-size:52px}.booking-dialog>p{font-size:13px}.enquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.enquiry-fields>label:last-child{grid-column:1/-1}.booking-dialog label{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px}.booking-dialog input,.booking-dialog textarea,.booking-dialog select{display:block;width:100%;background:transparent;border:1px solid var(--line);padding:12px;margin-top:8px;color:var(--ink);font-size:14px;letter-spacing:0;text-transform:none}.booking-dialog .button{margin-top:12px;width:100%}.fine-print{font-size:11px;color:var(--muted);line-height:1.6;margin-top:16px}.lightbox{width:min(1200px,95vw);max-height:95svh;border:0;background:#062c32;color:white;padding:55px 25px 15px}.lightbox::backdrop{background:#001218e8}.lightbox img{max-height:75svh;width:100%;object-fit:contain}.lightbox p{font-size:12px;margin:15px auto 0;text-align:center}.mobile-menu{border:0;background:var(--ivory);width:100%;height:100svh;max-height:100svh;max-width:100%;margin:0;padding:90px 35px 35px}.mobile-menu .nav-links{display:block;margin:35px 0}.mobile-menu li{margin:15px 0}.mobile-menu .nav-links a{font-family:var(--serif);font-size:34px;letter-spacing:0;text-transform:none}.inner-hero{position:relative;height:590px;color:white;display:flex;align-items:flex-end;padding:80px max(56px,calc((100vw - 1280px)/2))}.inner-hero>div:last-child{position:relative;z-index:1}.inner-hero .eyebrow{color:white}.inner-hero h1{font-size:clamp(52px,6vw,90px);margin:0}.page-content{max-width:800px;margin-inline:auto}.page-content h2{font-size:48px;margin-top:45px}.page-content h3{font-size:32px}.page-content p{max-width:none}.page-content img{height:auto}.page-content ul{padding-left:22px}.page-content a{color:var(--teal);text-decoration:underline}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 40px;margin-top:60px}.room-grid img{width:100%;height:370px;margin-bottom:25px}.room-grid h3{margin-bottom:15px}.room-grid p{font-size:13px}.page-cta{padding-block:45px;text-align:center}.contact-card{max-width:800px;margin:40px auto}.contact-card a{display:block;color:var(--teal);margin-bottom:12px}.suite-detail{display:grid;grid-template-columns:1.6fr 1fr;gap:80px;align-items:start}.suite-detail .page-content{width:100%}.suite-summary{background:var(--sand);padding:40px}.suite-summary p{font-size:13px}.suite-summary strong{font-size:9px;text-transform:uppercase;letter-spacing:.13em}.archive-content{padding-top:170px;min-height:65vh}.archive-content article{padding-block:35px;border-bottom:1px solid var(--line)}.archive-content h2{font-size:36px}.has-motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.has-motion .reveal.is-visible{opacity:1;transform:none}
@media(min-width:1500px){.site-header{padding-inline:70px}.nav-links{gap:30px}.nav-links a{font-size:10px}}
@media(max-width:1200px){.site-header{padding-inline:30px}.nav-links{gap:14px}.nav-links a{font-size:8px}.brand{min-width:145px}.brand>span{font-size:30px}.header-book{padding:14px 17px;font-size:8px}.container{width:calc(100% - 80px)}.intro,.spa-grid,.weddings{gap:55px}.suite-photo img{height:480px}.footer-grid{gap:30px}.hero-content{max-width:630px}}
@media(max-width:1000px){.desktop-nav{display:none}.menu-toggle{display:block}.header-book{font-size:9px}.section{padding-block:90px}.intro{gap:40px}.intro-main{height:450px}.intro-detail{height:210px;left:0}.spa-grid{gap:40px}.spa-photo img{height:570px}.treatment-list>div{grid-template-columns:1fr;padding:18px 0;gap:5px}.hammam-strip{gap:40px}.hammam-strip p{padding-left:0;font-size:45px}.location-grid{gap:50px}.booking-bar{padding:22px}.booking-bar>label{padding-inline:15px}.booking-bar>.button{padding-inline:16px;margin-left:15px;font-size:8px}.experience-collage{grid-template-rows:230px 230px}.experience-tile>span{font-size:23px;left:16px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px 65px}.suite-info{display:block}.suite-info .text-link{margin-top:12px}.suite-detail{gap:40px}.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-item:nth-child(even){margin-top:0}}
@media(max-width:700px){html{scroll-padding-top:80px}body{font-size:14px}.container{width:calc(100% - 40px)}.section{padding-block:70px}h2{font-size:43px}.eyebrow{font-size:8px;letter-spacing:.19em;margin-bottom:20px}.site-header,.site-header.is-scrolled,.is-inner .site-header{height:78px;padding:0 20px;gap:15px}body.admin-bar .site-header{top:46px}.brand{min-width:120px}.brand>span{font-size:28px}.brand small{font-size:6px;letter-spacing:.13em;margin-top:6px}.brand-image{max-width:130px;max-height:48px}.header-book{padding:12px 13px;min-height:40px;font-size:8px;gap:8px}.header-book span{display:none}.header-actions{gap:5px}.hero{height:86svh;min-height:650px}.hero-image{object-position:62% center}.hero-content{left:24px;right:24px;max-width:440px;top:47%;transform:translateY(-40%);padding-top:25px}.hero-content h1{font-size:clamp(53px,12.5vw,78px);max-width:410px;line-height:1.04;margin-bottom:25px}.hero-content .eyebrow{font-size:7px}.hero-content p{font-size:12px;max-width:320px}.hero-content .text-link{font-size:9px}.hero-bottom{left:24px;right:24px;bottom:80px}.hero-bottom>span{display:none}.booking-wrap{width:calc(100% - 40px);margin-top:-42px}.booking-bar{grid-template-columns:1fr 1fr;gap:18px;padding:22px}.booking-bar>label{padding:0;border:0;font-size:8px}.booking-bar>label:first-child{border-right:1px solid var(--line);padding-right:12px}.booking-bar>.button{margin:0;font-size:8px;padding:14px 13px;min-height:50px;gap:8px;white-space:normal}.booking-bar input,.booking-bar select{font-size:12px}.intro{display:block;padding-top:80px}.intro h2{font-size:45px}.intro-copy p{font-size:13px}.intro-images{margin-top:45px;padding-bottom:40px}.intro-main{height:420px;width:85%}.intro-detail{height:200px;width:50%;left:0;bottom:25px;border-width:6px}.image-note{font-size:7px}.section-heading{display:block;margin-bottom:35px}.section-heading h2{font-size:43px}.section-heading>.text-link{margin-top:22px}.stay-section{padding-top:20px}.suite-slide{flex-basis:88%}.suite-track{gap:14px}.suite-photo img{height:390px}.suite-photo-name{font-size:32px;left:22px;bottom:23px}.suite-info{padding-top:23px}.suite-info h3{font-size:30px}.suite-info p{font-size:12px}.suite-info .eyebrow{font-size:7px}.slider-controls{margin-top:10px}.slider-controls button{height:44px;width:44px}.visual-break{height:480px}.visual-copy h2{font-size:49px}.visual-copy p{font-size:12px}.spa-grid{display:block}.spa-photo img{height:440px}.spa-copy{margin-top:35px}.spa-copy>p{font-size:13px}.section-note{display:none}.treatment-list>div{grid-template-columns:1fr 1.2fr;gap:12px;padding:20px 0}.treatment-list dt{font-size:23px}.treatment-list dd{font-size:10px}.hammam-strip{display:block;margin-top:50px}.hammam-strip p{font-size:40px;margin-bottom:30px}.hammam-strip img{height:280px}.dining-grid{display:block}.dining-item{display:block}.dining-item img{height:360px}.dining-item:nth-child(2){margin-top:45px}.dining-item:nth-child(2) img{height:330px}.dining-item h3{font-size:33px}.section-heading>p{margin-top:25px;font-size:13px}.experience-collage{grid-template-columns:1fr 1fr;grid-template-rows:360px 230px 230px;gap:12px}.experience-tile:first-child{grid-row:auto;grid-column:span 2}.experience-tile>span{font-size:23px;left:15px;bottom:17px;right:12px}.experience-bottom{display:block;margin-top:25px}.experience-bottom .eyebrow{font-size:7px;line-height:1.8}.experience-bottom .text-link{margin-top:12px}.ocean{height:420px}.weddings{display:flex;flex-direction:column;gap:35px;align-items:stretch}.wedding-copy h2{font-size:43px}.wedding-copy p{font-size:13px}.wedding-photo img{height:440px}.gallery-section{padding-top:15px}.gallery-filters{gap:17px;margin-bottom:25px}.gallery-filters button{font-size:8px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-item img{height:220px}.gallery-item:nth-child(3n) img{height:220px}.statement h2{font-size:33px}.statement .eyebrow{font-size:7px}.location-grid{display:block}.location-grid h2{font-size:48px}.location-card{margin-top:40px;padding:30px}.location-card h3{font-size:43px}.location-card li{font-size:11px;gap:18px}.final-booking{height:480px}.final-booking h2{font-size:44px}.site-footer{padding:65px 25px 25px}.footer-top{display:block;margin-bottom:45px;padding-bottom:40px}.footer-top h2{font-size:42px}.footer-top .button{margin-top:30px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:span 2}.footer-grid .eyebrow{font-size:8px}.footer-bottom{display:block;margin-top:40px;font-size:8px}.footer-bottom span{display:block;margin-bottom:10px}.booking-dialog{padding:50px 25px 30px}.booking-dialog h2{font-size:43px}.enquiry-fields{gap:12px}.booking-dialog label{font-size:9px}.lightbox{padding-inline:12px}.inner-hero{height:460px;padding:65px 25px}.inner-hero h1{font-size:55px}.page-content h2{font-size:36px}.room-grid{grid-template-columns:1fr;gap:45px;margin-top:40px}.room-grid img{height:320px}.suite-detail{display:block}.suite-summary{margin-top:40px;padding:30px}.archive-content{padding-top:135px}.mobile-menu .button{margin-top:15px}.gallery-item>span{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.has-motion .reveal{opacity:1;transform:none}.suite-track{scroll-behavior:auto}}

.suite-track:after{content:"";flex:0 0 calc(24% - 24px)}
@media(max-width:700px){.suite-track:after{flex-basis:calc(12% - 14px)}}

/* v0.1.1 refinements */
.button,.button-light{color:#fff}.footer-bottom{font-size:11px;line-height:1.7}.calendar-dialog{border:0;border-radius:12px;padding:26px;background:var(--ivory);color:var(--ink);width:min(390px,calc(100% - 32px));box-shadow:0 24px 80px #042e3440}.calendar-dialog::backdrop{background:#03282d75}.calendar-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.calendar-top h2{font-family:var(--sans);font-size:16px;letter-spacing:0;margin:0;color:var(--teal);font-weight:600}.calendar-top button{border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--teal);width:36px;height:36px;font-size:20px}.calendar-top button:hover{background:var(--teal);color:white}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar-week span{font-size:10px;color:var(--muted);padding:8px 0}.calendar-days button{border:0;border-radius:7px;background:transparent;color:var(--ink);height:39px;padding:0;font-size:13px}.calendar-days button:hover:not(:disabled){background:#0b677318;color:var(--teal)}.calendar-days button.is-selected{background:var(--teal);color:white}.calendar-days button.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px var(--teal);color:var(--teal)}.calendar-days button:disabled{opacity:.3}.calendar-foot{margin-top:20px;display:flex;justify-content:space-between;gap:12px}.calendar-foot button{border:0;background:transparent;color:var(--teal);font-size:11px;padding:10px;min-height:40px}.calendar-foot button:last-child{background:var(--teal);color:white;border-radius:5px;padding-inline:20px}.calendar-input{cursor:pointer}.calendar-dialog .eyebrow{font-size:9px;margin-bottom:16px}@media(max-width:700px){.footer-bottom{font-size:10px}}
.button,.button-outline,.button-light{border:0;box-shadow:none}
.button:focus-visible{outline:2px solid var(--teal);outline-offset:4px}

.booking-bar>.button{justify-content:center;text-align:center}

.calendar-dialog{position:fixed;inset:auto;margin:0;z-index:100;overflow:auto}.calendar-dialog::backdrop{background:transparent;pointer-events:none}

/* v0.1.4: fields, navigation glass and editorial inner pages */
.calendar-input:focus,.calendar-input:focus-visible{outline:none;box-shadow:none}
.desktop-nav .nav-links a{position:relative;display:block;padding:12px 10px;border-radius:9px;transition:background .25s,box-shadow .25s,color .25s;isolation:isolate}.desktop-nav .nav-links{gap:4px}.desktop-nav .nav-links a:hover,.desktop-nav .nav-links a:focus-visible{color:inherit;background:rgba(255,255,255,.19);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);box-shadow:inset 0 1px 0 #ffffff70,0 5px 18px #072c3510}.site-header.is-scrolled .nav-links a:hover,.is-inner .site-header .nav-links a:hover{background:rgba(11,103,115,.07);color:var(--teal);box-shadow:inset 0 1px 0 #ffffffc0,0 3px 15px #0730390b}.mobile-menu .nav-links a{display:inline-block;padding:7px 14px;border-radius:12px}.mobile-menu .nav-links a:hover{background:#0b677310;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.page-editorial{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center;margin-top:80px}.page-editorial-image img{width:100%;height:560px}.page-editorial h2{font-size:clamp(42px,4.2vw,66px)}.page-editorial p{font-size:14px}.page-stories{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:100px}.page-stories img{width:100%;height:330px;margin-bottom:25px}.page-stories .eyebrow{font-size:8px;margin-bottom:14px}.page-stories h3{font-size:33px}.page-stories p{font-size:13px}.page-stories article:nth-child(2){padding-top:65px}.page-planning{text-align:center;background:var(--sand);padding:75px 50px;margin-top:80px}.page-planning h2{font-size:clamp(36px,4vw,58px)}.page-planning p{max-width:650px;margin-inline:auto;font-size:14px}.arrival-note{border-top:1px solid var(--line);padding-top:55px;margin-top:55px}.arrival-note p{font-size:14px}@media(max-width:1200px){.desktop-nav .nav-links a{font-size:8px;padding:10px 6px}.page-editorial{gap:50px}}@media(max-width:700px){.page-editorial{grid-template-columns:1fr;gap:35px;margin-top:45px}.page-editorial-image img{height:390px}.page-editorial h2{font-size:42px}.page-stories{grid-template-columns:1fr;gap:40px;margin-top:60px}.page-stories article:nth-child(2){padding:0}.page-stories img{height:340px}.page-planning{padding:45px 25px;margin-top:55px}.page-planning h2{font-size:37px}}

/* v0.1.5: guest menus, square glass navigation, two-line hero */
.desktop-nav .nav-links a,.mobile-menu .nav-links a{border-radius:0}
.hero-content{max-width:none;right:7%}
.hero-content h1:has(.hero-title-line){max-width:none;font-size:clamp(60px,7.2vw,110px);text-wrap:initial}
.hero-title-line{display:block;white-space:nowrap}
.guest-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;background:transparent;color:var(--ink);text-align:left;font-size:13px;letter-spacing:0;text-transform:none;min-height:42px;padding:12px 0 0}
.guest-trigger::after{content:'⌄';color:var(--teal);font-size:17px}
.booking-dialog .guest-trigger{background:var(--ivory);padding:12px 14px;border-radius:10px}
.guest-options{position:fixed;inset:auto;margin:0;padding:8px;background:var(--ivory);color:var(--ink);border:0;border-radius:14px;box-shadow:0 14px 45px #092e3426;max-height:calc(100dvh - 24px);overflow:auto}
.guest-options button{display:block;width:100%;padding:11px 14px;border:0;border-radius:8px;text-align:left;background:transparent;font-size:13px;color:var(--ink)}
.guest-options button:hover,.guest-options button:focus-visible{background:#0b677312;color:var(--teal)}
.guest-options button[aria-selected="true"]{background:var(--teal);color:white}
.guest-trigger:focus-visible,.guest-options button:focus-visible{outline:none}
.guest-trigger:focus-visible{color:var(--teal)}
select[hidden]{display:none!important}
@media(max-width:700px){.hero-content{max-width:none;right:24px}.hero-content h1:has(.hero-title-line){font-size:clamp(29px,8.7vw,60px);max-width:none}.guest-trigger{font-size:12px}}
