:root{--green:#1e6b3f;--green-dark:#14492b;--cream:#faf6ee;--ink:#2a2622;--muted:#6b635a;--line:#e4dccd}
*{box-sizing:border-box}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;margin:0 0 .5em}
h2{font-size:2rem;color:var(--green-dark)}
a{color:var(--green)}
img{max-width:100%;display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header.top{position:sticky;top:0;z-index:5;background:rgba(250,246,238,.96);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;gap:16px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo b{background:var(--green);color:#fff;font:700 1.25rem Georgia,serif;padding:6px 9px;border-radius:4px;letter-spacing:.04em}
.logo span{font-family:Georgia,serif;font-size:1.05rem}
nav{margin-left:auto;display:flex;gap:18px;align-items:center;font-size:.95rem}
nav a{text-decoration:none;color:var(--ink)}
nav a.lang{border:1px solid var(--line);padding:2px 8px;border-radius:4px}
@media (max-width:720px){nav a:not(.lang):not(.btn){display:none}nav{gap:8px}nav .btn{padding:8px 12px}header.top .wrap{flex-wrap:wrap;row-gap:8px;padding-block:8px}}
.btn{display:inline-block;background:var(--green);color:#fff;text-decoration:none;padding:12px 20px;border-radius:6px;font-weight:600;border:0;font-size:1rem;cursor:pointer}
.btn:hover{background:var(--green-dark)}
.btn.alt{background:#fff;color:var(--green-dark);border:1px solid var(--green)}
.btn.wa{background:#1a7f35}
nav .btn{padding:8px 14px}
.hero{position:relative;color:#fff;min-height:72vh;display:flex;align-items:flex-end;background:#2a2622 center/cover no-repeat;background-image:url(/img/hero-800.jpg)}
@media (min-width:801px){.hero{background-image:url(/img/hero-1600.jpg)}}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,18,15,.85),rgba(20,18,15,.15) 70%)}
.hero .wrap{position:relative;padding-bottom:56px}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);max-width:16em}
.hero p{font-size:1.15rem;max-width:34em}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.stars{font-size:.95rem;opacity:.95}
.stars a{color:#fff}
section{scroll-margin-top:72px;padding:64px 0;border-bottom:1px solid var(--line)}
.grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.card img{width:100%;height:240px;object-fit:cover}
.card div{padding:18px}
.card h3{font-size:1.3rem;color:var(--green-dark)}
.price{font-weight:700;color:var(--green)}
table.hours{border-collapse:collapse;width:100%;max-width:460px}
table.hours td{padding:8px 0;border-bottom:1px solid var(--line)}
table.hours td+td{text-align:right}
form.book{display:grid;gap:14px;grid-template-columns:1fr 1fr;background:#fff;padding:24px;border:1px solid var(--line);border-radius:8px}
form.book label{display:grid;gap:4px;font-size:.95rem;font-weight:600}
form.book .full{grid-column:1/-1}
form.book input,form.book textarea,form.book select{font:inherit;padding:10px;border:1px solid #cfc6b6;border-radius:6px;background:#fff;width:100%}
form.book .trap{position:absolute;left:-9999px}
@media (max-width:600px){form.book{grid-template-columns:1fr}}
.small{font-size:.9rem;color:var(--muted)}
footer{padding:40px 0;font-size:.9rem;color:var(--muted)}
footer a{color:var(--muted)}
.notice{max-width:640px;margin:60px auto;padding:0 20px}
.prose{max-width:760px}
