
:root {
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-in: cubic-bezier(0.55, 0, 1, 0.45);
  --ease-spring: cubic-bezier(0.3, 1.25, 0.5, 1);
  --ease-spring-lively: cubic-bezier(0.34, 1.45, 0.55, 1);

  --dur-press: 140ms;
  --dur-quick: 220ms;
  --dur-base: 380ms;
  --dur-slow: 620ms;
  --dur-epic: 950ms;

  --stagger: 34ms;
}

@supports (transition-timing-function: linear(0, 1)) {
  :root {
    --ease-spring: linear(0, 0.066, 0.213, 0.383, 0.546, 0.686, 0.796, 0.878, 0.935, 0.973, 0.996, 1.008, 1.014, 1.015, 1.014, 1.012, 1.009, 1.007, 1.005, 1.003, 1.002, 1.001, 1);
    --ease-spring-lively: linear(0, 0.079, 0.259, 0.472, 0.672, 0.836, 0.955, 1.031, 1.071, 1.083, 1.079, 1.065, 1.047, 1.03, 1.016, 1.005, 0.998, 0.994, 0.993, 0.993, 0.994, 0.996, 0.997, 0.999, 1);
  }
}

@keyframes gm-fade { from { opacity: 0; } }

@keyframes gm-rise {
  from { opacity: 0; transform: translate3d(0, 12px, 0); }
}

@keyframes gm-rise-soft {
  from { opacity: 0; transform: translate3d(0, 6px, 0); }
}

@keyframes gm-slide-in {
  from { opacity: 0; transform: translate3d(calc(16px * var(--dir)), 0, 0); }
}

@keyframes gm-scale-in {
  from { opacity: 0; transform: scale(0.94); }
}

@keyframes gm-set {
  from { opacity: 0; transform: translate3d(0, -8px, 0) scale(0.82); }
  60% { opacity: 1; }
}

@keyframes gm-letter {
  from { opacity: 0; transform: translate3d(0, 0.62em, 0); }
  40% { opacity: 1; }
}

@keyframes gm-hairline {
  from { transform: scaleX(0); opacity: 0; }
}

@keyframes gm-header-in {
  from { opacity: 0; transform: translate3d(0, -14px, 0); }
}

@keyframes gm-sweep {
  to { transform: translateX(100%); }
}

@keyframes gm-spin { to { transform: rotate(360deg); } }
@keyframes gm-spin-rev { to { transform: rotate(-360deg); } }

@keyframes gm-draw { to { stroke-dashoffset: 0; } }

@keyframes gm-seal {
  0% { transform: scale(1); }
  35% { transform: scale(1.07); }
  100% { transform: scale(1); }
}

@keyframes gm-pop {
  from { opacity: 0; transform: scale(0.6); }
}

.gm-enter {
  animation: gm-rise var(--dur-slow) var(--ease-out) backwards;
  animation-delay: var(--d, 0ms);
}
.gm-enter-soft {
  animation: gm-rise-soft var(--dur-base) var(--ease-out) backwards;
  animation-delay: var(--d, 0ms);
}
.gm-enter-slide {
  animation: gm-slide-in var(--dur-base) var(--ease-out) backwards;
  animation-delay: var(--d, 0ms);
}
.gm-enter-fade {
  animation: gm-fade var(--dur-base) var(--ease-out) backwards;
  animation-delay: var(--d, 0ms);
}

.gm-fly {
  position: fixed;
  z-index: 200;
  pointer-events: none;
  white-space: pre;
  color: var(--bone);
  will-change: transform;
}
.search-input.is-receiving {
  color: transparent !important;
  transition: none !important;
}

.motion-lite .letter-item,
.motion-lite .landing-title .ch {
  animation: none !important;
}
.motion-lite .dial-ticks,
.motion-lite .dial-inner,
.motion-lite .skeleton-row::after {
  animation: none !important;
}

.motion-reduced *,
.motion-reduced *::before,
.motion-reduced *::after {
  animation-delay: 0ms !important;
  transition-delay: 0ms !important;
}
.motion-reduced .dial-ticks,
.motion-reduced .dial-inner,
.motion-reduced .skeleton-row::after {
  animation: none !important;
}
