/* Regional Economic Relationships: editorial pages, evidence, and interactive graphics.
   All selectors are scoped so the existing reader and other CEDS chapters keep their styling. */
.relationships-edition {
  --relations-ink: #273851;
  --relations-plum: #674d79;
  --relations-pink: #a84d83;
  --relations-orange: #ba6946;
  --relations-teal: #416f78;
  --relations-paper: #faf7f4;
  min-width: 0;
  color: var(--relations-ink);
}
.relationships-edition *, .relationships-edition *::before, .relationships-edition *::after { box-sizing: border-box; }
.relationships-edition [hidden] { display: none !important; }
.relationships-edition .relations-impact { display: grid; grid-template-columns: minmax(140px,.35fr) minmax(0,1fr); gap: clamp(1rem,2.5vw,2rem); align-items: center; margin: 1.75rem 0; padding: clamp(1.35rem,3vw,2.4rem); border-radius: 1rem; background: linear-gradient(120deg,#293e56,#664978); color: #fff; }
.relationships-edition .relations-impact > strong { color: #f7c3d9; font-size: clamp(3.2rem,7vw,6.6rem); font-weight: 850; line-height: 1; letter-spacing: -.06em; }
.relationships-edition .relations-impact span { color: #f4c9dc; font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.editorial-reader .generic-article .relations-impact h3 { margin: .55rem 0; color: #fff; font-size: clamp(1.2rem,2.2vw,1.9rem); line-height: 1.17; }
.editorial-reader .generic-article .relations-impact p { margin: 0 0 .65rem; color: #f5edf5; font-size: .93rem; line-height: 1.62; }
.relationships-edition .relations-impact small,.relationships-edition .relations-impact a { color: #f6d6e4; }
@media (max-width: 600px) { .relationships-edition .relations-impact { grid-template-columns: 1fr; gap: .5rem; } }
.relationships-edition .relations-market-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; margin: 1.8rem 0; }
.relationships-edition .relations-market-card { min-width: 0; padding: 1.2rem; border: 1px solid #d7cfdb; border-top: 4px solid #8b5b91; border-radius: .75rem; background: #faf8fc; }
.relationships-edition .relations-market-card.is-risk { border-top-color: #ba6d46; background: #fdf9f5; }
.relationships-edition .relations-market-card span { color: #755c80; font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.relationships-edition .relations-market-card.is-risk span { color: #9d593e; }
.editorial-reader .generic-article .relations-market-card h3 { margin: .55rem 0 .55rem; color: #253952; font-size: 1.1rem; line-height: 1.2; }
.editorial-reader .generic-article .relations-market-card p { margin: 0; color: #43536a; font-size: .86rem; line-height: 1.55; }
@media (max-width: 950px) { .relationships-edition .relations-market-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 540px) { .relationships-edition .relations-market-grid { grid-template-columns: 1fr; } }
.relationships-edition :is(.relations-section, .relations-chart, .relations-photo-feature) { scroll-margin-top: 105px; }

/* An authored introduction leads each page. The reader's global page heading is
   intentionally separate: this is the opening argument, not a duplicate title. */
.relationships-edition .relations-intro {
  position: relative;
  overflow: hidden;
  margin: 0 0 clamp(2rem, 4vw, 3.3rem);
  padding: clamp(1.65rem, 4vw, 3.5rem);
  border: 1px solid #d7cada;
  border-left: 7px solid var(--relations-pink);
  border-radius: 1.25rem;
  background: radial-gradient(circle at 92% -8%, #e8bbcc8c, transparent 30%),
    radial-gradient(circle at 6% 115%, #e7b18c60, transparent 35%),
    linear-gradient(120deg, #fff, #faf6fb 64%, #fcf3ec);
  box-shadow: 0 20px 46px #3534480f;
}
.relationships-edition .relations-intro::after {
  content: "";
  position: absolute;
  right: -7rem;
  bottom: -10rem;
  width: 23rem;
  aspect-ratio: 1;
  border: 1px solid #a5678740;
  border-radius: 50%;
  box-shadow: 0 0 0 3.3rem #a567870c, 0 0 0 6.6rem #a567870a;
  pointer-events: none;
}
.relationships-edition .relations-intro > * { position: relative; z-index: 1; }
.relationships-edition .relations-kicker,
.relationships-edition .relations-section-head > span {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0 0 1.15rem;
  color: #743e70;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .13em;
  line-height: 1.4;
  text-transform: uppercase;
}
.relationships-edition .relations-kicker::before,
.relationships-edition .relations-section-head > span::before {
  content: "";
  flex: none;
  width: 2.15rem;
  height: 2px;
  background: var(--relations-pink);
}
.editorial-reader .generic-article .relations-intro h2 {
  max-width: 24ch;
  margin: 0 0 1.1rem;
  padding: 0;
  border: 0;
  color: #283a58;
  font-family: Montserrat, Arial, sans-serif;
  font-size: clamp(1.85rem, 3.2vw, 3.15rem);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1.12;
  text-wrap: balance;
}
.editorial-reader .generic-article .relations-intro p:not(.relations-kicker) {
  max-width: 86ch;
  margin: .75rem 0 0;
  color: #39495d;
  font-size: clamp(.96rem, 1.15vw, 1.1rem);
  line-height: 1.7;
}
.editorial-reader .generic-article .relations-intro p:not(.relations-kicker):first-of-type {
  color: #30435b;
  font-size: clamp(1.05rem, 1.3vw, 1.2rem);
  font-weight: 600;
  line-height: 1.55;
}

/* Magazine cover routes to the chapters. Imagery is part of the card's meaning. */
.relations-overview { margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.relations-overview-grid,
.relations-chapter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.8rem, 1.7vw, 1.35rem);
}
.relationships-edition .relations-overview-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 0;
  min-height: clamp(290px, 28vw, 400px);
  overflow: hidden;
  padding: clamp(1.25rem, 2.2vw, 2rem);
  border-radius: 1rem;
  background: #2c3d60;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 16px 35px #27365124;
  isolation: isolate;
  transition: transform .2s, box-shadow .2s;
}
.relations-overview-card:hover,
.relations-overview-card:focus-visible { transform: translateY(-3px); box-shadow: 0 23px 45px #27365138; }
.relations-overview-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, #202d4d00 14%, #24334aa8 52%, #20283aef 100%);
}
.relations-overview-card img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}
.relations-overview-card:hover img { transform: scale(1.035); }
.relations-overview-card:nth-child(3n+1) { border-bottom: 6px solid #c46c9a; }
.relations-overview-card:nth-child(3n+2) { border-bottom: 6px solid #d6855d; }
.relations-overview-card:nth-child(3n) { border-bottom: 6px solid #7294a2; }
.relations-overview-card small { color: #f5c5d9; font-size: .7rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.relationships-edition .relations-overview-card strong { display: block; max-width: 20ch; margin: .4rem 0 .65rem; color: #fff; font-size: clamp(1.3rem, 1.8vw, 1.9rem); font-weight: 800; line-height: 1.16; letter-spacing: -.025em; }
.relations-overview-card > span { max-width: 39ch; color: #f8f0f7; font-size: .87rem; line-height: 1.55; }
.relations-overview-card em { display: inline-flex; align-self: start; margin-top: 1.2rem; padding: .48rem .72rem; border: 1px solid #ffffffa6; border-radius: 99px; color: #fff; font-size: .73rem; font-style: normal; font-weight: 800; }

/* The in-page contents precedes every chart and metric. */
.relationships-edition .relations-chapter-toc {
  margin: 0 0 clamp(2.5rem, 5vw, 4.2rem);
  padding: clamp(1.15rem, 2.5vw, 2.2rem);
  border: 1px solid #d6cbd8;
  border-radius: 1.15rem;
  background: #fff;
  box-shadow: 0 16px 40px #302e460c;
}
.relations-toc-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; padding-bottom: 1rem; border-bottom: 1px solid #e3dce5; }
.relations-toc-head > strong { color: #613e71; font-size: .77rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.relations-toc-head > span { color: #596578; font-size: .78rem; }
.relations-toc-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.relationships-edition .relations-toc-links a {
  --relations-link-accent: #744e81;
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr);
  gap: .15rem .72rem;
  align-content: center;
  min-height: 83px;
  padding: .82rem .95rem;
  border: 1px solid #e0d7e2;
  border-left: 4px solid var(--relations-link-accent);
  border-radius: .6rem;
  background: #fdfbfe;
  color: #2c3b52 !important;
  text-decoration: none !important;
  transition: transform .18s, border-color .18s, background .18s;
}
.relations-toc-links a:nth-child(4n+2) { --relations-link-accent: #b35587; background: #fffafd; }
.relations-toc-links a:nth-child(4n+3) { --relations-link-accent: #b76a45; background: #fffaf7; }
.relations-toc-links a:nth-child(4n+4) { --relations-link-accent: #467789; background: #f9fcfd; }
.relations-toc-links a:hover, .relations-toc-links a:focus-visible { transform: translateY(-2px); border-color: var(--relations-link-accent); background: #fff; }
.relations-toc-links a > span { grid-row: 1 / 3; color: var(--relations-link-accent); font-size: 1.42rem; font-weight: 850; letter-spacing: -.045em; line-height: 1.1; }
.relations-toc-links a strong { color: #2b3b55; font-size: .92rem; line-height: 1.25; }
.relations-toc-links a small { color: #5a6574; font-size: .73rem; line-height: 1.35; }

/* Main article rhythm. Separate the argument, graphic, and interpretation. */
.relationships-edition .relations-section { margin: 0 0 clamp(3rem, 5.5vw, 5rem); }
.relations-section-head { position: relative; margin-bottom: 1.4rem; padding-top: 1.55rem; border-top: 1px solid #d7d0d9; }
.relations-section-head > span { margin-bottom: .8rem; }
.editorial-reader .generic-article .relations-section-head h2 {
  margin: 0 0 .85rem;
  padding: 0;
  border: 0;
  color: #283954;
  font-family: Montserrat, Arial, sans-serif;
  font-size: clamp(1.55rem, 2.55vw, 2.6rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.16;
}
.editorial-reader .generic-article .relations-section-head p { max-width: 86ch; margin: 0; color: #475668; font-size: 1.01rem; line-height: 1.7; }
.editorial-reader .generic-article .relations-section > p { max-width: 92ch; color: #344454; line-height: 1.75; }
.editorial-reader .generic-article .relations-section h3 { color: #344568; font-size: clamp(1.14rem, 1.55vw, 1.45rem); line-height: 1.25; }

.relationships-edition .relations-photo-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  min-height: 330px;
  margin: 1.75rem 0 2.2rem;
  overflow: hidden;
  border-radius: 1rem;
  background: linear-gradient(135deg, #303f65, #5d4773);
  color: #fff;
  box-shadow: 0 20px 45px #32314b20;
}
.relations-photo-feature img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; }
.relations-photo-feature > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.5rem, 3.2vw, 3rem); }
.relations-photo-feature > div > span { color: #f5c7d9; font-size: .7rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.editorial-reader .generic-article .relations-photo-feature h3 { margin: .75rem 0 .8rem; color: #fff; font-size: clamp(1.45rem, 2.5vw, 2.4rem); line-height: 1.16; }
.editorial-reader .generic-article .relations-photo-feature p { max-width: 54ch; margin: 0; color: #f4eef7; font-size: .94rem; line-height: 1.68; }
.relations-photo-feature small { display: block; margin-top: 1.2rem; color: #d9d6e5; font-size: .68rem; line-height: 1.45; }
.relations-photo-feature.is-reversed img { order: 2; }

.relationships-edition .relations-callout { margin: 1.65rem 0; padding: clamp(1.25rem, 2.5vw, 2rem); border: 1px solid #d7c2d7; border-left: 6px solid var(--relations-pink); border-radius: .8rem; background: linear-gradient(120deg, #faf1f8, #fffaf7); }
.relations-callout > span { display: block; margin-bottom: .4rem; color: #874978; font-size: .69rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.editorial-reader .generic-article .relations-callout h3 { margin: 0 0 .55rem; color: #344263; font-size: clamp(1.15rem, 1.7vw, 1.55rem); }
.editorial-reader .generic-article .relations-callout p { max-width: 88ch; margin: 0; color: #3d4d5c; font-size: .92rem; line-height: 1.65; }
.relations-callout.is-orange { border-color: #e3c5b6; border-left-color: var(--relations-orange); background: linear-gradient(120deg, #fff5ed, #fffaf7); }
.relations-callout.is-teal { border-color: #bed6d6; border-left-color: var(--relations-teal); background: linear-gradient(120deg, #eef6f6, #fff); }

/* Interactive charts preserve readable context if scripting is unavailable. */
.relationships-edition .relations-chart { margin: 1.6rem 0 2rem; padding: clamp(1rem, 2.6vw, 1.9rem); border: 1px solid #d5d0dc; border-radius: 1rem; background: #fff; box-shadow: 0 13px 34px #302f4b0d; }
.relations-chart > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1.1rem; }
.relations-chart > header > div { min-width: 0; }
.relations-chart > header span { display: block; margin-bottom: .3rem; color: #794b7a; font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.editorial-reader .generic-article .relations-chart > header h3 { margin: 0 0 .35rem; color: #2c3c5c; font-size: clamp(1.15rem, 1.85vw, 1.7rem); line-height: 1.2; }
.editorial-reader .generic-article .relations-chart > header p { max-width: 66ch; margin: 0; color: #566374; font-size: .8rem; line-height: 1.5; }
.relations-chart-controls { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1.15rem; }
.relationships-edition .relations-chart-controls button { min-height: 40px; padding: .45rem .75rem; border: 1px solid #d3c7d9; border-radius: 99px; background: #fbf9fc; color: #34445a; font-size: .75rem; font-weight: 800; line-height: 1.25; cursor: pointer; }
.relations-chart-controls button:hover, .relations-chart-controls button:focus-visible { border-color: #704878; background: #eee4f0; }
.relations-chart-controls button[aria-pressed="true"], .relations-chart-controls button[aria-selected="true"] { border-color: #60426d; background: #60426d; color: #fff; }
.relations-chart-interpretation { margin: 1.3rem 0 0; padding: 1rem 1.2rem; border-left: 5px solid var(--relations-pink); border-radius: .45rem; background: #f8f0f6; }
.relations-chart-interpretation strong { display: block; color: #333e5a; font-size: .93rem; }
.editorial-reader .generic-article .relations-chart-interpretation p { margin: .35rem 0 0; color: #465361; font-size: .83rem; line-height: 1.55; }
.editorial-reader .generic-article .relations-chart-source { margin: 1rem 0 0; color: #5c6571; font-size: .72rem; line-height: 1.5; }

.relations-bars { display: grid; gap: .6rem; }
.relations-bar-row { --relations-bar-color: #765b91; display: grid; grid-template-columns: minmax(130px, 1.12fr) minmax(0, 2fr) minmax(72px, .45fr); gap: .75rem; align-items: center; min-width: 0; padding: .4rem .55rem; border-radius: .5rem; }
.relations-bar-row:nth-child(5n+2) { --relations-bar-color: #b95789; }
.relations-bar-row:nth-child(5n+3) { --relations-bar-color: #ba6d46; }
.relations-bar-row:nth-child(5n+4) { --relations-bar-color: #467b85; }
.relations-bar-row:nth-child(5n+5) { --relations-bar-color: #728558; }
.relations-bar-row:hover, .relations-bar-row.is-active { background: #f7f3f8; }
.relations-bar-label { color: #35435c; font-size: .79rem; font-weight: 750; line-height: 1.3; }
.relations-bar-track { height: 1.3rem; overflow: hidden; border-radius: 99px; background: #ebe7ed; }
.relations-bar-track > i { display: block; width: var(--bar-width, 0%); height: 100%; border-radius: 99px; background: var(--relations-bar-color); transition: width .35s ease; }
.relations-bar-value { color: #2d3e58; font-size: .87rem; font-weight: 850; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.relations-comparison-grid, .relations-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.relations-comparison-card, .relations-stat-card { min-width: 0; padding: 1.25rem; border: 1px solid #d6cadb; border-top: 5px solid #785b92; border-radius: .7rem; background: #fbf9fd; }
.relations-comparison-card:nth-child(3n+2), .relations-stat-card:nth-child(3n+2) { border-top-color: #b95d87; background: #fffbfd; }
.relations-comparison-card:nth-child(3n), .relations-stat-card:nth-child(3n) { border-top-color: #bf774b; background: #fffaf7; }
.relations-comparison-card > span, .relations-stat-card > span { display: block; color: #5a4c6b; font-size: .69rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.relations-comparison-card > strong, .relations-stat-card > strong { display: block; margin: .55rem 0 .4rem; color: #293d5a; font-size: clamp(1.6rem, 2.4vw, 2.45rem); font-weight: 850; letter-spacing: -.045em; line-height: 1.05; font-variant-numeric: tabular-nums; }
.editorial-reader .generic-article .relations-comparison-card p, .editorial-reader .generic-article .relations-stat-card p { margin: 0; color: #4e5b69; font-size: .8rem; line-height: 1.55; }

/* A stylized regional network makes five-county and cross-border links legible
   without implying that a schematic is a geographic or freight-flow dataset. */
.relationships-edition .relations-network { position: relative; margin: 1.65rem 0 2rem; padding: clamp(1.2rem, 2.7vw, 2.15rem); overflow: hidden; border: 1px solid #c8c9d8; border-radius: 1.1rem; background: radial-gradient(circle at 50% 44%, #e6d4e7, transparent 42%), linear-gradient(135deg, #f5f6fa, #fcf7f5); }
.relations-network > header { margin-bottom: 1.2rem; }
.editorial-reader .generic-article .relations-network > header h3 { margin: 0 0 .4rem; color: #2c3d5c; font-size: clamp(1.2rem, 1.8vw, 1.7rem); }
.editorial-reader .generic-article .relations-network > header p { max-width: 75ch; margin: 0; color: #536070; font-size: .82rem; line-height: 1.55; }
.relations-network-core { width: max-content; max-width: 100%; margin: 0 auto 1.4rem; padding: .8rem 1.25rem; border: 1px solid #564975; border-radius: 99px; background: linear-gradient(110deg, #304767, #6b4a7a); color: #fff; font-size: .88rem; font-weight: 850; line-height: 1.3; text-align: center; box-shadow: 0 8px 20px #30476725; }
.relations-network-nodes, .relations-county-map { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .65rem; }
.relationships-edition .relations-network-node, .relationships-edition .relations-county { min-width: 0; min-height: 106px; padding: .9rem .65rem; border: 1px solid #bcb5ca; border-top: 4px solid #825b8d; border-radius: .65rem; background: #fff; color: #293950; text-align: center; box-shadow: 0 7px 19px #3a394412; }
.relationships-edition :is(.relations-network-node, .relations-county):nth-child(5n+2) { border-top-color: #b35c88; }
.relationships-edition :is(.relations-network-node, .relations-county):nth-child(5n+3) { border-top-color: #c3794e; }
.relationships-edition :is(.relations-network-node, .relations-county):nth-child(5n+4) { border-top-color: #4d7d88; }
.relationships-edition :is(.relations-network-node, .relations-county):nth-child(5n+5) { border-top-color: #708252; }
.relations-network-node strong, .relations-county strong { display: block; color: #2c3b53; font-size: .85rem; line-height: 1.25; }
.relations-network-node small, .relations-county small { display: block; margin-top: .45rem; color: #586474; font-size: .7rem; line-height: 1.42; }
.relations-network-node:is(button, a), .relations-county:is(button, a) { cursor: pointer; text-decoration: none; }
.relations-network-node:is(button, a):hover, .relations-network-node:is(button, a):focus-visible, .relations-network-node[aria-pressed="true"], .relations-county:is(button, a):hover, .relations-county:is(button, a):focus-visible, .relations-county[aria-pressed="true"] { border-color: #684c7d; background: #f6eff8; box-shadow: 0 0 0 2px #694c7d5e; }
.relations-network-detail { margin-top: 1rem; padding: 1rem 1.2rem; border-radius: .65rem; background: #fff; color: #33475c; }
.relations-network-detail strong { color: #30405d; }
.editorial-reader .generic-article .relations-network-detail p { margin: .4rem 0 0; color: #506072; font-size: .81rem; line-height: 1.55; }
.relations-network-note { display: block; margin-top: .9rem; color: #606878; font-size: .7rem; line-height: 1.45; }

.relations-partner-grid, .relations-insights-grid, .relations-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.relations-partner-card, .relations-insight-card { min-width: 0; padding: clamp(1.1rem, 2vw, 1.65rem); border: 1px solid #d9cfdf; border-top: 5px solid #765985; border-radius: .8rem; background: #fff; }
.relations-partner-card:nth-child(4n+2), .relations-insight-card:nth-child(4n+2) { border-top-color: #b75b88; background: #fffbfd; }
.relations-partner-card:nth-child(4n+3), .relations-insight-card:nth-child(4n+3) { border-top-color: #ba7048; background: #fffbf8; }
.relations-partner-card:nth-child(4n+4), .relations-insight-card:nth-child(4n+4) { border-top-color: #50808b; background: #fafdfe; }
.relations-partner-card > span, .relations-insight-card > span { display: inline-grid; place-items: center; min-width: 2rem; height: 2rem; margin-bottom: .8rem; padding: 0 .45rem; border-radius: .5rem; background: #604a77; color: #fff; font-size: .7rem; font-weight: 850; }
.relations-partner-card:nth-child(4n+2) > span, .relations-insight-card:nth-child(4n+2) > span { background: #a95080; }
.relations-partner-card:nth-child(4n+3) > span, .relations-insight-card:nth-child(4n+3) > span { background: #a76543; }
.relations-partner-card:nth-child(4n+4) > span, .relations-insight-card:nth-child(4n+4) > span { background: #447481; }
.editorial-reader .generic-article :is(.relations-partner-card, .relations-insight-card) h3 { margin: 0 0 .6rem; color: #2e3d5b; font-size: clamp(1.05rem, 1.4vw, 1.28rem); line-height: 1.25; }
.editorial-reader .generic-article :is(.relations-partner-card, .relations-insight-card) p { margin: 0; color: #4b5b6a; font-size: .85rem; line-height: 1.62; }
.relations-insights { margin: clamp(2.6rem, 5vw, 4rem) 0; padding: clamp(1.3rem, 2.7vw, 2.2rem); border-radius: 1.1rem; background: linear-gradient(135deg, #e9e1ed, #f9eff1 55%, #faf4eb); }
.editorial-reader .generic-article .relations-insights > h2 { margin: 0 0 1.25rem; padding: 0; border: 0; color: #2b3b56; font-size: clamp(1.6rem, 2.5vw, 2.5rem); }

.relationships-edition .relations-source-group { margin: 0 0 2.2rem; padding: 0 0 2.2rem; border-bottom: 1px solid #ddd8e0; }
.relations-source-group > header { margin-bottom: 1rem; }
.editorial-reader .generic-article .relations-source-group h2 { margin: 0 0 .3rem; color: #2f405d; font-size: clamp(1.35rem, 2vw, 1.9rem); }
.editorial-reader .generic-article .relations-source-group header p { margin: 0; color: #576474; font-size: .85rem; line-height: 1.5; }
.relationships-edition .relations-source-card { display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; min-width: 0; min-height: 152px; padding: 1.15rem 1.25rem; border: 1px solid #d8d0dc; border-top: 4px solid #865e8d; border-radius: .7rem; background: #fff; color: #354157 !important; text-decoration: none !important; box-shadow: 0 8px 22px #2c2f490c; transition: transform .18s, box-shadow .18s; }
.relations-source-card:nth-child(4n+2) { border-top-color: #b55986; }
.relations-source-card:nth-child(4n+3) { border-top-color: #bd724b; }
.relations-source-card:nth-child(4n+4) { border-top-color: #507c87; }
.relations-source-card:hover, .relations-source-card:focus-visible { transform: translateY(-2px); box-shadow: 0 12px 27px #2c2f4922; }
.relations-source-card strong { color: #293a56; font-size: .99rem; line-height: 1.28; }
.relations-source-card span { color: #586474; font-size: .8rem; line-height: 1.5; }
.relations-source-card em { margin-top: auto; color: #744773; font-size: .73rem; font-style: normal; font-weight: 850; }
.relationships-edition .relations-method-note { margin: 0 0 2rem; padding: 1.35rem 1.55rem; border: 1px solid #d7c3d8; border-left: 6px solid #a84d83; border-radius: .8rem; background: linear-gradient(120deg, #f8eff7, #fffaf6); }
.relations-method-note strong { display: block; margin-bottom: .45rem; color: #593d68; font-size: 1.08rem; }
.editorial-reader .generic-article .relations-method-note p { margin: 0; color: #3f4f5e; font-size: .87rem; line-height: 1.6; }

@media (max-width: 1000px) {
  .relations-overview-grid, .relations-chapter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .relations-network-nodes, .relations-county-map { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .relationships-edition .relations-intro { padding: 1.55rem; border-radius: .9rem; }
  .relations-overview-grid, .relations-chapter-grid, .relations-toc-links, .relations-comparison-grid, .relations-stat-grid, .relations-partner-grid, .relations-insights-grid, .relations-source-grid { grid-template-columns: 1fr; }
  .relations-overview-card { min-height: 265px; }
  .relations-toc-head { display: block; }
  .relations-toc-head > span { display: block; margin-top: .25rem; }
  .relationships-edition .relations-photo-feature { grid-template-columns: 1fr; }
  .relations-photo-feature img, .relations-photo-feature.is-reversed img { order: 0; height: 245px; min-height: 0; }
  .relations-photo-feature > div { padding: 1.45rem; }
  .relations-chart > header { display: block; }
  .relations-chart-controls { margin-top: .8rem; }
  .relations-bar-row { grid-template-columns: minmax(0, 1fr) 5.6rem; gap: .35rem .55rem; }
  .relations-bar-label { grid-column: 1; grid-row: 1; }
  .relations-bar-track { grid-column: 1; grid-row: 2; }
  .relations-bar-value { grid-column: 2; grid-row: 1 / 3; }
  .relations-network-nodes, .relations-county-map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 390px) {
  .relationships-edition .relations-intro { padding: 1.3rem 1.15rem; }
  .relationships-edition .relations-intro::after { right: -16rem; }
  .editorial-reader .generic-article .relations-intro h2 { font-size: 1.75rem; }
  .relationships-edition .relations-chapter-toc { padding: .95rem; }
  .relationships-edition .relations-toc-links a { grid-template-columns: 1.65rem minmax(0, 1fr); min-height: 70px; padding: .65rem; gap: .1rem .45rem; }
  .relations-toc-links a > span { font-size: 1.15rem; }
  .relations-network-nodes, .relations-county-map { grid-template-columns: 1fr; }
  .relationships-edition .relations-network-node, .relationships-edition .relations-county { min-height: 0; text-align: left; }
  .relationships-edition .relations-chart-controls button { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .relationships-edition *, .relationships-edition *::before, .relationships-edition *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media print {
  .relationships-edition :is(.relations-intro, .relations-overview-card, .relations-chart, .relations-photo-feature, .relations-source-card) { box-shadow: none !important; break-inside: avoid; }
  .relationships-edition :is(.relations-overview-card, .relations-photo-feature, .relations-network-core) { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
