/* Reveal system */

[data-reveal] {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity 0.8s var(--ease-out-expo),
        transform 0.8s var(--ease-out-expo);
}

[data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

[data-reveal="clip"] {
    opacity: 1;
    transform: none;
    clip-path: inset(100% 0 0 0);
    transition: clip-path 0.9s var(--ease-out-expo);
}

[data-reveal="clip"].is-visible {
    clip-path: inset(0 0 0 0);
}

[data-reveal="from-left"] {
    transform: translateX(-32px);
}

[data-reveal="from-left"].is-visible {
    transform: translateX(0);
}

[data-reveal="from-right"] {
    transform: translateX(32px);
}

[data-reveal="from-right"].is-visible {
    transform: translateX(0);
}

[data-reveal="scale"] {
    transform: scale(0.94);
}

[data-reveal="scale"].is-visible {
    transform: scale(1);
}

[data-reveal-line] {
    position: relative;
    display: inline-block;
}

[data-reveal-line]::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.35rem;
    width: 100%;
    height: 1px;
    background: currentColor;
    opacity: 0.35;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.85s var(--ease-out-expo);
}

[data-reveal-line].is-visible::after {
    transform: scaleX(1);
}

[data-reveal-stagger] > * {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity 0.7s var(--ease-out-expo),
        transform 0.7s var(--ease-out-expo);
}

[data-reveal-stagger].is-visible > * {
    opacity: 1;
    transform: translateY(0);
}

[data-reveal-stagger].is-visible > *:nth-child(1) { transition-delay: 0ms; }
[data-reveal-stagger].is-visible > *:nth-child(2) { transition-delay: 70ms; }
[data-reveal-stagger].is-visible > *:nth-child(3) { transition-delay: 140ms; }
[data-reveal-stagger].is-visible > *:nth-child(4) { transition-delay: 210ms; }
[data-reveal-stagger].is-visible > *:nth-child(5) { transition-delay: 280ms; }
[data-reveal-stagger].is-visible > *:nth-child(6) { transition-delay: 350ms; }

[data-reveal-stagger="cards"] > * {
    transform: translateY(28px) scale(0.97);
}

[data-reveal-stagger="cards"].is-visible > * {
    transform: translateY(0) scale(1);
}

.split-word {
    display: inline-block;
    opacity: 0;
    transform: translateY(105%);
    transition:
        opacity 0.75s var(--ease-out-expo),
        transform 0.75s var(--ease-out-expo);
}

.hero-loaded .split-word {
    opacity: 1;
    transform: translateY(0);
}

/* Content cards (feature rows, dual panels, principles) */
.content-card {
    opacity: 0;
    transform: translateY(22px);
    transition:
        opacity 0.75s var(--ease-out-expo),
        transform 0.75s var(--ease-out-expo),
        background 0.5s var(--ease-out-expo);
}

.content-card.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.dual-panel article.content-card:hover,
.feature-row article.content-card:hover {
    transform: translateY(-3px);
}

.scale-panel-body [data-reveal],
.scale-panel-body [data-reveal-stagger] > * {
    opacity: 1;
    transform: none;
    transition: none;
    clip-path: none;
}

@media (prefers-reduced-motion: reduce) {
    [data-reveal],
    [data-reveal-stagger] > *,
    [data-reveal="clip"],
    .split-word,
    .content-card {
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
        transition: none !important;
    }

    [data-reveal-line]::after {
        transform: none !important;
    }
}
