:root{--green:#1f5d3a;--green-dark:#143d27;--leaf:#e8f1ea;--accent:#d97a1c;--accent-dark:#a85a0d;--ink:#1c2a22;--muted:#4a5a50;--bg:#fbfaf6;--radius:16px;--shadow:0 8px 24px rgba(20,61,39,.1)}
*{box-sizing:border-box}
body{margin:0;font:17px/1.6 Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3,.logo{font-family:Fraunces,Georgia,serif;line-height:1.15;margin:0}
h1,h2,h3{text-wrap:balance}
a{color:var(--green)}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:0;z-index:10;background:rgba(251,250,246,.96);border-bottom:1px solid #e3e6dd}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.logo{font-size:1.25rem;font-weight:700;color:var(--green-dark);text-decoration:none}
.nav{display:none}
.nav a{text-decoration:none;color:var(--ink);font-weight:500;margin-right:28px}
.nav a:hover{color:var(--accent-dark)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;font-weight:600;text-decoration:none;border:2px solid transparent;text-align:center}
.btn-primary{background:var(--accent-dark);color:#fff}
.btn-primary:hover{background:#8a470a}
.btn-secondary{background:#d5e7d9;color:var(--green-dark);border-color:var(--green)}
.btn-secondary:hover{background:#c3dccb}
.btn-light{background:#fff;color:var(--green-dark)}
.btn-call{padding:0 16px;font-size:.95rem}
.hero{background:radial-gradient(circle at 90% 0%,#d5e7d9 0,transparent 45%),linear-gradient(180deg,var(--leaf),var(--bg));padding:32px 0 24px}
.hero-inner{display:grid;gap:28px}
h1{font-size:2.3rem;color:var(--green-dark)}
.lead{font-size:1.15rem;color:var(--muted);margin:12px 0 16px;max-width:34em}
.rating{display:inline-block;margin:0 0 20px;padding:6px 14px;border-radius:999px;background:#fff;box-shadow:var(--shadow);font-weight:600;font-size:.95rem}
.stars{color:var(--accent);letter-spacing:2px}
.btn-row{display:flex;flex-direction:column;gap:12px}
.fact-card{display:none;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}
.fact-big{font:700 3rem/1 Fraunces,serif;color:var(--green-dark);margin:0}
.fact-big span{font-size:1.2rem;color:var(--muted)}
.fact-sub{margin:4px 0 20px;color:var(--muted)}
dl{margin:0}
dl div{padding:12px 0;border-top:1px solid #e3e6dd}
dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}
dd{margin:2px 0 0;font-weight:500}
.section{padding:56px 0}
.section-tight{padding:32px 0 0}
.why{padding-bottom:44px}
.section-alt{background:var(--leaf)}
h2{font-size:1.9rem;color:var(--green-dark)}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.card-row{display:flex;gap:18px;align-items:flex-start;margin-top:20px}
.card svg{flex:none;width:48px;height:48px;padding:10px;border-radius:12px;background:var(--leaf);fill:var(--green)}
.card h3{font-size:1.25rem;margin-bottom:8px}
.card p{margin:0;color:var(--muted)}
.points{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.points li{display:flex;flex-direction:column;background:#fff;border-left:4px solid var(--accent);border-radius:12px;box-shadow:var(--shadow);padding:16px 20px}
.points strong{font:700 1.2rem Fraunces,serif;color:var(--green-dark)}
.points span{color:var(--muted)}
.visit{display:grid;gap:20px}
.visit-info dl{margin-top:16px}
.visit-phone{border-bottom:1px solid #c9d8cd}
.map-frame{position:relative;height:240px;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;background:#d5e7d9}
.map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px;text-align:center;background:linear-gradient(rgba(31,93,58,.09) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(31,93,58,.09) 1px,transparent 1px) 0 0/28px 28px,radial-gradient(circle at 50% 40%,#fff 0,#d5e7d9 85%)}
.map-fallback .pin{width:60px;height:60px;fill:var(--accent-dark);filter:drop-shadow(0 4px 6px rgba(20,61,39,.25))}
.map-fallback strong{font:700 1.2rem Fraunces,serif;color:var(--green-dark)}
.map-fallback .btn{margin-top:8px}
.map-frame iframe{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;border:0;background:transparent}
.map-caption{margin:12px 0 0;font-size:.95rem;color:var(--muted)}
.cta{background:var(--green);color:#fff;padding:44px 0}
.cta-inner{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.cta h2{color:#fff;max-width:640px}
.site-footer{background:#0b1710;border-top:4px solid var(--accent);color:#d6e0d9;padding:28px 0;font-size:.95rem}
.site-footer a{color:#fff}
.footer-inner{display:flex;flex-direction:column;gap:6px}
@media(min-width:760px){
  .nav{display:block}
  .btn-row{flex-direction:row}
  .btn-call{padding:0 24px;font-size:1rem}
  h1{font-size:3.2rem}
  .fact-card{display:block}
  .rating{display:none}
  .section-tight{padding-top:48px}
  .points{grid-template-columns:repeat(3,1fr)}
  .visit{grid-template-columns:1fr 1.3fr;grid-template-areas:"info map" "phone map";align-content:center;column-gap:48px;row-gap:0}
  .visit-info{grid-area:info;align-self:end}
  .map-block{grid-area:map}
  .visit-phone{grid-area:phone;align-self:start}
  .cta-inner{flex-direction:row;align-items:center;justify-content:space-between}
  .footer-inner{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}
}
@media(min-width:1024px){
  .hero{padding:56px 0 40px}
  .hero-inner{grid-template-columns:1.3fr 1fr;align-items:center;gap:64px}
  h1{font-size:3.6rem}
  .map-frame{height:340px}
}
