:root{--pine:#0c332b;--pine2:#092820;--gold:#d7a35f;--cream:#f5f0e7;--paper:#fcfaf5;--ink:#15241f;--muted:#68746f;--line:rgba(21,36,31,.15);--display:'Gilda Display',serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);overflow-x:hidden}body.dialog-open{overflow:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{width:min(1320px,calc(100% - 9vw));margin-inline:auto}.site-header{height:98px;padding:0 clamp(24px,5vw,84px);display:flex;align-items:center;gap:40px;position:absolute;inset:0 0 auto;z-index:20;color:#fff}.brand{display:flex;align-items:center;gap:12px;margin-right:auto;white-space:nowrap}.brand img{width:52px;height:52px;object-fit:contain}.brand span{font:25px/1 var(--display);letter-spacing:.02em}.brand b{font-weight:400;color:#ecc98f}.site-header nav{display:flex;gap:30px;font-size:14px;font-weight:600}.site-header nav a{position:relative;padding:8px 0}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--gold);transition:.3s}.site-header nav a:hover:after{right:0}.header-cta{display:flex;align-items:center;gap:17px;border:1px solid rgba(255,255,255,.45);padding:11px 12px 11px 20px;border-radius:999px;font-size:14px;font-weight:700}.header-cta span{width:31px;height:31px;display:grid;place-items:center;background:#fff;color:var(--pine);border-radius:50%}.nav-toggle{display:none;border:0;background:transparent;width:42px;height:42px}.nav-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:7px auto}.hero{height:min(900px,96vh);min-height:720px;background:var(--pine);color:#fff;position:relative;overflow:hidden;border-radius:0 0 52% 8% / 0 0 17% 5%}.hero-media,.hero-media img,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-fit:cover;object-position:center 48%;animation:heroZoom 14s ease-out both}.hero-overlay{background:linear-gradient(90deg,rgba(4,28,23,.9) 0%,rgba(4,28,23,.48) 48%,rgba(4,28,23,.16) 78%),linear-gradient(0deg,rgba(4,28,23,.46),transparent 48%)}@keyframes heroZoom{from{transform:scale(1.07)}to{transform:scale(1)}}.hero-copy{position:absolute;left:clamp(25px,9vw,150px);top:49%;transform:translateY(-50%);max-width:900px;z-index:2}.kicker{text-transform:uppercase;letter-spacing:.21em;color:#a66f37;font-size:12px;font-weight:700;margin:0 0 20px}.kicker-light{color:#edc887}.hero h1{font:400 clamp(66px,8.8vw,142px)/.83 var(--display);letter-spacing:-.055em;margin:0}.hero h1 em,.journey h2 em{font-weight:400;color:#edc887}.hero-lead{max-width:545px;font-size:18px;color:rgba(255,255,255,.8);margin:32px 0}.circle-link{display:flex;align-items:center;gap:14px;width:max-content;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}.circle-link b{width:58px;height:58px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;font-size:20px;transition:.3s}.circle-link:hover b{background:#fff;color:var(--pine);transform:translateY(4px)}.hero-stamp{position:absolute;right:6vw;bottom:11%;z-index:2;width:150px;height:150px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:7px;transform:rotate(6deg);background:rgba(9,40,32,.25);backdrop-filter:blur(7px)}.hero-stamp strong{font:58px/1 var(--display);color:#f1cf99}.hero-stamp span{font-size:10px;line-height:1.35;text-transform:uppercase;letter-spacing:.11em}.booking{width:min(1210px,calc(100% - 7vw));margin:-68px auto 0;position:relative;z-index:5;background:#fff;border-radius:36px 36px 36px 8px;box-shadow:0 28px 80px rgba(10,49,41,.18);padding:28px 32px}.booking-intro{display:flex;align-items:baseline;gap:20px;margin-bottom:18px}.booking-intro span{color:#a66f37;font-size:11px;text-transform:uppercase;letter-spacing:.17em;font-weight:700}.booking-intro h2{font:26px/1.2 var(--display);margin:0}.booking-form{display:grid;grid-template-columns:1fr 1px 1fr 1px .8fr auto;gap:22px;align-items:end}.booking-form>i{height:48px;background:var(--line);align-self:end}.booking-form label{display:flex;flex-direction:column;gap:3px}.booking-form label>span,.reserve-form label,.contact-form label>span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#78827d}.booking-form input,.booking-form select{border:0;padding:8px 0 3px;background:transparent;color:var(--ink);font-weight:600;outline:none;min-width:0}.booking-form button,.primary-button{height:60px;border:0;border-radius:999px;background:var(--pine);color:#fff;padding:0 12px 0 25px;display:flex;align-items:center;gap:24px;font-weight:700}.booking-form button b,.primary-button span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:var(--pine)}.availability{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.available-room{border:1px solid var(--line);border-radius:18px;padding:14px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px}.available-room strong,.available-room small{display:block}.available-room small{color:var(--muted)}.available-room button{border:0;background:var(--cream);border-radius:999px;padding:9px 13px;color:var(--pine);font-weight:700}.loading,.empty,.error{grid-column:1/-1;padding:14px 18px;background:var(--cream);border-radius:14px}.error{color:#8b2b2b}.welcome{padding:150px 0 140px;display:grid;grid-template-columns:1.05fr .78fr .58fr;gap:7vw;align-items:center}.welcome h2,.section-heading h2,.journey h2,.stories h2,.location h2,.contact h2,.experience-form-wrap h2{font:400 clamp(50px,5.2vw,82px)/1.02 var(--display);letter-spacing:-.045em;margin:0}.welcome-story>p{color:var(--muted);font-size:17px}.welcome-story>p:first-child{font:26px/1.4 var(--display);color:var(--ink)}.mini-facts{display:flex;gap:25px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}.mini-facts span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.mini-facts b{display:block;font:28px/1 var(--display);color:var(--pine);text-transform:none;margin-bottom:7px}.welcome-portrait{position:relative}.welcome-portrait img{height:480px;object-fit:cover;border-radius:120px 120px 12px 12px;filter:saturate(.75)}.welcome-portrait span{position:absolute;right:-30px;bottom:30px;width:115px;height:115px;border-radius:50%;background:var(--gold);display:grid;place-items:center;text-align:center;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:700;transform:rotate(7deg)}.rooms{position:relative;background:var(--pine);color:#fff;padding:140px 0 150px;overflow:hidden;clip-path:ellipse(110% 100% at 50% 100%)}.rooms:before{content:"";position:absolute;width:670px;height:670px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-170px;top:-190px}.rooms-orbit{position:absolute;right:-70px;top:70px;width:255px;height:255px;border-radius:50%;display:grid;place-items:center;color:rgba(255,255,255,.12);font-size:11px;letter-spacing:.33em;transform:rotate(70deg)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:65px}.section-heading>p{max-width:420px;color:rgba(255,255,255,.68);font-size:17px}.room-showcase{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.room-stack{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-top:80px}.room-card{height:520px;position:relative;overflow:hidden;border-radius:150px 150px 18px 18px}.room-featured{height:720px;border-radius:18px 180px 18px 18px}.room-card>img,.room-gradient{position:absolute;inset:0;width:100%;height:100%}.room-card>img{object-fit:cover;transition:transform .8s;filter:saturate(.78)}.room-card:hover>img{transform:scale(1.045)}.room-gradient{background:linear-gradient(0deg,rgba(4,29,23,.9),transparent 64%)}.room-index{position:absolute;right:28px;top:28px;width:48px;height:48px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;font:17px var(--display)}.room-info{position:absolute;z-index:2;left:32px;right:32px;bottom:30px}.room-info p{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#e9c78e}.room-info h3{font:400 35px/1.02 var(--display);margin:5px 0 18px}.room-featured .room-info h3{font-size:53px}.room-info button{border:0;background:transparent;color:#fff;padding:0;font-weight:700;font-size:12px;border-bottom:1px solid rgba(255,255,255,.65)}.room-info button span{margin-left:7px}.other-rooms{margin-top:28px;display:flex;align-items:center;gap:13px}.other-rooms>span{margin-right:auto;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.15em;font-size:11px}.other-rooms button{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:13px 15px 13px 20px}.other-rooms b{margin-left:20px}.journey{padding:150px 0;display:grid;grid-template-columns:.78fr 1.22fr;gap:9vw;align-items:center}.journey-copy>p:not(.kicker){color:var(--muted);max-width:480px;font-size:17px}.journey-copy>a,.stories-top>a,.location-copy>a{display:inline-flex;gap:30px;border-bottom:1px solid var(--ink);padding-bottom:6px;font-weight:700;margin-top:20px}.journey-path{display:grid;grid-template-columns:repeat(3,1fr);position:relative}.journey-path:before{content:"";position:absolute;left:8%;right:8%;top:60px;border-top:1px dashed #9a9f99}.journey-path>div{position:relative;text-align:center}.journey-path>div:before{content:"";position:absolute;width:11px;height:11px;background:var(--gold);border:7px solid var(--paper);border-radius:50%;top:49px;left:calc(50% - 12px);z-index:2}.journey-path strong{font:67px/1 var(--display);color:var(--pine)}.journey-path span{display:block;color:#a66f37;font-size:10px;text-transform:uppercase;letter-spacing:.15em}.journey-path p{margin-top:48px;font-weight:600}.stories{background:var(--cream);padding:130px 0}.stories-top{display:flex;justify-content:space-between;align-items:end;gap:40px}.stories-top>a{margin:0}.quotes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:65px;min-height:290px}.quote{background:#fff;padding:31px;border-radius:80px 12px 12px 12px;box-shadow:0 18px 50px rgba(31,55,47,.07)}.quote:nth-child(even){transform:translateY(28px);border-radius:12px 12px 80px 12px}.stars{color:#c98942;letter-spacing:.15em}.quote blockquote{font:21px/1.5 var(--display);margin:19px 0 25px}.quote cite{font-style:normal;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.slider-controls{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:55px}.slider-controls button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:transparent}.slider-controls span{font-size:11px;color:var(--muted)}.location{padding:150px 0;display:grid;grid-template-columns:1.18fr .82fr;gap:9vw;align-items:center}.map-wrap{position:relative}.map-wrap iframe{width:100%;height:600px;border:0;border-radius:220px 18px 18px 18px;filter:saturate(.65) contrast(.95)}.map-pin{position:absolute;right:-46px;top:45%;width:115px;height:115px;border-radius:50%;background:var(--gold);display:grid;place-items:center;text-align:center;font:17px/1.15 var(--display);box-shadow:0 16px 45px rgba(35,50,43,.2)}.location-copy p:not(.kicker){color:var(--muted);font-size:18px}.contact{position:relative;background:var(--pine2);color:#fff;padding:130px 0 110px;overflow:hidden;border-radius:48% 48% 0 0 / 11% 11% 0 0}.contact-bg{position:absolute;right:-20px;bottom:-170px;font:400 360px/1 var(--display);color:rgba(255,255,255,.025)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;position:relative}.contact-copy>p:not(.kicker){color:rgba(255,255,255,.65);font-size:17px;max-width:470px}.contact-copy>div{display:flex;flex-direction:column;margin-top:34px;font:20px/1.8 var(--display);color:#edc887}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form label{display:flex;flex-direction:column;gap:5px}.contact-form label>span{color:rgba(255,255,255,.5)}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;padding:9px 0;outline:none;border-radius:0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold)}.contact-form .full,.contact-form button,.contact-form .form-status{grid-column:1/-1}.contact-form button{justify-self:start;border:0;border-radius:999px;background:var(--gold);color:var(--pine);padding:15px 18px 15px 24px;font-weight:800}.contact-form button span{margin-left:26px}footer{min-height:100px;background:var(--pine2);border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.55);display:flex;align-items:center;gap:40px;padding:25px clamp(25px,6vw,100px);font-size:12px}footer .brand img{width:38px;height:38px}footer .brand span{font-size:19px;color:#fff}footer p:last-child{margin-left:auto}.whatsapp{position:fixed;z-index:40;right:24px;bottom:24px;background:#29d36e;color:#07351d;padding:8px 9px 8px 18px;border-radius:999px;display:flex;align-items:center;gap:12px;font-size:12px;font-weight:800;box-shadow:0 14px 38px rgba(0,0,0,.22)}.whatsapp b{width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}dialog{border:0;width:min(610px,calc(100% - 28px));padding:44px;border-radius:14px 70px 14px 14px;box-shadow:0 35px 100px rgba(0,0,0,.35);color:var(--ink)}dialog::backdrop{background:rgba(5,29,23,.78);backdrop-filter:blur(7px)}dialog h2{font:45px/1.1 var(--display);margin:0 0 8px}.dialog-close{position:absolute;right:18px;top:15px;border:0;background:transparent;font-size:28px}.reserve-form{display:grid;gap:15px;margin-top:25px}.reserve-form label{display:flex;flex-direction:column;gap:5px}.reserve-form input,.reserve-form select,.reserve-form textarea{border:1px solid var(--line);border-radius:11px;padding:13px;background:#fff;color:var(--ink);outline:none}.reserve-form input:focus,.reserve-form select:focus,.reserve-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(215,163,95,.16)}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-status{margin:0;font-size:14px}.form-status.success{color:#3c9d67}.form-status.error{color:#d86666}.experience-page{background:var(--cream)}.experience-page .topbar{height:92px;padding:0 5vw;display:flex;align-items:center;background:var(--paper)}.experience-page .text-link{font-weight:700}.experience-shell{min-height:calc(100vh - 92px);display:grid;grid-template-columns:1.05fr .95fr}.experience-cover{position:relative;min-height:720px;color:#fff;border-radius:0 180px 0 0;overflow:hidden}.experience-cover>img,.experience-cover:after{position:absolute;inset:0;width:100%;height:100%}.experience-cover>img{object-fit:cover}.experience-cover:after{content:"";background:linear-gradient(0deg,rgba(5,35,28,.86),rgba(5,35,28,.08))}.experience-cover>div{position:absolute;z-index:2;left:8%;right:10%;bottom:9%}.experience-cover h1{font:400 clamp(58px,6vw,96px)/.9 var(--display);letter-spacing:-.05em;margin:0 0 20px}.experience-form-wrap{padding:9% 10%;background:#fff}.experience-form-wrap h2{font-size:57px}.rating{border:0;padding:0;margin:6px 0}.rating legend{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.rating div{display:flex;flex-direction:row-reverse;justify-content:flex-end}.rating input{position:absolute;opacity:0}.rating label{font-size:37px;color:#d4d5d1;cursor:pointer}.rating label:hover,.rating label:hover~label,.rating input:checked~label{color:var(--gold)}
@media(max-width:1050px){.site-header{height:82px}.site-header nav{display:none;position:absolute;top:82px;left:18px;right:18px;background:var(--paper);color:var(--ink);padding:20px 25px;border-radius:10px 30px 10px 10px;flex-direction:column;gap:4px;box-shadow:0 15px 40px rgba(0,0,0,.16)}.site-header nav.open{display:flex}.nav-toggle{display:block;color:inherit}.header-cta{display:none}.hero{min-height:680px}.booking-form{grid-template-columns:1fr 1px 1fr}.booking-form>i:nth-of-type(2){display:none}.booking-form label:nth-of-type(3),.booking-form button{margin-top:12px}.booking-form button{justify-self:stretch;justify-content:space-between}.welcome{grid-template-columns:1fr 1fr}.welcome-title{grid-column:1/-1}.welcome-portrait{max-width:360px}.room-showcase{grid-template-columns:1fr}.room-stack{padding-top:0}.quotes{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr;gap:70px}.experience-shell{grid-template-columns:1fr}.experience-cover{min-height:570px;border-radius:0 0 100px 0}}
@media(max-width:680px){.shell{width:calc(100% - 40px)}.site-header{padding:0 20px}.brand img{width:44px;height:44px}.brand span{font-size:20px}.hero{height:760px;min-height:680px;border-radius:0 0 42% 4% / 0 0 9% 2%}.hero-copy{left:24px;right:24px;top:46%}.hero h1{font-size:63px}.hero-lead{font-size:16px}.hero-stamp{display:none}.booking{width:calc(100% - 24px);margin-top:-45px;padding:23px 20px;border-radius:26px 26px 26px 7px}.booking-intro{align-items:flex-start;flex-direction:column;gap:3px}.booking-form{grid-template-columns:1fr;gap:12px}.booking-form>i{display:none}.booking-form label{background:var(--cream);padding:8px 12px;border-radius:12px}.booking-form label:nth-of-type(3),.booking-form button{margin-top:0}.availability{grid-template-columns:1fr}.welcome{padding:105px 0 100px;grid-template-columns:1fr;gap:40px}.welcome h2,.section-heading h2,.journey h2,.stories h2,.location h2,.contact h2{font-size:49px}.mini-facts{display:grid;grid-template-columns:1fr 1fr}.welcome-portrait{max-width:85%;margin-left:auto}.welcome-portrait img{height:400px}.rooms{padding:110px 0;clip-path:ellipse(160% 100% at 50% 100%)}.section-heading,.stories-top{align-items:flex-start;flex-direction:column}.room-stack{grid-template-columns:1fr}.room-card,.room-featured{height:510px;border-radius:100px 100px 15px 15px}.room-featured .room-info h3{font-size:43px}.other-rooms{align-items:stretch;flex-direction:column}.other-rooms>span{margin:0 0 5px}.journey{padding:110px 0;grid-template-columns:1fr;gap:75px}.journey-path strong{font-size:49px}.journey-path p{font-size:13px}.stories{padding:100px 0}.quotes{grid-template-columns:1fr}.quote{display:none}.quote:first-child{display:block}.quote:nth-child(even){transform:none}.slider-controls{margin-top:30px}.location{padding:110px 0;grid-template-columns:1fr;gap:65px}.map-wrap iframe{height:470px;border-radius:140px 15px 15px}.map-pin{right:-12px;width:90px;height:90px}.contact{padding:110px 0 85px;border-radius:48% 48% 0 0 / 5% 5% 0 0}.contact-form,.two{grid-template-columns:1fr}.contact-form label,.contact-form .full{grid-column:auto}.contact-bg{font-size:180px;bottom:-60px}footer{align-items:flex-start;flex-direction:column;gap:7px;padding-block:35px}footer p{margin:0}footer p:last-child{margin-left:0}.whatsapp span{display:none}.whatsapp{padding-left:9px}.experience-cover{min-height:490px;border-radius:0 0 70px 0}.experience-form-wrap{padding:70px 24px}.experience-form-wrap h2{font-size:45px}dialog{padding:34px 24px;border-radius:12px 48px 12px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media img{animation:none}.reveal{opacity:1;transform:none;transition:none}}
