/* Statistics have separate readable labels and a bounded entrance sequence. */
.proof-grid .proof-visual{display:inline-flex;align-items:baseline;font:inherit;gap:0;white-space:nowrap}
.proof-grid strong .proof-count,.proof-grid strong .proof-plus,.proof-grid strong .proof-digit{font:inherit;display:inline-block;font-variant-numeric:tabular-nums}
.proof-grid strong .proof-count{min-width:1.25em;text-align:left}.proof-grid strong .proof-unit{font-size:16px;margin-left:7px;font-weight:500;letter-spacing:-.03em}
.proof-grid>.proof-stat{position:relative;padding-bottom:20px}
.proof-stat:after{content:'';position:absolute;bottom:3px;left:40px;width:46px;height:2px;border-radius:2px;background:#5f8cbd;transform:scaleX(0);transform-origin:left}
.proof-is-active .proof-stat:after{animation:proof-trace 1.2s .3s var(--ease-out) both}.proof-is-active .proof-stat:nth-child(3):after{animation-delay:.5s}.proof-is-active .proof-stat:nth-child(4):after{animation-delay:.7s}
@keyframes proof-trace{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}

@media(max-width:1150px){.proof-stat:after{left:25px}}
@media(max-width:800px){.proof-grid>.proof-stat{padding-bottom:16px!important}.proof-stat:after{left:calc(50% - 14px);width:28px;bottom:0}.proof-grid strong .proof-unit{font-size:11px;margin-left:4px}.proof-grid strong .proof-count{min-width:1.25em}}
@media(prefers-reduced-motion:reduce){.proof-is-active .proof-stat:after{animation:none;transform:scaleX(1)}}
.proof-stat>strong{display:inline-block}

/* A circular signal source, separate from the letters; active only in view. */
.proof-gps{position:relative;padding-right:29px;isolation:isolate}
.proof-grid strong .gps-beacon{position:absolute;right:7px;top:50%;margin-top:-4px;width:8px;height:8px;border-radius:50%;font-size:0;background:#3c78b5;box-shadow:0 0 0 4px #3c78b50c;pointer-events:none}
.gps-beacon:before,.gps-beacon:after{content:'';position:absolute;inset:-7px;border:1px solid #4885c3;border-radius:50%;opacity:0;transform:scale(.4);pointer-events:none}
.proof-is-active .gps-beacon{animation:gps-core 3s .55s ease-in-out infinite}
.proof-is-active .gps-beacon:before{animation:gps-wave 3s .55s cubic-bezier(.15,.45,.3,1) infinite}
.proof-is-active .gps-beacon:after{animation:gps-wave 3s 1.45s cubic-bezier(.15,.45,.3,1) infinite}
.proof-paused .gps-beacon,.proof-paused .gps-beacon:before,.proof-paused .gps-beacon:after{animation-play-state:paused}
@keyframes gps-core{0%,100%{opacity:.75;box-shadow:0 0 0 3px #3c78b50c}30%{opacity:1;box-shadow:0 0 0 5px #3c78b518}65%{opacity:.85;box-shadow:0 0 0 3px #3c78b50c}}
@keyframes gps-wave{0%{opacity:0;transform:scale(.4)}10%{opacity:.55}65%{opacity:.14}88%,100%{opacity:0;transform:scale(1.85)}}
@media(max-width:800px){.proof-gps{padding-right:23px}.proof-grid strong .gps-beacon{width:6px;height:6px;margin-top:-3px;right:4px}.gps-beacon:before,.gps-beacon:after{inset:-5px}}
@media(prefers-reduced-motion:reduce){.proof-is-active .gps-beacon,.proof-is-active .gps-beacon:before,.proof-is-active .gps-beacon:after{animation:none}.gps-beacon{opacity:1}}
