:root {
  --v5-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --v5-overshoot: cubic-bezier(0.34, 1.56, 0.64, 1);
}

.t-btn, .t-submit, .tn-elem[data-elem-type="button"] .tn-atom {
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  will-change: transform;
}
.t-btn:hover, .t-submit:hover, .tn-elem[data-elem-type="button"] .tn-atom:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px rgba(24, 26, 30, 0.18);
}
.t-btn:active, .t-submit:active, .tn-elem[data-elem-type="button"] .tn-atom:active {
  transform: translateY(-1px);
  box-shadow: 0 6px 12px rgba(24, 26, 30, 0.14);
}

.t-menu__link-item { transition: opacity 0.2s ease; }
.t-menu__link-item:hover { opacity: 0.6; }

.anim-js .anim-reveal {
  opacity: 0; transform: translateY(28px);
  transition: opacity 0.6s var(--v5-ease-out), transform 0.6s var(--v5-ease-out);
}
.anim-js .anim-reveal.is-visible { opacity: 1; transform: none; }

.anim-js .anim-reveal-40 {
  opacity: 0; transform: translateY(40px);
  transition: opacity 0.6s var(--v5-ease-out), transform 0.6s var(--v5-ease-out);
}
.anim-js .anim-reveal-40.is-visible { opacity: 1; transform: none; }

.anim-js .anim-pop {
  opacity: 0; transform: scale(0.85);
  transition: opacity 0.45s ease, transform 0.5s var(--v5-overshoot);
}
.anim-js .anim-pop.is-visible { opacity: 1; transform: scale(1); }

.anim-js .anim-pop-badge {
  opacity: 0; transform: scale(0.5) rotate(14deg);
  transition: opacity 0.45s ease, transform 0.55s var(--v5-overshoot);
}
.anim-js .anim-pop-badge.is-visible { opacity: 1; transform: scale(1) rotate(0deg); }

.anim-js .anim-pop-sparkle {
  opacity: 0; transform: scale(0.2) rotate(-45deg);
  transition: opacity 0.35s ease, transform 0.45s var(--v5-overshoot);
}
.anim-js .anim-pop-sparkle.is-visible { opacity: 1; transform: none; }

.anim-js .anim-chrome {
  opacity: 0; transform: scale(0.7) rotate(-8deg);
  transition: opacity 0.5s ease, transform 0.55s var(--v5-overshoot);
}
.anim-js .anim-chrome.is-visible { opacity: 1; transform: none; }

.anim-js .anim-num {
  opacity: 0; transform: translateX(-60px);
  transition: opacity 0.5s var(--v5-ease-out), transform 0.5s var(--v5-ease-out);
}
.anim-js .anim-num.is-visible { opacity: 1; transform: none; }
.anim-js .anim-num-dark.is-visible { opacity: 1; }

.anim-js [data-elem-type="button"].anim-reveal,
.anim-js [data-elem-type="button"].anim-reveal-40,
.anim-js [data-elem-type="button"].anim-pop {
  opacity: 1;
  transform: none;
  transition: none;
}

.anim-js .anim-order-1 { transition-delay: 0.15s; }
.anim-js .anim-order-2 { transition-delay: 0.3s; }
.anim-js .anim-order-3 { transition-delay: 0.45s; }
.anim-js .anim-order-4 { transition-delay: 0.6s; }
.anim-js .anim-order-5 { transition-delay: 0.75s; }
.anim-js .anim-order-6 { transition-delay: 0.9s; }

.anim-js .anim-d15  { transition-delay: 0.15s; }
.anim-js .anim-d30  { transition-delay: 0.3s; }
.anim-js .anim-d45  { transition-delay: 0.45s; }
.anim-js .anim-d60  { transition-delay: 0.6s; }
.anim-js .anim-d80  { transition-delay: 0.8s; }
.anim-js .anim-d90  { transition-delay: 0.9s; }
.anim-js .anim-d100 { transition-delay: 1s; }
.anim-js .anim-d120 { transition-delay: 1.2s; }
.anim-js .anim-d135 { transition-delay: 1.35s; }
.anim-js .anim-d145 { transition-delay: 1.45s; }
.anim-js .anim-d150 { transition-delay: 1.5s; }

.anim-marquee .tn-atom { display: flex !important; overflow: hidden; white-space: nowrap; }
.anim-marquee .v5-mq { flex: none; padding-right: 0.6em; animation: v5-mq 30s linear infinite reverse; }
@keyframes v5-mq { to { transform: translateX(-100%); } }

.hg-lift .tn-atom, .hg-photo .tn-atom, .hg-arrow .tn-atom, .hg-invert .tn-atom {
  transition: transform 0.3s var(--v5-ease-out), box-shadow 0.3s ease,
              background-color 0.25s ease, color 0.25s ease !important;
}
.hg-lift.is-hover .tn-atom { transform: translateY(-6px); box-shadow: 0 16px 32px rgba(24, 26, 30, 0.16); }
.hg-photo.is-hover .tn-atom { transform: scale(1.04); }
.hg-arrow.is-hover .tn-atom { transform: translate(4px, -4px); }
.hg-invert:hover .tn-atom, .hg-invert.is-hover .tn-atom {
  background-color: #181A1E !important; color: #F2F3EF !important;
}

