@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

.ocb-card, .ocb-cat, .ocb-featured {
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.ocb-card:hover, .ocb-cat:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow);
    border-color: var(--terracotta);
}
.ocb-btn {
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.ocb-btn:hover { box-shadow: 0 10px 24px rgba(61, 207, 192, .22); }

@keyframes ocb-fade-up {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: none; }
}
@keyframes ocb-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes ocb-soft-zoom {
    from { transform: scale(1.06); }
    to { transform: scale(1); }
}
@keyframes ocb-wiggle {
    0% { transform: rotate(-8deg); }
    40% { transform: rotate(-3deg); }
    100% { transform: rotate(-6deg); }
}

.ocb-hero__copy {
    animation: ocb-fade-up .7s ease both;
}
.ocb-hero__visual {
    animation: ocb-fade-in .9s ease both;
}
.ocb-hero__visual img {
    animation: ocb-soft-zoom 1.4s ease both;
}
.ocb-sticker {
    animation: ocb-wiggle .8s ease .4s both;
}
.ocb-section__head,
.ocb-featured,
.ocb-collection h2 {
    animation: ocb-fade-up .55s ease both;
}
.ocb-magazine .ocb-card:nth-child(1) { animation: ocb-fade-up .55s ease .05s both; }
.ocb-magazine .ocb-card:nth-child(2) { animation: ocb-fade-up .55s ease .12s both; }
.ocb-magazine .ocb-card:nth-child(3) { animation: ocb-fade-up .55s ease .18s both; }
.ocb-magazine .ocb-card:nth-child(4) { animation: ocb-fade-up .55s ease .24s both; }
.ocb-magazine .ocb-card:nth-child(5) { animation: ocb-fade-up .55s ease .3s both; }
.ocb-rail .ocb-card:nth-child(1) { animation: ocb-fade-up .5s ease .08s both; }
.ocb-rail .ocb-card:nth-child(2) { animation: ocb-fade-up .5s ease .16s both; }
.ocb-rail .ocb-card:nth-child(3) { animation: ocb-fade-up .5s ease .24s both; }
