.title-line {
  display: block;
  overflow: clip;
  padding-block: .14em;
  margin-block: -.14em;
}

.title-line-inner { display: block; }

@media (prefers-reduced-motion: no-preference) {
  .event-effects-ready .hero-title { animation: none; }

  .event-effects-ready .hero-title .title-line-inner {
    animation: title-rise 1s cubic-bezier(.16, 1, .3, 1) both;
  }

  .event-effects-ready .hero-title .title-line:last-child .title-line-inner {
    animation-delay: .12s;
  }

  .event-effects-ready .hero-prefix,
  .event-effects-ready .hero .hero-subtitle,
  .event-effects-ready .hero-copy,
  .event-effects-ready .hero .ctas,
  .event-effects-ready .logo-card {
    animation: detail-enter .8s cubic-bezier(.16, 1, .3, 1) .12s both;
  }

  .event-effects-ready .hero-copy { animation-delay: .2s; }
  .event-effects-ready .hero .ctas { animation-delay: .28s; }
  .event-effects-ready .logo-card { animation-delay: .18s; }

  .event-effects-ready .motion-ready {
    transition: opacity .85s var(--motion-ease), transform .85s var(--motion-ease),
      background-color .35s ease, color .35s ease, border-color .35s ease, box-shadow .35s ease;
  }

  .event-effects-ready .motion-ready:not(.in-view) {
    opacity: 0;
    transform: translateY(26px);
  }

  .event-effects-ready .schedule .motion-ready:not(.in-view),
  .event-effects-ready .category-tariffs .motion-ready:not(.in-view) {
    transform: translateY(20px) scale(.97);
  }

  .event-effects-ready .motion-ready.in-view {
    opacity: 1;
    transform: none;
    transition-delay: var(--reveal-delay, 0ms), var(--reveal-delay, 0ms), 0ms, 0ms, 0ms, 0ms;
  }

  .event-effects-ready .final .in-view .title-line-inner {
    animation: title-rise .9s cubic-bezier(.16, 1, .3, 1) both;
  }

  .event-effects-ready .final .in-view .title-line:last-child .title-line-inner {
    animation-delay: .1s;
  }

  @media (hover: hover) and (pointer: fine) {
    .event-home .btn {
      translate: var(--magnet-x, 0px) var(--magnet-y, 0px);
      transition: translate .3s var(--motion-ease), transform .3s var(--motion-ease),
        background-color .3s ease, box-shadow .3s ease;
    }
  }

  @media (max-width: 640px) {
    .event-effects-ready .motion-ready:not(.in-view),
    .event-effects-ready .schedule .motion-ready:not(.in-view),
    .event-effects-ready .category-tariffs .motion-ready:not(.in-view) {
      transform: translateY(14px);
    }
    .event-effects-ready .motion-ready { transition-duration: .55s; }
    .event-effects-ready .hero-title .title-line-inner { animation-duration: .75s; }
  }
}

.event-home .nav-links a::after {
  width: 100%;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .35s var(--motion-ease);
}

.event-home .nav-links a:hover::after,
.event-home .nav-links a:focus-visible::after,
.event-home .nav-links a.active::after {
  transform: scaleX(1);
  transform-origin: left;
}

.category-tariffs article :is(h3, strong, span),
.schedule dl > div :is(dt, dd) {
  transition: color .35s ease;
}

@media (hover: hover) and (pointer: fine) {
  .event-home .category-tariffs article:hover {
    background: #f0e2fa;
    border-color: #dbc0ee;
    transform: translateY(-3px);
  }
  .event-home .category-tariffs article:hover :is(h3, strong) { color: #392052; }
  .event-home .category-tariffs article:hover > span { color: #8054aa; }
  .event-home .schedule dl > div:not(:last-child):hover {
    background: #f5edfa;
    border-color: #cdb1df;
  }
}

@keyframes title-rise {
  from { transform: translateY(110%); }
  to { transform: translateY(0); }
}

@keyframes detail-enter {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce), print {
  .event-home .title-line-inner,
  .event-home .motion-ready,
  .event-home .btn {
    opacity: 1 !important;
    transform: none !important;
    translate: none !important;
    animation: none !important;
    transition: none !important;
  }
}
