:root{--ivory:#f4f1eb;--paper:#fbfaf7;--sand:#cfc0aa;--sand-dark:#b7a58c;--ink:#4e4d46;--soft:#817e73;--line:#d9d0c4;--white:#fff;--wa:#1f9d58;--serif:"Playfair Display",Georgia,serif;--sans:"Libre Franklin",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}body.locked{overflow:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:200;background:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}.header{position:fixed;inset:0 0 auto;z-index:50;height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;background:rgba(244,241,235,.95);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:.25s}.header.scrolled{height:68px;border-color:var(--line)}.brand{width:max-content;display:flex;align-items:center;gap:12px;line-height:1}.brand-number{font-family:var(--serif);font-size:34px;border-right:1px solid var(--ink);padding-right:12px}.brand-name{font-size:10px;line-height:1.25;font-weight:700;letter-spacing:.08em;max-width:48px}.header nav{display:flex;gap:2rem;font-size:12px;font-weight:600}.header nav a{padding:9px 0;position:relative}.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:currentColor;transition:.2s}.header nav a:hover:after{right:0}.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:999px;padding:13px 22px;background:var(--ink);color:#fff;font-size:11px;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px);background:#393a35}.header-book{justify-self:end}.menu-toggle{display:none}.hero{height:100vh;min-height:760px;position:relative;display:flex;align-items:flex-end;color:#fff;background:#827a70;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(35,33,29,.8) 0%,rgba(35,33,29,.43) 48%,rgba(35,33,29,.1) 75%),linear-gradient(0deg,rgba(35,33,29,.65),transparent 45%)}.hero-content{position:relative;z-index:2;padding:0 4vw 12vh;max-width:850px}.kicker{margin:0 0 22px;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.22em;color:var(--soft)}.kicker-light{color:#e8e2d8}.hero h1,.section h2{font-family:var(--serif);font-weight:600;line-height:.98;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(4.3rem,7.6vw,7.8rem)}em{font-weight:500}.hero-content>p:not(.kicker){max-width:530px;font-size:17px;margin:28px 0 35px}.hero-actions{display:flex;align-items:center;gap:28px}.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:#eee8df}.link-button{border:0;border-bottom:1px solid rgba(255,255,255,.55);padding:10px 0;background:transparent;color:#fff;font-size:12px;font-weight:600;cursor:pointer}.link-button span{margin-left:10px}.hero-stats{position:absolute;right:4vw;bottom:0;z-index:3;display:grid;grid-template-columns:repeat(4,120px);background:rgba(244,241,235,.96);color:var(--ink)}.hero-stats div{padding:19px;border-right:1px solid var(--line)}.hero-stats strong,.hero-stats span{display:block}.hero-stats strong{font-family:var(--serif);font-size:24px}.hero-stats span{margin-top:4px;font-size:8px;text-transform:uppercase;letter-spacing:.12em}.section{padding:112px max(4vw,calc((100vw - 1320px)/2))}.section h2{font-size:clamp(3rem,5vw,5.4rem)}.welcome{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:start}.welcome-copy{padding-top:34px;max-width:530px}.welcome-copy>p{font-size:16px;margin:0 0 20px}.host-note{display:flex;align-items:center;gap:16px;margin-top:36px;padding-top:22px;border-top:1px solid var(--line)}.host-note>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--sand);font-family:var(--serif);font-size:14px}.host-note p{margin:0;font-size:11px;line-height:1.55}.gallery{padding-top:0;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:245px 245px;gap:10px}.photo{border:0;padding:0;overflow:hidden;position:relative;background:#ddd;cursor:pointer}.photo-main{grid-row:1/3}.photo img{height:100%;object-fit:cover;transition:transform .55s}.photo:hover img{transform:scale(1.03)}.photo-more span{position:absolute;right:16px;bottom:16px;background:#fff;border-radius:30px;padding:9px 14px;font-size:10px;font-weight:700}.amenities{background:var(--sand)}.section-title.compact{margin-bottom:60px}.amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid rgba(78,77,70,.2);border-top:1px solid rgba(78,77,70,.2)}.amenities-grid article{min-height:230px;padding:30px;border-right:1px solid rgba(78,77,70,.2);border-bottom:1px solid rgba(78,77,70,.2)}.amenities-grid article>span{display:block;font-family:var(--serif);font-size:12px;margin-bottom:45px}.amenities-grid h3,.place-card h3,.destination h3{font-family:var(--serif);font-size:22px;line-height:1.15;margin:0 0 10px}.amenities-grid p{font-size:12px;margin:0;max-width:300px}.discover{background:var(--ivory)}.discover-heading{max-width:790px;margin-bottom:65px}.discover-heading>p:last-child{max-width:560px;margin:28px 0 0}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.place-card{display:grid;grid-template-columns:44% 56%;min-height:285px;background:#fff;border-radius:0 0 22px 22px;overflow:hidden;transition:transform .25s,box-shadow .25s}.place-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(83,75,64,.1)}.place-card img{height:100%;object-fit:cover}.place-card>div{padding:28px;display:flex;flex-direction:column;align-items:flex-start}.place-card span,.destination small{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--soft);margin-bottom:12px}.place-card p{font-size:12px;line-height:1.55;margin:0 0 20px}.place-card b{font-size:9px;text-transform:uppercase;letter-spacing:.12em;margin-top:auto;border-bottom:1px solid currentColor}.surroundings{background:var(--paper);overflow:hidden}.horizontal{display:grid;grid-template-columns:1fr .7fr;gap:10vw;align-items:end;margin-bottom:58px}.horizontal>p{max-width:430px;margin:0 0 8px}.destination-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,31vw);gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;padding-bottom:20px;scrollbar-color:var(--sand) transparent}.destination{scroll-snap-align:start;background:var(--ivory);border-radius:0 0 20px 20px;overflow:hidden;min-height:410px}.destination img{height:230px;object-fit:cover}.destination>div{padding:22px}.destination h3{font-size:25px}.destination p{font-size:12px;margin:0}.swipe-hint{text-align:right;margin:16px 0 0;font-size:10px;text-transform:uppercase;letter-spacing:.15em}.swipe-hint span{font-size:18px;margin-left:10px}.location{padding:0;display:grid;grid-template-columns:1.12fr .88fr;background:#fff}.location-image img{height:100%;min-height:680px;object-fit:cover}.location-copy{padding:105px max(4vw,calc((100vw - 1320px)/2)) 105px 7vw}.location-copy h2{font-size:clamp(3rem,4.5vw,5rem)}.location-copy>p:not(.kicker){margin:30px 0;color:var(--soft)}.location-copy ul{list-style:none;padding:0;margin:36px 0;border-top:1px solid var(--line)}.location-copy li{display:flex;gap:22px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.location-copy li strong{min-width:70px}.text-link{font-size:11px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}.text-link span{margin-left:12px}.reviews{display:grid;grid-template-columns:.7fr 1.3fr;gap:9vw;align-items:center}.reviews h2{font-size:clamp(3rem,4.5vw,5rem)}.score{display:flex;align-items:center;gap:20px;margin-top:45px}.score strong{font-family:var(--serif);font-size:65px;line-height:1;border-right:1px solid var(--line);padding-right:20px}.score span{color:#9c7752;font-size:11px;letter-spacing:.08em}.score small{color:var(--soft);font-size:9px}.review{display:none}.review.active{display:block}.review blockquote{font-family:var(--serif);font-size:clamp(1.8rem,2.7vw,2.8rem);line-height:1.27;margin:0}.review p{font-size:11px;margin:25px 0}.review-controls{display:flex;align-items:center;gap:14px;margin-top:24px}.review-controls button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}.review-controls span{font-size:10px;letter-spacing:.1em}.direct-booking{display:grid;grid-template-columns:.45fr .8fr 1fr;gap:6vw;align-items:center;background:var(--sand)}.booking-logo{max-width:230px}.booking-logo img{mix-blend-mode:multiply}.booking-intro h2{font-size:clamp(3rem,4.5vw,5rem)}.booking-intro>p:last-child{max-width:450px;margin:26px 0 0}.booking-form{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid rgba(78,77,70,.24);border-top:1px solid rgba(78,77,70,.24)}.booking-form label{padding:14px 18px 11px;border-right:1px solid rgba(78,77,70,.24);border-bottom:1px solid rgba(78,77,70,.24);font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.booking-form input,.booking-form select{display:block;width:100%;border:0;background:transparent;outline:0;padding:6px 0 0;color:var(--ink);font-size:13px;letter-spacing:0;text-transform:none}.booking-form input:focus,.booking-form select:focus{outline:1px solid var(--ink);outline-offset:4px}.whatsapp-button{grid-column:1/3;border:0;background:var(--wa);color:#fff;padding:17px 18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-align:left;cursor:pointer}.whatsapp-button:hover{background:#16834a}.whatsapp-button span:nth-child(2){font-weight:700;font-size:12px}.whatsapp-button small{display:block;font-size:9px;font-weight:400;margin-top:2px}.wa-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.6);border-radius:50%;font-size:20px}.form-note{grid-column:1/3;font-size:9px;margin:12px 0 0}.floating-wa{position:fixed;right:22px;bottom:22px;z-index:45;display:flex;align-items:center;gap:9px;background:var(--wa);color:#fff;border-radius:999px;padding:10px 16px 10px 10px;box-shadow:0 8px 28px rgba(0,0,0,.2);font-size:11px}.floating-wa span{display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(255,255,255,.6);border-radius:50%;font-size:18px}footer{background:#4a4943;color:#fff;padding:65px 4vw 25px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;font-size:11px}.footer-brand{display:flex;align-items:center;gap:12px;width:max-content}.footer-brand span{font-family:var(--serif);font-size:40px;border-right:1px solid rgba(255,255,255,.5);padding-right:12px}.footer-brand b{max-width:45px;line-height:1.25;font-size:10px}footer>div a{display:block;color:#dedbd4;margin-bottom:7px}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;margin:22px 0 0;color:#aaa89f}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(28,27,24,.96);display:grid;grid-template-columns:70px 1fr 70px;align-items:center;color:#fff}.lightbox[hidden]{display:none}.lightbox figure{margin:30px auto;max-width:min(1100px,82vw)}.lightbox figure img{max-height:82vh;object-fit:contain}.lightbox figcaption{text-align:center;margin-top:12px;font-size:11px}.lightbox button{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}.lightbox-close{position:absolute;right:24px;top:15px;font-size:38px!important}
@media(max-width:1000px){.header{grid-template-columns:1fr auto}.header nav{position:fixed;left:0;right:0;top:68px;display:none;flex-direction:column;gap:15px;background:var(--ivory);padding:25px 5vw;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.menu-toggle{display:block;width:44px;height:44px;border:0;background:transparent;padding:12px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px 0}.header-book{display:none}.hero-content{padding-bottom:190px}.hero-stats{left:0;right:0;grid-template-columns:repeat(4,1fr)}.welcome,.reviews{grid-template-columns:1fr;gap:40px}.welcome-copy{padding-top:0}.amenities-grid{grid-template-columns:repeat(2,1fr)}.place-card{grid-template-columns:1fr}.place-card img{height:230px}.horizontal{grid-template-columns:1fr;gap:30px}.destination-strip{grid-auto-columns:minmax(290px,45vw)}.location{grid-template-columns:1fr}.location-image img{min-height:440px;max-height:580px}.location-copy{padding:85px 5vw}.direct-booking{grid-template-columns:.35fr 1fr;gap:5vw}.booking-logo{grid-row:1/3}.booking-form{grid-column:2}.section{padding:90px 5vw}}
@media(max-width:650px){.header{height:68px;padding:0 5vw}.hero{height:94vh;min-height:690px}.hero-shade{background:linear-gradient(0deg,rgba(35,33,29,.84),rgba(35,33,29,.12) 80%)}.hero-content{padding:0 5vw 180px}.hero h1{font-size:clamp(3.5rem,15vw,5rem)}.hero-content>p:not(.kicker){font-size:14px}.hero-actions{flex-direction:column;align-items:flex-start;gap:8px}.hero-stats{grid-template-columns:repeat(2,1fr)}.hero-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}.section h2{font-size:2.9rem}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:250px 145px 145px;padding-left:0;padding-right:0}.photo-main{grid-column:1/3;grid-row:auto}.amenities-grid{grid-template-columns:1fr}.amenities-grid article{min-height:auto}.place-grid{grid-template-columns:1fr}.place-card{border-radius:0 0 18px 18px}.destination-strip{grid-auto-columns:82vw}.destination img{height:210px}.location-image img{min-height:320px}.score strong{font-size:54px}.review blockquote{font-size:1.7rem}.direct-booking{grid-template-columns:1fr;gap:34px}.booking-logo{grid-row:auto;max-width:140px}.booking-form{grid-column:1}.booking-form{grid-template-columns:1fr}.booking-form label,.whatsapp-button,.form-note{grid-column:1}.floating-wa b{display:none}.floating-wa{padding:10px;right:14px;bottom:14px}footer{grid-template-columns:1fr}.footer-bottom{grid-column:1}.lightbox{grid-template-columns:45px 1fr 45px}.lightbox figure{max-width:calc(100vw - 90px)}}

/* Language selector and expanded gallery */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header-actions{justify-self:end;display:flex;align-items:center;gap:12px}
.language-picker select{appearance:none;border:1px solid var(--line);border-radius:999px;background-color:transparent;color:var(--ink);padding:11px 27px 11px 13px;font-size:9px;font-weight:700;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 13px) 50%,calc(100% - 9px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}
.gallery{grid-template-columns:2fr 1fr 1fr 1fr}
@media(max-width:1000px){.header{grid-template-columns:1fr auto auto;gap:8px}.header-actions{grid-column:2;grid-row:1}.menu-toggle{grid-column:3}.header-book{display:none}}
@media(max-width:650px){.header{padding:0 4vw}.brand-number{font-size:28px}.brand-name{font-size:8px}.language-picker select{width:66px;padding:9px 18px 9px 8px;color:var(--ink)}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:250px 135px 135px 135px}}
