/* ── Исследования ───────────────────────────────────────────────────── */
.research-hero {
  margin: 10px 0;
  border-radius: var(--r);
}
.research-hero {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
  min-height: 420px;
  padding: 0;
  overflow: hidden;
  border: var(--bw) solid transparent;
  background: var(--panel);
  color: var(--text);
}
.research-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(28px, 3vw, 40px);
}
.research-hero h1 {
  max-width: 900px;
  margin: 18px 0;
  font-size: clamp(40px, 4.5vw, 58px);
  line-height: 1.02;
}
.research-hero-copy > p { max-width: 720px; color: var(--text-2); font-size: 17px; }
.research-hero .eyebrow { color: var(--accent); }
.price-index-archive { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(420px,1.28fr);
  gap: clamp(28px,5vw,70px); align-items: center; margin: 10px 0;
  padding: clamp(24px,4vw,48px); }
.price-index-archive h2 { margin: 8px 0 12px; }
.price-index-archive p { max-width: 460px; margin: 0; color: var(--text-2); line-height: 1.6; }
.price-index-archive-row { display: grid; grid-template-columns: 1fr auto auto auto;
  gap: 18px; align-items: center; padding: 18px 20px; border: 1px solid var(--hair);
  border-radius: var(--r8); background: var(--field); color: var(--text); }
.price-index-archive-row:hover { border-color: var(--accent); text-decoration: none; }
.price-index-archive-row time { font-weight: 700; }
.price-index-archive-row b { color: var(--accent-dark); font: 700 20px var(--mono); }
.price-index-archive-row span { color: var(--text-3); font: 500 10px var(--mono); text-transform: uppercase; }
.price-index-archive-row i { font-style: normal; font-size: 22px; }
.price-index-hero .research-hero-copy { background: #fbfaf6; }
.price-index-distribution {
  margin: 10px 0;
  padding: clamp(26px, 4vw, 48px);
  border: var(--bw) solid transparent;
  border-radius: var(--r);
  background: var(--panel);
}
.price-index-distribution h2 { max-width: 560px; margin: 0 0 16px; font-size: clamp(28px, 3vw, 40px); line-height: 1.08; }
.price-index-distribution .research-distribution-copy p { margin: 0 0 14px; }
.price-index-note { padding: 13px 15px; border-left: 4px solid var(--accent); background: var(--field); font-size: 13px !important; }
.price-index-reading,
.price-index-method {
  display: grid;
  grid-template-columns: minmax(250px, .68fr) minmax(0, 1.32fr);
  gap: clamp(28px, 5vw, 68px);
  margin: 10px 0;
  padding: clamp(26px, 4vw, 48px);
  border: var(--bw) solid transparent;
  border-radius: var(--r);
  background: var(--panel);
}
.price-index-reading > div:first-child p,
.price-index-method > div:first-child p { max-width: 460px; margin: 14px 0 0; color: var(--text-2); line-height: 1.65; }
.price-index-reading h2,
.price-index-method h2 { margin: 8px 0 0; font-size: clamp(27px, 2.8vw, 38px); line-height: 1.08; }
.price-index-reading-list { display: grid; }
.price-index-reading-list article {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  padding: 18px 0;
  border-top: 1px solid var(--hair);
}
.price-index-reading-list article:first-child { padding-top: 0; border-top: 0; }
.price-index-reading-list article:last-child { padding-bottom: 0; }
.price-index-reading-list strong { color: var(--accent-dark); font: 700 24px/1.1 var(--mono); white-space: nowrap; }
.price-index-reading-list b { font-size: 16px; }
.price-index-reading-list p { margin: 5px 0 0; color: var(--text-2); font-size: 13px; line-height: 1.55; }
.price-index-method { background: #e5f1ec; }
.price-index-method ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 0; padding: 0; list-style: none; }
.price-index-method li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 11px; align-items: start; padding: 14px; border: 1px solid rgba(17,17,20,.16); border-radius: var(--r8); background: rgba(255,255,255,.52); }
.price-index-method li b { color: var(--accent-dark); font: 600 10px/1.4 var(--mono); }
.price-index-method li span { font-size: 13px; line-height: 1.45; }
.price-index-archive-list { display: grid; gap: 8px; }
.price-index-next { display: grid; grid-template-columns: 1fr auto; gap: 4px 18px; padding: 16px 20px; border: 1px solid var(--hair); border-radius: var(--r8); background: #fbfaf6; }
.price-index-next > span { font-weight: 700; }
.price-index-next > b { color: var(--text-2); font-size: 13px; }
.price-index-next > small { grid-column: 1 / -1; color: var(--text-3); }
.price-index-page .research-live-links { grid-template-columns: 1fr; }

.research-index-head { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr);
  min-height: 210px; margin: 10px 0; overflow: hidden; border: var(--bw) solid transparent;
  border-radius: var(--r); background: var(--panel); }
.research-index-copy { display: flex; flex-direction: column; justify-content: center;
  padding: 28px 32px; }
.research-index-copy h1 { max-width: 720px; margin: 12px 0 0;
  font-size: clamp(34px,3.7vw,48px); line-height: 1.02; text-wrap: balance; }
.research-index-about { display: flex; flex-direction: column; justify-content: space-between;
  padding: 26px 28px; border-left: var(--bw) solid var(--line); background: #e5f1ec; }
.research-index-about > p { max-width: 520px; margin: 0; color: var(--text-2);
  font-size: 14px; line-height: 1.55; }
.research-index-about dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px; margin: 24px 0 0; }
.research-index-about dl div { min-width: 0; padding-top: 10px; border-top: 1px solid rgba(17,17,20,.18); }
.research-index-about dt { color: var(--text-3); font: 500 9px var(--mono);
  letter-spacing: .07em; text-transform: uppercase; }
.research-index-about dd { margin: 5px 0 0; font-size: 17px; font-weight: 650; white-space: nowrap; }
.research-catalog-head { display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; margin: 30px 0 12px; padding: 0 2px; }
.research-catalog-head h2 { margin: 6px 0 0; font-size: 27px; }
.research-catalog-head > p { max-width: 360px; margin: 0; color: var(--text-3);
  font: 400 11px var(--mono); text-align: right; }
