.chart{--chart-accent:var(--colour-signal);--chart-muted:var(--colour-black-20)}.chart.surface--dark,.chart.surface--gradient,:is(.surface--dark,.surface--gradient) .chart__figure{--chart-accent:var(--colour-aqua);--chart-muted:hsla(0,0%,100%,.18)}.chart.surface--bright{--chart-accent:var(--colour-blue-dark);--chart-muted:rgba(16,36,58,.22)}.chart__figure{margin:var(--space-lg) 0 0;max-width:72rem}.chart__svg{display:block;height:clamp(11rem,28vw,18rem);overflow:hidden;width:100%}.chart__grid{stroke:var(--chart-muted);stroke-width:.25;vector-effect:non-scaling-stroke}.chart__axis{display:grid;gap:0 var(--space-xs);list-style:none;margin:var(--space-sm) 0 0;padding:0;text-align:center}.chart__axis,.chart__axis--line{grid-template-columns:repeat(var(--n),minmax(0,1fr))}.chart__axis--line .chart__tick:first-child{text-align:left}.chart__axis--line .chart__tick:last-child{text-align:right}.chart__tick{display:grid;gap:.15rem;min-width:0}.chart__value{font-size:var(--font-size-medium);font-variant-numeric:tabular-nums;font-weight:400;letter-spacing:-.02em}.chart__value small{font-size:.6em;margin-left:.1em;opacity:.7}.chart__label{color:var(--colour-black-60);font-family:var(--font-mono);font-size:var(--font-size-tiny);letter-spacing:.08em;overflow-wrap:anywhere;text-transform:uppercase}.chart__tick.is-highlight .chart__value{color:var(--chart-accent)}.chart__bar{fill:var(--chart-accent);opacity:.55;transform:scaleY(0);transition:transform .7s cubic-bezier(.2,.7,.2,1) calc(var(--i)*70ms),opacity .3s}.chart__bar.is-highlight{opacity:1}.Visible .chart__bar{transform:scaleY(1)}.chart__line{fill:none;stroke:var(--chart-accent);stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round;stroke-linejoin:round;stroke-width:.7;transition:stroke-dashoffset 1.4s cubic-bezier(.4,0,.2,1) .12s;vector-effect:non-scaling-stroke}.Visible .chart__line{stroke-dashoffset:0}.chart__area{fill:var(--chart-accent);opacity:0;transition:opacity .9s .7s}.Visible .chart__area{opacity:.1}.chart__dot{fill:var(--chart-accent);opacity:0;stroke:var(--colour-white);stroke-width:.5;transition:opacity .25s calc(.35s + var(--i)*.18s);vector-effect:non-scaling-stroke}:is(.surface--dark,.surface--gradient) .chart__dot{stroke:var(--colour-navy)}.Visible .chart__dot{opacity:1}.chart__dot.is-highlight{r:2.2}.chart__kpis{display:grid;gap:var(--space-sm);grid-template-columns:repeat(var(--n,4),minmax(0,1fr));list-style:none;margin:0;padding:0}.chart__kpi{border:1px solid var(--chart-muted);border-radius:var(--border-radius-small,20px);display:grid;gap:.35rem;opacity:0;padding:var(--space-md);transform:translateY(.75rem);transition:opacity .4s calc(var(--i)*80ms),transform .5s cubic-bezier(.2,.7,.2,1) calc(var(--i)*80ms)}.Visible .chart__kpi{opacity:1;transform:none}.chart__kpi.is-highlight{border-color:var(--chart-accent)}.chart__kpi-label{color:var(--colour-black-60)}.chart__kpi-value{font-size:clamp(2rem,3.6vw,3rem);font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1}.chart__kpi-value small{font-size:.45em;margin-left:.15em;opacity:.7}.chart__kpi.is-highlight .chart__kpi-value{color:var(--chart-accent)}.chart__spark{height:2.4rem;margin-top:.25rem;overflow:visible;width:100%}.chart__spark-line{fill:none;stroke:var(--chart-accent);stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;transition:stroke-dashoffset 1.1s cubic-bezier(.4,0,.2,1) calc(.3s + var(--i)*80ms);vector-effect:non-scaling-stroke}.Visible .chart__spark-line{stroke-dashoffset:0}.chart__radials{display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(9rem,14rem));justify-content:center;list-style:none;margin:0;padding:0;text-align:center}.chart__radial{display:grid;gap:.25rem;justify-items:center}.chart__radial svg{height:auto;transform:rotate(-90deg);width:clamp(6rem,12vw,9rem)}.chart__ring-track{fill:none;stroke:var(--chart-muted);stroke-width:2.4}.chart__ring{fill:none;stroke:var(--chart-accent);stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round;stroke-width:2.4;transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1) calc(var(--i)*.12s)}.Visible .chart__ring{stroke-dashoffset:calc(100 - var(--pct))}.chart__radial-value{font-size:var(--font-size-large);font-variant-numeric:tabular-nums;margin-top:-.5rem}.chart__radial-value small{font-size:.6em;opacity:.7}.chart__radial-label{color:var(--colour-black-60);font-family:var(--font-mono);font-size:var(--font-size-tiny);letter-spacing:.08em;text-transform:uppercase}.chart__radial.is-highlight .chart__radial-value{color:var(--chart-accent)}.chart__source{color:var(--colour-black-60);font-size:var(--font-size-tiny);margin-top:var(--space-sm)}@media (prefers-reduced-motion:reduce){.chart__area,.chart__bar,.chart__dot,.chart__kpi,.chart__line,.chart__ring,.chart__spark-line{transition:none!important}.chart__bar{transform:none}.chart__line,.chart__spark-line{stroke-dashoffset:0}.chart__area{opacity:.1}.chart__dot,.chart__kpi{opacity:1;transform:none}.chart__ring{stroke-dashoffset:calc(100 - var(--pct))}}@media (max-width:700px){.chart__axis{gap:0 .25rem}.chart__value{font-size:var(--font-size-small)}.chart__label{font-size:.75rem;letter-spacing:.04em}.chart__axis{grid-template-columns:repeat(var(--n),minmax(0,1fr))}.chart__tick{overflow-wrap:anywhere}}.chart .section__head{margin-inline:auto;max-width:52rem;text-align:center}.chart .section__intro,.chart__figure{margin-inline:auto}.chart__source{text-align:center}@media (max-width:900px){.chart__kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.chart__kpis{grid-template-columns:1fr}}.chart .section__head{margin-inline:0;max-width:860px;text-align:left}.chart--kpi .chart__figure{margin-inline:0;max-width:none}.chart__kpi-value small{color:var(--colour-black-60);font-size:.4em;letter-spacing:0;margin-left:.25em;opacity:1}