@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--navy:#073e55;--ink:#163e4c;--teal:#00899b;--coral:#f59a79;--paper:#faf9f5;--line:#d6dedb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.08}h2{font-size:clamp(36px,4.2vw,62px);letter-spacing:-1.5px}h3{font-size:27px}em{font-weight:400}p{color:#52676e}.wrap{width:min(1180px,88%);margin:auto}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.5px;line-height:1.6;color:var(--teal);margin-bottom:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:36px;padding:17px 26px;background:var(--coral);color:#193e4a;font-weight:700;font-size:14px;border:0;transition:background .2s,transform .2s}.button:hover{background:#ffb695;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.small{padding:12px 20px;gap:20px}.text-link{display:inline-flex;gap:35px;border:0;border-bottom:1px solid var(--ink);padding:0 0 9px;background:none;font-size:14px;font-weight:700;color:var(--ink)}.text-link:hover{color:var(--teal)}.brand{display:flex;align-items:center;gap:11px;font-family:'DM Serif Display',Georgia,serif;font-size:27px;line-height:1.2;white-space:nowrap}.brand small{display:block;font:9px/2 'DM Sans',sans-serif;letter-spacing:2px}.sun-mark{font-size:43px;color:#d77749;font-family:Georgia,serif}header{height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 5%;background:var(--paper);position:sticky;top:0;z-index:20;box-shadow:0 1px 0 #073e5510}nav{display:flex;gap:29px;font-size:13px;font-weight:600}nav a:hover{color:var(--teal)}.hero{height:calc(100svh - 94px);min-height:620px;max-height:950px;position:relative;color:white;overflow:hidden}.hero-photo{height:100%;position:absolute;inset:0;object-position:center 48%;animation:heroIn 1.3s ease-out}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,26,48,.72),rgba(4,26,48,.12) 90%),linear-gradient(0deg,rgba(4,26,48,.5),transparent 40%)}.hero-content{position:relative;width:min(1180px,88%);margin:auto;padding-top:clamp(90px,13vh,170px)}.hero .eyebrow{color:#ffe0b0}.hero h1{font-size:clamp(46px,5.8vw,88px);letter-spacing:-2px;line-height:1.08;text-shadow:0 2px 15px #09273922}.hero h1 em{color:#ffcfad}.hero-content>p:not(.eyebrow){color:#fff;margin:27px 0 32px;font-size:17px;line-height:1.8}.hero-secondary{font-size:14px;display:inline-flex;gap:28px;margin-left:30px;border-bottom:1px solid #ffffff88;padding-bottom:8px}.hero-bottom{position:absolute;bottom:30px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}.facts{display:grid;grid-template-columns:repeat(4,1fr);padding:31px 6%;border-bottom:1px solid var(--line);background:#f0f2ed;font-size:14px;text-align:center}.facts span+span{border-left:1px solid #bfcfcb}.facts strong{font-family:'DM Serif Display',serif;font-size:28px;font-weight:400;margin-right:8px}.intro{display:grid;grid-template-columns:1fr 1.05fr;gap:8%;align-items:center;padding-top:110px;padding-bottom:100px}.intro-copy>p:not(.eyebrow){margin:24px 0;max-width:460px}.intro-copy .text-link{margin-top:8px}.intro-photo{position:relative}.intro-photo img{aspect-ratio:4/4.4}.photo-note{position:absolute;bottom:-22px;right:-18px;background:var(--navy);color:#fff;padding:18px 26px;font-family:'DM Serif Display',serif;font-size:20px;font-style:italic}.stay-section{padding-top:20px;padding-bottom:90px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}.section-heading>p{font-size:14px;padding-bottom:4px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.room-grid img{aspect-ratio:1.2}.room-grid article>div{padding-top:23px}.room-grid .eyebrow{font-size:10px;letter-spacing:1.8px;display:block;margin-bottom:10px}.room-grid p{font-size:14px;margin-top:12px;line-height:1.7}.amenities{display:flex;flex-wrap:wrap;justify-content:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:19px 30px;margin-top:50px;padding:22px 10px;font-size:12px}.amenities span::before{content:'✓';color:var(--teal);margin-right:9px}.pool-section{display:grid;grid-template-columns:1.25fr 1fr;background:var(--navy);color:white}.pool-section>img{height:100%;min-height:480px}.pool-copy{padding:75px 15% 75px 14%}.pool-copy .eyebrow{color:#86d4d9}.pool-copy h2{font-size:72px}.pool-copy h2 em{color:#fcc9a5}.pool-copy p:not(.eyebrow){color:#cee0e1;margin:28px 0}.light{color:#fff;border-color:#8dabaf}.explore{padding-top:105px;padding-bottom:100px}.explore-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%}.explore-layout>img{height:100%;max-height:640px}.experiences article{display:flex;gap:23px;padding:28px 0;border-top:1px solid var(--line)}.experiences article:first-child{padding-top:4px;border:0}.experiences article>span{font:italic 23px 'DM Serif Display',serif;color:var(--teal)}.experiences p{font-size:14px;margin:12px 0}.experiences a{font-size:12px;font-weight:700;border-bottom:1px solid #91b9b9;padding-bottom:4px}.gallery-section{padding:65px 0 80px;background:#edf2ef}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:15px;padding:0 3%}.gallery-grid button{position:relative;padding:0;border:0;background:var(--navy);overflow:hidden;color:white;text-align:left}.gallery-grid img{height:330px;transition:transform .4s}.gallery-grid button:hover img{transform:scale(1.035)}.gallery-grid button::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#002a3fb8)}.gallery-grid span{position:absolute;bottom:22px;left:24px;z-index:1;font-size:14px}.details{display:grid;grid-template-columns:1fr 1.15fr;gap:9%;padding-top:100px;padding-bottom:90px}.full-logo{width:210px;height:210px;object-fit:contain;margin-top:35px;mix-blend-mode:multiply}.faqs details{border-bottom:1px solid var(--line);padding:21px 0}.faqs details:first-child{padding-top:0}.faqs summary{cursor:pointer;font-weight:600;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:25px}.faqs summary::-webkit-details-marker{display:none}.faqs summary::after{content:'+';font-size:23px;font-weight:400}.faqs details[open] summary::after{content:'−'}.faqs p{font-size:14px;margin-top:13px}.booking{background:#063e53;color:white;padding:85px 0}.booking-inner{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.booking .eyebrow{color:#9adadd}.booking h2{font-size:80px}.booking h2 em{color:#fac5a0}.booking-copy>p:not(.eyebrow){color:#d1e2e4;margin-top:25px}.booking ul{list-style:none;padding:0;margin:30px 0;font-size:14px;color:#e0ebea}.booking li{padding:6px 0}.booking li::before{content:'✓';color:#92d2d3;margin-right:12px}.booking-copy .booking-note{font-size:12px;max-width:330px}.booking-card{background:white;color:var(--ink);padding:30px;box-shadow:0 15px 50px #0018242b}.booking-card>p{font-size:13px;margin:7px 0 14px}.booking-card iframe{width:100%;height:520px;border:0;display:block;background:white}.booking-fallback{display:block;text-align:center;font-size:12px;text-decoration:underline;margin-top:10px}footer{display:flex;align-items:center;justify-content:space-between;padding-top:35px;padding-bottom:35px;gap:20px}footer p{font-size:13px;font-style:italic}footer>span{font-size:11px}.skip{position:fixed;top:-80px;left:20px;background:#fff;padding:15px;z-index:100}.skip:focus{top:10px}dialog{border:0;background:#072e3d;color:white;width:min(1100px,96vw);padding:45px 25px 20px;max-height:95svh}dialog::backdrop{background:#001e2de8}dialog figure{margin:0}dialog img{height:65svh;object-fit:contain}dialog figcaption{text-align:center;font-size:14px;padding:14px 0}.close-gallery{position:absolute;top:4px;right:13px;border:0;background:none;color:white;font-size:32px}.gallery-controls{display:flex;justify-content:center;gap:30px;align-items:center;font-size:14px}.gallery-controls button{border:1px solid #84a2ad;background:none;color:white;width:45px;height:42px}.reveal{animation:reveal .7s ease both;animation-timeline:view();animation-range:entry 0% entry 20%}@keyframes reveal{from{opacity:.65;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes heroIn{from{transform:scale(1.045)}to{transform:scale(1)}}
@media(min-width:1600px){.hero-content{padding-top:160px}}@media(max-width:1000px){nav{gap:15px}.brand{font-size:23px}.brand small{font-size:8px}header{padding:0 4%}.sun-mark{font-size:34px}.pool-copy{padding:60px 10%}.room-grid{gap:18px}.hero h1{font-size:65px}.booking-inner{gap:6%}.section-heading>p{max-width:230px}.booking h2{font-size:67px}}@media(max-width:760px){header{height:76px;padding:0 5%}nav{display:none}.brand{font-size:24px}.brand small{font-size:7px;letter-spacing:1.6px}.sun-mark{font-size:32px}.small{font-size:11px;padding:11px 12px;gap:12px}.small span{display:none}.hero{height:calc(88svh - 76px);min-height:565px;max-height:760px}.hero-photo{object-position:48% center}.hero-shade{background:linear-gradient(90deg,#082b4aac,#082b4a33),linear-gradient(0deg,#082b4a66,transparent)}.hero-content{padding-top:95px;width:89%}.hero h1{font-size:clamp(40px,8vw,58px);letter-spacing:-1.3px}.hero .eyebrow{font-size:10px;letter-spacing:2px}.hero-content>p:not(.eyebrow){font-size:15px;margin:24px 0 30px}.hero .button{font-size:12px;padding:15px 19px;gap:20px}.hero-secondary{margin-left:18px;gap:14px;font-size:12px}.hero-bottom{font-size:8px;letter-spacing:1.2px;bottom:22px}.hero-bottom span:first-child{display:none}.facts{grid-template-columns:repeat(2,1fr);gap:15px 0;padding:25px 6%;font-size:12px}.facts span:nth-child(3){border-left:0}.facts strong{font-size:25px}.intro,.details{grid-template-columns:1fr;gap:40px;padding-top:65px;padding-bottom:65px}.intro-photo img{aspect-ratio:1.18}.photo-note{right:-10px;font-size:17px;padding:13px 18px}.intro-copy>p:not(.eyebrow){font-size:15px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:none;margin-top:18px}.section-heading .text-link{margin-top:25px}.room-grid{grid-template-columns:1fr;gap:35px}.room-grid article{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.room-grid article>div{padding:0}.room-grid img{height:210px;aspect-ratio:auto}.room-grid h3{font-size:24px}.room-grid .eyebrow{font-size:9px;letter-spacing:1px}.room-grid p{font-size:13px}.stay-section{padding-bottom:55px}.amenities{justify-content:start;gap:15px 20px;padding:24px 0;font-size:11px;margin-top:35px}.pool-section{grid-template-columns:1fr}.pool-section>img{min-height:0;height:320px}.pool-copy{padding:45px 8% 50px}.pool-copy h2{font-size:62px}.pool-copy p:not(.eyebrow){font-size:15px}.explore{padding-top:65px;padding-bottom:60px}.explore-layout{grid-template-columns:1fr;gap:35px}.explore-layout>img{height:340px}.gallery-section{padding:50px 0}.gallery-grid{grid-template-columns:1fr 1fr;padding:0 6%;gap:12px}.gallery-grid button:first-child{grid-column:1/-1}.gallery-grid img{height:220px}.gallery-grid button:first-child img{height:300px}.gallery-grid span{font-size:11px;left:14px;bottom:15px}.full-logo{display:none}.details{gap:25px}.details>div:first-child{position:relative}.details h2{font-size:40px}.faqs summary{font-size:15px}.booking{padding:55px 0}.booking-inner{grid-template-columns:1fr;gap:35px}.booking h2{font-size:68px}.booking-card{padding:23px 18px}.booking-card iframe{height:540px}.booking-copy .booking-note{max-width:none}footer{flex-wrap:wrap;padding-bottom:35px}footer p{display:none}footer>span{font-size:10px}dialog{padding:45px 12px 20px}dialog img{height:58svh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Supplied transparent brand artwork */
header{height:88px}header .brand-logo{width:76px;height:76px;object-fit:contain}.hero{height:calc(100svh - 88px)}footer .brand-logo{width:145px;height:145px;object-fit:contain}.full-logo{mix-blend-mode:normal}html{scroll-padding-top:100px}@media(max-width:760px){header{height:76px}header .brand-logo{width:64px;height:64px}.hero{height:calc(88svh - 76px)}html{scroll-padding-top:88px}footer .brand-logo{width:120px;height:120px}}

/* Centered mobile footer brand and copyright */
@media(max-width:760px){footer.wrap{flex-direction:column;justify-content:center;text-align:center;gap:12px}}

/* Desktop footer signature */
@media(min-width:761px){footer>p{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(18px,1.7vw,24px);font-style:italic;font-weight:400;line-height:1.45;letter-spacing:.15px;color:#47747a;text-align:center}}

/* Centered desktop navigation with stronger typography */
@media(min-width:761px){header nav{margin:0;font-size:12px;font-weight:700;text-transform:uppercase;gap:clamp(20px,2.2vw,36px)}header nav a{position:relative;padding:12px 0;letter-spacing:1.3px}header nav a::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:2px;background:var(--teal);transform:scaleX(0);transform-origin:center;transition:transform .2s}header nav a:hover::after,header nav a:focus-visible::after{transform:scaleX(1)}}
