.florida-page { letter-spacing: 0; }
.region-hero, .region-section { width: var(--page); margin-inline: auto; }
.region-hero { padding: 72px 0 48px; text-align: center; }
.region-hero h1 { max-width: 1040px; margin-inline: auto; font-size: 68px; font-weight: 800; line-height: 1.05; text-wrap: balance; text-transform: uppercase; }
.region-hero__intro { max-width: 710px; margin: 26px auto 0; font-size: 21px; color: #4f5250; }
.region-hero .cta-row { justify-content: center; gap: 18px 28px; }
.region-hero__location { margin-top: 24px; font-size: 15px; color: #4f5250; }
.region-section { padding-block: 48px; }
.region-section h2 { max-width: 900px; margin-bottom: 30px; font-size: 42px; font-weight: 800; line-height: 1.1; text-wrap: balance; }
.region-section h3 { margin-bottom: 14px; font-size: 24px; line-height: 1.2; font-weight: 750; }
.region-section p { color: #4f5250; font-size: 17px; }
.region-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 16px; font-weight: 700; }
.region-link:hover, .region-city-list a:hover, .region-nearby a:hover { color: var(--blue-dark); }
.region-context { display: grid; grid-template-columns: 1fr 1.35fr; gap: 56px; }
.region-context h2 { font-size: 34px; }
.region-source { display: inline-block; padding-block: 12px; font-size: 14px; color: var(--blue-dark); text-decoration: underline; text-underline-offset: 4px; }
.region-caption { margin: -12px 0 30px; }
.region-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.region-columns h3 { color: var(--blue-dark); }
.region-proof figure { margin-top: 32px; }
.region-proof img { width: 100%; height: auto; border-radius: 24px; }
.region-proof__copy { display: flex; justify-content: space-between; align-items: start; gap: 40px; margin-top: 26px; }
.region-proof__copy p { max-width: 760px; }
.region-proof__copy .region-link { flex-shrink: 0; }
.region-remote { margin-block: 32px; background: #e7efff; }
.region-remote .region-section { padding-block: 56px; }
.region-remote__intro { max-width: 820px; margin: -8px 0 36px; }
.region-remote p { color: #334565; }
.region-questions { max-width: 960px; }
.region-faq { display: grid; gap: 12px; }
.region-faq details { padding: 14px 22px; background: var(--mist); border-radius: 16px; }
.region-faq summary { padding: 8px 0; font-size: 19px; font-weight: 600; cursor: pointer; }
.region-faq details p { padding: 12px 0 6px; }
.region-training { margin-top: 30px; }
.region-training a { color: var(--blue-dark); text-decoration: underline; text-underline-offset: 4px; }
.region-start { margin-top: 24px; background: #e7efff; }
.region-start p { max-width: 780px; color: #334565; }
.region-start .cta-row { gap: 18px 28px; }
.region-nearby ul { display: flex; flex-wrap: wrap; gap: 12px 28px; padding: 12px 0 0; margin: 0; list-style: none; }
.region-nearby li a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.region-city-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 64px; }
.region-city-list a { display: inline-block; min-height: 44px; color: var(--blue-dark); font-size: 28px; font-weight: 500; }
.region-city-list p { max-width: 480px; margin-top: 6px; }
@media (max-width: 979px) {
  .region-hero h1 { font-size: 52px; }
  .region-columns { gap: 24px; }
  .region-section h2 { font-size: 36px; }
  .region-context { gap: 32px; }
  .region-proof__copy { display: block; }
  .region-proof__copy .region-link { margin-top: 14px; }
}
@media (max-width: 679px) {
  .region-hero { padding: 48px 0 24px; }
  .region-hero h1 { font-size: 40px; }
  .region-hero__intro { font-size: 18px; margin-top: 22px; }
  .region-section { padding-block: 32px; }
  .region-section h2 { font-size: 30px; margin-bottom: 24px; }
  .region-section h3 { font-size: 23px; }
  .region-columns, .region-context, .region-city-list { grid-template-columns: 1fr; gap: 28px; }
  .region-context { gap: 0; }
  .region-remote .region-section { padding-block: 40px; }
  .region-faq summary { font-size: 18px; }
  .region-start .cta-row { align-items: start; flex-direction: column; }
}
@media (max-width: 359px) {
  .region-hero h1 { font-size: 34px; }
}
