.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;color:#2A2A2A;font-family:"Roboto", Sans-serif;font-size:17px;font-weight:400;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1340px;}.e-con{--container-max-width:1340px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Stackup City Page CSS
   Layout max width 1340px
   Font Roboto
*/

/* Import font (optional if theme already loads Roboto) */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap');

/* Design tokens */
:root{
  --su-ink:#0F172A;
  --su-ink2:#1F2937;
  --su-muted:#64748B;
  --su-line:#E2E8F0;
  --su-bg:#F6F8FC;
  --su-card:#FFFFFF;

  /* Stackup inspired brand */
  --su-brand:#11223D;      /* navy */
  --su-accent:#FE385A;     /* coral */
  --su-accent2:#155EEF;    /* link blue */
  --su-good:#16A34A;
  --su-warn:#F59E0B;
  --su-bad:#DC2626;

  --su-radius:16px;
  --su-radius2:20px;

  --su-shadow:0 10px 28px rgba(15,23,42,.08);
  --su-shadow2:0 14px 40px rgba(15,23,42,.12);

  --su-max:1340px;
  --su-pad:22px;
}

/* Base reset for page sections only */
.container{
  width:100%;
  max-width:var(--su-max);
  margin:0 auto;
  padding-left:var(--su-pad);
  padding-right:var(--su-pad);
}

section{ display:block; }
.section{ padding:56px 0; background:transparent; }
.section-alt{ background:var(--su-bg); }
.visually-hidden{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

/* Global typography within the city page blocks */
.hero-section,
.quick-nav-section,
.providers-section,
.plans-section,
.speed-guide-section,
.neighborhoods-section,
.technology-section,
.buying-guide-section,
.faq-section,
.local-info-section,
.cta-section{
  font-family:"Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  color:var(--su-ink);
}

.hero-section a,
.quick-nav-section a,
.providers-section a,
.plans-section a,
.speed-guide-section a,
.neighborhoods-section a,
.technology-section a,
.buying-guide-section a,
.faq-section a,
.local-info-section a,
.cta-section a{
  color:inherit;
  text-decoration:none;
}

.hero-section h1,
.hero-section h2,
.hero-section h3,
.section-header h2,
.section-header h3{
  margin:0;
  color:var(--su-ink);
  letter-spacing:.2px;
}

p{ color:var(--su-ink2); }
.section-header{ margin-bottom:22px; }
.section-header h2{
  font-size:32px;
  line-height:1.15;
  font-weight:800;
}
.section-description{
  margin:10px 0 0;
  color:var(--su-muted);
  font-size:16px;
  line-height:1.6;
  max-width:920px;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:700;
  border-radius:12px;
  padding:12px 16px;
  border:1px solid transparent;
  background:transparent;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
  line-height:1;
  user-select:none;
  white-space:nowrap;
}

.btn:focus{ outline:3px solid rgba(21,94,239,.25); outline-offset:2px; }
.btn:hover{ transform:translateY(-1px); box-shadow:0 10px 22px rgba(15,23,42,.12); }

.btn-primary{
  background:var(--su-brand);
  color:#fff;
}
.btn-primary:hover{ background:#0C1930; }

.btn-secondary{
  background:#fff;
  border-color:var(--su-line);
  color:var(--su-ink);
}
.btn-secondary:hover{ background:#F8FAFF; border-color:#CBD5E1; }

.btn-outline-primary{
  background:transparent;
  border-color:rgba(17,34,61,.32);
  color:var(--su-brand);
}
.btn-outline-primary:hover{ background:rgba(17,34,61,.06); border-color:rgba(17,34,61,.45); }

.btn-large{ padding:14px 18px; border-radius:14px; }
.btn-sm{ padding:10px 12px; border-radius:10px; font-size:13px; }

/* HERO */
.hero-section{
  padding:54px 0 44px;
  background:
    radial-gradient(1000px 420px at 20% 0%, rgba(254,56,90,.22), rgba(254,56,90,0) 60%),
    radial-gradient(900px 380px at 80% 10%, rgba(21,94,239,.20), rgba(21,94,239,0) 62%),
    linear-gradient(180deg, rgba(17,34,61,.96), rgba(17,34,61,.92));
  color:#fff;
}

.hero-content h1{
  font-size:44px;
  line-height:1.08;
  font-weight:900;
  color:#fff;
}

.hero-subtitle{
  margin:14px 0 0;
  color:rgba(255,255,255,.86);
  font-size:16.5px;
  line-height:1.7;
  max-width:920px;
}

/* Quick stats */
.quick-stats{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
}

.stat-item{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  padding:14px 14px;
  backdrop-filter: blur(6px);
}

.stat-number{
  display:block;
  font-size:22px;
  font-weight:900;
  color:#fff;
}
.stat-label{
  display:block;
  margin-top:4px;
  font-size:13px;
  color:rgba(255,255,255,.80);
}

/* Address checker */
.address-checker{
  margin-top:18px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  padding:18px;
  max-width:980px;
}

.address-checker h2{
  font-size:18px;
  font-weight:800;
  color:#fff;
  margin:0 0 12px;
}

.address-form .form-row{
  display:grid;
  grid-template-columns: 1.4fr .65fr auto;
  gap:10px;
}

.address-input,
.postal-input,
.postal-input-large,
.cta-input,
.form-select{
  width:100%;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.92);
  padding:12px 12px;
  font-size:14px;
  color:var(--su-ink);
}

.address-input:focus,
.postal-input:focus,
.postal-input-large:focus,
.cta-input:focus,
.form-select:focus{
  outline:3px solid rgba(254,56,90,.25);
  outline-offset:2px;
  border-color:rgba(254,56,90,.55);
}

.form-help{
  margin:10px 0 0;
  color:rgba(255,255,255,.78);
  font-size:13px;
}

/* QUICK NAV */
.quick-nav-section{ background:#fff; padding:18px 0; border-bottom:1px solid var(--su-line); }
.quick-nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.quick-nav-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--su-line);
  border-radius:999px;
  background:#fff;
  color:var(--su-ink);
  font-weight:700;
  font-size:13px;
  transition:background .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.quick-nav-link:hover{
  background:rgba(21,94,239,.06);
  border-color:rgba(21,94,239,.22);
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(15,23,42,.08);
}

.quick-nav-link .icon{
  width:28px;height:28px;
  display:inline-flex;
  align-items:center;justify-content:center;
  border-radius:999px;
  background:rgba(254,56,90,.14);
  border:1px solid rgba(254,56,90,.20);
}

/* PROVIDERS */
.providers-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
}

.provider-card{
  position:relative;
  background:var(--su-card);
  border:1px solid var(--su-line);
  border-radius:var(--su-radius2);
  padding:18px 18px;
  box-shadow:var(--su-shadow);
  overflow:hidden;
}

.provider-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(254,56,90,.10), rgba(254,56,90,0) 44%);
  opacity:0;
  transition:opacity .15s ease;
  pointer-events:none;
}
.provider-card:hover:before{ opacity:1; }
.provider-card:hover{ box-shadow:var(--su-shadow2); transform:translateY(-1px); transition:transform .15s ease, box-shadow .15s ease; }

