/* Bridgeport Demolition — industrial design tokens
   coal: #17191C | steel: #2A2E33 | bone: #F4F2ED | safety: #F5641E | dust: #8E959D */
:root{
  --coal:#17191C; --steel:#2A2E33; --bone:#F4F2ED; --safety:#F5641E; --safety-d:#D14E12;
  --dust:#8E959D; --line:#3A3F45; --line-lt:#E2DED5; --ink:#1E2126;
  --display:'Barlow Condensed',sans-serif; --body:'Barlow',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--body);color:var(--ink);background:var(--bone);font-size:1.05rem;line-height:1.65}
img{max-width:100%}
a{color:var(--ink)}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* header — dark industrial */
header.hd{background:var(--coal);color:#fff}
.hd-top{border-bottom:1px solid var(--line)}
.hd-top .wrap{display:flex;justify-content:space-between;gap:12px;padding:8px 24px;font-size:.8rem;color:var(--dust);text-transform:uppercase;letter-spacing:.1em;flex-wrap:wrap}
.hd-main .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}
.logo{font-family:var(--display);font-weight:700;font-size:1.7rem;letter-spacing:.03em;text-transform:uppercase;color:#fff;text-decoration:none;line-height:1}
.logo span{color:var(--safety)}
.hd-phone{font-family:var(--display);font-weight:700;font-size:1.35rem;letter-spacing:.02em;color:var(--coal);background:var(--safety);text-decoration:none;padding:10px 22px;text-transform:uppercase}
.hd-phone:hover{background:#FF7A33}
nav.nv{background:var(--steel)}
nav.nv .wrap{display:flex;gap:2px;flex-wrap:wrap}
nav.nv a{color:#D8DCE0;text-decoration:none;font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:1rem;padding:12px 18px}
nav.nv a:hover{background:var(--coal);color:var(--safety)}

/* hero */
.hero{background:var(--coal);color:#fff;padding:70px 0 56px;border-bottom:6px solid var(--safety)}
.hero .k{font-family:var(--display);color:var(--safety);text-transform:uppercase;letter-spacing:.2em;font-size:1rem;margin-bottom:14px}
.hero h1{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,6vw,4rem);line-height:.98;text-transform:uppercase;letter-spacing:.01em;max-width:18ch}
.hero p.lead{margin:22px 0 30px;max-width:60ch;font-size:1.15rem;color:#C3C9CF}
.cta{display:inline-block;font-family:var(--display);font-weight:700;font-size:1.2rem;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;padding:15px 32px}
.cta.a{background:var(--safety);color:var(--coal)}
.cta.a:hover{background:#FF7A33}
.cta.b{border:2px solid #fff;color:#fff;margin-left:12px}

/* numbers band */
.numbers{background:var(--steel);color:#fff;padding:0}
.numbers .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.numbers div{padding:22px 18px;border-left:1px solid var(--line)}
.numbers b{display:block;font-family:var(--display);font-size:2rem;color:var(--safety);line-height:1}
.numbers span{font-size:.85rem;color:var(--dust);text-transform:uppercase;letter-spacing:.08em}

/* sections */
section{padding:58px 0}
section.dk{background:var(--coal);color:#E7EAEC}
section.dk h2{color:#fff}
section.dk p{color:#C3C9CF}
h2{font-family:var(--display);font-weight:700;font-size:clamp(1.7rem,3.6vw,2.5rem);text-transform:uppercase;letter-spacing:.02em;line-height:1.05;margin-bottom:18px}
h3{font-family:var(--display);font-weight:700;font-size:1.35rem;text-transform:uppercase;margin:26px 0 10px}
section p{max-width:72ch;margin-bottom:14px}
section ul,section ol{max-width:70ch;margin:0 0 16px 22px}
section li{margin-bottom:9px}

/* hazard callout */
.hz{border:2px solid var(--coal);background:#fff;max-width:74ch;margin:26px 0;position:relative}
.hz .hz-bar{background:repeating-linear-gradient(-45deg,var(--safety) 0 12px,var(--coal) 12px 24px);height:8px}
.hz p{margin:0;padding:18px 20px}
section.dk .hz{background:var(--steel);border-color:var(--safety)}
section.dk .hz p{color:#E7EAEC}

/* service grid */
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2px;background:var(--line-lt);border:2px solid var(--coal);margin-top:12px}
.svc article{background:#fff;padding:24px}
.svc h3{margin-top:0}
.svc p{font-size:.96rem;color:#4A5157}
.svc a{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;color:var(--safety-d)}

/* FAQ */
details{background:#fff;border:1px solid var(--line-lt);border-left:5px solid var(--safety);margin-bottom:10px;max-width:78ch}
details summary{cursor:pointer;font-weight:600;padding:14px 18px}
details[open] summary{border-bottom:1px solid var(--line-lt)}
details .a{padding:14px 18px}
details .a p{margin-bottom:8px}

/* CTA band */
.band{background:var(--coal);border-top:6px solid var(--safety);color:#fff;text-align:center;padding:56px 0}
.band h2{color:#fff;margin-bottom:12px}
.band p{margin:0 auto 26px;max-width:58ch;color:#C3C9CF}

/* form */
form{max-width:560px;display:grid;gap:14px}
label{font-weight:600;font-size:.92rem;text-transform:uppercase;letter-spacing:.04em}
input,select,textarea{width:100%;padding:12px;border:2px solid var(--coal);background:#fff;font-family:var(--body);font-size:1rem;margin-top:5px}
button[type=submit]{background:var(--safety);color:var(--coal);border:2px solid var(--coal);font-family:var(--display);font-weight:700;font-size:1.15rem;text-transform:uppercase;letter-spacing:.05em;padding:14px;cursor:pointer}
:focus-visible{outline:3px solid var(--safety);outline-offset:2px}

/* footer */
footer{background:var(--coal);color:#9AA1A8;padding:46px 0 30px;font-size:.94rem}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px;margin-bottom:26px}
footer h4{font-family:var(--display);color:#fff;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-size:1.05rem}
footer a{color:#9AA1A8;text-decoration:none}
footer a:hover{color:var(--safety)}
footer li{list-style:none;margin-bottom:8px}
footer .legal{border-top:1px solid var(--line);padding-top:16px;font-size:.8rem}
@media(max-width:640px){.hero{padding:48px 0 40px}.cta.b{margin-left:0;margin-top:10px}}
