/* NEVER YOUR — motion system (The Owned Axis). See docs/DESIGN-SYSTEM.md */

html.no-js [data-aos],
html.no-js .section-title,
html.no-js .work-card,
html.no-js .project-card,
html.no-js .release-card,
html.no-js .hero-headline {
    opacity: 1 !important;
    transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    [data-aos],
    .section-title,
    .meaning-item,
    .philosophy-line,
    .work-card,
    .project-card,
    .release-card,
    .hero-headline,
    .hero-axis,
    .axis-spine {
        opacity: 1 !important;
        transform: none !important;
    }

    .manifesto-slide {
        opacity: 0;
        position: absolute;
    }

    .manifesto-slide.active {
        opacity: 1;
        position: relative;
    }
}

.content-reveal {
    opacity: 1;
    transform: translateY(0);
}

html.js .content-reveal--animate {
    opacity: 0;
    transform: translateY(var(--motion-gentle));
}

html.js .content-reveal--animate.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity var(--transition-normal), transform var(--transition-normal);
}

@keyframes axisPulse {
    0%,
    100% {
        opacity: 0.35;
    }
    50% {
        opacity: 0.55;
    }
}

.hero-axis-ring {
    animation: axisPulse 8s var(--transition-normal) infinite;
}

@media (prefers-reduced-motion: reduce) {
    .hero-axis-ring {
        animation: none;
        opacity: 0.4;
    }
}
