.chh-wrap {
  --chh-kc: #1c1c3a;
  --chh-tc: #1c1c3a;
  --chh-h1: #ff3cac;
  --chh-h2: #00c2ff;
  --chh-lc: #ff3cac;
  font-family: Poppins, sans-serif;
}
.chh-align-left {
  text-align: left;
}
.chh-align-center {
  text-align: center;
}
.chh-align-right {
  text-align: right;
}
.chh-kicker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--chh-lg);
  color: var(--chh-kc);
  font-family: var(--chh-kf);
  font-size: var(--chh-ks);
  font-weight: var(--chh-kw);
  letter-spacing: var(--chh-ksp);
  line-height: var(--chh-klh);
  text-transform: uppercase;
  margin-bottom: 15px;
}
.chh-align-left .chh-kicker {
  justify-content: flex-start;
}
.chh-align-right .chh-kicker {
  justify-content: flex-end;
}
.chh-kicker i {
  display: block;
  width: var(--chh-lw);
  height: 0;
  border-top: var(--chh-lt) var(--chh-ls) var(--chh-lc);
  transform-origin: center;
}
.chh-lines-none .chh-kicker i,
.chh-lines-left .chh-kicker i:last-child,
.chh-lines-right .chh-kicker i:first-child {
  display: none;
}
.chh-title {
  margin: 0;
  color: var(--chh-tc);
  font-family: var(--chh-tf);
  font-size: var(--chh-ts);
  font-weight: var(--chh-tw);
  letter-spacing: var(--chh-tsp);
  line-height: var(--chh-tlh);
}
.chh-h1 {
  color: var(--chh-h1);
}
.chh-h2 {
  color: var(--chh-h2);
}
.chh-wrap {
  opacity: 1;
  visibility: visible;
}
.chh-title .chh-break {
  display: block;
}
/* Never hide the content while waiting for JavaScript. This keeps headings
   visible when optimisation/caching delays or blocks the animation script. */
.chh-wrap.chh-js-pending {
  opacity: 1 !important;
  visibility: visible !important;
}
.chh-animate {
  opacity: 1;
  animation-duration: var(--chh-dur);
  animation-delay: var(--chh-delay);
  animation-fill-mode: both;
}
.chh-animate[data-chh-animation="fade-up"] {
  animation-name: chhFadeUp;
}
.chh-animate[data-chh-animation="slide-in"] {
  animation-name: chhSlide;
}
.chh-animate[data-chh-animation="stagger"] .chh-kicker {
  animation: chhFadeUp var(--chh-dur) var(--chh-delay) both;
}
.chh-animate[data-chh-animation="stagger"] .chh-title {
  animation: chhFadeUp var(--chh-dur) calc(var(--chh-delay) + 180ms) both;
}
.chh-animate[data-chh-animation="lines-grow"] .chh-kicker i {
  animation: chhGrow var(--chh-dur) var(--chh-delay) both;
}
.chh-animate[data-chh-animation="colour-sweep"] .chh-h1,
.chh-animate[data-chh-animation="colour-sweep"] .chh-h2 {
  background: linear-gradient(90deg, currentColor 50%, var(--chh-tc) 50%) 100%/200%
    100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: chhSweep var(--chh-dur) var(--chh-delay) both;
}
.chh-animate[data-chh-animation="typewriter"] .chh-title {
  overflow: hidden;
  white-space: nowrap;
  width: 0;
  animation: chhType var(--chh-dur) steps(35, end) var(--chh-delay) forwards;
}
.chh-animate[data-chh-animation="word-reveal"] .chh-title {
  animation: chhReveal var(--chh-dur) var(--chh-delay) both;
}
@keyframes chhFadeUp {
  from {
    opacity: 0;
    transform: translateY(26px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes chhSlide {
  from {
    opacity: 0;
    transform: translateX(-38px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes chhGrow {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
@keyframes chhSweep {
  to {
    background-position: 0;
  }
}
@keyframes chhType {
  to {
    width: 100%;
  }
}
@keyframes chhReveal {
  from {
    opacity: 0;
    filter: blur(9px);
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    filter: none;
    transform: none;
  }
}
@media (max-width: 767px) {
  .chh-title {
    font-size: calc(var(--chh-ts) * 0.68);
  }
  .chh-kicker {
    font-size: calc(var(--chh-ks) * 0.9);
  }
  .chh-animate[data-chh-animation="typewriter"] .chh-title {
    white-space: normal;
  }
}
@media (prefers-reduced-motion: reduce) {
  .chh-wrap,
  .chh-wrap * {
    animation: none !important;
    transition: none !important;
  }
  .chh-wrap {
    opacity: 1 !important;
  }
}
