/* Quiet, short motion shared by every WirkFabrik page. */
@media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth; }

    .wf-button {
        transition: transform 240ms cubic-bezier(.22, 1, .36, 1),
            box-shadow 240ms ease, background-color 200ms ease;
    }
    .wf-button > span[aria-hidden="true"] {
        transition: transform 240ms cubic-bezier(.22, 1, .36, 1);
    }
    .wf-nav a::after { transition-duration: 280ms; }
    .wf-process__card, .wf-outcome-card, .wf-post-card, .wf-event-card {
        transition: transform 320ms cubic-bezier(.22, 1, .36, 1),
            border-color 240ms ease, box-shadow 320ms ease;
    }
    .wf-accordion__item[open] .wf-accordion__panel {
        animation: wf-disclose 260ms cubic-bezier(.22, 1, .36, 1);
    }
    @keyframes wf-disclose {
        from { opacity: .35; transform: translateY(-6px); }
        to { opacity: 1; transform: translateY(0); }
    }
    @keyframes wf-menu-enter {
        from { opacity: .35; transform: translateY(-8px); }
        to { opacity: 1; transform: translateY(0); }
    }
    @media (max-width: 820px) {
        .wf-navigation-ready .wf-nav.is-open {
            animation: wf-menu-enter 220ms cubic-bezier(.22, 1, .36, 1);
        }
    }
    @media (hover: hover) and (pointer: fine) {
        .wf-button:hover:not(:disabled) {
            transform: translateY(-2px);
            box-shadow: 0 8px 22px -12px rgba(17, 18, 15, .55);
        }
        .wf-button:hover > span[aria-hidden="true"] { transform: translateX(3px); }
        .wf-post-card:hover, .wf-event-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 16px 32px -26px rgba(17, 18, 15, .4);
        }
    }
    .wf-button:active:not(:disabled) {
        transform: translateY(0) scale(.98);
        box-shadow: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wf-button:hover, .wf-process__card:hover, .wf-outcome-card:hover,
    .wf-post-card:hover, .wf-event-card:hover { transform: none; }
}

@media print {
    *, *::before, *::after { animation: none !important; transition: none !important; }
}