.hover-wiggle .tn-atom { transition: transform 0.35s var(--v5-overshoot) !important; }
.hover-wiggle:hover .tn-atom { transform: rotate(6deg) scale(1.06); }

.hg-wiggle .tn-atom { transition: transform 0.35s var(--v5-overshoot) !important; }
.hg-wiggle.is-hover .tn-atom { transform: rotate(6deg) scale(1.06); }

.v5-row { cursor: pointer; }
.v5-row-arrow .tn-atom { transition: transform 0.3s var(--v5-ease-out) !important; }
.v5-row:hover .v5-row-arrow .tn-atom { transform: translate(6px, -6px); }

.v5-badge { transition: transform 0.35s var(--v5-overshoot); cursor: pointer; }
.v5-badge:hover { transform: rotate(6deg) scale(1.06); }

.v5-card { cursor: pointer; }
.v5-card > .tn-molecule { transition: background-color 0.25s ease !important; }
.v5-card:hover > .tn-molecule { background-color: #E9EBE1 !important; }
.v5-pill > .tn-molecule, .v5-pill.tn-elem .tn-atom,
.v5-pill .tn-elem[data-elem-type="shape"] .tn-atom { transition: background-color 0.25s ease !important; }
.v5-card:hover .v5-pill > .tn-molecule,
.v5-card:hover .v5-pill.tn-elem .tn-atom,
.v5-card:hover .v5-pill .tn-elem[data-elem-type="shape"] .tn-atom { background-color: #FFFFFF !important; }

.v5-card-link .tn-atom { transition: transform 0.3s var(--v5-ease-out) !important; }
.v5-card:hover .v5-card-link .tn-atom { transform: translateX(4px); }
.v5-card:hover .v5-card-arrow .tn-atom { animation: v5-run 0.5s var(--v5-ease-out); }
@keyframes v5-run {
  0% { transform: translate(0, 0); opacity: 1; }
  45% { transform: translate(16px, -16px); opacity: 0; }
  55% { transform: translate(-16px, 16px); opacity: 0; }
  100% { transform: translate(0, 0); opacity: 1; }
}

#rec3293827001 a.tn-group > .tn-molecule {
  transition: background-color 0.25s ease !important;
}
#rec3293827001 a.tn-group:hover > .tn-molecule { background-color: #E9EBE1 !important; }
#rec3293827001 a.tn-group > .tn-molecule > .tn-elem:nth-child(2) .tn-atom {
  transition: transform 0.3s var(--v5-ease-out) !important;
}
#rec3293827001 a.tn-group:hover > .tn-molecule > .tn-elem:nth-child(2) .tn-atom {
  transform: translateX(4px);
}

.v5-menu-link { transition: opacity 0.2s ease; }
.v5-menu-link:hover { opacity: 0.6; cursor: pointer; }

.v5-btn .tn-atom { transition: transform 0.25s ease, box-shadow 0.25s ease !important; will-change: transform; }
.v5-btn:hover .tn-atom { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(24, 26, 30, 0.18); cursor: pointer; }
.v5-btn:active .tn-atom { transform: translateY(-1px); box-shadow: 0 6px 12px rgba(24, 26, 30, 0.14); }

.t-input:focus, .t-input-phonemask:focus, textarea.t-input:focus {
  border-color: #181A1E !important;
  box-shadow: 0 0 0 3px rgba(203, 255, 59, 0.55);
}

.v5-sticky-header { position: sticky !important; top: 0; z-index: 100;
  background: rgba(242, 243, 239, 0.94) !important;
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }

@media (max-width: 639px) {
  .anim-js .anim-order-1, .anim-js .anim-order-2,
  .anim-js .anim-order-3, .anim-js .anim-order-4,
  .anim-js .anim-order-5, .anim-js .anim-order-6 { transition-delay: 0s; }
  .anim-js .anim-d15, .anim-js .anim-d30, .anim-js .anim-d45,
  .anim-js .anim-d60, .anim-js .anim-d80, .anim-js .anim-d90,
  .anim-js .anim-d100, .anim-js .anim-d120, .anim-js .anim-d135,
  .anim-js .anim-d145, .anim-js .anim-d150 { transition-delay: 0s; }
}

@media (prefers-reduced-motion: reduce) {
  .anim-js .anim-reveal, .anim-js .anim-reveal-40, .anim-js .anim-pop,
  .anim-js .anim-pop-badge, .anim-js .anim-pop-sparkle,
  .anim-js .anim-chrome { opacity: 1; transform: none; transition: none; }
  .t-btn:hover, .t-submit:hover,
  .tn-elem[data-elem-type="button"] .tn-atom:hover { transform: none; box-shadow: none; }
  .anim-js .anim-num { opacity: 1; transform: none; transition: none; }
  .anim-marquee .v5-mq { animation: none; }
  .hg-lift.is-hover .tn-atom, .hg-photo.is-hover .tn-atom,
  .hg-arrow.is-hover .tn-atom, .hover-wiggle:hover .tn-atom,
  .hg-wiggle.is-hover .tn-atom,
  .v5-card:hover .v5-card-link .tn-atom,
  #rec3293827001 a.tn-group:hover > .tn-molecule > .tn-elem:nth-child(2) .tn-atom { transform: none; }
  .v5-card:hover .v5-card-arrow .tn-atom { animation: none; }
  .v5-row:hover .v5-row-arrow .tn-atom, .v5-badge:hover { transform: none; }
}
