/* Five-county geographic planning view for Regional Economic Relationships. */
.relationships-edition .relations-geo-map {
  --rg-navy: #2d3d5c;
  --rg-plum: #705589;
  --rg-pink: #b55789;
  --rg-orange: #bb744d;
  --rg-teal: #4a7986;
  --rg-green: #748660;
  min-width: 0;
  margin: clamp(1.7rem, 3vw, 2.5rem) 0;
  overflow: hidden;
  border: 1px solid #d1cbd8;
  border-radius: 1.1rem;
  background: #fbf9f6;
  box-shadow: 0 19px 45px #30364d18;
  font-family: Montserrat, Arial, sans-serif;
}
.relationships-edition .relations-geo-map * { box-sizing: border-box; }
.relationships-edition .relations-geo-map__heading {
  display: block;
  padding: clamp(1.45rem, 3vw, 2.5rem);
  background: radial-gradient(circle at 96% 12%, #aa6b8a5e, transparent 30%),
    linear-gradient(115deg, #2d3e60, #514971 65%, #714d78);
  color: #fff;
}
.relationships-edition .relations-geo-map__eyebrow {
  display: block;
  margin: 0 0 .6rem;
  color: #f2bbd1;
  font-size: .67rem;
  font-weight: 850;
  letter-spacing: .13em;
  line-height: 1.35;
  text-transform: uppercase;
}
.editorial-reader .generic-article .relations-geo-map__heading h3 {
  margin: 0 0 .7rem;
  padding: 0;
  color: #fff;
  font-family: Montserrat, Arial, sans-serif;
  font-size: clamp(1.4rem, 2.3vw, 2.15rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.16;
}
.editorial-reader .generic-article .relations-geo-map__heading p {
  max-width: 78ch;
  margin: 0;
  color: #f4edf5;
  font-size: .88rem;
  line-height: 1.62;
}
.relations-geo-map__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, .82fr);
  min-width: 0;
}
.relations-geo-map__map-column { min-width: 0; padding: clamp(.9rem, 2vw, 1.5rem); }
.relations-geo-map__stage {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dedce2;
  border-radius: .8rem;
  background: radial-gradient(circle at 40% 25%, #e5d7e7a8, transparent 38%),
    radial-gradient(circle at 78% 75%, #f1dfceaa, transparent 35%),
    repeating-linear-gradient(0deg, transparent 0 34px, #4050700a 35px 36px),
    repeating-linear-gradient(90deg, transparent 0 34px, #4050700a 35px 36px),
    #f5f2ef;
}
.relations-geo-map__svg { display: block; width: 100%; height: auto; }
.relations-geo-map__county {
  --rg-fill: var(--rg-plum);
  fill: var(--rg-fill);
  stroke: #fff9f5;
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
  cursor: pointer;
  transition: filter .18s, fill .18s, stroke-width .18s;
}
.relations-geo-map__county--pink { --rg-fill: var(--rg-pink); }
.relations-geo-map__county--orange { --rg-fill: var(--rg-orange); }
.relations-geo-map__county--teal { --rg-fill: var(--rg-teal); }
.relations-geo-map__county--green { --rg-fill: var(--rg-green); }
.relations-geo-map__county:hover { filter: brightness(.93) drop-shadow(0 4px 6px #25324d52); }
.relations-geo-map__county.is-selected {
  stroke: #2d3656;
  stroke-width: 6;
  filter: drop-shadow(0 5px 7px #25324d55);
}
.relations-geo-map__county:focus-visible {
  stroke: #ffdd9a;
  stroke-width: 7;
  outline: none;
  filter: drop-shadow(0 5px 7px #25324d55);
}
.relations-geo-map__label {
  fill: #fff;
  stroke: #26344975;
  stroke-width: 3px;
  paint-order: stroke;
  font-family: Montserrat, Arial, sans-serif;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .01em;
  pointer-events: none;
}
.relations-geo-map__compass {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: grid;
  place-items: center;
  width: 2.3rem;
  height: 2.3rem;
  border: 1px solid #b9becb;
  border-radius: 50%;
  background: #ffffffd9;
  color: #3f4e68;
  font-size: .68rem;
  font-weight: 850;
  box-shadow: 0 4px 12px #27354d14;
}
.relations-geo-map__compass::after { content: "↑"; position: absolute; top: .15rem; color: #a24c7f; font-size: .65rem; }
.relations-geo-map__picker { display: flex; flex-wrap: wrap; justify-content: center; gap: .42rem; margin-top: .8rem; }
.relationships-edition .relations-geo-map__picker-button {
  --rg-button-color: var(--rg-plum);
  min-height: 38px;
  padding: .45rem .7rem;
  border: 1px solid #d1c7d6;
  border-radius: 99px;
  background: #fff;
  color: #35425a;
  font-size: .69rem;
  font-weight: 800;
  line-height: 1.25;
  cursor: pointer;
  transition: background .18s, color .18s, border-color .18s;
}
.relations-geo-map__picker-button--pink { --rg-button-color: var(--rg-pink); }
.relations-geo-map__picker-button--orange { --rg-button-color: var(--rg-orange); }
.relations-geo-map__picker-button--teal { --rg-button-color: var(--rg-teal); }
.relations-geo-map__picker-button--green { --rg-button-color: var(--rg-green); }
.relationships-edition .relations-geo-map__picker-button:hover,
.relationships-edition .relations-geo-map__picker-button:focus-visible { border-color: var(--rg-button-color); background: #f6f0f7; }
.relationships-edition .relations-geo-map__picker-button[aria-pressed="true"] { border-color: var(--rg-button-color); background: var(--rg-button-color); color: #fff; }
.relations-geo-map__detail {
  min-width: 0;
  padding: clamp(1.35rem, 2.8vw, 2.4rem);
  border-left: 1px solid #ded7df;
  background: #fff;
}
.relations-geo-map__selected-kicker { display: block; margin-bottom: .7rem; color: #84517e; font-size: .66rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.editorial-reader .generic-article .relations-geo-map__selected-name { margin: 0 0 .75rem; color: #2d3b57; font-size: clamp(1.5rem, 2.3vw, 2.25rem); font-weight: 800; line-height: 1.14; }
.relations-geo-map__selected-role { display: block; margin-bottom: 1rem; padding: .65rem .8rem; border-left: 4px solid #765988; background: #f5eef6; color: #503d6b; font-size: .85rem; line-height: 1.4; }
.relations-geo-map__detail[data-county="eddy"] .relations-geo-map__selected-role { border-left-color: #bb744d; background: #fbf0e8; color: #75472e; }
.relations-geo-map__detail[data-county="lea"] .relations-geo-map__selected-role { border-left-color: #b55789; background: #faedf4; color: #78365b; }
.relations-geo-map__detail[data-county="lincoln"] .relations-geo-map__selected-role { border-left-color: #748660; background: #f1f5eb; color: #4e623d; }
.relations-geo-map__detail[data-county="otero"] .relations-geo-map__selected-role { border-left-color: #4a7986; background: #edf5f6; color: #365e6c; }
.editorial-reader .generic-article .relations-geo-map__selected-copy { max-width: none; margin: 0 0 1.35rem; color: #3e4e5f; font-size: .91rem; line-height: 1.68; }
.editorial-reader .generic-article .relations-geo-map__selected-lens { max-width: none; margin: 0; padding: 1rem 1.1rem; border-radius: .65rem; background: linear-gradient(120deg, #303f62, #5b4a72); color: #fff; font-size: .84rem; font-weight: 600; line-height: 1.58; }
.relations-geo-map__footer { display: grid; grid-template-columns: minmax(0, .42fr) minmax(0, 1fr); gap: 1.2rem; align-items: center; padding: 1rem clamp(1.3rem, 2.8vw, 2.2rem); border-top: 1px solid #ddd7dc; background: #f6f1ed; }
.relations-geo-map__contexts { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.relations-geo-map__contexts > span { flex: 0 0 100%; color: #735577; font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.relations-geo-map__contexts strong { display: inline-block; padding: .35rem .52rem; border: 1px solid #d3c8d2; border-radius: 99px; background: #fff; color: #3f4b60; font-size: .64rem; font-weight: 800; line-height: 1.25; }
.editorial-reader .generic-article .relations-geo-map__footer p { max-width: none; margin: 0; color: #4a5664; font-size: .75rem; line-height: 1.55; }
@media (max-width: 1000px) {
  .relations-geo-map__layout { grid-template-columns: 1fr; }
  .relations-geo-map__stage { max-width: 670px; margin: auto; }
  .relations-geo-map__detail { border-left: 0; border-top: 1px solid #ded7df; }
}
@media (max-width: 680px) {
  .relationships-edition .relations-geo-map { border-radius: .8rem; }
  .relations-geo-map__map-column { padding: .75rem; }
  .relations-geo-map__heading { padding: 1.35rem; }
  .relations-geo-map__compass { width: 1.8rem; height: 1.8rem; top: .6rem; right: .6rem; }
  .relations-geo-map__picker { gap: .32rem; }
  .relationships-edition .relations-geo-map__picker-button { padding: .43rem .58rem; font-size: .64rem; }
  .relations-geo-map__detail { padding: 1.35rem; }
  .relations-geo-map__footer { grid-template-columns: 1fr; gap: .8rem; padding: 1.15rem 1.3rem; }
}
@media (max-width: 500px) {
  .relations-geo-map__label { display: none; }
  .relations-geo-map__picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .relationships-edition .relations-geo-map__picker-button { min-width: 0; border-radius: .5rem; }
}
@media (max-width: 360px) {
  .relations-geo-map__picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .relations-geo-map__county, .relations-geo-map__picker-button { transition: none !important; }
}
@media print {
  .relationships-edition .relations-geo-map { box-shadow: none; break-inside: avoid; }
  .relations-geo-map__heading, .relations-geo-map__county, .relations-geo-map__selected-lens { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
