/* Fiber at My Address — State/City template visual alignment.
   Loaded only on the two native Location page templates. Header/footer are intentionally untouched. */
.faa3-location-page .faa-location {
  --faa-page-max: 1210px;
}
.faa3-location-page .faa-location .faa-loc-wrap {
  width: calc(100% - 80px);
  max-width: var(--faa-page-max);
}
.faa3-location-page .faa-location .faa-loc-section {
  padding-top: 30px;
  padding-bottom: 30px;
}

/* Hero proportions from the approved State/City concepts. */
.faa3-location-page .faa-location .faa-loc-hero {
  padding-top: 18px;
  padding-bottom: 14px;
}
.faa3-location-page .faa-location .faa-loc-breadcrumbs {
  margin-bottom: 16px;
}
.faa3-location-page .faa-location .faa-loc-hero-copy {
  width: 50%;
  max-width: 610px;
  padding-bottom: 14px;
}
.faa3-location-page .faa-location .faa-loc-hero-copy h1 {
  margin-bottom: 14px;
}
.faa3-location-page .faa-location .faa-loc-hero-intro {
  max-width: 540px;
}
.faa3-location-page .faa-location .faa-loc-hero-search {
  margin-top: 2px;
}
.faa3-location-page .faa-location .faa-loc-search-row {
  min-height: 64px;
}
.faa3-location-page .faa-location .faa-loc-security {
  margin-top: 9px;
}
/* State artwork should visually occupy the full right half instead of sitting as a small card inside the content width. */
.faa3-location-state .faa-location .faa-loc-hero.is-illustrated .faal-hero-visual {
  right: calc((100vw - 100%) / -2);
  width: min(56vw, 840px);
  height: calc(100% - 48px);
  top: 16px;
}
.faa3-location-state .faa-location .faa-loc-hero.is-illustrated .faal-hero-visual > svg,
.faa3-location-state .faa-location .faa-loc-hero.is-illustrated .faal-hero-artwork {
  object-position: right center;
}

/* Highlights/statistics — match the reference card height, dividers and breathing room. */
.faa3-location-page .faa-location .faa-loc-highlights {
  padding-top: 24px;
  padding-bottom: 24px;
}
.faa3-location-page .faa-location .faa-loc-highlights.is-statistics .faa-loc-highlights-grid {
  padding: 18px 12px;
  border-radius: 9px;
}
.faa3-location-page .faa-location .faa-loc-highlights.is-statistics .faa-loc-highlight {
  padding: 8px 28px;
}
.faa3-location-page .faa-location .faa-loc-highlights.is-benefits .faa-loc-highlight {
  padding-top: 12px;
  padding-bottom: 12px;
}

/* Provider block — wider, denser table like the supplied layouts. */
.faa3-location-page .faa-location .faa-loc-providers {
  padding-top: 34px;
  padding-bottom: 16px;
}
.faa3-location-page .faa-location .faa-loc-providers .faa-loc-heading {
  margin-bottom: 8px;
}
.faa3-location-page .faa-location .faa-loc-providers .faa-loc-intro {
  margin-bottom: 18px;
}
.faa3-location-page .faa-location .faa-loc-provider-table th,
.faa3-location-page .faa-location .faa-loc-provider-table td {
  padding-top: 9px;
  padding-bottom: 9px;
}
.faa3-location-page .faa-location .faa-loc-provider-brand {
  height: 34px;
}
.faa3-location-page .faa-location .faa-loc-provider-logo {
  max-height: 31px;
}
.faa3-location-page .faa-location .faa-loc-button.is-small {
  max-width: 205px;
  min-height: 34px;
  padding-top: 7px;
  padding-bottom: 7px;
}

/* CTA banners. */
.faa3-location-page .faa-location .faa-loc-cta {
  padding-top: 16px;
  padding-bottom: 28px;
}
.faa3-location-page .faa-location .faa-loc-cta-box {
  min-height: 86px;
  padding: 20px 24px;
}
.faa3-location-page .faa-location .faa-loc-cta.is-spacious .faa-loc-cta-box {
  min-height: 92px;
  padding: 20px 24px;
}

/* State city directory. */
.faa3-location-state .faa-location .faa-loc-city-links {
  padding-top: 14px;
  padding-bottom: 32px;
}
.faa3-location-state .faa-location .faa-loc-city-links.is-grid .faa-loc-city-links-box {
  padding: 24px 20px 20px;
}
.faa3-location-state .faa-location .faa-loc-city-links-intro {
  margin-bottom: 16px;
}
.faa3-location-state .faa-location .faa-loc-city-list {
  gap: 8px 14px;
}
.faa3-location-state .faa-location .faa-loc-city-list a {
  padding: 11px 18px;
}

