/* Titan One outlines: identical curves without textPath/textLength or font loading. */
/* Keep the existing font registration: the separate trust-wave carousel also uses it. */
@font-face {
    font-family: "Ney Banner Titan";
    src: url("/play/assets/font/titan-one.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
.ney-motion {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    overflow: hidden;
    contain: paint;
}
.ney-motion path {
    stroke-linejoin: round;
    paint-order: stroke fill;
}
.ney-motion__ink { stroke: #fff; stroke-width: 3.2px; }
.ney-motion__ink--find { fill: url(#ney-blue); }
.ney-motion__ink--prize { fill: url(#ney-gold); stroke-width: 3.6px; }
.ney-motion__shadow { fill: #075c00; stroke: #075c00; stroke-width: 6px; opacity: .65; }
.ney-motion__shadow--far { opacity: .35; }
.ney-motion__composition { transform-origin: 50% 20%; }
.hero-banner--kinetic[data-motion-ready] .is-active .ney-motion__composition {
    animation: ney-pair-enter .95s cubic-bezier(.2, .7, .3, 1) both;
    will-change: transform, opacity;
}
.hero-banner--kinetic[data-motion-ready][data-motion-paused="true"] .is-active .ney-motion__composition { animation-play-state: paused; }
@keyframes ney-pair-enter {
    0% { opacity: 0; transform: translateY(-72%) scale(.98); }
    65% { opacity: 1; transform: translateY(2%) scale(1.006); }
    82% { opacity: 1; transform: translateY(-.7%) scale(1); }
    100% { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .hero-banner--kinetic[data-motion-ready] .is-active .ney-motion__composition { animation: none; will-change: auto; }
}
