*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1b1f24;background:#fff}
a{color:var(--accent)}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.narrow{max-width:720px}
.row{display:flex;align-items:center;justify-content:space-between}
.gap{gap:12px;justify-content:flex-start;flex-wrap:wrap}
.wrapcols{align-items:flex-start;gap:40px;flex-wrap:wrap;justify-content:flex-start}
.demo{background:#fff4ce;color:#5c4300;text-align:center;padding:8px 16px;font-size:14px}
.top{position:sticky;top:0;background:#fffffff0;backdrop-filter:blur(6px);border-bottom:1px solid #eaeef2;z-index:5}
.top .row{height:64px}
.brand{font-size:19px}
.hero{padding:72px 0 56px;background:linear-gradient(180deg,#f6f8fa,#fff)}
h1{font-size:clamp(32px,6vw,52px);line-height:1.1;margin:0 0 16px;max-width:16ch}
h2{font-size:28px;margin:0 0 20px}
h3{margin:0 0 6px;font-size:19px}
.lead{font-size:20px;color:#424a53;max-width:56ch;margin:0 0 24px}
.areas{color:#59636e;font-size:15px;margin-top:20px}
section{padding:56px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{border:1px solid #eaeef2;border-radius:12px;padding:20px;margin:0;background:#fff}
.card p{margin:0;color:#424a53}
.price{margin-top:10px!important;font-weight:600;color:#1b1f24!important}
blockquote{margin:0 0 10px}
figcaption{color:#59636e;font-size:14px}
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:12px 20px;border-radius:999px;font-weight:600}
.btn.ghost{background:transparent;color:var(--accent);border:2px solid var(--accent)}
.btn.small{padding:8px 14px;font-size:15px}
.hours th{text-align:left;padding:4px 24px 4px 0;font-weight:500}
#reviews,#about{background:#f6f8fa}
footer{padding:32px 0 96px;color:#59636e;font-size:14px;border-top:1px solid #eaeef2}
.fab{display:none}
@media (max-width:640px){
  .top .btn{display:none}
  .fab{display:block;position:fixed;right:16px;bottom:16px;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;padding:14px 22px;border-radius:999px;box-shadow:0 6px 20px #0003}
  .hero{padding:48px 0 40px}
}
.stack{display:grid;gap:10px}
details summary{cursor:pointer;font-weight:600}
details p{margin-top:8px!important}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.nav{display:flex;gap:22px;margin-left:auto;margin-right:22px}
.nav a{color:#424a53;text-decoration:none;font-size:15px}
.nav a:hover{color:var(--accent)}
.formcol{flex:1;min-width:280px;max-width:440px}
.form{display:grid;gap:12px}
.form label{display:grid;gap:4px;font-size:15px;font-weight:500}
.form input,.form textarea{font:inherit;padding:10px 12px;border:1px solid #d0d7de;border-radius:8px;background:#fff}
.form button{cursor:pointer;border:0;justify-self:start;font:inherit;font-weight:600}
@media (max-width:820px){.nav{display:none}}
