/* Areas we cover — auto-pulled area cards */

.areas-covered {
  background: var(--color-bg-lighter);
  border-bottom: 1px solid var(--color-border);
  padding-block: var(--space-8);
}

.areas-covered__intro {
  max-width: 46rem;
  margin: var(--space-2) auto 0;
  font-weight: 500;
  font-size: 0.875rem;
}

/* Optional image under the intro (the coverage map). Phones only: on wider
   screens the area cards do the job. */
.areas-covered__map {
  display: none;
  max-width: 40rem;
  margin: var(--space-4) auto 0;
}

@media (max-width: 439.98px) {
  .areas-covered__map { display: block; }
}

.areas-covered__map img {
  display: block;
  width: 100%;
  height: auto;
}

.areas-covered__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  gap: var(--space-2);
  max-width: 64rem;
  margin: var(--space-5) auto 0;
}

.area-card {
  display: block;
  height: 100%;
  padding: 1rem 1.125rem;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  text-align: left;
  text-decoration: none;
  transition: border-color 0.2s ease;
}

.area-card:hover,
.area-card:focus-visible { border-color: var(--color-primary); }

.area-card__title {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--color-dark-border);
}

.area-card__title img { flex: none; }

.area-card__excerpt {
  display: block;
  margin-top: 0.5rem;
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: var(--color-dark-border);
  opacity: 0.75;
}

@media (max-width: 440px) {
.area-card__excerpt {
    display: none !important;
}
}
