:root{--ink:#17251f;--forest:#173f31;--deep:#0d2d23;--sage:#b8c5a8;--cream:#f6f1e7;--paper:#fbf9f4;--gold:#c49a5a;--line:rgba(23,37,31,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;font-weight:500;line-height:1.08;letter-spacing:-.03em}h1{font-size:clamp(3.4rem,7vw,7rem)}h2{font-size:clamp(2.4rem,4.5vw,4.8rem)}h3{line-height:1.25}em{color:var(--sage);font-weight:500}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:-999px;top:0;background:white;padding:1rem;z-index:99}.skip-link:focus{left:0}
.site-header{height:90px;padding:0 clamp(1.25rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.8rem;line-height:1.1}.brand-mark{width:43px;height:43px;border:1px solid var(--gold);display:grid;place-items:center;font-family:"Playfair Display",serif;color:var(--gold)}.brand strong,.brand small{display:block}.brand strong{font-family:"Playfair Display",serif;font-size:1.1rem}.brand small{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;margin-top:.3rem;color:#607068}.nav{display:flex;align-items:center;gap:clamp(1.1rem,2.2vw,2.5rem);font-size:.88rem;font-weight:600}.nav>a:not(.button){padding:.7rem 0;border-bottom:1px solid transparent}.nav>a.active{border-color:var(--gold)!important}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#13251e;padding:1rem 1.5rem;border:0;font-weight:700;letter-spacing:.02em;transition:.2s}.button:hover{transform:translateY(-2px);filter:brightness(1.06)}.button-small{padding:.75rem 1.25rem}.menu-button{display:none;background:none;border:1px solid var(--line);padding:.65rem}
.hero{min-height:calc(100vh - 90px);position:relative;color:white;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('/static/images/hero-room.png') center/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,18,.91),rgba(6,24,18,.68) 42%,rgba(6,24,18,.06) 78%)}.hero-content{position:relative;width:min(820px,90%);margin-left:clamp(1.3rem,8vw,9rem);padding:5rem 0}.hero h1{margin:.3rem 0 1.8rem}.hero .lead{max-width:650px;font-size:1.15rem;color:rgba(255,255,255,.82)}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.71rem;font-weight:700;color:#d9c092}.eyebrow.dark{color:#8f6a35}.actions{display:flex;align-items:center;gap:2rem;margin-top:2.5rem}.text-link{font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:.25rem}.text-link span,.text-link b{color:var(--gold);margin-left:.4rem}.text-link.light{border-color:rgba(255,255,255,.35)}.hero-card{position:absolute;right:0;bottom:0;background:var(--paper);color:var(--ink);padding:1.5rem 4rem 1.5rem 2rem;min-width:330px}.hero-card span,.hero-card strong,.hero-card small{display:block}.hero-card span{font-size:.68rem;color:#8f6a35;text-transform:uppercase;letter-spacing:.15em}.hero-card strong{font-family:"Playfair Display",serif;font-size:1.5rem}.hero-card small{color:#66736d}
.section{padding:clamp(5rem,9vw,9rem) clamp(1.3rem,8vw,9rem)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.intro h2{margin-bottom:0}.intro em{color:#7e976c}.large-copy{font-size:clamp(1.1rem,1.6vw,1.35rem);color:#4f5f57}.muted{background:var(--cream)}.section-heading{max-width:700px;margin-bottom:4rem}.section-heading h2{margin-bottom:1rem}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.feature-grid article{padding:2.2rem 3rem 1rem 0;border-right:1px solid var(--line)}.feature-grid article+article{padding-left:3rem}.feature-grid article:last-child{border-right:0}.feature-number{color:#9b7540;font-size:.75rem}.feature-grid h3{font-family:"Playfair Display",serif;font-size:1.7rem;margin:2.5rem 0 .8rem}.feature-grid p{color:#66736d}.rooms-teaser{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:center;background:#fff}.room-visual{min-height:650px;background:linear-gradient(rgba(8,35,26,.05),rgba(8,35,26,.22)),url('/static/images/hero-room.png') center/cover;position:relative}.room-price{position:absolute;right:0;bottom:0;background:var(--deep);color:white;padding:1.5rem 2rem}.room-price span,.room-price strong,.room-price small{display:block}.room-price strong{font-family:"Playfair Display",serif;font-size:2rem;color:#d9c092}.room-price small{font-size:.7rem}.room-copy p:not(.eyebrow){color:#66736d;font-size:1.08rem}.dark-button{background:var(--forest);color:white;margin-top:1.4rem}
.location-banner{padding:5rem clamp(1.3rem,8vw,9rem);background:var(--deep);color:white;display:flex;justify-content:space-between;align-items:end;gap:3rem}.location-banner h2{margin-bottom:1rem}.location-banner p:last-child{color:rgba(255,255,255,.68);max-width:650px}.outline-button{background:transparent;color:white;border:1px solid rgba(255,255,255,.45);white-space:nowrap}.footer{background:#091e17;color:rgba(255,255,255,.7);padding:5rem clamp(1.3rem,8vw,9rem) 2rem;display:grid;grid-template-columns:1.5fr .8fr .8fr;gap:5vw}.footer h3{color:white;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em}.footer>div:first-child p{max-width:420px;margin-top:1.5rem}.footer-brand{color:white}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:1.5rem;margin-top:2rem;font-size:.78rem}.whatsapp{position:fixed;right:1.2rem;bottom:1.2rem;background:#25d366;color:#062b16;border-radius:99px;padding:.8rem 1.2rem;font-weight:700;z-index:30;box-shadow:0 7px 25px rgba(0,0,0,.22)}
.page-hero{padding:clamp(7rem,11vw,11rem) clamp(1.3rem,8vw,9rem);background:linear-gradient(90deg,rgba(6,28,21,.91),rgba(6,28,21,.5)),url('/static/images/hero-room.png') center/cover;color:white}.page-hero h1{max-width:900px;margin:.5rem 0 1.5rem}.page-hero>p:last-child{font-size:1.15rem;max-width:690px;color:rgba(255,255,255,.78)}.page-hero.compact{padding-top:8rem;padding-bottom:8rem}.room-list{display:grid;gap:8rem}.room-row{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center}.room-row.reverse .room-photo{order:2}.room-photo{min-height:520px;background:url('/static/images/hero-room.png') center/cover}.room-photo-nonac{background-position:65% center;filter:saturate(.75)}.room-photo-single{background-position:25% center}.room-row h2{font-size:clamp(2.4rem,4vw,4rem)}.room-row p{color:#607068}.amenities{display:grid;grid-template-columns:1fr 1fr;padding:1rem 0;margin:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none;gap:.7rem}.amenities li:before{content:'✓';color:#91703f;margin-right:.6rem}.rate span,.rate strong,.rate small{display:block}.rate span,.rate small{font-size:.75rem;color:#68766f}.rate strong{font-family:"Playfair Display",serif;font-size:2.3rem}.note-banner{margin:0 clamp(1.3rem,8vw,9rem) 7rem;padding:2rem 2.5rem;background:var(--cream);display:flex;gap:3rem}.note-banner p{margin:0}
.booking-options{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:1.2rem}.booking-card{padding:3rem;background:var(--cream);min-height:340px;display:flex;flex-direction:column;align-items:flex-start}.booking-card.featured{background:var(--forest);color:white}.booking-card h2{font-size:2.3rem;margin-top:2.5rem}.booking-card p{color:#67746e}.booking-card.featured p{color:rgba(255,255,255,.72)}.booking-card .button,.booking-card .text-link{margin-top:auto}.status{letter-spacing:.15em;font-size:.7rem;color:#9b7540;text-transform:uppercase}.featured .status{color:#d9c092}.destination-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.destination-grid article{padding:2.5rem 3rem 3rem 0;border-bottom:1px solid var(--line)}.destination-grid article:nth-child(even){padding-left:3rem;border-left:1px solid var(--line)}.destination-grid article>span{color:#9b7540}.destination-grid h3{font-family:"Playfair Display",serif;font-size:2rem;margin:.5rem 0}.destination-grid p:last-child,.contact-details p{color:#66736d}.place-meta{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;margin:1.5rem 0 0;color:#8a6a3b}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.contact-details article{display:grid;grid-template-columns:50px 1fr;gap:1rem;padding:2rem 0;border-top:1px solid var(--line)}.contact-details article>span{color:#9b7540}.contact-details h3{font-family:"Playfair Display",serif;font-size:1.7rem;margin-bottom:.5rem}
@media(max-width:850px){.site-header{height:76px}.menu-button{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:1.5rem;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{min-height:calc(100svh - 76px)}.hero-content{margin-left:1.3rem;padding:4rem 0 9rem}.hero h1{font-size:clamp(3rem,14vw,4.5rem)}.hero-card{min-width:0;width:100%;padding:1rem 1.3rem}.intro,.rooms-teaser,.room-row,.contact-grid{grid-template-columns:1fr}.feature-grid,.booking-options{grid-template-columns:1fr}.feature-grid article,.feature-grid article+article{padding:2rem 0;border-right:0;border-bottom:1px solid var(--line)}.room-visual,.room-photo{min-height:420px}.room-row.reverse .room-photo{order:0}.room-list{gap:5rem}.location-banner{align-items:flex-start;flex-direction:column}.footer{grid-template-columns:1fr}.copyright{grid-column:1}.destination-grid{grid-template-columns:1fr}.destination-grid article,.destination-grid article:nth-child(even){padding:2rem 0;border-left:0}.note-banner{flex-direction:column;gap:.5rem}.actions{align-items:flex-start;flex-direction:column;gap:1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
