.reveal-element {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    will-change: opacity, transform;
}
.reveal-element.active {
    opacity: 1;
    transform: translateY(0);
    will-change: auto;
}
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }

/* Wyraźny fokus dla użytkowników klawiatury (WCAG 2.4.7), niewidoczny przy kliknięciu myszką */
a:focus-visible,
button:focus-visible {
    outline: 2px solid #0284c7 !important;
    outline-offset: 3px !important;
}

.dark a:focus-visible,
.dark button:focus-visible {
    outline-color: #38bdf8 !important;
}

@media (prefers-reduced-motion: reduce) {
    .reveal-element {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        will-change: auto !important;
    }
    html {
        scroll-behavior: auto !important;
    }
}