/* =====================================
   NAVIGATION
===================================== */

.nav {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;

    padding: 1.5rem 2rem;

    display: flex;
    justify-content: space-between;
    align-items: center;

    z-index: 100;
}

.nav-logo {
    font-size: 1.2rem;
    font-weight: 700;

    color: #ffffff;
}

.nav-logo span {
    color: #2563eb;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.nav-links a {
    position: relative;

    color: #e5e7eb;
    text-decoration: none;
    font-size: 0.95rem;

    transition: color .2s ease;
}

.nav-links a::after {
    content: '';

    position: absolute;
    left: 0;
    bottom: -6px;

    width: 0;
    height: 2px;

    background: #2563eb;

    transition: width .2s ease;
}

.nav-links a:hover::after,
.nav-links a.active::after {
    width: 100%;
}

/* =====================================
   LIGHT NAVIGATION
===================================== */

.nav-light .nav-logo,
.nav-light .nav-links a {
    color: #0f172a;
}

.nav-light .nav-links a::after {
    background: #2563eb;
}

/* =====================================
   PAGE HERO
===================================== */

.page-hero {
    padding: 10rem 1.5rem 5rem;
    background: #f8fafc;
}

.page-hero-inner {
    max-width: 1000px;
    margin: 0 auto;

    text-align: center;
}

.page-hero h1 {
    margin-bottom: .5rem;
    font-size: 2.5rem;
}

.page-hero p {
    color: #475569;
}

/* =====================================
   MOBILE
===================================== */

@media (max-width: 768px) {

    .nav {
        padding: 1.25rem;
    }

    .nav-links {
        gap: 1rem;
    }

    .nav-links a {
        font-size: 0.9rem;
    }

}


/* Footer */

.footer {
    background: #020617;
    color: white;
    padding: 2rem;
}

.footer-inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}