@font-face{font-family:Inter;src:url(/fonts/inter-variable.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{font-family:Inter,Arial,sans-serif;color:#253d32;background:#f7f6f0;font-synthesis:none;--green: #253d32;--ivory: #f7f6f0;--muted: #767e72;--sand: #ebe9de;--line: #d9dcd0;--serif: Inter, Arial, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.38}button{border:0;background:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block;object-fit:cover}svg{flex-shrink:0}p{font-size:14px;line-height:1.85;margin:0;color:#6d766a}h1,h2,h3,h4{font-weight:400;margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(44px,4.7vw,72px);line-height:1.02;letter-spacing:-2px}h2 em,h1 em{font-weight:400}h3{font-size:36px;line-height:1.1}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #a5834e;outline-offset:5px}h1:focus{outline:none}::selection{background:#ced5bd;color:var(--green)}.section{padding:112px max(6.25vw,24px);max-width:1760px;margin:0 auto}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2.1px;line-height:1.6;color:inherit}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:52px;padding:16px 25px;font-size:11px;font-weight:450;letter-spacing:.3px;border:1px solid transparent;transition:background .25s,color .25s,transform .25s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.button svg{transition:transform .25s}.button:hover svg{transform:translate(2px,-2px)}.solid{background:var(--green);color:var(--ivory)}.solid:hover{background:#3d5545}.light{background:var(--ivory);color:var(--green)}.light:hover{background:#e2e6d8}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:11px;font-weight:500;padding:10px 0;border-bottom:1px solid currentColor;line-height:1.5;transition:gap .25s}.text-link:hover{gap:29px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid transparent;flex-shrink:0}.icon-button:hover{background:#253d320a}.round-button{width:42px;height:42px;border:1px solid #ffffff70;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:background .2s}.round-button:hover{background:#fff;color:var(--green)}.back-link{display:inline-flex;align-items:center;gap:10px;font-size:11px;color:#727c6d}.skip-link{position:fixed;left:16px;top:-100px;z-index:1000;padding:15px 20px;background:var(--ivory);color:var(--green)}.skip-link:focus{top:16px}.centered{text-align:center}.header{position:fixed;top:0;left:0;width:100%;z-index:50;color:#fff;transition:background .3s,color .3s,border-color .3s;border-bottom:1px solid #ffffff22}.header-inner{height:103px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.header-solid{background:#f7f6f0f7;color:var(--green);border-color:var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:inline-flex;flex-direction:column;align-items:center;flex-shrink:0}.brand>span{font-family:var(--serif);font-size:34px;letter-spacing:7px;line-height:1.05;position:relative;padding-left:7px}.brand-dot{font-family:Inter,sans-serif;font-size:8px;letter-spacing:0;position:absolute;top:2px;right:-9px}.brand small{font-size:7px;letter-spacing:4.6px;margin-top:6px;margin-left:4px}.desktop-nav{display:flex;align-items:center;gap:28px;margin-left:auto;margin-right:auto}.desktop-nav a,.desktop-nav button{font-size:11px;padding:8px 0;position:relative}.desktop-nav a:after,.desktop-nav button:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover:after,.desktop-nav button:hover:after{transform:scaleX(1)}.header-reserve{display:flex;align-items:center;justify-content:center;gap:24px;border:1px solid #ffffff80;padding:15px 19px;font-size:10px;transition:background .2s,color .2s}.header-reserve:hover{background:var(--ivory);color:var(--green)}.header-solid .header-reserve{border-color:#253d3260}.header-solid .header-reserve:hover{background:var(--green);color:#fff}.menu-toggle,.mobile-menu,.mobile-booking{display:none}.scroll-cue{display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:1.7px}.scroll-line{height:1px;width:32px;background:#fff7}.stay-picker{position:relative;display:flex;align-items:center;gap:26px;width:100%;color:var(--green)}.stay-fields{display:flex;flex:1;align-items:center;justify-content:space-between;gap:24px}.stay-field{display:flex;flex-direction:column;align-items:stretch;gap:9px;text-align:left;padding:8px 0;min-width:115px}.field-label{font-size:8px;letter-spacing:1.7px;color:#64705f}.field-value{display:flex;align-items:center;gap:9px;font-size:12px;white-space:nowrap}.field-value>svg:last-child{margin-left:18px;color:#6f7968}.field-active .field-label{color:#a27d4f}.availability-button{gap:29px;min-height:52px}.picker-error{position:absolute;bottom:-24px;left:0;font-size:11px;color:#943f2c}.calendar-popover,.guest-popover{position:absolute;background:var(--ivory);box-shadow:0 15px 70px #1a2d2524;border:1px solid var(--line);top:calc(100% + 22px);left:0;z-index:30;padding:22px;color:var(--green);animation:popover .2s var(--ease)}.calendar-popover{width:590px;max-width:calc(100vw - 40px)}.calendar-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:500;margin-bottom:16px}.calendar-top>div{display:flex;gap:6px}.calendar-top .icon-button{border-color:var(--line);width:30px;height:30px}.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:30px}.calendar-month h4{font-size:12px;margin-bottom:14px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-grid>span,.calendar-grid>button{height:31px;display:flex;align-items:center;justify-content:center;font-size:11px;aspect-ratio:1}.calendar-grid .day-heading{font-size:9px;color:#7d8577}.calendar-grid button:hover{background:#dfe3d5}.calendar-grid button.in-range{background:#e7eade}.calendar-grid button.selected{background:var(--green);color:#fff}.calendar-grid button:disabled{opacity:.23}.calendar-note{margin-top:15px;padding-top:15px;border-top:1px solid var(--line);font-size:10px}.guest-popover{left:auto;right:0;width:320px;padding:25px}.guest-popover strong{font-family:var(--serif);font-size:25px;font-weight:500}.guest-popover p{font-size:10px;margin-top:5px}.guest-counter{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px}.guest-counter button{border:1px solid var(--line);border-radius:50%}.guest-counter output{font-size:18px}.guest-popover .text-link{width:100%;justify-content:space-between}.footer{background:#223b30;color:#eef0e4;padding:65px 6.25% 0}.footer-top{display:grid;grid-template-columns:1.1fr .75fr 1.1fr 1fr;gap:6%;padding-bottom:55px}.footer-brand{align-items:start}.footer-brand>span{padding-left:0;font-size:34px;letter-spacing:6px}.footer-brand small{font-size:6px;letter-spacing:3.8px}.footer-top>div:first-child>p{font-family:var(--serif);color:#bfcab5;font-size:20px;margin-top:21px;line-height:1.3}.footer-links{display:flex;flex-direction:column;align-items:start;gap:13px}.footer-links .eyebrow{font-size:7px;color:#a4b39b;margin-bottom:7px}.footer-links>a,.footer-links>button,.footer-links>span{font-size:10px;color:#d1d9c9;padding:0;line-height:1.6;display:flex;align-items:center;gap:15px}.footer-links>small{font-size:7px;color:#9ba98e;margin-top:-10px}.footer-bottom{border-top:1px solid #ffffff22;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:23px 0;color:#9dab92}.footer-bottom>span,.footer-bottom p{font-size:7px;color:#a5b297;line-height:1.6}.footer-bottom>div{display:flex;gap:20px}.footer-bottom button{font-size:7px;color:#b5c1a8;padding:0}.modal{border:0;background:var(--ivory);padding:0;max-width:min(90vw,700px);width:100%;max-height:90svh;color:var(--green);box-shadow:0 20px 100px #0003}.modal::backdrop{background:#11271fba;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.modal[open]{animation:modal-enter .35s var(--ease)}.modal-inner{position:relative;padding:52px}.modal-close{position:absolute;right:18px;top:18px;z-index:5;background:#f7f6f0ed}.modal h2{font-size:49px;margin:17px 0 23px}.modal p{font-size:12px}.contact-form{display:flex;flex-direction:column;gap:20px;margin-top:27px}.contact-form label,.guest-form label{display:flex;flex-direction:column;gap:10px;font-size:10px;line-height:1.5}.contact-form input,.contact-form textarea,.guest-form input,.guest-form textarea{width:100%;border:1px solid #d1d7c9;background:transparent;border-radius:0;padding:14px;font-size:12px;color:var(--green);transition:border-color .2s;resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder,.guest-form input::placeholder,.guest-form textarea::placeholder{color:#909887;font-size:11px}.form-note{font-size:9px!important;color:#8a9380;line-height:1.7;display:flex;align-items:center;gap:8px}.inquiry-success{padding:15px 0}.inquiry-success>.eyebrow{margin-top:24px}.inquiry-success>.button{margin-top:25px}.legal-modal p:not(.eyebrow){margin-top:18px;line-height:1.9}.experience-modal{max-width:800px}.experience-modal .modal-inner{padding:0}.experience-modal img{width:100%;height:300px}.experience-modal-copy{padding:35px 45px 40px}.experience-modal-copy .button{margin-top:25px}.experience-modal-copy small{display:block;font-size:8px;color:#7c8771;margin-top:15px}.lightbox{max-width:95vw;max-height:95svh;width:1200px;background:#172b23;color:#fff;overflow:auto}.lightbox .modal-inner{padding:24px}.lightbox .modal-close{background:#172b23a0;color:#fff;top:35px;right:35px}.lightbox-image{height:70svh;display:flex;align-items:center;justify-content:center}.lightbox-image>img{width:100%;height:100%;object-fit:contain;animation:image-enter .4s var(--ease)}.lightbox-caption{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:24px 15px 7px}.lightbox-caption .eyebrow{font-size:8px;color:#adbaa4;letter-spacing:1.5px}.lightbox-caption h3{font-size:28px;margin-top:8px}.lightbox-caption>div:last-child{display:flex;gap:10px}.not-found{padding-top:220px;min-height:70svh}.not-found h1{font-size:70px;max-width:700px;margin:20px 0 40px}.detail-heading{padding-top:148px;padding-bottom:40px}.detail-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:36px}.detail-title h1{font-size:clamp(70px,7vw,110px);letter-spacing:-3px;line-height:1.05;margin-top:13px}.detail-title>p{font-family:var(--serif);font-style:italic;font-size:26px;margin-bottom:15px;color:#67755d}.detail-gallery{height:600px;position:relative;margin:0 3.125%;overflow:hidden;background:#d9ddcf}.detail-gallery>img{width:100%;height:100%}.detail-gallery:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#18372b55,transparent 40%);pointer-events:none}.detail-gallery-controls{position:absolute;bottom:30px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:center;z-index:1;color:#fff}.detail-gallery-controls>span{font-size:11px;letter-spacing:2px}.detail-gallery-controls>div{display:flex;gap:10px}.detail-body{display:grid;grid-template-columns:1.5fr .85fr;gap:12%;align-items:start;padding-top:85px}.detail-description h2{margin:20px 0 26px}.detail-description>p:not(.eyebrow){font-size:13px;max-width:570px}.detail-specs{display:flex;gap:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin:30px 0 40px;flex-wrap:wrap}.detail-specs>span{font-size:11px;display:flex;align-items:center;gap:9px}.detail-description>h3{font-size:30px}.detail-amenities{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0 40px}.detail-amenities>li{display:flex;align-items:center;gap:10px;font-size:11px;color:#6d7964}.detail-amenities svg{color:#7d8a6b}.stay-notes{padding-top:25px;border-top:1px solid var(--line)}.stay-notes h4{font-size:12px;margin-bottom:15px}.stay-notes p{font-size:10px;margin-top:10px}.detail-reserve{padding:33px;background:#eceee2;position:sticky;top:135px}.detail-reserve>.eyebrow{font-size:7px;letter-spacing:1.5px}.detail-rate{font-family:var(--serif);font-size:44px;display:block;margin:15px 0 10px}.detail-rate>small{font-family:Inter,sans-serif;font-size:10px;color:#7a856f}.detail-reserve>p:not(.eyebrow){font-size:10px}.detail-summary{border-top:1px solid #d0d7c5;border-bottom:1px solid #d0d7c5;margin:25px 0 20px;padding:18px 0;display:flex;justify-content:space-between;gap:10px;font-size:10px}.availability-note{font-size:9px!important;display:flex;align-items:center;gap:7px;color:#687b59;line-height:1.7}.availability-note>span{width:5px;height:5px;border-radius:50%;background:#7a8e66;flex-shrink:0}.unavailable{color:#a18160}.unavailable>span{background:#b69573}.detail-reserve>.button{width:100%;margin:19px 0 16px;gap:20px;font-size:10px}.detail-reserve>small{font-size:8px;color:#8b947e;display:block;text-align:center}.other-villas{background:#eeeee4;padding-top:75px;padding-bottom:80px;max-width:none}.other-villas h2{margin:20px 0 35px}.other-villas>div{display:grid;grid-template-columns:1fr 1fr;gap:25px}.other-villas a{overflow:hidden}.other-villas img{width:100%;height:320px;transition:transform .5s}.other-villas a:hover img{transform:scale(1.02)}.other-villas a>span{display:flex;align-items:center;justify-content:space-between;font-family:var(--serif);font-size:30px;margin-top:20px}.booking-page{padding-top:140px;min-height:100svh;padding-bottom:0}.booking-page-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.demo-badge{font-size:7px;letter-spacing:1.2px;border:1px solid #d9ddcf;padding:9px 12px;color:#7c896d}.booking-page-heading{margin:44px 0 36px}.booking-page-heading>h1{font-size:clamp(52px,5.6vw,82px);letter-spacing:-2px;line-height:1.05;margin:17px 0}.booking-page-heading>p:last-child{font-size:12px}.booking-steps{display:flex;border-bottom:1px solid var(--line);gap:0;margin-bottom:47px}.booking-modify{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#eeeee4;padding:20px 28px;margin-bottom:26px}.booking-modify .stay-picker{max-width:590px}.booking-modify>span{font-size:9px;color:#7c866f;white-space:nowrap}.available-villas{display:flex;flex-direction:column;gap:20px}.available-villa{display:grid;grid-template-columns:.92fr 1.2fr .8fr;background:#eeeee4;min-height:246px}.available-villa>a{overflow:hidden}.available-villa>a>img{width:100%;height:100%;min-height:246px;transition:transform .5s}.available-villa>a:hover>img{transform:scale(1.035)}.available-villa-info{padding:25px 30px}.available-villa-info h2{font-size:37px;letter-spacing:-1px;margin:13px 0 7px}.available-villa-info>p:not(.availability-note){font-size:11px}.available-specs{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0 5px}.available-specs>span{display:flex;align-items:center;gap:5px;font-size:8px;color:#77836b}.available-villa-info .text-link{font-size:9px;gap:15px}.available-villa-price{align-self:center;border-left:1px solid #d2d8c7;padding:5px 28px;display:flex;flex-direction:column;align-items:end;text-align:right;gap:15px}.available-villa-price>span{font-family:var(--serif);font-size:28px;white-space:nowrap}.available-villa-price>span>small{font-family:Inter,sans-serif;font-size:9px;color:#7d876f}.available-villa-price>p{font-size:10px;line-height:1.7}.available-villa-price>p>small{font-size:7px}.available-villa-price>.button{min-height:43px;font-size:9px;padding:12px 17px;gap:21px}.villa-unavailable>a>img{filter:saturate(.4);opacity:.7}.available-villas+.form-note{margin-top:25px;justify-content:center}.empty-availability{padding:25px;background:#ede2d1;margin:20px 0;font-size:12px}.review-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:start}.review-image{width:100%;height:300px}.review-title{display:flex;align-items:center;justify-content:space-between;margin-top:27px;gap:25px}.review-title .eyebrow{font-size:7px}.review-title h2{font-size:43px;letter-spacing:-1px;margin-top:9px}.review-title .text-link{font-size:9px}.review-main>p{font-size:11px;margin-top:12px}.review-stay{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;margin-top:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.review-stay>div{display:flex;flex-direction:column;gap:10px}.review-stay .eyebrow{font-size:7px}.review-stay strong{font-size:11px;font-weight:500}.review-stay small{font-size:9px;color:#858f7b}.review-inclusions{padding-top:25px;margin-top:25px;border-top:1px solid var(--line)}.review-inclusions h3{font-size:27px}.review-inclusions p{font-size:11px;margin-top:12px}.price-summary{padding:32px;background:#eceedf;position:sticky;top:130px}.price-summary>.eyebrow{font-size:7px}.price-summary h3{font-size:32px;margin:19px 0 28px}.price-summary dl{margin:0}.price-summary dl>div{display:flex;justify-content:space-between;gap:15px;margin:20px 0;font-size:11px}.price-summary dt{color:#6f7d63}.price-summary dt>span{display:block;font-size:8px;margin-top:5px}.price-summary dd{margin:0;white-space:nowrap}.price-summary dl>.price-total{border-top:1px solid #cdd5c0;margin-top:26px;padding-top:24px;font-size:22px;align-items:center}.price-total dt{font-family:var(--serif);color:var(--green);font-size:30px}.price-total dt>small{font-family:Inter,sans-serif;font-size:8px;padding-left:7px;color:#8a947d}.price-total dd{font-family:var(--serif);font-size:31px}.price-summary>.button{width:100%;font-size:10px;gap:20px;margin:13px 0 15px}.price-summary .form-note{justify-content:center;font-size:8px!important}.guest-layout{display:grid;grid-template-columns:1.15fr .8fr;gap:12%;align-items:start}.guest-form>h2{font-size:49px;margin-bottom:20px}.guest-form>p{font-size:11px;margin-bottom:28px}.guest-form>label{margin:22px 0;position:relative}.optional{font-size:9px;color:#939b88;position:absolute;right:0;top:0}.guest-form .field-error,.field-error{color:#a44932;font-size:10px}.has-error input{border-color:#b9674f}.error-summary{background:#f0dfd5;border-left:2px solid #a44932;padding:16px;font-size:11px;margin:20px 0;color:#90432f}.error-summary p{font-size:11px;margin-top:10px;color:inherit}.demo-consent{display:flex;gap:15px;background:#eeeee3;padding:20px;margin:25px 0}.demo-consent svg{color:#778969}.demo-consent p{font-size:9px;line-height:1.8}.submit-demo{width:100%;justify-content:space-between;font-size:10px}.guest-stay-summary{background:#eeeee3;position:sticky;top:130px}.guest-stay-summary>img{width:100%;height:240px}.guest-stay-summary>div{padding:28px}.guest-stay-summary .eyebrow{font-size:7px}.guest-stay-summary h3{font-size:35px;margin:13px 0}.guest-stay-summary p{font-size:11px;line-height:2}.guest-summary-total{border-top:1px solid #d0d8c3;padding:20px 0 8px;margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.guest-summary-total>span{font-size:9px;color:#748166}.guest-summary-total>strong{font-family:var(--serif);font-size:27px;font-weight:500}.guest-stay-summary .text-link{font-size:9px;margin-top:5px}.booking-back{margin-top:38px}.booking-page-footer{padding:30px 0;margin-top:55px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.booking-page-footer>span{font-size:7px;letter-spacing:2px;color:#818d73}.booking-page-footer>p{font-size:8px}.success-mark{display:inline-flex;align-items:center;justify-content:center;background:#e5eadb;border:1px solid #cbd5bb;color:var(--green);border-radius:50%;height:56px;width:56px}.confirmation{padding-top:155px;padding-bottom:90px;max-width:1120px}.confirmation-head{text-align:center}.confirmation-head .eyebrow{font-size:8px;margin-top:24px}.confirmation-head h1{font-size:85px;line-height:.95;letter-spacing:-2px;margin:20px 0 25px}.confirmation-head>p:last-child{font-size:12px;max-width:450px;margin:auto}.confirmation-card{margin-top:42px;display:grid;grid-template-columns:1fr 1.1fr;background:#eceedf}.confirmation-card>img{width:100%;height:100%;min-height:320px}.confirmation-card>div{padding:31px}.confirmation-card .eyebrow{font-size:7px;letter-spacing:1px;overflow-wrap:anywhere}.confirmation-card h2{font-size:43px;margin:14px 0 23px;letter-spacing:-1px}.confirmation-card dl>div{display:flex;justify-content:space-between;gap:15px;font-size:10px;margin-top:17px}.confirmation-card dt{color:#7d896f}.confirmation-card dd{margin:0;text-align:right}.confirmation-notice{display:flex;align-items:start;gap:18px;margin:25px 0;padding:23px;background:#efeee5}.confirmation-notice>svg{color:#7d8b6c}.confirmation-notice p{font-size:10px;line-height:1.9}.confirmation-notice strong{font-weight:500;color:#526348}.confirmation-actions{display:flex;align-items:center;justify-content:center;gap:35px;margin-top:30px}.confirmation-actions .text-link{font-size:10px}[data-reveal]{transition:opacity .9s var(--ease),transform .9s var(--ease)}[data-reveal]:not(.is-visible){opacity:0;transform:translateY(25px)}.image-enter{animation:image-enter .65s var(--ease) both}.step-enter{animation:content-enter .5s var(--ease) both}.spinner{animation:spin 1s linear infinite}@keyframes content-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes image-enter{0%{opacity:.3;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes modal-enter{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popover{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1200px){.header-inner{padding:0 4%;gap:20px}.desktop-nav{gap:23px}.header-reserve{gap:15px;padding:14px}.section{padding-left:5%;padding-right:5%}.stay-picker{gap:20px}.stay-fields{gap:14px}.stay-field{min-width:100px}.field-value>svg:last-child{margin-left:8px}.availability-button{gap:16px;font-size:10px;padding:15px 20px}.footer-top{gap:5%}.available-villa-info{padding:23px}.available-villa-price{padding:5px 20px}.available-specs{gap:10px}.booking-modify .stay-picker{max-width:520px}.booking-modify>span{font-size:8px}.guest-layout{gap:8%}.price-summary{padding:28px}.detail-body{gap:8%}}@media(max-width:1000px){.desktop-nav{gap:18px}.desktop-nav a,.desktop-nav button{font-size:10px}.header-inner{height:90px}.brand>span{font-size:29px;letter-spacing:5px}.brand small{font-size:6px;letter-spacing:3.8px}.header-reserve{font-size:9px;padding:13px;gap:11px}.footer{padding-left:5%;padding-right:5%}.footer-top{grid-template-columns:1fr .7fr 1fr;gap:7%}.footer-bottom{gap:20px}.detail-heading{padding-top:130px}.detail-gallery{height:500px}.detail-body{grid-template-columns:1.3fr .9fr;gap:6%}.detail-reserve{padding:25px}.detail-rate{font-size:39px}.detail-specs{gap:18px}.detail-specs>span{font-size:10px}.booking-page{padding-top:120px}.booking-page-heading{margin-top:37px}.booking-modify>span{display:none}.booking-modify .stay-picker{max-width:none}.booking-modify{padding:17px 24px}.available-villa{grid-template-columns:.85fr 1.05fr .8fr}.available-villa-info{padding:20px}.available-villa-info h2{font-size:31px}.available-villa-price{padding:5px 17px}.available-villa-price>span{font-size:25px}.available-specs{row-gap:8px}.available-villa-price>.button{gap:10px;font-size:8px;padding:11px 14px}.review-layout{gap:5%;grid-template-columns:1.15fr 1fr}.price-summary{padding:24px}.price-summary h3{font-size:29px}.price-summary>.button{font-size:9px;gap:10px;padding:14px 16px}.review-stay{gap:14px}.review-stay strong{font-size:10px}.guest-layout{gap:7%;grid-template-columns:1.2fr .9fr}.guest-stay-summary>div{padding:23px}.guest-stay-summary h3{font-size:31px}.guest-summary-total{gap:12px}.guest-summary-total>strong{font-size:24px}.guest-summary-total>span{font-size:8px}}@media(max-width:760px){html{scroll-padding-top:80px}.section{padding:72px 6%}.header-inner{height:80px;padding:0 6%;gap:16px}.brand>span{font-size:28px;letter-spacing:5px}.brand small{font-size:5px;letter-spacing:3.7px}.brand-dot{font-size:7px}.desktop-nav{display:none}.header-reserve{margin-left:auto;border:none;padding:10px 0;font-size:9px;gap:12px;border-bottom:1px solid #ffffff70}.header-solid .header-reserve{border-bottom-color:#253d3250}.header-reserve:hover{background:transparent}.menu-toggle{display:inline-flex;width:30px;margin-right:-3px}.mobile-menu{position:fixed;display:flex;flex-direction:column;inset:80px 0 0;min-height:calc(100svh - 80px);background:var(--ivory);color:var(--green);padding:25px 8% 50px;animation:content-enter .3s var(--ease);overflow:auto}.mobile-menu>a,.mobile-menu>button{display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding:21px 0;font-family:var(--serif);font-size:37px;text-align:left}.mobile-menu small{font-family:Inter,sans-serif;font-size:8px;color:#8b967d}.mobile-menu svg{margin-left:auto;width:21px}.mobile-menu .mobile-menu-reserve{font-family:Inter,sans-serif;font-size:12px;padding:22px;background:var(--green);color:#fff;margin-top:30px}.mobile-menu>p{margin-top:28px;font-size:7px;letter-spacing:2px;color:#8d977f}.scroll-cue{font-size:6px;gap:10px;letter-spacing:1.2px}.scroll-line{width:22px}.field-label{font-size:7px;letter-spacing:1.2px}.field-value{font-size:11px;gap:7px}.field-value>svg:last-child{margin-left:5px}.field-value>svg:first-child{width:13px}.footer{padding:50px 6% 0}.footer-top{grid-template-columns:1.1fr .7fr 1.1fr;gap:7%;padding-bottom:40px}.footer-brand>span{font-size:29px;letter-spacing:5px}.footer-brand small{font-size:5px;letter-spacing:3.5px}.footer-top>div:first-child>p{font-size:19px}.footer-links>a,.footer-links>button,.footer-links>span{font-size:9px}.footer-links .eyebrow{font-size:6px;letter-spacing:1.1px}.footer-links{gap:12px}.footer-links>small{font-size:6px;margin-top:-9px}.footer-bottom{flex-wrap:wrap;padding:20px 0;row-gap:13px}.footer-bottom>span,.footer-bottom p{font-size:6px}.footer-bottom>div{margin-left:auto}.footer-bottom button{font-size:6px}.modal-inner{padding:42px 30px 35px}.modal h2{font-size:42px}.modal{max-width:92vw}.modal-close{top:12px;right:12px}.experience-modal img{height:250px}.experience-modal-copy{padding:30px}.lightbox{max-width:96vw}.lightbox .modal-inner{padding:12px}.lightbox-image{height:65svh}.lightbox-caption{padding:23px 10px 10px}.lightbox-caption h3{font-size:24px;max-width:270px}.lightbox-caption .eyebrow{font-size:6px;letter-spacing:1px}.lightbox-caption .round-button{width:35px;height:35px}.lightbox-caption svg{width:18px}.lightbox .modal-close{top:22px;right:22px}.detail-heading{padding-top:116px;padding-bottom:28px}.detail-title{margin-top:30px}.detail-title h1{font-size:68px;letter-spacing:-2px}.detail-title .eyebrow{font-size:7px}.detail-title>p{font-size:21px;max-width:170px;line-height:1.3}.detail-gallery{height:420px;margin:0}.detail-gallery-controls{left:6%;right:6%;bottom:24px}.detail-body{grid-template-columns:1.1fr 1fr;gap:6%;padding-top:60px}.detail-description h2{font-size:46px}.detail-description>.eyebrow{font-size:7px}.detail-description>p:not(.eyebrow){font-size:11px}.detail-specs{gap:20px;flex-direction:column}.detail-description>h3{font-size:28px}.detail-amenities{grid-template-columns:1fr;gap:17px}.detail-amenities>li{font-size:10px}.detail-reserve{padding:25px 22px;top:105px}.detail-reserve>.eyebrow{font-size:6px;letter-spacing:1px}.detail-rate{font-size:36px}.detail-summary{font-size:9px;flex-direction:column;gap:12px}.detail-reserve>.button{font-size:9px;padding:13px;gap:10px}.detail-reserve>small{font-size:7px}.other-villas h2{font-size:47px}.other-villas img{height:240px}.other-villas a>span{font-size:27px}.booking-page{padding-top:110px;padding-bottom:0}.booking-page-heading{margin:35px 0 29px}.booking-page-heading>h1{font-size:55px;letter-spacing:-1.5px;margin:15px 0}.booking-page-heading .eyebrow{font-size:7px}.booking-page-heading>p:last-child{font-size:11px}.demo-badge{font-size:6px;padding:8px 10px;letter-spacing:.7px}.booking-page-top .back-link{font-size:10px}.booking-steps{margin-bottom:35px}.calendar-popover{max-width:calc(88vw - 2px);width:560px;padding:20px}.calendar-months{gap:20px}.calendar-grid>span,.calendar-grid>button{height:29px;font-size:10px}.calendar-top,.calendar-month h4{font-size:11px}.calendar-months{gap:15px}.guest-popover{max-width:88vw}.booking-modify{padding:16px 20px}.booking-modify .stay-fields{gap:18px}.booking-modify .stay-field{min-width:90px}.available-villa{grid-template-columns:1fr 1.3fr}.available-villa>a{grid-row:span 2}.available-villa>a>img{min-height:290px}.available-villa-info{padding:24px 24px 0}.available-villa-info h2{font-size:34px}.available-villa-info>p:not(.availability-note){font-size:10px}.available-villa-price{border:none;align-items:center;flex-direction:row;justify-content:space-between;flex-wrap:wrap;text-align:left;padding:20px 24px 24px;gap:10px}.available-villa-price>p{font-size:9px}.available-villa-price>span{font-size:27px}.available-villa-price>.button{width:100%;justify-content:space-between;font-size:9px;padding:13px 17px;min-height:43px}.available-specs{margin-top:14px}.review-layout{grid-template-columns:1.1fr 1fr;gap:5%}.review-image{height:220px}.review-title h2{font-size:35px}.review-title{gap:15px}.review-title .text-link{font-size:8px}.review-stay{flex-wrap:wrap;gap:15px}.review-stay>svg{display:none}.review-stay strong{font-size:9px}.price-summary{padding:25px 20px;top:105px}.price-summary h3{font-size:28px;line-height:1.1}.price-summary>.eyebrow{font-size:6px;letter-spacing:1px}.price-summary dl>div{font-size:9px}.price-summary dt>span{font-size:7px}.price-summary .price-total{font-size:24px}.price-total dd,.price-total dt{font-size:27px}.price-summary>.button{font-size:8px;padding:14px 11px;gap:8px}.price-summary .form-note{font-size:7px!important;gap:5px}.guest-layout{grid-template-columns:1.1fr .9fr;gap:7%}.guest-form>h2{font-size:42px}.guest-form>p{font-size:10px}.guest-stay-summary>img{height:190px}.guest-stay-summary>div{padding:23px 19px}.guest-stay-summary h3{font-size:28px}.guest-stay-summary .eyebrow{font-size:6px;letter-spacing:1px}.guest-stay-summary p{font-size:9px}.guest-summary-total{flex-direction:column;align-items:start;gap:8px}.guest-summary-total>strong{font-size:29px}.guest-stay-summary .text-link{font-size:8px}.guest-stay-summary{top:105px}.demo-consent{padding:17px;gap:10px}.demo-consent p{font-size:8px}.demo-consent>svg{width:18px}.submit-demo{font-size:9px;padding:15px 17px;gap:10px}.booking-page-footer{margin-top:40px;padding:26px 0}.booking-page-footer>span{font-size:6px;letter-spacing:1.1px}.booking-page-footer>p{font-size:7px}.confirmation{padding-top:120px}.confirmation-head h1{font-size:73px}.confirmation-card>div{padding:25px}.confirmation-card h2{font-size:36px}.confirmation-card .eyebrow{font-size:6px}.confirmation-card dl>div{font-size:9px}.confirmation-card>img{min-height:320px}.confirmation-head>p:last-child{font-size:11px}.confirmation-actions{gap:25px}.confirmation-actions .button{font-size:10px;padding:15px 20px;gap:20px}}@media(max-width:540px){.header-inner{height:76px}.header-reserve{font-size:8px;gap:10px}.header-reserve>svg{width:13px}.menu-toggle>svg{width:21px}.brand>span{font-size:25px;letter-spacing:4px}.brand small{font-size:5px;letter-spacing:3px}.mobile-menu{inset:76px 0 0;min-height:calc(100svh - 76px)}.scroll-cue{font-size:5px;letter-spacing:1px;gap:8px;max-width:155px}.scroll-line{width:17px}.scroll-cue>svg{width:11px}.calendar-popover{top:calc(100% + 14px);width:310px;max-width:86vw;padding:21px;left:0}.calendar-months{display:block}.calendar-month.month-1{display:none}.calendar-grid{gap:5px}.calendar-grid>span,.calendar-grid>button{height:32px;font-size:11px}.calendar-month h4{font-size:12px;margin-bottom:12px}.calendar-top{font-size:11px;margin-bottom:18px}.calendar-top .icon-button{width:27px;height:27px}.calendar-note{font-size:9px;margin-top:19px}.guest-popover{top:calc(100% + 14px);max-width:86vw;width:310px}.section{padding:65px 7%}.round-button{width:37px;height:37px}.footer{padding:45px 7% 0}.footer-top{grid-template-columns:1fr 1fr;gap:32px 18%;padding-bottom:35px}.footer-top>div:first-child{grid-column:span 2;display:flex;justify-content:space-between;align-items:center;gap:15px}.footer-brand>span{font-size:32px;letter-spacing:5px}.footer-brand small{font-size:5px;letter-spacing:3.8px}.footer-top>div:first-child>p{font-size:18px;margin:0}.footer-links .eyebrow{font-size:6px;letter-spacing:1.1px}.footer-links>a,.footer-links>button,.footer-links>span{font-size:9px}.footer-links{gap:13px}.footer-links>small{font-size:6px;margin-top:-8px}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:14px;padding:22px 0 27px}.footer-bottom p{grid-row:2;grid-column:span 2;font-size:6px;max-width:280px;line-height:1.8}.footer-bottom>span{font-size:6px}.footer-bottom>div{grid-row:1;grid-column:2}.footer-bottom button{font-size:6px}.mobile-booking{display:none}.modal{max-width:92vw;max-height:90svh}.modal-inner{padding:43px 25px 30px}.modal h2{font-size:40px;letter-spacing:-1px;margin-top:19px}.modal p{font-size:11px}.modal .eyebrow{font-size:6px;letter-spacing:1.3px}.contact-form{gap:18px}.contact-form input,.contact-form textarea{font-size:12px;padding:13px}.contact-form label{font-size:9px;gap:8px}.contact-form .button{font-size:10px;padding:14px 18px;gap:15px}.experience-modal-copy{padding:26px}.experience-modal img{height:220px}.experience-modal-copy .button{white-space:normal;font-size:9px;gap:20px;padding:14px 17px}.experience-modal-copy small{font-size:7px}.experience-modal-copy h2{font-size:39px}.lightbox{max-width:96vw}.lightbox .modal-inner{padding:10px}.lightbox-image{height:65svh}.lightbox .modal-close{top:17px;right:17px}.lightbox-caption{padding:20px 7px 12px;gap:15px}.lightbox-caption h3{font-size:24px;max-width:230px;line-height:1.15;margin-top:10px}.lightbox-caption .eyebrow{font-size:5px;letter-spacing:.8px}.lightbox-caption>div:last-child{gap:6px}.lightbox-caption .round-button{width:30px;height:30px}.lightbox-caption .round-button svg{width:15px}.detail-heading{padding-top:108px;padding-bottom:27px}.detail-heading .back-link{font-size:9px}.detail-title{display:block;margin-top:30px}.detail-title h1{font-size:63px;margin-top:14px;letter-spacing:-2px}.detail-title>p{font-size:22px;max-width:none;margin-top:12px;margin-bottom:0}.detail-title .eyebrow{font-size:6px;letter-spacing:1.3px}.detail-gallery{height:380px}.detail-gallery>img{object-position:center}.detail-gallery-controls{bottom:22px;left:7%;right:7%}.detail-gallery-controls>span{font-size:9px}.detail-gallery-controls .round-button{width:36px;height:36px}.detail-body{grid-template-columns:1fr;gap:35px;padding-top:45px;padding-bottom:50px}.detail-description>.eyebrow{font-size:7px;letter-spacing:1.3px}.detail-description h2{font-size:50px;margin:22px 0}.detail-description>p:not(.eyebrow){font-size:12px;line-height:1.9}.detail-specs{flex-direction:row;gap:17px;padding:20px 0;margin:25px 0 30px}.detail-specs>span{font-size:9px;gap:8px}.detail-specs svg{width:16px}.detail-description>h3{font-size:29px;max-width:270px;line-height:1.1}.detail-amenities{grid-template-columns:1fr 1fr;gap:20px 15px;margin:25px 0 30px}.detail-amenities>li{font-size:9px;line-height:1.6;gap:8px}.detail-amenities>li>svg{width:13px}.stay-notes{padding-top:22px}.stay-notes h4{font-size:11px}.stay-notes p{font-size:9px;line-height:1.9}.detail-reserve{position:static;padding:27px}.detail-reserve>.eyebrow{font-size:7px;letter-spacing:1.2px}.detail-rate{font-size:43px}.detail-summary{flex-direction:row;font-size:10px;padding:20px 0;margin-top:22px}.detail-reserve>p:not(.eyebrow){font-size:11px}.detail-reserve>.button{font-size:10px;justify-content:space-between;gap:20px;padding:15px 20px;margin-top:20px}.detail-reserve>small{font-size:8px}.other-villas{padding-top:52px;padding-bottom:60px}.other-villas>.eyebrow{font-size:7px;letter-spacing:1.4px}.other-villas h2{font-size:46px;margin:22px 0 30px}.other-villas>div{grid-template-columns:1fr;gap:32px}.other-villas img{height:265px}.other-villas a>span{font-size:30px;margin-top:15px}.booking-page{padding-top:103px;padding-bottom:0}.booking-page-top .back-link{font-size:8px;gap:6px}.booking-page-top .back-link svg{width:12px}.demo-badge{font-size:5px;letter-spacing:.4px;padding:7px 8px}.booking-page-heading{margin:33px 0 28px}.booking-page-heading>.eyebrow{font-size:6px;letter-spacing:1.3px}.booking-page-heading>h1{font-size:49px;line-height:1.02;letter-spacing:-1.5px;max-width:340px;margin:17px 0 19px}.booking-page-heading>p:last-child{font-size:10px;line-height:1.85;max-width:320px}.booking-steps{margin-bottom:31px;gap:12px}.booking-modify{padding:16px 17px;margin-bottom:22px}.booking-modify .stay-fields{gap:13px;justify-content:space-between}.booking-modify .stay-field{min-width:65px;gap:7px}.booking-modify .field-value{font-size:10px;gap:5px}.booking-modify .field-label{font-size:6px;letter-spacing:1px}.booking-modify .field-value>svg:first-child{display:none}.booking-modify .field-value>svg:last-child{margin-left:3px;width:10px}.booking-modify .stay-picker{gap:0}.booking-modify .calendar-popover{left:-17px}.booking-modify .guest-popover{right:-17px}.available-villa{display:flex;flex-direction:column}.available-villa>a>img{height:230px;min-height:0}.available-villa-info{padding:24px 23px 0}.available-villa-info h2{font-size:37px;margin:14px 0 8px}.available-villa-info .availability-note{font-size:8px!important}.available-villa-info>p:not(.availability-note){font-size:10px}.available-specs{gap:14px;margin:16px 0 7px}.available-specs>span{font-size:7px;gap:5px}.available-specs svg{width:12px}.available-villa-info .text-link{font-size:9px;gap:15px}.available-villa-price{padding:22px 23px 24px;gap:15px;align-self:stretch}.available-villa-price>span{font-size:29px}.available-villa-price>p{text-align:right;font-size:8px;line-height:1.8}.available-villa-price>span>small{font-size:8px}.available-villa-price>p>small{font-size:6px}.available-villa-price>.button{padding:13px 18px;min-height:45px;font-size:10px}.available-villas{gap:25px}.available-villas+.form-note{font-size:8px!important;line-height:1.8}.review-layout{grid-template-columns:1fr;gap:31px}.review-image{height:260px}.review-title{margin-top:25px}.review-title h2{font-size:41px;margin-top:12px}.review-title .eyebrow{font-size:6px;letter-spacing:1.2px}.review-title .text-link{font-size:9px}.review-main>p{font-size:11px;margin-top:12px}.review-stay{flex-wrap:nowrap;margin-top:25px;padding:23px 0;gap:15px}.review-stay>svg{display:block;width:16px}.review-stay .eyebrow{font-size:6px;letter-spacing:1px}.review-stay strong{font-size:10px}.review-stay small{font-size:8px}.review-inclusions{margin-top:22px;padding-top:22px}.review-inclusions h3{font-size:29px}.review-inclusions p{font-size:10px;line-height:1.9}.price-summary{padding:28px;position:static}.price-summary>.eyebrow{font-size:7px;letter-spacing:1.3px}.price-summary h3{font-size:33px;margin:19px 0 26px}.price-summary dl>div{font-size:11px;gap:20px}.price-summary dt>span{font-size:8px}.price-total dd,.price-total dt{font-size:33px}.price-summary>.button{font-size:10px;padding:15px 18px;justify-content:space-between;gap:18px;min-height:49px}.price-summary .form-note{font-size:8px!important;margin-top:4px;gap:8px}.guest-layout{display:flex;flex-direction:column-reverse;gap:30px}.guest-stay-summary{position:static;width:100%;display:grid;grid-template-columns:.7fr 1fr}.guest-stay-summary>img{height:100%;min-height:205px}.guest-stay-summary>div{padding:19px}.guest-stay-summary .eyebrow{font-size:5px;letter-spacing:1px}.guest-stay-summary h3{font-size:28px;margin:11px 0}.guest-stay-summary p{font-size:8px;line-height:1.9}.guest-summary-total{margin-top:13px;padding:12px 0 0;gap:4px}.guest-summary-total>span{font-size:7px}.guest-summary-total>strong{font-size:26px}.guest-stay-summary .text-link{font-size:7px;margin-top:4px;gap:10px;padding:7px 0}.guest-form{width:100%}.guest-form>h2{font-size:48px;margin-bottom:20px}.guest-form>p{font-size:10px;line-height:1.9;margin-bottom:24px}.guest-form>label{font-size:10px;gap:9px;margin:22px 0}.guest-form input,.guest-form textarea{font-size:13px;padding:14px}.optional{font-size:8px}.demo-consent{padding:20px 17px;gap:14px;margin:25px 0}.demo-consent p{font-size:8px;line-height:1.9}.submit-demo{padding:16px 18px;font-size:10px;min-height:51px;gap:17px}.booking-back{font-size:10px;margin-top:30px}.booking-page-footer{margin-top:36px;align-items:start;padding:24px 0;gap:18px}.booking-page-footer>span{font-size:5px;letter-spacing:1px;white-space:nowrap}.booking-page-footer>p{font-size:6px;text-align:right;line-height:1.7;max-width:135px}.confirmation{padding-top:115px;padding-bottom:65px}.confirmation-head h1{font-size:72px;margin:20px 0 25px;letter-spacing:-1.5px}.confirmation-head .eyebrow{font-size:6px;letter-spacing:1.3px}.confirmation-head>p:last-child{font-size:11px;line-height:1.9}.confirmation-card{grid-template-columns:1fr;margin-top:30px}.confirmation-card>img{height:230px;min-height:0}.confirmation-card>div{padding:25px}.confirmation-card .eyebrow{font-size:6px;letter-spacing:.8px}.confirmation-card h2{font-size:41px;margin:18px 0 24px}.confirmation-card dl>div{font-size:10px;line-height:1.5;margin-top:17px;gap:20px}.confirmation-notice{padding:21px 18px;gap:13px;margin:22px 0}.confirmation-notice>svg{width:21px}.confirmation-notice p{font-size:9px;line-height:1.9}.confirmation-actions{flex-direction:column;gap:18px;margin-top:26px}.confirmation-actions .button{width:100%;font-size:10px;padding:16px 20px;justify-content:space-between}.confirmation-actions .text-link{font-size:9px}.not-found{padding-top:160px}.not-found h1{font-size:55px;line-height:1.05}.not-found .button{font-size:10px}.form-note.centered{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-reveal]:not(.is-visible){opacity:1;transform:none}}:root{--sans: -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Arial, sans-serif;--serif: var(--sans);--green: #223f33;--ivory: #fafaf7;--sand: #f0f1eb;--muted: #727870;--line: #dfe2da;font-family:var(--sans);color:#1d2922;background:var(--ivory)}html{scroll-padding-top:94px}body{font-family:var(--sans)}p{font-size:16px;line-height:1.65;color:#6a7269}h1,h2,h3,h4{font-family:var(--sans);font-weight:600}h1,h2{letter-spacing:-.055em;line-height:1.06}h1 em,h2 em,h3 em{font-style:normal;font-weight:inherit}h3{letter-spacing:-.035em;line-height:1.2}em{font-style:normal}.page-width{width:calc(100% - 112px);max-width:1360px;margin-inline:auto}.section-kicker{font-size:14px;font-weight:500;color:#697568;letter-spacing:0;line-height:1.5;margin-bottom:22px}.eyebrow{font-size:11px!important;letter-spacing:.7px!important;line-height:1.5;font-weight:500}.button{border-radius:999px;font-size:15px;font-weight:500;line-height:1.3;letter-spacing:-.2px;min-height:46px;padding:13px 23px;gap:12px;transition:background .2s,color .2s}.button:hover{transform:none}.button:hover svg{transform:none}.solid{background:var(--green)}.solid:hover{background:#365343}.solid>svg:not(.spinner){display:none}.button.light{background:#fff;color:#1d2922}.button.light:hover{background:#f2f3ee}.quiet-link,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:none;font-size:15px;font-weight:500;letter-spacing:-.2px;line-height:1.5;padding:7px 0;color:var(--green);white-space:nowrap}.quiet-link:hover,.text-link:hover{gap:4px;text-decoration:underline;text-underline-offset:4px}.text-link>svg{width:16px}.circle-control{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:50%;background:#e7e9e1;transition:background .2s}.circle-control:hover{background:#dce0d4}.round-button{background:#ffffffed;color:#1d2922;border:none}.round-button:hover{background:#e6eadf}.icon-button{border-radius:50%}.header,.header.header-solid{color:#1d2922;background:#fafaf7f7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid transparent}.header.header-solid{border-bottom-color:#dfe2da}.header-inner{height:78px;max-width:1472px;margin:auto;padding:0 56px;gap:30px;transition:height .3s var(--ease)}.header.header-compact .header-inner{height:58px}.header .brand{transform-origin:left center;transition:transform .3s var(--ease)}.header.header-compact .brand{transform:scale(.9)}.header .header-reserve{transition:background .3s,color .3s,padding .3s var(--ease),min-height .3s var(--ease)}.header.header-compact .header-reserve{min-height:34px;padding:8px 18px}.brand{align-items:start}.brand>span{font-family:var(--sans);font-size:23px;font-weight:550;letter-spacing:5px;padding:0;line-height:1.1}.brand small{font-size:8px;font-weight:450;letter-spacing:2px;margin:6px 0 0 1px}.desktop-nav{gap:29px}.desktop-nav a,.desktop-nav button{font-size:13px;font-weight:450;letter-spacing:-.1px}.desktop-nav a:after,.desktop-nav button:after{display:none}.desktop-nav a:hover,.desktop-nav button:hover{opacity:.6}.header .header-reserve,.header-solid .header-reserve{border:0;background:var(--green);border-radius:999px;color:#fff;font-size:13px;letter-spacing:-.1px;padding:12px 20px;min-height:40px}.header-reserve>svg{display:none}.header .header-reserve:hover,.header-solid .header-reserve:hover{color:#fff;background:#365343}.stay-field{min-width:0;gap:8px}.field-label{font-size:11px!important;letter-spacing:0!important;text-transform:none;color:#737e6d}.field-value{font-size:15px!important;gap:10px;font-weight:500;letter-spacing:-.3px}.field-value>svg:first-child{display:none}.field-value>svg:last-child{margin-left:auto;width:14px}.stay-fields{gap:30px}.calendar-popover,.guest-popover{border-radius:16px;background:#fff;padding:24px;box-shadow:0 12px 45px #152c211a;border:1px solid #e9ebe3;top:calc(100% + 30px)}.calendar-top{font-size:14px;margin-bottom:22px}.calendar-top .icon-button{border:0;background:#f1f3ed}.calendar-month h4{font-size:14px;font-weight:550}.calendar-grid>button,.calendar-grid>span{font-size:13px;border-radius:50%;height:35px}.calendar-grid .day-heading{font-size:11px}.calendar-grid button.in-range{border-radius:0}.calendar-note{font-size:12px}.guest-popover strong{font-family:var(--sans);font-size:20px;font-weight:600;letter-spacing:-.5px}.guest-popover p{font-size:12px}.guest-counter output{font-size:20px}.guest-popover .text-link{font-size:14px}.retreat-story{padding-top:130px;padding-bottom:122px}.story-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:48px}.story-heading h2,.discovery-heading h2{font-size:clamp(42px,4.1vw,60px);font-weight:600;letter-spacing:-.055em;line-height:1.07;color:#203328}.story-heading>p{font-size:17px;line-height:1.7;max-width:385px;margin-bottom:3px;color:#72796c}.story-photos{display:grid;grid-template-columns:1.65fr 1fr;gap:36px;align-items:end}.story-photos figure{margin:0}.story-photo-main>img{width:100%;height:500px;border-radius:12px;object-position:center 57%}.story-photo-aside{padding-top:85px}.story-photo-aside>img{width:100%;height:380px;border-radius:12px;object-position:center 57%}.story-photos figcaption{font-size:12px;line-height:1.6;letter-spacing:-.1px;color:#7d8377;margin-top:18px}.stay-discovery{padding:104px 0 110px;background:#eff1e9}.discovery-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:40px}.discovery-heading .section-kicker{margin-bottom:20px}.discovery-heading>p{font-size:16px;line-height:1.65;max-width:330px;padding-bottom:4px}.stay-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:26px}.stay-segments{display:flex;align-items:center;gap:2px;background:#e2e6da;padding:4px;border-radius:999px}.stay-segments button{font-size:13px;font-weight:500;padding:12px 22px;line-height:1.4;border-radius:999px;color:#6c7662;transition:background .2s,color .2s}.stay-segments button.selected{background:#fff;color:#1d3324;box-shadow:0 1px 3px #1c301a10}.stay-segments button:hover{color:#1d3324}.gallery-arrows{display:flex;gap:8px}.stay-stage-image{display:block;overflow:hidden;border-radius:12px;height:clamp(420px,39vw,610px)}.stay-stage-image>img{width:100%;height:100%;object-position:center 59%;transition:transform .8s var(--ease)}.stay-stage-image:hover>img{transform:scale(1.025)}.stay-stage-details{display:grid;grid-template-columns:1.35fr 1fr auto;gap:25px;align-items:center;margin-top:34px}.stay-stage-title h3{font-size:28px;font-weight:600;letter-spacing:-1px;line-height:1.2}.stay-stage-title>p{font-size:14px;color:#6e7866;margin-top:11px}.stay-stage-specs{display:flex;gap:14px;align-items:center;margin-top:16px;flex-wrap:wrap}.stay-stage-specs>span{font-size:12px;color:#65745b;line-height:1.5}.stay-stage-specs>span:not(:last-child):after{content:"·";padding-left:14px}.stay-stage-rate>span{font-size:13px;letter-spacing:-.2px;color:#6e7765;white-space:nowrap}.stay-stage-rate strong{font-size:23px;letter-spacing:-.7px;color:#293e2d;font-weight:500;margin:0 3px}.stay-stage-rate small{display:block;font-size:10px;line-height:1.5;color:#7d8674;margin-top:11px}.stay-stage-actions{display:flex;align-items:center;gap:25px}.stay-stage-actions>.button{font-size:14px;min-height:44px;padding:12px 24px}.stay-stage-actions>.quiet-link{font-size:13px}.island-experiences{padding-top:116px;padding-bottom:116px}.island-experiences .discovery-heading>p{max-width:300px;font-size:17px}.experience-selector{display:flex;gap:30px;align-items:center;margin:8px 0 28px;border-bottom:1px solid #dfe3d7}.experience-selector>button{font-size:14px;font-weight:500;color:#8a9181;padding:14px 0 17px;position:relative;letter-spacing:-.2px}.experience-selector>button.selected{color:#263e2c}.experience-selector>button.selected:after{content:"";position:absolute;height:2px;background:#263e2c;bottom:-1px;left:0;right:0}.experience-canvas{position:relative;min-height:610px;overflow:hidden;border-radius:14px;background:#46543c}.experience-canvas>img,.experience-canvas-shade{position:absolute;inset:0;width:100%;height:100%;object-position:center 65%}.experience-canvas-shade{background:linear-gradient(0deg,#0e2118c9,transparent 85%),linear-gradient(90deg,#11261c42,transparent 80%)}.experience-canvas-copy{position:absolute;bottom:48px;left:48px;max-width:480px;color:#fff}.experience-canvas-copy h3{font-size:clamp(34px,3.6vw,52px);font-weight:500;line-height:1.06;letter-spacing:-.045em;text-wrap:balance}.experience-canvas-copy>p{font-size:15px;line-height:1.75;color:#ffffffe0;max-width:350px;margin:22px 0 26px}.experience-canvas-copy>.button{font-size:14px;padding:13px 21px;min-height:44px}.experience-canvas-copy>.button svg{width:15px}.island-essentials{background:#f0f1eb;padding:94px 0 99px}.essentials-inner{display:grid;grid-template-columns:1fr 1fr;gap:13%}.essentials-inner h2{font-size:60px;letter-spacing:-3.5px;margin-bottom:26px}.essentials-inner>div:first-child>p:not(.section-kicker){font-size:16px;line-height:1.7;color:#78816e}.essentials-accordions{border-top:1px solid #d8ded0}.essential-item{border-bottom:1px solid #d8ded0}.essential-item>button{display:flex;align-items:center;justify-content:space-between;width:100%;gap:25px;padding:23px 0;font-size:17px;font-weight:500;letter-spacing:-.4px;text-align:left}.essential-item>button>svg{color:#5e7052}.essential-item>div{padding:0 25px 23px 0}.essential-item p{font-size:14px;line-height:1.7;color:#76806c}.visual-journal{padding-top:112px;padding-bottom:114px}.visual-journal .discovery-heading{margin-bottom:43px}.visual-journal .discovery-heading h2{font-size:clamp(40px,4vw,58px)}.journal-count{display:flex;align-items:center;gap:22px;color:#6e7b62;font-size:13px;line-height:1.6;padding-bottom:6px}.journal-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:350px 300px;gap:20px}.journal-photo{position:relative;padding:0;overflow:hidden;border-radius:12px;background:#dbe2d2;isolation:isolate}.journal-photo>img{width:100%;height:100%;transition:transform .75s var(--ease)}.journal-photo:hover>img{transform:scale(1.04)}.journal-photo-0{grid-column:span 4}.journal-photo-1,.journal-photo-2,.journal-photo-3,.journal-photo-4{grid-column:span 2}.journal-photo-label{position:absolute;inset:0;display:flex;align-items:end;justify-content:space-between;padding:24px;color:#fff;font-size:13px;font-weight:500;background:linear-gradient(0deg,#13271d75,transparent 45%)}.photo-open{background:#fff;color:#24372a;display:flex;width:32px;height:32px;border-radius:50%;align-items:center;justify-content:center}.photo-open svg{width:18px}.arrival-section{display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:center;padding-bottom:120px}.arrival-picture>img{height:520px;width:100%;border-radius:12px;object-position:40% center}.arrival-copy h2{font-size:clamp(42px,4vw,56px);letter-spacing:-.055em;margin:23px 0 27px}.arrival-copy>p:not(.section-kicker){font-size:16px;line-height:1.75;margin-bottom:18px;max-width:380px}.arrival-copy>.button{margin-top:14px;font-size:14px;min-height:45px}.arrival-copy small{font-size:10px;line-height:1.8;color:#88917c;display:block;margin-top:24px}.reservation-invitation{text-align:center;background:#e6ebdf;padding:110px 0 100px}.reservation-invitation .section-kicker{font-size:15px;color:#6c7b60;margin-bottom:25px}.reservation-invitation h2{font-size:clamp(65px,7.7vw,112px);letter-spacing:-.065em;line-height:1.02;color:#233e2a;margin-bottom:37px}.reservation-invitation .button{padding:14px 27px;margin-right:22px}.reservation-invitation .quiet-link{font-size:14px}.footer{background:#fafaf7;color:#263b2c;padding:75px 56px 0}.footer-top{max-width:1360px;margin:auto;grid-template-columns:1.3fr .8fr 1.2fr 1fr;gap:6%;padding-bottom:65px}.footer-brand>span{font-size:30px;letter-spacing:5px;font-weight:550}.footer-brand small{font-size:8px;letter-spacing:2px}.footer-top>div:first-child>p{font-family:var(--sans);font-size:15px;letter-spacing:-.2px;line-height:1.6;color:#78856e;margin-top:22px}.footer-links{gap:15px}.footer-links .eyebrow{color:#6c7a60;font-size:11px!important;letter-spacing:0!important;margin-bottom:9px}.footer-links>a,.footer-links>button,.footer-links>span{font-size:13px;color:#53684a;line-height:1.5;letter-spacing:-.2px}.footer-links>a:hover,.footer-links>button:hover{text-decoration:underline;text-underline-offset:4px}.footer-links>small{font-size:10px;color:#8b957f}.footer-message{display:block}.footer-message>svg{color:#819473;margin-bottom:20px;width:25px}.footer-message>p{font-size:17px;font-family:var(--sans);line-height:1.55;letter-spacing:-.4px;color:#697c5b}.footer-bottom{max-width:1360px;margin:auto;border-top:1px solid #dfe4d7;padding:25px 0;color:#849177;gap:25px}.footer-bottom>span,.footer-bottom p{font-size:10px;color:#849177}.footer-bottom button{font-size:10px;color:#748467}.footer-bottom>div{gap:20px}.detail-heading{padding-top:130px}.detail-title h1{font-size:76px;font-weight:600;letter-spacing:-.06em}.detail-title>p{font-family:var(--sans);font-style:normal;font-size:20px;letter-spacing:-.5px}.detail-gallery{border-radius:14px;margin-inline:32px}.detail-description h2{font-size:54px;letter-spacing:-.05em}.detail-description>p:not(.eyebrow){font-size:16px;line-height:1.75}.detail-specs>span{font-size:13px}.detail-description>h3{font-size:27px;font-weight:550;letter-spacing:-.8px}.detail-amenities>li{font-size:13px}.stay-notes h4{font-size:14px}.stay-notes p{font-size:12px;line-height:1.75}.detail-reserve{border-radius:16px;padding:30px}.detail-rate{font-family:var(--sans);font-size:38px;font-weight:550;letter-spacing:-1.5px}.detail-rate>small{font-size:13px;letter-spacing:0}.detail-reserve>p:not(.eyebrow){font-size:13px}.detail-summary{font-size:12px}.availability-note{font-size:12px!important}.detail-reserve>.button{font-size:14px;min-height:46px}.detail-reserve>small{font-size:10px}.other-villas h2{font-size:52px;letter-spacing:-.05em}.other-villas img{border-radius:12px}.other-villas a>span{font-family:var(--sans);font-size:25px;font-weight:550;letter-spacing:-.6px}.back-link{font-size:13px}.booking-page{padding-top:120px}.booking-page-heading>h1{font-size:64px;letter-spacing:-.055em;font-weight:600;line-height:1.1}.booking-page-heading>p:last-child{font-size:16px}.demo-badge{font-size:10px;padding:8px 13px;border-radius:999px;letter-spacing:.3px}.form-note{font-size:12px!important;line-height:1.7}.booking-modify{border-radius:12px;padding:23px 28px}.booking-modify>span{font-size:12px}.available-villa{border-radius:14px;overflow:hidden}.available-villa-info{padding:28px}.available-villa-info h2{font-size:30px;font-weight:600;letter-spacing:-1px}.available-villa-info>p:not(.availability-note){font-size:14px}.available-specs>span{font-size:11px}.available-villa-info .text-link{font-size:13px}.available-villa-price>span{font-family:var(--sans);font-size:25px;font-weight:500;letter-spacing:-.7px}.available-villa-price>span>small{font-size:11px;letter-spacing:0}.available-villa-price>p{font-size:12px}.available-villa-price>p>small{font-size:10px}.available-villa-price>.button{font-size:13px;min-height:43px}.review-image{border-radius:12px}.review-title h2{font-size:35px;letter-spacing:-1px}.review-main>p{font-size:14px}.review-title .text-link{font-size:13px}.review-stay strong{font-size:14px}.review-stay small{font-size:12px}.review-inclusions h3{font-size:24px;font-weight:550}.review-inclusions p{font-size:14px}.price-summary{border-radius:16px}.price-summary h3{font-size:28px;font-weight:550;letter-spacing:-1px}.price-summary dl>div{font-size:14px}.price-summary dt>span{font-size:11px}.price-total dt,.price-total dd{font-family:var(--sans);font-size:27px;font-weight:550;letter-spacing:-1px}.price-total dt>small{font-size:11px}.price-summary>.button{font-size:13px;min-height:46px}.price-summary .form-note{font-size:10px!important}.guest-form>h2{font-size:45px;letter-spacing:-.05em}.guest-form>p{font-size:14px}.guest-form label,.contact-form label{font-size:13px}.guest-form input,.guest-form textarea,.contact-form input,.contact-form textarea{font-size:16px;border-radius:9px;border-color:#d5decd;background:#fff;padding:14px 16px}.guest-form input::placeholder,.guest-form textarea::placeholder,.contact-form input::placeholder,.contact-form textarea::placeholder{font-size:14px}.optional{font-size:11px}.demo-consent{border-radius:10px}.demo-consent p{font-size:12px}.submit-demo{font-size:14px;min-height:49px}.guest-stay-summary{border-radius:14px;overflow:hidden}.guest-stay-summary h3{font-size:27px;font-weight:550;letter-spacing:-.7px}.guest-stay-summary p{font-size:13px}.guest-summary-total>span{font-size:12px}.guest-summary-total>strong{font-family:var(--sans);font-size:24px;font-weight:550;letter-spacing:-.7px}.guest-stay-summary .text-link,.guest-form .field-error,.field-error{font-size:12px}.booking-page-footer>span,.booking-page-footer>p{font-size:10px}.booking-page-footer>span{letter-spacing:1px}.confirmation-head h1{font-size:72px;font-weight:600;letter-spacing:-.06em}.confirmation-head>p:last-child{font-size:16px}.confirmation-card{border-radius:16px;overflow:hidden}.confirmation-card h2{font-size:34px;font-weight:550;letter-spacing:-1px}.confirmation-card dl>div{font-size:13px}.confirmation-notice{border-radius:12px}.confirmation-notice p{font-size:12px}.confirmation-actions .text-link{font-size:14px}.modal{border-radius:18px}.modal h2{font-size:40px;font-weight:550;letter-spacing:-1.8px;line-height:1.12}.modal p{font-size:15px;line-height:1.75}.modal-close{border-radius:50%}.experience-modal-copy .button{font-size:14px}.experience-modal-copy small{font-size:11px}.lightbox{border-radius:14px}.lightbox h3{font-size:25px;font-weight:500;letter-spacing:-.7px}.lightbox .section-kicker{font-size:12px;color:#bac9ae}.success-mark{width:52px;height:52px}@media(max-width:1150px){.page-width{width:calc(100% - 80px)}.header-inner{padding-inline:40px;gap:20px}.desktop-nav{gap:23px}.desktop-nav a,.desktop-nav button{font-size:12px}.header .header-reserve{font-size:12px;padding:11px 17px}.brand>span{font-size:21px;letter-spacing:4px}.brand small{font-size:7px}.story-heading{gap:45px}.story-heading h2,.discovery-heading h2{font-size:49px}.story-heading>p{font-size:15px;max-width:335px}.story-photos{gap:25px}.story-photo-main>img{height:430px}.story-photo-aside>img{height:340px}.retreat-story{padding-top:100px;padding-bottom:100px}.stay-discovery{padding:85px 0 90px}.discovery-heading>p{font-size:14px}.stay-stage-image{height:450px}.stay-stage-details{grid-template-columns:1.1fr 1fr;gap:25px}.stay-stage-title{grid-row:span 2}.stay-stage-actions{justify-self:end;gap:22px}.stay-stage-rate{justify-self:end;text-align:right}.stay-stage-rate strong{font-size:24px}.stay-stage-title h3{font-size:28px}.stay-stage-title>p{font-size:13px}.stay-stage-specs{column-gap:12px;row-gap:6px;max-width:290px}.stay-stage-specs>span{font-size:11px}.stay-stage-specs>span:not(:last-child):after{padding-left:12px}.stay-stage-details{row-gap:19px}.island-experiences{padding-top:95px;padding-bottom:95px}.experience-canvas{min-height:550px}.experience-canvas-copy{left:40px;bottom:40px}.experience-canvas-copy h3{font-size:43px}.experience-canvas-copy p{font-size:14px}.island-experiences .discovery-heading>p{font-size:15px;max-width:270px}.island-essentials{padding:85px 0}.essentials-inner{gap:9%}.essentials-inner h2{font-size:53px;letter-spacing:-2.6px}.essentials-inner>div:first-child>p:not(.section-kicker){font-size:15px}.essential-item>button{font-size:16px}.visual-journal{padding-top:95px;padding-bottom:95px}.visual-journal .discovery-heading h2{font-size:49px}.journal-grid{grid-template-rows:300px 260px;gap:16px}.journal-count{font-size:12px;gap:15px}.journal-photo-label{font-size:12px;padding:20px}.arrival-section{gap:10%;padding-bottom:95px}.arrival-picture>img{height:470px}.arrival-copy h2{font-size:48px}.arrival-copy>p:not(.section-kicker){font-size:15px}.footer{padding-inline:40px}.footer-top{grid-template-columns:1fr .7fr 1.1fr;gap:8%}.footer-message{display:none}.detail-title h1{font-size:68px}.detail-description h2{font-size:47px}.booking-page-heading>h1{font-size:57px}.booking-page-heading>p:last-child{font-size:15px}.available-villa-info{padding:24px}.available-villa-info h2{font-size:28px}.available-villa-info>p:not(.availability-note){font-size:13px}.available-specs>span{font-size:10px}.available-villa-price{padding-inline:24px}.available-villa-price>span{font-size:23px}.available-villa-price>.button{font-size:12px}.availability-note{font-size:11px!important}.price-summary dl>div{font-size:12px}.price-summary h3{font-size:26px}.price-summary>.button{font-size:12px}.guest-stay-summary p{font-size:12px}.guest-form>h2{font-size:41px}}@media(max-width:850px){.page-width{width:calc(100% - 64px)}.header-inner{height:72px;padding-inline:32px}.desktop-nav{gap:17px}.desktop-nav a,.desktop-nav button{font-size:11px}.brand>span{font-size:19px;letter-spacing:3px}.brand small{font-size:6px;letter-spacing:1.5px}.header .header-reserve{font-size:11px;padding:10px 16px}.field-value{font-size:13px!important}.field-label{font-size:10px!important}.story-heading{gap:35px}.story-heading h2,.discovery-heading h2{font-size:43px;letter-spacing:-2.5px}.story-heading>p{max-width:280px;font-size:14px}.section-kicker{font-size:12px;margin-bottom:20px}.retreat-story{padding-top:85px;padding-bottom:85px}.story-photos{gap:22px;grid-template-columns:1.45fr 1fr}.story-photo-main>img{height:380px}.story-photo-aside{padding-top:60px}.story-photo-aside>img{height:310px}.story-photos figcaption{font-size:10px;margin-top:16px}.stay-discovery{padding:75px 0 80px}.discovery-heading{gap:35px}.discovery-heading>p{font-size:13px;max-width:230px}.stay-segments button{font-size:12px;padding:11px 18px}.stay-stage-image{height:380px}.stay-stage-title h3{font-size:26px}.stay-stage-rate strong{font-size:22px}.stay-stage-actions>.button{font-size:13px}.stay-stage-actions>.quiet-link{font-size:12px}.island-experiences{padding-top:82px;padding-bottom:82px}.island-experiences .discovery-heading>p{font-size:14px;max-width:230px}.experience-selector{gap:28px}.experience-selector>button{font-size:13px}.experience-canvas{min-height:510px}.experience-canvas-copy h3{font-size:41px;max-width:390px}.experience-canvas-copy>p{font-size:14px;max-width:320px}.experience-canvas-copy{left:34px;bottom:35px}.experience-canvas-copy>.button{font-size:13px}.essentials-inner{gap:8%}.essentials-inner h2{font-size:47px;letter-spacing:-2.5px}.essentials-inner>div:first-child>p:not(.section-kicker){font-size:14px}.essential-item>button{font-size:15px;padding:21px 0}.essential-item p{font-size:13px}.island-essentials{padding:75px 0}.visual-journal{padding-top:82px;padding-bottom:85px}.visual-journal .discovery-heading h2{font-size:41px;letter-spacing:-2.3px}.journal-count{font-size:11px;max-width:160px;gap:18px}.journal-grid{grid-template-rows:260px 230px;gap:13px}.journal-photo-label{font-size:11px;padding:17px}.photo-open{width:28px;height:28px}.photo-open svg{width:16px}.arrival-section{gap:9%;padding-bottom:85px}.arrival-picture>img{height:440px}.arrival-copy h2{font-size:42px;letter-spacing:-2.2px}.arrival-copy>p:not(.section-kicker){font-size:14px}.arrival-copy>.button{font-size:13px}.arrival-copy small{font-size:9px}.reservation-invitation{padding:85px 0}.reservation-invitation h2{font-size:80px}.reservation-invitation .section-kicker{font-size:13px}.reservation-invitation .button{font-size:14px}.reservation-invitation .quiet-link{font-size:13px}.footer{padding:65px 32px 0}.footer-links>a,.footer-links>button,.footer-links>span{font-size:12px}.footer-links .eyebrow{font-size:10px!important}.footer-top{gap:6%;padding-bottom:50px}.footer-brand>span{font-size:25px;letter-spacing:3.4px}.footer-brand small{font-size:7px;letter-spacing:1.6px}.footer-top>div:first-child>p{font-size:14px}.footer-bottom>span,.footer-bottom p,.footer-bottom button{font-size:9px}.detail-title h1{font-size:60px}.detail-title>p{font-size:17px}.detail-reserve{padding:25px}.detail-description h2{font-size:41px}.detail-description>p:not(.eyebrow){font-size:14px}.detail-specs>span{font-size:12px}.detail-amenities>li{font-size:12px}.detail-rate{font-size:32px}.detail-reserve>.button{font-size:12px}.detail-summary{font-size:11px}.detail-reserve>p:not(.eyebrow){font-size:12px}.detail-reserve>small{font-size:9px}.booking-page-heading>h1{font-size:48px}.booking-page-heading>p:last-child{font-size:14px}.available-villa-info h2{font-size:27px}.available-villa-price>.button{font-size:13px}.review-title h2{font-size:29px}.review-stay strong{font-size:12px}.review-stay small{font-size:10px}.review-main>p{font-size:13px}.review-inclusions p{font-size:13px}.price-summary>.button{font-size:11px}.price-total dt,.price-total dd{font-size:24px}.guest-form>h2{font-size:37px}.guest-form>p{font-size:13px}.guest-stay-summary h3{font-size:24px}.guest-summary-total>span{font-size:11px}.demo-consent p{font-size:11px}}@media(max-width:760px){.header.header-compact .header-inner{height:56px}.header.header-compact .header-reserve{min-height:36px;padding:9px 15px}.desktop-nav{display:none}.header .header-reserve{font-size:12px;min-height:38px;padding:10px 17px}.header-inner{gap:20px}.brand>span{font-size:21px;letter-spacing:3.8px}.brand small{font-size:7px;letter-spacing:1.6px}.menu-toggle{width:30px;flex-shrink:0}.mobile-menu{inset:72px 0 0;min-height:calc(100svh - 72px);background:#fafaf7;padding:25px 7% 40px}.mobile-menu>a,.mobile-menu>button{font-family:var(--sans);font-size:28px;font-weight:500;letter-spacing:-1px;padding:23px 0;gap:0}.mobile-menu small{display:none}.mobile-menu .mobile-menu-reserve{border-radius:999px;font-family:var(--sans);font-size:15px;letter-spacing:-.3px;justify-content:center;padding:17px 24px;min-height:52px;flex:none;background:var(--green)}.mobile-menu .mobile-menu-reserve svg{display:none}.mobile-menu>p{font-size:10px;text-align:center;letter-spacing:.3px}.field-label{font-size:10px!important}.field-value{font-size:13px!important}.story-heading>p{max-width:235px;font-size:13px}.story-heading h2{font-size:40px}.discovery-heading h2{font-size:42px}.story-photos{grid-template-columns:1fr;gap:24px}.story-photo-aside{width:100%;margin:0;padding-top:0}.story-photo-main>img,.story-photo-aside>img{height:clamp(300px,60vw,420px)}.story-photos figcaption{font-size:10px}.stay-stage-title{grid-row:span 2}.stay-stage-details{margin-top:29px;gap:18px}.stay-stage-rate>span{font-size:12px}.stay-stage-rate strong{font-size:22px}.stay-stage-rate small{font-size:9px}.stay-stage-title>p{font-size:12px}.stay-stage-actions{gap:20px}.stay-stage-actions>.button{font-size:12px;min-height:41px;padding:12px 22px}.stay-stage-actions>.quiet-link{font-size:12px}.discovery-heading>p{font-size:12px;max-width:190px}.island-experiences .discovery-heading>p{font-size:13px;max-width:210px}.experience-canvas{min-height:500px}.experience-canvas-copy h3{font-size:38px;max-width:340px}.experience-canvas-copy>p{font-size:13px}.experience-canvas-copy>.button{font-size:12px}.essentials-inner h2{font-size:44px}.essentials-inner{gap:8%}.essentials-inner>div:first-child>p:not(.section-kicker){font-size:13px}.essential-item>button{font-size:14px}.essential-item p{font-size:12px}.journal-grid{grid-template-rows:240px 215px;gap:12px}.journal-photo-label{font-size:10px;padding:15px}.visual-journal .discovery-heading h2{font-size:38px}.journal-count{max-width:120px;font-size:10px;gap:12px}.arrival-copy h2{font-size:38px;letter-spacing:-2px}.arrival-copy>p:not(.section-kicker){font-size:13px}.arrival-picture>img{height:420px}.arrival-copy>.button{font-size:12px}.arrival-copy small{font-size:8px}.footer-top{grid-template-columns:1fr .75fr 1.2fr;gap:5%}.footer-links>a,.footer-links>button,.footer-links>span{font-size:11px}.footer-links>small{font-size:8px}.footer-brand>span{font-size:23px;letter-spacing:3px}.footer-brand small{font-size:6px}.footer-top>div:first-child>p{font-size:13px}.footer-bottom>span,.footer-bottom p,.footer-bottom button{font-size:8px}.footer-bottom{gap:15px;padding:23px 0}.booking-page-top .back-link{font-size:12px}.demo-badge{font-size:9px}.booking-modify .stay-field{min-width:0}.available-villa-info>p:not(.availability-note){font-size:13px}.available-specs>span{font-size:10px}.available-villa-info .text-link{font-size:12px}.booking-page-footer>span,.booking-page-footer>p{font-size:9px}.guest-stay-summary .text-link{font-size:11px}.detail-heading .back-link{font-size:12px}.detail-reserve>.button{min-height:44px}.modal h2{font-size:35px;letter-spacing:-1.4px}.modal p{font-size:14px}.contact-form label{font-size:12px}.contact-form .button{font-size:14px}.lightbox h3{font-size:23px}.confirmation-head h1{font-size:60px}.confirmation-head>p:last-child{font-size:14px}.confirmation-card h2{font-size:30px}.confirmation-card dl>div{font-size:12px}}@media(max-width:540px){html{scroll-padding-top:83px}.page-width{width:calc(100% - 44px)}.header-inner{height:68px;padding-inline:22px;gap:17px}.brand>span{font-size:18px;letter-spacing:3px}.brand small{font-size:6px;letter-spacing:1.4px;margin-top:5px}.header .header-reserve,.header-solid .header-reserve{font-size:11px;padding:10px 15px;min-height:36px;white-space:nowrap}.menu-toggle{width:25px;margin:0}.menu-toggle>svg{width:21px}.mobile-menu{inset:68px 0 0;min-height:calc(100svh - 68px)}.calendar-popover{width:310px;max-width:calc(100vw - 50px);padding:22px;left:-2px;top:calc(100% + 21px);border-radius:14px}.calendar-top{font-size:13px;gap:20px}.calendar-month h4{font-size:13px}.calendar-grid>button,.calendar-grid>span{font-size:12px;height:32px}.calendar-grid .day-heading{font-size:10px}.calendar-note{font-size:11px}.guest-popover{max-width:calc(100vw - 50px);width:310px;top:calc(100% + 21px);padding:23px}.guest-popover strong{font-size:20px}.guest-popover p{font-size:12px}.section-kicker{font-size:12px;line-height:1.5;margin-bottom:18px}.retreat-story{padding-top:75px;padding-bottom:70px}.story-heading{display:block;margin-bottom:30px}.story-heading h2,.discovery-heading h2{font-size:clamp(34px,8.5vw,44px);letter-spacing:-.05em;line-height:1.12}.story-heading>p{font-size:14px;line-height:1.8;max-width:none;margin-top:24px}.story-photos{grid-template-columns:1fr;gap:24px}.story-photo-main>img{height:300px;border-radius:10px;object-position:51% center}.story-photo-aside{width:100%;margin:0;padding-top:0}.story-photo-aside>img{height:300px;border-radius:10px;object-position:50% center}.story-photos figcaption{font-size:10px;line-height:1.7;margin-top:13px}.stay-discovery{padding:66px 0 62px}.discovery-heading{display:block;margin-bottom:29px}.discovery-heading .section-kicker{margin-bottom:18px}.discovery-heading>p{font-size:13px;max-width:none;margin-top:20px;line-height:1.7;padding:0}.stay-toolbar{gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.stay-segments{width:100%;padding:3px;justify-content:space-between;gap:0}.stay-segments button{font-size:10px;padding:11px 13px;flex:1;white-space:nowrap}.gallery-arrows{display:none}.stay-stage-image{height:290px;border-radius:10px}.stay-stage-image>img{object-position:48% center}.stay-stage-details{display:flex;flex-wrap:wrap;align-items:start;gap:23px;margin-top:25px}.stay-stage-title{width:100%}.stay-stage-title h3{font-size:26px;letter-spacing:-1px}.stay-stage-title>p{font-size:13px;line-height:1.7;margin-top:10px}.stay-stage-specs{max-width:none;gap:9px;margin-top:13px}.stay-stage-specs>span{font-size:10px}.stay-stage-specs>span:not(:last-child):after{padding-left:9px}.stay-stage-rate{text-align:left;justify-self:start;width:100%}.stay-stage-rate>span{font-size:12px}.stay-stage-rate strong{font-size:24px;margin:0 3px}.stay-stage-rate small{font-size:9px;margin-top:8px}.stay-stage-actions{width:100%;justify-content:space-between;flex-direction:row-reverse;gap:22px;margin-top:-3px}.stay-stage-actions>.button{min-height:42px;font-size:13px;padding:12px 25px}.stay-stage-actions>.quiet-link{font-size:12px}.island-experiences{padding-top:70px;padding-bottom:70px}.island-experiences .discovery-heading>p{font-size:14px;max-width:none;line-height:1.8;margin-top:22px}.experience-selector{gap:22px;margin:0 0 22px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.experience-selector>button{font-size:12px;padding:13px 0 16px;flex-shrink:0}.experience-canvas{min-height:490px;border-radius:11px}.experience-canvas>img{object-position:48% center}.experience-canvas-copy{left:24px;right:24px;bottom:27px;max-width:none}.experience-canvas-copy h3{font-size:34px;line-height:1.1;letter-spacing:-1.3px;max-width:300px}.experience-canvas-copy>p{font-size:12px;line-height:1.85;margin:19px 0 23px;max-width:none;color:#ffffffe0}.experience-canvas-copy>.button{font-size:12px;min-height:42px;padding:12px 19px}.experience-canvas-copy>.button svg{width:14px}.island-essentials{padding:65px 0}.essentials-inner{grid-template-columns:1fr;gap:33px}.essentials-inner h2{font-size:43px;letter-spacing:-2.3px;margin-bottom:22px}.essentials-inner>div:first-child>p:not(.section-kicker){font-size:14px;line-height:1.8}.essential-item>button{font-size:15px;padding:22px 0;font-weight:500}.essential-item>button>svg{width:17px}.essential-item p{font-size:13px;line-height:1.8}.visual-journal{padding-top:69px;padding-bottom:68px}.visual-journal .discovery-heading h2{font-size:37px;letter-spacing:-1.8px;max-width:310px;line-height:1.12}.journal-count{font-size:11px;max-width:none;justify-content:space-between;width:100%;margin-top:20px;padding:0;gap:15px}.visual-journal .discovery-heading{margin-bottom:25px}.journal-grid{grid-template-columns:1fr 1fr;grid-template-rows:230px 200px 220px;gap:11px}.journal-photo{border-radius:9px}.journal-photo-0{grid-column:span 2}.journal-photo-1{grid-row:2;grid-column:1}.journal-photo-2{grid-row:2;grid-column:2}.journal-photo-3{grid-row:3;grid-column:1}.journal-photo-4{grid-row:3;grid-column:2}.journal-photo-label{font-size:10px;padding:16px;line-height:1.5;gap:10px;align-items:end}.photo-open{width:27px;height:27px;flex-shrink:0}.photo-open svg{width:15px}.arrival-section{grid-template-columns:1fr;gap:34px;padding-bottom:70px}.arrival-picture>img{height:310px;border-radius:10px;object-position:center}.arrival-copy .section-kicker{margin-bottom:20px}.arrival-copy h2{font-size:39px;letter-spacing:-2px;line-height:1.1;margin:20px 0 24px}.arrival-copy>p:not(.section-kicker){font-size:14px;line-height:1.8;max-width:none;margin-bottom:17px}.arrival-copy>.button{font-size:13px;min-height:43px;padding:12px 23px;margin-top:12px}.arrival-copy small{font-size:9px;line-height:1.9;margin-top:22px}.reservation-invitation{padding:70px 0}.reservation-invitation .section-kicker{font-size:12px;margin-bottom:24px}.reservation-invitation h2{font-size:64px;line-height:1.05;letter-spacing:-3.9px;margin-bottom:30px}.reservation-invitation .button{font-size:13px;min-height:44px;padding:13px 23px;margin-right:14px}.reservation-invitation .quiet-link{font-size:12px;gap:0}.reservation-invitation .quiet-link svg{width:15px}.footer{padding:50px 22px 0}.footer-top{grid-template-columns:1fr 1fr;gap:34px 15%;padding-bottom:35px}.footer-top>div:first-child{display:block;grid-column:span 2}.footer-brand>span{font-size:29px;letter-spacing:4px}.footer-brand small{font-size:8px;letter-spacing:1.7px;margin-top:7px}.footer-top>div:first-child>p{font-size:14px;line-height:1.6;margin-top:20px}.footer-links .eyebrow{font-size:10px!important;margin-bottom:7px;line-height:1.6}.footer-links>a,.footer-links>button,.footer-links>span{font-size:12px}.footer-links{gap:14px}.footer-links>small{font-size:8px;line-height:1.6}.footer-bottom{padding:22px 0;gap:15px}.footer-bottom>span,.footer-bottom p,.footer-bottom button{font-size:8px;line-height:1.8}.footer-bottom p{max-width:none}.footer-bottom>div{gap:18px}.detail-heading{padding-top:105px;padding-bottom:30px}.detail-heading .back-link{font-size:12px}.detail-title{margin-top:28px}.detail-title h1{font-size:48px;letter-spacing:-2.4px;margin-top:17px;line-height:1.1}.detail-title>p{font-size:16px;line-height:1.6;margin-top:15px}.detail-gallery{margin:0 12px;height:350px;border-radius:12px}.detail-body{padding-top:42px}.detail-description h2{font-size:37px;letter-spacing:-1.7px;line-height:1.1}.detail-description>p:not(.eyebrow){font-size:14px;line-height:1.8}.detail-specs>span{font-size:11px}.detail-description>h3{font-size:23px;letter-spacing:-.6px;line-height:1.2;max-width:300px}.detail-amenities>li{font-size:11px}.stay-notes h4{font-size:13px}.stay-notes p{font-size:11px;line-height:1.8}.detail-reserve{padding:26px;border-radius:12px}.detail-rate{font-size:36px;letter-spacing:-1.3px}.detail-rate>small{font-size:12px}.detail-summary{font-size:12px}.detail-reserve>p:not(.eyebrow){font-size:12px}.detail-reserve>.button{font-size:14px;justify-content:center}.detail-reserve>small{font-size:10px}.other-villas h2{font-size:37px;letter-spacing:-1.8px;line-height:1.13}.other-villas a>span{font-size:23px;letter-spacing:-.7px}.booking-page{padding-top:99px}.booking-page-top .back-link{font-size:10px}.demo-badge{font-size:7px;padding:7px 10px}.booking-page-heading{margin-top:33px}.booking-page-heading>h1{font-size:39px;letter-spacing:-2px;line-height:1.13;max-width:350px;margin:20px 0}.booking-page-heading>p:last-child{font-size:13px;line-height:1.75}.eyebrow{font-size:9px!important;letter-spacing:.4px!important}.booking-modify{padding:18px 17px;border-radius:10px}.booking-modify .stay-fields{gap:18px}.booking-modify .field-label{font-size:9px!important}.booking-modify .field-value{font-size:12px!important;gap:5px}.booking-modify .field-value>svg:last-child{margin-left:0}.available-villa{border-radius:12px}.available-villa-info{padding:24px 22px 0}.available-villa-info h2{font-size:29px;margin:15px 0 10px;letter-spacing:-1px}.available-villa-info .availability-note{font-size:11px!important}.available-villa-info>p:not(.availability-note){font-size:13px}.available-specs{gap:13px}.available-specs>span{font-size:10px}.available-villa-info .text-link{font-size:12px}.available-villa-price{padding:21px 22px 24px;gap:17px}.available-villa-price>span{font-size:25px}.available-villa-price>span>small{font-size:10px}.available-villa-price>p{font-size:10px;line-height:1.8}.available-villa-price>p>small{font-size:8px}.available-villa-price>.button{font-size:13px;justify-content:center;min-height:44px}.available-villas+.form-note{font-size:10px!important;line-height:1.8}.review-title h2{font-size:29px;letter-spacing:-1px}.review-title .text-link{font-size:12px}.review-main>p{font-size:13px}.review-stay strong{font-size:12px}.review-stay small{font-size:10px}.review-inclusions h3{font-size:23px;letter-spacing:-.7px}.review-inclusions p{font-size:13px}.price-summary{padding:27px;border-radius:13px}.price-summary h3{font-size:26px;line-height:1.18;letter-spacing:-.8px}.price-summary dl>div{font-size:13px}.price-summary dt>span{font-size:10px}.price-total dt,.price-total dd{font-size:27px;letter-spacing:-.8px}.price-summary>.button{font-size:13px;justify-content:center;min-height:46px}.price-summary .form-note{font-size:10px!important}.guest-stay-summary{border-radius:12px}.guest-stay-summary h3{font-size:23px;line-height:1.2;letter-spacing:-.7px}.guest-stay-summary p{font-size:11px}.guest-summary-total>strong{font-size:24px;letter-spacing:-.7px}.guest-summary-total>span{font-size:10px}.guest-stay-summary .text-link{font-size:10px}.guest-form>h2{font-size:36px;letter-spacing:-1.6px;line-height:1.1}.guest-form>p{font-size:13px;line-height:1.75}.guest-form>label{font-size:12px}.guest-form input,.guest-form textarea{font-size:16px;padding:14px}.guest-form input::placeholder,.guest-form textarea::placeholder{font-size:13px}.optional{font-size:10px}.demo-consent p{font-size:11px;line-height:1.75}.submit-demo{font-size:13px;justify-content:center;min-height:47px}.booking-page-footer>span,.booking-page-footer>p{font-size:8px}.booking-page-footer>span{letter-spacing:.5px}.booking-back{font-size:12px}.confirmation-head h1{font-size:50px;letter-spacing:-2.5px;line-height:1.06}.confirmation-head>p:last-child{font-size:14px}.confirmation-card h2{font-size:29px;letter-spacing:-1px}.confirmation-card dl>div{font-size:12px;line-height:1.6}.confirmation-notice p{font-size:11px;line-height:1.8}.confirmation-actions .button{font-size:13px;justify-content:center}.confirmation-actions .text-link{font-size:12px}.modal{border-radius:15px}.modal h2{font-size:32px;letter-spacing:-1.3px;line-height:1.15}.modal p{font-size:13px;line-height:1.8}.contact-form input,.contact-form textarea{font-size:16px;padding:13px 14px}.contact-form input::placeholder,.contact-form textarea::placeholder{font-size:13px}.contact-form label{font-size:12px}.contact-form .button{font-size:13px;min-height:45px}.experience-modal-copy .button{font-size:12px;white-space:normal;text-align:center}.experience-modal-copy small{font-size:10px}.lightbox h3{font-size:21px;letter-spacing:-.5px}.lightbox .section-kicker{font-size:10px;line-height:1.6}.form-note{font-size:10px!important}}@media(max-width:1150px){.footer-stay-links{display:none}}@media(prefers-reduced-motion:reduce){.stay-stage-image>img,.journal-photo>img{transition:none}.stay-stage-image:hover>img,.journal-photo:hover>img{transform:none}}.header:not(.header-solid){color:#fff;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.header:not(.header-solid) .header-reserve{color:#203b2d;background:#fff}.header:not(.header-solid) .header-reserve:hover{background:#edf1e7}.masthead{position:relative;isolation:isolate;height:calc(100svh - 20px);min-height:780px;max-height:1120px;padding:78px 0;background:#294a40;color:#fff}.masthead-photo,.masthead-shade{position:absolute;inset:0;z-index:-1}.masthead-photo{overflow:hidden}.masthead-photo>img,.masthead-film{width:100%;height:100%;object-fit:cover;object-position:55% center}.masthead-film{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}.film-ready .masthead-film{opacity:1}.masthead-shade{background:linear-gradient(90deg,#0a241cbd,#0a241c3b 65%,#0a241c0d),linear-gradient(180deg,#10271d70,transparent 25%,transparent 65%,#10271d4d)}.masthead-heading{height:100%;display:flex;align-items:center;padding:40px 0 45px}.masthead-copy{max-width:780px}.masthead-heading .section-kicker{color:#f1f5eb;font-size:14px;font-weight:450;letter-spacing:-.1px;margin-bottom:25px}.masthead h1{color:#fff;font-size:clamp(72px,7vw,106px);font-weight:600;letter-spacing:-.065em;line-height:1.025;margin:0}.masthead-aside{margin-top:29px}.masthead-aside>p{color:#f5f7ef;font-size:18px;font-weight:400;letter-spacing:-.3px;line-height:1.6}.masthead-actions{display:flex;align-items:center;gap:27px;margin-top:28px}.masthead-actions .button{min-height:47px;padding:14px 24px}.masthead-actions .quiet-link{color:#fff;font-size:14px}@media(min-width:1600px){.masthead h1{font-size:112px}}@media(max-width:1150px){.masthead{min-height:760px}.masthead h1{font-size:86px}}@media(max-width:850px){.masthead{padding-top:72px}.masthead h1{font-size:76px}.masthead-aside>p{font-size:17px}}@media(max-width:760px){.masthead{min-height:780px;padding-bottom:72px}.masthead-heading{padding-bottom:35px}.masthead h1{font-size:68px}}@media(max-width:540px){.masthead{min-height:750px;max-height:1000px;height:calc(100svh - 12px);padding:68px 0}.masthead-photo>img,.masthead-film{object-position:57% center}.masthead-shade{background:linear-gradient(90deg,#102b22b5,#102b2238),linear-gradient(180deg,#10271d66,transparent 30%,#10271d25 70%,#10271d55)}.masthead-heading{padding:35px 0 30px}.masthead-heading .section-kicker{font-size:11px;margin-bottom:23px}.masthead h1{font-size:clamp(48px,12.5vw,67px);letter-spacing:-.065em;line-height:1.06}.masthead-aside{margin-top:23px}.masthead-aside>p{font-size:14px;line-height:1.8;max-width:290px}.masthead-actions{gap:20px;margin-top:26px}.masthead-actions .button{font-size:13px;min-height:44px;padding:13px 21px}.masthead-actions .quiet-link{font-size:12px;gap:1px}.masthead-actions .quiet-link svg{width:15px}}@media(prefers-reduced-motion:reduce){.masthead-film{display:none}}.booking-page{max-width:1360px;padding:112px 56px 0}.booking-page-top{gap:24px;align-items:center}.booking-page-top .back-link{font-size:12px;color:#778071}.booking-page-top .back-link svg{width:13px}.booking-page .demo-badge{border:0;border-radius:0;padding:0;color:#8a9183;font-size:11px;letter-spacing:0;line-height:1.6}.reservation-heading{display:flex;align-items:center;justify-content:space-between;gap:40px;margin:39px 0 37px}.reservation-heading .booking-page-heading{margin:0}.reservation-heading .booking-page-heading h1{font-size:43px;line-height:1.12;letter-spacing:-1.9px;font-weight:550;margin:0 0 12px;max-width:none}.reservation-heading .booking-page-heading>p{font-size:14px;line-height:1.6;color:#7a8372;max-width:440px}.booking-steps{display:flex;align-items:center;justify-content:end;border:0;margin:0;gap:14px;flex-shrink:0}.reservation-step{display:flex;align-items:center;gap:14px}.reservation-step>button{padding:8px 0;font-size:12px;font-weight:450;letter-spacing:-.15px;color:#949c8b;white-space:nowrap;position:relative;line-height:1.5;transition:color .2s}.reservation-step>button.current{color:#253e2d;font-weight:550}.reservation-step>button.current:after{content:"";height:1px;position:absolute;bottom:1px;left:0;right:0;background:#334e38}.reservation-step>button.complete{color:#64765a}.reservation-step>button.complete:hover{color:#243e2a;text-decoration:underline;text-underline-offset:5px}.reservation-step>button:disabled{opacity:1;cursor:default;color:#9da591}.reservation-step>svg{color:#b1b9a7;width:12px}.reservation-dates-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:68px;align-items:start;padding-bottom:12px}.date-selection{min-width:0}.date-selection-summary{display:grid;grid-template-columns:1fr 1px 1fr;border:1px solid #d6ddcd;border-radius:10px;background:#fff;align-items:center;overflow:hidden}.date-selection-summary>button{padding:18px 22px;text-align:left;display:flex;flex-direction:column;gap:7px;position:relative;align-self:stretch;transition:background .2s}.date-selection-summary>button:hover{background:#f4f6ef}.date-selection-summary>button.selecting{background:#f2f5ec}.date-selection-summary>button.selecting:after{content:"";position:absolute;bottom:0;left:22px;right:22px;height:2px;background:#344f35}.date-selection-summary>button>span{font-size:11px;line-height:1.4;color:#859079}.date-selection-summary>button>strong{font-size:16px;font-weight:500;letter-spacing:-.4px;line-height:1.5;color:#2c4331}.stay-date-divider{height:33px;width:1px;background:#dde3d4}.stay-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:21px 0 15px}.stay-calendar-toolbar>p{font-size:12px;color:#7b8770;line-height:1.6}.stay-calendar-toolbar>div{display:flex;gap:5px}.calendar-arrow{height:33px;width:33px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#506847;transition:background .2s}.calendar-arrow:hover{background:#edf1e5}.calendar-arrow:disabled{opacity:.25}.stay-calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:34px;min-height:284px}.stay-calendar-month h3{font-size:13px;font-weight:550;letter-spacing:-.2px;line-height:1.5;margin:0 0 18px 7px;color:#3a513a}.stay-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:5px}.stay-calendar-grid>span{height:30px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#9ba48d}.stay-calendar-grid>button{position:relative;height:33px;padding:0;display:flex;align-items:center;justify-content:center;min-width:0;color:#506344;line-height:1;font-size:12px;font-weight:450}.stay-calendar-grid>button>span{position:relative;z-index:1;width:33px;height:33px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s}.stay-calendar-grid>button:hover>span{background:#e8eddd}.stay-calendar-grid>button.between-dates{background:#edf1e4}.stay-calendar-grid>button.range-start:before,.stay-calendar-grid>button.range-end:before{content:"";position:absolute;top:0;bottom:0;width:50%;background:#edf1e4}.stay-calendar-grid>button.range-start:before{right:0}.stay-calendar-grid>button.range-end:before{left:0}.stay-calendar-grid>button.range-start>span,.stay-calendar-grid>button.range-end>span{background:#2d4a33;color:#fff}.stay-calendar-grid>button:disabled{opacity:.25;cursor:default}.stay-calendar-grid>button:focus-visible{outline:1px solid #7b9265;outline-offset:2px;border-radius:50%;z-index:2}.stay-guest-row{border-top:1px solid #dee4d6;border-bottom:1px solid #dee4d6;display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:15px;padding:19px 0}.stay-guest-row h3{font-size:14px;line-height:1.5;font-weight:500;letter-spacing:-.2px;margin:0 0 4px}.stay-guest-row p{font-size:11px;color:#8b957d;line-height:1.6}.stay-guest-counter{display:flex;align-items:center;gap:19px}.guest-adjust{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #d1dbc6;border-radius:50%;color:#576f48;transition:background .2s}.guest-adjust:hover{background:#e9efdf}.guest-adjust:disabled{opacity:.28;cursor:default}.stay-guest-counter output{font-size:15px;color:#334b32;font-weight:500;min-width:14px;text-align:center;font-variant-numeric:tabular-nums}.date-selection-continue{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:23px}.date-selection-continue>span{font-size:12px;color:#7b886e;line-height:1.6}.date-selection-continue .button{min-height:44px;padding:13px 22px;font-size:13px}.date-selection-note{font-size:10px;color:#949d87;line-height:1.8;margin-top:17px}.date-selection>.field-error{margin:12px 0;font-size:12px}.reservation-preview{margin:0;min-width:0;padding-top:0}.reservation-preview>img{width:100%;height:405px;border-radius:11px;object-position:54% center}.reservation-preview>div{padding:24px 0 0}.reservation-preview h2{font-size:20px;letter-spacing:-.6px;font-weight:500;line-height:1.3;margin-bottom:10px}.reservation-preview p{font-size:13px;line-height:1.8;color:#7f8b72;max-width:290px}.reservation-preview .quiet-link{font-size:12px;margin-top:13px;color:#46613b}.booking-page .booking-page-footer{margin-top:46px;padding:24px 0}.booking-page .booking-page-footer>span{letter-spacing:1px;font-size:9px}.booking-page .booking-page-footer>p{font-size:10px;color:#919b85}.guest-form>h2{font-size:25px;letter-spacing:-.7px;line-height:1.25;margin-bottom:13px}@media(min-width:1600px){.reservation-dates-layout{gap:90px}.reservation-preview>img{height:425px}.stay-calendar-grid>button,.stay-calendar-grid>button>span{height:36px}.stay-calendar-grid>button>span{width:36px}.stay-calendar-months{min-height:300px}}@media(max-width:1150px){.booking-page{padding-inline:40px}.reservation-heading{gap:30px}.reservation-heading .booking-page-heading h1{font-size:39px}.reservation-heading .booking-page-heading>p{font-size:13px}.booking-steps,.reservation-step{gap:10px}.reservation-step>button{font-size:11px}.reservation-dates-layout{gap:45px;grid-template-columns:1.5fr 1fr}.stay-calendar-months{gap:22px}.date-selection-summary>button{padding:17px 19px}.date-selection-summary>button>strong{font-size:14px}.stay-calendar-grid>button,.stay-calendar-grid>button>span{height:30px}.stay-calendar-grid>button>span{width:30px}.reservation-preview>img{height:380px}.reservation-preview h2{font-size:18px}.reservation-preview p{font-size:12px}}@media(max-width:900px){.booking-page{padding:103px 32px 0}.reservation-heading{display:block;margin:30px 0}.reservation-heading .booking-page-heading h1{font-size:37px}.booking-steps{justify-content:start;gap:16px;margin-top:23px}.reservation-step{gap:16px}.reservation-step>button{font-size:12px}.reservation-dates-layout{gap:32px;grid-template-columns:1.5fr .85fr}.stay-calendar-months{grid-template-columns:1fr;gap:0;min-height:285px}.stay-calendar-month-1{display:none}.stay-calendar-month h3{margin-left:8px;font-size:14px}.stay-calendar-grid>button,.stay-calendar-grid>button>span{height:35px}.stay-calendar-grid>button>span{width:35px}.stay-calendar-grid>button{font-size:13px}.reservation-preview>img{height:350px}.reservation-preview>div{padding-top:20px}.reservation-preview h2{font-size:17px}.reservation-preview p{font-size:11px}.date-selection-continue{gap:15px}.date-selection-continue .button{font-size:12px;padding-inline:18px}.date-selection-continue>span{font-size:11px}.date-selection-summary>button{padding:16px}.date-selection-summary>button>strong{font-size:13px}.stay-guest-counter{gap:14px}}@media(max-width:640px){.booking-page{padding:95px 22px 0}.booking-page-top .back-link{font-size:10px}.booking-page .demo-badge{font-size:9px}.reservation-heading{margin:29px 0 27px}.reservation-heading .booking-page-heading h1{font-size:35px;letter-spacing:-1.5px;margin-bottom:11px}.reservation-heading .booking-page-heading>p{font-size:13px;line-height:1.7}.booking-steps{gap:12px;margin-top:22px;justify-content:start}.reservation-step{gap:12px}.reservation-step>button{font-size:10px;letter-spacing:-.1px;padding:7px 0}.reservation-step>svg{width:10px}.reservation-dates-layout{grid-template-columns:1fr;gap:32px}.date-selection-summary>button{padding:17px 19px}.date-selection-summary>button>span{font-size:10px}.date-selection-summary>button>strong{font-size:14px;letter-spacing:-.3px}.stay-calendar-toolbar{margin:21px 0 14px}.stay-calendar-toolbar>p{font-size:11px}.stay-calendar-months{min-height:286px}.stay-calendar-month h3{font-size:13px;margin-left:10px}.stay-calendar-grid>span{height:27px;font-size:10px}.stay-calendar-grid{row-gap:6px}.stay-calendar-grid>button,.stay-calendar-grid>button>span{height:34px}.stay-calendar-grid>button>span{width:34px}.stay-calendar-grid>button{font-size:12px}.stay-guest-row{margin-top:16px;padding:18px 0}.stay-guest-row h3{font-size:14px}.stay-guest-row p{font-size:10px}.stay-guest-counter{gap:17px}.guest-adjust{width:31px;height:31px}.date-selection-continue{margin-top:21px;gap:14px}.date-selection-continue .button{font-size:12px;padding:13px 20px;min-height:44px}.date-selection-continue>span{font-size:11px;max-width:125px}.date-selection-note{font-size:9px;margin-top:15px}.reservation-preview{display:grid;grid-template-columns:110px 1fr;gap:20px;border-top:1px solid #e0e5d7;padding-top:25px;align-items:center}.reservation-preview>img{height:120px;border-radius:8px;object-position:center}.reservation-preview>div{padding:0}.reservation-preview h2{font-size:15px;letter-spacing:-.4px;line-height:1.4;margin-bottom:8px}.reservation-preview p{font-size:11px;line-height:1.75}.reservation-preview .quiet-link{font-size:10px;margin-top:6px}.booking-page .booking-page-footer{margin-top:29px;padding:20px 0;gap:20px}.booking-page .booking-page-footer>span{font-size:7px;letter-spacing:.5px}.booking-page .booking-page-footer>p{font-size:8px;line-height:1.7}.guest-form>h2{font-size:23px;margin-bottom:13px}}@media(max-width:360px){.booking-page{padding-inline:18px}.booking-steps,.reservation-step{gap:9px}.reservation-step>button{font-size:9px}.date-selection-summary>button{padding-inline:14px}.date-selection-summary>button>strong{font-size:12px}.date-selection-continue{gap:12px}.date-selection-continue .button{padding-inline:16px;font-size:11px}.date-selection-continue>span{font-size:10px}.stay-calendar-grid>button,.stay-calendar-grid>button>span{height:32px}.stay-calendar-grid>button>span{width:32px}}
