html {
    scroll-behavior: smooth;
}
body {
    font-family: 'Inter', sans-serif;
    background: #ffffff;
}
.font-display {
    font-family: 'Poppins', sans-serif;
}
.hero-bg {
    background-image: linear-gradient(135deg, #0f2d5e 0%, #1a4a8a 100%);
}
.hero-pattern {
    background-image: radial-gradient(circle at 10% 10%, rgba(255,255,255,0.16), transparent 25%), repeating-linear-gradient(135deg, rgba(255,255,255,0.08) 0, rgba(255,255,255,0.08) 1px, transparent 1px, transparent 10px);
}
.glass-card {
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,0.18);
}
.section-heading::after {
    content: '';
    display: block;
    width: 3rem;
    height: 0.35rem;
    margin: 0.75rem auto 0;
    border-radius: 9999px;
    background: #f59e0b;
}
[x-cloak] {
    display: none !important;
}
.hero-overlay::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top left, rgba(255,255,255,0.18), transparent 25%), radial-gradient(circle at bottom right, rgba(255,255,255,0.08), transparent 22%);
    pointer-events: none;
}
.nav-link-active {
    border-bottom: 3px solid #f59e0b;
    color: #0f2d5e;
}
.text-kfdc {
    color: #0f2d5e;
}
.bg-kfdc {
    background-color: #0f2d5e;
}
.text-ambergold {
    color: #f59e0b;
}
.bg-ambergold {
    background-color: #f59e0b;
}
.border-ambergold {
    border-color: #f59e0b;
}
.shadow-hero {
    box-shadow: 0 30px 90px rgba(15, 45, 94, 0.24);
}
.main-content {
    margin-top: 0 !important;
}
.hero-curve {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 120px;
    background: radial-gradient(circle at center top, rgba(255,255,255,0.15), transparent 55%);
}
/* Right-side stacked stats boxes */
.stats-stack {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.stats-box {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    padding: 1.25rem;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 240px;
}
.stats-box .num { font-size: 1.5rem; font-weight:700; color: #f59e0b; }
.stats-box .label { font-size: 0.9rem; color: rgba(255,255,255,0.8); }

/* Quick action cards polish */
.cta-container { background: #f8fafc; padding: 2.5rem; border-radius: 1rem; }
.cta-card { border-radius: 1rem; }
.cta-card.middle { border: 2px solid #f59e0b; transform: translateY(-8px); }
.cta-card .cta-icon { background: transparent; color: #f59e0b; border: 1px solid rgba(245,158,11,0.12); }

/* Footer navy style */
.footer-navy { background: #0f2d5e; color: #dbeafe; }
.footer-navy a { color: rgba(255,255,255,0.9); }
.footer-bottom { background: rgba(0,0,0,0.06); color: rgba(255,255,255,0.8); }

/* Featured programs snap + card polish */
.snap-container { -webkit-overflow-scrolling: touch; scroll-behavior: smooth; }
.snap-container::-webkit-scrollbar { display: none; }
.featured-card { min-width: 260px; width: 18rem; scroll-snap-align: start; border-radius: 1rem; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.featured-card:hover { transform: translateY(-8px); box-shadow: 0 18px 40px rgba(15,45,94,0.12); border-color: rgba(245,158,11,0.65); }
.featured-banner { border-top-left-radius: 0.75rem; border-top-right-radius: 0.75rem; padding: 0.75rem 1rem; }
.featured-meta { margin-top: 0.85rem; display: flex; gap: .5rem; flex-wrap: wrap; }

@media (max-width: 767px) {
    header {
        border-bottom: 1px solid rgba(15,45,94,0.08);
    }

    .hero-bg {
        padding-top: 6rem;
        padding-bottom: 3rem;
    }

    .hero-bg .hero-curve {
        height: 80px;
    }

    .hero-bg .stats-stack {
        gap: 1rem;
    }

    .stats-box {
        min-width: auto;
        width: 100%;
    }

    .stats-box .num {
        font-size: 1.35rem;
    }

    .glass-card {
        border-radius: 1.75rem;
        padding: 1.5rem;
    }

    .hero-bg .glass-card {
        padding: 1.5rem;
    }

    .section-heading::after {
        width: 4rem;
    }

    .cta-container {
        padding: 1.5rem;
    }

    .cta-card {
        border-radius: 1.5rem;
    }

    .featured-card {
        min-width: 100%;
        width: auto;
    }

    .snap-container {
        padding-bottom: 1rem;
    }

    .mobile-step-line {
        width: calc(100% - 4rem);
        height: 1px;
        background: rgba(15,45,94,0.08);
        margin: 1rem 0;
    }

    .hero-bg .hero-overlay {
        opacity: 0.95;
    }

    .hero-bg .hero-overlay::before {
        background: radial-gradient(circle at top left, rgba(255,255,255,0.22), transparent 28%), radial-gradient(circle at bottom right, rgba(255,255,255,0.1), transparent 22%);
    }

    .hero-bg h1,
    .hero-bg p,
    .hero-bg .inline-flex {
        text-align: left;
    }

    .hero-bg .inline-flex {
        justify-content: flex-start;
    }

    .hero-bg .mt-10.flex-col > a {
        width: 100%;
    }

    .hero-bg .flex-col {
        gap: 1rem;
    }
}
