:root{ --ink:#13202b; --ink2:#1c2e3b; --steel:#3c5d68; --rust:#c2541f; --rust-dk:#a3461a; --paper:#f6f2ea; --mist:#e9efe9; --card:#ffffff; --line:#e1dbcb;}
.img-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:repeating-linear-gradient(45deg,#e9e3d3,#e9e3d3 10px,#f2ede0 10px,#f2ede0 20px);border:2px dashed #c2541f;border-radius:10px;color:#a3461a;font-family:'Source Sans 3',sans-serif;font-size:13px;font-weight:600;text-align:center;padding:18px;min-height:180px;}
.img-placeholder svg{width:34px;height:34px;opacity:.8;}
.img-placeholder.hero-ph{min-height:260px;margin-bottom:22px;}
.img-placeholder.avatar-ph{min-height:44px;width:44px;height:44px;border-radius:50%;padding:0;flex-shrink:0;margin-bottom:8px;}
.img-placeholder.avatar-ph svg{width:18px;height:18px;}
.img-placeholder.wide-ph{min-height:220px;margin:20px 0;}
*{box-sizing:border-box;}
body{ font-family:'Source Sans 3',Arial,sans-serif; line-height:1.7; color:var(--ink); background:var(--paper); margin:0; padding:0;}
h1,h2,h3,h4{ font-family:'Oswald',Arial,sans-serif; letter-spacing:0.2px; color:var(--ink); margin:0 0 14px;}
h2{ font-size:28px;}
h3{ font-size:19px;}
p{ margin:0 0 16px;}
a{ color:var(--steel);}
.wrap{ max-width:1100px; margin:0 auto; padding:0 20px;}
.eyebrow{ display:inline-block; font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--rust); font-weight:600; margin-bottom:10px;}
.top-strip{ background:var(--ink); color:#f1ece1; font-size:13px; text-align:center; padding:7px 10px;}
.top-strip a{ color:#f1ece1; font-weight:600; text-decoration:none;}
header.site-header{ background:var(--paper); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50;}
.nav-row{ max-width:1200px; margin:0 auto; padding:14px 20px; display:flex; align-items:center; justify-content:space-between; gap:20px;}
.brand{ font-family:'Oswald',sans-serif; font-size:21px; font-weight:700; color:var(--ink); text-decoration:none; display:flex; align-items:center; gap:10px;}
.brand span.accent{ color:var(--rust);}
.brand-logo{ height:42px; width:42px; flex-shrink:0; display:block;}
@media(max-width:600px){ .brand-logo{ height:34px; width:34px;} .brand{ gap:8px; font-size:17px;} }
.footer-brand-row{ display:flex; align-items:center; gap:10px; margin-bottom:10px;}
.footer-brand-row h4{ margin:0;}
.footer-logo{ height:34px; width:34px; flex-shrink:0; display:block;}
nav.main-nav{ display:flex; gap:24px; align-items:center;}
nav.main-nav a{ color:var(--ink); text-decoration:none; font-size:15px; font-weight:500;}
nav.main-nav a:hover{ color:var(--rust);}
.has-dropdown{ position:relative;}
.dropdown{ display:none; position:absolute; top:30px; left:0; background:#fff; border:1px solid var(--line); min-width:250px; box-shadow:0 10px 25px rgba(0,0,0,0.1); padding:8px 0; border-radius:6px; z-index:99;}
.has-dropdown:hover .dropdown{ display:block;}
.dropdown a{ display:block; padding:9px 16px; font-size:14px; color:var(--ink);}
.dropdown a:hover{ background:var(--mist); color:var(--rust);}
.nav-call{ background:var(--rust); color:#fff; padding:10px 18px; border-radius:4px; font-weight:600; text-decoration:none; font-size:14px; white-space:nowrap;}
.nav-call:hover{ background:var(--rust-dk); color:#fff;}
.hero{ background:linear-gradient(135deg,var(--ink) 0%,var(--ink2) 100%); color:#fff; padding:0; position:relative; overflow:hidden; max-width:none;}
.hero::after{ content:""; position:absolute; right:-120px; top:-120px; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle,rgba(194,84,31,0.18) 0%,rgba(194,84,31,0) 70%);}
.hero-inner{ max-width:1100px; margin:0 auto; padding:70px 20px 60px; position:relative; z-index:2;}
.hero h1{ color:#fff; font-size:40px; line-height:1.2; margin-bottom:12px;}
.hero p{ color:#cfd6d4; font-size:17px; max-width:600px; margin:0;}
.breadcrumb{ max-width:1100px; margin:0 auto; padding:14px 20px 0; font-size:13px; color:#5b6b66;}
.breadcrumb a{ color:var(--steel); text-decoration:none;}
.blog-layout{ max-width:1100px; margin:0 auto; padding:50px 20px; display:grid; grid-template-columns:1fr 320px; gap:40px;}
/* ARTICLE CARDS */
  .articles{ display:flex; flex-direction:column; gap:30px;}
.article-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; overflow:hidden;}
.article-tag{ display:inline-block; font-size:12px; font-weight:700; font-family:'Oswald',sans-serif; letter-spacing:1px; text-transform:uppercase; color:var(--rust); background:rgba(194,84,31,0.08); padding:4px 10px; border-radius:20px; margin-bottom:10px;}
.article-body{ padding:28px;}
.article-body h2{ font-size:22px; margin-bottom:8px;}
.article-body h2 a{ color:var(--ink); text-decoration:none;}
.article-body h2 a:hover{ color:var(--rust);}
.article-meta{ font-size:13px; color:#8a9591; margin-bottom:14px;}
.article-body p{ font-size:15px; color:#4a5550; margin-bottom:16px;}
.read-more{ display:inline-block; color:var(--rust); font-weight:700; font-size:14px; text-decoration:none;}
.read-more:hover{ text-decoration:underline;}
.article-thumb{ width:100%; height:200px; background:linear-gradient(135deg, var(--steel), var(--ink)); display:flex; align-items:center; justify-content:center; font-size:60px;}
/* SIDEBAR */
  .sidebar{ display:flex; flex-direction:column; gap:24px;}
.sidebar-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:22px;}
.sidebar-card h3{ font-size:17px; color:var(--steel); margin-bottom:14px; padding-bottom:10px; border-bottom:2px solid var(--line);}
.cta-sidebar{ background:var(--ink); color:#fff; border-radius:8px; padding:24px; text-align:center;}
.cta-sidebar h3{ color:#fff; margin-bottom:8px;}
.cta-sidebar p{ color:#cfd6d4; font-size:14px; margin-bottom:16px;}
.cta-sidebar a{ display:block; background:var(--rust); color:#fff; padding:12px; border-radius:4px; text-decoration:none; font-weight:700; font-family:'Oswald',sans-serif; font-size:16px;}
.cta-sidebar a:hover{ background:var(--rust-dk);}
.recent-list{ list-style:none; padding:0; margin:0;}
.recent-list li{ padding:10px 0; border-bottom:1px solid var(--line); font-size:14px;}
.recent-list li:last-child{ border-bottom:none;}
.recent-list a{ color:var(--ink); text-decoration:none; font-weight:600;}
.recent-list a:hover{ color:var(--rust);}
.recent-list span{ display:block; font-size:12px; color:#8a9591; margin-top:2px;}
.topic-chips{ display:flex; flex-wrap:wrap; gap:8px;}
.topic-chip{ background:var(--mist); border:1px solid var(--line); border-radius:20px; padding:5px 12px; font-size:13px; color:var(--steel); font-weight:600; cursor:default;}
.areas-list{ list-style:none; padding:0; margin:0;}
.areas-list li{ padding:7px 0; border-bottom:1px solid var(--line); font-size:14px;}
.areas-list li:last-child{ border-bottom:none;}
.areas-list a{ color:var(--steel); text-decoration:none; font-weight:600;}
.areas-list a:hover{ color:var(--rust);}
/* FULL ARTICLE PREVIEWS */
  .article-full{ padding:0 28px 28px;}
.article-full h3{ font-size:17px; color:var(--steel); margin:20px 0 8px;}
.article-full p{ font-size:14.5px; color:#4a5550;}
.article-full ul{ padding-left:18px;}
.article-full ul li{ font-size:14.5px; color:#4a5550; margin-bottom:6px;}
.final-cta{ background:linear-gradient(135deg,var(--ink) 0%,var(--ink2) 100%); color:#fff; text-align:center; padding:70px 20px; max-width:none;}
.final-cta h2{ color:#fff; font-size:32px;}
.final-cta p{ color:#cfd6d4; max-width:560px; margin:0 auto 26px;}
.cta-button{ display:inline-block; background:var(--rust); color:#fff; padding:14px 26px; border-radius:4px; text-decoration:none; font-weight:700; margin-right:12px; font-size:15px;}
.cta-button:hover{ background:var(--rust-dk);}
footer.site-footer{ background:var(--ink); color:#cfd6d4;}
.footer-inner{ max-width:1100px; margin:0 auto; padding:50px 20px 20px; display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:30px;}
footer h4{ font-family:'Oswald',sans-serif; color:#f1ece1; font-size:16px; margin:0 0 14px;}
footer p,footer li,footer a{ color:#b7c0bd; font-size:14px;}
footer a{ text-decoration:none;}
footer a:hover{ color:#f1ece1;}
footer ul{ list-style:none; padding:0; margin:0;}
footer li{ margin-bottom:8px;}
.footer-bottom{ border-top:1px solid #2a3a40; text-align:center; padding:16px 20px; font-size:13px; color:#8a9591;}
.footer-rust{ color:var(--rust); font-weight:700;}
@media(max-width:900px){
.hero h1{ font-size:28px;}
.blog-layout{ grid-template-columns:1fr;}
.blog-layout .sidebar{ position:static; margin-top:40px;}
.footer-inner{ grid-template-columns:1fr 1fr;}}
/* ===== STICKY CALL BUTTON ===== */
.sticky-call{
  position:fixed; bottom:24px; right:24px; z-index:999;
  display:flex; flex-direction:column; align-items:flex-end; gap:10px;}
.sticky-call-btn{
  display:flex; align-items:center; gap:10px;
  background:#c2541f; color:#fff; padding:14px 20px; border-radius:50px;
  text-decoration:none; font-family:'Oswald',sans-serif; font-size:16px; font-weight:600;
  box-shadow:0 4px 20px rgba(194,84,31,0.45);
  animation: pulse-btn 2.5s infinite;}
.sticky-call-btn:hover{ background:#a3461a; transform:scale(1.04);}
.sticky-call-icon{ font-size:20px;}
.sticky-inspect-btn{
  display:flex; align-items:center; gap:8px;
  background:#13202b; color:#fff; padding:10px 16px; border-radius:50px;
  text-decoration:none; font-size:13px; font-weight:600; font-family:'Oswald',sans-serif;
  box-shadow:0 4px 16px rgba(0,0,0,0.3);}
.sticky-inspect-btn:hover{ background:#1c2e3b;}
@keyframes pulse-btn{
  0%,100%{ box-shadow:0 4px 20px rgba(194,84,31,0.45);}
50%{ box-shadow:0 4px 32px rgba(194,84,31,0.75);}}
@media(max-width:600px){
  .sticky-call{ bottom:16px; right:16px;}
.sticky-call-btn{ font-size:14px; padding:12px 16px;}
.sticky-inspect-label{ display:none;}
.related-grid{grid-template-columns:1fr;}}
/* ===== EMERGENCY TOP BANNER ===== */
.emergency-banner{
  display:none; /* shown on scroll via JS */
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:#c2541f; color:#fff; text-align:center;
  padding:10px 20px; font-size:14px; font-weight:600;
  font-family:'Oswald',sans-serif; letter-spacing:0.3px;}
.emergency-banner a{ color:#fff; text-decoration:none; font-size:16px;}
.emergency-banner.show{ display:block;}
:root{ --ink:#13202b; --ink2:#1c2e3b; --steel:#3c5d68; --rust:#c2541f; --rust-dk:#a3461a; --paper:#f6f2ea; --mist:#e9efe9; --card:#ffffff; --line:#e1dbcb; --ok:#2f7d4f; --bad:#b23b2e;}
h1,h2,h3{ font-family:'Oswald',Arial,sans-serif; letter-spacing:0.2px; color:var(--ink); margin:0 0 14px;}
section{ max-width:1100px; margin:0 auto; padding:60px 20px;}
.hero{ background:linear-gradient(135deg,var(--ink) 0%,var(--ink2) 100%); color:#f1ece1; padding:0; position:relative; overflow:hidden; max-width:none;}
.hero-grid{ max-width:1200px; margin:0 auto; padding:65px 20px 55px; display:grid; grid-template-columns:1.2fr 0.8fr; gap:50px; align-items:center; position:relative; z-index:2;}
.hero h1{ color:#fff; font-size:38px; line-height:1.2; margin-bottom:10px;}
.hero-sub{ color:#cfd6d4; font-size:19px; font-family:'Oswald',sans-serif; margin-bottom:18px;}
.hero p.lead{ color:#cfd6d4; font-size:16px; max-width:540px;}
.trust-badges{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:20px 0 24px;}
.trust-badge h3{ font-size:13px; font-family:'Source Sans 3',sans-serif; font-weight:600; color:#f1ece1; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18); padding:8px 14px; border-radius:20px; margin:0; display:flex; align-items:center; gap:7px;}
.trust-badge h3::before{ content:"✓"; color:var(--rust); font-weight:700;}
.cta-button.secondary{ background:transparent; border:1.5px solid rgba(255,255,255,0.4); color:#fff;}
.cta-button.secondary:hover{ border-color:#fff;}
.hero-panel{ background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.15); border-radius:10px; padding:26px;}
.panel-title{ color:#fff; font-family:'Oswald',sans-serif; font-size:15px; text-transform:uppercase; letter-spacing:1px; margin-bottom:16px;}
.hp-row{ display:flex; align-items:center; gap:14px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,0.12);}
.hp-row:last-child{ border-bottom:none;}
.hp-num{ font-family:'Oswald',sans-serif; font-size:22px; font-weight:700; color:var(--rust); width:54px; flex-shrink:0;}
.hp-label{ font-size:13px; color:#cfd6d4;}
.stats-bar{ background:var(--card); border-bottom:1px solid var(--line);}
.stats-grid{ max-width:1100px; margin:0 auto; padding:28px 20px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
.stat-num{ font-family:'Oswald',sans-serif; font-size:28px; font-weight:700; color:var(--steel);}
.stat-label{ font-size:13px; color:#5b6b66; margin-top:4px;}
.causes-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px;}
.cause-card{ background:var(--card); border:1px solid var(--line); border-top:4px solid var(--rust); border-radius:6px; padding:22px;}
.cause-card h3{ color:var(--steel); margin-bottom:10px;}
.cause-card p{ font-size:14.5px; margin:0; color:#3a3a3a;}
.signs-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px;}
.sign-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:22px; display:flex; gap:14px; align-items:flex-start;}
.sign-icon{ font-size:28px; flex-shrink:0;}
.sign-card h3{ color:var(--steel); font-size:17px; margin-bottom:8px;}
.sign-card p{ font-size:14px; margin:0; color:#3a3a3a;}
.process-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px;}
.step-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:24px;}
.step-num{ width:40px; height:40px; background:var(--rust); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Oswald',sans-serif; font-size:17px; font-weight:700; margin-bottom:12px;}
.step-card h3{ color:var(--steel); margin-bottom:8px; font-size:17px;}
.step-card p{ font-size:14px; margin:0; color:#3a3a3a;}
.why-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:24px;}
.why-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:20px; text-align:center;}
.why-icon{ font-size:28px; margin-bottom:10px;}
.why-card h3{ font-size:15px; margin:0 0 8px;}
.why-card p{ font-size:13px; color:#5b6b66; margin:0;}
.compare-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px;}
.compare-card{ border-radius:8px; padding:24px;}
.compare-card.us{ background:var(--ink); color:#f1ece1;}
.compare-card.them{ background:var(--card); border:1px solid var(--line);}
.compare-card h3{ color:inherit; font-size:18px; margin-bottom:14px;}
.compare-card ul{ list-style:none; padding:0; margin:0;}
.compare-card li{ display:flex; gap:10px; padding:9px 0; border-bottom:1px solid rgba(0,0,0,0.06); font-size:14.5px; align-items:flex-start;}
.compare-card.us li{ border-bottom:1px solid rgba(255,255,255,0.1);}
.compare-card li svg{ width:16px; height:16px; flex-shrink:0; margin-top:3px;}
.compare-card.us li svg{ color:var(--rust);}
.compare-card.them li svg{ color:var(--bad);}
.cost-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:20px;}
.cost-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:24px;}
.cost-card h3{ color:var(--steel); margin-bottom:12px;}
.cost-card ul{ padding-left:18px; margin:0;}
.cost-card li{ font-size:14.5px; margin-bottom:8px; color:#3a3a3a;}
.areas-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:20px;}
.area-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:18px 20px; text-decoration:none; display:block;}
.area-card h3{ font-size:16px; color:var(--steel); margin:0 0 6px;}
.area-card p{ font-size:13px; color:#5b6b66; margin:0 0 10px; line-height:1.5;}
.area-card span{ font-size:13px; color:var(--rust); font-weight:700;}
.area-card:hover{ border-color:var(--rust);}
.testimonials-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px;}
.testi-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:24px;}
.testi-stars{ color:#e6a817; font-size:16px; margin-bottom:10px;}
.testi-text{ font-size:14.5px; color:#3a3a3a; margin-bottom:14px; font-style:italic;}
.testi-name{ font-weight:700; font-size:14px; color:var(--steel);}
.testi-location{ font-size:12px; color:#7a8a85;}
.faq-item{ background:var(--card); border:1px solid var(--line); border-radius:6px; margin-bottom:10px; overflow:hidden;}
.faq-item summary{ padding:16px 20px; font-family:'Oswald',sans-serif; font-weight:600; font-size:16px; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center;}
.faq-item summary::-webkit-details-marker{ display:none;}
.faq-item summary::after{ content:"+"; font-size:20px; color:var(--rust);}
.faq-item[open] summary::after{ content:"−";}
.faq-body{ padding:0 20px 18px; font-size:14.5px; color:#3a3a3a;}
.warn-box{ background:#fbeee7; border-left:4px solid var(--rust); padding:16px 20px; border-radius:4px; font-size:14.5px; margin:20px 0;}
.related-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:24px;}
.svc-link-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:20px; text-decoration:none; color:var(--ink); display:flex; flex-direction:column; gap:8px;}
.svc-link-card:hover{ border-color:var(--rust); box-shadow:0 4px 16px rgba(194,84,31,0.1);}
.slc-icon{ font-size:24px;}
.svc-link-card h3{ font-size:15px; color:var(--ink); margin:0;}
.svc-link-card p{ font-size:13px; color:#5b6b66; margin:0; flex:1;}
.slc-arrow{ font-size:13px; font-weight:700; color:var(--rust);}
.risks-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px;}
.risk-card{ background:var(--card); border:1px solid var(--line); border-top:4px solid var(--rust); border-radius:6px; padding:22px;}
.risk-card h3{ color:var(--steel); margin-bottom:10px;}
.risk-card p{ font-size:14.5px; margin:0; color:#3a3a3a;}
.services-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:24px;}
.svc-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:20px; text-decoration:none; color:var(--ink); display:flex; flex-direction:column; gap:8px;}
.svc-card:hover{ border-color:var(--rust); box-shadow:0 4px 16px rgba(194,84,31,0.1);}
.svc-icon{ font-size:26px;}
.svc-card h3{ font-size:15px; color:var(--ink); margin:0;}
.svc-card p{ font-size:13px; color:#5b6b66; margin:0; flex:1;}
.svc-arrow{ font-size:13px; font-weight:700; color:var(--rust);}
.neighborhoods-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:20px;}
.nbh-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:16px 20px;}
.nbh-card h3{ font-size:15px; color:var(--steel); margin:0 0 4px;}
.nbh-card p{ font-size:13px; color:#5b6b66; margin:0;}
.step-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:22px;}
.step-card h3{ color:var(--steel); margin-bottom:8px; font-size:16px;}
.step-card p{ font-size:13.5px; margin:0; color:#3a3a3a;}
.nearby-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:20px;}
.nearby-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:18px 20px; text-decoration:none; display:flex; align-items:center; justify-content:space-between;}
.nearby-card h3{ font-size:16px; color:var(--steel); margin:0;}
.nearby-card span{ font-size:13px; color:var(--rust); font-weight:700;}
.nearby-card:hover{ border-color:var(--rust);}
.services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px;}
.svc-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:22px;}
.svc-icon{ font-size:28px; margin-bottom:10px;}
.svc-card h3{ color:var(--steel); font-size:17px; margin-bottom:8px;}
.svc-card p{ font-size:14px; margin:0; color:#3a3a3a;}
.nav-call{ background:var(--rust); color:#fff; padding:10px 18px; border-radius:4px; font-weight:600; text-decoration:none; font-size:14px;}
.hero p{ color:#cfd6d4; font-size:17px; max-width:640px; margin:0;}
.stat-num{ font-family:'Oswald',sans-serif; font-size:28px; font-weight:700; color:var(--rust);}
.creds-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:24px;}
.cred-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:22px; text-align:center;}
.cred-icon{ font-size:34px; margin-bottom:10px;}
.cred-card h3{ font-size:15px; color:var(--steel); margin:0 0 6px;}
.cred-card p{ font-size:13px; color:#5b6b66; margin:0;}
.values-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px;}
.value-card{ background:var(--card); border:1px solid var(--line); border-top:4px solid var(--rust); border-radius:6px; padding:24px;}
.value-card h3{ color:var(--steel); margin-bottom:10px;}
.value-card p{ font-size:14.5px; margin:0; color:#3a3a3a;}
.insurance-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:20px;}
@media(max-width:700px){ .insurance-grid{ grid-template-columns:repeat(2,1fr); } }
.insurance-grid .ins-pill{ background:var(--card); border:1px solid var(--line); border-radius:6px; padding:12px 16px; text-align:center; font-size:13.5px; font-weight:600; color:var(--steel);}
.equipment-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px;}
.eq-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:20px; display:flex; gap:14px; align-items:flex-start;}
.eq-icon{ font-size:26px; flex-shrink:0;}
.eq-card h3{ font-size:16px; color:var(--steel); margin-bottom:6px;}
.eq-card p{ font-size:13.5px; margin:0; color:#4a5550;}
.promise-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:24px;}
.promise-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:22px; display:flex; gap:14px;}
.promise-icon{ font-size:28px; flex-shrink:0;}
.promise-card h3{ color:var(--steel); margin-bottom:8px; font-size:17px;}
.promise-card p{ font-size:14px; margin:0; color:#3a3a3a;}
.services-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:24px;}
.svc-pill{ background:var(--card); border:1px solid var(--line); border-radius:6px; padding:14px 16px; text-decoration:none; color:var(--ink); font-size:14px; font-weight:600; text-align:center;}
.svc-pill:hover{ border-color:var(--rust); color:var(--rust);}
.areas-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:20px;}
.area-pill{ background:var(--card); border:1px solid var(--line); border-radius:6px; padding:12px 16px; text-decoration:none; color:var(--steel); font-size:14px; font-weight:600; text-align:center;}
.area-pill:hover{ border-color:var(--rust); color:var(--rust);}
/* STICKY CALL BUTTON */
  .sticky-call{ position:fixed; bottom:24px; right:24px; z-index:999; display:flex; flex-direction:column; align-items:flex-end; gap:10px;}
.sticky-call-btn{ display:flex; align-items:center; gap:10px; background:#c2541f; color:#fff; padding:14px 20px; border-radius:50px; text-decoration:none; font-family:'Oswald',sans-serif; font-size:16px; font-weight:600; box-shadow:0 4px 20px rgba(194,84,31,0.45); animation:pulse-btn 2.5s infinite;}
.sticky-call-btn:hover{ background:#a3461a;}
.emergency-bar{ background:var(--rust); color:#fff; text-align:center; padding:20px; max-width:none;}
.emergency-bar h2{ color:#fff; font-size:22px; margin:0 0 6px;}
.emergency-bar p{ margin:0 0 14px; font-size:15px; color:rgba(255,255,255,0.9);}
.emergency-bar a{ display:inline-block; background:#fff; color:var(--rust); padding:12px 28px; border-radius:4px; font-weight:700; font-family:'Oswald',sans-serif; font-size:18px; text-decoration:none;}
.emergency-bar a:hover{ background:#f1ece1;}
.contact-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; margin-top:10px;}
.contact-form{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:32px;}
.contact-form h2{ margin-bottom:20px;}
.form-group{ margin-bottom:18px;}
.form-group label{ display:block; font-size:14px; font-weight:600; color:var(--ink); margin-bottom:6px;}
.form-group input, .form-group select, .form-group textarea{
    width:100%; padding:11px 14px; border:1.5px solid var(--line); border-radius:4px;
    font-family:'Source Sans 3',sans-serif; font-size:15px; color:var(--ink); background:#fff;
    transition:border-color 0.2s;}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{
    outline:none; border-color:var(--steel);}
.form-group textarea{ height:120px; resize:vertical;}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.submit-btn{ background:var(--rust); color:#fff; border:none; padding:14px 28px; border-radius:4px; font-family:'Oswald',sans-serif; font-size:17px; font-weight:600; cursor:pointer; width:100%; letter-spacing:0.5px;}
.submit-btn:hover{ background:var(--rust-dk);}
.form-note{ font-size:13px; color:#7a8a85; margin-top:10px; text-align:center;}
.contact-info{ display:flex; flex-direction:column; gap:20px;}
.info-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:24px;}
.info-card h3{ color:var(--steel); margin-bottom:10px; display:flex; align-items:center; gap:10px;}
.info-icon{ font-size:20px;}
.info-card p{ font-size:14.5px; margin:0; color:#3a3a3a;}
.info-card a{ color:var(--rust); font-weight:700; text-decoration:none; font-size:22px; font-family:'Oswald',sans-serif;}
.hours-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px;}
.hours-row{ font-size:14px; color:#3a3a3a;}
.hours-label{ font-weight:600;}
.areas-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;}
.area-chip{ background:var(--mist); border:1px solid var(--line); border-radius:20px; padding:5px 14px; font-size:13px; color:var(--steel); font-weight:600; text-decoration:none;}
.area-chip:hover{ border-color:var(--rust); color:var(--rust);}
.success-msg{ display:none; background:var(--mist); border:1px solid #b2d4b2; border-radius:6px; padding:18px; text-align:center; margin-top:14px;}
.success-msg h3{ color:var(--ok, #2f7d4f); margin-bottom:6px;}
.success-msg p{ margin:0; font-size:14px; color:#3a3a3a;}
/* HERO */
  .hero{ background:linear-gradient(135deg,var(--ink) 0%,var(--ink2) 100%); color:#f1ece1; padding:0; position:relative; overflow:hidden; max-width:none;}
/* Stats */
  .stats-bar{ background:var(--card); border-bottom:1px solid var(--line);}
/* Breadcrumb */
  .breadcrumb{ max-width:1100px; margin:0 auto; padding:14px 20px 0; font-size:13px; color:#5b6b66;}
/* Causes */
  .causes-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px;}
/* Signs */
  .signs-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px;}
/* Process */
  .process-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px;}
.step-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:24px; position:relative;}
/* Why Choose */
  .why-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:24px;}
/* Compare */
  .compare-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px;}
/* Areas */
  .areas-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:20px;}
/* Testimonials */
  .testimonials-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px;}
/* Cost box */
  .cost-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:20px;}
/* FAQ */
  .faq-item{ background:var(--card); border:1px solid var(--line); border-radius:6px; margin-bottom:10px; overflow:hidden;}
/* Related services */
  .related-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:24px;}
/* Final CTA */
  .final-cta{ background:linear-gradient(135deg,var(--ink) 0%,var(--ink2) 100%); color:#fff; text-align:center; padding:70px 20px; max-width:none;}
/* Footer */
  footer.site-footer{ background:var(--ink); color:#cfd6d4;}
:root{--ink:#13202b;--ink2:#1c2e3b;--steel:#3c5d68;--rust:#c2541f;--rust-dk:#a3461a;--paper:#f6f2ea;--mist:#e9efe9;--card:#fff;--line:#e1dbcb;}
body{font-family:'Source Sans 3',sans-serif;line-height:1.7;color:var(--ink);background:var(--paper);margin:0;padding:0;}
h1,h2,h3,h4{font-family:'Oswald',sans-serif;color:var(--ink);margin:0 0 14px;}
h2{font-size:30px;}
h3{font-size:20px;}
p{margin:0 0 16px;}
a{color:var(--steel);}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px;}
.eyebrow{display:inline-block;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--rust);font-weight:600;margin-bottom:10px;}
.section-center{text-align:center;}
.section-center p{max-width:640px;margin:0 auto 16px;}
/* TOP STRIP */
  .top-strip{background:var(--ink);color:#f1ece1;font-size:13px;text-align:center;padding:8px 10px;}
.top-strip a{color:#f1ece1;font-weight:700;text-decoration:none;}
/* HEADER */
  header.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
.nav-row{max-width:1200px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.brand{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:var(--ink);text-decoration:none;}
.brand span{color:var(--rust);}
nav.main-nav{display:flex;gap:24px;align-items:center;}
nav.main-nav a{color:var(--ink);text-decoration:none;font-size:15px;font-weight:500;}
nav.main-nav a:hover{color:var(--rust);}
.has-dropdown{position:relative;}
.dropdown{display:none;position:absolute;top:34px;left:0;background:#fff;border:1px solid var(--line);min-width:260px;box-shadow:0 10px 28px rgba(0,0,0,0.12);padding:8px 0;border-radius:8px;z-index:99;}
.has-dropdown:hover .dropdown{display:block;}
.dropdown a{display:block;padding:9px 16px;font-size:14px;color:var(--ink);}
.dropdown a:hover{background:var(--mist);color:var(--rust);}
.nav-call{background:var(--rust);color:#fff !important;padding:10px 20px;border-radius:4px;font-weight:700;text-decoration:none;font-size:15px;}
.nav-call:hover{background:var(--rust-dk) !important;}
/* HERO */
  .hero{background:linear-gradient(135deg,var(--ink) 0%,#1a2f3d 50%,var(--ink2) 100%);color:#fff;padding:0;position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;left:-200px;bottom:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(194,84,31,0.12) 0%,transparent 70%);}
.hero::after{content:"";position:absolute;right:-100px;top:-100px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(233,239,233,0.06) 0%,transparent 70%);}
.hero-inner{max-width:1200px;margin:0 auto;padding:80px 20px 70px;position:relative;z-index:2;display:grid;grid-template-columns:1.1fr 0.9fr;gap:50px;align-items:center;}
.hero-label{display:inline-flex;align-items:center;gap:8px;background:rgba(194,84,31,0.2);border:1px solid rgba(194,84,31,0.35);padding:7px 16px;border-radius:30px;font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;color:#f1ece1;letter-spacing:0.5px;margin-bottom:18px;}
.hero h1{font-size:44px;line-height:1.15;color:#fff;margin-bottom:14px;}
.hero h1 span{color:#e8a87c;}
.hero-desc{color:#cfd6d4;font-size:17px;max-width:540px;margin-bottom:24px;}
.trust-strip{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.trust-pill{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.15);padding:7px 14px;border-radius:30px;font-size:13px;font-weight:600;color:#f1ece1;}
.trust-pill::before{content:"✓";color:#7ecba0;font-size:13px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.btn-hero{display:inline-flex;align-items:center;gap:10px;background:var(--rust);color:#fff;padding:15px 26px;border-radius:6px;text-decoration:none;font-family:'Oswald',sans-serif;font-size:17px;font-weight:700;box-shadow:0 4px 18px rgba(194,84,31,0.4);}
.btn-hero:hover{background:var(--rust-dk);}
.btn-hero-2{display:inline-flex;align-items:center;gap:8px;background:transparent;border:2px solid rgba(255,255,255,0.35);color:#fff;padding:14px 22px;border-radius:6px;text-decoration:none;font-family:'Oswald',sans-serif;font-size:16px;font-weight:600;}
.hero-panel{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.14);border-radius:14px;padding:28px;}
.hp-title{font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;color:#f1ece1;margin-bottom:18px;text-align:center;letter-spacing:0.3px;}
.hp-stat{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.1);}
.hp-stat:last-child{border-bottom:none;}
.hp-num{font-family:'Oswald',sans-serif;font-size:26px;font-weight:700;color:var(--rust);width:60px;flex-shrink:0;text-align:center;}
.hp-text h4{color:#f1ece1;font-size:14px;font-family:'Oswald',sans-serif;margin:0 0 2px;}
.hp-text p{color:#9ab0ab;font-size:13px;margin:0;}
/* STATS BAR */
  .stats-bar-dark{background:var(--ink2);border-bottom:3px solid var(--rust);}
.stats-inner{max-width:1100px;margin:0 auto;padding:22px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;text-align:center;}
.stat-item .num{font-family:'Oswald',sans-serif;font-size:32px;font-weight:700;color:var(--rust);}
.stat-item .lbl{font-size:13px;color:#9ab0ab;margin-top:2px;}
/* SERVICES */
  .services-section{padding:70px 0;background:var(--paper);}
.services-section h2,.process-section h2{font-size:34px;line-height:1.25;margin:0 0 14px;}
.services-section .section-center p,.process-section .section-center p{font-size:16px;max-width:680px;}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px;}
.svc-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:28px 24px;text-decoration:none;color:var(--ink);transition:all 0.2s;display:flex;flex-direction:column;min-height:190px;}
.svc-card:hover{border-color:var(--rust);box-shadow:0 6px 24px rgba(194,84,31,0.1);transform:translateY(-2px);}
.svc-icon{font-size:36px;margin-bottom:12px;}
.svc-card h3{font-size:17px;color:var(--steel);margin-bottom:8px;}
.svc-card p{font-size:13.5px;color:#4a5550;margin-bottom:12px;line-height:1.6;flex:1;}
.svc-arrow{font-size:13px;font-weight:700;color:var(--rust);}
/* PROCESS */
  .process-section{padding:70px 0;background:var(--mist);}
.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 20px;margin-top:36px;position:relative;}
.process-step{text-align:center;position:relative;z-index:1;padding:0 10px;}
.step-circle{width:56px;height:56px;background:var(--ink);border:3px solid var(--rust);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;color:#fff;margin:0 auto 14px;}
.process-step h4{font-size:15px;color:var(--steel);margin-bottom:8px;}
.process-step p{font-size:13px;color:#5b6b66;line-height:1.6;}
/* WHY US */
  .why-section{padding:70px 0;background:var(--paper);}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px;}
.why-card{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--rust);border-radius:8px;padding:26px;}
.why-icon{font-size:32px;margin-bottom:12px;}
.why-card h3{color:var(--steel);margin-bottom:10px;}
.why-card p{font-size:14.5px;color:#3a3a3a;margin:0;}
/* INSURANCE */
  .insurance-section{padding:70px 0;background:var(--ink);}
.insurance-section .eyebrow{color:#e8a87c;}
.insurance-section h2{color:#fff;}
.insurance-section p{color:#9ab0ab;}
.ins-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:24px;}
.ins-grid .ins-pill{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.15);border-radius:6px;padding:12px;text-align:center;font-size:13px;font-weight:700;color:#f1ece1;}
.ins-note{color:#9ab0ab;font-size:14px;margin-top:16px;}
/* EMERGENCY TIMELINE */
  .timeline-section{padding:70px 0;background:var(--paper);}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px;}
.timeline-item{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:22px;position:relative;}
.timeline-time{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:var(--rust);margin-bottom:6px;}
.timeline-item h4{color:var(--steel);margin-bottom:8px;}
.timeline-item p{font-size:13.5px;color:#4a5550;margin:0;}
/* EQUIPMENT */
  .equipment-section{padding:70px 0;background:var(--mist);}
.eq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px;}
.eq-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:22px;display:flex;gap:14px;}
.eq-icon{font-size:28px;flex-shrink:0;}
.eq-card h3{font-size:16px;color:var(--steel);margin-bottom:6px;}
.eq-card p{font-size:13.5px;margin:0;color:#4a5550;}
/* TESTIMONIALS */
  .testi-section{padding:70px 0;background:var(--paper);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px;}
.testi-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:26px;}
.testi-stars{color:#e6a817;font-size:17px;margin-bottom:10px;}
.testi-text{font-size:15px;color:#3a3a3a;font-style:italic;margin-bottom:16px;line-height:1.7;}
.testi-name{font-weight:700;font-size:14px;color:var(--steel);}
.testi-loc{font-size:12px;color:#7a8a85;}
/* SERVICE AREAS */
  .areas-section{padding:70px 0;background:var(--mist);}
.areas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px;}
.area-card-full{display:block;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:24px;text-decoration:none;color:var(--ink);min-height:150px;}
.area-card-full:hover{border-color:var(--rust);}
.area-card-full h3{font-size:18px;color:var(--steel);margin:0 0 8px;line-height:1.3;}
.area-zip{display:block;font-size:12px;color:var(--rust);font-weight:700;font-family:'Oswald',sans-serif;margin:0 0 10px;}
.area-card-full p{font-size:13.5px;color:#5b6b66;margin:0;line-height:1.5;}
/* FAQ */
  .faq-section{padding:70px 0;background:var(--paper);}
.faq-inner{max-width:780px;margin:0 auto;}
.faq-item{background:var(--card);border:1px solid var(--line);border-radius:6px;margin-bottom:10px;overflow:hidden;}
.faq-item summary{padding:16px 20px;font-family:'Oswald',sans-serif;font-weight:600;font-size:16px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-size:20px;color:var(--rust);}
.faq-item[open] summary::after{content:"−";}
.faq-body{padding:0 20px 16px;font-size:15px;color:#3a3a3a;}
/* EMERGENCY CTA */
  .emergency-cta{background:linear-gradient(135deg,var(--rust) 0%,#a3461a 100%);padding:70px 20px;text-align:center;}
.emergency-cta h2{color:#fff;font-size:36px;margin-bottom:10px;}
.emergency-cta p{color:rgba(255,255,255,0.85);font-size:18px;max-width:580px;margin:0 auto 28px;}
.btn-white{display:inline-block;background:#fff;color:var(--rust);padding:16px 32px;border-radius:6px;text-decoration:none;font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;margin-right:14px;box-shadow:0 4px 18px rgba(0,0,0,0.2);}
.btn-outline-white{display:inline-block;background:transparent;border:2px solid rgba(255,255,255,0.6);color:#fff;padding:15px 28px;border-radius:6px;text-decoration:none;font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;}
/* FOOTER */
  footer{background:var(--ink);color:#cfd6d4;}
.footer-inner{max-width:1100px;margin:0 auto;padding:55px 20px 24px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:32px;}
footer h4{font-family:'Oswald',sans-serif;color:#f1ece1;font-size:17px;margin:0 0 14px;}
footer p,footer li,footer a{color:#b7c0bd;font-size:14px;}
footer a{text-decoration:none;}
footer a:hover{color:#f1ece1;}
footer ul{list-style:none;padding:0;margin:0;}
footer li{margin-bottom:9px;}
.footer-rust{color:var(--rust);font-weight:700;}
.footer-bottom{border-top:1px solid #2a3a40;text-align:center;padding:18px 20px;font-size:13px;color:#8a9591;max-width:none;}
/* STICKY */
  .sticky-call{position:fixed;bottom:26px;right:26px;z-index:999;display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.sticky-call-btn{display:flex;align-items:center;gap:10px;background:var(--rust);color:#fff;padding:14px 22px;border-radius:50px;text-decoration:none;font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;box-shadow:0 4px 20px rgba(194,84,31,0.5);animation:pulse-btn 2.5s infinite;}
.sticky-call-btn:hover{background:var(--rust-dk);}
@keyframes pulse-btn{0%,100%{box-shadow:0 4px 20px rgba(194,84,31,0.45);}
50%{box-shadow:0 4px 34px rgba(194,84,31,0.8);}}
.emergency-banner{display:none;position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--rust);color:#fff;text-align:center;padding:10px 20px;font-size:14px;font-weight:700;font-family:'Oswald',sans-serif;}
.emergency-banner a{color:#fff;text-decoration:none;font-size:16px;}
.emergency-banner.show{display:block;}
@media(max-width:1100px){.svc-grid{grid-template-columns:repeat(2,1fr);}
.ins-grid{grid-template-columns:repeat(3,1fr);}
.process-steps{grid-template-columns:repeat(3,1fr);}}
@media(max-width:900px){
.hero-inner{grid-template-columns:1fr;}
.hero-panel{display:none;}
.stats-inner{grid-template-columns:repeat(2,1fr);}
.why-grid{grid-template-columns:1fr;}
.timeline{grid-template-columns:1fr 1fr;}
.eq-grid{grid-template-columns:1fr;}
.related-grid{grid-template-columns:1fr 1fr;}
.testi-grid{grid-template-columns:1fr;}
.areas-grid{grid-template-columns:1fr 1fr;}
.footer-inner{grid-template-columns:1fr 1fr;}
.process-steps{grid-template-columns:1fr;gap:28px;}}
.equipment-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px;}
.eq-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:22px; text-align:center;}
.eq-icon{ font-size:32px; margin-bottom:10px;}
.eq-card h3{ color:var(--steel); font-size:17px; margin-bottom:8px;}
.eq-card p{ font-size:14px; margin:0; color:#4a5a55;}
body{ font-family:'Source Sans 3',Arial,sans-serif; line-height:1.8; color:var(--ink); background:var(--paper); margin:0; padding:0;}
h1,h2,h3{ font-family:'Oswald',Arial,sans-serif; color:var(--ink); margin:0 0 12px;}
h1{ font-size:36px;}
h2{ font-size:22px; margin-top:36px;}
h3{ font-size:17px; margin-top:20px;}
p,li{ margin:0 0 14px; font-size:15px;}
ul{ padding-left:20px;}
.hero{ background:linear-gradient(135deg,var(--ink) 0%,var(--ink2) 100%); color:#fff; padding:50px 20px; text-align:center; max-width:none;}
.hero h1{ color:#fff;}
.hero p{ color:#cfd6d4; margin:6px 0 0; font-size:15px;}
.breadcrumb{ max-width:800px; margin:0 auto; padding:14px 20px 0; font-size:13px; color:#5b6b66;}
.content{ max-width:800px; margin:0 auto; padding:50px 20px 80px;}
.content h2{ border-bottom:2px solid var(--line); padding-bottom:8px; color:var(--steel);}
.footer-inner{ max-width:1100px; margin:0 auto; padding:40px 20px 20px; display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:30px;}
.rooms-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px;}
.room-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:22px;}
.room-icon{ font-size:28px; margin-bottom:10px;}
.room-card h3{ color:var(--steel); font-size:17px; margin-bottom:8px;}
.room-card p{ font-size:14px; margin:0; color:#3a3a3a;}
.industries-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:24px;}
.ind-card{ background:var(--card); border:1px solid var(--line); border-radius:8px; padding:22px;}
.ind-icon{ font-size:28px; margin-bottom:10px;}
.ind-card h3{ color:var(--steel); font-size:17px; margin-bottom:8px;}
.ind-card p{ font-size:14px; margin:0; color:#3a3a3a;}
.downtime-box{ background:var(--ink); color:#f1ece1; border-radius:8px; padding:28px; margin:26px 0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; text-align:center;}
.dt-num{ font-family:'Oswald',sans-serif; font-size:32px; font-weight:700; color:var(--rust);}
.dt-label{ font-size:13px; color:#cfd6d4; margin-top:4px;}
h1,h2,h3{font-family:'Oswald',sans-serif;color:var(--ink);margin:0 0 14px;}
h2{font-size:28px;}
h3{font-size:19px;}
section{max-width:1100px;margin:0 auto;padding:60px 20px;}
.top-strip{background:var(--ink);color:#f1ece1;font-size:13px;text-align:center;padding:7px 10px;}
.top-strip a{color:#f1ece1;font-weight:600;text-decoration:none;}
header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
.brand{font-family:'Oswald',sans-serif;font-size:21px;font-weight:700;color:var(--ink);text-decoration:none;}
.dropdown{display:none;position:absolute;top:30px;left:0;background:#fff;border:1px solid var(--line);min-width:250px;box-shadow:0 10px 25px rgba(0,0,0,0.1);padding:8px 0;border-radius:6px;z-index:99;}
.nav-call{background:var(--rust);color:#fff;padding:10px 18px;border-radius:4px;font-weight:600;text-decoration:none;font-size:14px;}
.nav-call:hover{background:var(--rust-dk);}
.hero{background:linear-gradient(135deg,var(--ink) 0%,var(--ink2) 100%);color:#fff;padding:0;max-width:none;position:relative;overflow:hidden;}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(194,84,31,0.18) 0%,rgba(194,84,31,0) 70%);}
.hero-inner{max-width:1100px;margin:0 auto;padding:70px 20px 60px;position:relative;z-index:2;}
.hero h1{color:#fff;font-size:40px;line-height:1.2;margin-bottom:12px;}
.hero p{color:#cfd6d4;font-size:17px;max-width:640px;margin:0;}
.breadcrumb{max-width:1100px;margin:0 auto;padding:14px 20px 0;font-size:13px;color:#5b6b66;}
.breadcrumb a{color:var(--steel);text-decoration:none;}
.city-hub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:28px;}
.city-hub-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:28px;text-decoration:none;color:var(--ink);transition:all 0.2s;}
.city-hub-card:hover{border-color:var(--rust);box-shadow:0 6px 24px rgba(194,84,31,0.12);transform:translateY(-2px);}
.city-hub-icon{font-size:32px;margin-bottom:12px;}
.city-hub-card h3{font-size:20px;color:var(--steel);margin-bottom:6px;}
.city-hub-card .city-zip{font-size:13px;color:var(--rust);font-weight:700;margin-bottom:10px;font-family:'Oswald',sans-serif;letter-spacing:0.5px;}
.city-hub-card p{font-size:14px;color:#4a5550;margin-bottom:14px;}
.city-hub-services{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.city-chip{font-size:12px;background:var(--mist);border:1px solid var(--line);padding:3px 9px;border-radius:20px;color:var(--steel);font-weight:600;}
.city-hub-arrow{font-size:14px;font-weight:700;color:var(--rust);}
.zip-section{background:var(--mist);max-width:none;}
.zip-grid{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px;}
.zip-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:20px;text-decoration:none;color:var(--ink);flex:1 1 220px;}
.zip-card:hover{border-color:var(--rust);}
.zip-code{font-family:'Oswald',sans-serif;font-size:24px;font-weight:700;color:var(--rust);margin-bottom:4px;}
.zip-city{font-size:15px;font-weight:700;color:var(--steel);margin-bottom:4px;}
.zip-county{font-size:12px;color:#7a8a85;margin-bottom:10px;}
.zip-card p{font-size:13px;color:#4a5550;margin:0;}
.services-hub{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px;}
.svc-hub-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:20px;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:12px;}
.svc-hub-card:hover{border-color:var(--rust);}
.svc-hub-icon{font-size:24px;flex-shrink:0;}
.svc-hub-card h3{font-size:15px;color:var(--steel);margin:0;}
.coverage-table{width:100%;border-collapse:collapse;margin-top:24px;background:var(--card);border-radius:8px;overflow:hidden;border:1px solid var(--line);}
.coverage-table th{background:var(--ink);color:#f1ece1;font-family:'Oswald',sans-serif;font-size:14px;padding:14px 16px;text-align:left;}
.coverage-table td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--line);}
.coverage-table tr:last-child td{border-bottom:none;}
.coverage-table tr:hover td{background:var(--mist);}
.check{color:#2f7d4f;font-weight:700;}
.final-cta{background:linear-gradient(135deg,var(--ink) 0%,var(--ink2) 100%);color:#fff;text-align:center;padding:70px 20px;max-width:none;}
.final-cta h2{color:#fff;font-size:32px;}
.final-cta p{color:#cfd6d4;max-width:560px;margin:0 auto 26px;}
.cta-button{display:inline-block;background:var(--rust);color:#fff;padding:14px 26px;border-radius:4px;text-decoration:none;font-weight:700;margin-right:12px;font-size:15px;}
.cta-button:hover{background:var(--rust-dk);}
footer{background:var(--ink);color:#cfd6d4;}
.footer-inner{max-width:1100px;margin:0 auto;padding:50px 20px 20px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:30px;}
footer h4{font-family:'Oswald',sans-serif;color:#f1ece1;font-size:16px;margin:0 0 14px;}
footer li{margin-bottom:8px;}
.footer-bottom{border-top:1px solid #2a3a40;text-align:center;padding:16px 20px;font-size:13px;color:#8a9591;}
.sticky-call{position:fixed;bottom:24px;right:24px;z-index:999;}
.sticky-call-btn{display:flex;align-items:center;gap:10px;background:var(--rust);color:#fff;padding:14px 20px;border-radius:50px;text-decoration:none;font-family:'Oswald',sans-serif;font-size:16px;font-weight:600;box-shadow:0 4px 20px rgba(194,84,31,0.5);animation:pulse 2.5s infinite;}
@keyframes pulse{0%,100%{box-shadow:0 4px 20px rgba(194,84,31,0.45);}
50%{box-shadow:0 4px 32px rgba(194,84,31,0.75);}}
body{font-family:'Source Sans 3',sans-serif;line-height:1.8;color:var(--ink);background:var(--paper);margin:0;padding:0;}
h1{font-size:34px;line-height:1.2;}
h2{font-size:24px;margin-top:36px;color:var(--steel);}
p{margin:0 0 18px;font-size:16px;}
.dropdown{display:none;position:absolute;top:30px;left:0;background:#fff;border:1px solid var(--line);min-width:240px;box-shadow:0 10px 25px rgba(0,0,0,0.1);padding:8px 0;border-radius:6px;z-index:99;}
.article-layout{max-width:1100px;margin:0 auto;padding:40px 20px 60px;display:grid;grid-template-columns:1fr 300px;gap:40px;}
.article-header{margin-bottom:28px;}
.article-cat{display:inline-block;font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--rust);font-weight:600;margin-bottom:10px;}
.article-meta{font-size:13px;color:#7a8a85;margin-bottom:20px;display:flex;gap:16px;flex-wrap:wrap;}
.article-meta span{display:flex;align-items:center;gap:5px;}
.article-content h2{border-bottom:2px solid var(--line);padding-bottom:8px;}
.cta-inline{background:var(--ink);color:#fff;border-radius:8px;padding:24px;margin:36px 0;text-align:center;}
.cta-inline h3{color:#fff;margin-bottom:8px;}
.cta-inline p{color:#cfd6d4;font-size:14px;margin-bottom:16px;}
.cta-inline a{display:inline-block;background:var(--rust);color:#fff;padding:12px 24px;border-radius:4px;text-decoration:none;font-weight:700;font-family:'Oswald',sans-serif;font-size:16px;}
.sidebar{display:flex;flex-direction:column;gap:20px;}
.sidebar-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:22px;}
.sidebar-cta{background:var(--ink);color:#fff;border-radius:8px;padding:22px;text-align:center;}
.sidebar-cta h3{color:#fff;margin-bottom:8px;font-size:17px;}
.sidebar-cta p{color:#cfd6d4;font-size:13px;margin-bottom:14px;}
.sidebar-cta a{display:block;background:var(--rust);color:#fff;padding:12px;border-radius:4px;text-decoration:none;font-weight:700;font-family:'Oswald',sans-serif;font-size:15px;}
.sidebar-card h3{color:var(--steel);font-size:16px;margin-bottom:12px;border-bottom:2px solid var(--line);padding-bottom:8px;}
.article-list{list-style:none;padding:0;margin:0;}
.article-list li{padding:8px 0;border-bottom:1px solid var(--line);font-size:14px;}
.article-list li:last-child{border-bottom:none;}
.article-list a{color:var(--ink);text-decoration:none;font-weight:600;}
.article-list a:hover{color:var(--rust);}
.footer-inner{max-width:1100px;margin:0 auto;padding:40px 20px 20px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:28px;}
footer h4{font-family:'Oswald',sans-serif;color:#f1ece1;font-size:16px;margin:0 0 12px;}
footer li{margin-bottom:7px;}
h2{font-size:26px;}
h3{font-size:17px;}
p{margin:0 0 14px;}
section{max-width:1100px;margin:0 auto;padding:55px 20px;}
.eyebrow{display:inline-block;font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--rust);font-weight:600;margin-bottom:8px;}
.hero{background:linear-gradient(135deg,var(--ink) 0%,var(--ink2) 100%);color:#fff;padding:0;position:relative;overflow:hidden;max-width:none;}
.hero-inner{max-width:1200px;margin:0 auto;padding:60px 20px 50px;position:relative;z-index:2;display:grid;grid-template-columns:1.2fr 0.8fr;gap:40px;align-items:center;}
.hero h1{color:#fff;font-size:34px;line-height:1.2;margin-bottom:8px;}
.hero-sub{color:#cfd6d4;font-size:17px;font-family:'Oswald',sans-serif;margin-bottom:14px;}
.hero p{color:#cfd6d4;font-size:15px;margin-bottom:20px;}
.trust-badges{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px;}
.trust-badge{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);padding:8px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#f1ece1;display:flex;align-items:center;gap:6px;}
.trust-badge::before{content:"✓";color:var(--rust);}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;}
.btn-primary{background:var(--rust);color:#fff;padding:13px 22px;border-radius:4px;text-decoration:none;font-weight:700;font-size:15px;}
.btn-secondary{background:transparent;border:1.5px solid rgba(255,255,255,0.4);color:#fff;padding:13px 22px;border-radius:4px;text-decoration:none;font-weight:600;font-size:15px;}
.hero-panel{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.15);border-radius:10px;padding:24px;}
.hp-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.12);}
.hp-row:last-child{border-bottom:none;}
.hp-num{font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;color:var(--rust);width:50px;flex-shrink:0;}
.hp-label{font-size:13px;color:#cfd6d4;}
.breadcrumb{max-width:1100px;margin:0 auto;padding:12px 20px 0;font-size:13px;color:#5b6b66;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px;}
.info-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:24px;}
.info-card h3{color:var(--steel);margin-bottom:10px;}
.info-card ul{padding-left:18px;margin:0;}
.info-card li{font-size:14.5px;margin-bottom:8px;}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;}
.step-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:20px;}
.step-num{width:36px;height:36px;background:var(--rust);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;margin-bottom:10px;}
.step-card p{font-size:14px;margin:0;}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px;}
.trust-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px;text-align:center;}
.trust-icon{font-size:28px;margin-bottom:8px;}
.trust-card h3{font-size:14px;margin:0 0 4px;}
.trust-card p{font-size:12px;color:#5b6b66;margin:0;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;}
.rel-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px;text-decoration:none;color:var(--ink);}
.rel-card:hover{border-color:var(--rust);}
.rel-card h3{font-size:15px;margin:0 0 6px;}
.rel-card p{font-size:13px;color:#5b6b66;margin:0 0 8px;}
.rel-arrow{font-size:13px;font-weight:700;color:var(--rust);}
.faq-item{background:var(--card);border:1px solid var(--line);border-radius:6px;margin-bottom:8px;overflow:hidden;}
.faq-item summary{padding:14px 18px;font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::after{content:"+";font-size:18px;color:var(--rust);}
.faq-body{padding:0 18px 16px;font-size:14px;color:#3a3a3a;}
.final-cta{background:linear-gradient(135deg,var(--ink) 0%,var(--ink2) 100%);color:#fff;text-align:center;padding:60px 20px;max-width:none;}
.final-cta h2{color:#fff;font-size:28px;}
.final-cta p{color:#cfd6d4;max-width:520px;margin:0 auto 22px;}
.footer-bottom{border-top:1px solid #2a3a40;text-align:center;padding:14px 20px;font-size:13px;color:#8a9591;}
.sticky-call-btn{display:flex;align-items:center;gap:10px;background:var(--rust);color:#fff;padding:13px 18px;border-radius:50px;text-decoration:none;font-family:'Oswald',sans-serif;font-size:15px;font-weight:600;box-shadow:0 4px 20px rgba(194,84,31,0.5);animation:pulse 2.5s infinite;}
h3{font-size:18px;}
.zip-badge{display:inline-block;background:var(--rust);color:#fff;font-family:'Oswald',sans-serif;font-size:36px;font-weight:700;padding:10px 20px;border-radius:6px;margin-bottom:16px;}
.hero h1{color:#fff;font-size:32px;line-height:1.2;margin-bottom:8px;}
.trust-badge{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);padding:7px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#f1ece1;display:flex;align-items:center;gap:6px;}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px;}
.info-card h3{color:var(--steel);margin-bottom:10px;font-size:17px;}
.info-card li{font-size:14px;margin-bottom:8px;}
.hoods-section{margin-top:24px;}
.hood-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.hood-chip{background:var(--mist);border:1px solid var(--line);border-radius:20px;padding:6px 14px;font-size:13px;color:var(--steel);font-weight:600;}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px;}
.svc-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px;text-decoration:none;color:var(--ink);text-align:center;}
.svc-card:hover{border-color:var(--rust);}
.svc-icon{font-size:26px;margin-bottom:8px;}
.svc-card h3{font-size:14px;margin:0;color:var(--steel);}
.zip-related{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;}
.zip-rel-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px;text-decoration:none;color:var(--ink);}
.zip-rel-card:hover{border-color:var(--rust);}
.zip-code-label{font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;color:var(--rust);margin-bottom:4px;}
.zip-rel-card h3{font-size:14px;color:var(--steel);margin:0 0 4px;}
.zip-rel-card p{font-size:13px;color:#5b6b66;margin:0;}
50%{box-shadow:0 4px 32px rgba(194,84,31,0.75));}
:root{--ink:#13202b;--ink2:#1c2e3b;--steel:#3c5d68;--rust:#c2541f;--paper:#f6f2ea;--mist:#e9efe9;--card:#fff;--line:#e1dbcb;}
h1,h2,h3{font-family:'Oswald',sans-serif;color:var(--ink);margin:0 0 12px;}
h2{font-size:24px;}
section{max-width:1100px;margin:0 auto;padding:50px 20px;}
.nav-row{max-width:1200px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;}
nav.main-nav{display:flex;gap:22px;align-items:center;}
.dropdown{display:none;position:absolute;top:30px;left:0;background:#fff;border:1px solid var(--line);min-width:220px;box-shadow:0 8px 20px rgba(0,0,0,0.1);padding:6px 0;border-radius:6px;z-index:99;}
.dropdown a{display:block;padding:8px 14px;font-size:13px;color:var(--ink);}
.hero{background:linear-gradient(135deg,var(--ink) 0%,var(--ink2) 100%);color:#fff;padding:0;max-width:none;}
.hero-inner{max-width:1200px;margin:0 auto;padding:55px 20px 45px;display:grid;grid-template-columns:1.2fr 0.8fr;gap:36px;align-items:center;}
.zip-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(194,84,31,0.2);border:1px solid rgba(194,84,31,0.4);padding:6px 14px;border-radius:20px;font-family:'Oswald',sans-serif;font-size:14px;color:#f1ece1;margin-bottom:14px;}
.hero h1{color:#fff;font-size:30px;line-height:1.2;margin-bottom:10px;}
.hero p{color:#cfd6d4;font-size:15px;margin-bottom:18px;}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.badge{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.2);padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#f1ece1;}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;}
.btn-p{background:var(--rust);color:#fff;padding:12px 20px;border-radius:4px;text-decoration:none;font-weight:700;font-size:15px;}
.btn-s{background:transparent;border:1.5px solid rgba(255,255,255,0.4);color:#fff;padding:12px 20px;border-radius:4px;text-decoration:none;font-weight:600;font-size:15px;}
.panel{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.15);border-radius:10px;padding:22px;}
.prow{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.12);}
.prow:last-child{border-bottom:none;}
.pnum{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;color:var(--rust);width:46px;flex-shrink:0;}
.plabel{font-size:13px;color:#cfd6d4;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:18px;}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:22px;}
.card h3{color:var(--steel);margin-bottom:10px;}
.card ul{padding-left:18px;margin:0;}
.card li{font-size:14px;margin-bottom:7px;}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;}
.svc-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px;text-decoration:none;color:var(--ink);text-align:center;font-size:14px;font-weight:600;}
.svc-card:hover{border-color:var(--rust);color:var(--rust);}
.faq-item{background:var(--card);border:1px solid var(--line);border-radius:6px;margin-bottom:8px;}
.faq-item summary{padding:13px 16px;font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;}
.faq-item summary::after{content:"+";color:var(--rust);font-size:17px;}
.faq-body{padding:0 16px 14px;font-size:14px;color:#3a3a3a;}
.links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;}
.link-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px;text-decoration:none;color:var(--ink);}
.link-card:hover{border-color:var(--rust);}
.link-card h3{font-size:14px;color:var(--steel);margin-bottom:4px;}
.link-card p{font-size:12px;color:#7a8a85;margin:0;}
.final-cta{background:linear-gradient(135deg,var(--ink) 0%,var(--ink2) 100%);color:#fff;text-align:center;padding:55px 20px;max-width:none;}
.final-cta h2{color:#fff;font-size:26px;}
.final-cta p{color:#cfd6d4;max-width:500px;margin:0 auto 20px;font-size:15px;}
.footer-inner{max-width:1100px;margin:0 auto;padding:36px 20px 16px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:24px;}
footer h4{font-family:'Oswald',sans-serif;color:#f1ece1;font-size:15px;margin:0 0 10px;}
footer p,footer li,footer a{color:#b7c0bd;font-size:13px;}
footer li{margin-bottom:6px;}
.footer-bottom{border-top:1px solid #2a3a40;text-align:center;padding:12px 20px;font-size:12px;color:#8a9591;}
.sticky{position:fixed;bottom:22px;right:22px;z-index:999;}
.sticky a{display:flex;align-items:center;gap:8px;background:var(--rust);color:#fff;padding:12px 18px;border-radius:50px;text-decoration:none;font-family:'Oswald',sans-serif;font-size:15px;font-weight:600;box-shadow:0 4px 20px rgba(194,84,31,0.5);animation:pulse 2.5s infinite;}
/* MAP EMBED */
.map-embed-wrap{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:20px;box-shadow:0 4px 16px rgba(0,0,0,0.06);}
.map-embed{width:100%;height:380px;border:0;display:block;}

/* ===== RESPONSIVE GRID COLLAPSE (consolidated, properly scoped) ===== */
@media(max-width:900px){
  .hero-grid,.trust-badges,.stats-grid,.why-grid,.areas-grid,.services-grid,
  .neighborhoods-grid,.nearby-grid,.creds-grid,.insurance-grid,.services-row,
  .city-hub-grid,.zip-grid,.services-hub,.steps-grid,.trust-grid,.svc-grid,
  .zip-related,.two-col,.links-grid{ grid-template-columns:1fr 1fr;}
  .causes-grid,.signs-grid,.compare-grid,.cost-grid,.testimonials-grid,
  .risks-grid,.values-grid,.equipment-grid,.promise-grid,.contact-grid,
  .form-row,.rooms-grid,.industries-grid,.downtime-box,.article-layout,
  .info-grid{ grid-template-columns:1fr;}
}
@media(max-width:600px){
  .hero-grid,.trust-badges,.stats-grid,.why-grid,.areas-grid,.services-grid,
  .neighborhoods-grid,.nearby-grid,.creds-grid,.insurance-grid,.services-row,
  .city-hub-grid,.zip-grid,.services-hub,.steps-grid,.trust-grid,.svc-grid,
  .zip-related,.two-col,.links-grid,.compare-grid,.cost-grid,
  .testimonials-grid,.risks-grid,.values-grid,.equipment-grid,.promise-grid,
  .contact-grid,.form-row,.rooms-grid,.industries-grid,.downtime-box,
  .article-layout,.info-grid,.causes-grid,.signs-grid{ grid-template-columns:1fr;}
}

/* --- Added: real hero photos replacing placeholders --- */
.hero-photo{border-radius:10px;overflow:hidden;margin-bottom:22px;position:relative;width:100%;aspect-ratio:16/10;}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:10px;}
.hero-photo-badge{position:absolute;left:16px;bottom:16px;right:16px;max-width:280px;background:#fff;border-radius:8px;padding:11px 16px;box-shadow:0 8px 24px rgba(0,0,0,0.3);}
.hpb-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#8a8578;font-weight:700;}
.hpb-text{display:block;font-family:'Oswald',sans-serif;font-weight:700;font-size:15px;color:var(--ink);margin-top:3px;line-height:1.3;}

/* --- Added: initials avatars for testimonials (replaces generic icon placeholder) --- */
.avatar-initial{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-weight:700;font-size:15px;color:#fff;flex-shrink:0;margin-bottom:10px;letter-spacing:0.5px;}
.avatar-initial.c1{background:var(--rust);}
.avatar-initial.c2{background:var(--steel);}
.avatar-initial.c3{background:var(--ink2);}

/* --- Added: live weather / storm-risk widget in hero panel --- */
.weather-widget{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.15);border-radius:10px;padding:16px 18px;margin-bottom:18px;}
.weather-loading{font-size:13px;color:#cfd6d4;text-align:center;}
.weather-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.weather-live-tag{display:inline-flex;align-items:center;gap:6px;font-family:'Oswald',sans-serif;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#7ecba0;}
.live-dot{width:8px;height:8px;border-radius:50%;background:#7ecba0;display:inline-block;animation:livePulse 1.6s ease-in-out infinite;}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(126,203,160,0.55);}70%{box-shadow:0 0 0 6px rgba(126,203,160,0);}100%{box-shadow:0 0 0 0 rgba(126,203,160,0);}}
.weather-clock{font-size:12px;color:#9ab0ab;}
.weather-main{display:flex;align-items:center;gap:14px;}
.weather-icon{font-size:32px;line-height:1;}
.weather-temp{font-family:'Oswald',sans-serif;font-size:26px;font-weight:700;color:#f1ece1;}
.weather-desc{font-size:13px;color:#cfd6d4;}
.weather-alert{margin-top:12px;padding:10px 12px;border-radius:8px;font-size:12.5px;line-height:1.5;}
.weather-alert.risk{background:rgba(194,84,31,0.18);border:1px solid rgba(194,84,31,0.4);color:#f5c9ae;}
.weather-alert.clear{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);color:#9ab0ab;}

/* --- Added: trust badges pill row below hero --- */
.trust-badges-row{background:var(--card);border-bottom:1px solid var(--line);padding:18px 0;}
.trust-badges-row .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px;}
.tb-pill{display:inline-flex;align-items:center;gap:6px;font-family:'Source Sans 3',sans-serif;font-size:13px;font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:7px 14px;border-radius:30px;white-space:nowrap;}

/* --- Added: redesigned vertical process list (replaces 3-col step grid) --- */
.process-list{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:32px;}
.process-row{display:flex;align-items:center;gap:18px;padding:22px 28px;border-bottom:1px solid var(--line);border-left:4px solid transparent;transition:background 0.2s;}
.process-row:last-child{border-bottom:none;}
.process-row.is-active{background:var(--rust);border-left-color:var(--rust-dk);}
.pr-num{font-family:'Oswald',sans-serif;font-weight:700;font-size:14px;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.process-row.is-active .pr-num{background:rgba(255,255,255,0.25);color:#fff;}
.pr-body{flex:1;}
.pr-body h4{font-size:16px;margin:0 0 4px;color:var(--steel);}
.pr-body p{font-size:13.5px;color:#5b6b66;margin:0;line-height:1.6;}
.process-row.is-active .pr-body h4{color:#fff;}
.process-row.is-active .pr-body p{color:rgba(255,255,255,0.9);}
.pr-arrow{font-size:18px;color:var(--line);flex-shrink:0;font-family:'Oswald',sans-serif;}
.process-row.is-active .pr-arrow{color:rgba(255,255,255,0.6);}
@media (max-width:640px){
  .process-row{padding:16px 18px;gap:12px;}
  .pr-arrow{display:none;}
}

/* --- Added: real job-site photo gallery strip --- */
.gallery-section{padding:70px 0;background:var(--paper);}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px;}
.gallery-item{border-radius:10px;overflow:hidden;aspect-ratio:1/1;border:1px solid var(--line);}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.3s ease;}
.gallery-item:hover img{transform:scale(1.06);}
@media (max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}

/* --- Added: decorative quote-mark accent on testimonial cards --- */
.testi-card{position:relative;overflow:hidden;}
.testi-card::before{content:"\201C";position:absolute;top:2px;right:16px;font-family:Georgia,serif;font-size:64px;color:var(--line);line-height:1;z-index:0;pointer-events:none;}
.testi-card > *{position:relative;z-index:1;}

/* --- Added: Learn/Prepare/Act resources teaser section (dark, MRV-style) --- */
.resources-section{padding:70px 0;background:var(--ink);}
.resources-section .eyebrow{color:#e8a87c;}
.resources-section h2{color:#fff;}
.resources-section .section-center p{color:#9ab0ab;}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;}
.resource-card{display:flex;flex-direction:column;gap:6px;padding:26px;border-radius:12px;text-decoration:none;min-height:210px;transition:transform 0.2s;}
.resource-card:hover{transform:translateY(-3px);}
.resource-icon{font-size:26px;}
.resource-label{font-family:'Oswald',sans-serif;font-size:12px;font-weight:700;letter-spacing:1.5px;margin-top:4px;}
.resource-card h3{font-size:16px;margin:6px 0 4px;line-height:1.35;font-family:'Oswald',sans-serif;}
.resource-card p{font-size:13px;margin:0 0 10px;flex:1;line-height:1.5;}
.resource-link{font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;}
.resource-learn{background:var(--steel);}
.resource-learn .resource-label{color:#cfe3df;}
.resource-learn h3,.resource-learn p,.resource-learn .resource-link{color:#fff;}
.resource-compare{background:var(--card);}
.resource-compare .resource-label{color:var(--rust);}
.resource-compare h3{color:var(--ink);}
.resource-compare p{color:#5b6b66;}
.resource-compare .resource-link{color:var(--steel);}
.resource-act{background:var(--rust);}
.resource-act .resource-label{color:#ffe0cc;}
.resource-act h3,.resource-act p,.resource-act .resource-link{color:#fff;}
@media (max-width:768px){.resource-grid{grid-template-columns:1fr;}}

/* --- Added: Who We Serve section (Residential/Commercial) --- */
.serve-section{padding:70px 0;background:var(--paper);}
.serve-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:36px;align-items:center;}
.serve-photo{border-radius:12px;overflow:hidden;border:1px solid var(--line);width:100%;aspect-ratio:4/3;}
.serve-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.serve-content h2{font-size:24px;margin-bottom:22px;line-height:1.3;}
.serve-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px;}
.serve-item:last-child{margin-bottom:0;}
.serve-icon{width:46px;height:46px;border-radius:50%;background:var(--rust);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.serve-item h4{font-family:'Oswald',sans-serif;font-size:16px;color:var(--steel);margin:0 0 4px;}
.serve-item p{font-size:13.5px;color:#5b6b66;margin:0;line-height:1.6;}
@media (max-width:768px){.serve-grid{grid-template-columns:1fr;}.serve-photo{order:-1;aspect-ratio:16/10;}}

/* --- Added: quick-contact panel for service pages (PuroClean-inspired) --- */
.qc-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:start;}
.qc-info h2{font-size:21px;line-height:1.3;}
.qc-trust-list{list-style:none;padding:0;margin:18px 0 0;}
.qc-trust-list li{position:relative;padding-left:26px;margin-bottom:10px;font-size:14px;color:#3a3a3a;}
.qc-trust-list li::before{content:"✓";position:absolute;left:0;color:var(--rust);font-weight:700;}
.qc-card{background:var(--ink);border-radius:12px;padding:28px;color:#fff;}
.qc-card-title{font-family:'Oswald',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:1px;color:#e8a87c;margin-bottom:14px;}
.qc-phone{display:block;font-family:'Oswald',sans-serif;font-size:26px;font-weight:700;color:#fff;text-decoration:none;margin-bottom:6px;}
.qc-phone-note{font-size:12.5px;color:#9ab0ab;margin-bottom:18px;}
.qc-btn{display:inline-block;background:var(--rust);color:#fff;text-decoration:none;font-family:'Oswald',sans-serif;font-weight:700;font-size:14px;padding:12px 20px;border-radius:6px;margin-bottom:20px;}
.qc-steps{border-top:1px solid rgba(255,255,255,0.15);padding-top:16px;}
.qc-step{display:flex;gap:10px;font-size:12.5px;color:#cfd6d4;margin-bottom:10px;align-items:flex-start;}
.qc-step span{background:rgba(255,255,255,0.12);width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
@media (max-width:768px){.qc-grid{grid-template-columns:1fr;}}

/* --- Added: Do's & Don'ts section for service pages (PuroClean-inspired) --- */
.dd-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px;}
.dd-card{border-radius:10px;padding:26px;border:1px solid var(--line);background:var(--card);}
.dd-do{border-top:4px solid var(--ok);}
.dd-dont{border-top:4px solid var(--rust);}
.dd-card h3{font-size:16px;margin-bottom:14px;}
.dd-card ul{list-style:none;padding:0;margin:0;}
.dd-card li{position:relative;padding-left:22px;margin-bottom:10px;font-size:13.5px;color:#3a3a3a;line-height:1.6;}
.dd-do li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700;}
.dd-dont li::before{content:"✕";position:absolute;left:0;color:var(--rust);font-weight:700;}
@media (max-width:640px){.dd-grid{grid-template-columns:1fr;}}

/* --- Added: bento-style colorful stat cards (replaces flat dark stats bar) --- */
.stats-bar-dark{background:var(--paper);border-bottom:none;padding:44px 0;}
.stats-inner{max-width:1100px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:left;}
.stat-item{border-radius:12px;padding:26px 22px;}
.stat-item .num{font-family:'Oswald',sans-serif;font-size:30px;font-weight:700;display:block;margin-bottom:6px;}
.stat-item .lbl{font-size:13px;font-weight:600;line-height:1.4;}
.stat-c1{background:var(--rust);}
.stat-c1 .num,.stat-c1 .lbl{color:#fff;}
.stat-c2{background:var(--steel);}
.stat-c2 .num,.stat-c2 .lbl{color:#fff;}
.stat-c3{background:var(--card);border:1px solid var(--line);}
.stat-c3 .num{color:var(--rust);}
.stat-c3 .lbl{color:var(--ink);}
.stat-c4{background:var(--ink);}
.stat-c4 .num,.stat-c4 .lbl{color:#fff;}
@media (max-width:768px){.stats-inner{grid-template-columns:repeat(2,1fr);}}

/* BEFORE / AFTER SLIDER */
.ba-section{padding:70px 0;background:var(--mist);}
.ba-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:30px;}
.ba-slider{position:relative;width:100%;aspect-ratio:4/3;border-radius:10px;overflow:hidden;border:1px solid var(--line);user-select:none;box-shadow:0 8px 24px rgba(19,32,43,0.12);background:#e9e3d3;}
.ba-slider img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;}
.ba-slider .ba-after{clip-path:inset(0 0 0 50%);}
.ba-slider .ba-label{position:absolute;top:14px;font-family:'Oswald',sans-serif;font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;border-radius:20px;background:rgba(19,32,43,0.75);color:#fff;z-index:3;}
.ba-slider .ba-label.before-label{left:14px;}
.ba-slider .ba-label.after-label{right:14px;}
.ba-slider .ba-handle-line{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;transform:translateX(-50%);z-index:2;box-shadow:0 0 8px rgba(0,0,0,0.4);pointer-events:none;}
.ba-slider .ba-handle{position:absolute;top:50%;left:50%;width:42px;height:42px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);z-index:3;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,0.3);pointer-events:none;font-size:15px;color:var(--rust);}
.ba-slider input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:4;}
.ba-caption{margin-top:12px;font-size:14px;color:#4a5550;text-align:center;}
.ba-placeholder-note{margin-top:6px;font-size:12px;color:var(--rust-dk);text-align:center;font-weight:600;}
@media (max-width:760px){ .ba-grid{grid-template-columns:1fr;} }

/* ===== BLOG LISTING — PHOTO CARD GRID REDESIGN ===== */
.blog-toolbar{max-width:1100px;margin:0 auto;padding:0 20px 24px;display:flex;flex-direction:column;align-items:center;gap:22px;}
.blog-search{position:relative;width:100%;max-width:640px;}
.blog-search input{width:100%;padding:14px 60px 14px 44px;border:1px solid var(--line);border-radius:30px;font-family:'Source Sans 3',sans-serif;font-size:15px;color:var(--ink);background:var(--card);box-shadow:0 2px 10px rgba(20,30,28,0.05);}
.blog-search input:focus{outline:none;border-color:var(--rust);}
.blog-search::before{content:"🔍";position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:14px;opacity:0.55;}
.cat-dropdown{display:flex;align-items:center;gap:12px;align-self:flex-start;}
.cat-dropdown label{font-size:14px;font-weight:700;color:var(--ink);font-family:'Oswald',sans-serif;white-space:nowrap;}
.cat-dropdown select{appearance:none;-webkit-appearance:none;background:var(--card) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8"><path d="M1 1l5 5 5-5" stroke="%23c2541f" stroke-width="2" fill="none" fill-rule="evenodd"/></svg>') no-repeat right 16px center;border:1px solid var(--line);border-radius:6px;padding:10px 40px 10px 16px;font-size:14px;font-weight:600;color:var(--ink);font-family:'Source Sans 3',sans-serif;cursor:pointer;min-width:200px;}
.cat-dropdown select:focus{outline:none;border-color:var(--rust);}
.blog-count{max-width:1100px;margin:0 auto;padding:0 20px 18px;font-size:13.5px;color:#7a8a85;}
.blog-count strong{color:var(--ink);}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.blog-card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform 0.2s,box-shadow 0.2s;}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(20,30,28,0.12);border-color:transparent;}
.blog-card-img{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--mist);}
.blog-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s ease;}
.blog-card:hover .blog-card-img img{transform:scale(1.06);}
.blog-card-tag{position:absolute;left:12px;top:12px;background:rgba(20,30,28,0.82);backdrop-filter:blur(2px);color:#fff;font-size:11px;font-weight:700;font-family:'Oswald',sans-serif;letter-spacing:0.5px;text-transform:uppercase;padding:5px 12px;border-radius:20px;}
.blog-card-body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1;}
.blog-card-body h2{font-size:17.5px;line-height:1.35;color:var(--ink);margin:0 0 10px;font-family:'Source Sans 3',sans-serif;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.blog-card:hover .blog-card-body h2{color:var(--rust);}
.blog-card-body p{font-size:14px;color:#5b6b66;line-height:1.55;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.blog-card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid var(--line);}
.blog-card-read{font-size:12.5px;color:#8a9591;}
.blog-card-arrow{color:var(--rust);font-weight:700;font-size:13px;font-family:'Oswald',sans-serif;}
.blog-empty{display:none;text-align:center;padding:60px 20px;color:#7a8a85;font-size:15px;}
.blog-empty.show{display:block;}

@media(max-width:900px){
  .blog-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
  .blog-grid{grid-template-columns:1fr;}
  .blog-search{max-width:none;}
  .cat-dropdown{align-self:stretch;flex-direction:column;align-items:flex-start;gap:8px;}
  .cat-dropdown select{width:100%;}
}

/* ===== HERO-FLAT — fixes simple hero pages (blog/about/contact/faq/reviews/service-areas)
   that were being forced into the homepage's 2-column hero-inner grid, causing the
   image/heading/text to overlap. Two-class selector wins over all earlier single-class
   .hero-inner rules regardless of their order in this file. ===== */
.hero-inner.hero-flat{
  display:block;
  max-width:820px;
  margin:0 auto;
  padding:64px 20px 58px;
  position:relative;
  z-index:2;
  text-align:center;
}
.hero-inner.hero-flat .eyebrow{margin-bottom:16px;}
.hero-inner.hero-flat h1{margin:0 0 16px;}
.hero-inner.hero-flat > p{max-width:640px;margin:0 auto;}
.hero-inner.hero-flat .hero-photo{max-width:640px;width:100%;margin:22px auto;aspect-ratio:16/10;}
.hero-inner.hero-flat .trust-strip{justify-content:center;margin:18px 0;}
@media(max-width:600px){
  .hero-inner.hero-flat{padding:44px 20px 38px;}
}

/* ===== BLOG LISTING — sidebar sits beside the articles as a normal right rail,
   sticky so it stays in view while scrolling through the article list ===== */
.blog-layout{max-width:1100px;margin:0 auto;padding:10px 20px 50px;}
.blog-layout .sidebar{display:flex;flex-direction:column;gap:22px;align-self:start;position:sticky;top:90px;}

/* ===== MOBILE NAV TOGGLE (hamburger) ===== */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;padding:0;background:none;border:none;cursor:pointer;flex-shrink:0;}
.nav-toggle span{display:block;width:100%;height:2px;background:var(--ink);border-radius:2px;transition:transform 0.25s ease,opacity 0.25s ease;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media(max-width:900px){
  .nav-toggle{display:flex;order:3;}
  .nav-row{flex-wrap:wrap;}
  .nav-call{order:2;}
  nav.main-nav{
    display:none;
    order:4;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:var(--card);
    border-top:1px solid var(--line);
    margin-top:14px;
    padding-top:6px;
  }
  nav.main-nav.open{display:flex;}
  nav.main-nav a{padding:12px 4px;width:100%;border-bottom:1px solid var(--line);}
  .has-dropdown{width:100%;}
  .has-dropdown > a{display:flex;justify-content:space-between;align-items:center;}
  .has-dropdown .dropdown{
    display:none;
    position:static;
    box-shadow:none;
    border:none;
    min-width:0;
    padding:0 0 6px 14px;
  }
  .has-dropdown.open .dropdown{display:block;}
  .has-dropdown.open > a{color:var(--rust);}
  .dropdown a{padding:10px 4px;border-bottom:1px dashed var(--line);}
  .dropdown a:last-child{border-bottom:none;}
}

/* ===================================================================
   HOMEPAGE HERO REDESIGN (.hero-new) — scoped to its own namespace
   so it never collides with the legacy .hero rules used elsewhere.
   =================================================================== */
.hero-new{
  background:linear-gradient(180deg,#ffffff 0%,var(--paper) 100%);
  padding:0;
  position:relative;
  overflow:hidden;
  max-width:none;
  border-bottom:1px solid var(--line);
}
.hero-new::after{
  content:"";
  position:absolute;
  right:-160px; top:-160px;
  width:460px; height:460px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(194,84,31,0.07) 0%,rgba(194,84,31,0) 70%);
}
.hn-inner{
  max-width:1200px;
  margin:0 auto;
  padding:64px 20px 60px;
  position:relative; z-index:2;
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  gap:56px;
  align-items:center;
}
.hn-badge{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(194,84,31,0.09);
  border:1px solid rgba(194,84,31,0.28);
  padding:7px 16px;
  border-radius:30px;
  font-family:'Oswald',sans-serif;
  font-size:13px; font-weight:600;
  color:var(--rust-dk);
  letter-spacing:0.4px;
  margin-bottom:18px;
}
.hn-title{
  font-size:44px;
  line-height:1.14;
  color:var(--ink);
  margin:0 0 14px;
  max-width:560px;
}
.hn-tagline{
  font-family:'Oswald',sans-serif;
  color:var(--rust-dk);
  font-weight:700;
  font-size:20px;
  line-height:1.35;
  margin:0 0 16px;
  max-width:480px;
}
.hn-desc{
  color:var(--steel);
  font-size:16.5px;
  line-height:1.65;
  max-width:520px;
  margin:0 0 26px;
}
.hn-cta{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.hn-trust-row{ display:flex; flex-wrap:wrap; gap:10px 20px; }
.hn-trust-item{ font-size:14px; font-weight:600; color:var(--steel); }
.hn-media{ position:relative; }
.hn-photo{
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 20px 45px -18px rgba(19,32,43,0.35);
  aspect-ratio:16/11.5;
}
.hn-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.hn-rating-card{
  position:absolute;
  left:-18px; bottom:-22px;
  background:#fff;
  border-radius:12px;
  padding:14px 20px;
  box-shadow:0 14px 32px -10px rgba(19,32,43,0.28);
  z-index:3;
}
.hn-rating-stars{ color:#e8a63c; font-size:16px; letter-spacing:2px; line-height:1; margin-bottom:4px; }
.hn-rating-text{ font-size:13.5px; color:var(--ink); white-space:nowrap; }
.hn-rating-text strong{ color:var(--ink); font-weight:800; }
.hn-status-tag{
  position:absolute;
  right:14px; top:14px;
  background:rgba(19,32,43,0.85);
  color:#fff;
  font-size:12.5px;
  font-weight:600;
  padding:7px 13px;
  border-radius:20px;
  z-index:3;
  backdrop-filter:blur(3px);
}

.hero-new .btn-hero-2{
  background:transparent;
  border:2px solid var(--ink);
  color:var(--ink);
}
.hero-new .btn-hero-2:hover{ background:var(--ink); color:#fff; }

@media(max-width:900px){
  .hn-inner{ grid-template-columns:1fr; padding:44px 20px 70px; gap:36px; }
  .hn-title{ font-size:32px; max-width:none; }
  .hn-tagline{ font-size:18px; max-width:none; }
  .hn-desc{ max-width:none; }
  .hn-rating-card{ left:14px; bottom:-20px; padding:11px 16px; }
  .hn-rating-stars{ font-size:14px; }
  .hn-rating-text{ font-size:12.5px; }
}

/* ===================================================================
   SITE-WIDE HERO RETHEME — applies to every hero variant across the
   site (service pages, service-area pages, zip pages, utility pages).
   Appended last so it wins the cascade over the legacy dark-gradient
   hero rules above, without having to hunt down every duplicate block.
   =================================================================== */
.hero{
  background:linear-gradient(180deg,#ffffff 0%,var(--paper) 100%) !important;
  border-bottom:1px solid var(--line);
}
.hero::before,.hero::after{
  background:radial-gradient(circle,rgba(194,84,31,0.07) 0%,rgba(194,84,31,0) 70%) !important;
}
.hero h1{ color:var(--ink) !important; }
.hero h1 span{ color:var(--rust) !important; }
.hero p,.hero .lead,.hero p.lead{ color:var(--steel) !important; }
.hero .eyebrow{ color:var(--rust-dk) !important; }
.hero-sub{ color:var(--rust-dk) !important; font-weight:700; }
.zip-tag{
  background:rgba(194,84,31,0.09) !important;
  border:1px solid rgba(194,84,31,0.28) !important;
  color:var(--rust-dk) !important;
}

/* photo */
.hero-photo{
  border-radius:14px;
  box-shadow:0 16px 36px -16px rgba(19,32,43,0.32);
}
.hero-photo-badge{ background:#fff; }
.hero-photo-badge .hpb-label{ color:var(--steel); }
.hero-photo-badge .hpb-text{ color:var(--ink); }

/* side panel (all its class-name variants across templates) */
.hero-panel,.hero .panel{
  background:#ffffff !important;
  border:1px solid var(--line) !important;
  box-shadow:0 10px 30px -14px rgba(19,32,43,0.18);
}
.hp-title,.panel-title{ color:var(--ink) !important; }
.hp-stat,.hp-row,.hero .prow{ border-bottom:1px solid var(--line) !important; }
.hp-text h4{ color:var(--ink) !important; }
.hp-text p,.hp-label,.hero .plabel{ color:var(--steel) !important; }
.pnum{ color:var(--rust) !important; }

/* trust badges / pills inside hero */
.hero .trust-badges .trust-badge,
.hero .badges .badge{
  background:var(--mist) !important;
  border:1px solid var(--line) !important;
  color:var(--ink) !important;
}
.hero .trust-badge h3{ color:var(--ink) !important; }
.trust-pill{
  background:var(--mist) !important;
  border:1px solid var(--line) !important;
  color:var(--ink) !important;
}
.trust-pill::before{ color:#2f7d4f !important; }

/* secondary / outline buttons (light-bg readable versions) */
.hero .btn-secondary,.hero .btn-s,.hero .btn-hero-2,.hero .cta-button.secondary{
  background:transparent !important;
  border:2px solid var(--ink) !important;
  color:var(--ink) !important;
}
.hero .btn-secondary:hover,.hero .btn-s:hover,.hero .btn-hero-2:hover,.hero .cta-button.secondary:hover{
  background:var(--ink) !important;
  color:#fff !important;
}

/* flat / centered utility-page hero variant */
.hero-inner.hero-flat p{ color:var(--steel) !important; }

@media(max-width:900px){
  .hero-panel,.hero .panel{ margin-top:8px; }
}

/* Stats panel that sits below the hero photo on secondary-page heroes
   (service pages, service-area pages) — pairs with .hero-new/.hn-* */
.hn-stats-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:6px 20px;
  margin-top:20px;
  box-shadow:0 10px 28px -16px rgba(19,32,43,0.18);
}
.hn-stats-panel-title{
  font-family:'Oswald',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.5px;
  text-transform:uppercase;
  color:var(--ink);
  padding:14px 0 10px;
  border-bottom:1px solid var(--line);
}
.hn-stat-row{
  display:flex; align-items:center; gap:14px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}
.hn-stat-row:last-child{ border-bottom:none; }
.hn-stat-num{
  font-family:'Oswald',sans-serif;
  font-size:17px; font-weight:700;
  color:var(--rust);
  width:56px; flex-shrink:0;
}
.hn-stat-label{ font-size:13.5px; color:var(--steel); }

@media(max-width:900px){
  .hn-stats-panel{ margin-top:16px; }
}

/* Full-width 8-item service grids (homepage + zip-hub pages) — force
   4 columns so 8 cards fill evenly (4+4) instead of the default
   3-column layout used by 6-card grids, which leaves an incomplete
   last row (3+3+2) when there are 8 items. */
.svc-grid.svc-grid-8{ grid-template-columns:repeat(4,1fr) !important; }
@media(max-width:900px){ .svc-grid.svc-grid-8{ grid-template-columns:repeat(2,1fr) !important; } }
@media(max-width:560px){ .svc-grid.svc-grid-8{ grid-template-columns:1fr !important; } }

/* 6-item "surrounding areas" grids on service pages — 3 columns
   gives a clean 3+3 split instead of the site-wide 4-col default
   (which leaves 4+2, an incomplete last row). */
.areas-grid.areas-3col{ grid-template-columns:repeat(3,1fr) !important; }
@media(max-width:700px){ .areas-grid.areas-3col{ grid-template-columns:1fr !important; } }

/* City "pill" links (about.html) — flex-wrap so any item count
   (7 in this case) distributes evenly without an incomplete last row. */
.areas-grid.areas-pills{ display:flex; flex-wrap:wrap; }
.areas-grid.areas-pills .area-pill{ flex:1 1 150px; }

/* "Why Us" value-prop cards — count varies per page (5 or 6), so use
   flexbox instead of a fixed column count. This lets the last row
   stretch evenly instead of leaving an incomplete row (e.g. 3+2). */
.why-grid{ display:flex !important; flex-wrap:wrap; gap:22px; margin-top:24px; }
.why-grid .why-card{ flex:1 1 240px; }

/* "Also Serving Nearby Communities" cards — count varies (4 or 6
   depending on city), same fix. */
.nearby-grid{ display:flex !important; flex-wrap:wrap; gap:14px; margin-top:20px; }
.nearby-grid .nearby-card{ flex:1 1 240px; }

/* "Related Services" cards on service pages — always exactly 4 items,
   so force 4 columns (single clean row) instead of the 3-column
   default elsewhere in the file, which leaves an incomplete 3+1 row. */
.related-grid.related-grid-4{ grid-template-columns:repeat(4,1fr) !important; }
@media(max-width:900px){ .related-grid.related-grid-4{ grid-template-columns:repeat(2,1fr) !important; } }
@media(max-width:560px){ .related-grid.related-grid-4{ grid-template-columns:1fr !important; } }

/* City-hub "Services We Provide" grids — 8 items, force 4 columns
   for a clean 4+4 split (city-hub pages only; the 6-item version on
   individual service pages is unaffected since it lacks this class). */
.services-grid.services-grid-8{ grid-template-columns:repeat(4,1fr) !important; }
@media(max-width:900px){ .services-grid.services-grid-8{ grid-template-columns:repeat(2,1fr) !important; } }
@media(max-width:560px){ .services-grid.services-grid-8{ grid-template-columns:1fr !important; } }
