:root{--ink:#183e45;--cream:#f7f3ed;--sand:#e5d8c8;--rust:#b95e43;--white:#fffdfa;--line:rgba(24,62,69,.18)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button-whatsapp{background:#25d366;border-color:#25d366;color:#073f22}
.button-whatsapp:hover{background:#1caf55;border-color:#1caf55}
.whatsapp-inline{color:#168847;font-weight:700;font-size:.9rem;text-decoration:none}
.reservation-panel{display:grid;gap:30px}.availability{background:var(--cream);border:1px solid var(--line);padding:22px}.availability-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.9rem}.availability-heading span{font-size:.7rem;color:#60757a}.availability-heading i{display:inline-block;width:8px;height:8px;background:#fdfbf7;border:1px solid var(--line);margin:0 4px}.availability-heading i.blocked{background:#b95e43;border-color:#b95e43}.availability-calendar{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px}.availability-calendar h3{font:600 .82rem "DM Sans",sans-serif;text-transform:capitalize;margin:0 0 8px}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:2px}.weekdays b{font-size:.62rem;color:#60757a}.days span{font-size:.72rem;padding:4px 0;border-radius:50%}.days .is-blocked{background:#b95e43;color:white}.days .is-past{opacity:.32}.availability-note{font-size:.72rem!important;color:#60757a;margin:16px 0 0!important}@media(max-width:760px){.availability-calendar{grid-template-columns:1fr}.availability-heading{align-items:flex-start;flex-direction:column}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 "DM Sans",sans-serif}
h1,h2,blockquote{font-family:"Playfair Display",serif;font-weight:500;line-height:1.08;margin:0}
h2{font-size:clamp(2.4rem,5vw,4.8rem)}
p{margin:0 0 1rem}
.site-header{position:absolute;z-index:2;top:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:26px 5%;color:white}
.brand{color:inherit;text-decoration:none;font:600 1.45rem "Playfair Display",serif;letter-spacing:-.04em}
.brand span{font-style:italic;font-weight:500}
.site-header nav{display:flex;gap:26px}
.site-header nav a{color:white;text-decoration:none;font-size:.87rem}
.button{display:inline-block;border:1px solid var(--rust);background:var(--rust);color:white;text-decoration:none;padding:14px 22px;font-weight:600;font-size:.87rem;letter-spacing:.02em;cursor:pointer}
.button:hover{background:#9e4b35;border-color:#9e4b35}
.button-small{padding:10px 16px;background:transparent;border-color:rgba(255,255,255,.6)}
.hero{height:min(780px,100vh);min-height:610px;position:relative;overflow:hidden;color:white}
.hero>img{width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,30,33,.7),rgba(7,30,33,.06) 70%),linear-gradient(0deg,rgba(7,30,33,.3),transparent 45%)}
.hero-content{position:absolute;left:10%;bottom:18%;max-width:690px}
.eyebrow{font-size:.71rem;letter-spacing:.16em;font-weight:700;margin-bottom:18px}
.hero h1{font-size:clamp(3.5rem,7vw,6.6rem)}
.hero-copy{max-width:430px;font-size:1.12rem;margin:22px 0 30px}
.button-light{background:white;border-color:white;color:var(--ink)}
.scroll-cue{position:absolute;right:5%;bottom:30px;color:white;text-decoration:none;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.scroll-cue span{font-size:1.4rem;margin-left:8px}
.section{padding:120px max(6%,calc((100% - 1200px)/2))}
.dark{color:var(--rust)}
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;align-items:end}
.intro-grid>div{max-width:480px}
.intro-grid p{font-size:1.08rem}
.features{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:80px;padding-top:25px}
.features div{border-right:1px solid var(--line);padding-left:15px}
.features div:last-child{border:0}
.features strong,.features span{display:block}
.features strong{font:500 2rem "Playfair Display",serif}
.features span{font-size:.78rem;color:#527077}
.gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;background:var(--cream);padding:0 4%}
.gallery img{width:100%;height:100%;min-height:260px;object-fit:cover}
.gallery-main{grid-row:span 2}
.amenities{display:grid;grid-template-columns:1fr 1fr;gap:10%}
.amenities ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.amenities li{border-bottom:1px solid var(--line);padding:15px 0;font-size:.95rem}
.amenities li:before{content:'✦';color:var(--rust);margin-right:12px}
.quote-section{padding:120px 10%;text-align:center;background:var(--ink);color:#f4eadf}
.quote-section blockquote{max-width:900px;margin:auto;font-size:clamp(2.1rem,4vw,4rem)}
.quote-section p{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;margin-top:28px}
.location{background:var(--sand);display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.location-copy>p:not(.eyebrow){max-width:510px;margin:24px 0}
.location dl{margin:30px 0}
.location dl div{border-top:1px solid rgba(24,62,69,.25);display:flex;justify-content:space-between;padding:10px 0}
.location dt,.location dd{margin:0}
.location dd{font-size:.88rem}
.text-link{color:var(--ink);font-weight:700}
.map-card{display:flex;min-height:360px;background:#b7cbd0;background-image:linear-gradient(125deg,rgba(255,255,255,.4) 1px,transparent 1px),linear-gradient(25deg,rgba(255,255,255,.4) 1px,transparent 1px);background-size:44px 44px;align-items:flex-end;justify-content:space-between;padding:28px;color:var(--ink);text-decoration:none}
.map-card span{background:var(--white);padding:13px 16px;font-size:.88rem}
.map-card b{background:var(--ink);color:white;border-radius:50%;padding:7px 12px;font-size:1.4rem}
.booking{display:grid;grid-template-columns:.85fr 1.15fr;gap:12%;background:var(--white)}
.booking-text>p:not(.eyebrow){font-size:1.08rem;margin:25px 0}
.tiny,.form-note{font-size:.77rem!important;color:#60757a}
.booking-form{display:grid;gap:15px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.booking-form label{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700}
.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;border:1px solid var(--line);background:white;margin-top:6px;padding:13px 11px;color:var(--ink);font:400 .95rem "DM Sans",sans-serif;outline-color:var(--rust)}
.booking-form textarea{resize:vertical}
.booking-form .button{justify-self:start;margin-top:4px}
.form-note{margin:0}
.alternative{background:#e7d3c1;padding:55px 7%;display:flex;align-items:center;justify-content:center;gap:25px}
.alternative p{margin:0;font:500 1.35rem "Playfair Display",serif}
.button-outline{background:transparent;border-color:var(--ink);color:var(--ink)}
.button-outline:hover{color:white}
.rules{padding-top:90px;padding-bottom:90px}
.rules-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:35px}
.rules-grid p{border-top:1px solid var(--line);padding-top:14px;font-size:.92rem}
.rules-grid strong{display:block;font-size:1rem}
.rules-grid small{color:#60757a}
.license{margin-top:45px;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:#60757a}
footer{background:var(--ink);color:#f7f3ed;padding:42px 6%;display:flex;justify-content:space-between;align-items:center;font-size:.8rem}
footer p{margin:0}
@media(max-width:760px){.site-header{padding:20px}
.site-header nav{display:none}
.button-small{font-size:.75rem}
.hero-content{left:7%;right:7%;bottom:15%}
.section{padding:75px 7%}
.intro-grid,.amenities,.location,.booking{grid-template-columns:1fr;gap:35px}
.features{grid-template-columns:1fr 1fr;gap:20px;margin-top:55px}
.features div:nth-child(2){border:0}
.gallery{padding:0 3%;grid-template-columns:1fr 1fr;gap:7px}
.gallery img{min-height:160px}
.amenities h2{margin-bottom:0}
.map-card{min-height:260px}
.booking-form .button{width:100%;text-align:center}
.alternative{padding:40px 7%;display:block}
.alternative .button{margin-top:10px}
.rules-grid{grid-template-columns:1fr 1fr;gap:18px}
footer{display:block}
footer p{margin-top:10px}
}
@media(max-width:440px){.form-row,.rules-grid{grid-template-columns:1fr}
.gallery{grid-template-columns:1fr}
.gallery-main{grid-row:auto}
.gallery img{min-height:220px}
.features{grid-template-columns:1fr 1fr}
.features div:nth-child(2){border-right:0}
.hero h1{font-size:3.2rem}
}
