/* Custom styles and overrides */

html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Smooth scroll offset for fixed nav */
section[id] {
    scroll-margin-top: 80px;
}

/* Mobile link active state */
.mobile-link.active {
    background-color: rgb(240 253 250);
    color: rgb(13 148 136);
}

/* Nav link underline on active */
.nav-link.active {
    color: rgb(13 148 136);
    background-color: rgb(240 253 250);
}

/* Selection color */
::selection {
    background-color: rgb(204 251 241);
    color: rgb(17 94 89);
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: rgb(241 245 249);
}
::-webkit-scrollbar-thumb {
    background: rgb(203 213 225);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgb(148 163 184);
}

/* Focus visible for accessibility */
:focus-visible {
    outline: 2px solid rgb(13 148 136);
    outline-offset: 2px;
    border-radius: 4px;
}

/* Subtle pattern for hero background */
.hero-pattern {
    background-image: radial-gradient(circle at 1px 1px, rgb(204 251 241) 1px, transparent 0);
    background-size: 32px 32px;
}
