:root{
  --bg:#f4f7f2; --surface:#fff; --ink:#1c2a1f; --muted:#5c6b5f;
  --accent:#2f7d4b; --accent-dark:#235c38; --cream:#e7efe6; --line:#d5e0d4;
  --radius:16px; --font-head:Georgia,"Times New Roman",serif;
  --font-body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.55}
a{color:var(--accent-dark)}
.container{max-width:720px;margin:0 auto;padding:0 20px}
.demo-banner{background:#fff3cd;color:#664d03;font-size:.82rem;text-align:center;padding:7px 14px}
.ex{font-size:.75rem;color:var(--muted);font-weight:500}
h1,h2,h3{font-family:var(--font-head);line-height:1.15;margin:0 0 .45em}
h1{font-size:2.35rem}
h2{font-size:1.7rem}
h3{font-size:1.15rem;margin:0 0 .25em}
.muted{color:var(--muted)}
.site-header{position:sticky;top:0;z-index:10;background:rgba(244,247,242,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}
.brand{font-family:var(--font-head);font-size:1.15rem;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap}
.brand-mark{margin-right:4px}
.nav-links{display:flex;align-items:center;gap:14px;font-size:.92rem}
.nav-links a{color:var(--ink);text-decoration:none;font-weight:500}
.nav-links a.btn{color:#fff}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:12px 20px;border-radius:999px;text-decoration:none;font-weight:600;border:2px solid var(--accent)}
.btn-outline{background:transparent;color:var(--accent-dark)}
.btn-small{padding:7px 14px;font-size:.88rem}
.hero{padding:36px 0 42px;background:radial-gradient(circle at 85% 20%,#cfe8d4 0,transparent 42%)}
.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--accent);font-weight:700;margin:0 0 10px}
.lead{font-size:1.05rem;color:var(--muted);margin:0 0 8px}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 14px}
.open-now{font-weight:600;margin:0}
.open-now .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;background:#2e9e5b;box-shadow:0 0 0 4px rgba(46,158,91,.18)}
.strip{background:var(--ink);color:var(--cream)}
.strip-grid{display:grid;gap:14px;padding:22px 20px}
.strip b{display:block;font-family:var(--font-head);font-size:1.05rem;color:#fff}
.strip span{font-size:.88rem;opacity:.82}
.section{padding:48px 0}
.alt{background:var(--cream)}
.section-head{margin-bottom:18px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 14px}
.card .emoji{font-size:1.6rem;display:block;margin-bottom:6px}
.card p{margin:0;color:var(--muted);font-size:.9rem}
.hours{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.hours th,.hours td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}
.hours tr:last-child th,.hours tr:last-child td{border-bottom:0}
.hours .today{background:#e8f6ec}
.hours .today th{color:var(--accent-dark)}
.note{font-size:.9rem;color:var(--muted);margin:14px 0 0}
.visit .lead-sm{font-size:1.1rem;font-weight:600;margin:0 0 6px}
.visit .btn{margin-top:16px}
.site-footer{background:var(--ink);color:var(--cream);padding:28px 0;font-size:.9rem}
.site-footer .muted{color:#a8b8ac}
.site-footer p{margin:0 0 6px}
