:root {
  --ink: #172033;
  --paper: #ffffff;
  --mist: #eef1f5;
  --line: #d5dbe3;
  --muted: #5b6678;
  --apac: #00897b;
  --europe: #3d5afe;
  --americas: #f9a825;
  --africa: #8e24aa;
  --mideast: #e53935;
  --unknown: #9aa3b2;
  --gut: 64px;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body { font-family: "Archivo", system-ui, sans-serif; font-stretch: 100%; color: var(--ink); background: var(--paper); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.num { font-stretch: 75%; font-variant-numeric: tabular-nums; font-weight: 700; }
a { color: inherit; text-decoration: none; }
a.u, .prose a { box-shadow: inset 0 -1.5px 0 currentColor; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--europe); outline-offset: 2px; }
[hidden] { display: none !important; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* top bar */
.top { display: flex; align-items: center; gap: 40px; height: 72px; padding: 0 var(--gut); border-bottom: 1px solid var(--line); background: #fff; }
.brand { display: flex; align-items: center; gap: 12px; font-stretch: 118%; font-weight: 800; font-size: 19px; letter-spacing: -0.01em; white-space: nowrap; }
.mark { display: grid; grid-template-columns: 14px 8px; grid-template-rows: 8px 6px 8px; gap: 2px; }
.mark i { display: block; }
.mark i:nth-child(1) { background: var(--americas); grid-row: 1 / 3; }
.mark i:nth-child(2) { background: var(--mideast); }
.mark i:nth-child(3) { background: var(--apac); grid-row: 2 / 4; }
.mark i:nth-child(4) { background: var(--africa); }
.mark i:nth-child(5) { background: var(--europe); }
.nav { display: flex; gap: 28px; font-size: 15px; font-weight: 500; color: var(--muted); height: 100%; }
.nav a { display: flex; align-items: center; }
.nav a:hover { color: var(--ink); }
.nav a.on { color: var(--ink); box-shadow: inset 0 -3px 0 var(--ink); }
.top .spacer { flex: 1; }
.btn { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 22px; background: var(--ink); color: #fff; font-weight: 600; font-size: 15px; border: 0; cursor: pointer; white-space: nowrap; }
.btn.ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }
.btn.ghost[aria-disabled="true"] { opacity: .35; pointer-events: none; }

.dot { display: inline-block; width: 10px; height: 10px; margin-right: 8px; flex: none; }
.c-apac { background: var(--apac); } .c-europe { background: var(--europe); } .c-americas { background: var(--americas); }
.c-africa { background: var(--africa); } .c-mideast { background: var(--mideast); } .c-unknown { background: var(--unknown); }

.foot { margin-top: 96px; padding: 40px var(--gut); background: var(--mist); display: flex; gap: 64px; font-size: 14px; color: var(--muted); }
.foot b { color: var(--ink); display: block; margin-bottom: 8px; }
.foot p { max-width: 38ch; }
.foot a { display: block; }
.foot a:hover { color: var(--ink); }

/* ---------- home ---------- */
.hero { padding: 44px var(--gut) 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.42fr); gap: 56px; align-items: start; }
.hero .dayline { grid-column: 1 / -1; }
.dayline { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; color: var(--muted); font-size: 15px; }
.daynav { display: flex; gap: 20px; font-weight: 500; color: var(--ink); white-space: nowrap; }
.daynav span { color: var(--line); }
.daynav .off { color: var(--line); pointer-events: none; }
h1.say { margin-top: 4px; font-stretch: 116%; font-weight: 800; font-size: 62px; line-height: 1.02; letter-spacing: -0.025em; max-width: 15ch; }
.sub { margin-top: 18px; font-size: 18px; color: var(--muted); max-width: 62ch; }
.legend { margin-top: 32px; }
.legend a { display: grid; grid-template-columns: 6px 120px 1fr; align-items: center; gap: 14px; width: 100%; padding: 9px 0; border-bottom: 1px solid var(--line); }
.legend a::before { content: ""; height: 30px; background: var(--c); }
.legend a .n { font-size: 26px; line-height: 1; }
.legend a small { font-size: 15px; color: var(--muted); }
.legend a:hover small { color: var(--ink); }
#map { position: relative; height: 600px; margin-top: 12px; }
.t { position: absolute; padding: 14px 16px; color: #fff; overflow: hidden; display: block; }
.t:hover { filter: brightness(1.06); }
.t .cn { font-weight: 600; font-size: 15px; }
.t .amt { font-size: 40px; line-height: 1; margin-top: 4px; }
.t .r { font-size: 13px; opacity: .9; margin-top: 4px; }
.t.dark { color: var(--ink); }
.t.sm .amt { font-size: 22px; } .t.sm .cn { font-size: 13px; } .t.sm .r { display: none; }
.t.xs { padding: 0; } .t.xs > * { display: none; }
.note { margin-top: 12px; font-size: 13px; color: var(--muted); }

.three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; padding: 80px var(--gut) 0; }
.three h2 { font-size: 15px; font-weight: 600; color: var(--muted); padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.three .co { display: block; margin-top: 20px; font-stretch: 112%; font-weight: 800; font-size: 30px; line-height: 1.1; letter-spacing: -0.015em; }
.three .meta { margin-top: 8px; font-size: 15px; color: var(--muted); }
.three .meta .num { color: var(--ink); font-size: 18px; }
.three p { margin-top: 14px; font-size: 16px; max-width: 40ch; }
a.more { display: inline-block; margin-top: 16px; font-weight: 600; font-size: 15px; box-shadow: inset 0 -2px 0 var(--ink); }

.listing { padding: 80px var(--gut) 0; }
.listing .head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.listing h2 { font-stretch: 112%; font-weight: 800; font-size: 34px; letter-spacing: -0.015em; }
.listing .head a { font-weight: 600; box-shadow: inset 0 -2px 0 var(--ink); white-space: nowrap; }

.join { margin: 96px var(--gut) 0; display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: center; padding: 56px; background: var(--ink); color: #fff; }
.join h2 { font-stretch: 116%; font-weight: 800; font-size: 44px; line-height: 1.05; letter-spacing: -0.02em; }
.join p { margin-top: 14px; color: #c4cbd7; font-size: 17px; max-width: 46ch; }
.join small { display: block; margin-top: 12px; color: #c4cbd7; font-size: 14px; }
.bh { width: 100%; min-height: 56px; display: block; }
.bh iframe { width: 100%; border: 0; display: block; }

/* ---------- day page ---------- */
.page { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 48px; padding: 40px var(--gut) 0; }
.filters { border-right: 1px solid var(--line); padding-right: 28px; align-self: start; position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow: auto; }
.filters .hd { display: flex; justify-content: space-between; font-weight: 600; font-size: 15px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.filters .hd button { all: unset; cursor: pointer; color: var(--muted); font-weight: 500; }
.filters .hd button:hover { color: var(--ink); }
.fg { padding: 18px 0; border-bottom: 1px solid var(--line); }
.fg h3 { font-size: 15px; font-weight: 600; margin-bottom: 10px; }
.fg label { display: flex; align-items: center; gap: 10px; font-size: 15px; padding: 4px 0; cursor: pointer; }
.fg label .ct { margin-left: auto; color: var(--muted); font-size: 14px; }
.fg input[type=checkbox] { appearance: none; width: 16px; height: 16px; flex: none; box-shadow: inset 0 0 0 1.5px var(--muted); position: relative; cursor: pointer; margin: 0; }
.fg input[type=checkbox]:checked { background: var(--ink); box-shadow: none; }
.fg input[type=checkbox]:checked::after { content: ""; position: absolute; left: 5px; top: 2px; width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.fg label.zero { color: var(--line); }
.fg select, .fg input[type=search] { width: 100%; height: 40px; border: 0; box-shadow: inset 0 0 0 1.5px var(--line); padding: 0 10px; font: inherit; font-size: 15px; background: #fff; }
.fg .more-c { all: unset; cursor: pointer; font-size: 14px; font-weight: 600; margin-top: 6px; box-shadow: inset 0 -1.5px 0 var(--ink); }

.dayhead { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.dayhead .d { color: var(--muted); font-size: 15px; }
.dayhead h1 { font-stretch: 116%; font-weight: 800; font-size: 48px; line-height: 1.05; letter-spacing: -0.02em; margin-top: 6px; }
.dayhead .acts { display: flex; gap: 12px; }
.bar { display: flex; height: 52px; margin-top: 28px; gap: 3px; }
.bar a { display: flex; flex-direction: column; justify-content: center; padding: 0 12px; color: #fff; font-size: 13px; line-height: 1.25; overflow: hidden; white-space: nowrap; min-width: 6px; }
.bar a b { font-stretch: 75%; font-size: 18px; }
.bar a.dark { color: var(--ink); }
.bar a.off { opacity: .22; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; font-size: 14px; align-items: center; }
.chip { padding: 6px 12px; background: var(--mist); }
.chip b { font-weight: 600; }
.chips button.clear { all: unset; cursor: pointer; padding: 6px 0; font-weight: 600; box-shadow: inset 0 -2px 0 var(--ink); }

.tw { overflow-x: auto; margin-top: 28px; }
table.rounds { width: 100%; border-collapse: collapse; font-size: 15px; }
.rounds th { text-align: left; font-weight: 600; font-size: 14px; color: var(--muted); padding: 10px 12px 10px 0; border-bottom: 2px solid var(--ink); white-space: nowrap; }
.rounds th.r, .rounds td.r { text-align: right; }
.rounds td { padding: 16px 12px 16px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.rounds td .co { font-weight: 700; font-size: 16px; }
.rounds td .co:hover { box-shadow: inset 0 -1.5px 0 var(--ink); }
.rounds td .dom, .rounds td .nat { color: var(--muted); font-size: 14px; }
.rounds td.where { white-space: nowrap; }
.rounds td.amt { font-stretch: 75%; font-weight: 700; font-size: 20px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rounds td.amt small { display: block; font-stretch: 100%; font-weight: 400; font-size: 13px; color: var(--muted); max-width: 16ch; white-space: normal; margin-left: auto; }
.rounds td.why { max-width: 34ch; color: #2c3647; }
.rounds td.invc { max-width: 22ch; }
.rounds .na { color: var(--muted); }
.lk { display: flex; gap: 6px; }
.lk a { min-width: 28px; height: 28px; padding: 0 6px; display: grid; place-items: center; box-shadow: inset 0 0 0 1.5px var(--line); font-size: 12px; font-weight: 700; }
.lk a:hover { box-shadow: inset 0 0 0 1.5px var(--ink); }
.empty { padding: 40px 0; color: var(--muted); }

/* ---------- company page ---------- */
.crumb { padding: 28px var(--gut) 0; font-size: 15px; color: var(--muted); }
.crumb a { color: var(--ink); font-weight: 500; }
.chead { padding: 20px var(--gut) 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; }
.chead h1 { font-stretch: 118%; font-weight: 800; font-size: 72px; line-height: 1; letter-spacing: -0.03em; overflow-wrap: anywhere; }
.chead .native { font-size: 22px; color: var(--muted); margin-top: 6px; }
.chead .what { margin-top: 14px; font-size: 21px; max-width: 46ch; }
.chead .facts { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 16px; font-size: 15px; color: var(--muted); }
.chead .facts b { color: var(--ink); font-weight: 600; }
.links { display: flex; gap: 10px; flex-wrap: wrap; }
.links a { height: 44px; padding: 0 16px; display: inline-flex; align-items: center; box-shadow: inset 0 0 0 1.5px var(--line); font-weight: 600; font-size: 15px; }
.links a:hover { box-shadow: inset 0 0 0 1.5px var(--ink); }

.round { margin: 40px var(--gut) 0; display: grid; grid-template-columns: minmax(300px, 380px) 1fr; color: #fff; }
.round.dark { color: var(--ink); }
.round .big { padding: 32px; border-right: 2px solid rgba(255,255,255,.35); min-width: 0; }
.round .big .num { font-size: clamp(44px, 5vw, 72px); line-height: .95; white-space: nowrap; }
.round .big .num.txt { font-size: 34px; font-stretch: 90%; line-height: 1.1; }
.round .big div:last-child { font-size: 18px; margin-top: 8px; }
.round .rest { display: grid; grid-template-columns: repeat(3, 1fr); }
.round .rest div { padding: 32px; border-right: 1px solid rgba(255,255,255,.25); }
.round.dark .rest div { border-color: rgba(23,32,51,.15); }
.round .rest div:last-child { border: 0; }
.round .rest small { display: block; font-size: 14px; opacity: .85; }
.round .rest b { display: block; margin-top: 6px; font-size: 20px; font-weight: 700; line-height: 1.25; }

.body { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 64px; padding: 56px var(--gut) 0; }
.body h2, .sec h2 { font-stretch: 112%; font-weight: 800; font-size: 28px; letter-spacing: -0.01em; margin-bottom: 18px; }
.body section + section { margin-top: 56px; }
.prose p { font-size: 17px; max-width: 66ch; }
.prose p + p, .prose ul + p, .prose p + ul { margin-top: 12px; }
.prose ul { padding-left: 20px; max-width: 66ch; font-size: 17px; }
.prose h2 { margin-top: 48px; }
.prose h3 { margin-top: 28px; font-size: 19px; font-weight: 700; margin-bottom: 8px; }
.ppl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; background: var(--line); }
.ppl > div { background: #fff; padding: 20px 20px 20px 0; display: flex; gap: 16px; align-items: center; }
.ppl > div:nth-child(2n) { padding-left: 20px; }
.ppl .ph { width: 56px; height: 56px; background: var(--mist); display: grid; place-items: center; font-weight: 700; color: var(--muted); flex: none; }
.ppl .nm { font-weight: 700; font-size: 17px; }
.ppl .rl { color: var(--muted); font-size: 14px; }
.tl { position: relative; padding-left: 28px; }
.tl::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: var(--line); }
.tl > div { position: relative; padding: 0 0 22px; }
.tl > div::before { content: ""; position: absolute; left: -27px; top: 6px; width: 14px; height: 14px; background: #fff; box-shadow: inset 0 0 0 3px var(--c, var(--ink)); }
.tl > div.now::before { background: var(--c, var(--ink)); }
.tl .when { color: var(--muted); font-size: 14px; }
.tl .what { font-weight: 700; font-size: 18px; }
.src a { display: grid; grid-template-columns: 170px 1fr 70px; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.src a:hover span:nth-child(2) { box-shadow: inset 0 -1.5px 0 var(--ink); }
.src a span:first-child { font-weight: 600; }
.src a span:last-child { color: var(--muted); text-align: right; }
aside .panel { background: var(--mist); padding: 26px; }
aside .panel + .panel { margin-top: 24px; }
aside h3 { font-size: 18px; font-weight: 700; margin-bottom: 12px; }
aside .panel p { font-size: 15px; color: var(--muted); }
.sim { display: grid; grid-template-columns: 1fr auto; gap: 0 12px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 15px; }
.sim .num { font-size: 18px; }
.sim small { grid-column: 1 / -1; color: var(--muted); font-size: 13px; }
.sim a:hover { box-shadow: inset 0 -1.5px 0 var(--ink); }

/* ---------- analysis / generic sections ---------- */
.intro { padding: 48px var(--gut) 0; }
.intro .kind { color: var(--muted); font-size: 15px; }
.intro h1 { margin-top: 10px; font-stretch: 116%; font-weight: 800; font-size: 54px; line-height: 1.04; letter-spacing: -0.025em; max-width: 22ch; }
.intro p.lede { margin-top: 14px; font-size: 18px; color: var(--muted); max-width: 64ch; }
.kpis { display: grid; grid-template-columns: repeat(4, 1fr); margin: 36px var(--gut) 0; border-top: 2px solid var(--ink); }
.kpis div { padding: 18px 20px 0 0; }
.kpis .num { font-size: 46px; line-height: 1; }
.kpis small { display: block; margin-top: 6px; color: var(--muted); font-size: 14px; }
.charts { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; padding: 56px var(--gut) 0; }
.charts h2, .sec h2 { font-stretch: 112%; font-weight: 800; font-size: 26px; letter-spacing: -0.01em; }
.cap { color: var(--muted); font-size: 14px; margin: 4px 0 18px; }
.hb { display: grid; grid-template-columns: 150px 1fr 76px; gap: 12px; align-items: center; margin-bottom: 10px; font-size: 15px; }
.hb .track { height: 26px; background: var(--mist); }
.hb .fill { height: 100%; }
.hb .num { text-align: right; font-size: 18px; }
.hb small { color: var(--muted); font-size: 13px; }
.cols { display: flex; align-items: end; gap: 10px; height: 200px; border-bottom: 1.5px solid var(--ink); }
.cols div { flex: 1; background: var(--ink); position: relative; min-height: 2px; }
.cols div span { position: absolute; top: -22px; left: 0; right: 0; text-align: center; font-size: 13px; font-stretch: 75%; font-weight: 700; }
.cl { display: flex; gap: 10px; margin-top: 8px; font-size: 13px; color: var(--muted); }
.cl span { flex: 1; text-align: center; }
.sec { padding: 56px var(--gut) 0; }
.inv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--line); margin-top: 18px; }
.inv div { background: #fff; padding: 18px 18px 18px 0; }
.inv div:not(:nth-child(3n+1)) { padding-left: 18px; }
.inv b { display: block; font-size: 18px; }
.inv span { color: var(--muted); font-size: 14px; }
.inv .num { font-size: 32px; display: block; color: var(--ink); }

/* jobs / simple pages */
.panel-cta { margin: 48px var(--gut) 0; padding: 32px; background: var(--mist); max-width: 860px; }
.panel-cta h2 { font-stretch: 112%; font-weight: 800; font-size: 26px; }
.panel-cta p { margin-top: 8px; max-width: 62ch; }
.narrow { padding: 48px var(--gut) 0; max-width: calc(780px + 2 * var(--gut)); }
.narrow h1 { font-stretch: 116%; font-weight: 800; font-size: 54px; line-height: 1.04; letter-spacing: -0.025em; }

@media (max-width: 1100px) {
  :root { --gut: 32px; }
  .hero { grid-template-columns: 1fr; gap: 24px; }
  .three { grid-template-columns: 1fr; gap: 40px; }
  .page { grid-template-columns: 1fr; gap: 24px; }
  .filters { position: static; border-right: 0; padding-right: 0; max-height: none; }
  .body { grid-template-columns: 1fr; }
  .round { grid-template-columns: 1fr; }
  .round .big { border-right: 0; border-bottom: 2px solid rgba(255,255,255,.35); }
  .charts { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  :root { --gut: 16px; }
  .top { height: auto; min-height: 60px; gap: 12px; flex-wrap: wrap; padding-top: 10px; padding-bottom: 0; }
  .brand { font-size: 16px; }
  .top .btn { height: 38px; padding: 0 14px; font-size: 14px; }
  .nav { order: 3; width: 100%; gap: 22px; overflow-x: auto; height: 44px; }
  .nav a.on { box-shadow: inset 0 -3px 0 var(--ink); }
  .foot { flex-direction: column; gap: 24px; padding: 32px var(--gut) 48px; }
  .hero { padding-top: 20px; }
  .dayline { font-size: 13px; flex-direction: column; gap: 6px; } .daynav { gap: 10px; }
  h1.say { font-size: 40px; }
  .sub { font-size: 16px; }
  .legend a { grid-template-columns: 6px 96px 1fr; padding: 7px 0; }
  .legend a .n { font-size: 21px; }
  #map { height: 380px; }
  .t { padding: 10px; } .t .amt { font-size: 26px; } .t .cn { font-size: 13px; }
  .three { padding-top: 48px; }
  .three .co { font-size: 26px; }
  .listing { padding-top: 56px; } .listing h2 { font-size: 26px; }
  .join { margin-top: 56px; padding: 28px 20px; grid-template-columns: 1fr; gap: 24px; }
  .join h2 { font-size: 30px; }
  .dayhead { flex-direction: column; align-items: start; }
  .dayhead h1 { font-size: 34px; }
  .bar a { padding: 0 6px; } .bar a span { display: none; }
  .rounds .hide-s, .srct .hide-s { display: none; }
  .chead { grid-template-columns: 1fr; } .chead h1 { font-size: 44px; }
  .round .rest { grid-template-columns: 1fr; }
  .round .rest div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.25); padding: 20px 24px; }
  .round .big { padding: 24px; } .round .big .num { font-size: 56px; }
  .ppl { grid-template-columns: 1fr; } .ppl > div:nth-child(2n) { padding-left: 0; }
  .src a { grid-template-columns: 1fr; gap: 2px; } .src a span:last-child { text-align: left; }
  .intro h1, .narrow h1 { font-size: 36px; }
  .kpis { grid-template-columns: 1fr 1fr; } .kpis div { padding-bottom: 16px; } .kpis .num { font-size: 34px; }
  .hb { grid-template-columns: 110px 1fr 64px; }
  .inv { grid-template-columns: 1fr; } .inv div:not(:nth-child(3n+1)) { padding-left: 0; }
}

/* About: one expandable card per region; an open card spans the full row and lists its sources */
.regcards { display: grid; grid-auto-flow: dense; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 24px var(--gut) 8px; max-width: 1180px; }
.regcard { border: 1px solid var(--line); border-radius: 12px; background: #fff; transition: box-shadow .15s; }
.regcard:hover { box-shadow: 0 2px 10px rgba(16, 24, 40, .08); }
.regcard[open] { grid-column: 1 / -1; }
.regcard summary { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "name num" "meta meta" "hint hint"; row-gap: 6px; padding: 20px 22px; cursor: pointer; list-style: none; }
.regcard summary::-webkit-details-marker { display: none; }
.regcard .rname { grid-area: name; font-size: 22px; font-weight: 700; letter-spacing: -.01em; }
.regcard .rnum { grid-area: num; font-size: 34px; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.regcard .rmeta { grid-area: meta; color: var(--muted); font-size: 15px; }
.regcard .rhint { grid-area: hint; margin-top: 10px; font-size: 14px; font-weight: 600; }
.regcard .rhint::after { content: " +"; }
.regcard[open] .rhint { font-size: 0; }
.regcard[open] .rhint::after { content: "Close –"; font-size: 14px; }
.regcard .srct { width: calc(100% - 44px); margin: 0 22px 20px; }
.srct { border-collapse: collapse; font-size: 15px; }
.srct th { text-align: left; font-weight: 600; color: var(--muted); padding: 6px 12px 6px 0; border-bottom: 1px solid var(--line); }
.srct td { padding: 7px 12px 7px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.srct td small { display: block; color: var(--muted); font-size: 13px; }
@media (max-width: 860px) { .regcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .regcards { grid-template-columns: 1fr; } .regcard .srct { width: calc(100% - 32px); margin: 0 16px 16px; } .regcard summary { padding: 18px 16px; } }
.regcard .rnum small { display: block; font-size: 12px; font-weight: 600; color: var(--muted); text-align: right; margin-top: 4px; letter-spacing: .02em; }

/* ---------- daily editions ---------- */
.edfeed { padding: 32px var(--gut) 0; display: grid; gap: 20px; }
.edfeed.list { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); padding-top: 32px; }
.edcard { display: grid; gap: 10px; padding: 26px 28px; border: 1px solid var(--line); border-left: 6px solid var(--ink); background: #fff; color: var(--ink); text-decoration: none; transition: box-shadow .15s; }
.edcard:hover { box-shadow: 0 6px 24px rgba(23,32,51,.10); }
.edcard .kick, .ed .kick { font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.edcard b:first-of-type { font-stretch: 112%; font-weight: 800; font-size: 28px; line-height: 1.15; letter-spacing: -0.015em; }
.edcard .dek { color: var(--muted); font-size: 16px; }
.edcard .stats { display: flex; gap: 28px; flex-wrap: wrap; font-size: 14px; color: var(--muted); }
.edcard .stats b { color: var(--ink); font-size: 20px; margin-right: 4px; }
.edcard .more { font-weight: 700; font-size: 15px; text-decoration: underline; }
.ed { max-width: 860px; margin: 0 auto; padding: 48px 24px 0; }
.ed-h h1 { margin-top: 10px; font-stretch: 112%; font-weight: 850; font-size: clamp(32px, 4.4vw, 50px); line-height: 1.06; letter-spacing: -0.02em; }
.ed-h .dek { margin-top: 16px; font-size: 19px; color: var(--muted); }
.viz { margin-top: 36px; display: grid; gap: 22px; }
.viz figure { margin: 0; border: 1px solid var(--line); background: #fff; }
.viz svg { display: block; width: 100%; height: auto; }
.ed-toc { position: sticky; top: 0; z-index: 5; margin-top: 36px; padding: 12px 0; background: #fff; border-bottom: 1px solid var(--line); display: flex; gap: 10px; flex-wrap: wrap; }
.ed-toc a { padding: 6px 12px; border: 1px solid var(--line); border-left: 4px solid var(--c); font-size: 14px; font-weight: 600; color: var(--ink); text-decoration: none; }
.ed-toc small { color: var(--muted); font-weight: 500; }
.reg { margin-top: 48px; scroll-margin-top: 70px; }
.reg > h2 { font-stretch: 112%; font-weight: 800; font-size: 30px; padding-bottom: 10px; border-bottom: 4px solid var(--c); }
.reg h2 small, .ctry h3 small { font-size: 15px; font-weight: 500; color: var(--muted); margin-left: 6px; letter-spacing: 0; }
.ctry { margin-top: 28px; }
.ctry > h3 { font-size: 20px; font-weight: 750; color: var(--muted); }
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); gap: 16px; margin-top: 14px; align-items: start; }
.su { background: var(--card, #fff); border: 1px solid var(--line); border-top: 4px solid var(--c, var(--ink)); border-radius: 10px; padding: 18px 20px 14px; box-shadow: 0 1px 2px rgba(0,0,0,.05); min-width: 0; }
.su-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.su h4 { font-stretch: 112%; font-weight: 800; font-size: 21px; line-height: 1.15; }
.su h4 a { color: var(--ink); text-decoration: none; }
.su h4 a:hover { text-decoration: underline; }
.su .chip { background: var(--mist); border-radius: 999px; padding: 4px 12px; font-size: 14px; white-space: nowrap; }
.su p { margin-top: 10px; font-size: 15.5px; line-height: 1.5; }
.su .what { font-weight: 600; }
.su .uq { background: var(--mist); padding: 10px 12px; border-radius: 6px; }
.su dl { margin-top: 12px; display: grid; grid-template-columns: 120px 1fr; gap: 5px 12px; font-size: 14px; }
.su dt { color: var(--muted); }
.su dd { margin: 0; overflow-wrap: anywhere; }
.su dd a, .su .fd a, .su .srcs a { color: var(--ink); }
.su .fd { margin-top: 10px; font-size: 14px; }
.su .fd ul { margin: 6px 0 0; padding-left: 18px; }
.su .fd .pl { color: var(--muted); font-size: 13px; }
.su .story { margin-top: 10px; font-size: 15px; }
.su .story summary { cursor: pointer; font-weight: 650; color: var(--muted); }
.su .srcs { font-size: 13px; color: var(--muted); border-top: 1px solid var(--line); padding-top: 8px; margin-top: 12px; }
@media (max-width: 520px) { .su dl { grid-template-columns: 1fr; } .su dt { margin-top: 4px; } }
.ed-nav { margin-top: 56px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 12px; font-weight: 600; }
@media (max-width: 760px) {
  .edfeed.list { grid-template-columns: 1fr; }
  .edcard { padding: 20px; } .edcard b:first-of-type { font-size: 23px; }
  .ed { padding: 28px 16px 0; }
  .su dl { grid-template-columns: 1fr; gap: 2px; } .su dt { margin-top: 6px; }
}

/* ===== 2026-10 redesign: content units, tiles, ranked bars, chart cards ===== */
:root { --bg2: #f7f8fa; --link: #1a56db; }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
.hero2 { padding: 64px 0 8px; }
.hero2 .kick { font-size: 13px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.hero2 h1 { font-size: 50px; line-height: 1.04; font-stretch: 118%; font-weight: 800; letter-spacing: -.015em; margin-top: 14px; max-width: 860px; }
.hero2 .lede { font-size: 19px; color: var(--muted); margin-top: 16px; max-width: 680px; line-height: 1.5; }
.hero2 .acts { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.btn2 { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; padding: 11px 20px; font-weight: 650; font-size: 15px; border: 1px solid var(--ink); }
.btn2.dark { background: var(--ink); color: #fff; }
.btn2 svg, .csv svg { width: 17px; height: 17px; }
.stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 36px; }
.stats > div { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 22px 24px; }
.stats .sv { display: block; font-size: 40px; font-weight: 800; font-stretch: 110%; letter-spacing: -.01em; line-height: 1.1; }
.stats .sl { display: block; color: var(--muted); margin-top: 6px; font-size: 15px; }
.block { margin-top: 64px; }
.block > h2, .h2row h2 { font-size: 28px; font-weight: 800; font-stretch: 112%; letter-spacing: -.005em; }
.block > .sub2 { color: var(--muted); margin-top: 6px; font-size: 16px; }
.tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.tile { background: #fff; border: 1px solid var(--line); border-top: 5px solid var(--c); border-radius: 14px; padding: 20px 22px; display: flex; flex-direction: column; gap: 6px; min-width: 0; transition: box-shadow .15s; }
.tile:hover { box-shadow: 0 4px 16px rgba(23,32,51,.08); }
.tile .rn { font-weight: 650; font-size: 16px; }
.tile .rv { font-size: 30px; font-weight: 800; font-stretch: 108%; line-height: 1.15; overflow-wrap: anywhere; }
.tile .rc { color: var(--muted); font-size: 14px; }
.track { display: block; height: 6px; background: var(--mist); border-radius: 6px; margin-top: 8px; overflow: hidden; }
.track > span { display: block; height: 100%; background: var(--c); border-radius: 6px; }
.rbars { list-style: none; padding: 8px 24px; margin-top: 18px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.rbars li { display: grid; grid-template-columns: minmax(120px, 190px) 1fr 96px 84px; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--mist); font-size: 15px; }
.rbars li:last-child { border-bottom: 0; }
.rbars .cn { min-width: 0; overflow-wrap: break-word; hyphens: manual; }
.rbars .cb { height: 12px; background: var(--mist); border-radius: 4px; overflow: hidden; }
.rbars .cb > span { display: block; height: 100%; background: var(--c); border-radius: 4px; }
.rbars .cv { font-weight: 700; text-align: right; white-space: nowrap; }
.rbars .cc { color: var(--muted); font-size: 13.5px; text-align: right; white-space: nowrap; }
.dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--c); margin-right: 8px; vertical-align: 1px; }
.h2row { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.csv { display: inline-flex; align-items: center; gap: 8px; font-weight: 650; font-size: 15px; border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 9px 16px; }
.csv:hover { border-color: var(--ink); }
.list .chips { display: flex; gap: 8px; margin-top: 16px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.list .chips::-webkit-scrollbar { display: none; }
.list .chips button { white-space: nowrap; border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 8px 14px; font-size: 14px; cursor: pointer; }
.list .chips button.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.list .chips button.on .dot { box-shadow: 0 0 0 2px #fff; }
.units { display: flex; flex-direction: column; gap: 20px; margin-top: 20px; }
.unit { background: #fff; border: 1px solid var(--line); border-left: 5px solid var(--c); border-radius: 16px; padding: 28px 32px; min-width: 0; }
.unit .u-h { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; }
.unit .who { min-width: 0; }
.unit h3, .unit h4 { font-size: 28px; font-weight: 800; font-stretch: 112%; line-height: 1.1; text-transform: none; letter-spacing: -.005em; color: var(--ink); }
.unit h3 a, .unit h4 a { color: var(--ink); }
.unit h3 a:hover, .unit h4 a:hover { text-decoration: underline; }
.unit .native { font-size: 17px; font-weight: 500; color: var(--muted); margin-left: 10px; font-stretch: 100%; }
.unit .dom { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin-top: 8px; font-size: 15px; color: var(--muted); }
.unit .dom > a { color: var(--link); }
.icons, .pl { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.ic { display: inline-flex; width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 8px; align-items: center; justify-content: center; color: var(--ink); background: #fff; }
.ic:hover { border-color: var(--ink); }
.ic svg { width: 15px; height: 15px; fill: currentColor; }
.unit .money { text-align: right; flex-shrink: 0; max-width: 45%; }
.unit .amt { font-size: 34px; font-weight: 800; font-stretch: 108%; line-height: 1.1; }
.unit .amt.na { font-size: 20px; color: var(--muted); font-weight: 650; }
.unit .stg { color: var(--muted); font-size: 15px; margin-top: 4px; }
.unit .what { font-size: 18px; line-height: 1.55; margin-top: 18px; max-width: 780px; }
.unit .diff { background: var(--bg2); border-radius: 10px; padding: 14px 18px; margin-top: 14px; font-size: 16px; line-height: 1.5; }
.unit .diff b, .unit .use b { display: block; font-size: 12.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 4px; font-weight: 650; }
.unit .facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--mist); }
.unit dt, .unit .people h4 { font-size: 12.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); font-weight: 650; font-stretch: 100%; }
.unit dd { margin: 6px 0 0; font-size: 16px; overflow-wrap: anywhere; }
.unit dd a { color: var(--link); }
.unit .people { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--mist); }
.unit .fl { list-style: none; padding: 0; margin-top: 10px; }
.unit .fl li { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; padding: 6px 0; font-size: 16px; }
.unit .pn { font-weight: 650; }
.unit .pr { color: var(--muted); font-size: 14px; }
.unit .people p { margin-top: 10px; font-size: 16px; line-height: 1.55; }
.unit .tag { display: inline-block; font-size: 12px; font-weight: 700; background: var(--ink); color: #fff; border-radius: 6px; padding: 2px 8px; margin-right: 8px; vertical-align: 1px; }
.unit .tag.alt { background: var(--mist); color: var(--ink); }
.unit .none, .muted { color: var(--muted); font-size: 15px; }
.unit .use { margin-top: 18px; font-size: 15px; line-height: 1.55; }
.more-wrap { text-align: center; margin-top: 24px; }
.more-btn { border: 1px solid var(--ink); background: #fff; border-radius: 999px; padding: 11px 22px; font-weight: 650; cursor: pointer; }
.unit[data-hide] { display: none; }
/* edition page: units inside country sections */
.ed .units { gap: 16px; }
/* analysis grid */
.cgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.ccard { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 20px 22px; min-width: 0; display: flex; flex-direction: column; }
.ccard.wide { grid-column: span 2; }
.ccard h3 { font-size: 17px; font-weight: 750; line-height: 1.25; }
.ccard .cap { color: var(--muted); font-size: 13.5px; margin-top: 4px; line-height: 1.45; }
.ccard .cbody { margin-top: 14px; }
.ccard .rbars { border: 0; padding: 0; margin: 0; }
.ccard .rbars li { grid-template-columns: minmax(70px, 36%) 1fr 64px; gap: 10px; padding: 7px 0; font-size: 13.5px; }
.ccard .rbars .cc { display: none; }
.ccard .rbars .cb { height: 9px; }
.bignum { font-size: 44px; font-weight: 800; font-stretch: 108%; line-height: 1.05; }
.bignum small { display: block; font-size: 14px; font-weight: 500; color: var(--muted); font-stretch: 100%; margin-top: 6px; line-height: 1.4; }
.stack .srow { display: grid; grid-template-columns: minmax(70px, 34%) 1fr; gap: 10px; align-items: center; padding: 6px 0; font-size: 13.5px; }
.stack .sbar { display: flex; height: 14px; border-radius: 4px; overflow: hidden; background: var(--mist); }
.stack .sbar span { display: block; height: 100%; }
.legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 12px; font-size: 12.5px; color: var(--muted); }
.legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.donut { display: flex; align-items: center; gap: 18px; }
.donut svg { width: 120px; height: 120px; flex-shrink: 0; }
.donut .legend { flex-direction: column; margin: 0; font-size: 13.5px; color: var(--ink); }
/* about: process blocks and pipeline schematic */
.about2 .lede { font-size: 20px; line-height: 1.55; color: var(--ink); max-width: 760px; margin-top: 16px; }
.about2 .lede + p { color: var(--muted); font-size: 17px; margin-top: 12px; max-width: 760px; line-height: 1.6; }
.kpis2 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 28px; }
.kpis2 > div { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; }
.kpis2 b { display: block; font-size: 34px; font-weight: 800; font-stretch: 108%; line-height: 1.1; }
.kpis2 span { color: var(--muted); font-size: 14px; }
.pipe { margin-top: 22px; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 26px; }
.pipe .orch { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 14px; color: var(--muted); padding-bottom: 18px; border-bottom: 1px dashed var(--line); }
.pipe .orch b { color: var(--ink); }
.pipe .orch .pill { background: var(--ink); color: #fff; border-radius: 999px; padding: 4px 12px; font-weight: 650; font-size: 13px; }
.pipe ol { list-style: none; padding: 0; margin-top: 20px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; counter-reset: s; position: relative; }
.pipe li { position: relative; background: var(--bg2); border: 1px solid var(--line); border-top: 4px solid var(--c); border-radius: 12px; padding: 16px 14px 14px; min-width: 0; }
.pipe li::after { content: ""; position: absolute; right: -12px; top: 38px; width: 10px; height: 10px; border-top: 2px solid var(--muted); border-right: 2px solid var(--muted); transform: rotate(45deg); }
.pipe li:last-child::after { display: none; }
.pipe .n { font-size: 12px; font-weight: 700; color: var(--muted); letter-spacing: .06em; }
.pipe h3 { font-size: 17px; font-weight: 800; margin-top: 4px; line-height: 1.2; }
.pipe p { font-size: 13.5px; line-height: 1.45; margin-top: 8px; color: var(--ink); }
.pipe .tool { display: inline-block; margin-top: 10px; font-size: 12px; font-weight: 650; background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 2px 8px; color: var(--muted); }
.pipe .out { margin-top: 18px; display: flex; gap: 12px; flex-wrap: wrap; font-size: 14px; color: var(--muted); }
.pipe .out span { border: 1px solid var(--line); border-radius: 999px; padding: 6px 12px; background: #fff; }
.pblocks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 22px; }
.pblock { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px 26px; min-width: 0; }
.pblock .pk { display: inline-flex; align-items: center; gap: 10px; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.pblock .pk i { width: 26px; height: 26px; border-radius: 8px; background: var(--c); display: inline-block; }
.pblock h3 { font-size: 22px; font-weight: 800; font-stretch: 108%; margin-top: 10px; line-height: 1.2; }
.pblock p, .pblock li { font-size: 16px; line-height: 1.6; margin-top: 10px; }
.pblock ul { padding-left: 18px; margin-top: 4px; }
.pblock li { margin-top: 8px; }
.pblock.wide { grid-column: 1 / -1; }
.pblock a { box-shadow: inset 0 -1.5px 0 currentColor; }
@media (max-width: 1000px) {
  .pipe ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pipe li:nth-child(3)::after { display: none; }
  .cgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .wrap { padding: 0 16px; }
  .hero2 { padding-top: 36px; }
  .hero2 h1 { font-size: 32px; }
  .hero2 .lede { font-size: 17px; }
  .stats { gap: 10px; }
  .stats > div { padding: 14px; }
  .stats .sv { font-size: 22px; }
  .stats .sl { font-size: 13px; }
  .block { margin-top: 44px; }
  .block > h2, .h2row h2 { font-size: 23px; }
  .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .tile { padding: 14px; }
  .tile .rv { font-size: 21px; }
  .tile .rn { font-size: 14px; }
  .tile .rc { font-size: 12.5px; }
  .rbars { padding: 4px 14px; }
  .rbars li { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; }
  .rbars .cb { grid-column: 1 / -1; order: 3; }
  .rbars .cc { display: none; }
  .unit { padding: 22px 18px; border-radius: 14px; }
  .unit .u-h { flex-direction: column; gap: 10px; }
  .unit .money { text-align: left; max-width: none; }
  .unit h3, .unit h4 { font-size: 24px; }
  .unit .native { display: block; margin: 4px 0 0; }
  .unit .amt { font-size: 28px; }
  .unit .what { font-size: 16.5px; }
  .unit .facts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .unit .facts > div:last-child { grid-column: 1 / -1; }
  .unit .people { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .cgrid { grid-template-columns: minmax(0, 1fr); }
  .ccard.wide { grid-column: auto; }
  .kpis2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pipe { padding: 18px; }
  .pipe ol { grid-template-columns: minmax(0, 1fr); }
  .pipe li::after { right: auto; left: 50%; top: auto; bottom: -12px; transform: translateX(-50%) rotate(135deg); }
  .pipe li:nth-child(3)::after { display: block; }
  .pblocks { grid-template-columns: minmax(0, 1fr); }
}
.about2 .regcards { padding: 20px 0 8px; max-width: none; }
.daynav2 { display: flex; justify-content: space-between; margin-top: 32px; font-weight: 650; }
.daynav2 a { border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; background: #fff; }
/* jobs */
.jobs2 .roles { list-style: none; padding: 0; }
.keyroles { margin-top: 18px; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 4px 24px; }
.role { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--mist); }
.role:last-child { border-bottom: 0; }
.role .rt { min-width: 0; }
.rtitle { font-size: 17px; font-weight: 700; }
.rtitle:hover { text-decoration: underline; }
.rco { color: var(--muted); margin-left: 8px; font-size: 15px; }
.rco a { color: var(--ink); font-weight: 600; }
.rmeta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin-top: 6px; font-size: 13.5px; color: var(--muted); }
.jtag { font-size: 12px; font-weight: 700; border-radius: 6px; padding: 2px 8px; background: var(--mist); color: var(--ink); }
.jtag.t-founding { background: #172033; color: #fff; }
.jtag.t-remote { background: #e0f2f1; color: #00695c; }
.jtag.t-fractional { background: #ede7f6; color: #5e35b1; }
.apply { flex-shrink: 0; border: 1px solid var(--ink); border-radius: 999px; padding: 8px 16px; font-weight: 650; font-size: 14px; }
.apply:hover { background: var(--ink); color: #fff; }
.tabs { display: flex; gap: 8px; border-bottom: 1px solid var(--line); }
.tabs button { border: 0; background: none; font-size: 18px; font-weight: 750; padding: 12px 4px; margin-right: 18px; cursor: pointer; color: var(--muted); box-shadow: inset 0 -3px 0 transparent; }
.tabs button.on { color: var(--ink); box-shadow: inset 0 -3px 0 var(--ink); }
.tabs small { font-size: 14px; font-weight: 600; color: var(--muted); margin-left: 4px; }
.jlist .chips { display: flex; gap: 8px; margin-top: 16px; overflow-x: auto; scrollbar-width: none; }
.jlist .chips button { white-space: nowrap; border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 8px 14px; font-size: 14px; cursor: pointer; }
.jlist .chips button.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.toggles { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.toggles label { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line); background: #fff; border-radius: 10px; padding: 8px 12px; font-size: 14px; font-weight: 600; cursor: pointer; }
.hcos { display: flex; flex-direction: column; gap: 18px; margin-top: 20px; }
.hco { background: #fff; border: 1px solid var(--line); border-left: 5px solid var(--c); border-radius: 16px; padding: 24px 28px 8px; }
.hco header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.hco h3 { font-size: 24px; font-weight: 800; font-stretch: 110%; }
.hco h3 a:hover { text-decoration: underline; }
.hraised { color: var(--muted); font-size: 15px; margin-top: 4px; }
.hcount { text-align: right; flex-shrink: 0; }
.hcount b { display: block; font-size: 28px; font-weight: 800; line-height: 1; }
.hcount span { font-size: 13px; color: var(--muted); }
.hco .why { background: var(--bg2); border-radius: 10px; padding: 12px 16px; margin-top: 14px; font-size: 15px; line-height: 1.5; }
.hco .why b { display: block; font-size: 12.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 4px; }
.hco .roles { margin-top: 6px; }
.jempty { margin-top: 48px; background: #fff; border: 1px dashed var(--line); border-radius: 16px; padding: 28px; }
.jempty h3 { font-size: 20px; font-weight: 800; }
.jempty p { margin-top: 8px; color: var(--muted); max-width: 680px; line-height: 1.6; }
.jnone { margin-top: 20px; color: var(--muted); }
@media (max-width: 700px) {
  .keyroles { padding: 4px 16px; }
  .role { flex-direction: column; align-items: flex-start; gap: 10px; }
  .rco { display: block; margin: 4px 0 0; }
  .hco { padding: 18px 16px 4px; }
  .hco h3 { font-size: 21px; }
  .tabs button { font-size: 16px; margin-right: 10px; }
}
/* jobs: hiring signal cards and feed credit */
.sigs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.hsig { padding-bottom: 20px; }
.sigacts { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 14px; font-size: 14.5px; font-weight: 600; }
.sigacts a { color: var(--ink, #12203a); text-decoration: underline; text-underline-offset: 3px; }
.rmeta .via { color: var(--muted); font-style: italic; }
@media (max-width: 760px) { .sigs { grid-template-columns: minmax(0, 1fr); } }
/* ---------- card grid: key facts at a glance, full details in the side panel ---------- */
.wrap { max-width: 1240px; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 20px; align-items: stretch; }
.ed .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.card { position: relative; display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--c);
  border-radius: 14px; padding: 18px 20px 14px; cursor: pointer; transition: box-shadow .15s, transform .15s; }
.card:hover { box-shadow: 0 6px 24px rgba(23, 32, 51, .10); transform: translateY(-1px); }
.card[data-hide], .card[hidden] { display: none; }
.c-top { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; color: var(--muted); font-weight: 600; }
.c-where { display: inline-flex; align-items: center; gap: 6px; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c-where .dot { background: var(--c); }
.c-name { margin-top: 10px; font-size: 21px; font-weight: 800; font-stretch: 110%; line-height: 1.15; letter-spacing: -.005em; overflow-wrap: anywhere; }
.c-name a { color: var(--ink); }
.c-money { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin-top: 6px; }
.c-money b { font-size: 24px; font-weight: 800; font-stretch: 108%; line-height: 1.1; }
.c-money b.na { font-size: 17px; color: var(--muted); font-weight: 650; }
.c-money span { color: var(--muted); font-size: 14px; }
.c-what { margin-top: 10px; font-size: 15px; line-height: 1.5; color: #2c3647; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.scard .c-what { -webkit-line-clamp: 5; }
.c-what b { display: block; font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 2px; }
.c-facts { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--mist); display: grid; gap: 7px; }
.c-facts > div { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 8px; font-size: 14px; }
.c-facts dt { color: var(--muted); font-weight: 600; font-size: 12.5px; padding-top: 1px; }
.c-facts dd { margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c-foot { margin-top: auto; padding-top: 12px; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.c-foot .icons { display: flex; gap: 6px; }
.c-foot .ic svg { width: 17px; height: 17px; }
.c-open { border: 0; background: none; padding: 6px 0; font: inherit; font-size: 14px; font-weight: 700; color: var(--link); cursor: pointer; }
.card:hover .c-open { text-decoration: underline; }
/* job cards: the first three matching roles */
.roles.mini { list-style: none; padding: 0; margin-top: 12px; border-top: 1px solid var(--mist); }
.roles.mini .role { display: block; padding: 9px 0; border-bottom: 1px solid var(--mist); }
.roles.mini .role:last-child { border-bottom: 0; }
.roles.mini .role[hidden] { display: none; }
.roles.mini a { font-weight: 650; font-size: 15px; color: var(--ink); line-height: 1.35; }
.roles.mini .rmeta { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.c-more { font-size: 13.5px; color: var(--muted); font-weight: 600; margin-top: 4px; }
.hcos.cards, .sigs.cards { margin-top: 20px; }
/* side panel */
.pwrap { position: fixed; inset: 0; z-index: 100; }
.pwrap[hidden] { display: none; }
.pshade { position: absolute; inset: 0; background: rgba(15, 22, 36, .42); opacity: 0; transition: opacity .2s; }
.panel { position: absolute; top: 0; bottom: 0; left: 0; width: min(720px, 92vw); background: var(--paper); box-shadow: 8px 0 40px rgba(0, 0, 0, .18);
  transform: translateX(-100%); transition: transform .22s ease-out; display: flex; flex-direction: column; outline: none; }
.pwrap.on .pshade { opacity: 1; }
.pwrap.on .panel { transform: none; }
.pbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 20px; border-bottom: 1px solid var(--line); background: #fff; }
.pclose { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 8px 16px; font: inherit; font-weight: 650; cursor: pointer; }
.pfullpage { font-weight: 650; color: var(--link); }
.pbody { overflow-y: auto; padding: 20px 24px 40px; -webkit-overflow-scrolling: touch; }
.pbody .unit, .pbody .hco { border: 0; border-top: 5px solid var(--c); border-radius: 0; padding: 22px 4px 8px; }
.pbody .unit h2, .pbody .hco h2 { font-size: 28px; font-weight: 800; font-stretch: 112%; line-height: 1.1; }
.pbody .unit h2 a, .pbody .hco h2 a { color: var(--ink); }
.pbody .unit .facts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pbody .unit .facts > div:last-child { grid-column: 1 / -1; }
html.pnl-open { overflow: hidden; }
@media (max-width: 1100px) { .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .cards, .ed .cards { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .panel { width: 100vw; box-shadow: none; }
  .pbody { padding: 12px 16px 32px; }
  .pbody .unit .u-h { flex-direction: column; gap: 10px; }
  .pbody .unit .money { text-align: left; max-width: none; }
}
@media (prefers-reduced-motion: reduce) { .panel, .pshade, .card { transition: none; } }
/* top markets by funding: top 6 countries beside the region tiles (Africa as a tall third column) */
.markets { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 18px; margin-top: 18px; align-items: stretch; }
.markets .rbars { margin-top: 0; display: flex; flex-direction: column; justify-content: space-between; }
.mtiles { margin-top: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 14px; }
.mtiles .tile { padding: 16px 18px; justify-content: space-between; }
.mtiles .tile .rv { font-size: 24px; }
.mtiles .t-africa { grid-column: 3; grid-row: 1 / 3; }
@media (max-width: 900px) {
  .markets { grid-template-columns: minmax(0, 1fr); }
  .mtiles { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .mtiles .t-africa { grid-column: 1 / -1; grid-row: auto; order: 5; }
}
/* ---------- finder: filter bar (Today), filter panel (Explore), selection and exports ---------- */
.pick { display: none; }
.finder-on .pick { display: block; position: absolute; top: 14px; right: 14px; width: 24px; height: 24px; border: 2px solid var(--line); border-radius: 7px; background: #fff; cursor: pointer; padding: 0; z-index: 2; }
.finder-on .pick:hover { border-color: var(--link); }
.finder-on .card .c-top { padding-right: 34px; }
.card.sel { box-shadow: 0 0 0 2px var(--link); }
.card.sel .pick { background: var(--link); border-color: var(--link); }
.card.sel .pick::after { content: ""; position: absolute; left: 6px; top: 2px; width: 6px; height: 11px; border: solid #fff; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }
.fbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 16px; }
.fsearch { flex: 1 1 280px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 999px; padding: 0 16px; background: #fff; min-width: 0; }
.fsearch svg { width: 18px; height: 18px; color: var(--muted); flex: none; }
.fsearch input { border: 0; outline: 0; font: inherit; font-size: 15px; padding: 11px 0; width: 100%; background: transparent; }
.fsearch:focus-within { border-color: var(--link); box-shadow: 0 0 0 3px rgba(26, 86, 219, .12); }
.fdd { position: relative; }
.fdd > summary { list-style: none; cursor: pointer; border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 10px 16px; font-weight: 600; font-size: 14.5px; display: inline-flex; gap: 8px; align-items: center; user-select: none; }
.fdd > summary::-webkit-details-marker { display: none; }
.fdd > summary::after { content: ""; width: 7px; height: 7px; border: solid var(--muted); border-width: 0 2px 2px 0; transform: rotate(45deg) translateY(-2px); }
.fdd.on > summary { border-color: var(--ink); background: var(--ink); color: #fff; }
.fdd.on > summary::after { border-color: #fff; }
.fn:empty { display: none; }
.fn { background: var(--link); color: #fff; border-radius: 999px; font-size: 12px; min-width: 20px; height: 20px; display: inline-grid; place-items: center; padding: 0 6px; }
.fgrp .fn { margin-left: 8px; }
.fmenu { position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; min-width: 260px; max-width: 340px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 14px 40px rgba(23, 32, 51, .16); padding: 12px 14px; }
.fdd[data-dd="more"] .fmenu, .fdd[data-dd="investor"] .fmenu { right: 0; left: auto; }
.fmenu h5 { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin: 12px 0 6px; }
.fmenu h5:first-child { margin-top: 2px; }
.fol { display: grid; gap: 2px; }
.fol.long { max-height: 300px; overflow-y: auto; padding-right: 4px; }
.fo { display: flex; align-items: center; gap: 10px; padding: 6px 4px; border-radius: 8px; cursor: pointer; font-size: 14.5px; }
.fo:hover { background: var(--bg2); }
.fo[hidden] { display: none; }
.fo input { width: 17px; height: 17px; accent-color: var(--link); margin: 0; flex: none; }
.fo span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fo small { color: var(--muted); font-size: 13px; }
.fo .dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; flex: none; }
.fin, .fsub, .frng select, .fsort select { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 9px 12px; font: inherit; font-size: 14.5px; background: #fff; }
.fsub { margin-bottom: 8px; }
.frng { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.fseg { display: flex; flex-wrap: wrap; gap: 6px; }
.fseg label { cursor: pointer; }
.fseg input { position: absolute; opacity: 0; pointer-events: none; }
.fseg span { display: inline-block; border: 1px solid var(--line); border-radius: 999px; padding: 6px 12px; font-size: 13.5px; font-weight: 600; }
.fseg input:checked + span { background: var(--ink); color: #fff; border-color: var(--ink); }
.fseg input:focus-visible + span { outline: 3px solid var(--europe); outline-offset: 2px; }
.fact { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; font-size: 14px; min-height: 32px; }
.chipx { border: 0; background: #e8eefc; color: #1e3a8a; border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.chipx:hover { background: #d6e1fb; }
.fact .clr, .fclear, .lnk { border: 0; background: none; color: var(--link); font: inherit; font-weight: 650; cursor: pointer; padding: 4px 2px; }
.fact .cnt { margin-left: auto; color: var(--muted); font-weight: 600; }
/* explore */
.xwrap { max-width: 1360px; margin: 0 auto; padding: 32px 24px 120px; display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 28px; }
.xhead { grid-column: 1 / -1; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.xhead h1 { font-size: 44px; font-weight: 850; font-stretch: 112%; letter-spacing: -.02em; line-height: 1.05; }
.xhead p { color: var(--muted); margin-top: 8px; font-size: 17px; max-width: 760px; }
.xfbtn { display: none; }
.fpanel { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 4px 18px 14px; align-self: start; position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow-y: auto; }
.fpanel .ph { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; }
.fpanel .ph b { font-size: 17px; }
.fpanel .fclose { display: none; }
.fpanel .fsearch { margin-bottom: 4px; border-radius: 10px; }
.fpanel .fsearch input { padding: 9px 0; font-size: 14.5px; }
.fgrp { border-top: 1px solid var(--mist); padding: 10px 0; }
.fgrp > summary { list-style: none; cursor: pointer; font-size: 12.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); font-weight: 700; display: flex; align-items: center; padding: 4px 0; }
.fgrp > summary::-webkit-details-marker { display: none; }
.fgrp > summary::after { content: "+"; margin-left: auto; font-size: 17px; }
.fgrp[open] > summary::after { content: "–"; }
.fgrp[open] > summary { margin-bottom: 8px; }
.fgrp.on > summary { color: var(--ink); }
.xtop { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.xcount { font-size: 19px; }
.xtools { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.fsort { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; color: var(--muted); }
.fsort select { width: auto; border-radius: 999px; padding: 8px 12px; font-weight: 600; color: var(--ink); }
.xtools .btn2 { padding: 9px 16px; font-size: 14px; cursor: pointer; background: #fff; }
.lists .fmenu { right: 0; left: auto; }
.lmenu .li { display: flex; align-items: center; gap: 4px; }
.lmenu .li button { border: 0; background: none; font: inherit; text-align: left; padding: 8px 6px; border-radius: 8px; cursor: pointer; flex: 1; }
.lmenu .li button:hover { background: var(--bg2); }
.lmenu .li small { color: var(--muted); margin-left: 6px; }
.lmenu .del { flex: none !important; color: var(--muted); font-size: 18px; }
.lmenu p, .crm p { color: var(--muted); font-size: 13.5px; margin: 6px 4px; }
.xres .cards { margin-top: 14px; }
/* selection bar */
.selbar { position: fixed; left: 50%; transform: translateX(-50%); bottom: 20px; z-index: 60; background: var(--ink); color: #fff; border-radius: 16px; padding: 10px 12px 10px 20px;
  display: flex; gap: 8px; align-items: center; box-shadow: 0 12px 40px rgba(0, 0, 0, .28); white-space: nowrap; max-width: calc(100vw - 24px); }
.selbar[hidden] { display: none; }
.selbar .sn { font-size: 15.5px; margin-right: 8px; }
.selbar button, .selbar summary { border: 1px solid rgba(255, 255, 255, .35); background: transparent; color: #fff; border-radius: 999px; padding: 8px 14px; font: inherit; font-weight: 650; font-size: 14px; cursor: pointer; list-style: none; }
.selbar summary::-webkit-details-marker { display: none; }
.selbar .pri { background: #fff; color: var(--ink); border-color: #fff; }
.selbar .ghost, .selbar .x { border-color: transparent; opacity: .8; }
.selbar details { position: relative; }
.selbar .fmenu.up { top: auto; bottom: calc(100% + 10px); color: var(--ink); white-space: normal; display: grid; gap: 2px; min-width: 240px; }
.selbar .fmenu.up button { border: 0; color: var(--ink); text-align: left; border-radius: 8px; padding: 9px 10px; }
.selbar .fmenu.up button:hover { background: var(--bg2); }
body.has-sel { padding-bottom: 90px; }
/* panel extras */
.ppick { margin: 0 0 6px; cursor: pointer; background: #fff; }
.cpnote { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 3px 10px; font: inherit; font-size: 12.5px; font-weight: 650; cursor: pointer; color: var(--link); }
/* toast and dialog */
.wtoast { position: fixed; left: 50%; bottom: 90px; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; z-index: 120; background: #fff; color: var(--ink); border: 1px solid var(--line);
  border-radius: 12px; padding: 12px 16px; box-shadow: 0 10px 30px rgba(0, 0, 0, .16); font-size: 14.5px; max-width: min(560px, calc(100vw - 32px)); transition: opacity .2s, transform .2s; }
.wtoast.on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.wtoast a { color: var(--link); font-weight: 650; }
.wdlg { border: 0; border-radius: 16px; padding: 0; width: min(560px, calc(100vw - 32px)); box-shadow: 0 20px 60px rgba(0, 0, 0, .3); }
.wdlg::backdrop { background: rgba(15, 22, 36, .45); }
.wdlg form { padding: 22px 24px; display: grid; gap: 12px; }
.wdlg h3 { font-size: 20px; font-weight: 800; }
.wdlg p { color: var(--muted); font-size: 14.5px; line-height: 1.5; }
.wdlg code { background: var(--bg2); border-radius: 5px; padding: 1px 5px; font-size: 13px; }
.wdlg textarea { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 12px; font: inherit; font-size: 15px; line-height: 1.5; resize: vertical; }
.wdlg-a { display: flex; gap: 10px; align-items: center; }
.wdlg-a .len { margin-left: auto; color: var(--muted); font-size: 13px; }
.wdlg-a .reset { border: 0; background: none; color: var(--link); font: inherit; font-weight: 650; cursor: pointer; }
.wdlg-a .btn2 { cursor: pointer; background: #fff; }
.wdlg-a .btn2.dark { background: var(--ink); color: #fff; }
@media (max-width: 1100px) { .xres .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .xwrap { grid-template-columns: minmax(0, 1fr); padding-top: 20px; }
  .xhead h1 { font-size: 34px; }
  .xfbtn { display: inline-flex; cursor: pointer; background: #fff; }
  .fpanel { display: none; }
  html.fsheet .fpanel { display: block; position: fixed; inset: auto 0 0 0; top: 10vh; z-index: 110; max-height: none; border-radius: 18px 18px 0 0; box-shadow: 0 -10px 40px rgba(0, 0, 0, .25); }
  html.fsheet { overflow: hidden; }
  html.fsheet .fpanel .fclose { display: inline-flex; border: 0; background: var(--ink); color: #fff; border-radius: 999px; padding: 8px 16px; font: inherit; font-weight: 650; }
  html.fsheet .fpanel .ph { position: sticky; top: 0; background: #fff; z-index: 2; gap: 12px; }
  html.fsheet .fpanel .fclear { margin-left: auto; }
}
@media (max-width: 700px) {
  .fbar { gap: 8px; }
  .fsearch { flex-basis: 100%; }
  .fdd > summary { padding: 8px 13px; font-size: 14px; }
  .fdd[open] .fmenu { position: fixed; left: 0; right: 0; bottom: 0; top: auto; max-width: none; border-radius: 18px 18px 0 0; max-height: 70vh; overflow-y: auto; padding: 18px 16px 28px; z-index: 115; }
  .fact .cnt { margin-left: 0; width: 100%; }
  .xres .cards { grid-template-columns: minmax(0, 1fr); }
  .selbar { left: 8px; right: 8px; transform: none; bottom: 8px; flex-wrap: wrap; white-space: normal; padding: 10px 12px; gap: 6px; }
  .selbar .sn { width: 100%; }
  .selbar .ghost { display: none; }
}
.xwrap .fact .cnt { display: none; }
/* subscribe card pinned under the panel details */
.psub { position: relative; flex: none; border-top: 1px solid var(--line); background: var(--bg2); padding: 14px 52px 12px 24px; }
.psub p { font-size: 15px; line-height: 1.45; color: var(--ink); margin: 0 0 10px; }
.psub-form { min-height: 50px; }
.psub-form iframe { width: 100%; border: 0; display: block; }
.psub-x { position: absolute; top: 8px; right: 12px; border: 0; background: none; font-size: 24px; line-height: 1; color: var(--muted); cursor: pointer; padding: 4px 8px; }
.psub-x:hover { color: var(--ink); }
.psub-done { border: 0; background: none; padding: 6px 0 0; font: inherit; font-size: 12.5px; color: var(--muted); text-decoration: underline; cursor: pointer; }
@media (max-width: 700px) { .psub { padding: 12px 44px 10px 16px; } .psub p { font-size: 14px; } }
.psub[hidden] { display: block !important; position: absolute; left: -9999px; width: 600px; visibility: hidden; }
/* about: problem, solution, audience, delivery */
.about2 .hero2 h1 { max-width: 18ch; }
.abcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 22px; }
.abcards article { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px 24px 22px; }
.abn { display: inline-block; font-size: 12.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.abcards h3, .abwho h3, .abdeliver h3 { font-size: 20px; font-weight: 800; margin-top: 8px; line-height: 1.25; }
.abcards p, .abwho p, .abdeliver p { margin-top: 8px; font-size: 15.5px; line-height: 1.55; color: #2c3647; }
.abwho { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px 18px; margin-top: 22px; }
.abwho article { border-top: 4px solid var(--ink); padding-top: 14px; }
.abwho article:nth-child(5n+1) { border-color: #f9a825; } .abwho article:nth-child(5n+2) { border-color: #00897b; } .abwho article:nth-child(5n+3) { border-color: #3d5afe; }
.abwho article:nth-child(5n+4) { border-color: #e53935; } .abwho article:nth-child(5n+5) { border-color: #8e24aa; }
.abwho h3 { font-size: 18px; } .abwho p { font-size: 14.5px; }
.abdeliver { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-top: 22px; }
.abd { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px 18px 16px; color: var(--ink); transition: box-shadow .15s; }
.abd:hover { box-shadow: 0 6px 24px rgba(23, 32, 51, .10); }
.abd h3 { margin-top: 0; font-size: 18px; }
.abd p { font-size: 14.5px; flex: 1; }
.abd span { margin-top: 12px; color: var(--link); font-weight: 700; font-size: 14.5px; }
.about2 .kpis2 { margin: 18px 0 4px; }
/* jobs: one card per role */
.rolecard .c-name { font-size: 19px; }
.c-co { margin-top: 8px; font-size: 14.5px; color: var(--muted); } .c-co b { color: var(--ink); }
.rolecard .jtags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.c-loc { margin-top: 10px; font-size: 14px; color: var(--muted); }
.rolecard .apply { border: 1px solid var(--ink); border-radius: 999px; padding: 7px 14px; font-weight: 700; font-size: 14px; color: var(--ink); }
.rolecard .apply:hover { background: var(--ink); color: #fff; }
.rolecard[hidden] { display: none; }
.jfull { padding: 22px 4px 8px; border-top: 5px solid var(--c); }
.jfull .jk { font-size: 13.5px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.jfull h2 { font-size: 28px; font-weight: 800; line-height: 1.15; margin-top: 6px; }
.jfull .jtags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.japply { display: inline-flex; margin-top: 18px; padding: 13px 22px; font-size: 16px; }
.jfacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--mist); }
.jfacts dt { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); font-weight: 700; }
.jfacts dd { margin: 4px 0 0; font-size: 15.5px; }
.jco, .jother { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--mist); }
.jco h3, .jother h3 { font-size: 17px; font-weight: 800; }
.jraise { margin-top: 6px; color: #2c3647; }
.jco .why { margin-top: 12px; background: var(--bg2); border-radius: 10px; padding: 12px 16px; font-size: 15px; line-height: 1.5; }
.jco .why b { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 4px; }
.jlinks { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 12px; font-weight: 650; font-size: 14.5px; }
.jlinks a { color: var(--link); }
.jother ul { list-style: none; padding: 0; margin-top: 8px; }
.jother li { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--mist); }
.jother li a { font-weight: 650; color: var(--ink); }
.jvia { margin-top: 16px; color: var(--muted); font-size: 13.5px; }
@media (max-width: 1100px) { .abdeliver { grid-template-columns: repeat(3, minmax(0, 1fr)); } .abwho { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .abcards { grid-template-columns: minmax(0, 1fr); } .abwho { grid-template-columns: repeat(2, minmax(0, 1fr)); } .abdeliver { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .abdeliver, .abwho { grid-template-columns: minmax(0, 1fr); } .jfacts { grid-template-columns: minmax(0, 1fr); } }
/* ---------- about: metro tile grid ---------- */
.metro .mgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(170px, auto); gap: 12px; }
.metro .mt { border-radius: 4px; padding: 22px 22px 20px; display: flex; flex-direction: column; min-width: 0; background: #fff; color: var(--ink); }
.metro .mt h3 { font-size: 20px; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; }
.metro .mt p { margin-top: 8px; font-size: 15px; line-height: 1.45; opacity: .92; }
.metro .mn { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: .75; margin-bottom: 8px; }
.hero-m { margin-top: 40px; }
.m-hero { grid-column: span 2; grid-row: span 2; color: #fff; padding: 34px 34px 30px !important; justify-content: flex-end; }
.m-hero .mk { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #f9a825; }
.metro .m-hero h1 { color: #fff; font-size: clamp(34px, 3.6vw, 50px); font-weight: 850; line-height: 1.04; letter-spacing: -.025em; margin-top: 12px; }
.m-hero p { font-size: 17px !important; margin-top: 14px !important; color: #d5dbe3; opacity: 1 !important; }
.m-hero .acts { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 10px; }
.m-pri { background: #f9a825; color: #172033; border-color: #f9a825; }
.m-sec { color: #fff; border-color: rgba(255, 255, 255, .5); }
.m-sq { justify-content: space-between; }
.mbig { font-size: 40px; font-weight: 850; letter-spacing: -.02em; line-height: 1; }
.m-wide { grid-column: span 2; }
.m-stats { border: 1px solid var(--line); display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; gap: 10px; }
.m-stats b { display: block; font-size: 34px; font-weight: 850; letter-spacing: -.02em; }
.m-stats span { font-size: 13.5px; color: var(--muted); font-weight: 600; }
.mpairs { display: grid; gap: 12px; margin-top: 18px; }
.mpair { display: grid; grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr); align-items: stretch; gap: 0; }
.m-prob { background: var(--bg2) !important; border: 1px solid var(--line); }
.marrow { display: grid; place-items: center; font-size: 26px; font-weight: 800; color: var(--muted); }
.who-m { margin-top: 18px; grid-auto-rows: minmax(150px, auto); }
.m-who { justify-content: flex-end; }
.m-who.w2 { grid-column: span 2; }
.m-who h3 { font-size: 22px !important; }
.mflow { display: grid; grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1.4fr) 48px minmax(0, 1.3fr); align-items: stretch; margin-top: 18px; }
.mf-in, .mf-core { border-radius: 4px; padding: 22px; display: flex; flex-direction: column; justify-content: center; }
.mf-in { background: var(--bg2); border: 1px solid var(--line); }
.mf-in b { font-size: 30px; font-weight: 850; line-height: 1; margin-top: 10px; }
.mf-in span:not(.mn) { font-size: 13.5px; color: var(--muted); font-weight: 600; }
.mf-core { background: #172033; color: #fff; }
.mf-core h3 { font-size: 30px; font-weight: 850; }
.mf-core ol { list-style: none; padding: 0; margin-top: 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; counter-reset: s; }
.mf-core li { counter-increment: s; background: rgba(255, 255, 255, .1); border-radius: 3px; padding: 8px 10px; font-weight: 700; font-size: 14px; }
.mf-core li::before { content: counter(s); display: inline-block; width: 20px; color: #f9a825; }
.mf-arrow { position: relative; }
.mf-arrow::before { content: ""; position: absolute; left: 8px; right: 14px; top: 50%; border-top: 3px solid var(--ink); }
.mf-arrow::after { content: ""; position: absolute; right: 8px; top: calc(50% - 7px); border: 8px solid transparent; border-left: 10px solid var(--ink); border-right: 0; }
.mf-out { display: grid; gap: 8px; }
.mf-out a { display: grid; grid-template-columns: 40px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; align-items: center; background: var(--c); color: #fff; border-radius: 4px; padding: 10px 14px; }
.mf-out a:nth-child(1) { color: #172033; }
.mf-out .mi { grid-row: span 2; width: 36px; height: 36px; display: grid; place-items: center; }
.mf-out .mi svg { width: 26px; height: 26px; }
.mf-out b { font-size: 16px; font-weight: 800; }
.mf-out small { font-size: 13px; opacity: .9; }
.mf-out a:hover { filter: brightness(1.06); }
.metro .proc-m { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: minmax(150px, auto); margin-top: 18px; }
.m-proc { border: 1px solid var(--line); border-top: 6px solid var(--c); }
.mnum { font-size: 36px; font-weight: 850; line-height: 1; color: var(--c); }
.m-proc h3 { margin-top: 10px; }
.mmore { margin-top: 14px; font-weight: 700; } .mmore a { color: var(--link); }
@media (max-width: 1000px) {
  .metro .mgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m-hero { grid-column: span 2; grid-row: auto; }
  .metro .proc-m { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mflow { grid-template-columns: minmax(0, 1fr); }
  .mf-arrow { height: 36px; }
  .mf-arrow::before { left: 50%; right: auto; top: 6px; bottom: 12px; border-top: 0; border-left: 3px solid var(--ink); }
  .mf-arrow::after { left: calc(50% - 7px); right: auto; top: auto; bottom: 2px; border: 8px solid transparent; border-top: 10px solid var(--ink); border-bottom: 0; }
}
@media (max-width: 640px) {
  .metro .mgrid, .metro .proc-m { grid-template-columns: minmax(0, 1fr); }
  .m-hero, .m-wide, .m-who.w2 { grid-column: auto; }
  .m-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mpair { grid-template-columns: minmax(0, 1fr); }
  .marrow { transform: rotate(90deg); height: 34px; }
}

.m-act { justify-content: flex-end; } .m-act h3 { font-size: 22px !important; color: #1e3a8a; }

/* metro, calmer: neutral tiles, colour only as accents */
.metro .m-line { border: 1px solid var(--line); border-top: 6px solid var(--c); }
.metro .m-line .mbig { color: var(--ink); }
.metro .m-act { border: 1px solid var(--line); background: #fff; }
.metro .m-act h3 { color: var(--ink) !important; }
.metro .m-sol { background: #fff; border: 1px solid var(--line); border-left: 6px solid var(--c); }
.metro .m-sol h3 { font-size: 22px; }
.metro .m-who { border: 1px solid var(--line); }
.metro .m-who[style*="#172033"] { border-color: #172033; }
.mf-out a { background: #fff !important; color: var(--ink) !important; border: 1px solid var(--line); border-left: 6px solid var(--c); }
.mf-out .mi { color: var(--c); }
.mf-out small { color: var(--muted); opacity: 1; }
.mf-out a:hover { filter: none; box-shadow: 0 6px 20px rgba(23, 32, 51, .08); }
.metro .m-prob p, .metro .m-sol p { font-size: 15px; line-height: 1.55; }
