/* About Us: final figures stay readable while the digit reels and journey move. */
.np-about .np-stat-grid > div { position:relative; min-width:0; }
.np-about .np-stat-grid strong { display:block; font-variant-numeric:tabular-nums; }
.np-about .about-stat-value { display:inline-flex; align-items:baseline; flex-wrap:wrap; column-gap:.18em; row-gap:0; max-width:100%; }
.np-about .about-stat-number { display:inline-flex; align-items:baseline; white-space:nowrap; }
.np-about .about-stat-unit { font-size:.53em; line-height:1.4; letter-spacing:-.035em; }
.np-about .about-digit-window { display:inline-block; block-size:1.24em; line-height:1.24; overflow:hidden; vertical-align:bottom; }
.np-about .about-digit-track { display:flex; flex-direction:column; transform:translateY(var(--about-digit-end)); }
.np-about .about-digit-track > span { display:block; flex:0 0 1.24em; block-size:1.24em; line-height:1.24; }
.np-about .about-digit-separator { line-height:1.24; }
.np-about .about-stat-rule { display:block; position:absolute; left:0; top:-1px; width:42px; height:2px; background:#E4002B; transform-origin:left; pointer-events:none; }
.np-about .about-stat-source { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.np-about .np-timeline.about-journey { position:relative; --about-journey-progress:0; --about-journey-length:66.6667%; padding-top:1px; }
.np-about .np-timeline.about-journey::before,
.np-about .np-timeline.about-journey::after { content:""; position:absolute; left:0; top:0; width:var(--about-journey-length); height:1px; pointer-events:none; }
.np-about .np-timeline.about-journey::before { background:var(--line,#dcd9d4); }
.np-about .np-timeline.about-journey::after { background:#E4002B; height:2px; transform:scaleX(var(--about-journey-progress)); transform-origin:left; }
.np-about .about-journey article { border-top:0; }
.np-about .about-journey .np-timeline-dot { left:0; top:-5px; width:10px; height:10px; border:1px solid #E4002B; background:var(--paper,#f3f1eb); transition:background .45s ease, box-shadow .45s ease; }
.np-about .about-journey .about-checkpoint-reached .np-timeline-dot { background:#E4002B; box-shadow:0 0 0 6px rgb(228 0 43 / 8%); }
.np-about .about-journey .about-checkpoint-current .np-timeline-dot { box-shadow:0 0 0 10px rgb(228 0 43 / 8%); }
.np-about .about-journey .np-timeline-dot::after { content:""; position:absolute; inset:-7px; border:1px solid rgb(228 0 43 / 25%); border-radius:50%; opacity:0; transform:scale(.65); transition:opacity .6s ease, transform .8s cubic-bezier(.16,1,.3,1); }
.np-about .about-journey .about-checkpoint-current .np-timeline-dot::after { opacity:1; transform:scale(1); }
html[data-motion=off] .np-about .about-digit-track,
html.site-motion-fallback .np-about .about-digit-track { transform:translateY(var(--about-digit-end)) !important; }
html[data-motion=off] .np-about .about-journey::after,
html.site-motion-fallback .np-about .about-journey::after { transform:scaleX(1); }
html[data-motion=off] .np-about .np-timeline-dot,
html[data-motion=off] .np-about .np-timeline-dot::after,
html.site-motion-fallback .np-about .np-timeline-dot,
html.site-motion-fallback .np-about .np-timeline-dot::after { transition:none; }

@media(max-width:700px) {
  .np-about .about-stat-value { column-gap:.17em; }
  .np-about .about-stat-unit { font-size:.62em; }
  .np-about .np-timeline.about-journey { padding-top:0; padding-left:5px; }
  .np-about .np-timeline.about-journey::before,
  .np-about .np-timeline.about-journey::after { top:12px; left:5px; width:1px; height:var(--about-journey-length); }
  .np-about .np-timeline.about-journey::after { width:2px; transform:scaleY(var(--about-journey-progress)); transform-origin:top; }
  .np-about .about-journey article { border-left:0; padding-left:27px; }
  .np-about .about-journey .np-timeline-dot { left:-4px; top:7px; }
  html[data-motion=off] .np-about .about-journey::after,
  html.site-motion-fallback .np-about .about-journey::after { transform:scaleY(1); }
}
@media(prefers-reduced-motion:reduce) {
  .np-about .about-digit-track { transform:translateY(var(--about-digit-end)) !important; }
  .np-about .about-journey::after { transform:scaleX(1); }
  .np-about .np-timeline-dot, .np-about .np-timeline-dot::after { transition:none !important; }
}
@media(prefers-reduced-motion:reduce) and (max-width:700px) {
  .np-about .about-journey::after { transform:scaleY(1); }
}