.research-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px; margin: 0 0 48px; }
.research-tile { display: grid; grid-template-columns: minmax(0,1fr) 180px;
  min-height: 260px; overflow: hidden; border: var(--bw) solid transparent;
  border-radius: var(--r); background: var(--panel); color: var(--text); }
.research-tile:hover { text-decoration: none; transform: translateY(-2px); }
.research-tile-copy { display: flex; flex-direction: column; min-width: 0; padding: 22px; }
.research-tile-meta { display: flex; align-items: center; justify-content: space-between;
  gap: 12px; color: var(--text-3); font: 500 9px var(--mono);
  letter-spacing: .06em; text-transform: uppercase; }
.research-tile-meta span { color: var(--accent); }
.research-tile h3 { margin: 24px 0 10px; font-size: clamp(22px,2vw,28px);
  line-height: 1.1; text-wrap: balance; }
.research-tile p { margin: 0; color: var(--text-2); font-size: 13px; line-height: 1.5; }
.research-tile footer { display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin-top: auto; padding-top: 18px; color: var(--text);
  font-size: 12px; font-weight: 650; }
.research-tile footer i { font-style: normal; font-size: 20px; transition: transform .15s ease; }
.research-tile:hover footer i { transform: translateX(4px); }
.research-tile.vps-study-tile { grid-template-columns: minmax(0,1fr) 42%; }
.vps-study-tile-picture { display: flex; align-items: center; min-width: 0; overflow: hidden;
  border-left: var(--bw) solid var(--line); background: #f7f3eb; }
.vps-study-tile-picture img { display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center; }
.research-tile-visual { position: relative; display: flex; flex-direction: column;
  justify-content: flex-end; min-width: 0; padding: 18px; overflow: hidden;
  border-left: var(--bw) solid var(--line); background: var(--ink); color: #fff; }
.research-tile-visual > img { position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: 56% center; opacity: .92; }
.research-tile-visual::after { position: absolute; inset: 40% 0 0; content: "";
  background: linear-gradient(transparent,rgba(10,11,10,.94)); }
.research-tile-visual strong, .research-tile-visual small { position: relative; z-index: 1; }
.research-tile-visual strong { font: 700 30px var(--mono); color: var(--ok); }
.research-tile-visual small { max-width: 140px; margin-top: 4px; color: var(--on-dark);
  font: 500 9px/1.35 var(--mono); text-transform: uppercase; }
.research-mini-chart { position: absolute; inset: 22px 18px 86px; display: flex;
  align-items: flex-end; gap: 8px; }
.research-mini-chart i { flex: 1; min-height: 22px; border-radius: 3px 3px 0 0;
  background: #3dc690; opacity: .9; }
.research-mini-chart i:nth-child(1) { height: 44%; }
.research-mini-chart i:nth-child(2) { height: 68%; }
.research-mini-chart i:nth-child(3) { height: 51%; }
.research-mini-chart i:nth-child(4) { height: 82%; }
.research-mini-chart i:nth-child(5) { height: 60%; }

/* Geography study: compact evidence table and simple editorial charts. */
.geography-badge strong { font-size: clamp(22px, 2.5vw, 32px); }
.geography-stats { grid-template-columns: repeat(4, 1fr); }
.geography-stats small { display: block; margin-top: 6px; color: var(--text-3); font-size: 10px; }
.geography-leaders { display: grid; grid-template-columns: minmax(250px,.65fr) minmax(480px,1.35fr); gap: clamp(28px,5vw,64px); align-items: center; margin: 10px 0; padding: clamp(24px,4vw,48px); border: var(--bw) solid transparent; border-radius: var(--r); background: var(--panel); scroll-margin-top: 92px; }
.geography-leader-copy p { max-width: 440px; color: var(--text-2); font-size: 15px; line-height: 1.65; }
.geography-bars { display: grid; gap: 10px; }
.geography-bar { display: grid; grid-template-columns: 120px minmax(100px,1fr) 34px; gap: 12px; align-items: center; }
.geography-bar > span { overflow: hidden; font: 600 11px var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.geography-bar > i { height: 16px; overflow: hidden; border-radius: 4px; background: var(--field); }
.geography-bar > i > b { display: block; height: 100%; min-width: 4px; border-radius: inherit; background: var(--accent); }
.geography-bar > strong { font: 700 15px var(--mono); text-align: right; }
.geography-country-strip { display: grid; grid-template-columns: minmax(220px,.45fr) minmax(0,1.55fr); gap: 28px; align-items: center; margin: 10px 0; padding: clamp(22px,3vw,36px); border: var(--bw) solid transparent; border-radius: var(--r); background: #e5f1ec; }
.geography-country-strip h2 { margin: 8px 0 0; font-size: 24px; }
.geography-country-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.geography-country-list > span { padding: 11px 12px; border: 1px solid rgba(17,17,20,.17); border-radius: var(--r6); background: rgba(255,255,255,.48); }
.geography-country-list b, .geography-country-list small { display: block; }
.geography-country-list b { font-size: 12px; }
.geography-country-list small { margin-top: 3px; color: var(--text-3); font: 500 9px var(--mono); }
.geography-table td:nth-child(3), .geography-table td:nth-child(4) { font-variant-numeric: tabular-nums; text-align: center; }
.geography-table details { min-width: 230px; }
.geography-table summary { color: var(--text-2); cursor: pointer; font-size: 12px; }
.geography-table details p { max-width: 520px; margin: 9px 0 0; color: var(--text-3); font-size: 11px; line-height: 1.5; }

.research-page { margin-bottom: 70px; }
.research-page [id] { scroll-margin-top: 92px; }
.research-lead,
.research-distribution,
.research-method,
.research-table-section,
.research-evidence,
.evidence-item { scroll-margin-top: 92px; }
.research-visual {
  position: relative;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  border-left: var(--bw) solid var(--line);
  background: #f3efe4;
}
.research-visual > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 330px;
  object-fit: cover;
  object-position: center;
}
.research-price-badge {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 18px;
  align-items: center;
  min-width: 0;
  padding: 14px 18px;
  border-top: var(--bw) solid var(--line);
  background: #0d1210;
  color: #fff;
}
.research-price-badge > span {
  color: #90a098;
  font: 500 9px/1.3 var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.research-price-badge strong {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: #70d3a7;
  font: 700 30px/1 var(--font);
  font-variant-numeric: tabular-nums;
  letter-spacing: -.035em;
}
.research-price-badge small { grid-column: 1; color: #cad3cf; font-size: 10px; }
.research-nav {
  display: flex;
  gap: 8px;
  margin: 10px 0;
  padding: 10px;
  overflow-x: auto;
  border: var(--bw) solid transparent;
  border-radius: var(--r);
  background: var(--panel);
}
.research-nav a {
  padding: 9px 14px;
  border-radius: var(--r6);
  color: var(--text-2);
  font: 500 11px/1.2 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.research-nav a:hover { background: var(--field); color: var(--text); text-decoration: none; }
.research-scope {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 10px 0;
}
.research-scope article {
  min-width: 0;
  padding: 18px 20px;
  border: var(--bw) solid transparent;
  border-radius: var(--r);
  background: var(--panel);
}
.research-scope article.is-caution { background: var(--note-bg); }
.research-scope span {
  display: block;
  color: var(--text-3);
  font: 500 9px/1.35 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.research-scope strong {
  display: block;
  margin-top: 9px;
  font-size: 19px;
  line-height: 1.18;
}
.research-scope p {
  margin: 7px 0 0;
  color: var(--text-2);
  font-size: 12px;
  line-height: 1.5;
}
.research-scope a { font-weight: 650; }
.research-insight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 10px 0;
}
.research-insight-grid article {
  padding: 22px;
  border: var(--bw) solid transparent;
  border-radius: var(--r);
  background: #fbfaf6;
}
.research-insight-grid article.is-dark { background: var(--ink); color: #fff; }
.research-insight-grid span {
  color: var(--text-3);
  font: 500 9px/1.35 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.research-insight-grid article.is-dark span { color: var(--mono-dark); }
.research-insight-grid strong {
  display: block;
  margin: 14px 0 8px;
  font-size: clamp(23px, 2.4vw, 34px);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.research-insight-grid p { margin: 0; color: var(--text-2); font-size: 13px; line-height: 1.55; }
.research-insight-grid article.is-dark p { color: var(--on-dark); }
.research-live-catalog {
  display: grid;
  grid-template-columns: minmax(230px, .7fr) minmax(0, 1.3fr);
  gap: 24px;
  align-items: center;
  margin: 10px 0;
  padding: 22px 24px;
  border: var(--bw) solid transparent;
  border-radius: var(--r);
  background: #e5f1ec;
}
.research-live-catalog h2 { margin: 7px 0 0; font-size: 24px; }
.research-live-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.research-live-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(17,17,20,.16);
  border-radius: var(--r8);
  background: rgba(255,255,255,.62);
  color: var(--text);
  font-size: 13px;
  font-weight: 650;
}
.research-live-links a:hover { border-color: var(--accent); text-decoration: none; }
.provider-inline {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.provider-inline-logo {
  flex: none;
  width: 28px;
  height: 28px;
  object-fit: contain;
  border: 1px solid var(--hair);
  border-radius: 8px;
  background: #fff;
}
.research-table td:first-child .provider-inline-logo { width: 30px; height: 30px; }
.budget-offer > strong.provider-inline { color: var(--text); font: 650 12px var(--font); letter-spacing: 0; text-transform: none; }
.research-lead,
.research-method,
.research-table-section,
.research-evidence,
.research-citation {
  margin: 10px 0;
  padding: clamp(24px, 4vw, 48px);
  border: var(--bw) solid transparent;
  border-radius: var(--r);
  background: var(--panel);
}
.research-lead { display: grid; grid-template-columns: .75fr 1.25fr 1.25fr; gap: 30px; }
.research-lead p { font-size: 17px; line-height: 1.7; }
.research-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 10px 0; }
.research-stats > div { min-height: 118px; padding: 20px; border: var(--bw) solid transparent; border-radius: var(--r); background: var(--panel); }
.research-stats span { display: block; margin-bottom: 22px; font: 500 10px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.research-stats strong { font: 600 clamp(20px, 3vw, 31px)/1.1 var(--font); font-variant-numeric: tabular-nums; }
.research-distribution {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(420px, 1.2fr);
  gap: clamp(30px, 5vw, 70px);
  align-items: center;
}
.research-distribution-copy p { max-width: 500px; color: var(--text-2); font-size: 16px; line-height: 1.65; }
.research-distribution-copy .eyebrow { display: block; margin-bottom: 16px; color: var(--accent); }

/* Resource-scaling study: a compact chart and one row per comparable family. */
.scaling-chart-section {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(520px, 1.28fr);
  gap: clamp(30px, 5vw, 70px);
  align-items: center;
  margin: 10px 0;
  padding: clamp(24px, 4vw, 48px);
  border: var(--bw) solid transparent;
  border-radius: var(--r);
  background: var(--panel);
  scroll-margin-top: 92px;
}
.scaling-chart-copy .eyebrow { display: block; margin-bottom: 16px; color: var(--accent); }
.scaling-chart-copy h2 { margin-bottom: 14px; }
.scaling-chart-copy p { max-width: 470px; color: var(--text-2); font-size: 16px; line-height: 1.65; }
.scaling-chart {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 12px;
  align-items: end;
  min-height: 300px;
  padding: 22px;
  border: var(--bw) solid transparent;
  border-radius: var(--r8);
  background: #0d1210;
  color: #fff;
}
.scaling-column {
  display: grid;
  grid-template-rows: 200px auto auto;
  gap: 7px;
  align-items: end;
  min-width: 0;
  text-align: center;
}
.scaling-column i {
  display: block;
  width: 100%;
  height: var(--height);
  min-height: 34px;
  border-radius: 5px 5px 2px 2px;
  background: #65cfa2;
}
.scaling-column b { color: #a7b7af; font: 600 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.scaling-column strong { font-size: clamp(14px, 1.6vw, 21px); font-variant-numeric: tabular-nums; white-space: nowrap; }
.scaling-multiplier {
  align-self: center;
  margin-bottom: 42px;
  color: #65cfa2;
  font: 700 13px var(--mono);
}
.scaling-table td > strong,
.scaling-table td > span,
.scaling-table td > small { display: block; }
.scaling-table td > span { margin-top: 5px; }
.scaling-table td > small { margin-top: 3px; color: var(--text-3); font-size: 11px; }
.scaling-table td:last-child strong { color: var(--accent); font-size: 18px; }
.scaling-table td:last-child span { color: var(--text-2); font: 500 10px var(--mono); }
.distribution-visual {
  overflow: hidden;
  border: var(--bw) solid transparent;
  border-radius: var(--r8);
  background: #0d1210;
  color: #fff;
}
.distribution-visual-head,
.distribution-axis {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 15px;
  color: #8e9d96;
  font: 500 9px/1.3 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.distribution-visual-head { border-bottom: 1px solid rgba(95,215,164,.2); }
.distribution-visual-head b { color: #dce6e1; font-weight: 500; }
.distribution-plot {
  position: relative;
  height: 190px;
  padding: 22px 15px 0;
  background-image:
    linear-gradient(rgba(67,180,133,.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(67,180,133,.14) 1px, transparent 1px);
  background-size: 24px 24px;
}
.distribution-bars { display: flex; gap: 5px; align-items: end; height: 100%; }
.distribution-bars > i {
  flex: 1 1 0;
  height: var(--bar);
  min-width: 4px;
  border-radius: 2px 2px 0 0;
  background: #34775d;
}
.distribution-bars > i.is-median { background: #70d3a7; }
.distribution-median {
  position: absolute;
  z-index: 2;
  right: 15px;
  bottom: 35%;
  left: 15px;
  border-top: 1px dashed rgba(112,211,167,.72);
}
.distribution-median i {
  position: absolute;
  right: 0;
  bottom: 5px;
  color: #70d3a7;
  font: 500 8px/1 var(--mono);
  font-style: normal;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.distribution-axis { border-top: 1px solid rgba(95,215,164,.2); }
.research-method ul { columns: 2; gap: 56px; margin: 26px 0 0; padding-left: 20px; }
.research-method li { break-inside: avoid; margin: 0 0 15px; line-height: 1.65; }
.research-table-wrap { overflow-x: auto; margin-top: 26px; }
.research-table { width: 100%; min-width: 1020px; border-collapse: collapse; font-size: 13px; }
.research-table th { padding: 12px 10px; border-bottom: 2px solid var(--line); text-align: left; font: 500 10px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.research-table td { padding: 15px 10px; border-bottom: 1px solid var(--hair); vertical-align: top; }
.research-table td:nth-child(1) { font-weight: 600; }
.research-table td:nth-child(3),
.research-table td:nth-child(4) { white-space: nowrap; }
.research-section-head { display: flex; justify-content: space-between; gap: 32px; align-items: end; margin-bottom: 30px; }
.research-section-head p { max-width: 430px; color: var(--text-2); }
.evidence-list { overflow: hidden; border: var(--bw) solid transparent; border-radius: var(--r8); }
.evidence-item { border-bottom: 1px solid var(--hair); background: var(--panel); }
.evidence-item:last-child { border-bottom: 0; }
.evidence-item summary {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) minmax(120px, auto) 108px;
  gap: 14px;
  align-items: center;
  min-height: 72px;
  padding: 14px 18px;
  cursor: pointer;
  list-style: none;
}
.evidence-item summary::-webkit-details-marker { display: none; }
.evidence-item summary:hover { background: var(--field); }
.evidence-item:target summary { background: var(--note-bg); }
.evidence-index { font: 500 11px/1 var(--mono); color: var(--text-3); }
.evidence-name { min-width: 0; }
.evidence-name strong,
.evidence-name small { display: block; }
.evidence-name strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.evidence-name small { margin-top: 3px; color: var(--text-2); }
.evidence-price { font: 600 16px/1.2 var(--font); font-variant-numeric: tabular-nums; text-align: right; }
.evidence-toggle { color: var(--accent); font: 500 11px/1.2 var(--font); text-align: right; }
.evidence-hide { display: none; }
.evidence-item[open] .evidence-show { display: none; }
.evidence-item[open] .evidence-hide { display: inline; }
.evidence-toggle i { display: inline-block; margin-left: 7px; font: 400 18px/1 var(--font); transition: transform .2s ease; }
.evidence-item[open] .evidence-toggle i { transform: rotate(45deg); }
.evidence-shot { margin: 0; padding: 0 18px 18px 70px; }
.evidence-shot > a {
  display: grid;
  place-items: center;
  min-height: 280px;
  max-height: 620px;
  overflow: hidden;
  border: 1px solid var(--hair);
  border-radius: var(--r6) var(--r6) 0 0;
  background: #eceae3;
}
.evidence-shot img { width: 100%; max-height: 620px; object-fit: contain; }
.evidence-shot figcaption {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 14px;
  border: 1px solid var(--hair);
  border-top: 0;
  border-radius: 0 0 var(--r6) var(--r6);
  color: var(--text-2);
  font-size: 12px;
  background: var(--field);
}
.evidence-shot figcaption a { white-space: nowrap; }
.research-citation code { display: block; max-width: 100%; margin-top: 20px; padding: 14px; overflow-x: auto; border-radius: var(--r6); background: var(--field); font: 13px/1.5 var(--mono); }
.research-data-download {
  display: flex; justify-content: space-between; gap: 36px; align-items: center;
  margin: 10px 0; padding: clamp(24px, 4vw, 42px);
  border: var(--bw) solid transparent; border-radius: var(--r);
  background: #dff0e8;
}
.research-data-download h2 { margin: 8px 0; }
.research-data-download p { max-width: 720px; margin: 0; color: var(--text-2); line-height: 1.6; }
.research-download-actions { display: flex; gap: 10px; flex: none; }

/* ── Изменения цен и регулярная серия ─────────────────────────────── */
.changes-hero, .dynamics-hero {
  display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  gap: 10px; margin: 10px 0;
}
.changes-hero > div, .dynamics-hero > div,
.changes-hero > aside, .dynamics-score {
  padding: clamp(28px, 4vw, 48px); border: var(--bw) solid transparent;
  border-radius: var(--r); background: var(--panel);
}
.changes-hero h1, .dynamics-hero h1 {
  max-width: 850px; margin: 18px 0; font-size: clamp(42px, 5.6vw, 72px); line-height: .98;
}
.dynamics-hero h1 { font-size: clamp(40px, 4.6vw, 60px); }
.changes-hero p, .dynamics-hero p { max-width: 760px; color: var(--text-2); font-size: 17px; line-height: 1.6; }
.changes-hero > aside, .dynamics-score {
  display: flex; flex-direction: column; justify-content: center;
  background: #0d1210; color: #fff;
}
.changes-hero > aside span, .dynamics-score span {
  color: #90a098; font: 500 10px/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase;
}
.changes-hero > aside strong, .dynamics-score strong {
  margin: 18px 0 8px; color: #70d3a7; font: 700 clamp(34px, 4vw, 56px)/1 var(--font);
  font-variant-numeric: tabular-nums;
}
.changes-hero > aside small, .dynamics-score small { color: #cad3cf; line-height: 1.5; }
.changes-stats {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 10px 0;
}
.changes-stats > div {
  min-height: 116px; padding: 20px; border: var(--bw) solid transparent;
  border-radius: var(--r); background: var(--panel);
}
.changes-stats span { display: block; margin-bottom: 22px; color: var(--text-3); font: 500 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.changes-stats strong { font-size: 32px; font-variant-numeric: tabular-nums; }
.changes-stats strong.is-up { color: var(--risk-text); }
.changes-stats strong.is-down { color: var(--ok-text); }
.changes-note {
  display: flex; gap: 18px; margin: 10px 0; padding: 18px 22px;
  border: 1px solid #d7b45c; border-radius: var(--r); background: var(--note-bg);
}
.changes-note p { margin: 0; line-height: 1.55; }
.changes-feed {
  margin: 10px 0; padding: clamp(24px, 4vw, 42px);
  border: var(--bw) solid transparent; border-radius: var(--r); background: var(--panel);
}
.changes-table-wrap { overflow-x: auto; }
.changes-table { width: 100%; min-width: 980px; border-collapse: collapse; font-size: 13px; }
.changes-table th { padding: 11px 10px; border-bottom: 2px solid var(--line); color: var(--text-3); font: 500 9px var(--mono); letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.changes-table td { padding: 14px 10px; border-bottom: 1px solid var(--hair); vertical-align: top; }
.changes-table td > strong, .changes-table td > span, .changes-table td > small { display: block; }
.changes-table td > span, .changes-table td > small { margin-top: 3px; color: var(--text-2); }
.changes-table time { font: 500 11px var(--mono); }
.change-pill, .change-source { display: inline-flex; padding: 5px 8px; border-radius: 999px; white-space: nowrap; }
.change-pill { font: 600 11px var(--mono); }
.change-pill.is-up { background: var(--risk-bg); color: var(--risk-text); }
.change-pill.is-down { background: var(--ok-bg); color: var(--ok-text); }
.change-pill.is-same { background: var(--field); color: var(--text-2); }
.change-source { background: var(--field); color: var(--text-2); font: 500 10px var(--mono); text-transform: uppercase; }
.change-source.is-fx { background: var(--warn-bg); color: var(--warn-text); }
.series-next {
  display: flex; justify-content: space-between; gap: 20px; margin: 10px 0 70px;
  padding: 28px 32px; border: var(--bw) solid transparent; border-radius: var(--r);
  background: var(--ink); color: #fff;
}
.series-next span { color: var(--mono-dark); font: 500 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.series-next:hover { color: #fff; text-decoration: none; background: var(--ink-nested); }

.changes-overview { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(430px,.88fr);
  min-height: 235px; margin: 10px 0; overflow: hidden; border: var(--bw) solid transparent;
  border-radius: var(--r); background: var(--panel); }
.changes-overview-copy { display: flex; flex-direction: column; justify-content: center;
  min-width: 0; padding: 28px 32px; }
.changes-overview-copy h1 { margin: 12px 0 10px; font-size: clamp(36px,4vw,52px);
  line-height: 1; text-wrap: balance; }
.changes-overview-copy p { max-width: 700px; margin: 0; color: var(--text-2);
  font-size: 14px; line-height: 1.55; }
.changes-snapshot { display: flex; flex-direction: column; justify-content: space-between;
  padding: 24px 26px; border-left: var(--bw) solid var(--line); background: #e5f1ec; }
.changes-snapshot header { display: flex; align-items: flex-end; justify-content: space-between;
  gap: 18px; }
.changes-snapshot header div { display: grid; gap: 5px; }
.changes-snapshot header span, .changes-snapshot dt { color: var(--text-3);
  font: 500 9px var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.changes-snapshot header strong { font-size: 24px; font-variant-numeric: tabular-nums; }
.changes-snapshot header small { max-width: 145px; color: var(--text-2);
  font: 400 10px/1.4 var(--mono); text-align: right; }
.changes-snapshot dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 8px; margin: 22px 0 0; }
.changes-snapshot dl div { min-width: 0; padding-top: 10px; border-top: 1px solid rgba(17,17,20,.18); }
.changes-snapshot dd { margin: 5px 0 0; font-size: 25px; font-weight: 650;
  font-variant-numeric: tabular-nums; }
.changes-snapshot dd.is-up { color: var(--risk-text); }
.changes-snapshot dd.is-down { color: var(--ok-text); }
.changes-note { align-items: center; display: grid; grid-template-columns: 92px minmax(0,1fr);
  gap: 18px; margin: 10px 0; padding: 12px 18px; border-color: #d7b45c; }
.changes-note strong { font: 700 12px var(--mono); letter-spacing: .04em; }
.changes-note p { font-size: 13px; line-height: 1.45; }
.changes-feed { margin: 10px 0; padding: 0; overflow: hidden; }
.changes-feed-head { display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; padding: 22px 24px 18px; border-bottom: 1px solid var(--hair); }
.changes-feed-head h2 { margin: 6px 0 0; font-size: 27px; }
.changes-feed-head > p { margin: 0; color: var(--text-3); font: 400 10px var(--mono); }
.changes-table-wrap { padding: 0 14px 10px; }
.changes-table { min-width: 880px; }
.changes-table th { padding: 10px 9px; border-bottom-width: 1px; }
.changes-table td { padding: 12px 9px; }
.changes-table tbody tr:hover { background: var(--field); }
.series-next { align-items: center; margin: 10px 0 58px; padding: 18px 22px;
  background: var(--ink); }
.series-next > div { display: grid; gap: 5px; }
.series-next strong { font-size: 17px; }
.series-next i { font-style: normal; font-size: 24px; transition: transform .15s ease; }
.series-next:hover i { transform: translateX(4px); }
.dynamics-finding {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 70px);
  align-items: center; margin: 10px 0; padding: clamp(24px, 4vw, 48px);
  border: var(--bw) solid transparent; border-radius: var(--r); background: var(--panel);
}
.dynamics-finding p { max-width: 620px; color: var(--text-2); font-size: 16px; line-height: 1.65; }
.dynamics-bars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.dynamics-bars > i { height: 88px; border-radius: var(--r6); background: var(--field); border: 1px solid var(--hair); }
.dynamics-bars > i.is-up { background: var(--risk-bg); border-color: #e6b4ac; }
.dynamics-bars small { grid-column: 1 / -1; display: flex; gap: 20px; color: var(--text-2); }
.dynamics-bars small span:first-child { color: var(--text-3); }
.dynamics-bars small span:last-child { color: var(--risk-text); }

@media (max-width: 900px) {
  .changes-overview { grid-template-columns: 1fr; }
  .changes-snapshot { border-top: var(--bw) solid var(--line); border-left: 0; }
  .research-index-head { grid-template-columns: 1fr; }
  .research-index-about { border-top: var(--bw) solid var(--line); border-left: 0; }
  .research-grid { grid-template-columns: 1fr; }
  .research-tile { min-height: 220px; }
  .research-hero { grid-template-columns: 1fr; gap: 0; }
  .price-index-archive { grid-template-columns: 1fr; }
  .price-index-reading, .price-index-method { grid-template-columns: 1fr; }
  .research-visual { border-top: var(--bw) solid var(--line); border-left: 0; }
  .research-visual > img { min-height: 300px; }
  .research-lead { grid-template-columns: 1fr; }
  .research-distribution { grid-template-columns: 1fr; }
  .scaling-chart-section { grid-template-columns: 1fr; }
  .research-stats { grid-template-columns: repeat(2, 1fr); }
  .research-method ul { columns: 1; }
  .research-section-head { display: block; }
  .research-section-head p { margin-top: 14px; }
  .research-data-download { align-items: flex-start; flex-direction: column; }
  .changes-hero, .dynamics-hero, .dynamics-finding { grid-template-columns: 1fr; }
  .changes-stats { grid-template-columns: repeat(2, 1fr); }
  .geography-leaders, .geography-country-strip { grid-template-columns: 1fr; }
  .geography-country-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .research-scope, .research-insight-grid { grid-template-columns: 1fr; }
  .research-live-catalog { grid-template-columns: 1fr; }
}

/* Исследование бюджетов: три самостоятельные полосы вместо еще одной
   широкой таблицы. Так сравнение читается и на десктопе, и на телефоне. */
.budget-lanes { display: grid; gap: 10px; margin: 10px 0; }
.budget-lane { display: grid; grid-template-columns: minmax(230px,.34fr) minmax(0,1fr);
  overflow: hidden; border: var(--bw) solid transparent; border-radius: var(--r);
  background: var(--panel); }
.budget-lane > header { padding: 24px; color: #fff; background: var(--ink-hero); }
.budget-lane > header h2 { margin: 6px 0 22px; color: #fff; font-size: 35px; }
.budget-lane > header dl { display: grid; gap: 10px; margin: 0; }
.budget-lane > header dl div { display: flex; align-items: baseline;
  justify-content: space-between; gap: 12px; padding-top: 9px;
  border-top: 1px solid #303035; }
.budget-lane dt { color: var(--mono-dark); font: 500 9px var(--mono);
  letter-spacing: .08em; text-transform: uppercase; }
.budget-lane dd { margin: 0; font: 600 13px var(--mono); }
.budget-offers { display: grid; grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1px; background: var(--hair); }
.budget-offer { display: flex; min-width: 0; flex-direction: column; gap: 5px;
  padding: 18px; background: var(--panel); }
.budget-offer strong { color: var(--text-3); font: 500 9px var(--mono);
  letter-spacing: .09em; text-transform: uppercase; }
.budget-offer b { font-size: 15px; line-height: 1.35; }
.budget-offer span { flex: 1; color: var(--text-2); font-size: 12px; line-height: 1.45; }
.budget-offer a { margin-top: 8px; color: var(--btn-hover); font-size: 12px; font-weight: 600; }
.budget-offer.is-empty { background: #f5f4ef; }
.budget-offer.is-empty b, .budget-offer.is-empty span { color: var(--text-3); }

@media (max-width: 1000px) {
  .budget-offers { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .budget-lane { grid-template-columns: 1fr; }
  .budget-lane > header dl { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .budget-lane > header dl div { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 560px) {
  .budget-lane > header { padding: 20px; }
  .budget-lane > header h2 { font-size: 31px; }
  .budget-lane > header dl { grid-template-columns: 1fr; }
  .budget-lane > header dl div { align-items: baseline; flex-direction: row; }
  .budget-offers { grid-template-columns: 1fr; }
}

/* Полная стоимость: один вертикальный ритм без широкой таблицы. */
.true-cost-comparison {
  margin: 10px 0; padding: clamp(24px,4vw,48px); border: var(--bw) solid transparent;
  border-radius: var(--r); background: var(--panel); scroll-margin-top: 92px;
}
.true-cost-list { display: grid; gap: 8px; margin-top: 24px; }
.true-cost-row { padding: 18px 20px; border: 1px solid var(--hair);
  border-radius: var(--r8); background: #fbfaf6; }
.true-cost-row > header { display: flex; align-items: baseline; gap: 12px; }
.true-cost-row > header strong { font-size: 18px; }
.true-cost-row > header span { color: var(--text-2); font-size: 12px; }
.true-cost-parts { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 12px; align-items: center; margin-top: 16px; }
.true-cost-parts > div { display: grid; gap: 4px; }
.true-cost-parts span { color: var(--text-3); font: 500 9px var(--mono);
  letter-spacing: .07em; text-transform: uppercase; }
.true-cost-parts b { font-size: 18px; font-variant-numeric: tabular-nums; }
.true-cost-parts > i { color: var(--text-3); font-style: normal; }
.true-cost-parts .is-total { justify-self: end; text-align: right; }
.true-cost-parts .is-total b { color: var(--ok-text); font-size: 23px; }
.true-cost-bar { height: 6px; margin: 14px 0; overflow: hidden;
  border-radius: 999px; background: #e8e5dc; }
.true-cost-bar i { display: block; width: var(--width); height: 100%; border-radius: inherit;
  background: var(--accent); }
.true-cost-row > footer { display: flex; justify-content: space-between; gap: 18px;
  color: var(--text-2); font-size: 11px; line-height: 1.45; }
.true-cost-row > footer > span { max-width: 72%; }
.true-cost-row > footer > strong { color: var(--text); white-space: nowrap; }
.evidence-shot-extra { padding-top: 0; }

@media (max-width: 680px) {
  .true-cost-comparison { padding: 20px; }
  .true-cost-row { padding: 16px; }
  .true-cost-row > header { align-items: flex-start; flex-direction: column; gap: 4px; }
  .true-cost-parts { grid-template-columns: 1fr auto 1fr; }
  .true-cost-parts > i:nth-of-type(2) { display: none; }
  .true-cost-parts .is-total { grid-column: 1 / -1; justify-self: stretch;
    padding-top: 10px; border-top: 1px solid var(--hair); text-align: left; }
  .true-cost-row > footer { align-items: flex-start; flex-direction: column; gap: 5px; }
  .true-cost-row > footer > span { max-width: none; }
}

@media (max-width: 560px) {
  .changes-overview-copy, .changes-snapshot { padding: 21px 20px; }
  .changes-overview-copy h1 { font-size: 34px; }
  .changes-snapshot header { align-items: flex-start; flex-direction: column; gap: 8px; }
  .changes-snapshot header small { max-width: none; text-align: left; }
  .changes-snapshot dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .changes-note { grid-template-columns: 1fr; gap: 7px; }
  .changes-feed-head { align-items: flex-start; flex-direction: column; gap: 7px;
    padding: 20px; }
  .changes-table-wrap { padding: 0 8px 8px; }
  .series-next { align-items: flex-start; }
  .research-index-copy, .research-index-about { padding: 21px 20px; }
  .research-index-copy h1 { font-size: 32px; }
  .research-index-about dl { margin-top: 18px; }
  .research-index-about dd { font-size: 14px; }
  .research-catalog-head { align-items: flex-start; flex-direction: column; gap: 6px; }
  .research-catalog-head > p { text-align: left; }
  .research-tile { grid-template-columns: 1fr; }
  .research-tile-copy { padding: 20px; }
  .research-tile h3 { margin-top: 18px; font-size: 24px; }
  .research-tile-visual { min-height: 150px; border-top: var(--bw) solid var(--line); border-left: 0; }
  .research-hero { padding: 0; }
  .research-hero h1 { font-size: 36px; }
  .research-hero-copy { padding: 26px 20px; }
  .price-index-archive { padding: 20px; }
  .price-index-archive-row { grid-template-columns: 1fr auto; gap: 8px 14px; }
  .price-index-archive-row span { grid-column: 1 / 2; }
  .price-index-archive-row i { grid-column: 2; grid-row: 1 / 3; }
  .price-index-distribution, .price-index-reading, .price-index-method { padding: 21px 20px; }
  .price-index-reading-list article { grid-template-columns: 1fr; gap: 7px; }
  .price-index-reading-list strong { font-size: 21px; }
  .price-index-method ol { grid-template-columns: 1fr; }
  .price-index-next { grid-template-columns: 1fr; }
  .price-index-next > small { grid-column: auto; }
  .research-visual > img { min-height: 260px; }
  .research-price-badge { padding: 13px 15px; }
  .research-price-badge strong { font-size: 27px; }
  .research-stats { grid-template-columns: 1fr; }
  .research-stats > div { min-height: 90px; }
  .distribution-plot { height: 155px; }
  .distribution-bars { gap: 3px; }
  .scaling-chart { gap: 6px; min-height: 250px; padding: 14px 10px; }
  .scaling-column { grid-template-rows: 155px auto auto; }
  .scaling-column strong { font-size: 12px; }
  .scaling-multiplier { margin-bottom: 38px; font-size: 10px; }
  .evidence-item summary { grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px; padding: 13px 12px; }
  .evidence-name strong { white-space: normal; }
  .evidence-name small { font-size: 11px; }
  .evidence-price { font-size: 14px; }
  .evidence-toggle { display: none; }
  .evidence-shot { padding: 0 12px 12px; }
  .evidence-shot > a { min-height: 200px; }
  .evidence-shot figcaption { display: grid; }
  .research-download-actions { width: 100%; flex-direction: column; }
  .changes-stats { grid-template-columns: 1fr; }
  .changes-note, .series-next { flex-direction: column; }
  .geography-bar { grid-template-columns: 92px minmax(80px,1fr) 28px; gap: 8px; }
  .geography-country-list { grid-template-columns: 1fr; }
  .research-scope article, .research-insight-grid article { padding: 17px; }
  .research-live-catalog { padding: 20px; }
  .research-live-links { grid-template-columns: 1fr; }
}

/* Geography research v2: decision-first layout with provider identity. */
.geography-research .geography-hero-v2 { grid-template-columns: minmax(0,1.18fr) minmax(340px,.82fr); min-height: 310px; }
.geography-hero-v2 .research-hero-copy { padding: clamp(24px,2.6vw,36px); }
.geography-hero-v2 h1 { max-width: 760px; margin: 13px 0; font-size: clamp(35px,3.5vw,46px); }
.geography-hero-v2 .research-hero-copy > p { font-size: 15px; line-height: 1.55; }
.geography-hero-v2 .research-visual > img { min-height: 240px; }
.geography-hero-v2 .research-price-badge strong { font-size: clamp(22px,2vw,28px); }
.geography-hero-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.geography-lead-v2 { grid-template-columns: .9fr 1.05fr 1.05fr; }
.geography-lead-v2 h2 { margin: 8px 0 0; font-size: clamp(26px,3vw,38px); line-height: 1.04; }
.geography-lead-v2 p { margin: 0; color: var(--text-2); font-size: 15px; line-height: 1.7; }
.geography-lead-v2 p strong { color: var(--text); }
.geography-decision, .geography-shape { margin: 10px 0; padding: clamp(24px,4vw,44px); border: var(--bw) solid transparent; border-radius: var(--r); background: var(--panel); scroll-margin-top: 92px; }
.geography-decision-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.geography-decision-grid article { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 5px 13px; padding: 20px; border: 1px solid var(--hair); border-radius: var(--r8); background: #fbfaf6; }
.geography-decision-grid article > span { grid-row: 1 / span 3; color: var(--accent-dark); font: 700 12px var(--mono); }
.geography-decision-grid h3 { margin: 0; font-size: 19px; }
.geography-decision-grid p { margin: 7px 0; color: var(--text-2); font-size: 13px; line-height: 1.55; }
.geography-decision-grid small { color: var(--text-3); font: 500 10px/1.45 var(--mono); }
.geography-bar { grid-template-columns: 160px minmax(100px,1fr) 34px; }
.geography-bar > span { display: flex; align-items: center; gap: 9px; }
.geography-bar > span img, .provider-mini img, .geography-shape-grid header img, .geography-germany-list article > img { flex: none; object-fit: contain; border: 1px solid var(--hair); border-radius: 9px; background: #fff; }
.geography-shape-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.geography-shape-grid article { padding: 20px; border: 1px solid var(--hair); border-radius: var(--r8); background: #fbfaf6; }
.geography-shape-grid header { display: flex; align-items: center; gap: 12px; }
.geography-shape-grid header div { display: grid; gap: 3px; }
.geography-shape-grid header strong { font-size: 17px; }
.geography-shape-grid header span { color: var(--text-3); font: 500 9px var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.geography-shape-grid dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 20px 0 0; }
.geography-shape-grid dl div { padding-top: 10px; border-top: 1px solid var(--hair); }
.geography-shape-grid dt { color: var(--text-3); font: 500 9px var(--mono); text-transform: uppercase; }
.geography-shape-grid dd { margin: 5px 0 0; font: 700 21px var(--font); }
.geography-shape-note { margin: 18px 0 0; padding: 16px 18px; border-radius: var(--r8); background: var(--note-bg); color: var(--text-2); font-size: 13px; line-height: 1.55; }
.geography-germany { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(26px,4vw,52px); margin: 10px 0; padding: clamp(24px,4vw,44px); border: var(--bw) solid transparent; border-radius: var(--r); background: #e5f1ec; scroll-margin-top: 92px; }
.geography-germany-copy p { color: var(--text-2); font-size: 14px; line-height: 1.65; }
.geography-germany-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.geography-germany-links a { font-size: 12px; font-weight: 650; }
.geography-germany-list { display: grid; gap: 7px; }
.geography-germany-list article { display: grid; grid-template-columns: 24px 36px minmax(0,1fr) 24px; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid rgba(17,17,20,.14); border-radius: var(--r8); background: rgba(255,255,255,.62); }
.geography-germany-list .geography-rank { color: var(--text-3); font: 500 9px var(--mono); }
.geography-germany-list h3 { margin: 0; font-size: 14px; }
.geography-germany-list p { margin: 3px 0 0; color: var(--text-2); font-size: 11px; }
.geography-germany-list article > a { color: var(--accent-dark); font-size: 18px; text-align: right; }
.provider-mini { display: inline-flex; align-items: center; gap: 9px; min-width: 150px; }
.provider-mini > span { display: grid; gap: 2px; }
.provider-mini small { color: var(--text-3); font: 500 8px var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.geography-table tbody tr:hover { background: #f7f6f1; }
.geography-evidence-key { display: flex; flex-wrap: wrap; gap: 8px; margin: -14px 0 22px; }
.geography-evidence-key span { padding: 8px 10px; border: 1px solid var(--hair); border-radius: 999px; color: var(--text-2); font: 500 9px var(--mono); }
.geography-evidence-key b { margin-right: 5px; color: var(--text); }

@media (max-width: 900px) {
  .geography-research .geography-hero-v2, .geography-germany { grid-template-columns: 1fr; }
  .geography-lead-v2 { grid-template-columns: 1fr; }
  .geography-decision-grid, .geography-shape-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .geography-decision, .geography-shape, .geography-germany { padding: 20px; }
  .geography-decision-grid article { grid-template-columns: 26px minmax(0,1fr); padding: 16px; }
  .geography-bar { grid-template-columns: 128px minmax(70px,1fr) 28px; gap: 8px; }
  .geography-bar > span img { width: 24px; height: 24px; }
  .geography-shape-grid dl { gap: 5px; }
  .geography-shape-grid dd { font-size: 18px; }
  .geography-germany-list article { grid-template-columns: 32px minmax(0,1fr) 20px; }
  .geography-germany-list .geography-rank { display: none; }
}
