/* Finite, staggered map sequences resolve into stable geographic comparisons. */
.map-chart .map-country{transform-box:fill-box;transform-origin:center;transform:translateY(10px) scale(.94)}
.map-chart.is-visible .map-country{animation:country-arrive 3s var(--ease) forwards;animation-delay:var(--map-delay)}
@keyframes country-arrive{0%{stroke-dashoffset:1;fill-opacity:0;transform:translateY(10px) scale(.94)}45%{fill-opacity:0}75%{stroke-dashoffset:0;fill-opacity:.6}100%{stroke-dashoffset:0;fill-opacity:.9;transform:none}}
.map-chart .map-label{transition-delay:calc(var(--map-delay) + 1.7s)}
.map-label line{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s ease;transition-delay:calc(var(--map-delay) + 1.7s)}
.map-chart.is-visible .map-label line{stroke-dashoffset:0}
.map-label .map-pulse{fill:none;stroke:var(--forest);stroke-width:1.2;transform-box:fill-box;transform-origin:center;opacity:0}
.map-chart.is-visible .map-pulse{animation:country-pulse 1.6s ease-out 2;animation-delay:calc(var(--map-delay) + 2s)}
@keyframes country-pulse{0%{opacity:.65;transform:scale(.6)}100%{opacity:0;transform:scale(3)}}
.country-mini{transform:translateY(12px) rotate(-8deg);opacity:0;transition:transform 1.8s var(--ease),opacity 1s;transition-delay:var(--map-delay)}
.country-scene.is-visible .country-mini{transform:none;opacity:1}
.country-breakdown{border-top:1px solid #173f3525}
.breakdown-heading{display:flex;flex-direction:column}
.chapter .breakdown-heading h2{font-size:clamp(36px,3.8vw,54px);margin-bottom:10px}
.breakdown-intro{font-size:16px}
.comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.comparison-country{min-width:0}
.comparison-identity{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.comparison-identity svg{width:105px;height:105px;overflow:visible;flex:none}
.comparison-identity path{fill:var(--country-color);fill-opacity:0;stroke:var(--country-color);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;transform-box:fill-box;transform-origin:center}
.chart.is-visible .comparison-identity path{animation:country-arrive 2.5s var(--ease) forwards;animation-delay:var(--country-delay)}
.comparison-identity h3{font:32px 'Libre Caslon Display',Georgia,serif}
.country-metric{margin-top:14px}.country-metric>p{font-size:14px;margin-bottom:5px}
.country-bar-track{height:42px;background:#173f3518;overflow:hidden}
.country-bar{background:var(--country-color);width:0;height:100%;overflow:hidden;position:relative;transition:width 1.65s var(--ease);transition-delay:var(--bar-delay)}
.chart.is-visible .country-bar{width:calc(var(--value)*1%)}
.country-bar span{position:absolute;right:9px;top:7px;color:#fff;font-size:18px;white-space:nowrap}
.comparison-country:last-child .country-bar{background:#826819}
.country-breakdown .takeaway{max-width:100%;margin-top:22px}
.country-breakdown .chart-note{margin-top:8px}
@media(max-width:800px){
 .chapter .country-breakdown{padding-top:26px;padding-bottom:76px}
 .chapter .breakdown-heading h2{font-size:34px;line-height:1.05}
 .breakdown-intro{font-size:14px;line-height:1.4}
 .comparison-grid{grid-template-columns:1fr;gap:14px}
 .comparison-country{display:grid;grid-template-columns:82px 1fr;gap:15px;align-items:center;border-top:1px solid #173f3520;padding-top:10px}
 .comparison-identity{flex-direction:column;gap:0;margin:0}
 .comparison-identity svg{width:62px;height:62px}
 .comparison-identity h3{font-size:23px}
 .comparison-metrics{display:grid;gap:7px}.country-metric{margin:0}
 .country-metric>p{font-size:12px;margin-bottom:3px;line-height:1.3}
 .country-bar-track{height:29px}.country-bar span{font-size:16px;top:2px}
 .country-breakdown .takeaway{font-size:14px;margin-top:16px}
}
@media(prefers-reduced-motion:reduce){
 .map-chart .map-country,.comparison-identity path{animation:none!important;transform:none;fill-opacity:.9;stroke-dashoffset:0}
 .map-label line{stroke-dashoffset:0}.map-label .map-pulse{display:none}
 .country-mini{transform:none;opacity:1}.country-bar{transition:none;width:calc(var(--value)*1%)}
}
