:root{--forest:#26382c;--cream:#f6f1e7;--wood:#b5834f;--ink:#1b1b1b;--line:#b8ad98}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--forest);font:400 17px/1.6 Inter,system-ui,sans-serif}
h1,h2{font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.1}
a{color:inherit}
.hero{position:relative;min-height:700px;background:var(--forest);color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hero>*:not(img){position:relative}
nav{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center;justify-content:space-between;padding:18px 40px}
nav .logo{font-weight:700;font-size:22px;letter-spacing:.04em;text-decoration:none}
nav ul{display:flex;flex-wrap:wrap;gap:0 22px;list-style:none;margin:0;padding:0;font-size:15px}
nav ul a{text-decoration:none;display:block;padding:10px 0}
.lang{font-size:14px}.lang a{text-decoration:none;padding:6px 4px}
.hero-in{padding:0 40px 40px;max-width:1240px}
.hero h1{font-size:clamp(36px,6vw,68px);margin:0 0 14px;max-width:760px}
.hero p.lead{font-size:18px;max-width:560px;margin:0 0 28px}
#booking{background:rgba(246,241,231,.97);color:var(--forest);padding:22px;border-radius:4px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:14px;align-items:end}
#booking label{display:flex;flex-direction:column;gap:6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
#booking input,#booking select{height:46px;border:1px solid var(--line);border-radius:4px;padding:0 10px;font:inherit;font-size:16px;background:#fff;color:#222;width:100%;text-transform:none}
#booking button{height:46px;border:0;border-radius:4px;background:var(--wood);color:var(--ink);font:inherit;font-weight:700;padding:0 18px;cursor:pointer}
#booking button:hover{background:#c99660}
#ages{display:none;margin-top:14px}#ages.on{display:grid}
.note{margin:12px 0 0;font-size:13px}.err{color:#9b2c1d;font-weight:700;min-height:1.2em;margin:8px 0 0;font-size:14px}
:focus-visible{outline:3px solid var(--wood);outline-offset:2px}
section{padding:64px 40px;max-width:1240px;margin:0 auto}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.cards img{width:100%;height:230px;object-fit:cover;display:block}
.cards h2{font-size:28px;margin:14px 0 6px}.cards p{margin:0}
.facts{background:#e9e2d2;max-width:none}
.facts ul{display:flex;flex-wrap:wrap;gap:12px 48px;justify-content:center;list-style:none;margin:0;padding:0}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px}
.two h2{font-size:34px;margin:0 0 12px}
footer{background:var(--forest);color:#f6f1e7;padding:28px 40px;font-size:14px;text-align:center}
@media(max-width:640px){nav,.hero-in,section{padding-left:20px;padding-right:20px}.hero{min-height:760px}}

.top{background:var(--forest);color:#fff}.top nav{padding:14px 40px}
.cta{background:var(--wood);color:var(--ink);text-decoration:none;font-weight:700;padding:11px 18px;border-radius:4px}
.page{max-width:900px;margin:0 auto;padding:48px 24px 72px}.page h1{font-size:clamp(34px,5vw,52px);margin:0 0 16px}.page h2{font-size:28px;margin:32px 0 8px}
.lead{font-size:20px}.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:20px 0}
.gal img{width:100%;height:auto;display:block}figure{margin:0}figcaption{font-size:14px}
.tw{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}
.btn{display:inline-block;background:var(--forest);color:#fff;text-decoration:none;padding:12px 20px;border-radius:4px;margin:4px 8px 4px 0}
footer a{color:#f6f1e7}footer p{margin:6px 0}nav [aria-current]{border-bottom:2px solid var(--wood)}
