:root{--bg:#f3f5ef;--ink:#1d2b22;--mute:#5c6b60;--moss:#2f5d46;--mist:#cfe0d3;--sun:#e0a93b;--card:#fff;--line:#d9e1d8;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#121a15;--ink:#e8efe8;--mute:#9fb0a4;--moss:#7fc4a0;--mist:#22372b;--sun:#e8b650;--card:#1a251e;--line:#2b3b30}}
:root[data-theme="dark"]{--bg:#121a15;--ink:#e8efe8;--mute:#9fb0a4;--moss:#7fc4a0;--mist:#22372b;--sun:#e8b650;--card:#1a251e;--line:#2b3b30}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Inter,system-ui,sans-serif}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:400;line-height:1.15;margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.logo{font-family:Fraunces,serif;font-size:22px;text-decoration:none;color:var(--moss)}
nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;font-size:15px}
nav a{text-decoration:none}nav ul a:hover{color:var(--moss);text-decoration:underline}
.btn{display:inline-block;background:var(--moss);color:var(--bg);border:0;border-radius:999px;padding:12px 24px;font:600 15px Inter,sans-serif;text-decoration:none;cursor:pointer}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.hero{position:relative;color:#fff;background:linear-gradient(180deg,rgba(12,30,20,.25),rgba(12,30,20,.8)),radial-gradient(120% 90% at 80% 10%,#6aa387 0%,#2f5d46 45%,#173324 100%);padding:96px 0 0;overflow:hidden}
.hero h1{font-size:clamp(36px,6vw,68px);max-width:14ch}
.hero p{max-width:46ch;font-size:18px;color:#e4eee6;margin:18px 0 0}
.leaf{position:absolute;right:-60px;bottom:40px;width:420px;opacity:.18;pointer-events:none}
.search{position:relative;margin-top:56px;background:var(--card);color:var(--ink);border-radius:18px 18px 0 0;padding:20px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
.search label{display:block;font-size:13px;color:var(--mute);margin-bottom:4px}
.search select,.search input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit}
section{padding:72px 0}
h2{font-size:clamp(28px,4vw,42px);margin-bottom:12px}
.lead{color:var(--mute);max-width:56ch;margin:0 0 36px}
.perks{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.perk{text-align:center;font-size:14px;padding:18px 8px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.perk b{display:block;font-size:26px;color:var(--moss)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.offer{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.offer .pic{height:150px}
.offer div.t{padding:18px}
.offer h3{font-size:21px;margin-bottom:6px}
.offer p{margin:0 0 12px;color:var(--mute);font-size:15px}
.offer a{color:var(--moss);font-weight:600}
.g1{--g:linear-gradient(135deg,#9cc4a8,#2f5d46);background:var(--g)}.g2{--g:linear-gradient(135deg,#e6c27a,#9a6a2c);background:var(--g)}.g3{--g:linear-gradient(135deg,#a9c6d6,#34607a);background:var(--g)}
.g4{--g:linear-gradient(135deg,#c9b8dc,#5b4a7a);background:var(--g)}.g5{--g:linear-gradient(135deg,#d9a89a,#8a4a3a);background:var(--g)}.g6{--g:linear-gradient(135deg,#b7d3a0,#4f7a35);background:var(--g)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.tab{border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:9px 18px;font:500 15px Inter,sans-serif;cursor:pointer}
.tab[aria-selected="true"]{background:var(--moss);color:var(--bg);border-color:var(--moss)}
.hotel{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.hotel .pic{height:130px}
.hotel div.t{padding:16px}
.hotel h3{font-size:19px}.hotel span{color:var(--mute);font-size:14px}
.band{background:var(--mist)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stat{background:var(--card);border-radius:14px;padding:20px}
.stat b{font:400 34px Fraunces,serif;color:var(--moss);display:block}
.exp{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.exp div{height:180px;border-radius:16px;color:#fff;padding:16px;display:flex;align-items:flex-end;font:400 22px Fraunces,serif}
.events{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ev{border-radius:18px;padding:32px;min-height:240px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}
.ev p{margin:8px 0 16px;color:#f0f0f0;max-width:40ch}
.ev .btn{align-self:flex-start;background:#fff;color:#1d2b22}
.quote{font:400 clamp(22px,3vw,30px)/1.4 Fraunces,serif;max-width:30ch}
.news{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.news input{flex:1;min-width:220px;padding:12px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:inherit}
footer{background:#14221a;color:#cbd8ce;padding:56px 0 32px;font-size:14px}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
footer h4{color:#fff;margin:0 0 12px;font-size:15px}
footer a{display:block;text-decoration:none;padding:3px 0}footer a:hover{text-decoration:underline}
.small{margin-top:36px;border-top:1px solid #2b3b30;padding-top:18px}
#msg{margin-top:10px;font-size:14px;color:var(--moss);min-height:20px}
@media (max-width:860px){nav ul{display:none;position:absolute;top:64px;left:0;right:0;background:var(--bg);flex-direction:column;padding:16px 20px;border-bottom:1px solid var(--line)}nav ul.open{display:flex}.menu{display:inline-block}.search{grid-template-columns:1fr 1fr}.search .btn{grid-column:1/-1}.perks{grid-template-columns:repeat(3,1fr)}.grid3,.exp,.events,.split,footer .cols{grid-template-columns:1fr}section{padding:52px 0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.menu{display:none;background:none;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:8px 12px;font:inherit;cursor:pointer}
nav ul a[aria-current="page"]{color:var(--moss);font-weight:600;text-decoration:underline}
.page{display:none}.page.on{display:block}
.ph{background:linear-gradient(135deg,var(--moss),#173324);color:#fff;padding:64px 0 48px}.ph p{max-width:56ch;color:#dfeae2;margin:8px 0 0}
.ph h1{font-size:clamp(32px,5vw,52px)}
.price{font-weight:600;color:var(--moss);margin-top:6px}
.form{display:grid;gap:14px;max-width:520px}.form input,.form select,.form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:10px}.faq summary{cursor:pointer;font-weight:600}
@media (max-width:860px){.menu{display:inline-block}nav .btn{display:none}}
[data-im],.pic,.exp>div,.ev{background-size:cover;background-position:center}
.hero{--g:linear-gradient(#2f5d46,#173324)}.ph{--g:linear-gradient(135deg,#2f5d46,#173324)}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 0}
.btn.wa{background:#25d366;color:#073b1b}
.hero .cta .btn:not(.wa){background:#fff;color:#173324}
.cb{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.cb a{padding:8px 14px;border-radius:999px;border:1.5px solid var(--moss);font-weight:600;font-size:14px;text-decoration:none;color:var(--moss)}
.cb a.w{background:#25d366;border-color:#25d366;color:#073b1b}
.fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px;z-index:30}
.fab a{display:block;text-align:center;padding:12px 18px;border-radius:999px;background:var(--moss);color:var(--bg);font:600 15px Inter,sans-serif;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.fab a.wa{background:#25d366;color:#073b1b}