.provider-card.featured{
  border-color:rgba(254,56,90,.35);
  box-shadow:0 14px 44px rgba(254,56,90,.14), var(--su-shadow);
}

.provider-badge{
  position:absolute;
  top:14px;
  left:14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  letter-spacing:.2px;
  color:#fff;
  background:linear-gradient(90deg, var(--su-accent), #ff6a85);
  box-shadow:0 10px 24px rgba(254,56,90,.22);
  z-index:2;
}

.provider-badge.best-value{
  background:linear-gradient(90deg, #10B981, #34D399);
  box-shadow:0 10px 24px rgba(16,185,129,.18);
}

.provider-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-top:22px;
}

.provider-logo{
  width:112px;
  height:36px;
  object-fit:contain;
  filter:none;
}

.provider-rating{
  text-align:right;
  min-width:140px;
}

.stars{
  font-size:14px;
  letter-spacing:1px;
  color:#FBBF24;
  line-height:1.1;
}
.rating-score{
  display:inline-block;
  margin-top:4px;
  font-weight:800;
  color:var(--su-ink);
  font-size:13px;
}
.rating-count{
  display:inline-block;
  margin-left:6px;
  color:var(--su-muted);
  font-size:12px;
}

.provider-name{
  margin:12px 0 0;
  font-size:18px;
  font-weight:900;
  color:var(--su-ink);
}

.provider-features{
  margin-top:12px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 10px;
}

.feature-item{
  background:#F8FAFF;
  border:1px solid #E7EEFF;
  border-radius:12px;
  padding:10px 10px;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
}

.feature-label{
  color:var(--su-muted);
  font-size:12px;
  font-weight:700;
}
.feature-value{
  color:var(--su-ink);
  font-size:12.5px;
  font-weight:800;
  text-align:right;
}

.provider-benefits{
  margin:12px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:6px;
}

.provider-benefits li{
  color:var(--su-ink2);
  font-size:13px;
  line-height:1.4;
}

.provider-actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* VIEW ALL CTA */
.view-all-cta{
  margin-top:18px;
  display:flex;
  justify-content:center;
}

/* PLANS */
.plans-filter{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:14px 0 16px;
}

.filter-btn{
  appearance:none;
  border:1px solid var(--su-line);
  background:#fff;
  color:var(--su-ink);
  border-radius:999px;
  padding:10px 12px;
  font-weight:800;
  font-size:13px;
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
.filter-btn:hover{
  transform:translateY(-1px);
  background:rgba(21,94,239,.06);
  border-color:rgba(21,94,239,.25);
}
.filter-btn.active{
  background:var(--su-brand);
  border-color:var(--su-brand);
  color:#fff;
}

.plans-table-wrapper{
  overflow:auto;
  border-radius:18px;
  border:1px solid var(--su-line);
  background:#fff;
  box-shadow:var(--su-shadow);
}

.plans-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:920px;
}

.plans-table thead th{
  position:sticky;
  top:0;
  background:#0B1630;
  color:#fff;
  font-size:12.5px;
  letter-spacing:.2px;
  text-transform:none;
  font-weight:900;
  padding:14px 12px;
  border-bottom:1px solid rgba(255,255,255,.14);
  z-index:1;
}

.plans-table tbody td{
  padding:14px 12px;
  border-bottom:1px solid var(--su-line);
  vertical-align:top;
  color:var(--su-ink2);
  font-size:13px;
}

.plans-table tbody tr:hover td{ background:#FAFBFF; }

.plan-name-cell strong{
  display:block;
  font-weight:900;
  color:var(--su-ink);
  font-size:14px;
}

.plan-provider{
  display:inline-block;
  margin-top:4px;
  color:var(--su-muted);
  font-size:12px;
  font-weight:700;
}

.plan-tech{
  display:inline-flex;
  align-items:center;
  margin-top:8px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(21,94,239,.10);
  border:1px solid rgba(21,94,239,.18);
  color:#0B2A6A;
  font-weight:900;
  font-size:11px;
}

.unlimited-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(22,163,74,.10);
  border:1px solid rgba(22,163,74,.18);
  color:#0B5A26;
  font-weight:900;
  font-size:11px;
}

.price-cell{
  display:grid;
  gap:4px;
}

.price-promo{
  font-weight:900;
  color:var(--su-ink);
  font-size:15px;
}

.price-regular{
  color:var(--su-muted);
  font-size:12px;
  text-decoration:line-through;
}

.price-term{
  color:var(--su-muted);
  font-size:12px;
}

.plan-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:11px;
  color:#fff;
  background:linear-gradient(90deg, var(--su-accent), #ff6a85);
  box-shadow:0 10px 20px rgba(254,56,90,.14);
}

.plan-badge.best-value{
  background:linear-gradient(90deg, #10B981, #34D399);
  box-shadow:0 10px 20px rgba(16,185,129,.14);
}

.featured-plan td{
  background:linear-gradient(90deg, rgba(254,56,90,.08), rgba(254,56,90,0) 40%);
}
.featured-plan:hover td{ background:linear-gradient(90deg, rgba(254,56,90,.10), rgba(254,56,90,0) 45%); }

/* SPEED GUIDE */
.speed-cards-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:16px;
}

.speed-card{
  background:#fff;
  border:1px solid var(--su-line);
  border-radius:var(--su-radius2);
  padding:16px 16px;
  box-shadow:var(--su-shadow);
}

.speed-card.featured{
  border-color:rgba(21,94,239,.28);
  box-shadow:0 14px 40px rgba(21,94,239,.12), var(--su-shadow);
}

.speed-card-header{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
}
.speed-card-header h3{
  font-size:18px;
  font-weight:900;
}
.speed-tier{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(17,34,61,.08);
  border:1px solid rgba(17,34,61,.14);
  color:var(--su-brand);
  font-weight:900;
  font-size:11px;
}

.speed-description{ margin:10px 0 0; color:var(--su-muted); font-size:13px; }
.speed-activities{
  margin:10px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:6px;
}
.speed-activities li{ color:var(--su-ink2); font-size:13px; }
.speed-price{ margin-top:12px; color:var(--su-ink2); font-size:13px; }

.speed-calculator{
  margin-top:18px;
  background:#fff;
  border:1px solid var(--su-line);
  border-radius:var(--su-radius2);
  padding:18px;
  box-shadow:var(--su-shadow);
}

.calculator-form{
  margin-top:12px;
  display:grid;
  gap:14px;
}

.form-group label{
  display:block;
  font-weight:800;
  color:var(--su-ink);
  margin-bottom:8px;
  font-size:13px;
}

.checkbox-group{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
.checkbox-group label{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--su-line);
  border-radius:12px;
  background:#fff;
  color:var(--su-ink2);
  font-weight:700;
  font-size:13px;
}

.checkbox-group input{ width:16px; height:16px; accent-color:var(--su-accent); }

.speed-result{
  margin-top:14px;
  border-radius:16px;
  border:1px solid rgba(21,94,239,.20);
  background:rgba(21,94,239,.06);
  padding:14px;
}
.speed-result h4{ margin:0; font-size:16px; font-weight:900; }
.speed-result p{ margin:8px 0 0; color:var(--su-ink2); }

/* NEIGHBORHOODS */
.neighborhoods-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
}

