/* ---------- Global network (Figma: black; 28 + copy, filter row, raster map, 7 chamfered partner nodes) ---------- */
.network { background: var(--c-black); color: var(--c-white); padding-top: 0.8px; overflow-x: clip; }
.network__inner { width: min(100% - 2 * var(--gutter), var(--container)); margin-inline: auto; }
.network__head { display: grid; grid-template-columns: minmax(0, 756.5px) minmax(0, 517px); justify-content: space-between; }
.network__stat { font-size: var(--fs-stat); color: var(--c-yellow); }
.network__stat-label { display: block; margin: 18.3px 0 0 2.4px; }
.network__aside { padding-top: 76.1px; }
.network__title { color: var(--c-yellow); margin-bottom: 37.2px; }
.network__text { font-size: var(--fs-body); line-height: var(--lh-auto); }
.network__text p + p { margin-top: 19px; }

.network__filter { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 52.8px; padding-top: 18.3px; border-top: 1px solid #555; position: relative; z-index: 2; }
.network__filter-label { color: var(--c-grey-500); }
.network__pills { display: flex; flex-wrap: wrap; gap: 10.5px; justify-content: flex-end; }

/* Map is a full-bleed raster, 1547x618 at 1440 (offset -53.7px); region filter dims everything outside an approximate region box [ASSUMED until the SVG map arrives] */
.map { position: relative; margin-top: -22.4px; aspect-ratio: 1440 / 618.5; overflow: hidden; --x1: 0%; --y1: 0%; --x2: 100%; --y2: 100%; }
.map__img { position: absolute; left: -3.73%; top: 0; width: 107.45%; max-width: none; height: auto; }
.map__dim { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.78); opacity: 0; pointer-events: none; transition: opacity var(--dur) var(--ease), clip-path var(--dur-slow) var(--ease);
  clip-path: polygon(evenodd, 0 0, 100% 0, 100% 100%, 0 100%, 0 0, var(--x1) var(--y1), var(--x1) var(--y2), var(--x2) var(--y2), var(--x2) var(--y1), var(--x1) var(--y1)); }
.map[data-region]:not([data-region="all"]) .map__dim { opacity: 1; }
.map[data-region="americas"] { --x1: 2%; --y1: 6%; --x2: 44%; --y2: 100%; }
.map[data-region="europe"] { --x1: 41%; --y1: 6%; --x2: 62%; --y2: 52%; }
.map[data-region="africa"] { --x1: 41%; --y1: 34%; --x2: 64%; --y2: 100%; }
.map[data-region="asia-pacific"] { --x1: 60%; --y1: 6%; --x2: 100%; --y2: 100%; }

.network__summary { width: min(100% - 2 * var(--gutter), 834px); margin: 51.4px auto 0; text-align: center; font-size: var(--fs-body); line-height: var(--lh-auto); }

/* Partner chain: scales as one drawing (1308 x 360.8) using container units */
.partners { container-type: inline-size; margin-top: 136.8px; }
.partners__chain { --u: calc(min(100cqw, var(--cw, 1308) * 1px) / var(--cw, 1308)); position: relative; aspect-ratio: var(--cw, 1308) / 360.77; max-width: calc(var(--cw, 1308) * 1px); margin-inline: auto; }
.partners__lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.partners__lines line { stroke: var(--c-yellow); stroke-width: 1; vector-effect: non-scaling-stroke; }
.partner { position: absolute; left: var(--l); top: var(--t); width: var(--nwp, 14.445%); height: 50.72%; display: flex; flex-direction: column; justify-content: center; padding-left: calc(var(--u) * 29.1); padding-right: calc(var(--u) * 8);
  background: url("../../img/node-chamfer.svg") center / 100% 100% no-repeat; }
.partner__name { font-size: calc(var(--u) * 15); letter-spacing: 0.16em; font-weight: 700; text-transform: uppercase; color: var(--c-yellow); line-height: 1.133; margin-bottom: calc(var(--u) * 6); max-width: calc(var(--u) * var(--nw, 130.4)); }
.partner__desc { font-size: calc(var(--u) * 16); line-height: 1.12; max-width: calc(var(--u) * var(--dw, 117)); }


@media (max-width: 1100px) {
  .network__head { grid-template-columns: 1fr; }
  .network__aside { padding-top: 2.5rem; }
  .network__filter { flex-direction: column; align-items: flex-start; }
  .network__pills { justify-content: flex-start; }
  .map { aspect-ratio: auto; height: clamp(260px, 52vw, 520px); }
  .map__img { width: 150%; left: -25%; }
  .partners { margin-top: 72px; }
  .partners__chain { aspect-ratio: auto; display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partners__lines { display: none; }
  .partner { position: relative; left: auto; top: auto; width: auto; height: auto; min-height: 140px; padding: 24px 28px; }
  .partner__name { font-size: 0.9375rem; margin-bottom: 6px; max-width: none; }
  .partner__desc { font-size: 1rem; max-width: none; }
}
@media (max-width: 767px) {
  .partners__chain { grid-template-columns: 1fr; }
  .network__stat-label { margin-left: 0; }
}
