:root{
  --green:#073b2a;--green2:#0d5a3f;--deep:#031c14;--deep2:#06271d;--gold:#f4c43f;--gold2:#ffdc72;
  --cream:#f6f0e2;--paper:#fffdf7;--ink:#10251d;--muted:#66736d;--white:#fff;--line:rgba(255,255,255,.12);
  --radius:26px;--shadow:0 28px 80px rgba(0,0,0,.24)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--deep)}body{margin:0;background:var(--deep);color:white;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}body.intro-lock{overflow:hidden}img,video{max-width:100%}button,a,input,select,textarea{font:inherit}button,a{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}
::selection{background:var(--gold);color:var(--ink)}
.progress{position:fixed;z-index:2000;left:0;top:0;width:100%;height:3px;background:rgba(255,255,255,.04);pointer-events:none}.progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--gold),#fff1b1);box-shadow:0 0 15px rgba(244,196,63,.6)}
.cursor-orb{position:fixed;z-index:3;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(244,196,63,.09),transparent 68%);transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:screen;opacity:.7;filter:blur(8px)}

/* Arrival */
.arrival{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;overflow:hidden;background:#041911;perspective:1500px;transition:opacity .9s ease,visibility .9s}.arrival.entered{opacity:0;visibility:hidden;pointer-events:none}.arrival-sky{position:absolute;inset:0;background:radial-gradient(circle at 50% 15%,rgba(255,220,114,.28),transparent 25%),linear-gradient(180deg,#0d6a4b 0%,#063624 45%,#02130d 100%)}.arrival-sky:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.34),transparent 40% 60%,rgba(0,0,0,.34)),radial-gradient(circle at 50% 85%,rgba(244,196,63,.12),transparent 32%)}
.arrival-palms{position:absolute;inset:0;overflow:hidden;opacity:.28}.arrival-palms i{position:absolute;bottom:-16vh;width:38vw;height:65vh;background:radial-gradient(ellipse at 50% 15%,rgba(0,0,0,.9) 0 5%,transparent 6%),linear-gradient(90deg,transparent 47%,rgba(0,0,0,.92) 48% 52%,transparent 53%);transform-origin:bottom}.arrival-palms i:before,.arrival-palms i:after{content:"";position:absolute;top:4%;left:50%;width:88%;height:24%;border-radius:100% 0 100% 0;background:rgba(0,0,0,.9);transform-origin:left center}.arrival-palms i:before{transform:rotate(-23deg) skewX(-18deg)}.arrival-palms i:after{transform:rotate(205deg) skewX(-18deg)}.arrival-palms i:nth-child(1){left:-10vw;transform:rotate(-9deg) scale(.9)}.arrival-palms i:nth-child(2){right:-10vw;transform:rotate(11deg) scale(.95)}.arrival-palms i:nth-child(3){left:30%;bottom:-28vh;transform:scale(.5);opacity:.5}
.door{position:absolute;top:0;width:50.1%;height:100%;background:linear-gradient(90deg,#1d120c,#392416 45%,#130b07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),inset 0 0 90px rgba(0,0,0,.45);transition:transform 1.45s cubic-bezier(.64,.01,.2,1);transform-style:preserve-3d}.door-left{left:0;transform-origin:left center}.door-right{right:0;transform-origin:right center;background:linear-gradient(-90deg,#1d120c,#392416 45%,#130b07)}.door-panel{position:absolute;inset:8% 10%;border:2px solid rgba(255,255,255,.07);box-shadow:inset 0 0 0 9px rgba(0,0,0,.12),0 0 0 1px rgba(244,196,63,.06)}.door-panel:after{content:"";position:absolute;left:14%;right:14%;top:12%;bottom:12%;border:1px solid rgba(244,196,63,.14)}.door-knob{position:absolute;top:51%;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff5b5,var(--gold) 35%,#8d6513 70%);box-shadow:0 4px 14px #000}.door-left .door-knob{right:4.5%}.door-right .door-knob{left:4.5%}.arrival.open .door-left{transform:rotateY(-105deg)}.arrival.open .door-right{transform:rotateY(105deg)}
.arrival-copy{position:relative;z-index:5;text-align:center;max-width:900px;padding:30px;transition:transform .8s,opacity .65s}.arrival.open .arrival-copy{transform:scale(1.05) translateY(-20px);opacity:0}.eyebrow{margin:0 0 16px;font-size:.72rem;letter-spacing:.21em;text-transform:uppercase;font-weight:900;color:var(--gold)}.arrival h1{font:500 clamp(3.4rem,8vw,8.5rem)/.83 Georgia,"Times New Roman",serif;letter-spacing:-.055em;margin:0;text-shadow:0 15px 50px rgba(0,0,0,.35)}.arrival h1 em{font-weight:400;color:var(--gold2)}.arrival-lead{max-width:660px;margin:26px auto 0;color:rgba(255,255,255,.74);font-size:1.04rem;line-height:1.75}.arrival-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:30px 0 14px}.arrival small{color:rgba(255,255,255,.48);font-size:.72rem;letter-spacing:.06em}

/* Controls */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;padding:14px 20px;font-weight:900;letter-spacing:.01em;transition:transform .2s,background .2s,color .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:linear-gradient(135deg,var(--gold),#ffe392);color:var(--ink);box-shadow:0 15px 35px rgba(244,196,63,.15)}.btn-gold:hover{box-shadow:0 18px 42px rgba(244,196,63,.24)}.btn-glass{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.17);color:white;backdrop-filter:blur(12px)}.btn-dark{background:var(--deep);color:white;border:1px solid rgba(255,255,255,.12)}.btn-small{padding:10px 15px;font-size:.82rem}


/* Header */
.site-header{position:fixed;z-index:1500;top:0;left:0;right:0;height:78px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(180deg,rgba(2,22,15,.82),rgba(2,22,15,.28),transparent);transition:.3s}.site-header.scrolled{height:66px;background:rgba(3,28,20,.9);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand-palm{width:37px;height:37px;border:1px solid rgba(244,196,63,.4);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:1.15rem;transform:rotate(180deg)}.brand strong,.brand small{display:block}.brand strong{font-family:Georgia,serif;font-size:1.05rem;letter-spacing:.11em}.brand small{font-size:.55rem;letter-spacing:.21em;color:rgba(255,255,255,.55);margin-top:2px}.desktop-nav{display:flex;gap:24px;font-size:.78rem;font-weight:800;color:rgba(255,255,255,.73)}.desktop-nav a{position:relative;padding:8px 0}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:1px;width:0;height:1px;background:var(--gold);transition:.22s}.desktop-nav a:hover{color:white}.desktop-nav a:hover:after{width:100%}.header-actions{display:flex;align-items:center;gap:10px}.call-link{font-size:.76rem;font-weight:900;color:rgba(255,255,255,.72)}.menu-toggle{display:none;width:40px;height:40px;background:transparent;border:0;position:relative}.menu-toggle span{position:absolute;left:9px;right:9px;height:2px;background:white;transition:.25s}.menu-toggle span:first-child{top:15px}.menu-toggle span:last-child{top:23px}.menu-toggle.open span:first-child{transform:rotate(45deg);top:19px}.menu-toggle.open span:last-child{transform:rotate(-45deg);top:19px}.mobile-nav{display:none}

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding:120px clamp(20px,6vw,92px) 84px}.hero-photo{position:absolute;inset:-4%;background:url('assets/images/villa_drone.webp') center/cover no-repeat;transform:scale(1.08);will-change:transform;animation:heroDrift 18s ease-in-out infinite alternate}@keyframes heroDrift{from{transform:scale(1.08) translate3d(-1%,0,0)}to{transform:scale(1.14) translate3d(1.5%,-1.5%,0)}}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,20,14,.92) 0%,rgba(2,20,14,.57) 46%,rgba(2,20,14,.15) 70%),linear-gradient(180deg,rgba(0,0,0,.12),rgba(2,20,14,.7) 88%)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to right,black,transparent 78%)}.hero-content{position:relative;z-index:2;max-width:950px}.hero h2{font:500 clamp(3.7rem,7.5vw,8.7rem)/.86 Georgia,"Times New Roman",serif;letter-spacing:-.058em;margin:0}.hero h2 em{font-weight:400;color:#ffe49a}.hero-content>p:not(.eyebrow){max-width:700px;font-size:clamp(.98rem,1.5vw,1.16rem);line-height:1.75;color:rgba(255,255,255,.72);margin:26px 0}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-rail{position:absolute;z-index:3;right:clamp(18px,4vw,56px);bottom:38px;display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;max-width:620px}.hero-rail span{padding:9px 12px;border:1px solid rgba(255,255,255,.13);background:rgba(2,22,15,.54);backdrop-filter:blur(10px);border-radius:999px;color:rgba(255,255,255,.78);font-size:.68rem;font-weight:800}.scroll-cue{position:absolute;left:50%;bottom:24px;z-index:4;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;color:rgba(255,255,255,.48);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase}.scroll-cue span{width:1px;height:32px;background:linear-gradient(var(--gold),transparent);animation:scrollPulse 1.8s ease-in-out infinite}@keyframes scrollPulse{0%,100%{transform:scaleY(.5);transform-origin:top}50%{transform:scaleY(1)}}

/* Shared */
.section{position:relative;padding:clamp(86px,10vw,150px) clamp(20px,6vw,92px)}.section-head{max-width:1260px;margin:0 auto 54px}.section-head.split{display:grid;grid-template-columns:1.1fr .7fr;gap:80px;align-items:end}.section-head h2,.story h2,.promo h2,.booking-copy h2{font:500 clamp(3.2rem,6.2vw,7rem)/.9 Georgia,"Times New Roman",serif;letter-spacing:-.05em;margin:0}.section-head h2 em,.story h2 em,.promo h2 em,.booking-copy h2 em{font-weight:400;color:var(--gold)}.section-head>p:not(.eyebrow),.section-head.split>p,.story-copy>p:not(.eyebrow),.promo-copy>p:not(.eyebrow),.booking-copy>p:not(.eyebrow){line-height:1.75;color:rgba(255,255,255,.62);margin:0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}

/* Story */
.story{background:linear-gradient(180deg,#061f16,#0a3526);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,90px);align-items:center}.story-copy{max-width:640px;margin-left:auto}.story-copy>p:not(.eyebrow){margin-top:25px}.story-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.story-pills span{padding:9px 11px;border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:.68rem;font-weight:800;color:rgba(255,255,255,.68)}.story-image{position:relative;margin:0;border-radius:32px;overflow:hidden;min-height:650px;box-shadow:var(--shadow);cursor:zoom-in}.story-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}.story-image:hover img{transform:scale(1.035)}.story-image:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}.story-image figcaption{position:absolute;z-index:2;left:24px;bottom:22px;display:flex;gap:13px;align-items:center}.story-image figcaption b{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);font-family:Georgia,serif;color:var(--gold)}.story-image figcaption span,.story-image figcaption small{display:block}.story-image figcaption span{font:600 1.28rem Georgia,serif}.story-image figcaption small{font:600 .65rem system-ui;margin-top:4px;color:rgba(255,255,255,.55);letter-spacing:.08em;text-transform:uppercase}

/* Stay */
.stays{background:var(--cream);color:var(--ink)}.stays .eyebrow{color:#9e7410}.stays .section-head h2 em{color:var(--green2)}.stays .section-head>p,.stays .section-head.split>p{color:#536159}.stay-shell{max-width:1370px;margin:auto;display:grid;grid-template-columns:330px 1fr;gap:14px}.stay-tabs{display:flex;flex-direction:column;gap:8px}.stay-tab{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;text-align:left;min-height:110px;border:1px solid rgba(9,58,42,.12);background:rgba(255,255,255,.55);border-radius:22px;padding:16px;color:var(--green);transition:.22s}.stay-tab:hover{transform:translateX(3px);background:white}.stay-tab.active{background:var(--green);color:white;box-shadow:0 22px 60px rgba(7,59,42,.17)}.stay-tab>span{width:44px;height:44px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font:700 .9rem Georgia,serif}.stay-tab b,.stay-tab small{display:block}.stay-tab b{font:600 1.2rem Georgia,serif}.stay-tab small{margin-top:4px;font-size:.69rem;opacity:.62}.stay-stage{position:relative;min-height:680px;border-radius:30px;overflow:hidden;background:#17382d;box-shadow:0 28px 75px rgba(30,45,38,.19)}.stay-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .25s,transform .8s}.stay-stage:hover>img{transform:scale(1.018)}.stay-stage-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(1,18,12,.15) 45%,rgba(1,18,12,.9) 100%)}.stay-card{position:absolute;z-index:2;left:clamp(20px,5vw,62px);right:clamp(20px,5vw,62px);bottom:clamp(22px,5vw,54px);max-width:760px}.stay-card h3{font:500 clamp(3.2rem,6vw,6.2rem)/.9 Georgia,serif;margin:0 0 14px;color:white}.stay-card>p:not(.eyebrow){color:rgba(255,255,255,.74);line-height:1.65;max-width:650px}.stay-facts{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 22px}.stay-facts span{border:1px solid rgba(255,255,255,.15);background:rgba(4,32,23,.58);padding:9px 11px;border-radius:999px;color:rgba(255,255,255,.78);font-size:.69rem;font-weight:800}.stay-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Gallery */
.gallery{background:#061d15}.gallery-grid{max-width:1370px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px}.gallery-tile{position:relative;border:0;padding:0;border-radius:20px;overflow:hidden;background:#12382a;color:white}.gallery-tile.wide{grid-column:span 2}.gallery-tile.tall{grid-row:span 2}.gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:.55s}.gallery-tile:hover img{transform:scale(1.045)}.gallery-tile:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.78))}.gallery-tile span{position:absolute;z-index:2;left:17px;bottom:15px;font:600 1.12rem Georgia,serif}

/* Walk */
.walk{background:radial-gradient(circle at 90% 5%,rgba(244,196,63,.12),transparent 28%),linear-gradient(180deg,#0a2d20,#041912)}.walk-shell{max-width:1400px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px}.walk-stage{position:relative;min-height:760px;border-radius:32px;overflow:hidden;background:#000;box-shadow:0 35px 90px rgba(0,0,0,.32);isolation:isolate}.walk-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s,transform 1s}.walk-stage:hover>img{transform:scale(1.018)}.walk-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.06) 44%,rgba(0,0,0,.86) 100%),linear-gradient(90deg,rgba(0,0,0,.22),transparent 60%)}.walk-top{position:absolute;z-index:3;top:20px;left:20px;display:flex;gap:10px;align-items:center;padding:10px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.13);background:rgba(2,25,17,.65);backdrop-filter:blur(14px)}.walk-top span{font:700 .9rem Georgia,serif;color:var(--gold)}.walk-top small{font-size:.58rem;letter-spacing:.13em;color:rgba(255,255,255,.57)}.walk-open{position:absolute;z-index:3;right:20px;top:20px;border:1px solid rgba(255,255,255,.15);background:rgba(2,25,17,.65);color:white;padding:10px 13px;border-radius:999px;font-weight:900;font-size:.72rem;backdrop-filter:blur(14px)}.walk-open:hover{background:var(--gold);color:var(--ink)}.walk-copy{position:absolute;z-index:3;left:clamp(22px,5vw,62px);bottom:clamp(25px,5vw,60px);max-width:750px}.walk-copy h3{font:500 clamp(3.2rem,6vw,6.6rem)/.86 Georgia,serif;letter-spacing:-.05em;margin:0 0 16px}.walk-copy>p:not(.eyebrow){max-width:620px;line-height:1.7;color:rgba(255,255,255,.72)}.walk-nav{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:30px;background:rgba(255,255,255,.035);max-height:760px;overflow:auto;scrollbar-width:none}.walk-nav::-webkit-scrollbar{display:none}.walk-step{display:grid;grid-template-columns:40px 1fr;gap:11px;align-items:center;text-align:left;min-height:80px;border:1px solid transparent;background:transparent;color:white;border-radius:20px;padding:10px 12px;transition:.2s}.walk-step:hover{background:rgba(255,255,255,.05)}.walk-step.active{background:var(--gold);color:var(--ink);box-shadow:0 14px 35px rgba(244,196,63,.12)}.walk-step>span{width:38px;height:38px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font:700 .78rem Georgia,serif}.walk-step b,.walk-step small{display:block}.walk-step b{font-size:.9rem}.walk-step small{margin-top:3px;font-size:.66rem;opacity:.61}

/* Reels */
.reels{background:var(--cream);color:var(--ink);overflow:hidden}.reels .eyebrow{color:#97700f}.reels .section-head h2 em{color:var(--green2)}.reels .section-head>p,.reels .section-head.split>p{color:#58655f}.reel-track{max-width:100%;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(20px,6vw) 18px 0;scrollbar-width:none}.reel-track::-webkit-scrollbar{display:none}.reel-card{position:relative;flex:0 0 min(340px,82vw);height:610px;border-radius:26px;overflow:hidden;background:#081d16;scroll-snap-align:start;box-shadow:0 20px 50px rgba(20,35,28,.14)}.reel-card video{width:100%;height:100%;object-fit:cover;display:block;background:#0a241b}.reel-card:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.86));pointer-events:none}.reel-card>div{position:absolute;z-index:3;left:18px;bottom:16px;right:18px;color:white}.reel-card>div span,.reel-card>div b,.reel-card>div small{display:block}.reel-card>div span{font:700 .75rem Georgia,serif;color:var(--gold)}.reel-card>div b{font:600 1.45rem Georgia,serif;margin:5px 0}.reel-card>div small{font-size:.64rem;color:rgba(255,255,255,.56);text-transform:uppercase;letter-spacing:.08em}.reel-toggle{position:absolute;z-index:4;top:16px;right:16px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(2,24,17,.65);backdrop-filter:blur(12px);color:white;font-size:1rem}.reel-card.playing .reel-toggle{background:var(--gold);color:var(--ink)}.reel-hint{margin-top:18px;text-transform:uppercase;letter-spacing:.11em;font-size:.64rem;color:#69746e}

/* Amenities */
.amenities{background:linear-gradient(180deg,#051c14,#0a3325);min-height:880px;overflow:hidden}.amenities .section-head{text-align:center}.amenity-orbit{position:relative;max-width:1050px;height:560px;margin:70px auto 0;border:1px solid rgba(244,196,63,.12);border-radius:50%}.amenity-orbit:before,.amenity-orbit:after{content:"";position:absolute;inset:12%;border:1px solid rgba(255,255,255,.06);border-radius:50%}.amenity-orbit:after{inset:27%}.amenity-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:180px;height:180px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 25%,#136e4e,#05271c 67%);border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 18px rgba(244,196,63,.025),0 30px 80px rgba(0,0,0,.3)}.amenity-center span{font:600 3.5rem Georgia,serif;color:var(--gold)}.amenity-center b{font-family:Georgia,serif}.amenity-center small{font-size:.58rem;color:rgba(255,255,255,.48);letter-spacing:.1em;text-transform:uppercase;margin-top:3px}.amenity{position:absolute;width:160px;padding:16px;border-radius:20px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(12px);box-shadow:0 20px 50px rgba(0,0,0,.15)}.amenity i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gold);color:var(--ink);font-style:normal;font-weight:900;margin-bottom:10px}.amenity b,.amenity small{display:block}.amenity b{font:600 1rem Georgia,serif}.amenity small{font-size:.68rem;color:rgba(255,255,255,.51);margin-top:4px}.a1{left:5%;top:8%}.a2{right:5%;top:8%}.a3{left:0;top:42%}.a4{right:0;top:42%}.a5{left:12%;bottom:3%}.a6{right:12%;bottom:3%}

/* Promo */
.promo{background:var(--cream);color:var(--ink)}.promo-shell{max-width:1320px;margin:auto;display:grid;grid-template-columns:.78fr 1.22fr;gap:40px;align-items:center}.promo .eyebrow{color:#98700b}.promo h2 em{color:var(--green2)}.promo-copy>p:not(.eyebrow){color:#58635e;margin:22px 0}.promo-contact{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0 26px}.promo-contact a{font:600 1.25rem Georgia,serif;color:var(--green);border-bottom:1px solid rgba(7,59,42,.22);padding-bottom:4px}.promo-art{margin:0;border-radius:28px;overflow:hidden;background:#0b3b2a;box-shadow:0 28px 75px rgba(35,45,40,.18);cursor:zoom-in}.promo-art img{display:block;width:100%;height:auto}.promo-art figcaption{padding:10px 14px;background:var(--green);color:rgba(255,255,255,.6);font-size:.66rem;text-transform:uppercase;letter-spacing:.09em}

/* Island */
.island{background:radial-gradient(circle at 80% 0,rgba(244,196,63,.14),transparent 25%),#05291d}.island-planner{max-width:1320px;margin:auto}.planner-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.planner-tab{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);color:white;padding:10px 14px;border-radius:999px;font-weight:900;font-size:.74rem}.planner-tab.active{background:var(--gold);color:var(--ink);border-color:var(--gold)}.planner-scene{position:relative;min-height:570px;overflow:hidden;border-radius:32px;background:linear-gradient(#2c97c7 0%,#8ac9db 44%,#b6c778 45%,#315e30 100%);box-shadow:var(--shadow);isolation:isolate}.planner-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,24,17,.86),rgba(1,24,17,.58) 42%,rgba(1,24,17,.1) 70%)}.sun{position:absolute;right:12%;top:12%;width:120px;height:120px;border-radius:50%;background:#ffe08a;box-shadow:0 0 70px rgba(255,224,138,.55)}.hill{position:absolute;bottom:0;width:74%;height:55%;border-radius:50% 50% 0 0;background:#1e5c38}.h1{right:-10%;transform:rotate(-5deg)}.h2{right:32%;bottom:-13%;height:45%;background:#34784a}.road{position:absolute;right:20%;bottom:-8%;width:22%;height:75%;background:#caa66c;clip-path:polygon(39% 0,60% 0,100% 100%,0 100%);opacity:.78}.planner-copy{position:absolute;z-index:3;left:clamp(24px,6vw,82px);top:50%;transform:translateY(-50%);max-width:650px}.planner-copy h3{font:500 clamp(3.4rem,6vw,6.8rem)/.88 Georgia,serif;letter-spacing:-.05em;margin:0 0 18px}.planner-copy>p:not(.eyebrow){line-height:1.75;color:rgba(255,255,255,.73)}.plan-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.plan-tags span{padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:rgba(3,29,20,.28);font-size:.66rem;font-weight:800;color:rgba(255,255,255,.75)}

/* Booking */
.book{background:#031a12}.booking-shell{max-width:1320px;margin:auto;display:grid;grid-template-columns:.82fr 1.18fr;gap:32px;background:linear-gradient(135deg,#082d21,#041b13);border:1px solid rgba(255,255,255,.08);border-radius:34px;padding:clamp(24px,5vw,66px);box-shadow:0 40px 100px rgba(0,0,0,.28)}.booking-copy>p:not(.eyebrow){margin:22px 0}.booking-contact{margin-top:34px;border-top:1px solid rgba(255,255,255,.1)}.booking-contact a{display:block;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1)}.booking-contact small,.booking-contact strong{display:block}.booking-contact small{font-size:.62rem;letter-spacing:.12em;color:rgba(255,255,255,.4)}.booking-contact strong{font:600 1.35rem Georgia,serif;margin-top:3px}.booking-form{background:var(--paper);color:var(--ink);border-radius:24px;padding:clamp(20px,4vw,44px);display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:7px}.field.wide,.form-actions.wide,.form-note.wide{grid-column:1/-1}.field label{font-size:.67rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:#52645b}.field input,.field select,.field textarea{width:100%;border:1px solid #d5dad6;background:white;border-radius:13px;padding:14px;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#699781;box-shadow:0 0 0 3px rgba(7,59,42,.08)}.form-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:6px}.form-note{margin:0;font-size:.68rem;line-height:1.5;color:#6e7773}

/* Footer + lightbox */
footer{padding:44px clamp(20px,6vw,92px);background:#020f0b;border-top:1px solid rgba(255,255,255,.07);display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end}.footer-brand strong,.footer-brand span,.footer-brand small{display:block}.footer-brand strong{font:600 1.65rem Georgia,serif;letter-spacing:.08em}.footer-brand span{font-size:.63rem;letter-spacing:.16em;color:var(--gold)}.footer-brand small{font-size:.66rem;color:rgba(255,255,255,.42);margin-top:8px}.footer-links{display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-end;font-size:.72rem;color:rgba(255,255,255,.6)}footer>p{grid-column:1/-1;margin:14px 0 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.07);font-size:.64rem;color:rgba(255,255,255,.32)}
.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;border:0;margin:0;padding:0;background:rgba(1,12,8,.96);color:white}.lightbox::backdrop{background:rgba(1,12,8,.96)}.lightbox figure{position:absolute;inset:55px 20px 26px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.lightbox img{max-width:94vw;max-height:80vh;object-fit:contain;border-radius:14px;box-shadow:0 25px 90px rgba(0,0,0,.45)}.lightbox figcaption{font-size:.72rem;color:rgba(255,255,255,.58);letter-spacing:.06em}.lightbox>button{position:absolute;z-index:3;right:22px;top:18px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:white;font-size:1.5rem}

@media (max-width:1050px){
  .desktop-nav,.call-link{display:none}.menu-toggle{display:block}.mobile-nav{position:absolute;top:68px;left:14px;right:14px;padding:12px;border-radius:20px;background:rgba(3,28,20,.96);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(18px);box-shadow:0 28px 70px rgba(0,0,0,.32);opacity:0;transform:translateY(-12px);pointer-events:none;transition:.25s;display:flex;flex-direction:column}.mobile-nav.open{opacity:1;transform:none;pointer-events:auto}.mobile-nav a{padding:13px 12px;border-bottom:1px solid rgba(255,255,255,.07);font-weight:800;font-size:.82rem}.mobile-nav a:last-child{border-bottom:0}
  .hero{padding-bottom:120px}.hero-rail{left:20px;right:20px;justify-content:flex-start;bottom:54px}.scroll-cue{display:none}
  .story{grid-template-columns:1fr}.story-copy{margin:0;max-width:800px}.story-image{min-height:620px}
  .section-head.split{grid-template-columns:1fr;gap:20px;align-items:start}.section-head.split>p{max-width:700px}
  .stay-shell{grid-template-columns:1fr}.stay-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.stay-tab{grid-template-columns:1fr;text-align:center;justify-items:center;min-height:125px}.stay-stage{min-height:650px}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .walk-shell{grid-template-columns:1fr}.walk-nav{display:grid;grid-template-columns:repeat(4,1fr);max-height:none}.walk-step{grid-template-columns:1fr;justify-items:center;text-align:center;min-height:110px}.walk-step small{display:none}
  .promo-shell,.booking-shell{grid-template-columns:1fr}.promo-copy{max-width:750px}
  .amenity-orbit{transform:scale(.9);transform-origin:center top;margin-bottom:-40px}
}
@media (max-width:720px){
  .cursor-orb{display:none}.site-header{height:66px;padding:0 14px}.brand strong{font-size:.88rem}.brand small{font-size:.47rem}.brand-palm{width:32px;height:32px}.header-actions .btn-small{display:none}.arrival-copy{padding:20px}.arrival h1{font-size:clamp(3.1rem,15vw,5.5rem)}.arrival-actions{flex-direction:column;align-items:stretch}.arrival-actions .btn{width:100%}
  .hero{min-height:900px;padding:105px 18px 145px;align-items:center}.hero h2{font-size:clamp(3.7rem,16vw,6rem)}.hero-shade{background:linear-gradient(180deg,rgba(2,20,14,.3),rgba(2,20,14,.82) 53%,rgba(2,20,14,.94))}.hero-content>p:not(.eyebrow){font-size:.96rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-rail{bottom:24px;max-height:72px;overflow:hidden}.hero-rail span{font-size:.62rem}
  .section{padding:86px 18px}.section-head{margin-bottom:34px}.section-head h2,.story h2,.promo h2,.booking-copy h2{font-size:clamp(3rem,13vw,5rem)}
  .story{padding-top:90px}.story-image{min-height:500px}
  .stay-tabs{grid-template-columns:1fr}.stay-tab{grid-template-columns:42px 1fr;justify-items:start;text-align:left;min-height:84px}.stay-stage{min-height:670px}.stay-card h3{font-size:clamp(3rem,14vw,5rem)}.stay-actions{flex-direction:column}.stay-actions .btn{width:100%}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gallery-tile.wide{grid-column:span 2}.gallery-tile.tall{grid-row:span 2}.gallery-tile span{font-size:.95rem}
  .walk-stage{min-height:660px}.walk-copy h3{font-size:clamp(3rem,14vw,5.2rem)}.walk-nav{grid-template-columns:repeat(2,1fr)}.walk-step{min-height:95px}.walk-open{display:none}
  .reel-card{height:570px;flex-basis:min(315px,84vw)}
  .amenities{min-height:auto}.amenity-orbit{height:auto;border:0;transform:none;margin:20px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.amenity-orbit:before,.amenity-orbit:after{display:none}.amenity-center{position:relative;left:auto;top:auto;transform:none;grid-column:1/-1;margin:0 auto 15px}.amenity{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto}
  .promo-shell{gap:28px}.promo-contact{flex-direction:column;gap:10px}
  .planner-scene{min-height:600px}.planner-copy{left:22px;right:22px}.planner-copy h3{font-size:clamp(3.2rem,14vw,5.2rem)}
  .booking-shell{padding:18px;border-radius:26px}.booking-form{grid-template-columns:1fr}.field.wide,.form-actions.wide,.form-note.wide{grid-column:auto}.form-actions{flex-direction:column}.form-actions .btn{width:100%}
  footer{grid-template-columns:1fr;align-items:start}.footer-links{justify-content:flex-start}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-photo{animation:none}.reveal{opacity:1;transform:none;transition:none}.door,.arrival,.arrival-copy,.gallery-tile img,.story-image img,.stay-stage>img,.walk-stage>img{transition:none}}

.sound-btn{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;display:grid;place-items:center;font-size:1rem;cursor:pointer;backdrop-filter:blur(10px);transition:.2s transform,.2s background,.2s border-color}.sound-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.12);border-color:rgba(244,196,63,.45)}.sound-btn.muted{opacity:.7}@media(max-width:700px){.sound-btn{width:36px;height:36px;font-size:.95rem}.header-actions{gap:7px}}