.neighborhood-card{
  display:block;
  background:#fff;
  border:1px solid var(--su-line);
  border-radius:var(--su-radius2);
  padding:16px;
  box-shadow:var(--su-shadow);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.neighborhood-card:hover{
  transform:translateY(-1px);
  box-shadow:var(--su-shadow2);
  border-color:rgba(21,94,239,.22);
}
.neighborhood-card h3{
  margin:0;
  font-size:18px;
  font-weight:900;
}
.neighborhood-coverage{
  margin:8px 0 0;
  color:var(--su-muted);
  font-weight:700;
  font-size:13px;
}
.neighborhood-features{
  margin:10px 0 0;
  padding-left:18px;
  color:var(--su-ink2);
  font-size:13px;
  line-height:1.5;
}
.neighborhood-link{
  display:inline-block;
  margin-top:12px;
  color:var(--su-accent2);
  font-weight:900;
  font-size:13px;
}

.postal-code-lookup{
  margin-top:18px;
  background:#fff;
  border:1px solid var(--su-line);
  border-radius:var(--su-radius2);
  padding:18px;
  box-shadow:var(--su-shadow);
}
.postal-code-lookup h3{ margin:0 0 12px; font-size:18px; font-weight:900; }
.postal-form{
  display:grid;
  grid-template-columns: 1fr auto;
  gap:10px;
}

/* TECHNOLOGY */
.technology-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:16px;
}

