:root{--ink:#0b1416;--ink2:#152125;--pine:#193f35;--paper:#fff;--cream:#f5f2e9;--amber:#f4b33b;--amberdark:#c97b00;--muted:#5e6c70;--line:#d9ded9;--max:1120px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}
img,svg{display:block;width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--amber);outline-offset:4px}
.shell{width:min(calc(100% - 34px),var(--max));margin-inline:auto}
.rating{min-height:34px;display:flex;align-items:center;justify-content:center;background:var(--ink);color:#ffe1a1;font-size:.76rem;font-weight:850;text-decoration:none}
.rating:hover{color:#fff}
header{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(11,20,22,.08);background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}
.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{min-width:0;display:flex;align-items:center;gap:11px;text-decoration:none}
.brand img{width:46px;height:46px;flex:0 0 auto;filter:drop-shadow(0 6px 9px rgba(7,18,20,.14))}
.brand strong{display:block;max-width:220px;font-size:.82rem;line-height:1.05}
.nav-phone{flex:0 0 auto;font-size:.78rem;font-weight:950;text-decoration:none;white-space:nowrap}
.breadcrumbs{padding:14px 0;background:#fff;color:var(--muted);font-size:.72rem}
.breadcrumbs a{font-weight:800;text-underline-offset:3px}
.hero{overflow:hidden;background:var(--ink);color:#fff}
.hero-grid{display:grid;gap:28px;padding:30px 0 42px}
.eyebrow{margin:0 0 13px;color:#ffd98e;font-size:.72rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.04em}
h1{max-width:12ch;margin-bottom:18px;font-size:clamp(2.7rem,12vw,5rem);line-height:.97}
h2{margin-bottom:15px;font-size:clamp(2rem,7vw,3.45rem);line-height:1.02}
h3{margin-bottom:8px;font-size:1.2rem;line-height:1.15}
.lede{max-width:660px;margin-bottom:24px;color:#d8e2df;font-size:1.04rem;line-height:1.55}
.button{min-height:58px;width:100%;display:inline-flex;align-items:center;justify-content:center;padding:15px 20px;border-radius:10px;background:var(--amber);box-shadow:0 5px 0 var(--amberdark);color:var(--ink);font-weight:950;line-height:1.2;text-align:center;text-decoration:none}
.micro{margin:17px 0 0;color:#aebbb8;font-size:.75rem;text-align:center}
.hero-photo{position:relative;overflow:hidden;aspect-ratio:1.35/1;border-radius:18px 18px 58px 18px;box-shadow:0 23px 55px rgba(0,0,0,.3)}
.hero-photo img{height:100%;object-fit:cover}
.hero-photo span{position:absolute;left:16px;bottom:14px;padding:7px 10px;border-radius:7px;background:rgba(11,20,22,.83);font-size:.7rem;font-weight:900}
.no-photo{display:flex;align-items:flex-end;min-height:250px;padding:24px;border:1px solid rgba(255,255,255,.15);border-radius:18px 18px 58px 18px;background:linear-gradient(145deg,#254d42,var(--ink))}
.no-photo strong{max-width:12ch;color:#fff;font-size:1.75rem;line-height:1.05}
.proof{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);background:#fff}
.proof>*{min-width:0;padding:16px 6px;border-right:1px solid var(--line);text-align:center;text-decoration:none}
.proof>*:last-child{border-right:0}
.proof strong,.proof span{display:block}
.proof strong{font-size:.73rem;line-height:1.2}
.proof span{margin-top:4px;color:var(--muted);font-size:.61rem;line-height:1.25}
.content{padding:62px 0;background:#fff}
.content-grid{display:grid;gap:40px}
.copy{max-width:740px}
.copy>p{color:#46575a}
.copy h2:not(:first-child){margin-top:45px}
.checklist{display:grid;gap:12px;margin:26px 0 0;padding:0;list-style:none}
.checklist li{display:grid;grid-template-columns:26px 1fr;gap:11px;color:#2b3b3e}
.checklist li:before{content:"✓";width:24px;height:24px;display:grid;place-items:center;margin-top:2px;border-radius:50%;background:#fff2d6;color:#9a5b00;font-size:.7rem;font-weight:950}
.aside{padding:24px;border:1px solid var(--line);border-radius:15px;background:var(--cream)}
.aside p{color:var(--muted);font-size:.88rem}
.aside .button{margin-top:8px}
.related{padding:62px 0;background:var(--cream)}
.related h2{max-width:15ch}
.cards{display:grid;gap:13px;margin-top:27px}
.card{display:block;padding:21px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none}
.card:hover{border-color:#bdc8c2;box-shadow:0 12px 28px rgba(7,18,20,.07)}
.card strong{display:block}
.card span{display:block;margin-top:5px;color:var(--muted);font-size:.79rem}
.area-box{padding:62px 0;background:var(--pine);color:#fff}
.area-box h2{max-width:14ch}
.area-box p{color:#c7d7d1}
.towns{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.towns span{padding:8px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;font-size:.78rem}
.area-box a{display:inline-flex;margin-top:22px;color:#fff;font-weight:900;text-underline-offset:4px}
.cta{padding:62px 0;background:var(--amber)}
.cta h2{max-width:15ch}
.cta p{max-width:630px;color:#5e3c00}
.cta .button{margin-top:10px;background:var(--ink);box-shadow:0 5px 0 #000;color:#fff}
footer{padding:31px 0 104px;background:var(--ink);color:#b7c1be;text-align:center;font-size:.72rem}
footer a{color:#fff;font-weight:900}
.footer-links{display:flex;justify-content:center;gap:8px 15px;flex-wrap:wrap;margin-bottom:17px}
.footer-links a{color:#d8e0de;text-decoration:none}
.sticky-call{position:fixed;left:10px;right:10px;bottom:10px;z-index:30;min-height:58px;display:flex;align-items:center;justify-content:center;border:1px solid #ffe1a1;border-radius:11px;background:var(--amber);box-shadow:0 9px 27px rgba(3,10,12,.34);font-weight:950;text-decoration:none;transition:opacity .18s ease,transform .18s ease}
.sticky-call.is-hidden{opacity:0;transform:translateY(90px);pointer-events:none}
@media(min-width:760px){
  .shell{width:min(calc(100% - 50px),var(--max))}
  .nav{min-height:76px}.brand img{width:50px;height:50px}.brand strong{font-size:.94rem}.nav-phone{font-size:.94rem}
  .rating{justify-content:flex-end;padding-right:max(25px,calc((100vw - var(--max))/2));font-size:.78rem}
  .hero-grid{grid-template-columns:1.04fr .96fr;gap:clamp(48px,7vw,90px);align-items:center;padding:40px 0 66px}
  .button{width:auto}.micro{text-align:left}
  .hero-photo,.no-photo{aspect-ratio:4/4.5;min-height:420px}
  .proof{width:min(calc(100% - 50px),var(--max));margin:-35px auto 0;position:relative;z-index:3;overflow:hidden;border:1px solid var(--line);border-radius:15px;box-shadow:0 20px 50px rgba(7,18,20,.13)}
  .proof>*{padding:21px}.proof strong{font-size:.94rem}.proof span{font-size:.72rem}
  .content{padding:100px 0}.content-grid{grid-template-columns:minmax(0,1fr) 300px;gap:clamp(55px,8vw,100px)}.aside{position:sticky;top:105px}
  .related,.area-box,.cta{padding:88px 0}.cards{grid-template-columns:repeat(3,1fr)}
  footer{padding-bottom:35px}.sticky-call{display:none}
}

/* Rugged blacktop brand system shared by service and information pages. */
:root{--ink:#080b0d;--ink2:#171b1e;--pine:#202529;--cream:#eceeeb;--amber:#ffc526;--amberdark:#c88600;--orange:#ff5a1f;--muted:#626a6e;--line:#cdd1cf}
body{background:#e7e9e6}
h1,h2,h3,.button{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-weight:900;letter-spacing:.005em;text-transform:uppercase}
.rating{border-bottom:3px solid var(--amber);background:#07090a;color:var(--amber)}
header{border-bottom:4px solid var(--amber);background:rgba(255,255,255,.98)}
.brand strong{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;letter-spacing:.02em;text-transform:uppercase}
.nav-phone{font-size:.84rem;letter-spacing:.02em}
.breadcrumbs{border-bottom:1px solid #d1d4d2;background:#f7f7f5}
.hero{position:relative;background:linear-gradient(145deg,#121719,#07090a 76%)}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:repeating-linear-gradient(135deg,var(--amber) 0 25px,#080b0d 25px 44px)}
.hero-grid{position:relative;z-index:1}
.eyebrow{color:var(--amber)}
.hero-photo{border:2px solid #52595d;border-radius:10px;box-shadow:0 25px 62px rgba(0,0,0,.48)}
.hero-photo span{border-left:4px solid var(--amber);border-radius:5px;background:rgba(8,11,13,.9)}
.no-photo{position:relative;overflow:hidden;border:1px solid #555c60;border-radius:10px;background:linear-gradient(145deg,#252b2f,#0b0e10)}
.no-photo:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:linear-gradient(90deg,var(--amber) 0 72%,var(--orange) 72%)}
.no-photo strong{position:relative;z-index:1;color:var(--amber);font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:2.15rem;letter-spacing:.015em;text-transform:uppercase}
.button{border:1px solid #ffe488;border-radius:7px;background:linear-gradient(135deg,#ffd03a,#ffbc13);box-shadow:0 6px 0 var(--amberdark),0 13px 24px rgba(0,0,0,.2);font-size:1.05rem;letter-spacing:.025em}
.proof{border-color:#3d4347;background:#14181b;color:#fff}
.proof>*{border-color:#383e42}
.proof span{color:#aeb6ba}
.content{background:#f7f7f5}
.copy>p{color:#41494d}
.checklist li:before{border-radius:5px;background:var(--amber);color:#080b0d}
.aside{border:1px solid #4a5054;border-top:6px solid var(--amber);border-radius:8px;background:#171b1e;color:#fff;box-shadow:0 14px 35px rgba(0,0,0,.16)}
.aside p{color:#c3c9cc}
.related{background:linear-gradient(145deg,#1b2023,#090b0d);color:#fff}
.card{position:relative;overflow:hidden;border:1px solid #474e52;border-radius:8px;background:#202529;color:#fff}
.card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--amber) 0 72%,var(--orange) 72%)}
.card span{color:#bec5c8}
.area-box{border-top:8px solid var(--amber);border-bottom:8px solid var(--amber);background:linear-gradient(145deg,#1f2427,#090b0c)}
.towns span{border-radius:6px;background:#1d2225}
.cta{border-top:8px solid #111;background:linear-gradient(135deg,#ff6a25,var(--orange))}
.cta p{color:#2d160b}
.cta .button{border-color:#4a5054;background:#111416;box-shadow:0 6px 0 #000,0 13px 22px rgba(0,0,0,.25)}
footer{border-top:4px solid var(--amber);background:#07090a}
.sticky-call{border:1px solid #ffe488;border-radius:7px;background:linear-gradient(135deg,#ffd03a,#ffbc13);box-shadow:0 6px 0 var(--amberdark),0 12px 25px rgba(0,0,0,.35);font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:1.06rem;letter-spacing:.025em;text-transform:uppercase}
@media(min-width:760px){.hero-grid{padding:34px 0 62px}.no-photo{min-height:340px;aspect-ratio:auto}.proof{border-radius:9px}}
