.impact-infographic-section{padding:0 var(--mis-gutter) clamp(64px,8vw,112px);background:#FBFAF7;color:#1B1A18}
.impact-infographic{max-width:1060px;margin:auto}
.impact-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));margin:0;border-top:2px solid #1B1A18}
.impact-cell{display:flex;flex-direction:column;justify-content:space-between;min-width:0;gap:22px;padding:clamp(24px,3.4vw,44px) clamp(16px,2.8vw,36px);border-bottom:1px solid #C9C6BB;border-right:1px solid #C9C6BB}
.impact-span-4{grid-column:span 4}.impact-span-6{grid-column:span 6}.impact-span-8{grid-column:span 8}
.impact-cell:nth-child(3),.impact-cell:nth-child(5),.impact-cell:nth-child(8),.impact-cell:nth-child(10){border-right:0}
.impact-cell dt{order:2;color:#55524C;font-size:clamp(16px,1.8vw,23px);line-height:1.3;font-weight:500;max-width:24ch}
.impact-cell dt strong{color:#1B1A18;font-weight:700}
.impact-cell dd{margin:0;line-height:1}
.impact-ink{color:#1B1A18}.impact-red{color:#DE3B2B}.impact-orange{color:#F36D36}.impact-pink{color:#C96A94}.impact-blue{color:#3A6297}
.impact-number{display:inline-flex;white-space:nowrap;font-size:clamp(50px,6.7vw,92px);font-weight:700;line-height:1.08;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.impact-span-6 .impact-number{font-size:clamp(44px,6.5vw,88px)}
.impact-digit{display:inline-block;width:.64em;height:1.08em;overflow:hidden;letter-spacing:0;vertical-align:bottom}
.impact-digit-track{display:flex;flex-direction:column;transform:translateY(0);transition:transform var(--roll-duration,1500ms) cubic-bezier(.18,.7,.18,1)}
.impact-digit-track>span{display:block;flex:0 0 1.08em;height:1.08em;line-height:1.08em;text-align:center}
.impact-accessible{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.impact-record{display:flex;gap:clamp(20px,4vw,56px);align-items:center;padding:clamp(32px,5vw,64px) clamp(16px,2.8vw,36px);border-bottom:2px solid #3A6297;background:#F1EFE8}
.impact-record-mark{font-size:clamp(88px,13vw,164px);font-weight:700;letter-spacing:-.07em;line-height:1;color:#3A6297}
.impact-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#3A6297;margin-bottom:16px}
.impact-record h2{font-size:clamp(25px,3.7vw,48px);line-height:1.08;letter-spacing:-.035em;font-weight:700}.impact-record h2 span{color:#3A6297}
.impact-closer{display:flex;justify-content:space-between;align-items:end;gap:28px;padding:clamp(32px,5vw,64px) clamp(16px,2.8vw,36px);border-bottom:2px solid #C96A94}
.impact-closer p:first-child{font-size:clamp(22px,3vw,38px);font-weight:600;line-height:1.2;letter-spacing:-.025em}.impact-closer strong{display:inline-block;color:#C96A94;font-size:clamp(42px,6.5vw,84px);font-weight:700;letter-spacing:-.055em;line-height:1.1}
.impact-closer p:last-child{color:#3A6297;font-size:clamp(22px,3vw,38px);line-height:1.15;letter-spacing:-.025em;font-weight:600}
.impact-infographic.is-impact-ready [data-impact-reveal]{transition:opacity .65s ease,translate .65s ease}
.impact-infographic.is-impact-ready [data-impact-state="waiting"]{opacity:0;translate:0 22px}
@media(max-width:700px){.impact-span-4,.impact-span-6,.impact-span-8{grid-column:span 12}.impact-cell{border-right:0;flex-direction:row;align-items:center;gap:20px;padding:28px 0}.impact-cell dd{flex:0 0 auto}.impact-cell dt{flex:1;max-width:19ch;font-size:16px}.impact-number,.impact-span-6 .impact-number{font-size:clamp(40px,10vw,64px)}.impact-record,.impact-closer{padding-left:16px;padding-right:16px}.impact-closer{flex-wrap:wrap}.impact-eyebrow{font-size:10px}}
@media(max-width:420px){.impact-cell{flex-direction:column;align-items:flex-start;gap:12px}.impact-cell dt{max-width:none}.impact-number,.impact-span-6 .impact-number{font-size:56px}}
@media(prefers-reduced-motion:reduce){.impact-infographic.is-impact-ready [data-impact-reveal]{opacity:1;translate:none;transition:none}.impact-digit-track{transition:none}}

/* Colour-block infographic: a large community total anchors the smaller milestones. */
.impact-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;border:0;align-items:stretch}
.impact-cell{grid-column:span 3;border:0!important;border-radius:28px;padding:clamp(24px,3vw,36px);position:relative;isolation:isolate;overflow:hidden;min-height:230px}
.impact-cell dt{position:relative;z-index:1;color:inherit;font-weight:500;line-height:1.25}
.impact-cell dt strong{color:inherit}
.impact-cell dd{position:relative;z-index:1}
.impact-number{font-size:clamp(64px,8vw,106px);font-weight:700;letter-spacing:-.065em}
.impact-cell:nth-child(1){grid-row:span 2;background:#3A6297;color:#FBFAF7;justify-content:center;gap:34px;border-bottom-right-radius:100px;min-height:480px}
.impact-cell:nth-child(1) .impact-number{font-size:clamp(100px,13vw,160px)}
.impact-cell:nth-child(1) dt{font-size:clamp(24px,3vw,38px)}
.impact-cell:nth-child(1)::before,.impact-cell:nth-child(1)::after{content:'';position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.2);border-radius:50%;right:-145px;bottom:-130px;z-index:0;pointer-events:none}
.impact-cell:nth-child(1)::after{width:390px;height:390px;right:-190px;bottom:-175px}
.impact-cell:nth-child(2){background:#F0DCE5;color:#1B1A18;border-top-left-radius:64px}
.impact-cell:nth-child(2) .impact-number{color:#A64270}
.impact-cell:nth-child(3){background:#F36D36;color:#1B1A18;border-bottom-right-radius:64px}
.impact-cell:nth-child(4){background:#F1EFE8;color:#1B1A18;min-height:250px}
.impact-cell:nth-child(4) .impact-number{color:#A64270;font-size:clamp(82px,10vw,128px)}
.impact-cell:nth-child(5){background:#1B1A18;color:#FBFAF7;min-height:250px}
.impact-cell:nth-child(5) .impact-number{color:#FBFAF7;font-size:clamp(48px,6.2vw,76px)}
.impact-cell:nth-child(6),.impact-cell:nth-child(7),.impact-cell:nth-child(8){grid-column:span 2;min-height:230px}
.impact-cell:nth-child(6){background:#F36D36;color:#1B1A18}
.impact-cell:nth-child(6) .impact-number{font-size:clamp(70px,8vw,104px)}
.impact-cell:nth-child(7){background:#F0DCE5;color:#1B1A18;border-top-right-radius:64px}
.impact-cell:nth-child(8){background:#DFE7F0;color:#1B1A18;border-bottom-left-radius:64px}
.impact-cell:nth-child(7) .impact-number,.impact-cell:nth-child(8) .impact-number{font-size:clamp(48px,6.2vw,76px);letter-spacing:-.07em}
.impact-cell:nth-child(9){grid-column:span 2;background:#1B1A18;color:#FBFAF7;min-height:260px}
.impact-cell:nth-child(9) .impact-number{font-size:clamp(90px,10vw,132px);color:#F0DCE5}
.impact-cell:nth-child(10){grid-column:span 4;background:#C96A94;color:#1B1A18;min-height:260px;border-top-right-radius:90px}
.impact-cell:nth-child(10) .impact-number{font-size:clamp(96px,12vw,152px)}
.impact-record{margin-top:16px;border:0;border-radius:28px;background:#3A6297;color:#FBFAF7;position:relative;overflow:hidden}
.impact-record-mark{font-size:clamp(108px,15vw,190px);color:#FBFAF7;flex-shrink:0}
.impact-record h2 span,.impact-eyebrow{color:#FBFAF7}
.impact-record::after{content:'✦';position:absolute;right:30px;top:18px;font-size:70px;color:#F4A975;line-height:1;pointer-events:none}
.impact-record>div{position:relative;z-index:1;padding-right:36px}
.impact-closer{margin-top:16px;background:#F8E4D5;border:0;border-radius:28px;align-items:center;gap:32px}
.impact-closer strong{color:#A64270;transform:none;font-size:clamp(44px,6.2vw,80px)}
.impact-closer p:last-child{font-size:clamp(21px,2.7vw,34px);color:#1B1A18}
@media(min-width:701px) and (max-width:1000px){.impact-cell:nth-child(1) .impact-number{font-size:112px}.impact-cell:nth-child(5) .impact-number{font-size:52px}.impact-cell:nth-child(7) .impact-number,.impact-cell:nth-child(8) .impact-number{font-size:50px}}
@media(max-width:700px){.impact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.impact-cell,.impact-cell:nth-child(n){grid-column:span 2;grid-row:auto;min-height:200px;flex-direction:column;align-items:flex-start;padding:26px;gap:20px}.impact-cell:nth-child(1){min-height:300px}.impact-cell:nth-child(2),.impact-cell:nth-child(3){grid-column:span 1;min-height:220px;padding:22px}.impact-cell:nth-child(1) .impact-number{font-size:clamp(100px,24vw,144px)}.impact-cell:nth-child(2) .impact-number,.impact-cell:nth-child(3) .impact-number{font-size:clamp(50px,12vw,76px)}.impact-cell:nth-child(2) dt,.impact-cell:nth-child(3) dt{font-size:15px}.impact-cell:nth-child(7),.impact-cell:nth-child(8){grid-column:span 1;padding:22px;min-height:170px}.impact-cell:nth-child(7) .impact-number,.impact-cell:nth-child(8) .impact-number{font-size:clamp(34px,8.4vw,50px)}.impact-cell:nth-child(5) .impact-number{font-size:clamp(44px,10.5vw,66px)}.impact-record{gap:22px;padding:30px 24px}.impact-record::after{font-size:38px;right:16px;top:16px}.impact-record>div{padding-right:8px}.impact-record h2{font-size:clamp(22px,5vw,32px)}.impact-record-mark{font-size:96px}.impact-closer{padding:32px 24px}.impact-closer strong{font-size:clamp(38px,10vw,62px)}}
@media(max-width:360px){.impact-cell:nth-child(1) .impact-number{font-size:88px}}
/* One small, silent confetti firework after each number settles. No flashing. */
[data-impact-reveal]{position:relative}
.impact-celebration{position:absolute;width:0;height:0;pointer-events:none;z-index:5}
.impact-celebration i{position:absolute;width:6px;height:6px;border-radius:50%;animation:impact-spark 800ms cubic-bezier(.12,.7,.3,1) both;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
@keyframes impact-spark{0%{opacity:0;transform:translate(0,0) scale(.3)}12%{opacity:1}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.35)}}
@media(prefers-reduced-motion:reduce){.impact-celebration{display:none}}
.mis-prefer-still .impact-celebration,.mis-motion-paused .impact-celebration{display:none}
/* A clearly visible radial firework, rather than a few tiny dots. */
.impact-celebration i{width:16px;height:5px;border-radius:4px;animation:impact-spark 1600ms cubic-bezier(.12,.7,.3,1) both;animation-delay:var(--spark-delay);box-shadow:0 0 0 1px rgba(27,26,24,.16)}
@keyframes impact-spark{0%{opacity:0;transform:translate(0,0) rotate(var(--spark-angle)) scale(.4)}10%{opacity:1}55%{opacity:1}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) rotate(var(--spark-angle)) scale(.7)}}