.tech-card{
  background:#fff;
  border:1px solid var(--su-line);
  border-radius:var(--su-radius2);
  padding:16px;
  box-shadow:var(--su-shadow);
}

.tech-icon{
  width:44px;height:44px;
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(254,56,90,.10);
  border:1px solid rgba(254,56,90,.18);
  font-size:20px;
}
.tech-card h3{ margin:12px 0 0; font-size:18px; font-weight:900; }
.tech-speed{ margin-top:6px; color:var(--su-muted); font-weight:800; font-size:13px; }
.tech-description{ margin:10px 0 0; color:var(--su-ink2); font-size:13px; line-height:1.6; }

.tech-pros-cons{
  margin:10px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:6px;
  font-size:13px;
}
.tech-pros-cons .pro{ color:#0B5A26; font-weight:700; }
.tech-pros-cons .con{ color:#7F1D1D; font-weight:700; }

.tech-providers{
  margin-top:12px;
  padding-top:12px;
  border-top:1px dashed #D6DEEE;
  color:var(--su-ink2);
  font-size:13px;
}

/* BUYING GUIDE */
.guide-content{
  display:grid;
  gap:16px;
}

.guide-section{
  background:#fff;
  border:1px solid var(--su-line);
  border-radius:var(--su-radius2);
  padding:18px;
  box-shadow:var(--su-shadow);
}

.guide-section h3{
  margin:0;
  font-size:18px;
  font-weight:900;
}

.guide-section h4{
  margin:14px 0 0;
  font-size:15px;
  font-weight:900;
}

.guide-section p{ margin:10px 0 0; color:var(--su-ink2); line-height:1.7; }
.guide-section ul, .guide-section ol{
  margin:10px 0 0;
  padding-left:18px;
  color:var(--su-ink2);
  line-height:1.7;
  font-size:14px;
}

.guide-tip{
  margin-top:12px;
  border:1px solid rgba(254,56,90,.22);
  background:rgba(254,56,90,.06);
  border-radius:16px;
  padding:12px;
  color:var(--su-ink2);
}

.comparison-grid{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}

.comparison-item{
  border:1px solid var(--su-line);
  background:#fff;
  border-radius:16px;
  padding:14px;
}
.comparison-item h4{ margin:0; font-size:15px; font-weight:900; }
.comparison-item ul{ margin:10px 0 0; padding-left:18px; font-size:14px; }

.provider-guide{
  margin-top:12px;
  border:1px solid #E7EEFF;
  background:#F8FAFF;
  border-radius:16px;
  padding:14px;
}
.provider-guide h4{ margin:0; font-size:15px; font-weight:900; }

.guide-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin-top:12px;
  overflow:hidden;
  border-radius:16px;
  border:1px solid var(--su-line);
}
.guide-table th{
  background:#0B1630;
  color:#fff;
  padding:12px 10px;
  font-size:12.5px;
  font-weight:900;
}
.guide-table td{
  padding:12px 10px;
  border-top:1px solid var(--su-line);
  font-size:13px;
  color:var(--su-ink2);
}

.questions-checklist{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
.questions-checklist label{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px 12px;
  border:1px solid var(--su-line);
  border-radius:14px;
  background:#fff;
  color:var(--su-ink2);
  font-weight:700;
  font-size:13px;
}
.questions-checklist input{ margin-top:2px; accent-color:var(--su-accent); }

/* FAQ */
.faq-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}

.faq-item{
  border:1px solid var(--su-line);
  background:#fff;
  border-radius:var(--su-radius2);
  padding:0;
  overflow:hidden;
  box-shadow:var(--su-shadow);
}

.faq-question{
  margin:0;
  padding:16px 16px;
  font-size:15px;
  font-weight:900;
  cursor:pointer;
  background:linear-gradient(180deg, rgba(17,34,61,.06), rgba(17,34,61,0));
  color:var(--su-ink);
  position:relative;
}

.faq-question:after{
  content:"+";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  width:28px;height:28px;
  border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(21,94,239,.10);
  border:1px solid rgba(21,94,239,.18);
  color:#0B2A6A;
  font-weight:900;
}

.faq-answer{
  display:none;
  padding:0 16px 16px;
  color:var(--su-ink2);
  line-height:1.7;
  font-size:14px;
}

.faq-item.active .faq-answer{ display:block; }
.faq-item.active .faq-question:after{ content:"−"; }

/* LOCAL INFO */
.local-info-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}

