:root{--ink:#20271f;--muted:#73776d;--paper:#f6f7f2;--lime:#d7ef89;--line:#d9ddd3;--green:#263d2c}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;letter-spacing:0}::selection{background:var(--lime);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #97b943;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}svg{width:20px;height:20px;stroke-width:1.5;flex-shrink:0}[hidden]{display:none!important}
header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 5%;position:absolute;left:0;right:0;top:0;z-index:5;color:white;border-bottom:1px solid #ffffff40}header .brand{font-size:22px}.brand{display:flex;align-items:center;gap:14px;font-size:23px;font-weight:500;line-height:1.05;white-space:nowrap}.brand small{display:block;font-size:8px;margin-top:9px;letter-spacing:2px}.brand-mark{font-family:'Instrument Serif',Georgia,serif;font-size:62px;line-height:.8;font-style:italic;width:43px;position:relative}.brand-mark span{font-size:43px;position:absolute;left:23px;top:0}nav{display:flex;gap:30px;font-size:12px}nav a{position:relative;padding:12px 0}nav a:after{content:'';height:1px;background:currentColor;position:absolute;bottom:3px;left:0;width:0;transition:width .3s}nav a:hover:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:54px;padding:17px 23px;background:var(--ink);border:1px solid var(--ink);color:var(--paper);font-size:12px;font-weight:500;transition:background .25s,color .25s}.button svg{transition:transform .3s}.button:hover svg{transform:translate(3px,-3px)}.button:hover{background:#3e5038}.header-book{background:var(--lime);color:var(--ink);border-color:var(--lime);min-height:45px;padding:12px 20px}.header-book:hover{background:#e9ffb4}.header-book span{font-size:23px;line-height:1}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid currentColor;border-radius:50%;background:transparent;transition:background .25s,color .25s}.icon-button:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}.menu{display:none}
.hero{height:calc(100svh - 86px);min-height:660px;max-height:1050px;position:relative;color:white;overflow:hidden;background:#546b53}.hero-image{position:absolute;inset:0;object-position:center 59%;will-change:transform;animation:hero-enter 1.8s ease-out}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#101c2259 0%,transparent 38%,#14211980 100%)}.hero-topline{position:absolute;top:145px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center}.eyebrow{display:block;font-size:9px;font-weight:500;letter-spacing:1.8px}.light{display:flex;gap:10px;align-items:center}.little-line{width:6px;height:6px;background:var(--lime);border-radius:50%}.hero-coordinate{font-size:11px}.hero-content{position:absolute;left:5%;right:7%;bottom:113px;display:flex;align-items:end;justify-content:space-between;gap:30px}.hero-title-wrap{min-width:0}.hero-title-wrap>.eyebrow{margin-bottom:17px}.hero h1{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:142px;line-height:.9;margin:0;letter-spacing:0}.hero h1>span,.hero h1>em{display:block}.hero h1>span{white-space:nowrap}.hero h1>em{font-weight:400;color:var(--lime);margin-top:4px}.hero-aside{display:flex;flex-direction:column;gap:26px;align-items:start;padding-bottom:10px;flex-shrink:0}.hero-aside p{font-size:19px;font-weight:400;line-height:1.45;margin:0}.hero-aside p em{font-family:'Instrument Serif',Georgia,serif;font-size:28px}.circle-link{display:flex;align-items:center;justify-content:center;gap:18px;width:130px;height:130px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:12px;line-height:1.5;transition:transform .4s,background .4s}.circle-link:hover{transform:rotate(-8deg);background:#e9ffb4}.circle-link svg{width:26px;height:26px}.hero-bottom{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff50;padding-top:19px}.hero-bottom>a{display:flex;gap:15px;align-items:center;font-size:8px;letter-spacing:1.5px}.hero-bottom>a svg{width:16px}.slide-controls{display:flex;align-items:center;gap:9px}.slide-controls>span{font-size:11px;margin-right:12px}.slide-controls b{font-weight:400;opacity:.55;margin-left:10px}.slide-controls .icon-button{width:35px;height:35px;border-color:#ffffff70}.slide-controls svg{width:16px;height:16px}
.booking{display:grid;grid-template-columns:1.35fr 1fr 1fr .65fr 1.1fr;gap:20px;align-items:center;padding:25px 5%;border-bottom:1px solid var(--line);background:var(--paper)}.booking h2{font-family:'DM Sans',sans-serif;font-size:18px;line-height:1.3;margin:8px 0 0}.booking .eyebrow{font-size:8px}.booking label{border-left:1px solid var(--line);padding-left:24px;display:flex;flex-direction:column;gap:9px;min-width:0}.booking label>span{font-size:8px;letter-spacing:1.5px}.booking input,.booking select{width:100%;border:0;background:transparent;color:var(--ink);font-size:12px;min-height:26px;cursor:pointer}.booking .button{white-space:nowrap;gap:12px;padding:17px}.form-error:empty{display:none}.form-error{grid-column:1/-1;color:#a23e2a;font-size:13px;margin:0}
.section{padding:110px 7%}.intro{display:grid;grid-template-columns:1fr 3.2fr;gap:30px;padding-top:130px}.intro-label{display:flex;flex-direction:column;align-items:start;gap:80px;padding-top:15px}.asterisk{font-size:95px;font-weight:400;line-height:1;display:block;color:#809162}.intro h2{font-size:76px;margin:0;line-height:1.04;max-width:800px}h2{font-family:'Instrument Serif',Georgia,serif;font-size:70px;font-weight:400;line-height:1.06;margin:16px 0 0;letter-spacing:0}h2 em{font-weight:400;color:#778564}.intro-bottom{display:grid;grid-template-columns:.8fr 1fr;align-items:center;gap:50px;margin-top:50px}.intro-photo{height:250px}.intro-copy p{font-size:14px;line-height:1.9;color:var(--muted);margin:0 0 14px}.intro-copy p:first-child{color:var(--ink)}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;padding:12px 0;border-bottom:1px solid currentColor;font-size:12px}.text-link svg{transition:transform .3s}.text-link:hover svg{transform:translate(3px,-3px)}.amenities{display:grid;grid-template-columns:repeat(4,1fr);margin:0 7%;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.amenities span{display:flex;align-items:center;justify-content:center;gap:13px;font-size:11px;border-right:1px solid var(--line)}.amenities span:first-child{justify-content:start}.amenities span:last-child{border:0}.amenities svg{width:22px;height:22px;color:#657d50}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-heading p,.section-note{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.stay .section-heading .eyebrow{font-size:0}.stay .section-heading .eyebrow:before{content:'02 / STAY A LITTLE LONGER';font-size:9px}.stay-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:8%;align-items:center}.photo-button{position:relative;width:100%;display:block;overflow:hidden;background:#e1e4d8;border:0;padding:0}.photo-button img{transition:transform .8s}.photo-button:hover img{transform:scale(1.045)}.room-photo{aspect-ratio:1.1}.photo-expand{position:absolute;bottom:22px;right:22px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--ink)}.room-description{padding:25px 0}.room-description h3{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:45px;line-height:1.1;margin:23px 0}.room-description p{font-size:13px;line-height:1.9;color:var(--muted)}.room-features{display:flex;flex-wrap:wrap;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);margin-bottom:18px}.room-features span{display:flex;align-items:center;gap:7px;font-size:10px}.room-features svg{width:18px}.room-description small{display:block;font-size:9px;color:var(--muted);margin-top:17px}.marquee{background:var(--lime);padding:27px 0;overflow:hidden}.marquee>div{display:flex;width:max-content;align-items:center;gap:50px;animation:marquee 32s linear infinite}.marquee span{font-size:22px;white-space:nowrap}.marquee span:nth-child(even){font-size:35px;line-height:1}
.experiences{background:#242e27;color:var(--paper);padding-top:100px;padding-bottom:110px}.experiences h2 em{color:var(--lime)}.experiences .section-note{color:#acb5a8}.experience-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center}.experience-visual{height:540px;position:relative;overflow:hidden}.experience-visual img{transition:opacity .2s}.experience-caption{position:absolute;left:25px;bottom:25px;background:#f6f7f2;color:var(--ink);padding:12px 14px;font-size:8px;letter-spacing:1px}.experience-option{border-bottom:1px solid #ffffff28}.experience-option>button{background:none;border:0;color:inherit;display:flex;align-items:center;text-align:left;width:100%;padding:26px 0;gap:17px}.option-number{font-size:9px;color:#a0aa98;margin-right:5px}.experience-option>button>span:nth-child(2){font-family:'Instrument Serif',Georgia,serif;font-size:36px;flex:1}.experience-option>button>svg{width:25px;height:25px;transition:transform .3s}.experience-option.active>button{color:var(--lime)}.experience-option.active>button>svg{transform:rotate(90deg)}.experience-description{padding:0 0 27px 39px;animation:rise-in .4s ease-out}.experience-description p{color:#b8bfb3;font-size:13px;line-height:1.9;margin:0 0 8px;max-width:340px}.experience-description .text-link{font-size:11px;color:var(--lime)}.explore-link{display:flex;align-items:center;gap:10px;font-size:10px;margin-top:30px;color:#c7cebf}.explore-link svg{width:15px}.explore-link svg:last-child{margin-left:auto}
.gallery{overflow:hidden;padding-bottom:100px}.gallery h2{max-width:700px}.gallery-controls{display:flex;gap:10px}.gallery-controls button:disabled{opacity:.3;cursor:default}.gallery-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#879578 transparent;padding-bottom:22px}.gallery-grid .photo-button{flex:0 0 43%;height:410px;scroll-snap-align:start}.gallery-grid .photo-button:nth-child(even){margin-top:65px;height:345px}.gallery-label{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:20px 23px;color:white;background:linear-gradient(transparent,#0009);font-size:12px;text-align:left}.gallery-label svg{width:18px}.contact{display:grid;grid-template-columns:1.6fr 1fr;gap:12%;align-items:end;background:var(--lime);padding-top:100px;padding-bottom:100px}.contact h2{font-size:94px;margin-bottom:35px}.contact h2 em{color:inherit}.contact-details{padding-bottom:7px}.contact-details .asterisk{color:var(--ink);font-size:85px;margin-bottom:30px}.contact-details p{font-size:14px;line-height:1.8;margin:20px 0}.contact-details>a{display:table;font-size:14px}.contact-details .text-link{display:flex;max-width:175px;font-size:11px;margin-top:15px}footer{background:#242e27;color:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:30px;padding:50px 7%}footer>span{font-family:'Instrument Serif',Georgia,serif;font-size:24px;font-style:italic;color:#c4ccba}footer>div{text-align:right;font-size:10px;display:grid;gap:12px}footer>div a{display:flex;align-items:center;justify-content:end;gap:8px}footer svg{width:12px;height:12px}
.whatsapp{position:fixed;bottom:24px;right:22px;z-index:15;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#228b50;color:white;border:3px solid white;box-shadow:0 4px 22px #0002;transition:transform .25s}.whatsapp>svg{width:28px;height:28px}.whatsapp:hover{transform:translateY(-4px)}.whatsapp>span{position:absolute;right:65px;background:var(--paper);color:var(--ink);white-space:nowrap;padding:10px 15px;box-shadow:0 3px 15px #0001;opacity:0;pointer-events:none;transition:opacity .2s;font-size:11px}.whatsapp:hover>span,.whatsapp:focus-visible>span{opacity:1}dialog{border:0;padding:42px;color:var(--ink);max-width:520px;width:calc(100% - 32px);background:var(--paper);max-height:90svh}dialog::backdrop{background:#17241cdd;backdrop-filter:blur(8px)}dialog[open]{animation:rise-in .25s ease-out}dialog .close-dialog{position:absolute;right:10px;top:10px;border:0;z-index:2}dialog h2{font-size:43px;margin-top:25px}dialog p{font-size:13px;line-height:1.85;color:var(--muted)}dialog .button{width:100%;margin-top:15px}.call-alternative{display:block;text-align:center;margin-top:22px;font-size:11px}body:has(dialog[open]){overflow:hidden}#lightbox{max-width:1050px;padding:0;background:#242e27;color:white}#lightbox>img{height:auto;max-height:75svh;object-fit:contain}#lightbox .close-dialog{background:#242e27;color:white}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 20px}.lightbox-bottom p{color:white;margin:0;text-align:center}.lightbox-bottom button{border:0;flex-shrink:0}.skip{position:absolute;top:-70px;left:10px;z-index:30;background:var(--paper);padding:15px}.skip:focus{top:10px}.motion-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity .9s,transform .9s}.motion-ready .reveal.visible{opacity:1;transform:none}.hero-title-wrap{animation:title-enter 1.2s cubic-bezier(.2,.7,.2,1) both}.hero-aside{animation:rise-in 1s .3s both}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--lime);transform:scaleX(0);transform-origin:left;z-index:25;pointer-events:none}
@keyframes title-enter{from{opacity:0;transform:translateY(45px);clip-path:inset(100% 0 0 0)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes rise-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-enter{from{transform:scale(1.05)}to{transform:scale(1)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(min-width:1600px){.hero h1{font-size:180px}.hero-content{bottom:120px}.hero-aside{padding-right:40px}.section{padding-left:max(7%,calc((100% - 1400px)/2));padding-right:max(7%,calc((100% - 1400px)/2))}}
@media(max-width:1100px){header{gap:18px}nav{gap:18px;font-size:11px}header .brand{font-size:19px}.header-book{gap:15px}.hero h1{font-size:116px}.hero-aside p{font-size:16px}.circle-link{width:110px;height:110px}.booking{grid-template-columns:1fr 1fr .65fr 1.1fr;gap:18px}.booking-intro{display:none}.booking label:first-of-type{border-left:0;padding-left:0}.section{padding:85px 6%}.intro{grid-template-columns:1fr 3fr;gap:20px}.intro h2{font-size:62px}.intro-bottom{gap:25px}.intro-photo{height:220px}.intro-label .eyebrow{font-size:8px}.amenities{margin:0 6%}.amenities span{font-size:10px;gap:8px}h2{font-size:60px}.room-description h3{font-size:38px}.experience-layout{gap:5%}.experience-visual{height:470px}.experience-option>button>span:nth-child(2){font-size:30px}.gallery-grid .photo-button{height:360px}.gallery-grid .photo-button:nth-child(even){height:295px}.contact h2{font-size:78px}footer>span{font-size:20px}}
@media(max-width:760px){header{height:85px;padding:0 6%;gap:15px}header .brand{font-size:20px}.brand-mark{font-size:51px;width:34px}.brand-mark span{left:19px;font-size:35px}.brand{gap:10px}.brand small{font-size:7px;letter-spacing:1.5px}.header-book{margin-left:auto;font-size:10px;padding:10px 13px;gap:10px;min-height:39px;white-space:nowrap}.header-book span{font-size:19px}.menu{display:grid;border:0;width:30px;padding:4px;border-radius:0;flex-shrink:0}nav{display:none;position:absolute;top:85px;left:0;right:0;background:#242e27;padding:25px 6% 35px;flex-direction:column;gap:7px;border-bottom:1px solid #ffffff30}nav.open{display:flex;animation:rise-in .25s}nav a{font-size:22px;font-family:'Instrument Serif',Georgia,serif}.hero{height:calc(100svh - 95px);min-height:610px;max-height:850px}.hero-image{object-position:53% center}.hero-shade{background:linear-gradient(180deg,#17201e60,transparent 30%,#17201e85)}.hero-topline{top:115px;left:6%;right:6%}.hero-coordinate{font-size:9px}.hero-topline .eyebrow{font-size:7px;letter-spacing:1px}.hero-content{left:6%;right:6%;bottom:100px;display:block}.hero h1{font-size:85px;line-height:.95}.hero h1>span{white-space:normal;max-width:300px}.hero h1>em{margin-top:0}.hero-title-wrap>.eyebrow{font-size:8px;margin-bottom:19px}.hero-aside{position:absolute;bottom:5px;right:0;gap:14px;padding:0;align-items:center}.hero-aside p{font-size:12px;line-height:1.5}.hero-aside p em{font-size:22px}.circle-link{width:90px;height:90px;font-size:10px;gap:9px}.circle-link svg{width:19px}.hero-bottom{left:6%;right:6%;bottom:23px;padding-top:17px}.hero-bottom>a{gap:8px;font-size:6px;letter-spacing:1px}.slide-controls{gap:6px}.slide-controls>span{font-size:9px;margin-right:3px}.slide-controls .icon-button{width:31px;height:31px;padding:7px}.slide-controls b{margin-left:4px}.booking{padding:28px 6%;grid-template-columns:1fr 1fr;gap:24px 20px}.booking label{padding-left:0;border:0}.booking label:nth-of-type(2){padding-left:15px;border-left:1px solid var(--line)}.booking .button{font-size:11px;padding:13px 10px;gap:8px;min-height:48px;white-space:normal}.booking .button svg{width:15px}.booking input,.booking select{font-size:12px}.section{padding:65px 6%}.intro{grid-template-columns:1fr;gap:28px}.intro-label{flex-direction:row;justify-content:space-between;align-items:center;padding:0;gap:15px}.intro-label .asterisk{font-size:40px}.intro h2{font-size:48px}.intro-bottom{grid-template-columns:1fr;gap:25px;margin-top:30px}.intro-photo{height:220px;width:76%}.intro-copy{margin-left:15%}.intro-copy p{font-size:13px}.amenities{grid-template-columns:1fr 1fr;gap:24px 12px;padding:25px 0}.amenities span{border:0;justify-content:start;font-size:9px}.amenities svg{width:18px}.section-heading{margin-bottom:30px;gap:15px}.section-heading>p,.section-note{display:none}h2{font-size:49px}.stay-layout{grid-template-columns:1fr;gap:14px}.room-photo{aspect-ratio:1.1}.room-description{padding:22px 0 0}.room-description h3{font-size:40px}.room-description p{font-size:13px}.room-features{padding:20px 0}.marquee{padding:19px 0}.marquee>div{gap:28px}.marquee span{font-size:16px}.marquee span:nth-child(even){font-size:27px}.experiences .section-heading h2{max-width:300px}.experience-layout{grid-template-columns:1fr;gap:25px}.experience-visual{height:340px}.experience-caption{font-size:7px;left:17px;bottom:17px;padding:10px}.experience-option>button{padding:22px 0}.experience-option>button>span:nth-child(2){font-size:32px}.experience-description{padding-left:35px}.experience-description p{font-size:12px}.explore-link{font-size:9px}.gallery .section-heading{align-items:end}.gallery h2{font-size:45px;max-width:240px}.gallery-controls{gap:5px}.gallery-controls .icon-button{width:32px;height:32px;padding:7px}.gallery-controls svg{width:15px;height:15px}.gallery-grid{gap:16px;margin-right:-6.8%;padding-right:6%}.gallery-grid .photo-button{flex-basis:82%;height:330px}.gallery-grid .photo-button:nth-child(even){margin-top:40px;height:290px}.gallery-label{padding:18px;font-size:11px}.contact{grid-template-columns:1fr;gap:50px}.contact h2{font-size:66px}.contact .eyebrow{font-size:8px}.contact-details{border-top:1px solid #20271f40;padding-top:30px;position:relative}.contact-details .asterisk{position:absolute;right:5px;top:30px;font-size:65px}.contact-details p{font-size:13px}.contact-details>a{font-size:13px}footer{padding:40px 6% 95px;flex-wrap:wrap;gap:30px}footer>.brand{font-size:21px}footer>span{font-size:18px}footer>div{display:flex;width:100%;justify-content:space-between;text-align:left;font-size:9px}.whatsapp{bottom:18px;right:13px;width:49px;height:49px}.whatsapp>svg{width:25px;height:25px}dialog{padding:38px 25px}dialog h2{font-size:38px}.lightbox-bottom{padding:12px}.lightbox-bottom p{font-size:11px}}
@media(max-width:370px){header{gap:9px}header .brand{font-size:17px}.header-book{padding:9px;font-size:9px;gap:7px}.brand small{font-size:6px}.hero h1{font-size:76px}.hero-aside{right:0}.circle-link{width:80px;height:80px}.hero-aside p{font-size:11px}.intro h2{font-size:41px}.gallery h2{font-size:39px}.contact h2{font-size:58px}.hero-bottom>a{font-size:5px}}
.booking{padding-right:max(90px,6%)}
.marquee:hover>div{animation-play-state:paused}
@media(max-width:760px){.booking{padding-right:76px;column-gap:16px}.booking .button{font-size:10px}.booking input{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.hero-image{will-change:auto}.marquee>div{transform:none}}
