/* Custom styles and overrides */

:root {
    --teal-50: #f0fdfa;
    --teal-600: #0d9488;
    --teal-700: #0f766e;
    --slate-50: #f8fafc;
    --slate-800: #1e293b;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Outfit', system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.font-serif {
    font-family: 'Crimson Text', Georgia, serif;
}

/* Smooth focus styles */
a:focus-visible, button:focus-visible {
    outline: 2px solid #14b8a6;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Selection color */
::selection {
    background: #99f6e4;
    color: #0f766e;
}

/* Image loading placeholder */
img {
    background-color: #e2e8f0;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .card-hover { transition: none; }
    .card-hover:hover { transform: none; }
    .btn-primary, .btn-outline { transition: none; }
}