.info-card{
  background:#fff;
  border:1px solid var(--su-line);
  border-radius:var(--su-radius2);
  padding:18px;
  box-shadow:var(--su-shadow);
}

.info-card h3{ margin:0; font-size:18px; font-weight:900; }
.info-card p{ margin:10px 0 0; color:var(--su-ink2); }
.info-card ul{ margin:10px 0 0; padding-left:18px; color:var(--su-ink2); line-height:1.7; }

/* CTA */
.cta-section{
  padding:56px 0;
  background:
    radial-gradient(900px 360px at 20% 0%, rgba(254,56,90,.18), rgba(254,56,90,0) 60%),
    radial-gradient(900px 360px at 80% 0%, rgba(21,94,239,.18), rgba(21,94,239,0) 62%),
    linear-gradient(180deg, #0B1630, #081124);
  color:#fff;
}

.cta-content{
  max-width:980px;
  margin:0 auto;
  text-align:center;
}

.cta-content h2{
  margin:0;
  font-size:34px;
  font-weight:900;
  color:#fff;
}
.cta-content p{
  margin:12px 0 0;
  color:rgba(255,255,255,.86);
}

.cta-form{
  margin-top:16px;
  display:grid;
  grid-template-columns: 1fr auto;
  gap:10px;
  align-items:center;
}

.cta-input{
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.92);
}

.cta-subtext{
  margin:12px 0 0;
  color:rgba(255,255,255,.78);
  font-size:13px;
}

/* Responsiveness */
@media (max-width: 1100px){
  .providers-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .technology-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .speed-cards-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}

@media (max-width: 820px){
  .hero-content h1{ font-size:34px; }
  .quick-stats{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .address-form .form-row{ grid-template-columns:1fr; }
  .providers-grid{ grid-template-columns:1fr; }
  .neighborhoods-grid{ grid-template-columns:1fr; }
  .comparison-grid{ grid-template-columns:1fr; }
  .faq-grid{ grid-template-columns:1fr; }
  .local-info-grid{ grid-template-columns:1fr; }
  .checkbox-group{ grid-template-columns:1fr; }
  .questions-checklist{ grid-template-columns:1fr; }
  .cta-form{ grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce){
  *{ scroll-behavior:auto!important; transition:none!important; }
}/* End custom CSS */