/* Client template — system fonts, no external requests. Colors come from :root vars set in each page. */
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1d1f24;background:#fff}
img{max-width:100%;height:auto}a{color:var(--brand)}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.1rem}.narrow{max-width:720px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:9}
.top{position:sticky;top:0;background:#fff;border-bottom:1px solid #e6e6e6;z-index:5}
.bar{display:flex;align-items:center;gap:1rem;min-height:60px}.brand{font-weight:800;text-decoration:none;color:#111;margin-right:auto;min-height:44px;display:inline-flex;align-items:center}
.top nav{display:none;gap:1.2rem}.top nav a{text-decoration:none;color:#333;font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.btn{display:inline-block;background:var(--brand);color:#fff;border:2px solid var(--brand);padding:.7rem 1.2rem;border-radius:10px;font-weight:700;text-decoration:none;cursor:pointer;font-size:1rem}
.btn-o{background:transparent;color:var(--brand)}.btn-call{padding:.45rem .9rem}
.hero{background:var(--brand);color:#fff;padding:3.2rem 0}.hero h1{font-size:clamp(1.9rem,6vw,3rem);line-height:1.15;margin:0 0 .8rem}
.hero .lead{font-size:1.15rem;max-width:40em;opacity:.95}.hero .btn{background:var(--accent);border-color:var(--accent);color:#111}.hero .btn-o{background:transparent;color:#fff;border-color:#fff}
.ctas{display:flex;flex-wrap:wrap;gap:.6rem}
section{padding:2.8rem 0}.alt{background:#f6f6f3}h2{font-size:1.6rem;margin:0 0 1rem}
.grid{display:grid;gap:1rem}.card{border:1px solid #e3e3e3;border-radius:12px;padding:1.1rem}.card h3{margin:0 0 .3rem}
.two{display:grid;gap:2rem}.hours{padding-left:1.1rem}
.form label{display:block;font-weight:600;margin:.8rem 0 .25rem}.form input,.form textarea{width:100%;font:inherit;padding:.65rem;border:1px solid #9a9a9a;border-radius:8px}
.form button{margin-top:1rem}.small{font-size:.88rem;color:#555}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.foot{background:#16181c;color:#d4d4d8;padding:1.6rem 0;font-size:.92rem}.foot a{color:#fff}.foot .small{color:#a1a1aa}
@media(min-width:760px){.top nav{display:flex}.grid{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* --- Lead-ready additions (M-D35 proposal) --- */
.hero{position:relative;padding:0;background:var(--brand)}.hero picture,.hero-img{display:block;width:100%;height:auto;max-height:62vh;object-fit:cover}
.hero-txt{padding:1.6rem 1.1rem 2.2rem}.service-area{font-size:.95rem;opacity:.95;margin:.6rem 0 0}
.btn-o2{background:transparent;color:var(--brand)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form select{width:100%;font:inherit;padding:.65rem;border:1px solid #9a9a9a;border-radius:8px;background:#fff}
.form h2{margin-top:0}.map{margin-top:1rem}.map iframe{width:100%;height:300px;border:0;border-radius:10px}
.callbar{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--brand);z-index:6;box-shadow:0 -2px 8px rgba(0,0,0,.15)}
.callbar a{flex:1;text-align:center;color:#fff;font-weight:700;text-decoration:none;padding:.85rem .3rem;min-height:48px}
.callbar a+a{border-left:1px solid rgba(255,255,255,.3)}body{padding-bottom:56px}
.btn-call{white-space:nowrap}.brand img{display:block;height:40px;width:auto}
@media(min-width:760px){.callbar{display:none}body{padding-bottom:0}.hero{display:grid}.hero-txt{padding:2.4rem 1.1rem 3rem}}
.btn-q{padding:.45rem .8rem;background:#fff;color:var(--brand);white-space:nowrap}
.bar .btn{font-size:.95rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:519px){.btn-call .num{display:none}.bar{gap:.5rem}.brand{font-size:.95rem}}
