:root{
  --ink:#1A2332;
  --action:#D64545;
  --cool:#2E86AB;
  --paper:#FAFAF8;
  --slate:#55606E;
  --white:#FFFFFF;
  --line: rgba(26,35,50,0.12);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{ background:var(--paper); color:var(--ink); font-family:'Inter', sans-serif; line-height:1.55; -webkit-font-smoothing:antialiased; }
.mono{font-family:'IBM Plex Mono', monospace; letter-spacing:0.02em;}
h1,h2,h3{font-family:'Barlow Condensed', sans-serif; font-weight:700; letter-spacing:0.01em; line-height:1.1; text-transform:uppercase;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1100px; margin:0 auto; padding:0 28px;}

/* Top emergency bar */
.emergency-bar{ background:var(--action); color:#fff; text-align:center; padding:9px 12px; font-size:13px; font-weight:600; }
.emergency-bar a{ text-decoration:underline; }

nav{ position:sticky; top:0; z-index:50; background:rgba(250,250,248,0.95); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
nav .wrap{ display:flex; align-items:center; justify-content:space-between; height:74px; }
.brand{ display:flex; align-items:center; gap:10px; font-weight:700; font-size:18px; text-transform:uppercase; font-family:'Barlow Condensed',sans-serif; }
.brand-mark{ width:32px; height:32px; background:var(--ink); border-radius:4px; display:flex; align-items:center; justify-content:center; color:var(--cool); font-weight:700; font-size:14px; font-family:'Barlow Condensed'; }
.nav-cta{ background:var(--action); color:var(--white); padding:12px 22px; border-radius:4px; font-size:14px; font-weight:700; text-transform:uppercase; }

.hero{ padding:56px 0 48px; border-bottom:1px solid var(--line); }
.badge{ display:inline-flex; align-items:center; gap:8px; background:var(--white); border:1px solid var(--line); padding:7px 14px; border-radius:4px; font-size:12.5px; font-weight:700; color:var(--cool); margin-bottom:22px; text-transform:uppercase; letter-spacing:0.03em; }
h1{ font-size:clamp(32px,4.6vw,52px); max-width:800px; color:var(--ink); }
h1 span{ color:var(--action); }
.lead{ max-width:620px; margin-top:16px; font-size:17px; color:var(--slate); font-family:'Inter'; text-transform:none; }
.hero-row{ display:flex; gap:14px; margin-top:28px; flex-wrap:wrap; }
.btn-primary{ background:var(--action); color:var(--white); padding:16px 28px; border-radius:4px; font-weight:700; font-size:15px; display:inline-block; text-transform:uppercase; }
.btn-secondary{ background:var(--ink); color:var(--white); padding:16px 28px; border-radius:4px; font-weight:700; font-size:15px; display:inline-block; text-transform:uppercase; }
.trust-row{ display:flex; gap:26px; margin-top:32px; flex-wrap:wrap; font-size:13px; color:var(--slate); font-family:'Inter'; }
.trust-row div{ display:flex; align-items:center; gap:7px; }
.trust-row .dot{ width:7px; height:7px; border-radius:50%; background:var(--cool); }

.contractor-strip{ padding:20px 0; background:var(--ink); }
.contractor-strip .wrap{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; color:var(--white); font-size:13px; font-family:'Inter'; }
.contractor-strip strong{ color:var(--cool); }

.services{ padding:64px 0; }
.section-head{ max-width:640px; margin-bottom:34px; }
.section-head h2{ font-size:clamp(24px,2.8vw,32px); }
.section-head p{ margin-top:10px; color:var(--slate); font-size:14.5px; font-family:'Inter'; text-transform:none; }
.service-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px; }
.svc-card{ background:var(--white); border:1px solid var(--line); border-radius:6px; padding:22px; border-top:3px solid var(--cool); }
.svc-card h3{ font-size:18px; margin-bottom:8px; color:var(--ink); }
.svc-card p{ font-size:13.5px; color:var(--slate); line-height:1.55; font-family:'Inter'; text-transform:none; }

.why{ padding:60px 0; background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.why-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; margin-top:30px; }
.why-item h3{ font-size:16px; color:var(--ink); margin-bottom:6px; }
.why-item p{ font-size:13px; color:var(--slate); font-family:'Inter'; text-transform:none; }

.areas{ padding:56px 0; }
.areas h2{ font-size:clamp(22px,2.6vw,28px); max-width:600px; }
.areas p{ margin-top:14px; max-width:700px; color:var(--slate); font-size:15px; line-height:1.7; font-family:'Inter'; text-transform:none; }
.areas strong{ color:var(--ink); font-family:'Inter'; text-transform:none; }

.faq{ padding:60px 0; background:var(--white); border-top:1px solid var(--line); }
.faq h2{ font-size:clamp(22px,2.6vw,28px); margin-bottom:28px; }
.faq-item{ border-top:1px solid var(--line); padding:18px 0; }
.faq-item:last-child{ border-bottom:1px solid var(--line); }
.faq-item h3{ font-size:16px; margin-bottom:6px; color:var(--ink); text-transform:none; font-family:'Inter'; font-weight:700; }
.faq-item p{ font-size:13.5px; color:var(--slate); line-height:1.6; max-width:680px; font-family:'Inter'; text-transform:none; }

.contact{ padding:60px 0; background:var(--ink); color:var(--white); }
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start; }
@media(max-width:800px){ .contact-grid{grid-template-columns:1fr;} }
.contact h2{ color:var(--white); font-size:clamp(24px,3vw,32px); }
.contact p{ color:rgba(255,255,255,0.62); margin-top:12px; font-size:14.5px; max-width:420px; font-family:'Inter'; text-transform:none; }
.contact .phone-big{ font-size:30px; font-weight:700; color:var(--action); margin-top:20px; display:block; font-family:'Barlow Condensed'; }
form.svc-form{ display:flex; flex-direction:column; gap:12px; }
form.svc-form input, form.svc-form textarea{ width:100%; padding:13px 14px; border:1px solid rgba(255,255,255,0.2); border-radius:4px; font-family:'Inter'; font-size:14px; background:rgba(255,255,255,0.06); color:var(--white); }
form.svc-form input::placeholder, form.svc-form textarea::placeholder{ color:rgba(255,255,255,0.4); }
form.svc-form label{ font-size:12px; font-weight:600; color:rgba(255,255,255,0.7); margin-bottom:-6px; font-family:'Inter'; text-transform:none; }
form.svc-form button{ background:var(--action); color:var(--white); border:none; padding:15px; border-radius:4px; font-weight:700; font-size:15px; cursor:pointer; margin-top:6px; text-transform:uppercase; }

footer{ padding:28px 0; border-top:1px solid var(--line); }
footer .wrap{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12.5px; color:var(--slate); }