/* State split content sections — large alternating artwork, compact vertical gaps. */
.faa3-location-state .faa-location .faa-loc-content {
  padding-top: 30px;
  padding-bottom: 30px;
}
.faa3-location-state .faa-location .faa-loc-content-row {
  gap: 42px;
}
.faa3-location-state .faa-location .faa-loc-content-image {
  flex-basis: 47%;
}
.faa3-location-state .faa-location .faa-loc-content-image img,
.faa3-location-state .faa-location .faal-illustration {
  border-radius: 10px;
}

/* City page rhythm and compact content sections. */
.faa3-location-city .faa-location .faa-loc-highlights {
  padding-top: 22px;
  padding-bottom: 26px;
}
.faa3-location-city .faa-location .faa-loc-providers {
  padding-top: 30px;
}
.faa3-location-city .faa-location .faa-loc-steps {
  padding-top: 28px;
  padding-bottom: 24px;
}
.faa3-location-city .faa-location .faa-loc-steps .faa-loc-heading {
  margin-bottom: 24px;
}
.faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-row {
  padding: 32px 0;
  gap: 42px;
}
.faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-image {
  flex-basis: 150px;
}
.faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-image img,
.faa3-location-city .faa-location .faa-loc-content.is-compact .faal-illustration {
  width: 124px;
  height: 124px;
  margin-left: auto;
  object-fit: contain;
}
.faa3-location-city .faa-location .faa-loc-content.is-compact .faal-illustration {
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.faa3-location-city .faa-location .faa-loc-faq {
  padding-top: 24px;
  padding-bottom: 36px;
}
.faa3-location-city .faa-location .faa-loc-faq-heading {
  margin-bottom: 18px;
}
.faa3-location-city .faa-location .faa-loc-faq-list summary {
  min-height: 50px;
}
.faa3-location-city .faa-location .faa-loc-city-links.is-buttons {
  padding-top: 34px;
  padding-bottom: 48px;
}

@media (max-width: 1024px) {
  .faa3-location-page .faa-location .faa-loc-wrap {
    width: calc(100% - 80px);
  }
  .faa3-location-state .faa-location .faa-loc-hero.is-illustrated .faal-hero-visual {
    width: 58vw;
  }
}

@media (max-width: 768px) {
  .faa3-location-page .faa-location .faa-loc-wrap {
    width: calc(100% - 60px);
  }
  .faa3-location-page .faa-location .faa-loc-section {
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .faa3-location-page .faa-location .faa-loc-hero-copy {
    width: 100%;
    max-width: 100%;
  }
  .faa3-location-state .faa-location .faa-loc-hero.is-illustrated .faal-hero-visual {
    right: auto;
    width: 100%;
    height: 230px;
    top: auto;
  }
}

@media (max-width: 700px) {
  .faa3-location-page .faa-location .faa-loc-wrap {
    width: calc(100% - 60px);
  }
  .faa3-location-page .faa-location .faa-loc-providers {
    padding-top: 28px;
  }
  .faa3-location-page .faa-location .faa-loc-cta-box,
  .faa3-location-page .faa-location .faa-loc-cta.is-spacious .faa-loc-cta-box {
    min-height: 0;
  }
  .faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-row {
    padding: 28px 0;
  }
  .faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-image,
  .faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-image img,
  .faa3-location-city .faa-location .faa-loc-content.is-compact .faal-illustration {
    width: 84px;
    height: 84px;
  }
}

/* v4.4.0 — reference-layout typography/alignment pass.
   Intentionally scoped to native State/City location templates only. */
.faa3-location-page .faa-location {
  font-weight: 400;
}
.faa3-location-page .faa-location .faa-loc-wrap {
  max-width: 1210px;
}

/* Typography hierarchy from the supplied State/City references. */
.faa3-location-page .faa-location .faa-loc-hero-copy h1 {
  font-size: 56px;
  line-height: 1.02;
  font-weight: 600;
  letter-spacing: -0.035em;
}
.faa3-location-page .faa-location .faa-loc-hero-intro,
.faa3-location-page .faa-location .faa-loc-intro,
.faa3-location-page .faa-location .faa-loc-prose {
  font-weight: 400;
}
.faa3-location-page .faa-location .faa-loc-hero-intro {
  font-size: 17px;
  line-height: 1.45;
}
.faa3-location-page .faa-location .faa-loc-providers > .faa-loc-wrap > .faa-loc-heading,
.faa3-location-page .faa-location .faa-loc-steps > .faa-loc-wrap > .faa-loc-heading,
.faa3-location-page .faa-location .faa-loc-faq .faa-loc-faq-heading > .faa-loc-heading {
  font-size: 32px;
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -0.025em;
}
.faa3-location-page .faa-location .faa-loc-content .faa-loc-heading,
.faa3-location-page .faa-location .faa-loc-city-links .faa-loc-heading,
.faa3-location-page .faa-location .faa-loc-cta .faa-loc-heading {
  font-weight: 600;
  letter-spacing: -0.02em;
}
.faa3-location-state .faa-location .faa-loc-content .faa-loc-heading {
  font-size: 30px;
  line-height: 1.18;
}
.faa3-location-city .faa-location .faa-loc-content .faa-loc-heading,
.faa3-location-city .faa-location .faa-loc-city-links .faa-loc-heading {
  font-size: 24px;
  line-height: 1.2;
}
.faa3-location-page .faa-location .faa-loc-prose,
.faa3-location-page .faa-location .faa-loc-content .faa-loc-intro {
  font-size: 15px;
  line-height: 1.58;
}

/* Hero spacing/alignment. */
.faa3-location-page .faa-location .faa-loc-hero-copy {
  padding-bottom: 10px;
}
.faa3-location-page .faa-location .faa-loc-hero-copy h1 {
  margin-bottom: 14px;
}
.faa3-location-page .faa-location .faa-loc-breadcrumbs {
  margin-bottom: 14px;
}

/* Benefits/statistics: lighter copy and reference-like vertical alignment. */
.faa3-location-page .faa-location .faa-loc-highlight {
  align-items: center;
}
.faa3-location-page .faa-location .faa-loc-highlight-title {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 3px;
}
.faa3-location-page .faa-location .faa-loc-highlight-description {
  font-size: 13px;
  line-height: 1.4;
  font-weight: 400;
}
.faa3-location-state .faa-location .faa-loc-highlights.is-statistics .faa-loc-highlight-title {
  font-size: 29px;
  line-height: 1.05;
}
.faa3-location-state .faa-location .faa-loc-highlights.is-statistics .faa-loc-highlight {
  min-height: 74px;
}
.faa3-location-city .faa-location .faa-loc-highlights.is-benefits .faa-loc-highlight {
  min-height: 66px;
}

/* Provider section: reference column proportions and true row/button alignment. */
.faa3-location-page .faa-location .faa-loc-providers > .faa-loc-wrap > .faa-loc-heading {
  margin-bottom: 9px;
}
.faa3-location-page .faa-location .faa-loc-providers > .faa-loc-wrap > .faa-loc-intro {
  font-size: 15px;
  line-height: 1.45;
  font-weight: 400;
  margin-bottom: 16px;
}
.faa3-location-city .faa-location .faa-loc-providers.is-center .faa-loc-intro {
  max-width: 980px;
}
.faa3-location-page .faa-location .faa-loc-provider-table {
  font-size: 14px;
  line-height: 1.25;
}
.faa3-location-page .faa-location .faa-loc-provider-table thead th {
  font-size: 13px;
  line-height: 1.2;
  font-weight: 600;
  padding: 11px 16px;
}
.faa3-location-page .faa-location .faa-loc-provider-table th,
.faa3-location-page .faa-location .faa-loc-provider-table td {
  padding: 8px 16px;
  font-weight: 400;
  vertical-align: middle;
}
.faa3-location-page .faa-location .faa-loc-provider-table tbody th {
  font-weight: 500;
}
.faa3-location-page .faa-location .faa-loc-provider-table thead th:nth-child(1) { width: 36%; }
.faa3-location-page .faa-location .faa-loc-provider-table thead th:nth-child(2) { width: 19%; }
.faa3-location-page .faa-location .faa-loc-provider-table thead th:nth-child(3) { width: 21%; }
.faa3-location-page .faa-location .faa-loc-provider-table thead th:nth-child(4) { width: 24%; }
.faa3-location-page .faa-location .faa-loc-provider-brand {
  width: 190px;
  height: 32px;
  align-items: center;
}
.faa3-location-page .faa-location .faa-loc-provider-logo {
  max-width: 185px;
  max-height: 30px;
}
.faa3-location-page .faa-location .faa-loc-provider-cta {
  text-align: right;
}
.faa3-location-page .faa-location .faa-loc-provider-cta .faa-loc-button.is-small {
  width: 100%;
  max-width: 190px;
  min-height: 32px;
  margin-left: auto;
  padding: 7px 12px;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
}

/* CTA banners. */
.faa3-location-page .faa-location .faa-loc-cta-box {
  min-height: 82px;
  padding: 18px 22px;
  gap: 18px;
}
.faa3-location-page .faa-location .faa-loc-cta .faa-loc-heading {
  font-size: 18px;
  line-height: 1.2;
  margin-bottom: 3px;
}
.faa3-location-page .faa-location .faa-loc-cta .faa-loc-intro {
  font-size: 13px;
  line-height: 1.4;
}
.faa3-location-page .faa-location .faa-loc-cta .faa-loc-button {
  min-width: 190px;
  min-height: 48px;
  font-size: 14px;
}

/* City How It Works. */
.faa3-location-city .faa-location .faa-loc-steps > .faa-loc-wrap > .faa-loc-heading {
  text-align: center;
  margin-bottom: 24px;
}
.faa3-location-city .faa-location .faa-loc-step-title {
  font-size: 16px;
  line-height: 1.25;
  font-weight: 600;
}
.faa3-location-city .faa-location .faa-loc-step-text {
  font-size: 13px;
  line-height: 1.5;
  font-weight: 400;
}

/* City content rows: stronger heading, lighter paragraph and centered icon. */
.faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-row {
  align-items: center;
  min-height: 174px;
}
.faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-copy {
  padding-right: 20px;
}
.faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-image {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* FAQ alignment and reference weight. */
.faa3-location-city .faa-location .faa-loc-faq-heading {
  align-items: center;
  margin-bottom: 16px;
}
.faa3-location-city .faa-location .faa-loc-faq-heading > .faa-loc-heading {
  text-align: center;
  flex: 1;
  margin: 0;
}
.faa3-location-city .faa-location .faa-loc-faq-more {
  font-size: 13px;
  font-weight: 500;
}
.faa3-location-city .faa-location .faa-loc-faq-list summary {
  min-height: 48px;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 500;
  padding-top: 12px;
  padding-bottom: 12px;
}

/* State split content alignment. */
.faa3-location-state .faa-location .faa-loc-content-row {
  align-items: center;
}
.faa3-location-state .faa-location .faa-loc-content-copy {
  flex-basis: 50%;
}
.faa3-location-state .faa-location .faa-loc-content-image {
  flex-basis: 46%;
}

/* City links. */
.faa3-location-city .faa-location .faa-loc-city-links.is-buttons .faa-loc-city-links-box {
  padding-left: 0;
  padding-right: 0;
}
.faa3-location-city .faa-location .faa-loc-city-links.is-buttons .faa-loc-city-list a {
  min-height: 42px;
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 500;
}

@media (max-width: 1024px) {
  .faa3-location-page .faa-location .faa-loc-hero-copy h1 { font-size: 48px; }
  .faa3-location-page .faa-location .faa-loc-providers > .faa-loc-wrap > .faa-loc-heading,
  .faa3-location-page .faa-location .faa-loc-steps > .faa-loc-wrap > .faa-loc-heading,
  .faa3-location-page .faa-location .faa-loc-faq .faa-loc-faq-heading > .faa-loc-heading { font-size: 29px; }
  .faa3-location-page .faa-location .faa-loc-provider-brand { width: 165px; }
  .faa3-location-page .faa-location .faa-loc-provider-logo { max-width: 160px; }
}

@media (max-width: 768px) {
  .faa3-location-page .faa-location .faa-loc-hero-copy h1 {
    font-size: 38px;
    line-height: 1.05;
  }
  .faa3-location-page .faa-location .faa-loc-providers > .faa-loc-wrap > .faa-loc-heading,
  .faa3-location-page .faa-location .faa-loc-steps > .faa-loc-wrap > .faa-loc-heading,
  .faa3-location-page .faa-location .faa-loc-faq .faa-loc-faq-heading > .faa-loc-heading { font-size: 27px; }
  .faa3-location-state .faa-location .faa-loc-content .faa-loc-heading,
  .faa3-location-city .faa-location .faa-loc-content .faa-loc-heading { font-size: 23px; }
}

@media (max-width: 700px) {
  .faa3-location-page .faa-location .faa-loc-provider-table { font-size: 14px; }
  .faa3-location-page .faa-location .faa-loc-provider-cta { text-align: left; }
  .faa3-location-page .faa-location .faa-loc-provider-cta .faa-loc-button.is-small {
    max-width: none;
    min-height: 44px;
    margin-left: 0;
    font-size: 14px;
  }
  .faa3-location-page .faa-location .faa-loc-provider-brand { width: 180px; }
  .faa3-location-page .faa-location .faa-loc-provider-logo { max-width: 175px; }
  .faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-row {
    min-height: 0;
    align-items: flex-start;
  }
}

/* v4.6.0 — reference-match refinement.
   Scoped to the native State/City templates only. Header/footer and normal pages are untouched. */
.faa3-location-page {
  max-width: 100%;
  overflow-x: clip;
}
.faa3-location-page .faa-location {
  overflow-wrap: anywhere;
}
.faa3-location-page .faa-location .faa-loc-hero {
  overflow: hidden;
}
.faa3-location-state .faa-location .faa-loc-hero.is-illustrated .faal-hero-visual {
  right: 0;
  max-width: 840px;
}

/* Hero — stronger reference hierarchy and taller search control. */
.faa3-location-page .faa-location .faa-loc-hero {
  padding-top: 20px;
  padding-bottom: 18px;
}
.faa3-location-page .faa-location .faa-loc-breadcrumbs {
  margin-bottom: 17px;
}
.faa3-location-page .faa-location .faa-loc-hero-copy h1 {
  font-size: 62px;
  line-height: .98;
  font-weight: 700;
  letter-spacing: -.04em;
  margin-bottom: 16px;
}
.faa3-location-page .faa-location .faa-loc-hero-intro {
  font-size: 18.5px;
  line-height: 1.52;
  max-width: 570px;
}
.faa3-location-page .faa-location .faa-loc-search-row {
  min-height: 70px;
  padding: 6px;
  border-radius: 11px;
}
.faa3-location-page .faa-location .faa-loc-address-input {
  height: 62px;
  padding-block: 16px;
  font-size: 17px;
}
.faa3-location-page .faa-location .faa-loc-search-row > .faa-loc-button {
  min-height: 62px;
  min-width: 248px;
  padding-inline: 30px;
  font-size: 16px;
}
.faa3-location-page .faa-location .faa-loc-security {
  margin-top: 10px;
}

/* State statistics — one of the strongest visual anchors in the reference. */
.faa3-location-state .faa-location .faa-loc-highlights {
  padding-top: 28px;
  padding-bottom: 28px;
}
.faa3-location-state .faa-location .faa-loc-highlights.is-statistics .faa-loc-highlights-grid {
  padding: 24px 12px;
  border-radius: 10px;
}
.faa3-location-state .faa-location .faa-loc-highlights.is-statistics .faa-loc-highlight {
  min-height: 92px;
  padding: 10px 34px;
  gap: 18px;
}
.faa3-location-state .faa-location .faa-loc-highlights.is-statistics .faa-loc-highlight-title {
  font-size: 34px;
  line-height: 1.03;
  font-weight: 700;
  letter-spacing: -.035em;
  margin-bottom: 5px;
}
.faa3-location-state .faa-location .faa-loc-highlights.is-statistics .faa-loc-highlight-description {
  font-size: 14.5px;
  line-height: 1.45;
  font-weight: 400;
}
.faa3-location-state .faa-location .faa-loc-highlights.is-statistics .faa-loc-highlight-icon {
  width: 58px;
  height: 58px;
  flex-basis: 58px;
}

/* City benefits — bolder labels, more comfortable row height and subtle dividers. */
.faa3-location-city .faa-location .faa-loc-highlights {
  padding-top: 27px;
  padding-bottom: 32px;
}
.faa3-location-city .faa-location .faa-loc-highlights.is-benefits .faa-loc-highlight {
  min-height: 82px;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-inline: 32px;
}
.faa3-location-city .faa-location .faa-loc-highlights.is-benefits .faa-loc-highlight:first-child {
  padding-left: 0;
}
.faa3-location-city .faa-location .faa-loc-highlights.is-benefits .faa-loc-highlight-title {
  font-size: 18px;
  line-height: 1.2;
  font-weight: 700;
}
.faa3-location-city .faa-location .faa-loc-highlights.is-benefits .faa-loc-highlight-description {
  font-size: 14.5px;
  line-height: 1.48;
}
.faa3-location-city .faa-location .faa-loc-highlights.is-benefits .faa-loc-highlight + .faa-loc-highlight {
  border-left-color: #ece8f7;
}

/* Shared section hierarchy. */
.faa3-location-page .faa-location .faa-loc-providers > .faa-loc-wrap > .faa-loc-heading,
.faa3-location-page .faa-location .faa-loc-steps > .faa-loc-wrap > .faa-loc-heading,
.faa3-location-page .faa-location .faa-loc-faq .faa-loc-faq-heading > .faa-loc-heading {
  font-size: 36px;
  line-height: 1.12;
  font-weight: 700;
  letter-spacing: -.03em;
}
.faa3-location-page .faa-location .faa-loc-providers > .faa-loc-wrap > .faa-loc-intro {
  font-size: 16.5px;
  line-height: 1.55;
  margin-bottom: 22px;
}
.faa3-location-page .faa-location .faa-loc-content .faa-loc-intro,
.faa3-location-page .faa-location .faa-loc-content .faa-loc-prose {
  font-size: 16.5px;
  line-height: 1.64;
}
.faa3-location-state .faa-location .faa-loc-content .faa-loc-heading {
  font-size: 33px;
  line-height: 1.16;
  font-weight: 700;
}
.faa3-location-city .faa-location .faa-loc-content .faa-loc-heading,
.faa3-location-city .faa-location .faa-loc-city-links .faa-loc-heading {
  font-size: 28px;
  line-height: 1.16;
  font-weight: 700;
}

/* Provider table — taller rows, larger data, softer separators and stronger CTAs. */
.faa3-location-page .faa-location .faa-loc-providers {
  padding-top: 38px;
  padding-bottom: 18px;
}
.faa3-location-page .faa-location .faa-loc-table-wrap {
  border-color: #ece8f7;
  border-radius: 10px;
}
.faa3-location-page .faa-location .faa-loc-provider-table {
  font-size: 15.5px;
  line-height: 1.35;
}
.faa3-location-page .faa-location .faa-loc-provider-table thead th {
  padding: 14px 17px;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
}
.faa3-location-page .faa-location .faa-loc-provider-table th,
.faa3-location-page .faa-location .faa-loc-provider-table td {
  padding: 11px 17px;
}
.faa3-location-page .faa-location .faa-loc-provider-table tbody tr + tr > * {
  border-top-color: #eeeaf7;
}
.faa3-location-page .faa-location .faa-loc-provider-brand {
  height: 40px;
}
.faa3-location-page .faa-location .faa-loc-provider-logo {
  max-width: 190px;
  max-height: 36px;
}
.faa3-location-page .faa-location .faa-loc-provider-cta .faa-loc-button.is-small {
  max-width: 196px;
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 6px;
  font-size: 13.5px;
}

/* State city directory. */
.faa3-location-state .faa-location .faa-loc-city-links {
  padding-top: 18px;
  padding-bottom: 34px;
}
.faa3-location-state .faa-location .faa-loc-city-links.is-grid .faa-loc-city-links-box {
  padding: 30px 28px 28px;
  border-radius: 10px;
}
.faa3-location-state .faa-location .faa-loc-city-links .faa-loc-heading {
  font-size: 31px;
  line-height: 1.15;
  font-weight: 700;
}
.faa3-location-state .faa-location .faa-loc-city-links .faa-loc-intro {
  font-size: 16px;
  line-height: 1.55;
  margin-bottom: 20px;
}
.faa3-location-state .faa-location .faa-loc-city-list {
  gap: 10px 16px;
}
.faa3-location-state .faa-location .faa-loc-city-list a {
  min-height: 48px;
  padding: 13px 20px;
  font-size: 14.5px;
}

/* State editorial rows — less external whitespace, more useful internal breathing room. */
.faa3-location-state .faa-location .faa-loc-content {
  padding-top: 26px;
  padding-bottom: 26px;
}
.faa3-location-state .faa-location .faa-loc-content-row {
  gap: 48px;
  min-height: 320px;
  padding-block: 12px;
}
.faa3-location-state .faa-location .faa-loc-content-copy {
  padding-block: 16px;
}
.faa3-location-state .faa-location .faa-loc-content .faa-loc-heading {
  margin-bottom: 14px;
}

/* CTA banners — closer to the taller reference proportions. */
.faa3-location-page .faa-location .faa-loc-cta {
  padding-top: 18px;
  padding-bottom: 30px;
}
.faa3-location-page .faa-location .faa-loc-cta-box,
.faa3-location-page .faa-location .faa-loc-cta.is-spacious .faa-loc-cta-box {
  min-height: 108px;
  padding: 26px 28px;
  gap: 22px;
}
.faa3-location-page .faa-location .faa-loc-cta .faa-loc-heading {
  font-size: 21px;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 6px;
}
.faa3-location-page .faa-location .faa-loc-cta .faa-loc-intro {
  font-size: 14.5px;
  line-height: 1.5;
}
.faa3-location-page .faa-location .faa-loc-cta .faa-loc-button {
  min-width: 210px;
  min-height: 52px;
  padding-inline: 26px;
  font-size: 14.5px;
}
.faa3-location-city .faa-location .faa-loc-cta-box {
  min-height: 112px;
}

/* City How It Works. */
.faa3-location-city .faa-location .faa-loc-steps {
  padding-top: 38px;
  padding-bottom: 36px;
}
.faa3-location-city .faa-location .faa-loc-steps > .faa-loc-wrap > .faa-loc-heading {
  margin-bottom: 30px;
}
.faa3-location-city .faa-location .faa-loc-steps-list {
  margin-top: 28px;
  gap: 38px;
}
.faa3-location-city .faa-location .faa-loc-steps-list h3,
.faa3-location-city .faa-location .faa-loc-step-title {
  font-size: 17px;
  line-height: 1.3;
  font-weight: 700;
  margin-bottom: 8px;
}
.faa3-location-city .faa-location .faa-loc-steps-list p,
.faa3-location-city .faa-location .faa-loc-step-text {
  font-size: 15.5px;
  line-height: 1.62;
}

/* City information rows — centered artwork and reference-like vertical rhythm. */
.faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-row {
  min-height: 196px;
  padding: 38px 0;
  gap: 44px;
  border-color: #ece8f4;
}
.faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-copy {
  padding-right: 14px;
}
.faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-image {
  display: flex;
  align-items: center;
  justify-content: center;
}
.faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-image img,
.faa3-location-city .faa-location .faa-loc-content.is-compact .faal-illustration {
  margin-left: 0;
  margin-right: 0;
  margin-inline: auto;
}
.faa3-location-city .faa-location .faa-loc-content.is-compact .faal-illustration,
.faa3-location-city .faa-location .faa-loc-content.is-compact .faal-illustration > .faa3-content-art {
  border-radius: 0;
  background: transparent;
}
.faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-heading {
  margin-bottom: 12px;
}

/* FAQ — taller rows and stronger hierarchy. */
.faa3-location-city .faa-location .faa-loc-faq {
  padding-top: 34px;
  padding-bottom: 44px;
}
.faa3-location-city .faa-location .faa-loc-faq-heading {
  margin-bottom: 22px;
}
.faa3-location-city .faa-location .faa-loc-faq-list details {
  border-color: #e9e5f2;
  border-radius: 8px;
  margin-bottom: 6px;
}
.faa3-location-city .faa-location .faa-loc-faq-list summary {
  min-height: 62px;
  padding: 17px 20px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
}
.faa3-location-city .faa-location .faa-loc-faq-answer {
  padding: 0 20px 20px;
  font-size: 15px;
  line-height: 1.62;
}

/* Nearby-city pills. */
.faa3-location-city .faa-location .faa-loc-city-links.is-buttons {
  padding-top: 38px;
  padding-bottom: 50px;
}
.faa3-location-city .faa-location .faa-loc-city-links.is-buttons .faa-loc-city-list {
  gap: 12px;
}
.faa3-location-city .faa-location .faa-loc-city-links.is-buttons .faa-loc-city-list a {
  min-height: 46px;
  padding: 12px 22px;
  font-size: 14px;
  border-radius: 7px;
}

@media (max-width: 1024px) {
  .faa3-location-page .faa-location .faa-loc-hero-copy h1 {
    font-size: 52px;
  }
  .faa3-location-state .faa-location .faa-loc-highlights.is-statistics .faa-loc-highlight {
    padding-inline: 24px;
  }
  .faa3-location-state .faa-location .faa-loc-highlights.is-statistics .faa-loc-highlight-title {
    font-size: 30px;
  }
  .faa3-location-page .faa-location .faa-loc-providers > .faa-loc-wrap > .faa-loc-heading,
  .faa3-location-page .faa-location .faa-loc-steps > .faa-loc-wrap > .faa-loc-heading,
  .faa3-location-page .faa-location .faa-loc-faq .faa-loc-faq-heading > .faa-loc-heading {
    font-size: 32px;
  }
  .faa3-location-page .faa-location .faa-loc-provider-table {
    font-size: 14px;
  }
  .faa3-location-page .faa-location .faa-loc-provider-table th,
  .faa3-location-page .faa-location .faa-loc-provider-table td {
    padding-inline: 13px;
  }
}

@media (max-width: 768px) {
  .faa3-location-page {
    overflow-x: hidden;
  }
  .faa3-location-page .faa-location .faa-loc-hero-copy h1 {
    font-size: 40px;
    line-height: 1.01;
  }
  .faa3-location-page .faa-location .faa-loc-hero-intro {
    font-size: 16.5px;
  }
  .faa3-location-page .faa-location .faa-loc-search-row {
    min-height: 64px;
  }
  .faa3-location-page .faa-location .faa-loc-address-input {
    height: 56px;
    font-size: 16px;
  }
  .faa3-location-page .faa-location .faa-loc-search-row > .faa-loc-button {
    min-height: 56px;
    min-width: 210px;
    padding-inline: 22px;
  }
  .faa3-location-state .faa-location .faa-loc-highlights.is-statistics .faa-loc-highlight-title {
    font-size: 28px;
  }
  .faa3-location-state .faa-location .faa-loc-content-row {
    min-height: 0;
  }
}

@media (max-width: 700px) {
  .faa3-location-page .faa-location .faa-loc-hero-copy h1 {
    font-size: clamp(37px, 10vw, 43px);
  }
  .faa3-location-page .faa-location .faa-loc-search-row {
    min-height: 0;
  }
  .faa3-location-page .faa-location .faa-loc-search-row > .faa-loc-button {
    min-width: 0;
    min-height: 52px;
  }
  .faa3-location-state .faa-location .faa-loc-highlights.is-statistics .faa-loc-highlights-grid {
    padding-block: 18px;
  }
  .faa3-location-state .faa-location .faa-loc-highlights.is-statistics .faa-loc-highlight {
    min-height: 78px;
    padding: 10px 14px;
  }
  .faa3-location-city .faa-location .faa-loc-highlights.is-benefits .faa-loc-highlight {
    padding-inline: 0;
  }
  .faa3-location-page .faa-location .faa-loc-providers > .faa-loc-wrap > .faa-loc-heading,
  .faa3-location-page .faa-location .faa-loc-steps > .faa-loc-wrap > .faa-loc-heading,
  .faa3-location-page .faa-location .faa-loc-faq .faa-loc-faq-heading > .faa-loc-heading {
    font-size: 29px;
  }
  .faa3-location-page .faa-location .faa-loc-provider-table th,
  .faa3-location-page .faa-location .faa-loc-provider-table td {
    padding: 0;
  }
  .faa3-location-page .faa-location .faa-loc-provider-cta .faa-loc-button.is-small {
    min-height: 46px;
    font-size: 14px;
  }
  .faa3-location-page .faa-location .faa-loc-cta-box,
  .faa3-location-page .faa-location .faa-loc-cta.is-spacious .faa-loc-cta-box {
    padding: 24px 20px;
  }
  .faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-row {
    min-height: 0;
    padding: 32px 0;
  }
  .faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-image {
    justify-content: center;
  }
  .faa3-location-city .faa-location .faa-loc-faq-list summary {
    min-height: 58px;
    padding: 16px 15px;
  }
  .faa3-location-city .faa-location .faa-loc-city-links.is-buttons .faa-loc-city-list a {
    min-height: 44px;
    padding: 11px 18px;
  }
}

/* v4.6.2 — final location-page refinements. Scoped to State/City templates only. */
.faa3-location-page .faa-location .faa-loc-provider-cta .faa-loc-button.is-small {
  font-weight: 600;
}
.faa3-location-page .faa-location .faa-loc-provider-table tbody td:nth-child(2),
.faa3-location-page .faa-location .faa-loc-provider-table tbody td:nth-child(3) {
  font-weight: 500;
}
.faa3-location-page .faa-location .faa-loc-provider-logo {
  max-height: 30px;
}
.faa3-location-city .faa-location .faa-loc-faq .faa-loc-faq-heading > .faa-loc-heading {
  font-size: 37px;
}
.faa3-location-city .faa-location .faa-loc-faq-list summary {
  font-size: 16px;
}
.faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-image {
  flex: 0 0 150px;
  width: 150px;
  max-width: 100%;
}
.faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-image img,
.faa3-location-city .faa-location .faa-loc-content.is-compact .faal-illustration > .faa3-content-art {
  width: 150px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
@media (max-width: 700px) {
  .faa3-location-city .faa-location .faa-loc-faq .faa-loc-faq-heading > .faa-loc-heading {
    font-size: 29px;
  }
  .faa3-location-city .faa-location .faa-loc-faq-list summary {
    font-size: 15px;
  }
  .faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-image {
    flex-basis: 88px;
    width: 88px;
  }
  .faa3-location-city .faa-location .faa-loc-content.is-compact .faa-loc-content-image img,
  .faa3-location-city .faa-location .faa-loc-content.is-compact .faal-illustration > .faa3-content-art {
    width: 88px;
  }
}
