/* Custom styles — minimal, supporting the design system */

:root {
    --plum-900: #581c87;
    --plum-800: #6b21a8;
    --plum-700: #7e22ce;
    --plum-600: #9333ea;
    --plum-500: #a855f7;
    --plum-200: #e9d5ff;
    --plum-100: #f3e8ff;
    --plum-50: #faf5ff;
    --amber-400: #fbbf24;
    --amber-500: #f59e0b;
}

/* Smooth focus outlines for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--plum-500);
    outline-offset: 2px;
}

/* Subtle selection color */
::selection {
    background: var(--plum-200);
    color: var(--plum-900);
}

/* Ensure consistent image rendering */
img {
    display: block;
    max-width: 100%;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--plum-50);
}
::-webkit-scrollbar-thumb {
    background: var(--plum-200);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--plum-400);
}

/* Mobile menu animation */
#mobileMenu {
    animation: slideDown 0.2s ease;
}
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Nav scroll state */
nav.scrolled {
    box-shadow: 0 1px 0 rgba(88, 28, 135, 0.08);
}
