:root{--tar:#17181a;--tar2:#232528;--orange:#ff7a1a;--line:#f5c518;--chalk:#f3f1ea;--ink:#1b1c1e;--muted:#5d6065}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth;scroll-padding-top:74px}
body{font-family:'Work Sans',system-ui,sans-serif;color:var(--ink);background:var(--chalk);font-size:1.05rem;line-height:1.6}
h1,h2,h3,.display{font-family:'Big Shoulders Display','Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.01em;line-height:.95;font-weight:800}
.mono{font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem}
.site-nav{background:var(--tar);border-bottom:4px solid var(--orange);padding:.45rem 0}
.navbar-brand{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;color:var(--orange)!important;font-size:1.55rem;line-height:1;white-space:normal}
.navbar-brand small{display:block;font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.16em;color:#d8d6cf;font-weight:400;margin-top:3px}
.site-nav .nav-link{color:#eceae3;font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;padding:.6rem .85rem}
.site-nav .nav-link:hover{color:var(--orange)}
.navbar-toggler{border-color:#666;background:#eee}
.btn-orange{background:var(--orange);color:#111;font-weight:700;border:0;border-radius:2px;padding:.85rem 1.6rem;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem}
.btn-orange:hover{background:#ff9446;color:#111}
.btn-ghost{border:2px solid #f3f1ea;color:#f3f1ea;border-radius:2px;padding:.8rem 1.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem}
.btn-ghost:hover{background:#f3f1ea;color:#111}
/* signature: road markings */
.dbl-yellow{height:12px;border-top:3px solid var(--line);border-bottom:3px solid var(--line);margin:0}
.dash-white{height:4px;background:repeating-linear-gradient(90deg,#f3f1ea 0 38px,transparent 38px 76px);opacity:.85}
.hero{background:var(--tar);color:#f3f1ea;padding:3rem 0 0;position:relative;overflow:hidden}
.hero .eyebrow{color:var(--line)}
.hero h1{font-size:clamp(3.6rem,9vw,7.6rem);margin:.7rem 0 1rem;color:#fff}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero p.lead{max-width:34rem;color:#dedcd5;font-size:1.15rem}
.hero-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;height:clamp(300px,36vw,500px)}
.hero-photos img{width:100%;height:100%;object-fit:cover;border:3px solid #f3f1ea}
.hero-photos img:nth-child(2){margin-top:28px}
.hero-photos img:nth-child(3){margin-top:-0px}
.hero-facts{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin-top:2rem;padding-bottom:2.4rem;color:#cfcdc6}
.hero-facts b{color:var(--orange);font-weight:500}
section{padding:clamp(3.5rem,7vw,6rem) 0}
.sec-title{font-size:clamp(2.6rem,6vw,4.6rem);margin:.4rem 0 1rem}
.eyebrow{color:var(--orange)}
.about{background:var(--chalk)}
.about p{max-width:38rem}
.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:3px solid var(--tar);margin-top:2rem}
.stat-strip div{padding:1rem 1rem 0 0}
.stat-strip b{display:block;font-family:'Big Shoulders Display',sans-serif;font-size:2.4rem;line-height:1;text-transform:uppercase}
.stat-strip span{font-size:.85rem;color:var(--muted)}
.services{background:var(--tar);color:#f3f1ea}
.services .sec-title{color:#fff}
.svc-list{list-style:none;padding:0;margin:2rem 0 0}
.svc-list li{display:grid;grid-template-columns:1fr 1.6fr;gap:1rem 2rem;padding:1.3rem 0;border-top:2px dashed #55575b;align-items:baseline}
.svc-list li:last-child{border-bottom:2px dashed #55575b}
.svc-list h3{font-size:clamp(1.9rem,3.5vw,2.7rem);color:var(--orange);margin:0}
.svc-list p{margin:0;color:#d9d7d0}
.more-line{margin-top:1.5rem;color:#c9c7c0}
.ba{background:var(--chalk)}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:760px}
.ba-pair figure{margin:0;position:relative}
.ba-pair img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;border:3px solid var(--tar)}
.ba-pair figcaption{position:absolute;left:0;bottom:0;background:var(--tar);color:var(--line);padding:.35rem .8rem}
.perks{list-style:none;padding:0;margin:1.4rem 0 0}
.perks li{padding:.7rem 0 .7rem 2rem;border-top:1px solid #c9c6bb;position:relative}
.perks li:before{content:"";position:absolute;left:0;top:1.15rem;width:1.1rem;height:4px;background:var(--orange)}
.gallery{background:#e8e5db}
.masonry{columns:2;column-gap:10px}
@media(min-width:768px){.masonry{columns:3}}
@media(min-width:1100px){.masonry{columns:4}}
.masonry img{width:100%;display:block;margin:0 0 10px;border:3px solid var(--tar);break-inside:avoid}
.contact{background:var(--tar);color:#f3f1ea}
.contact .sec-title{color:#fff}
.contact a{color:var(--orange)}
.sign{border:4px solid #f3f1ea;outline:3px solid var(--tar);background:#1d5c3a;color:#fff;padding:1.4rem 1.6rem;border-radius:10px;box-shadow:0 0 0 3px #f3f1ea inset}
.sign h3{font-size:2rem;margin:0 0 .6rem}
.sign table{width:100%}
.sign td{padding:.25rem 0;font-family:'DM Mono',monospace;text-transform:uppercase;font-size:.85rem;letter-spacing:.08em}
.sign td:last-child{text-align:right}
.big-phone{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:clamp(2.4rem,6vw,3.6rem);line-height:1;color:var(--orange)!important;text-decoration:none}
.contact dt{color:var(--line);margin-top:1rem}
.contact dd{margin:0}
.map{border:3px solid #f3f1ea;width:100%;height:340px}
footer{background:#0e0f10;color:#bdbbb4;padding:2rem 0;font-size:.92rem}
footer a{color:#f3f1ea}
footer .brand{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;color:var(--orange);font-size:1.4rem}
@media(max-width:767px){
 .hero-photos{height:62vw}
 .hero-photos img:nth-child(2){margin-top:14px}
 .svc-list li{grid-template-columns:1fr}
 .ba-pair{grid-template-columns:1fr 1fr}
 .stat-strip b{font-size:1.9rem}
}
