@charset "UTF-8";
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slide-up {
  from {
    opacity: 0;
    transform: translateY(1vw);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes slide-left {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes slide-right {
  from {
    opacity: 0;
    transform: translateX(-24px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes slide-down {
  from {
    opacity: 0;
    transform: translateY(-24px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes scale-in {
  from {
    opacity: 0;
    transform: scale(1.1);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes scale-up {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes scale-up-bounce {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  60% {
    opacity: 1;
    transform: scale(1.05);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes rotate-3d {
  from {
    opacity: 0;
    transform: rotateY(-15deg) translateZ(0);
    transform-origin: center;
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes slowzoom {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.2);
  }
}
@keyframes slowzoom-out {
  0% {
    opacity: 0.5;
    transform: scale(1.2);
  }
  5% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.animation-scroll-trigger {
  --anim-dur: 1.04s;
  --anim-delay: 0s;
}

.animation-scroll-trigger,
.animation-staggered-slide-up .animation-target,
.animation-multiple .animation-target-slide-up,
.animation-multiple .animation-target-slide-left,
.animation-multiple .animation-target-slide-right,
.animation-multiple .animation-target-slide-down,
.animation-multiple .animation-target-fade-in,
.animation-multiple .animation-target-scale-in,
.animation-multiple .animation-target-scale-up,
.animation-multiple .animation-target-scale-up-bounce,
.animation-multiple .animation-target-rotate-3d {
  will-change: opacity, transform;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
  transform: translateZ(0);
}

.js .animation-fade-in,
.js .animation-slide-up,
.js .animation-slide-left,
.js .animation-slide-right,
.js .animation-scale-in,
.js .animation-staggered-slide-up .animation-target,
.js .animation-multiple .animation-target-slide-up,
.js .animation-multiple .animation-target-slide-left,
.js .animation-multiple .animation-target-slide-right,
.js .animation-multiple .animation-target-slide-down,
.js .animation-multiple .animation-target-fade-in,
.js .animation-multiple .animation-target-scale-in,
.js .animation-multiple .animation-target-scale-up,
.js .animation-multiple .animation-target-scale-up-bounce,
.js .animation-multiple .animation-target-rotate-3d {
  opacity: 0;
}

.js .animation-fade-in-action {
  animation-name: fade-in;
  animation-duration: var(--anim-dur);
  animation-delay: var(--anim-delay);
  animation-fill-mode: both;
  animation-timing-function: ease;
}

.js .animation-slide-up-action {
  animation-name: slide-up;
  animation-duration: var(--anim-dur);
  animation-delay: var(--anim-delay);
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1);
}

.js .animation-slide-left-action {
  animation-name: slide-left;
  animation-duration: var(--anim-dur);
  animation-delay: var(--anim-delay);
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1);
}

.js .animation-slide-right-action {
  animation-name: slide-right;
  animation-duration: var(--anim-dur);
  animation-delay: var(--anim-delay);
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1);
}

.js .animation-scale-in-action {
  animation-name: scale-in;
  animation-duration: var(--anim-dur);
  animation-delay: var(--anim-delay);
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1);
}

.js .animation-scale-up-action {
  animation-name: scale-up;
  animation-duration: var(--anim-dur);
  animation-delay: var(--anim-delay);
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1);
}

.js .animation-staggered-slide-up .animation-target {
  transform: translateY(24px);
}

.js .animation-staggered-slide-up-action .animation-target {
  animation-name: slide-up;
  animation-duration: var(--anim-dur);
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1);
}

.js .animation-staggered-slide-up-action .animation-target:nth-child(1) {
  animation-delay: var(--anim-delay, 0s);
}

.js .animation-staggered-slide-up-action .animation-target:nth-child(2) {
  animation-delay: calc(var(--anim-delay, 0s) + 0.2s);
}

.js .animation-staggered-slide-up-action .animation-target:nth-child(3) {
  animation-delay: calc(var(--anim-delay, 0s) + 0.5s);
}

.js .animation-staggered-slide-up-action .animation-target:nth-child(4) {
  animation-delay: calc(var(--anim-delay, 0s) + 0.8s);
}

.js .animation-staggered-slide-up-action .animation-target:nth-child(5) {
  animation-delay: calc(var(--anim-delay, 0s) + 1.1s);
}

.js .animation-staggered-slide-up-action .animation-target:nth-child(6) {
  animation-delay: calc(var(--anim-delay, 0s) + 1.4s);
}

.js .animation-staggered-slide-up-action .animation-target:nth-child(7) {
  animation-delay: calc(var(--anim-delay, 0s) + 1.7s);
}

.js .animation-staggered-slide-up-action .animation-target:nth-child(8) {
  animation-delay: calc(var(--anim-delay, 0s) + 2s);
}

.js .animation-staggered-slide-up-action .animation-target:nth-child(9) {
  animation-delay: calc(var(--anim-delay, 0s) + 2.3s);
}

.js .animation-staggered-slide-up-action .animation-target:nth-child(10) {
  animation-delay: calc(var(--anim-delay, 0s) + 2.6s);
}

.js .animation-staggered-slide-up-action .animation-target:nth-child(11) {
  animation-delay: calc(var(--anim-delay, 0s) + 2.9s);
}

.js .animation-staggered-slide-up-action .animation-target:nth-child(12) {
  animation-delay: calc(var(--anim-delay, 0s) + 3.2s);
}

.js .animation-multiple-action .animation-target-slide-up {
  animation: slide-up var(--anim-dur) cubic-bezier(0.2, 0.7, 0.2, 1) both;
  animation-delay: var(--anim-delay);
}

.js .animation-multiple-action .animation-target-slide-left {
  animation: slide-left var(--anim-dur) cubic-bezier(0.2, 0.7, 0.2, 1) both;
  animation-delay: var(--anim-delay);
}

.js .animation-multiple-action .animation-target-slide-right {
  animation: slide-right var(--anim-dur) cubic-bezier(0.2, 0.7, 0.2, 1) both;
  animation-delay: var(--anim-delay);
}

.js .animation-multiple-action .animation-target-slide-down {
  animation: slide-down var(--anim-dur) cubic-bezier(0.2, 0.7, 0.2, 1) both;
  animation-delay: var(--anim-delay);
}

.js .animation-multiple-action .animation-target-fade-in {
  animation: fade-in var(--anim-dur) ease both;
  animation-delay: var(--anim-delay);
}

.js .animation-multiple-action .animation-target-scale-in {
  animation: scale-in var(--anim-dur) cubic-bezier(0.2, 0.7, 0.2, 1) both;
  animation-delay: var(--anim-delay);
}

.js .animation-multiple-action .animation-target-scale-up {
  animation: scale-up var(--anim-dur) cubic-bezier(0.2, 0.7, 0.2, 1) both;
  animation-delay: var(--anim-delay);
}

.js .animation-multiple-action .animation-target-scale-up-bounce {
  animation: scale-up-bounce var(--anim-dur) ease-out both;
  animation-delay: var(--anim-delay);
}

.js .animation-multiple-action .animation-target-rotate-3d {
  transform-style: preserve-3d;
  animation: rotate-3d var(--anim-dur) ease both;
  animation-delay: var(--anim-delay);
}

.js .animation-multiple-action .animation-target-slowzoom {
  animation: slowzoom 30s ease-out forwards;
  animation-delay: var(--anim-delay);
}

.js .animation-multiple-action .animation-target-slowzoom-out {
  animation: slowzoom-out 30s ease-out forwards;
  animation-delay: var(--anim-delay);
}

.animation-timeline .animation-timeline-target {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.animation-timeline .animation-timeline-target.animation-step-1,
.animation-timeline .animation-timeline-target.animation-step-2,
.animation-timeline .animation-timeline-target.animation-step-3,
.animation-timeline .animation-timeline-target.animation-step-4 {
  opacity: 1;
  transform: none;
}

.animation-increment {
  position: relative;
}

.animation-increment .animation-increment-target {
  display: inline-block;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.animation-increment.active .animation-increment-target {
  opacity: 1;
  transform: none;
}

.animation-increment.complete .animation-increment-target {
  opacity: 1;
  transform: none;
}

.animation-spin {
  transition: opacity 0.3s ease, transform 0.3s ease;
  transform: scale(0.98) rotate(0deg);
  will-change: transform;
}

.animation-stat-spinner {
  display: inline-block;
  position: relative;
  min-width: 1.6em;
  min-height: 1.6em;
}

.animation-stat-spinner.spinning::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(0, 0, 0, 0.15);
  border-top-color: #124977; /* brand navy */
  animation: spin 0.9s linear infinite;
}

.animation-stat-spinner.active::after {
  content: none;
}

.animation-stat-spinner .stat-spinner-inner {
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
  will-change: transform;
}

.animation-stat-spinner .stat-spinner-target {
  visibility: hidden;
}

.animation-stat-spinner.active .stat-spinner-target {
  visibility: visible;
}

/* 0–2500ms in 50ms steps */
.animation-delay-0 {
  --anim-delay: 0s ;
}

.animation-delay-50 {
  --anim-delay: .05s ;
}

.animation-delay-100 {
  --anim-delay: .1s ;
}

.animation-delay-150 {
  --anim-delay: .15s ;
}

.animation-delay-200 {
  --anim-delay: .2s ;
}

.animation-delay-250 {
  --anim-delay: .25s ;
}

.animation-delay-300 {
  --anim-delay: .3s ;
}

.animation-delay-350 {
  --anim-delay: .35s ;
}

.animation-delay-400 {
  --anim-delay: .4s ;
}

.animation-delay-450 {
  --anim-delay: .45s ;
}

.animation-delay-500 {
  --anim-delay: .5s ;
}

.animation-delay-550 {
  --anim-delay: .55s ;
}

.animation-delay-600 {
  --anim-delay: .6s ;
}

.animation-delay-650 {
  --anim-delay: .65s ;
}

.animation-delay-700 {
  --anim-delay: .7s ;
}

.animation-delay-750 {
  --anim-delay: .75s ;
}

.animation-delay-800 {
  --anim-delay: .8s ;
}

.animation-delay-850 {
  --anim-delay: .85s ;
}

.animation-delay-900 {
  --anim-delay: .9s ;
}

.animation-delay-950 {
  --anim-delay: .95s ;
}

.animation-delay-1000 {
  --anim-delay: 1s ;
}

.animation-delay-1050 {
  --anim-delay: 1.05s ;
}

.animation-delay-1100 {
  --anim-delay: 1.1s ;
}

.animation-delay-1150 {
  --anim-delay: 1.15s ;
}

.animation-delay-1200 {
  --anim-delay: 1.2s ;
}

.animation-delay-1250 {
  --anim-delay: 1.25s ;
}

.animation-delay-1300 {
  --anim-delay: 1.3s ;
}

.animation-delay-1350 {
  --anim-delay: 1.35s ;
}

.animation-delay-1400 {
  --anim-delay: 1.4s ;
}

.animation-delay-1450 {
  --anim-delay: 1.45s ;
}

.animation-delay-1500 {
  --anim-delay: 1.5s ;
}

.animation-delay-1550 {
  --anim-delay: 1.55s ;
}

.animation-delay-1600 {
  --anim-delay: 1.6s ;
}

.animation-delay-1650 {
  --anim-delay: 1.65s ;
}

.animation-delay-1700 {
  --anim-delay: 1.7s ;
}

.animation-delay-1750 {
  --anim-delay: 1.75s ;
}

.animation-delay-1800 {
  --anim-delay: 1.8s ;
}

.animation-delay-1850 {
  --anim-delay: 1.85s ;
}

.animation-delay-1900 {
  --anim-delay: 1.9s ;
}

.animation-delay-1950 {
  --anim-delay: 1.95s ;
}

.animation-delay-2000 {
  --anim-delay: 2s ;
}

.animation-delay-2050 {
  --anim-delay: 2.05s ;
}

.animation-delay-2100 {
  --anim-delay: 2.1s ;
}

.animation-delay-2150 {
  --anim-delay: 2.15s ;
}

.animation-delay-2200 {
  --anim-delay: 2.2s ;
}

.animation-delay-2250 {
  --anim-delay: 2.25s ;
}

.animation-delay-2300 {
  --anim-delay: 2.3s ;
}

.animation-delay-2350 {
  --anim-delay: 2.35s ;
}

.animation-delay-2400 {
  --anim-delay: 2.4s ;
}

.animation-delay-2450 {
  --anim-delay: 2.45s ;
}

.animation-delay-2500 {
  --anim-delay: 2.5s ;
}

/*# sourceMappingURL=animation.css.map */
