:is(.milan-region-map, .regional-map) {
  width: 100%;
  margin: 24px 0 0;
  color: #d6e9f5;
}

:is(.milan-region-map__frame, .regional-map__frame) {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: 1px solid #234965;
  border-radius: 4px;
  background: #020e18;
}

:is(.milan-region-map__frame, .regional-map__frame):focus-visible {
  outline: 3px solid #64d5ff;
  outline-offset: 4px;
}

:is(.milan-region-map__image, .regional-map__image) {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  filter: url("assets/regional-map-beverly-palette.svg#beverly-blue");
}

:is(.milan-region-map__overlay, .regional-map__overlay) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

:is(.milan-region-map__overlay, .regional-map__overlay) text {
  font-family: Arial, Helvetica, sans-serif;
  letter-spacing: 0;
  paint-order: stroke;
  stroke: #020e18;
  stroke-width: 12;
  stroke-linejoin: round;
}

:is(.milan-region-map__context, .regional-map__context) circle { fill: #71c9eb; }
:is(.milan-region-map__context, .regional-map__context) text { fill: #c4d6e7; font-size: 38px; }
:is(.milan-region-map__detroit, .regional-map__major-city) { fill: #f4fcff; font-size: 49px !important; font-weight: 700; }
:is(.milan-region-map__halo, .regional-map__halo) { fill: #71c9eb; opacity: .6; filter: blur(9px); }
:is(.milan-region-map__point, .regional-map__point) { fill: #f2fbff; stroke: #71c9eb; stroke-width: 5; filter: drop-shadow(0 0 8px #42a5d5); }
:is(.milan-region-map__leader, .regional-map__leader) { fill: none; stroke: #eefbff; stroke-width: 3; }
:is(.milan-region-map__title, .regional-map__title) { fill: #fff; font-size: 62px; font-weight: 700; }
:is(.milan-region-map__address, .regional-map__address) { fill: #c4d6e7; font-size: 36px; }
.rochester-region-map .regional-map__address { transform: translateY(18px); }

:is(.milan-region-map__credit, .regional-map__credit) {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 18px;
  margin-top: 9px;
  color: #9eb5c7;
  font: 12px/1.5 Arial, Helvetica, sans-serif;
  letter-spacing: 0;
}

:is(.milan-region-map__credit, .regional-map__credit) a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 600px) {
  :is(.milan-region-map__context, .regional-map__context) text { font-size: 44px; }
  :is(.milan-region-map__detroit, .regional-map__major-city) { font-size: 54px !important; }
  :is(.milan-region-map__title, .regional-map__title) { font-size: 66px; }
  :is(.milan-region-map__address, .regional-map__address) { font-size: 42px; }
  :is(.milan-region-map__credit, .regional-map__credit) { font-size: 11px; }
}
