/* "Serving Minneapolis, St. Paul, Brooklyn Park & Maple Grove" block on the service pages.
   Sits between the FAQ and the closing CTA (light grey), with the site's usual 90px section spacing; type and colours follow the
   Elementor kit (post-8.css): Mulish headings, PT Sans body, primary #0071BC. */
.cw-areas { padding: 90px 20px; background: #fff; font-family: "PT Sans", sans-serif; color: #111; }
.cw-areas__inner { max-width: 1140px; margin: 0 auto; text-align: center; }
.cw-areas__title { margin: 0 0 14px; font-family: Mulish, sans-serif; font-size: 42px; font-weight: 700; line-height: 1.3; color: #111; text-wrap: balance; }
.cw-areas__lede { max-width: 760px; text-wrap: balance; margin: 0 auto 36px; font-size: 18px; line-height: 1.6; }
.cw-areas__links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.cw-areas__link {
  display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%;
  padding: 26px 18px; border: 1px solid #E1E7EA; border-radius: 14px; background: var(--e-global-color-147d088, #F3F6F7);
  color: #111; text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s;
}
.cw-areas__link svg { width: 26px; height: 26px; margin-bottom: 6px; color: var(--e-global-color-primary, #0071BC); }
.cw-areas__kicker { font-size: 15px; line-height: 1.3; color: #555; }
.cw-areas__city { font-family: Mulish, sans-serif; font-size: 21px; font-weight: 700; line-height: 1.3; color: var(--e-global-color-primary, #0071BC); }
.cw-areas__link:hover, .cw-areas__link:focus-visible { border-color: var(--e-global-color-primary, #0071BC); box-shadow: 0 10px 24px -14px rgba(0, 113, 188, .55); transform: translateY(-2px); }
.cw-areas__link:focus-visible { outline: 2px solid var(--e-global-color-primary, #0071BC); outline-offset: 3px; }

@media (max-width: 1024px) {
  .cw-areas__title { font-size: 34px; }
  .cw-areas__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .cw-areas { padding: 60px 16px; }
  .cw-areas__title { font-size: 28px; }
  .cw-areas__lede { font-size: 17px; }
  .cw-areas__links { gap: 12px; }
  .cw-areas__link { padding: 20px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .cw-areas__link { transition: none; }
  .cw-areas__link:hover { transform: none; }
}
