:root {
    --color-primary: #111827;
    --color-text: #1f2937;
    --color-text-light: #6b7280;
    --color-bg: #ffffff;
    --color-bg-subtle: #f9fafb;
    --color-border: #e5e7eb;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Focus states for accessibility */
a:focus-visible,
button:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

/* Smooth transitions for interactive elements */
a,
button {
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out;
}

/* Responsive typography adjustments */
@media (max-width: 640px) {
    h1 {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
}

/* Print styles */
@media print {
    body {
        background: white;
    }

    nav,
    footer {
        display: none;
    }
}
