/* Small, one-shot entrances and tactile controls in the Aetherix palette. */
.staff-v2 .btn,
.staff-v2 .main-site-link {
    transition: transform 180ms ease, box-shadow 220ms ease, border-color 180ms ease, filter 180ms ease;
}
.staff-v2 .team-member-card {
    transition: transform 240ms cubic-bezier(.2,.7,.2,1), border-color 240ms ease, box-shadow 240ms ease;
}
.staff-v2 .team-card-link > span,
.staff-v2 .main-site-link > span {
    display: inline-block;
    transition: transform 220ms ease;
}
.staff-v2 .period-tabs a,
.staff-v2 .nav-link,
.staff-v2 .online-timeline-copy strong {
    transition: color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}
.staff-v2 .nav-admin summary > span {
    display: inline-block;
    transition: transform 200ms ease;
}
.staff-v2 .nav-admin[open] summary > span { transform: rotate(180deg); }
.staff-v2 .nav-admin[open] .nav-admin-links {
    animation: staff-menu-in 180ms cubic-bezier(.2,.7,.2,1);
}
@media (hover:hover) and (pointer:fine) {
    .staff-v2 .btn:hover:not(:disabled):not([aria-disabled="true"]),
    .staff-v2 .main-site-link:hover {
        transform: translateY(-2px);
    }
    .staff-v2 .btn.primary:hover:not(:disabled):not([aria-disabled="true"]),
    .staff-v2 .main-site-link:hover { box-shadow: 0 6px 24px rgba(255,153,0,.18); }
    .staff-v2 .team-member-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 32px rgba(0,0,0,.28), 0 0 24px rgba(255,153,0,.055);
    }
    .staff-v2 .team-member-card:hover .team-card-link > span { transform: translateX(4px); }
    .staff-v2 .main-site-link:hover > span { transform: translate(2px,-2px); }
    .staff-v2 .period-tabs a:hover { box-shadow: inset 0 0 0 1px rgba(255,200,30,.2); }
}
.staff-v2 .btn:active:not(:disabled):not([aria-disabled="true"]),
.staff-v2 .main-site-link:active { transform: translateY(1px); }
@media (hover:none), (pointer:coarse) {
    .staff-v2 .team-member-card:hover { transform: none; }
}

@keyframes staff-menu-in {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

.staff-v2 .alert { animation: staff-alert-in 350ms cubic-bezier(.34,1.56,.64,1); }
.staff-v2 .team-card-status.online::before { animation: staff-online-pulse 2s ease-out infinite; }
@keyframes staff-alert-in { from { opacity: 0; transform: translateY(6px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes staff-online-pulse { 0% { box-shadow: 0 0 0 0 rgba(121,215,166,.45); } 75%,100% { box-shadow: 0 0 0 7px rgba(121,215,166,0); } }

/* No CSS-hidden content: if JavaScript is absent or fails, everything stays visible. */
@media (prefers-reduced-motion:reduce) {
    .staff-v2 *, .staff-v2 *::before, .staff-v2 *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
    .staff-v2 .btn, .staff-v2 .main-site-link, .staff-v2 .team-member-card,
    .staff-v2 .team-card-link > span, .staff-v2 .main-site-link > span {
        transform: none !important;
    }
}
@media print {
    .staff-v2 *, .staff-v2 *::before, .staff-v2 *::after {
        animation: none !important;
        transition: none !important;
    }
    .staff-v2 .btn, .staff-v2 .main-site-link, .staff-v2 .team-member-card,
    .staff-v2 .team-card-link > span, .staff-v2 .main-site-link > span {
        transform: none !important;
    }
}
