:root{--bg:#f6f1e7;--ink:#1d2a22;--muted:#68736b;--accent:#275d45;--accent2:#e3b760;--card:#fffaf0;--line:#dcd3c4;--max:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}a{color:inherit;text-decoration:none}
.topbar{max-width:var(--max);margin:auto;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:10px}.brand span{width:40px;height:40px;border-radius:50%;background:var(--accent);color:white;display:grid;place-items:center;font-weight:900}.topbar nav{display:flex;gap:20px;align-items:center;font-size:14px}.cta{padding:9px 14px;border-radius:999px;background:var(--ink);color:white}
main{max-width:var(--max);margin:auto;padding:0 24px}.hero{min-height:72vh;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:60px 0}.hero h1,.section h2{font-family:Georgia,serif;line-height:1.02;margin:10px 0 18px}.hero h1{font-size:clamp(48px,7vw,78px)}.hero p,.section p{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:900;color:var(--accent)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.button{padding:13px 18px;border-radius:12px;font-weight:800}.primary{background:var(--accent);color:white}.secondary{border:1px solid var(--line);background:rgba(255,255,255,.4)}.hero-visual{min-height:460px;border-radius:32px;padding:32px;background:linear-gradient(160deg,#d6c28f,#315944);color:white;display:flex;flex-direction:column;justify-content:flex-end}.hero-visual span{font-size:12px;text-transform:uppercase;letter-spacing:.14em}.hero-visual strong{font-family:Georgia,serif;font-size:34px;line-height:1.1;max-width:360px;margin-top:8px}
.section{padding:78px 0;border-top:1px solid var(--line)}.section-heading{max-width:720px;margin-bottom:30px}.section h2{font-size:clamp(36px,5vw,56px)}.cards{display:grid;gap:16px}.three{grid-template-columns:repeat(3,1fr)}.card{padding:24px;border:1px solid var(--line);background:var(--card);border-radius:18px}.card h3{margin:8px 0}.price{color:var(--accent);font-weight:900}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px}.facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.facts span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;font-size:12px;background:var(--card)}
.gallery{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:12px}.gallery div{min-height:280px;border-radius:20px;background:linear-gradient(145deg,#ead9b8,#9fb49d);display:grid;place-items:center;color:#fff;font-weight:900}.gallery div:first-child{min-height:380px}.visit-grid{display:grid;grid-template-columns:1fr .7fr;gap:20px}.hours{display:grid;gap:6px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--card);align-content:center}.hours span{color:var(--muted)}.map-card{grid-column:1/-1;min-height:260px;border-radius:22px;background:repeating-linear-gradient(45deg,#d7d0c2,#d7d0c2 16px,#e3ddd1 16px,#e3ddd1 32px);display:grid;place-items:center;font-weight:900;color:#6f786f}.contact{display:flex;align-items:center;justify-content:space-between;gap:30px}footer{max-width:var(--max);margin:auto;padding:28px 24px 44px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px}
@media(max-width:800px){.topbar nav a:not(.cta){display:none}.hero,.split,.visit-grid{grid-template-columns:1fr}.hero{min-height:auto;padding:44px 0}.three{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery div,.gallery div:first-child{min-height:230px}.contact,footer{align-items:flex-start;flex-direction:column}.hero-visual{min-height:330px}.section{padding:60px 0}}
@media(max-width:520px){main,.topbar,footer{padding-left:16px;padding-right:16px}.hero h1{font-size:46px}.actions{display:grid}.button{text-align:center;width:100%}.topbar nav{gap:8px}.cta{font-size:12px}.hero-visual{border-radius:24px;padding:24px}.hero-visual strong{font-size:28px}}
