:root{--red:#c8102e;--red-dark:#a00d24;--dark:#1a1a1a;--gray:#4a4a4a;--muted:#6b7280;--light:#f3f4f6;--border:#e5e7eb}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;margin:0;line-height:1.6;color:var(--dark);background:var(--light)}
.page{min-height:100vh;display:flex;flex-direction:column}
.topbar{background:linear-gradient(160deg,#c8102e 0%,#8f0c21 100%);color:#fff}
.topbar-inner{max-width:900px;margin:0 auto;padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none}
.brand-mark{width:38px;height:38px;border-radius:9px;background:#fff;display:grid;place-items:center;flex-shrink:0}
.brand-mark svg{width:26px;height:26px}
.brand-text{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.2}
.brand-text span{display:block;font-weight:500;opacity:.9;letter-spacing:.08em;font-size:.68rem}
.top-phone{color:#fff;font-weight:700;text-decoration:none;font-size:1.05rem}
.top-phone:hover{text-decoration:underline}
main{flex:1;padding:2rem 1rem 2.5rem}
.card{max-width:900px;margin:0 auto;background:#fff;border-radius:20px;padding:1.9rem 1.7rem;box-shadow:0 16px 40px rgba(0,0,0,.08)}
h1{font-size:1.9rem;line-height:1.2;margin:0 0 .5rem}
.lead{color:var(--gray);font-size:1.08rem;margin:0 0 1.25rem}
h2{font-size:1.25rem;margin:1.6rem 0 .5rem}
p,li{color:#2b2b2b}
ul{padding-left:1.2rem}
.profile{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap;margin-bottom:.5rem}
.headshot{width:132px;height:132px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.office-photo{width:100%;max-height:260px;object-fit:cover;border-radius:14px;margin:.5rem 0 1rem}
.rating{margin:.25rem 0 1.25rem}
.stars{position:relative;display:inline-block;color:#d1d5db;letter-spacing:2px;font-size:1.5rem;white-space:nowrap}
.stars-fill{position:absolute;top:0;left:0;width:90.5%;overflow:hidden;color:#f5b301}
.rating-text{font-weight:600;color:var(--gray)}
.quotes{display:grid;gap:.9rem;margin:1rem 0}
blockquote{margin:0;background:var(--light);border-left:4px solid var(--red);border-radius:10px;padding:.85rem 1rem}
blockquote p{margin:0 0 .35rem}
blockquote footer{font-size:.88rem;color:var(--muted);font-weight:600}
.cta{margin-top:1.8rem;background:#fff5f5;border:1px solid #f3c7cf;border-radius:16px;padding:1.3rem 1.2rem;text-align:center}
.cta h2{margin-top:0}
.cta-buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin:.8rem 0}
.btn{display:inline-block;padding:.85rem 1.3rem;border-radius:10px;font-weight:700;text-decoration:none;font-size:1rem}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-dark)}
.btn-secondary{background:#fff;color:var(--red);border:2px solid var(--red)}
.cta-address{margin:.3rem 0 0;color:var(--gray);font-size:.95rem}
.note{font-size:.82rem;color:var(--muted);margin-top:1.4rem}
.hours{border-collapse:collapse;margin:.5rem 0 1rem}
.hours td{padding:.35rem 1.2rem .35rem 0;border-bottom:1px solid var(--border)}
footer.site{background:#fff;border-top:1px solid var(--border);padding:1.15rem 1rem}
.footer-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:1rem;align-items:center;font-size:.88rem;color:var(--gray)}
.footer-brand{display:flex;align-items:center;gap:.55rem;font-weight:700;color:var(--dark);text-decoration:none}
.mini-mark{width:28px;height:28px;border-radius:7px;background:var(--red);display:grid;place-items:center}
.mini-mark svg{width:18px;height:18px}
.footer-center,.footer-right{display:flex;align-items:flex-start;gap:.45rem;line-height:1.35}
.footer-right{justify-content:flex-end}
.footer-nav{max-width:900px;margin:.85rem auto 0;display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;justify-content:center;font-size:.85rem}
.footer-nav a{color:var(--gray);text-decoration:none}
.footer-nav a:hover{color:var(--red);text-decoration:underline}
@media (max-width:760px){.footer-inner{grid-template-columns:1fr}.footer-right{justify-content:flex-start}h1{font-size:1.55rem}}
