button, .button {
    transition: background-color 180ms ease, color 180ms ease,
        box-shadow 180ms ease, transform 180ms ease;

    @media (prefers-reduced-motion: reduce) {
        transition: none;
        transform: none;
    }
}

header, footer {
    nav {
        a {
            transition: color 180ms ease;

            &:hover, &:focus-visible {
                color: var(--colour-brand-secondary);
            }

            @media (prefers-reduced-motion: reduce) {
                transition: none;
                transform: none;
            }
        }
    }
}

article.news-item, article.staff-member, section.list .pathway {
    transition: transform 240ms ease;

    @media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
        &:hover {
            transform: translateY(-3px);
        }
    }

    @media (prefers-reduced-motion: reduce) {
        transition: none;
        transform: none;
    }
}

button:not(:disabled), .button:not([disabled]) {
    @media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
        &:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(29, 29, 54, 0.14);
        }
    }

    &:active {
        transform: translateY(0);
    }
}

header {
    @media (prefers-reduced-motion: reduce) {
        transition: none;
        transform: none;
    }
}

body > sidebar.menu {
    @media (prefers-reduced-motion: reduce) {
        &, &:not(.open), nav, &:not(.open) nav {
            transition: none;
            transform: none;
        }
    }
}
