/* GENERATED by tools/make-motion.mjs — do not edit.
   Source of truth: tools/motion-spec.mjs. Regenerate with:
       node tools/make-motion.mjs

   Every sequence is applied up front and held at animation-play-state: paused,
   so each element sits on its own first frame with fill-mode: both. The
   section's `is-in` sets them running — added by js/reveal.js when the section
   arrives, or, for a pinned section, when it STICKS. Nothing samples scroll.

   The guard below sets animation-name: none rather than only the play state.
   That distinction is load-bearing: a paused animation still applies, and its
   backwards fill during the delay holds the element on frame 0 — which is
   usually opacity 0. Gating only the play state renders a JS-less page half
   empty. */


/* ======== HERO ======== */
@keyframes pi-hero-0 {
  0% { opacity: 0; transform: translate(0px, 18px) scale(0.965, 0.965) rotate(0deg); }
  100% { opacity: 1; transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.terminal { animation: pi-hero-0 700ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.terminal { animation-delay: 120ms; }
.drenched.is-in .terminal { animation-play-state: running; }
@keyframes pi-hero-1 {
  0% { transform: translate(0px, 0px) scale(0, 1) rotate(0deg); }
  5.769% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
  92.308% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(0, 1) rotate(0deg); }
}
.tm__meter i { animation: pi-hero-1 5200ms cubic-bezier(0.23, 1, 0.32, 1) infinite both paused; }
.tm__meter i:nth-child(1) { animation-delay: 520ms; }
.tm__meter i:nth-child(2) { animation-delay: 544ms; }
.tm__meter i:nth-child(3) { animation-delay: 568ms; }
.tm__meter i:nth-child(4) { animation-delay: 592ms; }
.tm__meter i:nth-child(5) { animation-delay: 616ms; }
.tm__meter i:nth-child(6) { animation-delay: 640ms; }
.tm__meter i:nth-child(7) { animation-delay: 664ms; }
.tm__meter i:nth-child(8) { animation-delay: 688ms; }
.tm__meter i:nth-child(9) { animation-delay: 712ms; }
.tm__meter i:nth-child(10) { animation-delay: 736ms; }
.tm__meter i:nth-child(11) { animation-delay: 760ms; }
.tm__meter i:nth-child(12) { animation-delay: 784ms; }
.tm__meter i:nth-child(13) { animation-delay: 808ms; }
.tm__meter i:nth-child(14) { animation-delay: 832ms; }
.tm__meter i:nth-child(15) { animation-delay: 856ms; }
.tm__meter i:nth-child(16) { animation-delay: 880ms; }
.tm__meter i:nth-child(17) { animation-delay: 904ms; }
.tm__meter i:nth-child(18) { animation-delay: 928ms; }
.tm__meter i:nth-child(19) { animation-delay: 952ms; }
.tm__meter i:nth-child(20) { animation-delay: 976ms; }
.tm__meter i:nth-child(21) { animation-delay: 1000ms; }
.tm__meter i:nth-child(22) { animation-delay: 1024ms; }
.tm__meter i:nth-child(23) { animation-delay: 1048ms; }
.tm__meter i:nth-child(24) { animation-delay: 1072ms; }
.tm__meter i:nth-child(25) { animation-delay: 1096ms; }
.tm__meter i:nth-child(26) { animation-delay: 1120ms; }
.tm__meter i:nth-child(27) { animation-delay: 1144ms; }
.tm__meter i:nth-child(28) { animation-delay: 1168ms; }
.drenched.is-in .tm__meter i { animation-play-state: running; }

/* ======== .funnel__stage ======== */
@keyframes pi-funnel-stage-2 {
  0% { opacity: 0; background-color: rgba(141, 44, 43, 0.22); transform: translate(-10px, 0px) scale(1, 1) rotate(0deg); }
  55% { background-color: rgba(141, 44, 43, 0.15); }
  100% { opacity: 1; background-color: rgba(141, 44, 43, 0); transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.fchip { animation: pi-funnel-stage-2 340ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.fchip:nth-child(1) { animation-delay: 0ms; }
.fchip:nth-child(2) { animation-delay: 170ms; }
.fchip:nth-child(3) { animation-delay: 340ms; }
.fchip:nth-child(4) { animation-delay: 510ms; }
.fchip:nth-child(5) { animation-delay: 680ms; }
.fchip:nth-child(6) { animation-delay: 850ms; }
.fchip:nth-child(7) { animation-delay: 1020ms; }
.fchip:nth-child(8) { animation-delay: 1190ms; }
.funnel.is-in .fchip { animation-play-state: running; }
@keyframes pi-funnel-stage-3 {
  0% { stroke-dashoffset: calc(var(--len, 1px) * 1); stroke-width: 1.8; opacity: 0.75; }
  75% { stroke-width: 1.8; opacity: 0.75; }
  100% { stroke-dashoffset: calc(var(--len, 1px) * 0); stroke-width: 1; opacity: 0.3; }
}
.fw-leg { animation: pi-funnel-stage-3 560ms cubic-bezier(0.77, 0, 0.175, 1) both paused; }
.fw-leg { stroke-dasharray: var(--len, none); }
.fw-leg:nth-child(1) { animation-delay: 120ms; }
.fw-leg:nth-child(2) { animation-delay: 290ms; }
.fw-leg:nth-child(3) { animation-delay: 460ms; }
.fw-leg:nth-child(4) { animation-delay: 630ms; }
.fw-leg:nth-child(5) { animation-delay: 800ms; }
.fw-leg:nth-child(6) { animation-delay: 970ms; }
.fw-leg:nth-child(7) { animation-delay: 1140ms; }
.fw-leg:nth-child(8) { animation-delay: 1310ms; }
.funnel.is-in .fw-leg { animation-play-state: running; }
@keyframes pi-funnel-stage-4 {
  0% { opacity: 0; offset-distance: 0%; }
  8% { opacity: 0.6; }
  92% { opacity: 0.6; }
  100% { opacity: 0; offset-distance: 100%; }
}
.fw-dot { animation: pi-funnel-stage-4 560ms cubic-bezier(0.77, 0, 0.175, 1) both paused; }
.fw-dot:nth-child(9) { animation-delay: 120ms; }
.fw-dot:nth-child(10) { animation-delay: 290ms; }
.fw-dot:nth-child(11) { animation-delay: 460ms; }
.fw-dot:nth-child(12) { animation-delay: 630ms; }
.fw-dot:nth-child(13) { animation-delay: 800ms; }
.fw-dot:nth-child(14) { animation-delay: 970ms; }
.fw-dot:nth-child(15) { animation-delay: 1140ms; }
.fw-dot:nth-child(16) { animation-delay: 1310ms; }
.funnel.is-in .fw-dot { animation-play-state: running; }
@keyframes pi-funnel-stage-5 {
  0% { filter: drop-shadow(0 0 0 rgba(77, 46, 173, 0)); }
  28% { filter: drop-shadow(0 0 30px rgba(77, 46, 173, .65)); }
  62% { filter: drop-shadow(0 0 26px rgba(77, 46, 173, .55)); }
  100% { filter: drop-shadow(0 0 0 rgba(77, 46, 173, 0)); }
}
.funnel__iso { animation: pi-funnel-stage-5 1000ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.funnel__iso { animation-delay: 1700ms; }
.funnel.is-in .funnel__iso { animation-play-state: running; }
@keyframes pi-funnel-stage-6 {
  0% { transform: translate(0px, 0px) scale(0, 1) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.ob-in { animation: pi-funnel-stage-6 420ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.ob-in { animation-delay: 2750ms; }
.funnel.is-in .ob-in { animation-play-state: running; }
@keyframes pi-funnel-stage-7 {
  0% { transform: translate(0px, 0px) scale(1, 0) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.ob-bar { animation: pi-funnel-stage-7 320ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.ob-bar { animation-delay: 3130ms; }
.funnel.is-in .ob-bar { animation-play-state: running; }
@keyframes pi-funnel-stage-8 {
  0% { transform: translate(0px, 0px) scale(0, 1) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.ob-arm { animation: pi-funnel-stage-8 260ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.ob-arm:nth-child(3) { animation-delay: 3370ms; }
.ob-arm:nth-child(4) { animation-delay: 3460ms; }
.ob-arm:nth-child(5) { animation-delay: 3550ms; }
.ob-arm:nth-child(6) { animation-delay: 3640ms; }
.funnel.is-in .ob-arm { animation-play-state: running; }
@keyframes pi-funnel-stage-9 {
  0% { opacity: 0; transform: translate(0px, 0px) scale(0.2, 0.2) rotate(0deg); }
  100% { opacity: 1; transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.ob-dot { animation: pi-funnel-stage-9 220ms cubic-bezier(0.34, 1.56, 0.64, 1) both paused; }
.ob-dot:nth-child(7) { animation-delay: 3410ms; }
.ob-dot:nth-child(8) { animation-delay: 3500ms; }
.ob-dot:nth-child(9) { animation-delay: 3590ms; }
.ob-dot:nth-child(10) { animation-delay: 3680ms; }
.funnel.is-in .ob-dot { animation-play-state: running; }
@keyframes pi-funnel-stage-10 {
  0% { opacity: 0; transform: translate(-8px, 0px) scale(1, 1) rotate(0deg); }
  100% { opacity: 1; transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.out { animation: pi-funnel-stage-10 320ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.out:nth-child(1) { animation-delay: 3450ms; }
.out:nth-child(2) { animation-delay: 3540ms; }
.out:nth-child(3) { animation-delay: 3630ms; }
.out:nth-child(4) { animation-delay: 3720ms; }
.funnel.is-in .out { animation-play-state: running; }

/* ======== #how ======== */
@keyframes pi-how-11 {
  0% { opacity: 0; transform: translate(0px, 10px) scale(1, 1) rotate(0deg); }
  100% { opacity: 1; transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
#how .sec, #how .lede { animation: pi-how-11 380ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
#how .sec, #how .lede { animation-delay: 0ms; }
#how.is-near .sec,
#how.is-near .lede { animation-play-state: running; }
@keyframes pi-how-12 {
  0% { opacity: 0; transform: translate(0px, 10px) scale(1, 1) rotate(0deg); }
  100% { opacity: 1; transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.step { animation: pi-how-12 380ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.step:nth-child(1) { animation-delay: 140ms; }
.step:nth-child(2) { animation-delay: 210ms; }
.step:nth-child(3) { animation-delay: 280ms; }
#how.is-in .step { animation-play-state: running; }
@keyframes pi-how-13 {
  0% { transform: translate(-5px, -5px) scale(1, 1) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-gc0 { animation: pi-how-13 520ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-gc0 { animation-delay: 220ms; }
#how.is-in .pi-gc0 { animation-play-state: running; }
@keyframes pi-how-14 {
  0% { transform: translate(5px, -5px) scale(1, 1) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-gc1 { animation: pi-how-14 520ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-gc1 { animation-delay: 275ms; }
#how.is-in .pi-gc1 { animation-play-state: running; }
@keyframes pi-how-15 {
  0% { transform: translate(-5px, 5px) scale(1, 1) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-gc2 { animation: pi-how-15 520ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-gc2 { animation-delay: 330ms; }
#how.is-in .pi-gc2 { animation-play-state: running; }
@keyframes pi-how-16 {
  0% { transform: translate(5px, 5px) scale(1, 1) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-gc3 { animation: pi-how-16 520ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-gc3 { animation-delay: 385ms; }
#how.is-in .pi-gc3 { animation-play-state: running; }
@keyframes pi-how-17 {
  0% { transform: translate(0px, 0px) scale(0.7, 1) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-gg-b { animation: pi-how-17 520ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-gg-b { animation-delay: 290ms; }
#how.is-in .pi-gg-b { animation-play-state: running; }
@keyframes pi-how-18 {
  0% { transform: translate(0px, 0px) scale(0.9, 0.9) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-gg-o { animation: pi-how-18 520ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-gg-o { animation-delay: 330ms; }
#how.is-in .pi-gg-o { animation-play-state: running; }
@keyframes pi-how-19 {
  0% { transform: translate(0px, 0px) scale(1, 0.35) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-gg-s { animation: pi-how-19 420ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-gg-s { animation-delay: 430ms; }
#how.is-in .pi-gg-s { animation-play-state: running; }
@keyframes pi-how-20 {
  0% { transform: translate(0px, 0px) scale(0.5, 0.5) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-gg-d { animation: pi-how-20 340ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-gg-d { animation-delay: 470ms; }
#how.is-in .pi-gg-d { animation-play-state: running; }
@keyframes pi-how-21 {
  0% { transform: translate(0px, 0px) scale(0.55, 0.55) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-ga-d { animation: pi-how-21 340ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-ga-d { animation-delay: 360ms; }
#how.is-in .pi-ga-d { animation-play-state: running; }
@keyframes pi-how-22 {
  0% { transform: translate(0px, 0px) scale(0.5, 0.5) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-ga-r { animation: pi-how-22 420ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-ga-r:nth-child(1) { animation-delay: 400ms; }
.pi-ga-r:nth-child(2) { animation-delay: 426ms; }
.pi-ga-r:nth-child(3) { animation-delay: 452ms; }
.pi-ga-r:nth-child(4) { animation-delay: 478ms; }
.pi-ga-r:nth-child(5) { animation-delay: 504ms; }
.pi-ga-r:nth-child(6) { animation-delay: 530ms; }
.pi-ga-r:nth-child(7) { animation-delay: 556ms; }
.pi-ga-r:nth-child(8) { animation-delay: 582ms; }
.pi-ga-r:nth-child(9) { animation-delay: 608ms; }
.pi-ga-r:nth-child(10) { animation-delay: 634ms; }
.pi-ga-r:nth-child(11) { animation-delay: 660ms; }
.pi-ga-r:nth-child(12) { animation-delay: 686ms; }
#how.is-in .pi-ga-r { animation-play-state: running; }

/* ======== .watch ======== */
@keyframes pi-watch-23 {
  0% { opacity: 0; transform: translate(0px, 10px) scale(1, 1) rotate(0deg); }
  100% { opacity: 1; transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.watch .sec, .watch__copy p { animation: pi-watch-23 380ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.watch .sec { animation-delay: 0ms; }
.watch__copy p { animation-delay: 70ms; }
.watch.is-near .sec,
.watch.is-near .watch__copy p { animation-play-state: running; }
@keyframes pi-watch-24 {
  0% { opacity: 0; transform: translate(0px, 10px) scale(1, 1) rotate(0deg); }
  100% { opacity: 1; transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.player { animation: pi-watch-24 380ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.player { animation-delay: 160ms; }
.watch.is-in .player { animation-play-state: running; }

/* ======== .modules__stage ======== */
@keyframes pi-modules-stage-25 {
  0% { opacity: 0; transform: translate(0px, 10px) scale(1, 1) rotate(0deg); }
  100% { opacity: 1; transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.modules .sec, .modules .lede { animation: pi-modules-stage-25 380ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.modules .sec, .modules .lede { animation-delay: 0ms; }
.modules.is-near .sec,
.modules.is-near .lede { animation-play-state: running; }
@keyframes pi-modules-stage-26 {
  0% { opacity: 0; transform: translate(0px, -34px) scale(1, 1) rotate(0deg); }
  35% { opacity: 1; }
  100% { opacity: 1; transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.lv3-g, .lv2-g, .lv1-g, .lv0-g { animation: pi-modules-stage-26 520ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.lv0-g { animation-delay: 240ms; }
.lv1-g { animation-delay: 460ms; }
.lv2-g { animation-delay: 680ms; }
.lv3-g { animation-delay: 900ms; }
.modules.is-in .lv3-g,
.modules.is-in .lv2-g,
.modules.is-in .lv1-g,
.modules.is-in .lv0-g { animation-play-state: running; }
@keyframes pi-modules-stage-27 {
  0% { opacity: 0; transform: translate(0px, 10px) scale(1, 1) rotate(0deg); }
  100% { opacity: 1; transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.lay { animation: pi-modules-stage-27 380ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.lay:nth-child(1) { animation-delay: 320ms; }
.lay:nth-child(2) { animation-delay: 390ms; }
.lay:nth-child(3) { animation-delay: 460ms; }
.lay:nth-child(4) { animation-delay: 530ms; }
.modules.is-in .lay { animation-play-state: running; }
@keyframes pi-modules-stage-28 {
  0% { transform: translate(0px, 0px) scale(1, 0) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.lv-guides path { animation: pi-modules-stage-28 460ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.lv-guides path:nth-child(1) { animation-delay: 1320ms; }
.lv-guides path:nth-child(2) { animation-delay: 1400ms; }
.lv-guides path:nth-child(3) { animation-delay: 1480ms; }
.lv-guides path:nth-child(4) { animation-delay: 1560ms; }
.lv-guides path:nth-child(5) { animation-delay: 1640ms; }
.lv-guides path:nth-child(6) { animation-delay: 1720ms; }
.modules.is-in .lv-guides path { animation-play-state: running; }

/* ======== .trust ======== */
@keyframes pi-trust-29 {
  0% { opacity: 0; transform: translate(0px, 10px) scale(1, 1) rotate(0deg); }
  100% { opacity: 1; transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.trust .sec, .trust .lede { animation: pi-trust-29 380ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.trust .sec, .trust .lede { animation-delay: 0ms; }
.trust.is-near .sec,
.trust.is-near .lede { animation-play-state: running; }
@keyframes pi-trust-30 {
  0% { opacity: 0; transform: translate(0px, 10px) scale(1, 1) rotate(0deg); }
  100% { opacity: 1; transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.tr__icon { animation: pi-trust-30 380ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.tr:nth-child(1) .tr__icon { animation-delay: 120ms; }
.tr:nth-child(2) .tr__icon { animation-delay: 180ms; }
.tr:nth-child(3) .tr__icon { animation-delay: 240ms; }
.tr:nth-child(4) .tr__icon { animation-delay: 300ms; }
.trust.is-in .tr__icon { animation-play-state: running; }
@keyframes pi-trust-31 {
  0% { opacity: 0; transform: translate(0px, 10px) scale(1, 1) rotate(0deg); }
  100% { opacity: 1; transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.tr h3, .tr p { animation: pi-trust-31 380ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.tr:nth-child(1) h3 { animation-delay: 300ms; }
.tr:nth-child(1) p { animation-delay: 345ms; }
.tr:nth-child(2) h3 { animation-delay: 390ms; }
.tr:nth-child(2) p { animation-delay: 435ms; }
.tr:nth-child(3) h3 { animation-delay: 480ms; }
.tr:nth-child(3) p { animation-delay: 525ms; }
.tr:nth-child(4) h3 { animation-delay: 570ms; }
.tr:nth-child(4) p { animation-delay: 615ms; }
.trust.is-in .tr h3,
.trust.is-in .tr p { animation-play-state: running; }
@keyframes pi-trust-32 {
  0% { transform: translate(0px, 0px) scale(1, 0.76) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-src-v { animation: pi-trust-32 520ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-src-v { animation-delay: 200ms; }
.trust.is-in .pi-src-v { animation-play-state: running; }
@keyframes pi-trust-33 {
  0% { transform: translate(0px, 0px) scale(0.76, 1) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-src-h { animation: pi-trust-33 520ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-src-h { animation-delay: 200ms; }
.trust.is-in .pi-src-h { animation-play-state: running; }
@keyframes pi-trust-34 {
  0% { transform: translate(0px, 0px) scale(0.93, 0.93) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-src-f { animation: pi-trust-34 520ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-src-f { animation-delay: 200ms; }
.trust.is-in .pi-src-f { animation-play-state: running; }
@keyframes pi-trust-35 {
  0% { transform: translate(0px, 0px) scale(0.4, 0.4) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-src-d { animation: pi-trust-35 380ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-src-d { animation-delay: 380ms; }
.trust.is-in .pi-src-d { animation-play-state: running; }
@keyframes pi-trust-36 {
  0% { transform: translate(0px, 0px) scale(0.86, 0.86) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-cf-a { animation: pi-trust-36 520ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-cf-a:nth-child(1) { animation-delay: 260ms; }
.pi-cf-a:nth-child(2) { animation-delay: 320ms; }
.pi-cf-a:nth-child(3) { animation-delay: 380ms; }
.trust.is-in .pi-cf-a { animation-play-state: running; }
@keyframes pi-trust-37 {
  0% { transform: translate(0px, 0px) scale(1, 1) rotate(-46deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-cf-n { animation: pi-trust-37 620ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-cf-n { animation-delay: 400ms; }
.trust.is-in .pi-cf-n { animation-play-state: running; }
@keyframes pi-trust-38 {
  0% { transform: translate(0px, 0px) scale(0.55, 0.55) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-cf-p { animation: pi-trust-38 360ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-cf-p { animation-delay: 300ms; }
.trust.is-in .pi-cf-p { animation-play-state: running; }
@keyframes pi-trust-39 {
  0% { transform: translate(0px, 0px) scale(1, 1) rotate(-90deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-rr-i { animation: pi-trust-39 720ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-rr-i { animation-delay: 320ms; }
.trust.is-in .pi-rr-i { animation-play-state: running; }
@keyframes pi-trust-40 {
  0% { transform: translate(0px, 0px) scale(1, 1) rotate(-26deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-rr-a { animation: pi-trust-40 620ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-rr-a { animation-delay: 320ms; }
.trust.is-in .pi-rr-a { animation-play-state: running; }
@keyframes pi-trust-41 {
  0% { transform: translate(0px, 0px) scale(0.55, 0.55) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-rr-p { animation: pi-trust-41 360ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-rr-p { animation-delay: 420ms; }
.trust.is-in .pi-rr-p { animation-play-state: running; }
@keyframes pi-trust-42 {
  0% { transform: translate(0px, 10px) scale(1, 1) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-ex-l { animation: pi-trust-42 520ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-ex-l { animation-delay: 380ms; }
.trust.is-in .pi-ex-l { animation-play-state: running; }
@keyframes pi-trust-43 {
  0% { transform: translate(0px, 5px) scale(1, 1) rotate(0deg); }
  100% { transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.pi-ex-r { animation: pi-trust-43 460ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.pi-ex-r { animation-delay: 440ms; }
.trust.is-in .pi-ex-r { animation-play-state: running; }

/* ======== .close ======== */
@keyframes pi-close-44 {
  0% { opacity: 0; transform: translate(0px, 10px) scale(1, 1) rotate(0deg); }
  100% { opacity: 1; transform: translate(0px, 0px) scale(1, 1) rotate(0deg); }
}
.close h2, .close .dr-btn { animation: pi-close-44 380ms cubic-bezier(0.23, 1, 0.32, 1) both paused; }
.close h2 { animation-delay: 0ms; }
.close .dr-btn { animation-delay: 70ms; }
.close.is-in h2,
.close.is-in .dr-btn { animation-play-state: running; }

/* ======== the dots ride their own leg ======== */
.fw-dot { offset-rotate: 0deg; offset-anchor: 50% 50%; }
.fw-dot:nth-child(9) { offset-path: path("M0 6.25 C55 6.25 46 50 100 50"); }
.fw-dot:nth-child(10) { offset-path: path("M0 18.75 C55 18.75 46 50 100 50"); }
.fw-dot:nth-child(11) { offset-path: path("M0 31.25 C55 31.25 46 50 100 50"); }
.fw-dot:nth-child(12) { offset-path: path("M0 43.75 C55 43.75 46 50 100 50"); }
.fw-dot:nth-child(13) { offset-path: path("M0 56.25 C55 56.25 46 50 100 50"); }
.fw-dot:nth-child(14) { offset-path: path("M0 68.75 C55 68.75 46 50 100 50"); }
.fw-dot:nth-child(15) { offset-path: path("M0 81.25 C55 81.25 46 50 100 50"); }
.fw-dot:nth-child(16) { offset-path: path("M0 93.75 C55 93.75 46 50 100 50"); }

/* No JS, an old browser, a crawler or prefers-reduced-motion: reduce all get
   the page finished rather than half hidden. */
html:not([data-reveal="on"]) :is(
.terminal,
.tm__meter i,
.fchip,
.fw-leg,
.fw-dot,
.funnel__iso,
.ob-in,
.ob-bar,
.ob-arm,
.ob-dot,
.out,
#how .sec, #how .lede,
.step,
.pi-gc0,
.pi-gc1,
.pi-gc2,
.pi-gc3,
.pi-gg-b,
.pi-gg-o,
.pi-gg-s,
.pi-gg-d,
.pi-ga-d,
.pi-ga-r,
.watch .sec, .watch__copy p,
.player,
.modules .sec, .modules .lede,
.lv3-g, .lv2-g, .lv1-g, .lv0-g,
.lay,
.lv-guides path,
.trust .sec, .trust .lede,
.tr__icon,
.tr h3, .tr p,
.pi-src-v,
.pi-src-h,
.pi-src-f,
.pi-src-d,
.pi-cf-a,
.pi-cf-n,
.pi-cf-p,
.pi-rr-i,
.pi-rr-a,
.pi-rr-p,
.pi-ex-l,
.pi-ex-r,
.close h2, .close .dr-btn
) { animation-name: none; }

@media (prefers-reduced-motion: reduce) {
  :is(
.terminal,
.tm__meter i,
.fchip,
.fw-leg,
.fw-dot,
.funnel__iso,
.ob-in,
.ob-bar,
.ob-arm,
.ob-dot,
.out,
#how .sec, #how .lede,
.step,
.pi-gc0,
.pi-gc1,
.pi-gc2,
.pi-gc3,
.pi-gg-b,
.pi-gg-o,
.pi-gg-s,
.pi-gg-d,
.pi-ga-d,
.pi-ga-r,
.watch .sec, .watch__copy p,
.player,
.modules .sec, .modules .lede,
.lv3-g, .lv2-g, .lv1-g, .lv0-g,
.lay,
.lv-guides path,
.trust .sec, .trust .lede,
.tr__icon,
.tr h3, .tr p,
.pi-src-v,
.pi-src-h,
.pi-src-f,
.pi-src-d,
.pi-cf-a,
.pi-cf-n,
.pi-cf-p,
.pi-rr-i,
.pi-rr-a,
.pi-rr-p,
.pi-ex-l,
.pi-ex-r,
.close h2, .close .dr-btn
  ) { animation-name: none; }
}
