:root{--slate:#17303d;--slate2:#22434f;--cream:#f5efe3;--paper:#fffaf0;--copper:#d9622b;--copper-d:#a8451a;--ink:#1b2830;--mist:#dfe7e6}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:'Work Sans',system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:1.05rem;line-height:1.65}
h1,h2,h3,h4,.display{font-family:'Big Shoulders Display',Impact,sans-serif;text-transform:uppercase;letter-spacing:.01em;line-height:.98;font-weight:800}
a{color:var(--copper-d)}
.topbar{background:var(--slate);color:#fff;font-size:.9rem;padding:.4rem 0}
.topbar a{color:#fff;text-decoration:none;font-weight:600}
.topbar .sep{opacity:.4;margin:0 .6rem}
.navbar{background:var(--paper);border-bottom:3px solid var(--copper)}
.navbar-brand{font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;font-size:1.7rem;color:var(--slate);display:flex;align-items:center;gap:.6rem}
.navbar-brand img{height:42px;width:auto;background:var(--slate);border-radius:6px;padding:3px}
.navbar .nav-link{color:var(--slate);font-weight:600;font-size:.95rem}
.navbar .nav-link:hover{color:var(--copper-d)}
.btn-copper{background:var(--copper);color:#fff;border:0;font-weight:700;border-radius:4px;padding:.75rem 1.6rem;text-transform:uppercase;letter-spacing:.04em}
.btn-copper:hover{background:var(--copper-d);color:#fff}
.btn-outline-slate{border:2px solid var(--slate);color:var(--slate);font-weight:700;border-radius:4px;padding:.7rem 1.5rem;text-transform:uppercase;letter-spacing:.04em}
.btn-outline-slate:hover{background:var(--slate);color:#fff}
/* hero: typographic + inset photo, shingle courses */
.hero{background:var(--slate);color:#fff;position:relative;padding:5rem 0 7rem;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;opacity:.18;background:
 radial-gradient(circle at 50% 0,transparent 0 17px,#fff 17.5px 19px,transparent 19.5px) 0 0/38px 24px;}
.hero .container{position:relative}
.hero h1{font-size:clamp(3.4rem,9vw,7.2rem);margin:.4rem 0 1.2rem}
.hero h1 em{font-style:normal;color:var(--copper)}
.eyebrow{font-family:'Work Sans',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;font-weight:700;color:var(--copper)}
.hero .lead{max-width:34rem;color:#e6eeee}
.hero-photo{position:relative;border:6px solid var(--paper);box-shadow:14px 14px 0 var(--copper);transform:rotate(1.5deg);background:#000}
.hero-photo img{width:100%;height:auto;display:block;aspect-ratio:16/10;object-fit:cover}
.hero-photo .tag{position:absolute;left:-14px;bottom:-18px;background:var(--copper);color:#fff;font-family:'Big Shoulders Display',sans-serif;font-weight:800;text-transform:uppercase;padding:.35rem .9rem;font-size:1.2rem;transform:rotate(-3deg)}
/* shingle-course divider */
.shingle{height:26px;background:radial-gradient(circle at 50% 0,var(--c1) 0 13px,transparent 13.5px) 0 0/26px 26px;margin-top:-1px}
.shingle.to-cream{--c1:var(--slate);background-color:var(--cream)}
.shingle.to-slate{--c1:var(--cream);background-color:var(--slate)}
.shingle.to-paper{--c1:var(--cream);background-color:var(--paper)}
.shingle.paper-to-cream{--c1:var(--paper);background-color:var(--cream)}
.shingle.cream-to-slate2{--c1:var(--cream);background-color:var(--slate)}
.strip{background:var(--copper);color:#fff;padding:1rem 0;font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;font-weight:700;font-size:1.4rem}
.strip .item{display:flex;align-items:center;gap:.5rem;justify-content:center}
section{padding:5rem 0}
h2{font-size:clamp(2.4rem,5vw,3.8rem);color:var(--slate)}
.sec-slate{background:var(--slate);color:#fff}.sec-slate h2{color:#fff}
.sec-paper{background:var(--paper)}
/* services index */
.svc-group h3{font-size:2rem;color:var(--slate);border-bottom:3px solid var(--copper);padding-bottom:.3rem;margin-bottom:1rem}
.svc{padding:.9rem 0;border-bottom:1px solid #d6cdb9}
.svc h4{font-size:1.45rem;margin:0 0 .2rem;color:var(--copper-d)}
.svc p{margin:0;font-size:.98rem}
.photo-frame{border:6px solid var(--paper);box-shadow:10px 10px 0 var(--slate);width:100%;height:auto}
.photo-frame.alt{box-shadow:10px 10px 0 var(--copper)}
.chip{display:inline-block;background:var(--mist);color:var(--slate);border-radius:30px;padding:.25rem .85rem;margin:.2rem;font-weight:600;font-size:.95rem}
.county{background:var(--slate2);padding:1.5rem;border-top:5px solid var(--copper);height:100%}
.county h3{font-size:1.8rem;color:#fff}
.county .chip{background:rgba(255,255,255,.12);color:#fff}
.hub-term{background:var(--paper);border-left:6px solid var(--copper);padding:1rem 1.2rem;height:100%}
.hub-term h4{font-size:1.4rem;margin:0 0 .3rem;color:var(--slate)}
.hub-term p{margin:0;font-size:.97rem}
.nick{width:120px;height:auto;border-radius:50%;aspect-ratio:1/1;object-fit:cover;border:4px solid var(--copper)}
.badge-row .b{display:inline-block;border:2px solid var(--slate);color:var(--slate);padding:.3rem .9rem;border-radius:4px;font-weight:700;margin:.25rem .25rem 0 0;text-decoration:none}
.emergency{background:var(--copper-d);color:#fff}
.emergency h2{color:#fff}
.emergency img{border:6px solid #fff}
.contact-card{background:var(--paper);padding:2rem;border-top:6px solid var(--copper)}
.contact-card .big{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:clamp(2.4rem,6vw,3.6rem);color:var(--slate);text-decoration:none;line-height:1}
.map{width:100%;height:100%;min-height:320px;border:0}
footer{background:var(--slate);color:#cfdcdc;padding:2.5rem 0}
footer a{color:#fff}
.footlogo{height:46px;width:auto;background:var(--paper);padding:4px 8px;border-radius:6px}
.powered a{color:var(--copper);font-weight:600}
@media(max-width:991px){.hero{padding:3rem 0 5rem}.hero-photo{margin:2rem 14px 0 0}section{padding:3.5rem 0}.navbar-brand{font-size:1.4rem}}
.hub-term{color:var(--ink)}
