.if-service-area-map {
  margin-block: 2rem;
  padding: clamp(1.5rem, 2.5vw, 2.25rem);
  border: 1px solid rgba(16, 47, 62, 0.12);
  border-radius: var(--radius-large, 1.5rem);
  background: var(--pale, #eef5f7);
  color: var(--ink, #102f3e);
}

.if-service-area-map__eyebrow {
  display: block;
  margin-bottom: 0.6rem;
  color: var(--blue, #006d8f);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.if-service-area-map h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.7rem, 2.5vw, 2.3rem);
  line-height: 1.15;
}

.if-service-area-map p {
  max-width: 65ch;
  margin: 0 0 1.25rem;
  color: var(--muted, #46616e);
  line-height: 1.6;
}

.if-service-area-map__frame {
  overflow: hidden;
  border-radius: var(--radius-card, 1rem);
  background: #dbe9ec;
}

.if-service-area-map__frame iframe {
  display: block;
  width: 100%;
  height: 300px;
  border: 0;
}

.if-service-area-map .if-service-area-map__note {
  margin: 0.8rem 0 1rem;
  font-size: 0.9rem;
}

.if-service-area-map__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1.5rem;
}

.if-service-area-map__links a {
  color: var(--blue, #006d8f);
  font-weight: 700;
  text-underline-offset: 0.2em;
}

.if-service-area-map__links a:focus-visible {
  outline: 3px solid var(--cyan, #75daec);
  outline-offset: 4px;
  border-radius: 0.25rem;
}

@media (max-width: 640px) {
  .if-service-area-map__frame iframe {
    height: 260px;
  }
}
