@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--green:#172e2b;--deep:#102421;--cream:#f7f5ef;--gold:#c5a572;--ink:#25352f;--muted:#72766d;--line:#dcded3;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.75 var(--sans)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #b7883f;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}h2{font-size:clamp(42px,4.6vw,70px);letter-spacing:-2px}em{font-weight:400;color:#95805c}button{border:0}small{font-size:11px}.section{max-width:1360px;padding:100px 70px;margin:auto}.eyebrow{font:500 10px/1.6 var(--sans);letter-spacing:2.3px;margin-bottom:22px;color:#7d806f}.eyebrow.light{color:#e4d9bf}.little-line{display:block;width:42px;height:1px;background:var(--gold);margin-bottom:25px}.text-link{display:inline-flex;align-items:center;gap:40px;font-size:12px;font-weight:500;padding:12px 0;border-bottom:1px solid #abb1a3;background:none}.text-link span{font-size:22px}.text-link.light{color:white;border-color:#63716a}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:19px 28px;font-size:12px;font-weight:600;letter-spacing:.2px;transition:background .25s,transform .25s}.button span{font-size:21px;line-height:1}.gold{background:var(--gold);color:var(--deep)}.gold:hover{background:#dcc398}.outline{border:1px solid #a0aa9b;background:transparent}.outline:hover{background:#e8ebdf}.skip{position:fixed;top:-100px;left:20px;background:white;color:black;z-index:100;padding:10px}.skip:focus{top:10px}.header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:26px 4.5%;color:#fff;border-bottom:1px solid #ffffff2b;gap:28px}.header.scrolled{position:fixed;background:var(--green);padding-top:15px;padding-bottom:15px;box-shadow:0 3px 25px #0001}.brand{display:flex;align-items:center;gap:14px;font:17px/1.2 var(--serif);letter-spacing:1.9px;white-space:nowrap}.brand small{display:block;font:7px/1.5 var(--sans);letter-spacing:1.6px;margin-top:7px}.brand-seal{width:45px;height:53px;display:inline-flex;justify-content:center;align-items:center;border:1px solid #bfa57a;border-radius:23px 23px 3px 3px;color:#d3b381;font:23px/1 var(--serif);letter-spacing:-4px;padding-right:4px;flex-shrink:0}.header nav{display:flex;gap:28px;font-size:11px}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;bottom:-6px;left:0;width:0;height:1px;background:var(--gold);transition:width .25s}.header nav a:hover:after{width:100%}.header-book{border:1px solid #ffffff65;padding:12px 20px;font-size:11px;display:flex;gap:24px;align-items:center}.header-book:hover{background:#ffffff18}.header-book span{font-size:19px}.menu-button{display:none}.hero{height:min(880px,95svh);min-height:710px;position:relative;color:white;background:#29453d}.hero-image{position:absolute;inset:0;object-position:center 48%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#102622b3 0%,#112a263b 65%),linear-gradient(0deg,#142923a6 0%,transparent 40%,#1228203d)}.hero-content{position:relative;padding:215px 8% 100px;max-width:1100px}.hero-content .eyebrow{display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:3px}.hero-content .eyebrow span{width:30px;height:1px;background:var(--gold)}h1{font-size:clamp(64px,6.7vw,104px);letter-spacing:-3px;line-height:1.08}h1 em{color:#ebd5ad}.hero-content>p:not(.eyebrow){font-size:14px;color:#eeeade;line-height:1.85;margin-top:28px}.hero-link{display:inline-flex;align-items:center;gap:40px;font-size:11px;margin-top:33px}.hero-link span{border:1px solid #ffffff65;border-radius:50%;width:34px;height:34px;text-align:center;line-height:32px}.hero-note{position:absolute;right:5%;bottom:115px;display:flex;align-items:flex-end;gap:18px;writing-mode:vertical-rl;font-size:9px;letter-spacing:1.5px}.hero-note span+span{color:#fff9;letter-spacing:.6px}.reservation-wrap{position:relative;max-width:1220px;margin:-53px auto 0;z-index:5;scroll-margin-top:120px}.reservation{display:grid;grid-template-columns:1.2fr 1fr 1fr .85fr 1.25fr;align-items:center;background:var(--cream);min-height:108px;box-shadow:0 18px 35px #122c2410;padding:24px 30px}.reservation-title{padding-right:20px}.reservation-title .eyebrow{font-size:8px;letter-spacing:1.6px;margin:0 0 6px}.reservation h2{font-size:25px;letter-spacing:-.5px}.reservation label{padding:0 23px;border-left:1px solid var(--line);font-size:9px;letter-spacing:1.6px;color:#767a6f;display:flex;flex-direction:column;gap:9px}.reservation input,.reservation select{border:0;outline-offset:2px;background:transparent;min-width:0;width:100%;color:var(--ink);font:12px var(--sans);letter-spacing:0;min-height:25px;cursor:pointer;color-scheme:light}.reservation .button{font-size:11px;min-height:58px;padding:15px 20px}.booking-caption{text-align:right;font-size:10px;color:#7c7c70;padding:12px 5px}.intro{display:grid;grid-template-columns:1fr 1fr;column-gap:90px;padding-top:83px}.intro h2{font-size:64px}.intro-copy{padding-top:44px;max-width:460px}.intro-copy p:not(.lead){color:var(--muted);margin:21px 0 20px;font-size:13px;line-height:1.9}.lead{font-family:var(--serif);font-size:23px;line-height:1.5}.benefits{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);margin-top:74px;border-top:1px solid var(--line);padding-top:36px}.benefits>div{border-right:1px solid var(--line);padding:0 26px}.benefits>div:first-child{padding-left:0}.benefits>div:last-child{border:0}.benefit-icon{font-size:30px;color:#948360;display:block;line-height:1.3;margin-bottom:14px}.benefits h3{font-size:18px}.benefits p{font-size:11px;color:var(--muted);margin-top:9px}.stay{background:#e9ece3;max-width:none;padding:90px max(70px,calc((100vw - 1220px)/2)) 100px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;gap:40px}.section-heading>p{font-size:12px;color:var(--muted);margin-bottom:8px;line-height:1.8}.stay-grid{display:grid;grid-template-columns:1.2fr 1fr;min-height:570px}.room-photo{position:relative;overflow:hidden}.room-photo img{object-position:50% 47%;max-height:640px;transition:transform .8s}.room-photo:hover img{transform:scale(1.025)}.image-label{position:absolute;bottom:25px;left:28px;color:white;font-size:9px;letter-spacing:2px;text-shadow:0 1px 8px #000}.photo-open{position:absolute;bottom:20px;right:22px;background:#fff;color:var(--green);width:43px;height:43px;font-size:22px}.room-detail{background:var(--cream);padding:54px 60px}.room-index{font-size:9px;letter-spacing:2px;color:#8a8975}.room-detail h3{font-size:43px;margin:28px 0 22px}.room-detail p{font-size:12px;color:var(--muted);line-height:1.9}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;padding:25px 0;margin:0 0 14px;list-style:none;font-size:10px}.amenities li:before{content:'+';color:#a4895d;margin-right:8px}.room-detail .button{width:100%;padding:16px 20px}.room-detail small{display:block;font-size:9px;line-height:1.6;color:#818273;margin-top:16px}.breakfast{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--cream)}.breakfast-photo{min-height:700px;overflow:hidden}.breakfast-photo img{object-position:58%;max-height:800px}.breakfast-copy{padding:95px 12% 80px}.breakfast h2{font-size:clamp(45px,4.5vw,68px)}.breakfast em{color:#ccb185}.breakfast-copy>p:not(.eyebrow){color:#c1cac0;font-size:12px;margin-top:29px;line-height:1.95;max-width:350px}.breakfast-tags{display:flex;flex-wrap:wrap;gap:8px 19px;margin:28px 0 18px;font-size:9px;color:#d6c4a5}.breakfast-tags span:before{content:'·';margin-right:10px}.destination{padding-bottom:60px}.destination-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;grid-template-rows:240px 240px}.destination-card{position:relative;overflow:hidden;background:var(--green);padding:0;text-align:left;color:#fff}.destination-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,#0b2522b3)}.destination-card.tall{grid-row:span 2}.destination-card img{transition:transform .7s}.destination-card:hover img{transform:scale(1.045)}.destination-card>span{position:absolute;left:30px;right:30px;bottom:25px;z-index:1}.destination-card small{display:block;font-size:8px;letter-spacing:1.8px;margin-bottom:12px}.destination-card strong{font-family:var(--serif);font-size:26px;font-weight:400}.destination-card i{float:right;font-style:normal;font-size:26px}.gallery-strip{padding-top:40px}.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:34px}.gallery-heading h2{font-size:42px;letter-spacing:-1px}.hotel-gallery{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:20px}.hotel-gallery button{position:relative;height:290px;padding:0;background:var(--green);overflow:hidden}.hotel-gallery img{transition:transform .6s}.hotel-gallery button:hover img{transform:scale(1.04)}.hotel-gallery span{position:absolute;bottom:15px;left:17px;background:#f7f5efe8;color:var(--ink);padding:5px 15px;font-size:10px}.location{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.12fr;gap:65px}.location-copy>p:not(.eyebrow){font-size:12px;color:var(--muted);margin:24px 0;max-width:350px}.location address{font-size:12px;font-style:normal;margin-bottom:20px}.distances{display:flex;margin-top:32px;margin-bottom:12px;gap:28px}.distances div{display:flex;flex-direction:column}.distances strong{font:24px var(--serif)}.distances span{font-size:9px;color:var(--muted);margin-top:9px}.location-copy>small{font-size:8px;color:#868a7c}.map{position:relative;min-height:530px;background:#e2e5da}.map iframe{width:100%;height:100%;border:0;min-height:530px;filter:grayscale(.65)}.map-caption{position:absolute;bottom:22px;left:22px;right:22px;display:flex;align-items:center;gap:18px;background:var(--cream);padding:20px;font-family:var(--serif);font-size:21px;box-shadow:0 5px 20px #0001}.map-caption small{display:block;font:7px var(--sans);letter-spacing:1.5px;margin-top:8px}.map-caption .brand-seal{color:#9f8258}.closing{padding:85px 20px 78px;text-align:center;background:var(--green);color:var(--cream);border-bottom:1px solid #ffffff20;background-image:radial-gradient(ellipse at 50% 100%,#3b5149 0%,transparent 65%)}.closing h2{font-size:clamp(50px,6vw,86px);margin-bottom:32px}.closing em{color:#d0b788}.closing>p:last-child{font-size:10px;color:#c4cbbd;margin-top:21px}footer{background:var(--deep);color:#eae9df;padding:60px max(5%,calc((100vw - 1220px)/2)) 20px}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;padding-bottom:50px}.footer-top>p{font-size:11px;color:#a3b0a6}.footer-top .eyebrow{font-size:8px;margin-bottom:13px}.phone{display:block;font:27px var(--serif)}.footer-whatsapp{font-size:10px;color:#c5b391;display:block;margin-top:15px}.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #ffffff20;padding-top:20px;font-size:9px;color:#9ca99d}.footer-bottom button{background:none;font-size:9px;color:inherit;padding:0}.floating-contact{position:fixed;bottom:23px;right:25px;background:var(--green);color:#eee5ce;width:51px;height:51px;border:1px solid #c6b48988;border-radius:50%;display:grid;place-items:center;box-shadow:0 3px 20px #0002;z-index:15}.floating-contact svg{width:27px;height:27px}dialog{border:0;background:var(--cream);color:var(--ink);width:min(580px,calc(100% - 32px));max-height:90svh;padding:50px;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#071c1bd9;backdrop-filter:blur(6px)}dialog h2{font-size:45px;letter-spacing:-1px}dialog p:not(.eyebrow){font-size:13px;color:var(--muted);margin:22px 0}.dialog-close{position:absolute;top:10px;right:15px;background:none;color:inherit;font:30px var(--sans);width:36px;height:36px}.booking-summary{border-block:1px solid var(--line);padding:20px 0;margin-top:26px;font-size:12px}.booking-summary+.button{margin-top:20px}#booking-action{width:100%}#booking-disclaimer{display:block;color:var(--muted);font-size:10px;line-height:1.7;margin-top:15px}.edit-dates{background:none;font-size:11px;text-decoration:underline;display:block;margin:18px auto 0}.gallery-dialog{width:min(1100px,calc(100% - 32px));padding:40px 25px 10px;background:var(--deep);color:#fff}.gallery-dialog>img{height:min(70svh,750px);object-fit:contain}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:15px}.gallery-controls button{background:none;color:white;font-size:26px;padding:8px 16px}.gallery-controls p{font-size:11px!important;color:#dbdfd5!important;text-align:center}#video-slot video{width:100%;margin-top:32px;max-height:600px;background:var(--deep)}body:has(dialog[open]){overflow:hidden}
@media(min-width:1550px){.hero-content{padding-top:230px}.hero{height:880px}.hero-note{bottom:130px}}
@media(max-width:1150px){.header nav{gap:18px}.header{gap:18px}.brand{font-size:14px}.header-book{padding:11px 13px}.section{padding:80px 45px}.reservation-wrap{margin-left:35px;margin-right:35px}.reservation{padding:22px 20px;grid-template-columns:1.05fr 1fr 1fr .8fr 1.1fr}.reservation label{padding:0 12px}.reservation .button{padding:15px 13px;font-size:10px;gap:10px}.reservation-title .eyebrow{font-size:7px}.reservation h2{font-size:22px}.intro{gap:55px}.room-detail{padding:40px 35px}.breakfast-copy{padding:75px 10%}.breakfast-photo{min-height:600px}.location{gap:40px}.distances{gap:18px}}
@media(max-width:900px){.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--green);padding:25px 7%;flex-direction:column;font-size:16px;gap:24px;border-top:1px solid #ffffff25}.header nav.open{display:flex}.menu-button{display:flex;background:none;flex-direction:column;gap:6px;padding:12px 0 12px 12px}.menu-button span{display:block;background:white;width:24px;height:1px}.header-book{margin-left:auto}.reservation{grid-template-columns:1fr 1fr 1fr;gap:20px}.reservation-title{grid-column:1/-1;display:flex;align-items:center;gap:16px}.reservation-title .eyebrow{font-size:9px;margin:0}.reservation label{padding-left:0;border:0}.reservation>.button{grid-column:1/-1;justify-content:center;min-height:45px}.reservation-wrap{margin-top:-45px}.hero{min-height:710px}.hero-content{padding:200px 7% 150px}.hero-note{display:none}.intro h2{font-size:52px}.benefits{gap:10px;margin-top:40px}.benefits>div{padding:0 10px}.benefits h3{font-size:16px}.stay-grid{grid-template-columns:1fr 1fr;min-height:0}.room-detail h3{font-size:34px}.room-detail{padding:34px 28px}.amenities{grid-template-columns:1fr;font-size:10px;gap:8px}.breakfast-photo{min-height:530px}.breakfast-copy{padding:55px 9%}.breakfast h2{font-size:42px}.gallery-heading h2{font-size:32px}.hotel-gallery button{height:240px}.location{grid-template-columns:1fr;gap:40px}.location-copy{display:block}.map,.map iframe{min-height:420px}.footer-top{flex-wrap:wrap}.section-heading h2{font-size:49px}}
@media(max-width:600px){html{scroll-padding-top:90px}.header{padding:19px 6%;gap:15px}.brand{font-size:13px;letter-spacing:1.2px;gap:10px}.brand small{font-size:6px;letter-spacing:1px}.brand-seal{width:35px;height:44px;font-size:20px}.header-book{font-size:9px;padding:8px 10px;gap:12px}.header-book span{display:none}.header-book{max-width:95px;line-height:1.5}.header.scrolled{padding:12px 6%}.hero{min-height:650px;height:86svh;max-height:800px}.hero-content{padding:182px 7% 95px}.hero-content .eyebrow{font-size:7px;letter-spacing:1.6px;gap:10px}.hero-content .eyebrow span{width:18px}h1{font-size:clamp(49px,11.6vw,69px);letter-spacing:-1.7px}.hero-content>p:not(.eyebrow){font-size:12px;margin-top:26px}.hero-link{font-size:10px;margin-top:25px}.hero-image{object-position:40% center}.hero-shade{background:linear-gradient(90deg,#102622b0,#112a2635),linear-gradient(0deg,#142923c0,transparent 70%)}.reservation-wrap{margin:-30px 20px 0}.reservation{padding:25px 20px;gap:22px 14px;grid-template-columns:1fr 1fr}.reservation-title{padding:0;gap:12px}.reservation-title .eyebrow{font-size:7px;letter-spacing:1.2px}.reservation h2{font-size:23px}.reservation label{font-size:8px;letter-spacing:1.2px;gap:10px}.reservation label:nth-of-type(3){grid-column:1/-1;flex-direction:row;align-items:center;gap:22px;padding-top:14px;border-top:1px solid var(--line)}.reservation select{width:auto;flex:1}.reservation .button{font-size:11px;justify-content:space-between;padding:15px 20px}.booking-caption{font-size:8px;text-align:center;padding:12px 10px}.section{padding:65px 26px}.intro{grid-template-columns:1fr;gap:28px;padding-top:48px}.intro h2{font-size:49px}.intro-copy{padding-top:0;max-width:none}.intro-copy .little-line{display:none}.lead{font-size:21px}.intro-copy p:not(.lead){font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:20px}.benefits{grid-template-columns:1fr 1fr;gap:28px 0;margin-top:10px;padding-top:28px}.benefits>div{padding:0 16px}.benefits>div:nth-child(odd){padding-left:0}.benefits>div:nth-child(even){border:0}.benefits h3{font-size:18px}.benefits p{font-size:10px}.benefit-icon{font-size:26px;margin-bottom:9px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:11px}.section-heading h2{font-size:44px;letter-spacing:-1.2px}.stay-grid{grid-template-columns:1fr}.room-photo{height:400px}.room-detail{padding:35px 27px}.room-detail h3{font-size:37px;margin-top:20px}.amenities{grid-template-columns:1fr 1fr;gap:12px}.image-label{font-size:8px;left:20px}.breakfast{grid-template-columns:1fr}.breakfast-photo{height:340px;min-height:0}.breakfast-copy{padding:49px 30px 55px}.breakfast h2{font-size:46px;letter-spacing:-1px}.breakfast-copy>p:not(.eyebrow){max-width:none}.breakfast-tags{font-size:8px;gap:12px}.destination-grid{grid-template-columns:1fr;grid-template-rows:420px 245px 245px;gap:16px}.destination-card.tall{grid-row:auto}.destination-card strong{font-size:26px}.destination-card>span{left:23px;right:23px;bottom:22px}.destination{padding-bottom:20px}.gallery-heading{display:block;margin-bottom:27px}.gallery-heading h2{font-size:34px;line-height:1.25}.gallery-heading .text-link{margin-top:12px}.hotel-gallery{grid-template-columns:1fr 1fr;gap:12px}.hotel-gallery button{height:215px}.hotel-gallery button:first-child{grid-column:1/-1;height:245px}.hotel-gallery span{font-size:8px;padding:4px 10px;left:10px;bottom:10px}.location h2{font-size:47px}.distances{justify-content:space-between;gap:10px}.distances strong{font-size:26px}.map,.map iframe{min-height:350px}.map-caption{left:14px;right:14px;bottom:14px;padding:17px 13px;gap:12px;font-size:18px}.map-caption small{font-size:6px}.closing{padding:65px 20px 55px}.closing h2{font-size:50px;letter-spacing:-1.5px}.closing .eyebrow{font-size:7px}footer{padding:45px 26px 22px}.footer-top{gap:30px;display:grid;grid-template-columns:1fr;padding-bottom:35px}.footer-top>p{display:none}.footer-top .brand{font-size:17px}.footer-bottom{font-size:8px;flex-wrap:wrap;gap:16px}.floating-contact{width:45px;height:45px;right:17px;bottom:17px}dialog{padding:43px 25px 25px}dialog h2{font-size:37px}.booking-summary{font-size:11px}.gallery-dialog{padding:45px 12px 5px}.gallery-dialog>img{height:60svh}.gallery-controls p{font-size:9px!important}.gallery-controls button{padding:8px}.gallery-controls{gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
