:root{--teal:#007f73;--deep:#061d27;--gold:#c49a55;--cream:#f8f5ef;--ink:#172d34;--muted:#6d7779;--line:#e7e6e2;--white:#fff;--shadow:0 24px 70px rgba(5,38,47,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:"Roboto",Arial,sans-serif;line-height:1.65}body.menu-open{overflow:hidden}p{font-size:15px}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.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}
.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:35px;padding:0 clamp(24px,7vw,120px);background:#fff;border-bottom:1px solid var(--line);position:fixed;top:0;left:0;right:0;z-index:20;transition:.25s}.site-header.is-scrolled{height:74px;box-shadow:0 10px 30px rgba(0,0,0,.05)}.logo{display:flex;align-items:center;gap:11px;line-height:1}.logo-mark{display:grid;place-items:center;width:43px;height:50px;border:1px solid var(--gold);color:var(--gold);font-size:26px;font-weight:300}.logo strong,.logo small{display:block;letter-spacing:.16em}.logo strong{font-size:12px}.logo small{margin-top:7px;color:var(--gold);font-size:7px}.site-nav{display:flex;align-items:center;gap:clamp(15px,1.7vw,30px);font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.site-nav a:not(.nav-cta){padding:12px 0}.site-nav a:not(.nav-cta):hover{color:var(--gold)}.nav-cta{padding:12px 18px;border:1px solid var(--teal);color:var(--teal)}.menu-toggle{display:none;border:0;background:none;width:42px;height:42px}.menu-toggle span{display:block;width:20px;height:1px;margin:5px auto;background:var(--deep)}
.logo{gap:0}.logo img{width:auto;height:84px;object-fit:contain}.site-header>.logo{padding:3px 9px;background:var(--deep)}.site-header.is-scrolled .logo img{height:66px}
.hero{padding-top:96px}.hero-media{position:relative;height:calc(100svh - 96px);min-height:590px;background:url("assets/hero-resort.png") center/cover;isolation:isolate}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,24,31,.7),rgba(2,24,31,.08) 65%,rgba(2,24,31,.15));z-index:-1}.hero-copy{position:absolute;left:clamp(24px,9vw,150px);top:50%;transform:translateY(-50%);max-width:620px;color:#fff}.eyebrow{margin:0 0 15px;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.25em;text-transform:uppercase}.eyebrow.light{color:#f0c986}.hero h1{margin:0;font-size:clamp(56px,7vw,112px);font-weight:300;letter-spacing:-.055em;line-height:.92;text-transform:uppercase}.hero-copy>p:not(.eyebrow){max-width:440px;margin:28px 0 32px;color:rgba(255,255,255,.82);font-size:15px;font-weight:300}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-width:190px;padding:14px 18px;border:1px solid transparent;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:.2s}.button:hover{transform:translateY(-2px)}.button-light{background:#fff;color:var(--teal)}.button-dark{background:var(--teal);color:#fff}.button-outline{border-color:var(--gold);color:#fff}.play-button{position:absolute;right:clamp(24px,6vw,100px);bottom:50px;border:0;background:transparent;color:#fff;font:500 9px/1 Roboto;letter-spacing:.18em;text-transform:uppercase}.play-button span{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border:1px solid rgba(255,255,255,.7);border-radius:50%;font-size:11px}.hero-index{position:absolute;left:clamp(24px,9vw,150px);bottom:38px;display:flex;align-items:center;gap:10px;color:#fff;font-size:9px}.hero-index i{display:block;width:70px;height:1px;background:rgba(255,255,255,.5)}
.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);max-width:1120px;margin:auto;padding:34px 20px}.feature-strip div{display:flex;align-items:center;justify-content:center;gap:12px;min-height:45px;border-right:1px solid var(--line)}.feature-strip div:last-child{border:0}.feature-strip b{color:var(--gold);font-size:20px;font-weight:300}.feature-strip span{font-size:9px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.section{padding:clamp(85px,9vw,150px) clamp(24px,7vw,120px)}h2,h3{margin:0;font-weight:300;letter-spacing:-.04em;line-height:1.08}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,130px);align-items:center;border-top:1px solid var(--line)}.intro-copy{max-width:440px;margin-left:auto}.intro h2,.section-heading h2,.offers h2{font-size:clamp(48px,5.3vw,82px)}.intro-copy>p:not(.eyebrow){margin:25px 0 28px;color:var(--muted);font-size:13px}.gold-rule{position:relative;width:120px;height:20px;margin:20px 0;color:var(--gold);font-size:10px;text-align:center}.gold-rule:before,.gold-rule:after{content:"";position:absolute;top:9px;width:45px;height:1px;background:var(--gold)}.gold-rule:before{left:0}.gold-rule:after{right:0}.intro-image{position:relative;height:600px;box-shadow:var(--shadow)}.image-note{position:absolute;left:-55px;bottom:42px;padding:20px 25px;background:#fff;box-shadow:var(--shadow)}.image-note span{display:block;color:var(--gold);font-size:8px;letter-spacing:.18em;text-transform:uppercase}.image-note strong{display:block;margin-top:6px;font-size:14px;font-weight:400;line-height:1.35}
.accommodation{background:var(--cream)}.section-heading{max-width:700px;margin:0 auto 48px;text-align:center}.section-heading>p:last-child{max-width:490px;margin:18px auto 0;color:var(--muted);font-size:13px}.room-tabs{display:grid;grid-template-columns:repeat(5,1fr);max-width:1120px;margin:0 auto 20px;border-bottom:1px solid #ddd}.room-tabs button{padding:16px 10px;border:0;background:transparent;color:var(--muted);font:500 9px Roboto;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}.room-tabs button:hover,.room-tabs button:focus-visible{color:var(--teal);outline:1px solid var(--gold);outline-offset:-1px}.room-tabs button.active{background:var(--teal);color:#fff}.room-feature{display:grid;grid-template-columns:1.45fr .8fr;max-width:1240px;margin:auto;background:#fff;box-shadow:var(--shadow)}.room-feature>img{min-height:540px;transition:object-position .35s ease}.room-copy{align-self:center;padding:clamp(35px,5vw,70px)}.room-copy h3{font-size:clamp(38px,4vw,58px)}.room-copy>p:not(.eyebrow){margin:23px 0;color:var(--muted);font-size:12px}.room-amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:27px 0;color:var(--gold);font-size:22px;text-align:center}.room-amenities small{display:block;margin-top:7px;color:var(--muted);font-size:7px;line-height:1.3}
.experiences{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.experience-intro{grid-column:span 2;padding:25px 35px 20px 0}.experience-intro h2{font-size:clamp(48px,5vw,78px)}.experience-intro>p:not(.eyebrow):not(.script-line){max-width:480px;color:var(--muted);font-size:12px}.script-line{margin:12px 0;color:var(--gold);font-size:18px;font-weight:300;font-style:italic}.experience-intro .button{margin-top:17px}.experience-card{position:relative;display:block;min-height:300px;overflow:hidden;border-radius:12px;background:var(--teal);color:#fff}.experience-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(2,25,33,.82));}.experience-card img{position:absolute;inset:0;transition:.5s}.experience-card:hover img{transform:scale(1.04)}.experience-card div{position:absolute;z-index:2;left:24px;right:24px;bottom:22px}.experience-card h3{color:#fff;font-size:25px}.experience-card p{margin:9px 0 15px;color:rgba(255,255,255,.8);font-size:10px}.experience-card b{font-size:8px;letter-spacing:.13em;text-transform:uppercase}.feature-card{grid-column:span 2;min-height:370px}.feature-card h3{font-size:35px}.card-icon{position:absolute;z-index:2;top:24px;left:24px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--gold)}.surf{background:linear-gradient(rgba(2,30,38,.25),rgba(2,30,38,.8)),url("assets/hero-resort.png") left/cover}.dive{background:linear-gradient(rgba(2,30,38,.15),rgba(2,30,38,.82)),url("assets/water-sports.png") center/cover}.whale{background:linear-gradient(rgba(2,30,38,.15),rgba(2,30,38,.82)),url("assets/hero-resort.png") right/cover}
.stay-banner{position:relative;height:460px;overflow:hidden;color:#fff}.stay-banner:after{content:"";position:absolute;inset:0;background:rgba(2,18,24,.46)}.stay-banner>div{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;text-transform:uppercase}.stay-banner p{margin:0 0 7px;color:rgba(255,255,255,.72);font-size:7px;letter-spacing:.18em}.stay-banner h2{font-size:clamp(25px,3vw,42px);font-weight:500;letter-spacing:.01em;line-height:.95}.stay-banner a{display:inline-block;margin-top:18px;color:#f0c986;font-size:7px;font-weight:700;letter-spacing:.15em}
.site-footer{padding:70px clamp(24px,7vw,120px) 22px;background:var(--deep);color:rgba(255,255,255,.7)}.footer-top{display:grid;grid-template-columns:1.3fr repeat(3,.7fr);gap:55px}.footer-logo{color:#fff}.footer-brand p{max-width:300px;margin:22px 0;color:rgba(255,255,255,.62);font-size:11px}.footer-column{display:flex;flex-direction:column;gap:10px}.footer-column h3{margin:0 0 12px;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.footer-column a,.footer-column p{margin:0;font-size:10px}.footer-column.contact h3:nth-of-type(2){margin-top:20px}.socials{display:flex;gap:8px}.socials a{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--gold);border-radius:50%;font-size:8px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:60px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:8px}
.footer-logo img{height:140px}
@media(max-width:700px){.logo img{height:68px}.site-header.is-scrolled .logo img{height:58px}.site-header>.logo{padding:2px 6px}}
p:not(.eyebrow):not(.script-line){font-size:15px!important}
@media(max-width:700px){p:not(.eyebrow):not(.script-line){font-size:14px!important}}
.site-nav{font-size:12px}.nav-cta{font-size:11px}.footer-column h3{font-size:12px}.footer-column a,.footer-column p{font-size:12px!important}.footer-brand p{font-size:13px!important}.footer-bottom{font-size:10px}
@media(max-width:700px){.site-nav{font-size:14px}.footer-column h3{font-size:11px}.footer-column a,.footer-column p{font-size:11px!important}.footer-bottom{font-size:9px}}
.gold-rule,.image-note,.hero-index{display:none!important}
.hero-copy{left:50%;top:50%;width:min(90%,1000px);max-width:none;transform:translate(-50%,-50%);text-align:center}
@media(max-width:700px){.hero-copy{left:50%;right:auto;top:50%;bottom:auto;width:calc(100% - 36px);transform:translate(-50%,-50%);text-align:center}}
.feature-strip{max-width:none;min-height:300px;padding:50px clamp(20px,5vw,90px) 30px;align-items:stretch;background:linear-gradient(180deg,#fff,#faf8f4)}.feature-strip div{flex-direction:column;justify-content:flex-start;gap:8px;min-height:220px;padding:38px 28px 24px;border-right:1px solid var(--line);border-radius:0 0 12px 12px;box-shadow:0 14px 24px rgba(22,45,52,.05)}.feature-strip b{font-size:42px;font-weight:700;line-height:1}.feature-strip span{font-size:12px;line-height:1.35;text-align:center}.feature-strip i{display:block;width:25px;height:1px;margin:0 auto 3px;background:var(--gold)}.feature-strip p{max-width:210px;margin:0;color:var(--muted);font-size:11px!important;line-height:1.45;text-align:center}
@media(max-width:700px){.feature-strip{min-height:560px;padding:45px 16px 35px;row-gap:20px}.feature-strip div{min-height:230px;padding:34px 14px 22px}.feature-strip b{font-size:36px;font-weight:700}.feature-strip span{font-size:11px}.feature-strip p{font-size:10px!important}}
h1,h2,h3{font-weight:350!important}
.eyebrow{font-size:12px}
.stay-banner p{font-size:10px!important}
@media(max-width:700px){.eyebrow{font-size:11px}.stay-banner p{font-size:9px!important}}
.button{font-size:12px}.nav-cta{font-size:12px}.room-tabs button{font-size:11px}.experience-card b,.offer-grid a,.stay-banner a{font-size:10px}.play-button{font-size:11px}
@media(max-width:700px){.button{font-size:11px}.room-tabs button{font-size:10px}.experience-card b,.stay-banner a{font-size:9px}}
.play-button,.room-amenities,.card-icon,.script-line{display:none!important}
.room-tabs button{border:1px solid var(--gold)}.room-tabs button.active{border-color:var(--teal)}
.stay-banner{height:600px}.stay-banner p{margin-bottom:20px!important}.stay-banner h2{line-height:1.15}.stay-banner a{margin-top:34px}
@media(max-width:700px){.stay-banner{height:420px}.stay-banner p{margin-bottom:15px!important}.stay-banner h2{line-height:1.18}.stay-banner a{margin-top:26px}}
.button,.nav-cta,.room-tabs button,.experience-card b,.stay-banner a,.offer-grid a{border-color:#007f73!important;background:#007f73!important;color:#fff!important;box-shadow:0 4px 10px rgba(0,127,115,.22)}
.button:hover,.nav-cta:hover,.room-tabs button:hover,.room-tabs button:focus-visible,.stay-banner a:hover{background:#006b61!important;color:#fff!important}
.room-tabs button.active{border-color:#007f73!important;background:#007f73!important;color:#fff!important}
.experience-card b,.stay-banner a,.offer-grid a{display:inline-block;padding:10px 15px}
.room-tabs button{border-color:var(--gold)!important;background:#fff!important;color:#111!important;box-shadow:none}.room-tabs button:hover,.room-tabs button:focus-visible{border-color:var(--gold)!important;background:#fff!important;color:#111!important}.room-tabs button.active{border-color:var(--gold)!important;background:var(--teal)!important;color:#fff!important;box-shadow:0 4px 10px rgba(0,127,115,.22)}
.experience-card b{padding:0;background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important}
.footer-column a{font-size:15px!important}
@media(max-width:700px){.footer-column a{font-size:13px!important}}
.socials a{display:grid!important;place-items:center}.socials svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.socials a:first-child svg{fill:currentColor;stroke:none}.footer-bottom a{color:#fff;text-transform:uppercase}
.room-tabs{margin-bottom:60px}
@media(max-width:700px){.room-tabs{margin-bottom:35px}}
.eyebrow{font-size:17px;letter-spacing:.28em}
@media(max-width:700px){.eyebrow{font-size:13px}}
@media(max-width:1050px){.site-nav{position:fixed;inset:0;display:grid;place-content:center;gap:13px;background:#fff;color:var(--deep);font-size:12px;text-align:center;opacity:0;pointer-events:none;transform:translateY(-10px);transition:.2s}.site-header.menu-active .site-nav{opacity:1;pointer-events:auto;transform:none}.menu-toggle{position:relative;z-index:22;display:block}.intro{grid-template-columns:1fr}.intro-copy{max-width:700px;margin:0}.room-feature{grid-template-columns:1fr}.room-feature>img{min-height:470px}.experiences{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1.2fr repeat(3,1fr);gap:25px}}
@media(max-width:700px){.site-header{height:76px;padding:0 18px}.site-header.is-scrolled{height:66px}.logo-mark{width:35px;height:41px;font-size:21px}.hero{padding-top:76px}.hero-media{height:calc(100svh - 76px);min-height:610px;background-position:58% center}.hero-copy{left:24px;right:auto;top:auto;bottom:90px;width:calc(100% - 48px);max-width:none;transform:none}.hero h1{font-size:52px}.hero-copy>p:not(.eyebrow){max-width:100%;font-size:12px}.play-button{display:none}.hero-index{left:auto;right:24px;bottom:35px}.feature-strip{grid-template-columns:repeat(2,1fr)}.feature-strip div:nth-child(2){border:0}.section{padding:75px 20px}.intro{gap:42px}.intro h2,.section-heading h2{font-size:43px}.intro-image{height:420px}.image-note{left:12px;bottom:12px}.room-tabs{display:flex;overflow-x:auto}.room-tabs button{min-width:140px}.room-feature>img{min-height:290px}.room-copy{padding:35px 24px}.room-copy h3{font-size:38px}.room-amenities{grid-template-columns:repeat(2,1fr);gap:20px}.experiences{grid-template-columns:1fr}.experience-intro,.feature-card{grid-column:auto}.experience-intro{padding:0 0 20px}.experience-card,.feature-card{min-height:330px}.stay-banner{height:320px}.stay-banner>div{left:20px;right:20px;transform:translateY(-50%)}.footer-top{grid-template-columns:1fr 1fr}.footer-brand,.contact{grid-column:1/-1}.footer-bottom{flex-direction:column}.button{min-width:180px}}

body,button,input,select,textarea{font-family:"Google Sans","Google Sans Text",Arial,sans-serif}
.play-button,.room-tabs button{font-family:inherit}

.surf,.dive,.whale{background:none}
.surf:before,.dive:before,.whale:before{content:"";position:absolute;inset:0;background-position:center;background-size:cover;transition:transform .5s}
.surf:before{background-image:url("assets/hero-resort.png");background-position:left center}
.dive:before{background-image:url("assets/water-sports.png")}
.whale:before{background-image:url("assets/hero-resort.png");background-position:right center}
.experience-card:hover:before{transform:scale(1.04)}
