*{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:#222;background:#fff;padding-bottom:4.5rem}
.wrap{max-width:1000px;margin:0 auto;padding:0 1.1rem}
a{color:var(--brand)}a:focus-visible,.btn:focus-visible{outline:3px solid #1a73e8;outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:99}
.banner{background:#ffe08a;text-align:center;padding:.4rem;font-weight:600;font-size:.9rem}
.top{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:10}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem;padding-top:.6rem;padding-bottom:.6rem}
.logo{font-weight:800;text-decoration:none;font-size:1.1rem}
nav{display:flex;gap:.9rem;overflow-x:auto;font-size:.95rem}nav a{text-decoration:none;color:#333;white-space:nowrap}
.hero{background:linear-gradient(135deg,var(--brand),#2b1a10);color:#fff;padding:4rem 0 3.5rem;text-align:center}
.hero h1{font-size:clamp(2rem,7vw,3.4rem);margin:0 0 .4rem;line-height:1.1}.tag{font-size:1.2rem;opacity:.92;margin:0 0 1.5rem}
.btn{display:inline-block;background:#fff;color:var(--brand);padding:.8rem 1.3rem;border-radius:999px;font-weight:700;text-decoration:none;margin:.25rem}
.btn.alt{background:transparent;color:#fff;border:2px solid #fff}
section{padding:2.8rem 0}.tint{background:#faf6f2}h2{margin-top:0;font-size:1.8rem}
.grid{list-style:none;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{border:1px solid #eadfd5;border-radius:12px;padding:1rem;background:#fff}.card h3{margin:0;font-size:1.1rem}.card p{margin:.4rem 0 0;color:#555}
.row{display:flex;justify-content:space-between;gap:.5rem}.price{font-weight:700;color:var(--brand)}
.hours{border-collapse:collapse;width:100%;max-width:420px}.hours th,.hours td{text-align:left;padding:.45rem 0;border-bottom:1px solid #e5d9cc}
address{font-style:normal;margin-bottom:1rem}
.map{aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:#eee}.map iframe{width:100%;height:100%;border:0}
.gallery{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
figure{margin:0}figure img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block;background:#ddd}
figcaption{font-size:.85rem;color:#666;padding-top:.25rem}
footer{background:#222;color:#ccc;padding:1.5rem 0;font-size:.9rem}
.callfab{position:fixed;left:1rem;right:1rem;bottom:1rem;background:var(--brand);color:#fff;text-align:center;padding:.9rem;border-radius:999px;font-weight:700;text-decoration:none;box-shadow:0 4px 14px #0004;z-index:20}
@media(min-width:800px){.callfab{display:none}body{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
