:root{--r:#c8102e;--d:#14171c;--g:#f3f4f6}*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,Segoe UI,Roboto,sans-serif;color:#222}
.wrap{max-width:1100px;margin:auto;padding:56px 20px}h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.1;margin:.2em 0}h2{font-size:2rem;margin-top:0}
.nav{position:sticky;top:0;z-index:9;display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--d);color:#fff}.brand{color:#fff;text-decoration:none;font-size:1.1rem;margin-right:auto}.brand b{color:var(--r)}.nav nav{display:none;gap:18px}.nav nav a{color:#ddd;text-decoration:none}
.btn{display:inline-block;background:var(--r);color:#fff;padding:14px 22px;border-radius:8px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-size:1rem}.btn.sm{padding:8px 12px;font-size:.9rem}.btn.ghost{background:transparent;border:2px solid #fff}.btn.ghost.dark{border-color:var(--d);color:var(--d)}
.ph{background:linear-gradient(135deg,#2a2f38,#4b5260);position:relative;min-height:180px;border-radius:10px}.ph::after{content:attr(data-ph);position:absolute;bottom:8px;left:10px;font-size:.75rem;color:#ffffff99}
.hero{border-radius:0;color:#fff;background:linear-gradient(90deg,#14171cee,#14171c88),url(img/hero.webp) center/cover}.hero .wrap{padding:90px 20px}.eyebrow{color:#ff8a9a;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.badges{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}.badges li{background:#ffffff1a;padding:6px 12px;border-radius:99px;font-size:.9rem}
.steps{display:grid;gap:20px}.steps span{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--r);color:#fff;font-weight:800}
.grid{display:grid;gap:18px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:22px;box-shadow:0 2px 10px #0000000d}.card h3{margin-top:0}
.band{background:var(--g)}.two{display:grid;gap:32px;align-items:start}.tall{min-height:320px}

blockquote{margin:0;font-style:italic}cite{display:block;margin-top:10px;font-style:normal;font-weight:700}.ph-t{color:#888}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hours td{padding:4px 16px 4px 0}iframe{width:100%;min-height:340px;border:0;border-radius:12px}.small{font-size:.88rem;color:#555}

@media(min-width:800px){.nav nav{display:flex}.steps,.grid{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:repeat(3,1fr)}}
.photo{width:100%;object-fit:cover;border-radius:12px;display:block}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
@media(max-width:640px){.ctas .btn{display:block;width:100%;text-align:center;margin:.4rem 0}}
.steps.est{padding:10px 0 20px}.btn.lg{font-size:1.1rem;padding:16px 26px}
.btn.ghost.dark{color:#14171c;border-color:#14171c}
.svc-sec{background:#fafafa;border-top:1px solid #eee;border-bottom:1px solid #eee}.svc-sec .wrap{padding:80px 20px}
.kicker{color:var(--r);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin:0 0 8px}
.svc-sec h2{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.01em;margin:0 0 10px;color:var(--d)}.lead{color:#5b6370;max-width:560px;margin:0 0 44px}
.svc-grid{display:grid;gap:24px;grid-template-columns:1fr}@media(min-width:600px){.svc-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:960px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
.svc{background:#fff;border:1px solid #e7e9ee;border-radius:10px;padding:28px;box-shadow:0 1px 2px #0000000a;transition:box-shadow .2s,transform .2s}.svc:hover{box-shadow:0 8px 24px #00000012;transform:translateY(-2px)}
.svc svg{width:28px;height:28px;fill:none;stroke:var(--r);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px}
.svc h3{font-size:1.05rem;margin:0 0 6px;color:var(--d)}.svc p{margin:0;color:#5b6370;font-size:.95rem;line-height:1.55}
.hero .sub{font-size:1.15rem;max-width:620px;color:#e5e7eb}.trust{color:#cbd5e1;font-size:.95rem;margin:0}
.ctas.center{justify-content:center;margin-top:36px}
.todo{padding-left:1.2rem}.todo li{margin-bottom:10px}
.quote{max-width:760px;margin:0 auto;font-size:1.05rem}
.narrow{max-width:800px}details{border-bottom:1px solid #e5e7eb;padding:16px 0}summary{font-weight:700;cursor:pointer;color:var(--d)}details p{color:#5b6370;margin:10px 0 0}
.foot{background:var(--d);color:#cbd5e1}.foot a{color:#fff}.foot .small{color:#9aa3af}.foot .wrap{padding:40px 20px 90px}
.mbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;z-index:20;box-shadow:0 -4px 16px #0002}.mbar a{padding:16px;text-align:center;font-weight:800;text-decoration:none;color:#fff;background:var(--d)}.mbar a+a{background:var(--r)}
@media(min-width:800px){.mbar{display:none}.foot .wrap{padding-bottom:40px}}
.btn.sm{white-space:nowrap}@media(max-width:420px){.brand{font-size:.95rem}}
/* hero polish */
.hero{background:linear-gradient(#0d1014d9,#0d1014d9),url(img/hero.webp) center/cover}
.hero .wrap{padding:96px 20px 88px}
.hero .eyebrow{margin:0 0 14px;font-size:.78rem;letter-spacing:.14em;white-space:nowrap}
.hero h1{font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 16px;max-width:720px}
.hero .sub{font-size:1.1rem;color:#d1d5db;margin:0 0 28px;max-width:560px}
.hero .ctas{margin:0 0 22px;gap:12px}.hero .ctas .btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:0 26px;border-width:2px;border-style:solid;border-color:var(--r);box-sizing:border-box}.hero .ctas .btn.ghost{border-color:#ffffffb3}
.hero .trust{font-size:.88rem;color:#cbd5e1;margin:0 0 4px}.towns{font-size:.8rem;color:#9ca3af;margin:0}
.nav .call{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.nav .call svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nav .call .short{display:none}.brand{white-space:nowrap}
@media(max-width:640px){.nav{padding:10px 16px}.brand{font-size:1rem}.nav .call .full{display:none}.nav .call .short{display:inline}
.hero .wrap{padding:56px 20px 52px}.hero h1{font-size:2.05rem}.hero .sub{font-size:1rem;margin-bottom:24px}.hero .ctas{flex-direction:column}.hero .ctas .btn{width:100%;margin:0}}
.hero h1{max-width:900px}
