:root {
    --sc-white: #FFFFFF;
    --sc-dark: #1f2937;
    --sc-blue: #1684ac;
    --sc-lblue: #8bc2d6;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Source Sans', system-ui, sans-serif;
    color: var(--sc-dark);
    background-color: #f9fafb;
}

.font-kelson {
    font-family: 'Kelson Sans', system-ui, sans-serif;
}

.nav-active {
    color: var(--sc-blue) !important;
    border-bottom: 2px solid var(--sc-blue);
}

.page {
    display: none;
    scroll-margin-top: 4em;
    scroll-snap-margin-top: 4em;
}

.page.active {
    display: block;
    animation: fadeIn 0.4s ease-in-out;
}

.skill-badge {
    background: #eef7fa;
    color: #1684ac;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
}

.timeline-dot {
    position: absolute;
    left: -9px;
    top: 0;
    width: 1rem;
    height: 1rem;
    border-radius: 9999px;
    background-color: var(--sc-blue);
}

.pill-tag {
    background-color: #e0f2f8;
    color: var(--sc-blue);
    padding: 2px 10px;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    border: 1px solid var(--sc-lblue);
}

.mobile-menu {
    display: none;
}

.mobile-menu.open {
    display: block;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}