/* Terra Vita Africa emerging-market signal surface v7.8 */
.tv-africa-heatmap{background:#f5f7f5;border-top:1px solid var(--line,#dce3e1);padding:82px 0 88px;color:var(--ink,#13293d)}
.tv-africa-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.tv-africa-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:end;margin-bottom:28px}
.tv-africa-eyebrow,.tv-africa-kicker{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--green-700,#19785f);margin-bottom:12px}
.tv-africa-head h2{font-family:Georgia,Cambria,"Times New Roman",serif;font-size:clamp(36px,4.4vw,58px);line-height:1.02;letter-spacing:-.035em;margin:0 0 16px;color:var(--green-950,#083f33);max-width:780px}
.tv-africa-head p{font-size:16px;line-height:1.65;color:var(--muted-ink,#617082);max-width:820px;margin:0}
.tv-africa-head>a,.tv-africa-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border-radius:7px;background:var(--green-950,#083f33);color:#fff;text-decoration:none;font-weight:800;font-size:14px;box-shadow:0 8px 22px rgba(8,63,51,.12)}
.tv-africa-head>a:hover,.tv-africa-primary:hover{background:var(--green-800,#0f6953)}
.tv-africa-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);border:1px solid var(--line-strong,#c7d1ce);background:#fff;box-shadow:var(--shadow,0 12px 36px rgba(11,45,36,.08))}
.tv-africa-map-card{min-width:0;padding:20px 22px 18px;border-right:1px solid var(--line,#dce3e1);background:linear-gradient(180deg,#0a4f41 0%,#083f33 100%);color:#fff}
.tv-africa-map-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.15)}
.tv-africa-map-meta span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.68);font-weight:800}.tv-africa-map-meta strong{display:block;margin-top:3px;font-size:16px}.tv-africa-map-meta>span{padding-top:3px}
.tv-africa-svg{display:block;width:100%;height:auto;max-height:650px;margin:12px auto 4px;overflow:visible}
.tv-africa-country{stroke:rgba(255,255,255,.48);stroke-width:1.2;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .18s ease,stroke .18s ease,filter .18s ease,opacity .18s ease;outline:none}
.tv-africa-country.tier-1{fill:#285f54}.tv-africa-country.tier-2{fill:#4d8870}.tv-africa-country.tier-3{fill:#d4a14c}.tv-africa-country.tier-4{fill:#ed7f24}
.tv-africa-country:hover,.tv-africa-country:focus-visible{stroke:#fff;stroke-width:2.4;filter:brightness(1.14)}
.tv-africa-country.is-selected{stroke:#fff;stroke-width:3;filter:drop-shadow(0 0 7px rgba(255,255,255,.4)) brightness(1.12)}
.tv-africa-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.15);padding-top:13px;gap:10px}
.tv-africa-legend span{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.25;color:rgba(255,255,255,.8)}.tv-africa-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;flex:0 0 auto}.tv-africa-legend i.tier-1{background:#285f54;border:1px solid rgba(255,255,255,.3)}.tv-africa-legend i.tier-2{background:#4d8870}.tv-africa-legend i.tier-3{background:#d4a14c}.tv-africa-legend i.tier-4{background:#ed7f24}
.tv-africa-detail{padding:26px 26px 24px;min-width:0;display:flex;flex-direction:column;background:#fff}.tv-africa-detail-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--line,#dce3e1);padding-bottom:18px}.tv-africa-detail h3{font-family:Georgia,Cambria,"Times New Roman",serif;font-size:34px;line-height:1.05;margin:0;color:var(--green-950,#083f33)}
.tv-africa-tier{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;padding:7px 9px;border-radius:999px;white-space:nowrap}.tv-africa-tier.tier-1{background:#e8efed;color:#31594f}.tv-africa-tier.tier-2{background:#e3f0ea;color:#26604b}.tv-africa-tier.tier-3{background:#fff0d6;color:#8b5d13}.tv-africa-tier.tier-4{background:#fff0e4;color:#a44f0e}
.tv-africa-signal-copy{font-size:15px;line-height:1.6;color:var(--muted-ink,#617082);margin:17px 0}
.tv-africa-route{border:1px solid var(--line,#dce3e1);background:var(--green-50,#edf7f3);padding:14px 15px;margin-bottom:16px}.tv-africa-route span,.tv-africa-route small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--green-700,#19785f);font-weight:800}.tv-africa-route strong{display:block;font-size:15px;line-height:1.35;margin:5px 0;color:var(--green-950,#083f33)}.tv-africa-route small{color:var(--muted-ink,#617082);text-transform:none;letter-spacing:0}
.tv-africa-records{border-top:1px solid var(--line,#dce3e1);padding-top:15px}.tv-africa-records-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:11px}.tv-africa-records-head span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--ink,#13293d)}.tv-africa-records-head small{font-size:11px;color:var(--muted-ink,#617082)}
.tv-africa-record{padding:12px 0;border-top:1px solid var(--line,#dce3e1)}.tv-africa-record:first-of-type{border-top:0}.tv-africa-record span{font-size:11px;color:var(--green-700,#19785f);font-weight:800}.tv-africa-record strong{display:block;font-size:14px;line-height:1.4;margin:4px 0 5px;color:var(--ink,#13293d)}.tv-africa-record p{font-size:12px!important;line-height:1.55!important;color:var(--muted-ink,#617082);margin:0}.tv-africa-empty{font-size:13px;line-height:1.55;padding:13px 0;color:var(--muted-ink,#617082)}
.tv-africa-actions{margin-top:auto;padding-top:20px;border-top:1px solid var(--line,#dce3e1);display:grid;gap:9px}.tv-africa-primary{width:100%;text-align:center}.tv-africa-actions>span{font-size:11px;line-height:1.4;color:var(--muted-ink,#617082);text-align:center}
.tv-africa-boundary{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:14px 18px;border:1px solid var(--line-strong,#c7d1ce);border-top:0;background:#eef2f0}.tv-africa-boundary strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--green-950,#083f33)}.tv-africa-boundary span{font-size:12px;line-height:1.5;color:var(--muted-ink,#617082)}
@media(max-width:900px){.tv-africa-heatmap{padding:58px 0 64px}.tv-africa-shell{width:min(100% - 28px,1180px)}.tv-africa-head{grid-template-columns:1fr;align-items:start}.tv-africa-head>a{justify-self:start}.tv-africa-grid{grid-template-columns:1fr}.tv-africa-map-card{border-right:0;border-bottom:1px solid var(--line,#dce3e1)}.tv-africa-detail{min-height:520px}.tv-africa-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.tv-africa-head h2{font-size:38px}.tv-africa-map-card{padding:16px 12px}.tv-africa-map-meta>span{display:none}.tv-africa-legend{grid-template-columns:1fr 1fr}.tv-africa-detail{padding:20px 18px}.tv-africa-detail-top{display:grid}.tv-africa-tier{justify-self:start}.tv-africa-boundary{grid-template-columns:1fr;gap:5px}}
@media(prefers-reduced-motion:reduce){.tv-africa-country{transition:none}}
