:root {
    --wmw-wave-fill: radial-gradient(ellipse at 20% 85%, #b03665 0%, #881944 40%, #4a0528 100%);
}

html.wmw-wave-arriving::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 2147483646;
    background: var(--wmw-wave-fill);
    pointer-events: none;
    animation: wmw-wave-safety 4s step-end forwards;
}

.wmw-page-wave {
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    overflow: hidden;
    background: var(--wmw-wave-fill);
    pointer-events: none;
    will-change: clip-path, transform;
}

.wmw-page-wave::before {
    content: '';
    position: absolute;
    inset: -50%;
    background: conic-gradient(from 20deg at 50% 65%, transparent 0deg, #f4a9c41f 50deg, transparent 90deg, transparent 220deg, #f4a9c416 280deg, transparent 310deg);
    transform: rotate(-20deg);
}

.wmw-page-wave__seal {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    opacity: 0;
}

.wmw-page-wave__mark {
    position: relative;
    overflow: hidden;
    width: clamp(140px, 23vw, 230px);
}

.wmw-page-wave__mark img {
    display: block;
    width: 100%;
    height: auto;
    filter: brightness(0) invert(1);
}

.wmw-page-wave__mark::after {
    content: '';
    position: absolute;
    inset: -30%;
    background: linear-gradient(110deg, transparent 30%, #fff8 48%, transparent 65%);
    transform: translateX(-110%);
}

.wmw-page-wave--shine .wmw-page-wave__mark::after {
    animation: wmw-wave-shine 600ms ease-out both;
}

.wmw-page-wave__caption {
    color: #f5dce6;
    font: 400 12px/1.5 'Exo 2', sans-serif;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.wmw-page-wave__line {
    width: 56px;
    height: 1px;
    background: #f4b4cd;
}

@keyframes wmw-wave-shine {
    to { transform: translateX(110%); }
}

@keyframes wmw-wave-safety {
    to { visibility: hidden; }
}

@media (prefers-reduced-motion: reduce) {
    html.wmw-wave-arriving::before,
    .wmw-page-wave {
        display: none !important;
    }
}
