:root{--asphalt:#17181a;--asphalt2:#232528;--line:#ffc928;--paper:#f3f1ea;--ink:#17181a;--muted:#5d6066;--red:#c0392b}
html{scroll-behavior:smooth}
body{font-family:'Barlow',sans-serif;color:var(--ink);background:var(--paper);font-size:1.06rem;line-height:1.6}
h1,h2,h3,h4{font-family:'Big Shoulders Display',sans-serif;font-weight:900;text-transform:uppercase;line-height:.95;letter-spacing:.01em}
.util{background:var(--line);color:var(--ink);font-weight:600;font-size:.92rem;padding:.35rem 0}
.util a{color:var(--ink);text-decoration:none;font-weight:700}
.navbar{background:var(--asphalt);border-bottom:4px solid var(--line)}
.navbar-brand{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:1.6rem;color:#fff!important;text-transform:uppercase;letter-spacing:.02em}
.navbar-brand span{color:var(--line)}
.nav-link{color:#e8e8e8!important;font-weight:600;text-transform:uppercase;font-size:.9rem;letter-spacing:.08em}
.nav-link:hover{color:var(--line)!important}
.navbar-toggler{border-color:var(--line)}.navbar-toggler-icon{filter:invert(1)}
.btn-line{background:var(--line);color:var(--ink);font-weight:800;text-transform:uppercase;letter-spacing:.06em;border:0;border-radius:2px;padding:.85rem 1.6rem}
.btn-line:hover{background:#fff;color:var(--ink)}
.btn-ghost{border:2px solid #fff;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border-radius:2px;padding:.8rem 1.6rem}
.btn-ghost:hover{background:#fff;color:var(--ink)}
/* signature: painted road stripes */
.dashes{height:6px;background:repeating-linear-gradient(90deg,var(--line) 0 46px,transparent 46px 86px)}
.dbl{height:12px;border-top:4px solid var(--line);border-bottom:4px solid var(--line)}
.hero{background:var(--asphalt);color:#fff;padding:3rem 0 3.2rem;position:relative}
.hero h1{font-size:clamp(3.2rem,8vw,6.4rem);margin:.4rem 0 1rem}
.hero h1 em{font-style:normal;color:var(--line)}
.eyebrow{font-family:'Barlow',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:.82rem;color:var(--line)}
.hero p.lead{color:#d9d9d9;max-width:34rem}
.hero-photo{width:100%;aspect-ratio:4/3;max-height:min(66vh,480px);object-fit:cover;object-position:60% 60%;border-radius:4px;border:4px solid var(--line)}
.hero .dashes{position:absolute;left:0;right:0;bottom:0}
section{padding:5rem 0}
.sec-title{font-size:clamp(2.4rem,5vw,3.8rem);margin-bottom:.6rem}
.band{background:var(--asphalt);color:#fff}
.band .sec-title{color:#fff}
.svc{border-top:6px solid var(--line);background:#fff;padding:1.5rem;height:100%}
.svc h3{font-size:1.9rem;margin-bottom:.6rem}
.svc ul{padding-left:1.1rem;margin:0}
.svc li{margin-bottom:.35rem}
.pill{display:inline-block;background:var(--asphalt);color:var(--line);font-weight:700;padding:.3rem .8rem;margin:.2rem;border-radius:2px;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}
.shot{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;display:block}
.cap{font-size:.85rem;color:#c8c8c8;margin-top:.4rem}
.stat{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:3.4rem;color:var(--line);line-height:1}
.contact-card{background:var(--asphalt);color:#fff;padding:2rem;border-top:6px solid var(--line);height:100%}
.contact-card a{color:var(--line);font-weight:700}
.map{width:100%;height:100%;min-height:340px;border:0;border-radius:3px}
footer{background:#0e0f10;color:#bbb;padding:2.5rem 0 4.5rem;font-size:.95rem}
footer a{color:var(--line)}
.logo-foot{height:90px;width:auto}
.about-photo{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 30%;border-radius:3px;max-height:480px}
@media(max-width:575px){section{padding:3.5rem 0}.hero{padding:2rem 0 2.6rem}}
