/* ========== Windy City Paving Pro — Complete Stylesheet ========== */
/* ========== Sourced from index-seo.html canonical homepage design ========== */

:root{
    --chi-blue:#1a8fd1;--chi-blue-deep:#0a5a8a;--chi-red:#c8102e;--chi-cream:#f5f1e6;
    --chi-night:#0a1d2e;--chi-asphalt:#14181f;--chi-steel:#2a3340;--chi-line:#3a4452;
    --safety:#ffc220;--text:#eef2f7;--muted:#9aa6b3;--white:#ffffff;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:'Inter',system-ui,sans-serif;background:var(--chi-asphalt);color:var(--text);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
  h1,h2,h3,h4,h5,.display{font-family:'Oswald',sans-serif;font-weight:700;letter-spacing:.01em;line-height:1.1;text-transform:uppercase}
  .bebas{font-family:'Bebas Neue',sans-serif;font-weight:400;letter-spacing:.04em}
  a{color:inherit;text-decoration:none}
  .container{width:100%;max-width:1280px;margin:0 auto;padding:0 24px}

  .btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:2px;font-weight:700;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;transition:all .2s ease;cursor:pointer;border:2px solid transparent;font-family:'Oswald',sans-serif}
  .btn-red{background:var(--chi-red);color:#fff}
  .btn-red:hover{background:#a90b25;transform:translateY(-2px);box-shadow:0 12px 30px rgba(200,16,46,.4)}
  .btn-blue{background:var(--chi-blue);color:#fff}
  .btn-blue:hover{background:var(--chi-blue-deep);transform:translateY(-2px)}
  .btn-ghost{border-color:var(--chi-cream);color:var(--chi-cream)}
  .btn-ghost:hover{background:var(--chi-cream);color:var(--chi-asphalt)}
  .btn-dark{background:var(--chi-night);color:#fff}
  .btn-dark:hover{background:#000}

  .flag-bar{height:8px;background:linear-gradient(to bottom,var(--chi-cream) 0% 25%,var(--chi-blue) 25% 50%,var(--chi-cream) 50% 75%,var(--chi-blue) 75% 100%)}

  .topbar{background:var(--chi-night);color:var(--muted);font-size:.85rem;padding:9px 0;border-bottom:1px solid var(--chi-line)}
  .topbar .row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
  .topbar a{color:var(--chi-cream);font-weight:600}
  .topbar .meta span{margin-right:18px}
  .topbar .meta svg{vertical-align:-3px;margin-right:6px}
  .topbar .chi-tag{color:var(--chi-blue);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem}

  header.site{position:sticky;top:0;z-index:50;background:rgba(10,29,46,.95);backdrop-filter:blur(10px);border-bottom:2px solid var(--chi-red)}
  .nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
  .brand{display:flex;align-items:center;gap:14px}
  .brand-mark{width:54px;height:54px;border-radius:4px;background:var(--chi-cream);display:flex;align-items:center;justify-content:center;border:2px solid var(--chi-blue)}
  .brand-mark svg{width:30px;height:30px}
  .brand-name{font-family:'Oswald';font-weight:700;font-size:1.4rem;letter-spacing:.05em;line-height:1;color:var(--white)}
  .brand-name small{display:block;font-family:'Inter';font-weight:600;font-size:.62rem;letter-spacing:.32em;color:var(--chi-blue);margin-top:5px;text-transform:uppercase}
  nav ul{display:flex;gap:28px;list-style:none}
  nav a{font-family:'Oswald';font-weight:600;font-size:.92rem;letter-spacing:.07em;text-transform:uppercase;color:var(--text);position:relative;padding:6px 0}
  nav a::after{content:'';position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--chi-red);transition:width .25s ease}
  nav a:hover::after{width:100%}
  .nav-cta{display:flex;align-items:center;gap:14px}
  .menu-toggle{display:none;background:none;border:none;color:var(--white);font-size:1.6rem;cursor:pointer}

  /* Hero */
  .hero{position:relative;min-height:94vh;display:flex;align-items:center;background:linear-gradient(105deg, rgba(10,29,46,.94) 0%, rgba(10,29,46,.65) 55%, rgba(10,29,46,.3) 100%),linear-gradient(180deg, #0a1d2e 0%, #14283d 60%, #1a3a5a 100%);overflow:hidden}
  .skyline{position:absolute;left:0;right:0;bottom:60px;width:100%;height:18%;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 200" preserveAspectRatio="xMidYEnd slice"><g fill="%23000814" opacity=".75"><polygon points="500,200 500,150 540,150 540,140 560,140 560,150 580,150 580,200"/><rect x="580" y="120" width="40" height="80"/><polygon points="620,200 620,80 640,80 640,60 660,60 660,80 680,80 680,200"/><rect x="680" y="100" width="30" height="100"/><polygon points="710,200 710,40 720,40 720,20 730,20 730,0 740,0 740,20 750,20 750,40 770,40 770,90 800,90 800,200"/><rect x="800" y="110" width="35" height="90"/><polygon points="835,200 835,70 870,70 870,50 890,50 890,70 920,70 920,110 940,110 940,200"/><rect x="940" y="130" width="40" height="70"/><polygon points="980,200 980,90 1010,90 1010,60 1030,60 1030,90 1050,90 1050,120 1070,120 1070,200"/><rect x="1070" y="140" width="40" height="60"/><polygon points="1110,200 1110,160 1140,160 1140,150 1160,150 1160,160 1190,160 1190,180 1220,180 1220,200"/></g></svg>');background-size:1600px;background-position:center bottom;background-repeat:no-repeat;z-index:1;pointer-events:none;opacity:.6}
  .horizon{position:absolute;left:0;right:0;bottom:0;height:120px;z-index:2;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 120" preserveAspectRatio="xMidYEnd slice"><g fill="%2306121e"><path d="M0 120 L0 90 Q40 70 80 80 Q120 90 160 75 Q200 60 240 78 Q280 96 320 70 Q360 44 400 78 Q440 96 480 80 Q520 64 560 82 Q600 96 640 76 Q680 56 720 82 Q760 96 800 80 Q840 64 880 80 Q920 96 960 76 Q1000 56 1040 84 Q1080 96 1120 78 Q1160 60 1200 80 Q1240 96 1280 76 Q1320 56 1360 84 Q1400 96 1440 80 Q1480 64 1520 82 Q1560 96 1600 80 L1600 120 Z"/></g></svg>');background-size:1600px 120px;background-position:center bottom;background-repeat:repeat-x;pointer-events:none}
  .lake-band{position:absolute;left:0;right:0;bottom:60px;height:60px;background:linear-gradient(180deg,rgba(26,143,209,0) 0%,rgba(26,143,209,.12) 50%,rgba(26,143,209,.25) 100%);z-index:2}
  .hero-stripe{position:absolute;left:0;right:0;bottom:0;height:14px;z-index:5;background:repeating-linear-gradient(135deg,#000 0 30px,var(--safety) 30px 60px)}
  .hero-inner{position:relative;z-index:3;padding:80px 0 160px;max-width:920px}
  .eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--chi-blue);font-weight:700;letter-spacing:.28em;font-size:.78rem;text-transform:uppercase;margin-bottom:18px}
  .eyebrow .stars-row{display:inline-flex;gap:3px}
  .eyebrow .stars-row svg{color:var(--chi-red);width:14px;height:14px}
  .hero h1{font-family:'Oswald';font-weight:700;font-size:clamp(2.6rem,6.5vw,5.5rem);color:var(--white);margin-bottom:18px;letter-spacing:-.005em;line-height:1}
  .hero h1 .red{color:var(--chi-red)} .hero h1 .blue{color:var(--chi-blue)}
  .hero p.lede{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--chi-cream);max-width:740px;margin-bottom:34px}
  .hero p.lede em{font-style:normal;color:var(--chi-blue);font-weight:600}
  .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:46px}
  .hero-trust{display:flex;gap:36px;flex-wrap:wrap;color:var(--muted);font-size:.88rem}
  .hero-trust div strong{display:flex;align-items:center;gap:8px;color:var(--white);font-family:'Bebas Neue';font-size:2.4rem;line-height:1}
  .hero-trust div strong .star-icon{color:var(--chi-red)}

  /* SEO Keyword Ribbon (subtle marquee-style band of search terms) */
  .keyword-ribbon{
    background:var(--chi-night);border-bottom:1px solid var(--chi-line);
    padding:18px 0;overflow:hidden;
  }
  .keyword-ribbon .scroll{
    display:flex;gap:36px;white-space:nowrap;
    color:var(--muted);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
    animation:scroll 40s linear infinite;
  }
  .keyword-ribbon .scroll span{display:inline-flex;align-items:center;gap:10px}
  .keyword-ribbon .scroll span::before{content:'★';color:var(--chi-red);font-size:.7rem}
  @keyframes scroll{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
  }

  /* Tagline band */
  .tag-band{background:var(--chi-cream);color:var(--chi-night);padding:38px 0;border-top:6px solid var(--chi-red);border-bottom:6px solid var(--chi-red);text-align:center}
  .tag-band .container{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}
  .tag-band .stars-row{display:inline-flex;gap:6px}
  .tag-band .stars-row svg{color:var(--chi-red);width:22px;height:22px}
  .tag-band .pill{font-family:'Oswald';font-weight:700;font-size:clamp(1rem,1.6vw,1.4rem);letter-spacing:.18em;text-transform:uppercase;color:var(--chi-night)}
  .tag-band .pill .red{color:var(--chi-red)}

  section{padding:100px 0;position:relative}
  .section-head{text-align:center;max-width:820px;margin:0 auto 60px}
  .section-head .eyebrow{justify-content:center}
  .section-head h2{font-size:clamp(2.2rem,4.8vw,3.6rem);color:var(--white);margin-bottom:14px}
  .section-head p{color:var(--muted);font-size:1.05rem}

  .flag-stripes{height:14px;width:100%;background:repeating-linear-gradient(90deg, var(--chi-blue) 0 60px, transparent 60px 70px, var(--chi-red) 70px 80px, transparent 80px 90px);opacity:.5}

  /* Services */
  .services{background:var(--chi-night)}
  .service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
  .service{background:var(--chi-steel);border:1px solid var(--chi-line);padding:36px 28px;border-radius:4px;position:relative;overflow:hidden;transition:all .25s ease}
  .service::before{content:'';position:absolute;top:0;left:0;height:5px;width:0;background:linear-gradient(90deg,var(--chi-red),var(--chi-blue));transition:width .35s ease}
  .service::after{content:'';position:absolute;top:14px;right:14px;width:18px;height:18px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23c8102e"><polygon points="12,2 14.59,8.41 21,9.27 16.18,13.97 17.45,20.5 12,17.27 6.55,20.5 7.82,13.97 3,9.27 9.41,8.41"/></svg>');background-size:contain;background-repeat:no-repeat;opacity:.18}
  .service:hover{transform:translateY(-6px);border-color:var(--chi-blue)}
  .service:hover::before{width:100%}
  .service:hover::after{opacity:.6;transform:rotate(15deg)}
  .service .icon{width:58px;height:58px;border-radius:4px;background:rgba(26,143,209,.14);display:grid;place-items:center;margin-bottom:22px;color:var(--chi-blue)}
  .service h3{font-size:1.4rem;color:var(--white);margin-bottom:10px}
  .service p{color:var(--muted);font-size:.95rem;margin-bottom:16px}
  .service ul{list-style:none;font-size:.87rem;color:var(--chi-cream)}
  .service ul li{padding:5px 0 5px 22px;position:relative}
  .service ul li::before{content:'';position:absolute;left:0;top:8px;width:14px;height:14px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23c8102e"><polygon points="12,2 14.59,8.41 21,9.27 16.18,13.97 17.45,20.5 12,17.27 6.55,20.5 7.82,13.97 3,9.27 9.41,8.41"/></svg>');background-size:contain;background-repeat:no-repeat}

  /* Service categories (extra SEO content) */
  .service-cats{background:var(--chi-asphalt);padding:80px 0}
  .cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}
  .cat{background:var(--chi-night);border-left:4px solid var(--chi-red);padding:28px;border-radius:4px}
  .cat h3{font-size:1.3rem;color:var(--white);margin-bottom:12px;letter-spacing:.04em}
  .cat p{color:var(--chi-cream);font-size:.92rem;margin-bottom:14px}
  .cat .keys{display:flex;flex-wrap:wrap;gap:6px}
  .cat .keys span{font-size:.75rem;color:var(--chi-blue);background:rgba(26,143,209,.08);border:1px solid rgba(26,143,209,.25);padding:4px 10px;border-radius:30px;font-weight:600}

  /* Why */
  .why{background:var(--chi-asphalt)}
  .why-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
  .why-points{display:grid;gap:24px}
  .why-point{display:flex;gap:18px;align-items:flex-start}
  .why-point .num{flex:0 0 auto;width:54px;height:54px;border-radius:50%;background:var(--chi-cream);color:var(--chi-red);display:grid;place-items:center;font-family:'Bebas Neue';font-size:1.5rem;border:3px solid var(--chi-red)}
  .why-point h3{font-size:1.3rem;color:var(--white);margin-bottom:6px}
  .why-point p{color:var(--muted);font-size:.95rem}
  .why-visual{aspect-ratio:4/5;border-radius:6px;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--chi-blue-deep),var(--chi-night));border:1px solid var(--chi-line);display:flex;flex-direction:column}
  .flag-art{flex:1;display:flex;flex-direction:column;background:var(--chi-cream)}
  .flag-art .stripe{height:14%;background:var(--chi-blue)}
  .flag-art .field{flex:1;display:flex;align-items:center;justify-content:space-around;padding:0 6%}
  .flag-art .field .star{width:14%;color:var(--chi-red)}
  .flag-art .field .star svg{width:100%;height:auto;display:block}
  .flag-art .white-band{flex:1;background:var(--chi-cream)}
  .why-visual .stat-card{background:rgba(10,29,46,.92);border-top:3px solid var(--chi-red);padding:24px}
  .why-visual .stat-card .big{font-family:'Bebas Neue';font-size:3rem;color:var(--chi-blue);line-height:1}
  .why-visual .stat-card p{color:var(--chi-cream);margin-top:6px;font-size:.95rem}

  /* Process */
  .process{background:var(--chi-cream);color:var(--chi-night);padding:90px 0}
  .process .section-head h2{color:var(--chi-night)}
  .process .section-head p{color:#5a5a62}
  .process .section-head .eyebrow{color:var(--chi-red)}
  .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
  .step{padding:26px;background:var(--white);border-top:5px solid var(--chi-red);box-shadow:0 6px 20px rgba(0,0,0,.08);position:relative}
  .step::after{content:'';position:absolute;top:12px;right:12px;width:18px;height:18px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23c8102e"><polygon points="12,2 14.59,8.41 21,9.27 16.18,13.97 17.45,20.5 12,17.27 6.55,20.5 7.82,13.97 3,9.27 9.41,8.41"/></svg>');background-size:contain;background-repeat:no-repeat;opacity:.6}
  .step .stepnum{font-family:'Bebas Neue';font-size:2.6rem;color:var(--chi-blue);line-height:1;margin-bottom:8px}
  .step h3{font-size:1.2rem;color:var(--chi-night);margin-bottom:6px}
  .step p{color:#55555f;font-size:.92rem}

  /* Coverage */
  .coverage{background:var(--chi-night);position:relative;overflow:hidden}
  .coverage::before{content:'';position:absolute;inset:0;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" fill="%231a8fd1" opacity=".05"><polygon points="100,20 121.6,87 192,87 135.2,128 156.8,195 100,154 43.2,195 64.8,128 8,87 78.4,87"/></svg>');background-size:200px;background-repeat:repeat;pointer-events:none}
  .coverage .container{position:relative;z-index:2}
  .county-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:50px}
  .county{background:var(--chi-steel);border:1px solid var(--chi-line);padding:28px 24px;border-radius:4px;border-left:5px solid var(--chi-red);transition:all .2s ease}
  .county:hover{transform:translateY(-4px);border-color:var(--chi-blue);border-left-color:var(--chi-blue)}
  .county-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--chi-line)}
  .county-head svg{color:var(--chi-red);flex:0 0 auto}
  .county-head h3{font-size:1.4rem;color:var(--white);letter-spacing:.04em}
  .county-head h3 small{display:block;font-family:'Inter';font-weight:600;font-size:.7rem;letter-spacing:.18em;color:var(--chi-blue);margin-top:4px;text-transform:uppercase}
  .county ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
  .county ul li{font-size:.85rem;color:var(--chi-cream);background:rgba(26,143,209,.1);padding:4px 10px;border-radius:30px;border:1px solid rgba(26,143,209,.25)}

  .coverage-map{background:var(--chi-steel);border:1px solid var(--chi-line);border-radius:6px;padding:36px;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}
  .coverage-map .map-art{aspect-ratio:5/4;background:var(--chi-night);border:1px solid var(--chi-line);border-radius:4px;position:relative;overflow:hidden}
  .coverage-map .map-art svg{width:100%;height:100%;display:block}
  .coverage-map h3{font-size:clamp(1.6rem,2.6vw,2.2rem);color:var(--white);margin-bottom:14px}
  .coverage-map p{color:var(--muted);margin-bottom:20px}
  .coverage-map .stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
  .coverage-map .stats div{padding:14px;background:rgba(26,143,209,.08);border:1px solid var(--chi-line);border-radius:4px}
  .coverage-map .stats strong{display:block;font-family:'Bebas Neue';font-size:2.2rem;color:var(--chi-blue);line-height:1}
  .coverage-map .stats span{color:var(--chi-cream);font-size:.85rem}

  .all-suburbs{margin-top:56px;text-align:center}
  .all-suburbs h3{font-family:'Oswald';color:var(--chi-cream);font-size:1.05rem;letter-spacing:.18em;margin-bottom:20px}
  .area-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
  .area{padding:8px 16px;border:1px solid var(--chi-line);border-radius:50px;color:var(--chi-cream);font-size:.85rem;font-weight:600;transition:all .2s ease;background:rgba(10,29,46,.4)}
  .area:hover{border-color:var(--chi-red);background:rgba(200,16,46,.1);color:var(--white)}

  /* Cost / Pricing block */
  .cost{background:var(--chi-asphalt)}
  .cost-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
  .cost-card{background:var(--chi-steel);border:1px solid var(--chi-line);border-radius:4px;padding:28px;border-top:4px solid var(--chi-blue)}
  .cost-card h3{font-size:1.15rem;color:var(--white);margin-bottom:6px;letter-spacing:.04em}
  .cost-card .price{font-family:'Bebas Neue';font-size:2.4rem;color:var(--chi-blue);line-height:1;margin:8px 0 14px;letter-spacing:.02em}
  .cost-card .price small{font-family:'Inter';font-size:.78rem;color:var(--muted);font-weight:500;letter-spacing:.04em;text-transform:uppercase;display:block;margin-top:4px}
  .cost-card p{color:var(--chi-cream);font-size:.9rem}
  .cost-disclaimer{text-align:center;color:var(--muted);font-size:.85rem;margin-top:24px;font-style:italic;max-width:700px;margin-left:auto;margin-right:auto}

  /* Industries */
  .industries{background:var(--chi-night)}
  .ind-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
  .ind{background:var(--chi-steel);border:1px solid var(--chi-line);padding:24px 18px;text-align:center;border-radius:4px;transition:all .2s ease}
  .ind:hover{border-color:var(--chi-red);transform:translateY(-4px)}
  .ind svg{color:var(--chi-blue);margin-bottom:10px}
  .ind h3{color:var(--white);font-family:'Oswald';font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.95rem}
  .ind small{display:block;color:var(--muted);font-size:.78rem;margin-top:4px;text-transform:none;letter-spacing:0;font-weight:400}

  /* CTA */
  .cta-banner{background:linear-gradient(105deg, var(--chi-red) 0%, #a90b25 100%);color:#fff;padding:80px 0;position:relative;overflow:hidden}
  .cta-banner::before{content:'';position:absolute;inset:0;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" fill="%23ffffff" opacity=".07"><polygon points="100,20 121.6,87 192,87 135.2,128 156.8,195 100,154 43.2,195 64.8,128 8,87 78.4,87"/></svg>');background-size:240px;background-repeat:repeat}
  .cta-banner .container{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:30px}
  .cta-banner h2{font-size:clamp(2rem,4vw,3rem);max-width:760px}
  .cta-banner p{margin-top:8px;font-weight:500;opacity:.95}

  /* Testimonials */
  .testimonials{background:var(--chi-asphalt)}
  .testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
  .testi{background:var(--chi-steel);border:1px solid var(--chi-line);padding:32px;border-radius:4px}
  .testi .star-row{color:var(--chi-red);margin-bottom:14px;display:flex;gap:3px}
  .testi p{color:var(--chi-cream);font-size:.98rem;margin-bottom:20px;font-style:italic}
  .testi .who{display:flex;align-items:center;gap:14px;border-top:1px solid var(--chi-line);padding-top:18px}
  .testi .who .avatar{width:44px;height:44px;border-radius:50%;background:var(--chi-blue);color:#fff;display:grid;place-items:center;font-weight:700;font-family:'Bebas Neue';font-size:1.2rem}
  .testi .who strong{display:block;color:var(--white);font-size:.95rem}
  .testi .who small{color:var(--muted)}

  /* FAQ */
  .faq{background:var(--chi-night)}
  .faq-list{max-width:900px;margin:0 auto;display:grid;gap:14px}
  .faq-item{background:var(--chi-steel);border:1px solid var(--chi-line);border-radius:4px;border-left:4px solid var(--chi-red);overflow:hidden}
  .faq-item details{padding:0}
  .faq-item summary{padding:22px 26px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:'Oswald';font-weight:600;font-size:1.08rem;color:var(--white);text-transform:uppercase;letter-spacing:.03em}
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary::after{content:'+';font-family:'Inter';font-size:1.6rem;color:var(--chi-blue);font-weight:300;transition:transform .2s ease}
  .faq-item details[open] summary::after{transform:rotate(45deg)}
  .faq-item .answer{padding:0 26px 22px;color:var(--chi-cream);font-size:.96rem;line-height:1.7}

  /* Contact */
  .contact{background:var(--chi-asphalt)}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
  .contact-info h2{font-size:clamp(2rem,4vw,3rem);color:var(--white);margin-bottom:18px}
  .contact-info p.lede{color:var(--muted);margin-bottom:36px;font-size:1.05rem}
  .contact-block{display:flex;gap:18px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--chi-line)}
  .contact-block:last-of-type{border-bottom:none}
  .contact-block .ic{width:46px;height:46px;border-radius:4px;background:rgba(26,143,209,.14);color:var(--chi-blue);display:grid;place-items:center;flex:0 0 auto}
  .contact-block strong{display:block;color:var(--white);font-family:'Oswald';font-size:.85rem;margin-bottom:4px;letter-spacing:.1em;text-transform:uppercase}
  .contact-block span{color:var(--chi-cream);font-size:1.05rem}
  form.quote{background:var(--chi-steel);border:1px solid var(--chi-line);padding:40px;border-radius:4px;border-top:5px solid var(--chi-red)}
  form.quote h3{color:var(--white);font-size:1.8rem;margin-bottom:6px}
  form.quote .sub{color:var(--muted);font-size:.92rem;margin-bottom:26px}
  .field{margin-bottom:18px}
  .field label{display:block;color:var(--chi-cream);font-family:'Oswald';font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
  .field input,.field select,.field textarea{width:100%;background:var(--chi-asphalt);border:1px solid var(--chi-line);color:var(--white);padding:14px 16px;border-radius:3px;font-family:inherit;font-size:.98rem;transition:border-color .2s ease}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--chi-blue)}
  .field textarea{resize:vertical;min-height:110px}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  form.quote button{width:100%;justify-content:center;margin-top:8px}
  .form-msg{display:none;margin-top:14px;padding:14px;background:rgba(26,143,209,.12);border:1px solid var(--chi-blue);border-radius:3px;color:var(--chi-blue);font-size:.9rem}

  /* Footer */
  footer{background:#06121e;padding:60px 0 30px;border-top:4px solid var(--chi-red)}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
  .foot-grid h5{color:var(--white);font-family:'Oswald';font-size:1.05rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:8px}
  .foot-grid h5::before{content:'';width:14px;height:14px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23c8102e"><polygon points="12,2 14.59,8.41 21,9.27 16.18,13.97 17.45,20.5 12,17.27 6.55,20.5 7.82,13.97 3,9.27 9.41,8.41"/></svg>');background-size:contain;background-repeat:no-repeat;flex:0 0 auto}
  .foot-grid p,.foot-grid li{color:var(--muted);font-size:.92rem;margin-bottom:8px;list-style:none}
  .foot-grid a:hover{color:var(--chi-blue)}
  .foot-bottom{border-top:1px solid var(--chi-line);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:.85rem}
  .foot-bottom a{color:var(--chi-cream)}
  .foot-bottom .made-in{color:var(--chi-blue);font-weight:700;letter-spacing:.15em;text-transform:uppercase;font-size:.78rem}
  .foot-bottom .made-in span{color:var(--chi-red);margin:0 4px}
  .seo-keywords{margin-top:30px;padding-top:24px;border-top:1px solid var(--chi-line);font-size:.78rem;color:var(--muted);line-height:1.8}
  .seo-keywords strong{color:var(--chi-cream);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-family:'Oswald';display:block;margin-bottom:8px}

  @media (max-width: 900px){
    nav ul{display:none;position:absolute;top:100%;left:0;right:0;background:var(--chi-night);flex-direction:column;gap:0;padding:14px 0;border-bottom:1px solid var(--chi-line)}
    nav ul.open{display:flex}
    nav ul li{border-bottom:1px solid var(--chi-line)}
    nav ul li a{display:block;padding:14px 24px}
    .menu-toggle{display:block}
    .nav-cta .btn{display:none}
    .why-grid,.contact-grid,.coverage-map{grid-template-columns:1fr}
    .foot-grid{grid-template-columns:1fr 1fr}
    .field-row{grid-template-columns:1fr}
    section{padding:70px 0}
    .hero-inner{padding:50px 0 130px}
  }
  @media (max-width: 540px){
    .foot-grid{grid-template-columns:1fr}
    .topbar .meta span{display:block;margin:2px 0}
  }


/* ========= INLINE LEAD FORM (sidebar version) ========= */
.lead-form{background:var(--chi-steel);border:1px solid var(--chi-line);border-top:5px solid var(--chi-red);border-radius:4px;padding:28px;margin-top:24px}
.lead-form h3{color:var(--white);font-size:1.3rem;margin-bottom:6px;letter-spacing:.04em;text-transform:uppercase;font-family:'Oswald'}
.lead-form .sub{color:var(--muted);font-size:.85rem;margin-bottom:18px}
.lead-form .field{margin-bottom:12px}
.lead-form .field label{display:block;color:var(--chi-cream);font-family:'Oswald';font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}
.lead-form .field input,.lead-form .field select,.lead-form .field textarea{width:100%;background:var(--chi-asphalt);border:1px solid var(--chi-line);color:var(--white);padding:11px 14px;border-radius:3px;font-family:inherit;font-size:.92rem;transition:border-color .2s ease}
.lead-form .field input:focus,.lead-form .field select:focus,.lead-form .field textarea:focus{outline:none;border-color:var(--chi-blue)}
.lead-form .field textarea{resize:vertical;min-height:70px}
.lead-form button{width:100%;justify-content:center;margin-top:6px;padding:14px}
.lead-form .trust-tiny{margin-top:14px;font-size:.78rem;color:var(--muted);text-align:center}

/* ========= HERO MICRO-FORM (homepage 3-field, above-the-fold) ========= */
.hero-micro-form{background:rgba(10,29,46,.85);backdrop-filter:blur(8px);border:1px solid var(--chi-blue);border-radius:4px;padding:18px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:24px;max-width:760px}
.hero-micro-form input{flex:1;min-width:160px;background:var(--chi-asphalt);border:1px solid var(--chi-line);color:var(--white);padding:14px 16px;border-radius:3px;font-family:inherit;font-size:.95rem}
.hero-micro-form input:focus{outline:none;border-color:var(--chi-blue)}
.hero-micro-form button{padding:14px 22px;border:none;background:var(--chi-red);color:#fff;font-family:'Oswald';font-weight:700;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:3px;transition:all .2s ease}
.hero-micro-form button:hover{background:#a90b25;transform:translateY(-1px)}

/* ========= STICKY MOBILE CTA BAR ========= */
.sticky-mobile-cta{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--chi-night);border-top:2px solid var(--chi-red);z-index:100;box-shadow:0 -4px 20px rgba(0,0,0,.4)}
.sticky-mobile-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;font-family:'Oswald';font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;border:none;cursor:pointer}
.sticky-mobile-cta a.call-btn{background:var(--chi-red)}
.sticky-mobile-cta a.call-btn:hover{background:#a90b25}
.sticky-mobile-cta a.quote-btn{background:var(--chi-blue)}
.sticky-mobile-cta a.quote-btn:hover{background:var(--chi-blue-deep)}
@media (min-width:900px){.sticky-mobile-cta{display:none}}
@media (max-width:900px){body{padding-bottom:64px}}

/* ========= LINK GRID CARDS (county hubs) ========= */
.link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.link-card{background:var(--chi-steel);border:1px solid var(--chi-line);border-left:4px solid var(--chi-blue);padding:18px 20px;border-radius:4px;transition:all .2s ease;display:flex;flex-direction:column;gap:6px}
.link-card:hover{border-left-color:var(--chi-red);background:var(--chi-night);transform:translateX(4px)}
.link-card strong{color:var(--white);font-family:'Oswald';font-size:1rem;letter-spacing:.04em;text-transform:uppercase}
.link-card span{color:var(--muted);font-size:.85rem}
.link-card::after{content:'→';color:var(--chi-red);font-size:1.1rem;font-weight:700}

/* ========= TWO-COL LAYOUT ========= */
.two-col{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:start}
@media (max-width:900px){.two-col{grid-template-columns:1fr}}

/* ========= PROSE (article body styling) ========= */
.prose{max-width:780px}
.prose h2{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--white);margin:30px 0 14px;letter-spacing:.02em}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.25rem;color:var(--white);margin:22px 0 10px;letter-spacing:.03em}
.prose p{color:var(--chi-cream);margin-bottom:14px;font-size:.98rem}
.prose ul,.prose ol{color:var(--chi-cream);padding-left:0;list-style:none;margin:14px 0}
.prose ul li{padding:6px 0 6px 24px;position:relative;font-size:.95rem}
.prose ul li::before{content:'';position:absolute;left:0;top:11px;width:14px;height:14px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23c8102e"><polygon points="12,2 14.59,8.41 21,9.27 16.18,13.97 17.45,20.5 12,17.27 6.55,20.5 7.82,13.97 3,9.27 9.41,8.41"/></svg>');background-size:contain;background-repeat:no-repeat}
.prose ol{counter-reset:item}
.prose ol li{counter-increment:item;padding:8px 0 8px 38px;position:relative}
.prose ol li::before{content:counter(item,decimal-leading-zero);position:absolute;left:0;top:8px;font-family:'Bebas Neue';font-size:1.4rem;color:var(--chi-blue);line-height:1}
.prose strong{color:var(--white)}
.prose a{color:var(--chi-blue);font-weight:600}
.prose a:hover{color:var(--white)}

/* ========= SIDEBAR ========= */
.sidebar{background:var(--chi-steel);border:1px solid var(--chi-line);border-top:5px solid var(--chi-red);border-radius:4px;padding:28px;position:sticky;top:90px}
@media (max-width:900px){.sidebar{position:static}}
.sidebar h3{color:var(--white);font-size:1.15rem;margin-bottom:14px;letter-spacing:.04em}
.sidebar ul{list-style:none;margin-bottom:24px}
.sidebar ul li{padding:8px 0;border-bottom:1px solid var(--chi-line)}
.sidebar ul li:last-child{border-bottom:none}
.sidebar ul li a{color:var(--chi-cream);font-size:.92rem;font-weight:500;display:flex;justify-content:space-between;align-items:center}
.sidebar ul li a:hover{color:var(--chi-blue)}
.sidebar ul li a::after{content:'→';color:var(--chi-red);font-weight:700}
.sidebar .cta-box{background:var(--chi-night);padding:20px;border-radius:4px;border-left:4px solid var(--chi-blue);margin-top:14px}
.sidebar .cta-box strong{display:block;color:var(--white);font-family:'Oswald';font-size:1.05rem;margin-bottom:6px;letter-spacing:.04em}
.sidebar .cta-box p{color:var(--chi-cream);font-size:.85rem;margin-bottom:14px}

/* ========= PAGE-HERO (used on non-home CPT pages) ========= */
.page-hero{position:relative;padding:80px 0 70px;background:linear-gradient(105deg, rgba(10,29,46,.94) 0%, rgba(10,29,46,.65) 60%, rgba(10,29,46,.35) 100%),linear-gradient(180deg,#0a1d2e 0%,#14283d 100%);overflow:hidden;border-bottom:6px solid var(--chi-red)}
.page-hero::before{content:'';position:absolute;inset:0;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" fill="%231a8fd1" opacity=".05"><polygon points="100,20 121.6,87 192,87 135.2,128 156.8,195 100,154 43.2,195 64.8,128 8,87 78.4,87"/></svg>');background-size:200px;background-repeat:repeat;pointer-events:none}
.page-hero .container{position:relative;z-index:2}
.page-hero .eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--chi-blue);font-weight:700;letter-spacing:.28em;font-size:.78rem;text-transform:uppercase;margin-bottom:14px}
.page-hero .eyebrow .stars-row{display:inline-flex;gap:3px}
.page-hero .eyebrow .stars-row svg{color:var(--chi-red);width:14px;height:14px}
.page-hero h1{font-size:clamp(2.2rem,5.2vw,4.2rem);color:var(--white);margin-bottom:14px;line-height:1}
.page-hero h1 .red{color:var(--chi-red)} .page-hero h1 .blue{color:var(--chi-blue)}
.page-hero p.lede{font-size:clamp(1rem,1.3vw,1.15rem);color:var(--chi-cream);max-width:780px;margin-bottom:24px}
.page-hero .btns{display:flex;gap:12px;flex-wrap:wrap}
.page-hero .quick-stats{display:flex;gap:30px;flex-wrap:wrap;margin-top:32px;color:var(--muted);font-size:.85rem}
.page-hero .quick-stats div strong{display:flex;align-items:center;gap:8px;color:var(--white);font-family:'Bebas Neue';font-size:1.8rem;line-height:1}
.page-hero .quick-stats div strong svg{color:var(--chi-red)}

/* ========= CRUMBS ========= */
.crumbs{background:var(--chi-night);border-bottom:1px solid var(--chi-line);padding:14px 0}
.crumbs .container{display:flex;gap:8px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}
.crumbs a{color:var(--chi-blue);font-weight:600}
.crumbs a:hover{color:var(--white)}
.crumbs span.sep{color:var(--chi-line)}

/* ========= FAQ accordion ========= */
.faq-list{max-width:900px;margin:0 auto;display:grid;gap:12px}
.faq-item{background:var(--chi-steel);border:1px solid var(--chi-line);border-radius:4px;border-left:4px solid var(--chi-red);overflow:hidden}
.faq-item summary{padding:20px 24px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:'Oswald';font-weight:600;font-size:1rem;color:var(--white);text-transform:uppercase;letter-spacing:.03em}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-family:'Inter';font-size:1.5rem;color:var(--chi-blue);font-weight:300;transition:transform .2s ease}
.faq-item details[open] summary::after{transform:rotate(45deg)}
.faq-item .answer{padding:0 24px 20px;color:var(--chi-cream);font-size:.94rem;line-height:1.7}
