:root{--ivory:#f5f1e8;--ink:#171b19;--forest:#263d35;--gold:#c4a77d;--sand:#ddd2be;--white:#fff;--muted:#626960;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Manrope",Arial,sans-serif;--gutter:clamp(24px,5.4vw,104px);--section-space:clamp(80px,9vw,165px);--ease:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--ivory);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}body,button,input,select,textarea{font-family:var(--sans)}::selection{background:var(--forest);color:var(--ivory)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{padding:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:6px}img{width:100%;height:100%;display:block;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(76px,8.8vw,142px);letter-spacing:-.04em;line-height:.94}h2{font-size:clamp(48px,5.5vw,90px);letter-spacing:-.035em;line-height:1.02}h3{font-size:clamp(29px,2.65vw,42px);line-height:1.1;letter-spacing:-.025em}em{font-weight:400}p{line-height:1.9}svg{flex-shrink:0}section{position:relative;scroll-margin-top:80px}.section{padding:var(--section-space) var(--gutter)}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:600;line-height:1.7;margin-bottom:25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:19px 26px;min-height:56px;font-size:11px;letter-spacing:.035em;border:1px solid transparent;transition:background .35s,color .35s,border-color .35s,transform .35s}.button.light{background:var(--ivory);color:var(--ink)}.button.light:hover{background:var(--sand)}.button.ghost{color:#fff;border-color:#ffffff70;background:#00000008}.button.ghost:hover{background:#ffffff1f}.button.dark{background:var(--forest);color:var(--ivory)}.button.dark:hover{background:var(--ink)}.button svg,.text-link svg{transition:transform .35s}.button:hover svg,.text-link:hover svg{transform:translate(3px,-3px)}.text-link{display:inline-flex;gap:35px;align-items:center;font-size:11px;border-bottom:1px solid #8d9288;padding:12px 0;line-height:1.5;transition:color .3s}.text-link:hover{color:#8b6d43}.circle{width:48px;height:48px;border:1px solid #7a837c70;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s,color .3s}.circle:hover{background:var(--forest);color:var(--ivory)}.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}.skip{position:fixed;top:10px;left:10px;transform:translateY(-150%);z-index:2000;background:var(--ivory);padding:15px}.skip:focus{transform:translateY(0)}.wordmark{display:inline-flex;align-items:center;flex-direction:column;font:400 38px/.9 var(--serif);letter-spacing:.14em;padding-left:.14em}.wordmark span{font:500 7px/1.5 var(--sans);letter-spacing:.3em;margin-top:8px;padding-right:.14em}.nav{position:fixed;top:0;left:0;width:100%;z-index:100;color:#fff;padding:27px var(--gutter);display:flex;align-items:center;justify-content:space-between;transition:background .4s,color .4s,padding .4s,border-color .4s;border-bottom:1px solid #ffffff25}.nav.solid{background:#f5f1e8f2;color:var(--forest);padding-top:17px;padding-bottom:17px;border-color:#263d3520;backdrop-filter:blur(16px)}.desktop-nav{display:flex;gap:clamp(20px,2.6vw,44px);margin-left:35px}.desktop-nav a{position:relative;font-size:10px;letter-spacing:.05em;padding:8px 0}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover:after,.desktop-nav a.active:after{transform:scaleX(1)}.nav-reserve{display:flex;align-items:center;gap:20px;font-size:10px;border:1px solid #ffffff70;padding:14px 19px;transition:background .3s}.nav-reserve:hover{background:#ffffff20}.solid .nav-reserve{border-color:#263d3560}.menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center}.hero{height:100svh;min-height:680px;background:var(--forest);color:#fff;overflow:hidden}.scene{position:absolute;inset:0;isolation:isolate}.scene-image{position:absolute;inset:0;z-index:-2;object-position:50% 55%}.scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,#081a224a,#071a1a12 30%,#10232138 52%,#071c2459 82%,#0c221e99);z-index:-1}.hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 24px 110px}.hero-copy .eyebrow{margin-bottom:30px;font-size:9px;letter-spacing:.3em}.hero h1{text-shadow:0 2px 30px #10231a15}.hero-description{max-width:420px;font-size:12px;line-height:1.9;margin-top:26px;color:#ffffffeb}.hero-actions{display:flex;gap:12px;margin-top:32px}.hero-actions .button{font-size:10px;min-height:52px;padding:16px 24px}.hero-bottom{position:absolute;bottom:33px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.15em}.hero-coordinate{width:30%;font-size:8px}.scroll-cue{display:flex;align-items:center;gap:20px;font-size:8px}.scroll-cue span{width:32px;height:44px;border:1px solid #ffffff60;border-radius:22px;display:grid;place-items:center}.scroll-cue svg{animation:scrollFloat 2.5s ease-in-out infinite}.scene-index{display:flex;align-items:center;justify-content:flex-end;gap:13px;width:30%;font-size:9px}.scene-index>div{display:flex;gap:4px}.scene-index>div span{width:27px;height:1px;background:#ffffff50;transition:background .4s}.scene-index>div span.selected{background:var(--white)}.hero-side{position:absolute;right:22px;top:50%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.18em;text-transform:uppercase}.intro{position:absolute;inset:0;background:var(--ink);display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:10;pointer-events:none;animation:introOut .8s var(--ease) 1.35s forwards}.intro>span{font:400 76px/1 var(--serif);letter-spacing:.22em;padding-left:.22em;animation:wordIn 1.3s var(--ease) both}.intro small{font-size:7px;letter-spacing:.34em;margin-top:20px;animation:wordIn 1.3s .15s var(--ease) both}.headline-line{display:block}.scene-0 .headline-line{animation:headlineIn 1.15s 1.05s both}.scene-0 em.headline-line{animation-delay:1.22s}.hero-copy .eyebrow,.hero-description,.hero-actions{animation:headlineIn 1s 1.4s both}.hero-description{animation-delay:1.55s}.hero-actions{animation-delay:1.7s}.scene-1 .hero-copy h1,.scene-2 .hero-copy h1{animation:none}.hero-shell.native-story{height:270svh;position:relative}.native-story .hero{position:sticky;top:0}.native-story .scene{opacity:0;transition:opacity 1.15s var(--ease)}.native-story .scene.is-current{opacity:1}.native-story .scene.is-current .scene-image{animation:cameraIn 2.5s var(--ease) both}.hero-shell:not(.native-story) .scene-1,.hero-shell:not(.native-story) .scene-2{visibility:hidden}.welcome{display:grid;grid-template-columns:1.07fr 1fr;gap:clamp(60px,9vw,170px);align-items:center;padding-top:145px;padding-bottom:145px}.welcome-image{height:620px;position:relative;overflow:hidden}.welcome-image img{height:110%;margin-top:-5%}.image-caption{position:absolute;bottom:28px;left:26px;color:var(--white);font:italic 24px var(--serif);text-shadow:0 1px 10px #000}.image-marker{position:absolute;top:25px;left:28px;font:40px var(--serif);color:var(--ivory)}.welcome-copy{max-width:430px}.welcome-copy h2{font-size:clamp(48px,5.4vw,84px)}.welcome-copy>p:not(.eyebrow){color:var(--muted);font-size:12px;max-width:345px;margin-bottom:24px}.gold-line{display:block;width:50px;height:1px;background:var(--gold);margin:30px 0}.editorial-note{display:block;margin-top:65px;font:italic 23px var(--serif);color:#777c71}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px;gap:30px}.section-heading>p,.experience-heading-side>p{color:var(--muted);font-size:12px;margin-bottom:7px}.villas{padding-top:35px}.villa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.villa-photo{width:100%;height:430px;position:relative;display:block}.photo-hover{overflow:hidden;isolation:isolate}.photo-hover img{transition:transform 1s var(--ease),filter .6s}.photo-hover:hover img{transform:scale(1.045)}.photo-number{position:absolute;top:23px;left:23px;color:#fff;font:25px var(--serif);text-shadow:0 1px 10px #000}.photo-number span{opacity:.7;font-size:15px}.photo-action{position:absolute;bottom:20px;right:20px;color:#fff;border-color:#ffffff80;backdrop-filter:blur(6px);background:#17271f20}.photo-hover:hover .photo-action{color:var(--ink);background:var(--ivory)}.villa-card:nth-child(2){padding-top:65px}.villa-card:nth-child(3){padding-top:130px}.villa-info{padding-top:27px}.villa-info>.eyebrow{font-size:8px;margin-bottom:12px;color:var(--muted)}.villa-info h3{font-size:32px}.villa-info>p{font-size:11px;color:var(--muted);margin-top:16px;max-width:310px;min-height:42px}.features-mini{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 8px;font-size:8px;letter-spacing:.02em;color:#656a61}.features-mini span+span:before{content:"·";margin-right:10px}.villa-info .text-link{font-size:10px;gap:28px}.dining{background:var(--forest);color:var(--ivory);padding-bottom:var(--section-space)}.dining-top{display:flex;justify-content:space-between;border-bottom:1px solid #f5f1e82a;padding-bottom:30px;margin-bottom:60px}.dining-top .eyebrow{margin:0;color:var(--sand)}.dining-top>span{font-size:8px;letter-spacing:.18em;color:#ddd2bec0}.dining-layout{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:8vw}.dining-copy h2{font-size:clamp(48px,5.1vw,80px)}.dining-copy>p{font-size:12px;color:#e4e7dfbf;max-width:360px;margin-top:28px}.dining-tabs{margin:38px 0 24px}.dining-tabs button{display:flex;align-items:center;gap:20px;width:100%;text-align:left;padding:17px 0;border-bottom:1px solid #ffffff25;font:24px var(--serif);color:#e4e7df99;transition:color .3s,padding .3s}.dining-tabs button>span{font:8px var(--sans);color:var(--gold)}.dining-tabs button svg{margin-left:auto}.dining-tabs button[aria-selected=true]{color:var(--ivory);padding-left:8px}.dining-copy>.text-link{border-color:#c4a77d80;color:var(--ivory);gap:65px}.dining-visual{height:650px;position:relative;overflow:hidden}.dining-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,#10221ecf)}.dining-visual img{height:110%;margin-top:-5%;animation:photoFade .65s both}.dining-caption{position:absolute;z-index:1;bottom:30px;left:30px;right:30px}.dining-caption>span{font:italic 29px var(--serif)}.dining-caption p{font-size:10px;max-width:330px;margin-top:10px;color:#fff}.wellness{background:var(--sand);display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.wellness-photo{height:720px;position:relative;overflow:hidden}.wellness-photo img{height:110%;margin-top:-5%}.vertical-caption{position:absolute;bottom:28px;left:25px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;letter-spacing:.22em;color:#fff;text-shadow:0 1px 9px #000}.wellness-copy>p:not(.eyebrow){font-size:12px;color:#515b51;max-width:355px;margin-top:28px}.rituals{margin-top:35px}.ritual{border-bottom:1px solid #263d3530}.ritual>button{display:flex;align-items:center;gap:16px;width:100%;padding:20px 0;text-align:left}.ritual>button>span{font:24px var(--serif);flex:1}.ritual>button>svg:first-child{color:#59694f}.ritual>div p{font-size:11px;line-height:1.9;color:#515b51;padding:0 15px 22px 35px;max-width:400px;animation:photoFade .4s}.experience-heading-side{display:flex;align-items:flex-end;gap:45px}.rail-controls{display:flex;gap:10px}.rail-controls .circle{width:42px;height:42px}.experience-rail{display:flex;gap:25px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:15px}.experience-rail::-webkit-scrollbar{display:none}.experience-card{flex:0 0 calc((100% - 75px)/4);scroll-snap-align:start;min-width:0}.experience-photo{display:block;width:100%;height:370px;position:relative}.experience-photo .circle{width:39px;height:39px;bottom:16px;right:16px}.experience-number{font-size:8px;letter-spacing:.12em;color:var(--muted);display:block;margin:23px 0 13px}.experience-card h3{font-size:30px;max-width:220px}.experience-card>p{font-size:10px;margin:14px 0 10px;color:var(--muted);max-width:200px}.experience-card .text-link{font-size:10px;gap:28px}.swipe-hint{display:flex;align-items:center;gap:20px;font-size:8px;letter-spacing:.16em;color:var(--muted);margin-top:30px}.gallery{background:#eae5da;padding-top:95px}.gallery-heading{text-align:center;margin:0 auto 55px}.gallery-heading>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:25px}.gallery-grid{display:grid;grid-template-columns:1.05fr .9fr 1.05fr;grid-template-rows:320px 220px 300px;gap:16px}.gallery-item{position:relative;display:block;width:100%;height:100%}.gallery-item-0{grid-column:1/3;grid-row:1}.gallery-item-1{grid-column:3;grid-row:1/3}.gallery-item-2{grid-column:1;grid-row:2/4}.gallery-item-3{grid-column:2;grid-row:2}.gallery-item-4{grid-column:2;grid-row:3}.gallery-item-5{grid-column:3;grid-row:3}.gallery-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;padding:23px;background:linear-gradient(transparent 55%,#132a2370);color:#fff;opacity:0;transition:opacity .4s}.gallery-overlay>span{font:italic 23px var(--serif)}.gallery-item:hover .gallery-overlay,.gallery-item:focus-visible .gallery-overlay{opacity:1}.gallery-footnote{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.14em;color:var(--muted);margin-top:23px}.testimonials{padding-top:110px;padding-bottom:110px}.testimonials .demo-label{font-size:8px!important;letter-spacing:.12em}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px}.testimonial{border-top:1px solid #263d3530;padding-top:17px}.quote-mark{font:60px/.9 var(--serif);color:#aa8c60;display:block;height:50px}.testimonial blockquote{font:italic 27px/1.4 var(--serif);margin:0 0 30px}.testimonial figcaption{font-size:7px;letter-spacing:.12em;color:var(--muted);display:flex;justify-content:space-between;gap:5px}.reservation{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--sand);align-items:start}.reservation-heading>p:not(.eyebrow){font-size:12px;color:#515b51;margin-top:25px}.reservation-note{display:flex;align-items:center;gap:20px;margin-top:55px;font-size:10px;line-height:1.8;color:#515b51}.tiny-star{font:65px var(--serif);color:#7b6a4e}.reservation-panel{padding:38px;background:var(--ivory)}.form-heading{font:26px var(--serif)}.demo-label{font-size:8px;letter-spacing:.13em;color:var(--muted);margin-top:14px}.reservation-panel .demo-label{font-size:7px;margin:10px 0 32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;font-size:9px;letter-spacing:.035em;margin-bottom:10px}.field label span{color:var(--muted);font-size:8px}.field input,.field select,.field textarea{display:block;width:100%;min-height:46px;background:transparent;border:0;border-bottom:1px solid #263d3540;border-radius:0;font-size:11px;color:var(--ink);padding:10px 0;max-width:100%;color-scheme:light}.field input{min-width:0;appearance:none}.field textarea{resize:vertical;min-height:70px;line-height:1.8}.field textarea::placeholder{color:#74786c;font-size:10px}.field select{cursor:pointer;padding-right:18px}.field [aria-invalid=true]{border-color:#9a382c}.error{display:block;color:#8d2e22;font-size:10px;line-height:1.6;margin-top:7px}.form-submit{width:100%;justify-content:space-between;margin-top:30px}.form-disclaimer{font-size:8px;line-height:1.9;color:var(--muted);margin-top:16px}.booking-result{margin-top:22px;padding:22px 18px;border:1px solid #263d3545;display:flex;gap:15px;background:#e4e6dc}.booking-result>svg{color:var(--forest)}.booking-result strong{font:22px var(--serif)}.booking-result p{font-size:11px;margin:10px 0}.booking-result small{font-size:9px;line-height:1.6;display:block;color:var(--muted)}.final-cta{height:660px;overflow:hidden;isolation:isolate;display:grid;place-items:center;text-align:center;color:#fff;padding:80px 24px}.final-cta>img{position:absolute;inset:-5% 0;width:100%;height:110%;z-index:-2}.final-cta .scene-shade{background:#12241d55}.final-cta h2{font-size:clamp(54px,6.5vw,102px)}.final-cta p:not(.eyebrow){font-size:12px;margin:26px 0}.final-cta .button{margin-top:8px}footer{background:var(--forest);color:var(--ivory);padding:65px var(--gutter) 25px;overflow:hidden}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px}.footer-top>div>p{font:italic 21px var(--serif);margin-top:24px;color:#e0e3d9bd}.footer-top nav{display:flex;flex-wrap:wrap;gap:25px;justify-content:center;font-size:10px}.footer-top nav a:hover{color:var(--gold)}.back-top{transform:rotate(-45deg);border-color:#ddd2be60}.back-top:hover{background:var(--ivory);color:var(--forest)}.footer-word{font:400 clamp(150px,27vw,450px)/.9 var(--serif);letter-spacing:.14em;text-align:center;padding-left:.14em;color:#f5f1e80e;margin:55px -30px 10px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff20;padding-top:25px;font-size:8px;color:#f5f1e8a5}.dialog-open{overflow:hidden}.dialog{padding:0;border:0;max-width:min(850px,calc(100vw - 40px));width:850px;max-height:90svh;overflow:auto;background:var(--ivory);color:var(--ink);box-shadow:0 20px 100px #0005}.dialog::backdrop{background:#0d1d19c9;backdrop-filter:blur(7px)}.dialog[open]{animation:dialogIn .35s var(--ease)}.dialog-close{position:sticky;float:right;margin:16px 16px -64px 0;top:16px;z-index:5;background:var(--ivory);width:44px;height:44px;border-color:#263d3520;box-shadow:0 3px 15px #0002}.dialog-content{clear:none}.modal-hero{height:380px}.modal-body{padding:45px}.modal-body h2{font-size:52px}.modal-body>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);margin-top:20px}.modal-body .button{margin-top:25px}.modal-features{list-style:none;margin:28px 0;padding:25px 0;display:grid;grid-template-columns:1fr 1fr;gap:20px;border-block:1px solid #263d3525;font-size:11px}.modal-features span{margin-right:10px;color:#8c714d}.modal-secondary{height:290px}.dining-detail{display:grid;grid-template-columns:.75fr 1fr;gap:25px;align-items:center;margin-top:30px;padding-top:30px;border-top:1px solid #263d3530}.dining-detail img{height:180px}.dining-detail h3{font-size:30px}.dining-detail p{font-size:11px;color:var(--muted);margin-top:14px}.lightbox{width:min(1200px,calc(100vw - 60px));max-width:none;background:var(--ink);color:var(--ivory);overflow:hidden}.lightbox .dialog-close{position:absolute;right:0;top:0}.lightbox-image{height:min(70svh,750px);object-fit:contain;background:#101513;animation:photoFade .35s}.lightbox-bar{display:flex;justify-content:space-between;align-items:center;padding:22px 30px}.lightbox-bar .eyebrow{margin-bottom:6px;font-size:8px}.lightbox-bar h3{font:italic 25px var(--serif)}.lightbox-bar>div:last-child{display:flex;gap:10px}.lightbox-bar .circle{border-color:#ffffff50}.lightbox-bar .circle:hover{background:var(--ivory);color:var(--ink)}.menu-dialog{position:fixed;inset:0;max-width:100vw;max-height:100svh;width:100%;height:100svh;margin:0;padding:30px var(--gutter);background:var(--forest);color:var(--ivory)}.menu-dialog .dialog-close{background:transparent;color:var(--ivory);border-color:#ffffff70;margin-right:0;top:0}.menu-dialog .wordmark{margin-bottom:35px}.menu-dialog nav{display:flex;flex-direction:column;max-width:600px;margin:auto}.menu-dialog nav a{font:42px/1.1 var(--serif);padding:12px 0;display:flex;align-items:center;gap:20px;border-bottom:1px solid #ffffff25}.menu-dialog nav small{font:8px var(--sans);color:var(--gold)}.menu-dialog nav svg{margin-left:auto}.menu-dialog .dialog-content>p{font:italic 24px var(--serif);margin-top:35px}.observe-reveal{transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}.observe-reveal:not(.visible){opacity:0;transform:translateY(28px)}.mask-reveal.observe-reveal{transition:clip-path 1.3s var(--ease),opacity 1.3s var(--ease);transform:none}.mask-reveal.observe-reveal:not(.visible){clip-path:inset(10% 0 10% 0);opacity:.5}@keyframes introOut{to{opacity:0;visibility:hidden}}@keyframes wordIn{0%{opacity:0;transform:translateY(12px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes headlineIn{0%{opacity:0;transform:translateY(30px);clip-path:inset(100% 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}@keyframes cameraIn{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes scrollFloat{0%,to{transform:translateY(-3px)}50%{transform:translateY(3px)}}@keyframes photoFade{0%{opacity:.5}to{opacity:1}}@keyframes dialogIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1800px){.welcome-image{height:760px}.villa-photo{height:560px}.dining-visual{height:800px}.wellness-photo{height:850px}.experience-photo{height:480px}.gallery-grid{grid-template-rows:410px 270px 380px}.hero-description{font-size:14px;max-width:470px}}@media(max-width:1100px){.desktop-nav{gap:19px;margin-left:0}.nav-reserve{padding:13px}.welcome{gap:7vw}.welcome-image{height:520px}.villa-photo{height:350px}.villa-grid{gap:20px}.villa-info h3{font-size:28px}.dining-layout{gap:6vw}.dining-visual{height:600px}.wellness{gap:6vw}.wellness-photo{height:650px}.ritual>button>span{font-size:21px}.experience-card{flex-basis:calc((100% - 50px)/3)}.experience-heading-side{gap:20px}.testimonial-grid{gap:30px}.reservation{gap:6vw;grid-template-columns:.7fr 1.3fr}.reservation-panel{padding:30px}.footer-top nav{gap:18px}}@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:flex}.nav{gap:22px;padding-top:22px;padding-bottom:22px}.nav-reserve{margin-left:auto}.hero{min-height:650px;height:100svh}.hero-shell.native-story{height:auto}.native-story .hero{position:relative}.hero .scene-1,.hero .scene-2{display:none}.hero-copy h1{font-size:clamp(64px,10vw,100px)}.hero-coordinate{max-width:170px;line-height:1.8}.hero-side{display:none}.welcome{padding-top:100px;padding-bottom:100px;gap:55px;grid-template-columns:1fr 1fr}.welcome-image{height:500px}.welcome-copy h2{font-size:53px}.welcome-copy>p:not(.eyebrow){font-size:11px}.editorial-note{font-size:20px;margin-top:35px}.villas{padding-top:25px}.villa-grid{grid-template-columns:1fr;gap:45px}.villa-card{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.villa-card:nth-child(2),.villa-card:nth-child(3){padding-top:0}.villa-photo{height:370px}.villa-card:nth-child(2) .villa-photo{grid-column:2;grid-row:1}.villa-card:nth-child(2) .villa-info{grid-column:1;grid-row:1}.villa-info{padding-top:0}.villa-info h3{font-size:38px}.villa-info>p{max-width:270px}.section-heading h2{font-size:60px}.dining-copy h2{font-size:52px}.dining-layout{grid-template-columns:1fr 1fr;gap:30px}.dining-visual{height:560px}.dining-tabs button{font-size:21px;gap:12px}.wellness{gap:35px}.wellness-copy h2{font-size:53px}.wellness-photo{height:620px}.wellness-copy>p:not(.eyebrow){font-size:11px}.ritual>button{gap:10px}.ritual>button>span{font-size:20px}.experience-heading-side>p{display:none}.experience-card{flex-basis:calc((100% - 40px)*.4)}.experience-photo{height:350px}.gallery-grid{grid-template-rows:250px 180px 240px;gap:12px}.testimonial-grid{gap:25px}.testimonial blockquote{font-size:24px}.reservation{grid-template-columns:1fr;gap:50px}.reservation-heading{display:grid;grid-template-columns:1fr 1fr;align-items:center}.reservation-heading .eyebrow{grid-column:1/-1}.reservation-heading h2{font-size:68px}.reservation-note{display:none}.reservation-heading>p:not(.eyebrow){margin:0 0 0 25px}.reservation-panel{padding:40px}.final-cta{height:560px}.footer-top{flex-wrap:wrap;align-items:flex-start}.footer-top nav{max-width:350px;gap:20px}.footer-top>.back-top{display:none}.footer-word{margin-top:45px}.gallery-overlay{opacity:1;background:linear-gradient(transparent 75%,#132a2338);padding:15px}.gallery-overlay>span{font-size:19px}.gallery-overlay svg{width:16px}}@media(max-width:600px){:root{--gutter:24px;--section-space:80px}body{font-size:13px}.nav{padding-top:20px;padding-bottom:20px;gap:12px}.wordmark{font-size:33px}.wordmark span{font-size:6px;margin-top:6px}.nav.solid{padding-top:13px;padding-bottom:13px}.nav-reserve{font-size:8px;padding:12px;gap:10px}.nav-reserve svg{width:12px}.menu-toggle{width:36px}.hero{height:100svh;min-height:690px}.hero-copy{padding:130px 22px 140px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.21em;margin-bottom:28px}.hero-copy h1{font-size:clamp(52px,14.9vw,68px);line-height:1.02;letter-spacing:-.045em}.hero-description{font-size:11px;max-width:280px;margin-top:23px;line-height:1.9}.hero-actions{gap:10px;margin-top:28px;flex-direction:column;align-items:center}.hero-actions .button{min-height:47px;padding:14px 22px;font-size:9px;min-width:190px;justify-content:space-between}.hero-actions .button.ghost{justify-content:center}.hero-bottom{bottom:26px;align-items:flex-end}.hero-coordinate{display:none}.scroll-cue{font-size:7px;gap:12px}.scroll-cue span{width:28px;height:39px}.scene-index{width:auto;gap:8px;font-size:8px}.scene-index>div span{width:15px}.scene-image{object-position:50% 50%}.scene-shade{background:linear-gradient(180deg,#10231d55,#122a2433 30%,#122a2444 65%,#12231d99)}.intro>span{font-size:65px}.welcome{grid-template-columns:1fr;gap:45px;padding-top:75px;padding-bottom:80px}.welcome-image{height:440px;margin-right:30px}.welcome-copy{max-width:none;padding-left:28px}.welcome-copy h2{font-size:56px}.welcome-copy>.eyebrow{font-size:8px;margin-bottom:22px}.welcome-copy>p:not(.eyebrow){font-size:12px;max-width:320px}.gold-line{margin:25px 0}.editorial-note{margin-top:30px;font-size:21px}.eyebrow{font-size:8px;margin-bottom:20px}.section-heading{display:block;margin-bottom:35px}.section-heading h2{font-size:56px}.section-heading>p{margin-top:24px;font-size:11px}.villas{padding-top:0}.villa-grid{gap:45px}.villa-card{display:block}.villa-photo{height:410px}.villa-card:nth-child(2){margin-left:28px}.villa-card:nth-child(3){margin-right:28px}.villa-info{padding-top:25px}.villa-info h3{font-size:35px}.villa-info>.eyebrow{font-size:7px}.villa-info>p{max-width:300px;font-size:11px;min-height:0;margin-top:12px}.features-mini{margin-top:17px}.villa-info .text-link{margin-top:3px}.dining-top{margin-bottom:35px;padding-bottom:22px}.dining-top>span{display:none}.dining-layout{display:flex;flex-direction:column;gap:40px;align-items:stretch}.dining-copy h2{font-size:53px}.dining-copy>p{font-size:11px;margin-top:22px}.dining-tabs{margin-top:28px}.dining-tabs button{font-size:24px;padding-block:16px}.dining-copy>.text-link{margin-top:0}.dining-visual{height:450px;margin-left:25px}.dining-caption{left:23px;bottom:23px;right:23px}.dining-caption>span{font-size:26px}.dining-caption p{font-size:10px}.wellness{display:flex;flex-direction:column;gap:45px}.wellness-photo{height:460px;width:100%;margin-right:30px;align-self:flex-start;width:calc(100% - 30px)}.wellness-copy h2{font-size:56px}.wellness-copy>p:not(.eyebrow){font-size:11px;margin-top:24px}.rituals{margin-top:25px}.ritual>button>span{font-size:23px}.ritual>button{padding:20px 0;gap:15px}.ritual>div p{font-size:11px;padding-left:34px}.experience-heading-side{justify-content:flex-end;margin-top:23px}.experience-heading-side .circle{width:40px;height:40px}.experience-rail{margin-right:calc(-1 * var(--gutter));padding-right:var(--gutter);gap:18px;scroll-padding-left:0}.experience-card{flex-basis:80%;max-width:330px}.experience-photo{height:385px}.experience-card h3{font-size:33px;max-width:240px}.experience-card>p{font-size:11px;max-width:240px}.swipe-hint{font-size:7px;gap:12px;margin-top:20px}.gallery{padding-top:75px}.gallery-heading{margin-bottom:35px}.gallery-heading h2{font-size:55px}.gallery-heading>p:not(.eyebrow){font-size:11px;margin-top:20px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:240px 270px 220px 250px;gap:10px}.gallery-item-0{grid-column:1/-1;grid-row:1}.gallery-item-1{grid-column:1;grid-row:2}.gallery-item-2{grid-column:2;grid-row:2/4}.gallery-item-3{grid-column:1;grid-row:3}.gallery-item-4{grid-column:1;grid-row:4}.gallery-item-5{grid-column:2;grid-row:4}.gallery-overlay{padding:12px}.gallery-overlay>span{font-size:18px;max-width:120px}.gallery-overlay svg{display:none}.gallery-footnote{font-size:6px;gap:20px;letter-spacing:.1em;margin-top:18px}.gallery-footnote span{flex-shrink:0}.testimonials{padding-top:75px;padding-bottom:75px}.testimonials .demo-label{font-size:6px!important;line-height:1.8}.testimonial-grid{grid-template-columns:1fr;gap:32px}.testimonial{padding-top:17px}.quote-mark{height:40px;font-size:55px}.testimonial blockquote{font-size:28px;line-height:1.4;margin-bottom:22px;max-width:340px}.testimonial figcaption{font-size:7px}.reservation{gap:35px}.reservation-heading{display:block}.reservation-heading h2{font-size:60px}.reservation-heading>p:not(.eyebrow){margin:24px 0 0;font-size:11px}.reservation-panel{padding:28px 22px;margin:0 -5px}.form-heading{font-size:24px;line-height:1.2}.reservation-panel .demo-label{font-size:6px;margin-bottom:27px}.form-grid{gap:25px 16px}.field label{font-size:8px}.field input,.field select{font-size:10px;min-height:44px}.field textarea{font-size:11px}.field label span{font-size:7px}.form-submit{font-size:10px;padding:17px 20px}.form-disclaimer{font-size:7px}.booking-result{padding:17px 13px;gap:12px}.booking-result strong{font-size:22px}.booking-result p{font-size:10px}.booking-result small{font-size:8px}.final-cta{height:590px;padding-inline:20px}.final-cta h2{font-size:53px}.final-cta .eyebrow{font-size:8px}.final-cta p:not(.eyebrow){font-size:11px}.final-cta .button{font-size:10px;padding:17px 25px}footer{padding-top:50px}.footer-top{display:block}.footer-top>.wordmark{font-size:36px}.footer-top nav{justify-content:flex-start;max-width:100%;gap:20px 26px;font-size:10px;margin-top:35px}.footer-top>div>p{font-size:21px;margin-top:20px}.footer-word{font-size:28vw;letter-spacing:.1em;margin:45px -10px 25px}.footer-bottom{flex-direction:column;gap:12px;font-size:7px;line-height:1.6;padding-top:22px}.dialog{width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:92svh}.modal-hero{height:280px}.modal-body{padding:30px 24px}.modal-body h2{font-size:41px}.modal-body>.eyebrow{font-size:7px;padding-right:15px}.modal-body>p:not(.eyebrow){font-size:11px}.modal-features{grid-template-columns:1fr;font-size:11px;gap:15px}.modal-secondary{height:240px}.modal-body .button{font-size:10px;gap:20px}.dining-detail{grid-template-columns:1fr;gap:20px}.dining-detail img{height:230px}.dining-detail h3{font-size:30px}.lightbox{width:calc(100% - 20px);max-width:none}.lightbox-image{height:66svh}.lightbox-bar{padding:20px}.lightbox-bar h3{font-size:23px;max-width:180px}.lightbox-bar .circle{width:40px;height:40px}.lightbox-bar>div:last-child{gap:7px}.menu-dialog{width:100%;max-width:100%;height:100svh;max-height:100svh;padding:25px 26px}.menu-dialog nav a{font-size:36px;padding-block:12px}.menu-dialog .wordmark{margin-bottom:35px}.menu-dialog .dialog-content>p{font-size:22px;margin-top:28px}}@media(max-width:374px){.nav-reserve{display:none}.menu-toggle{margin-left:auto}.hero-copy h1{font-size:51px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.gallery-heading h2{font-size:48px}.dining-copy h2{font-size:46px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.intro{display:none}.hero-shell.native-story{height:auto}.native-story .hero{position:relative}.hero .scene-1,.hero .scene-2{display:none}.hero .scene-0{opacity:1!important;visibility:visible!important}.observe-reveal:not(.visible){opacity:1;transform:none;clip-path:none}.parallax{transform:none!important}}.mobile-story{display:none}.mobile-moment{position:relative;height:70svh;min-height:430px;isolation:isolate;color:var(--ivory);display:flex;align-items:flex-end;padding:55px var(--gutter);overflow:hidden}.mobile-moment>img{position:absolute;inset:0;z-index:-2}.moment-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 20%,#11251fa6)}.mobile-moment h2{font-size:clamp(53px,8vw,80px)}.mobile-moment .eyebrow{color:var(--sand)}@media(max-width:900px){.mobile-story{display:block}}@media(prefers-reduced-motion:reduce){.mobile-story{display:block}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
