/* A lightweight, looping SVG ribbon. No video, canvas or third-party libraries. */
.trust-wave {
    --wave-height: 94px;
    --wave-font-size: 28px;
    width: 100vw;
    min-width: 0;
    max-width: none;
    margin-inline: calc(50% - 50vw);
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    contain: paint;
}
.trust-wave__motion {
    display: block;
    width: 100%;
    height: var(--wave-height);
    padding: 0;
    border: 0;
    border-radius: inherit;
    overflow: hidden;
    background: transparent;
    box-shadow: none;
    cursor: default;
    touch-action: pan-y pinch-zoom;
    -webkit-tap-highlight-color: transparent;
    mask-image: linear-gradient(90deg, transparent, #000 2%, #000 98%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 2%, #000 98%, transparent);
}
.trust-wave__motion[hidden] { display: none; }
.trust-wave__track {
    display: flex;
    width: max-content;
    height: 100%;
    animation: trust-wave-travel var(--wave-duration, 36s) linear infinite;
}
.trust-wave__bob {
    transform-box: view-box;
    transform-origin: 0 0;
    animation: trust-wave-swell var(--wave-cycle, 4.8s) linear infinite;
    animation-delay: var(--wave-phase, 0s);
}
.trust-wave[data-paused="true"] .trust-wave__track,
.trust-wave[data-paused="true"] .trust-wave__bob { animation-play-state: paused; }
.trust-wave__tile { display: block; flex: none; width: var(--wave-width); height: 100%; overflow: visible; }
.trust-wave__text {
    font-family: "Ney Banner Titan", sans-serif;
    font-size: var(--wave-font-size);
    font-weight: 400;
    font-synthesis: none;
    fill: #fffef1;
}
.trust-wave__phrase { filter: drop-shadow(0 3px 0 #138928); }
.trust-wave__icon { color: #ffe05d; filter: drop-shadow(0 2px 0 #15742c); }
.trust-wave__icon svg,
.trust-wave__fallback svg { stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.trust-wave__fallback {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 18px 32px;
    min-height: var(--wave-height);
    margin: 0;
    padding: 18px;
    list-style: none;
    color: #fffef1;
    font-family: "Ney Banner Titan", sans-serif;
    font-size: 16px;
    font-weight: 400;
}
.trust-wave__fallback li { display: flex; align-items: center; gap: 8px; }
.trust-wave__fallback svg { width: 23px; height: 23px; flex: none; color: #ffe05d; }
.trust-wave[data-ready="true"] .trust-wave__fallback { display: none; }
@keyframes trust-wave-travel { to { transform: translate3d(calc(-1 * var(--wave-width)), 0, 0); } }
/* Each sample describes one sine wave. The spatial delays connect neighboring glyphs. */
@keyframes trust-wave-swell {
    0%, 100% { transform: translateY(0) rotate(calc(var(--wave-tilt) * -1)); }
    6.25% { transform: translateY(calc(var(--wave-rise) * -.382683)) rotate(calc(var(--wave-tilt) * -.92388)); }
    12.5% { transform: translateY(calc(var(--wave-rise) * -.707107)) rotate(calc(var(--wave-tilt) * -.707107)); }
    18.75% { transform: translateY(calc(var(--wave-rise) * -.92388)) rotate(calc(var(--wave-tilt) * -.382683)); }
    25% { transform: translateY(calc(var(--wave-rise) * -1)) rotate(0deg); }
    31.25% { transform: translateY(calc(var(--wave-rise) * -.92388)) rotate(calc(var(--wave-tilt) * .382683)); }
    37.5% { transform: translateY(calc(var(--wave-rise) * -.707107)) rotate(calc(var(--wave-tilt) * .707107)); }
    43.75% { transform: translateY(calc(var(--wave-rise) * -.382683)) rotate(calc(var(--wave-tilt) * .92388)); }
    50% { transform: translateY(0) rotate(var(--wave-tilt)); }
    56.25% { transform: translateY(calc(var(--wave-rise) * .382683)) rotate(calc(var(--wave-tilt) * .92388)); }
    62.5% { transform: translateY(calc(var(--wave-rise) * .707107)) rotate(calc(var(--wave-tilt) * .707107)); }
    68.75% { transform: translateY(calc(var(--wave-rise) * .92388)) rotate(calc(var(--wave-tilt) * .382683)); }
    75% { transform: translateY(var(--wave-rise)) rotate(0deg); }
    81.25% { transform: translateY(calc(var(--wave-rise) * .92388)) rotate(calc(var(--wave-tilt) * -.382683)); }
    87.5% { transform: translateY(calc(var(--wave-rise) * .707107)) rotate(calc(var(--wave-tilt) * -.707107)); }
    93.75% { transform: translateY(calc(var(--wave-rise) * .382683)) rotate(calc(var(--wave-tilt) * -.92388)); }
}
@media (max-width: 767px) {
    .trust-wave { --wave-height: 76px; --wave-font-size: 21px; }
    .trust-wave__fallback { gap: 14px; font-size: 12px; padding: 16px 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .trust-wave__motion { display: none; }
    .trust-wave[data-ready="true"] .trust-wave__fallback { display: flex; }
    .trust-wave__track, .trust-wave__bob { animation: none; }
}
