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

html{
    scroll-behavior:smooth;
}

body{
    min-height:100vh;
    font-family:'georgia',sans-serif;
}

:root{

    /* JanSaadhan reference palette: navy + warm cream/khaki + orange accent */

    --primary:#1B1B4E;
    --primary-dark:#101033;
    --secondary:#2E2E7A;

    --accent:#F2823C;
    --accent-dark:#DA6B26;

    --background:#F7F1D8;

    --khaki:#E7DFAD;
    --khaki-dark:#D6CC8E;

    --text:#22223B;
    --text-muted:#6B6B4F;

    --white:#ffffff;

    --glass:rgba(231,223,173,.55);

    --glass-border:rgba(54, 40, 96, 0.7);

    --shadow:0 10px 35px rgba(27,27,78,.12);

    --radius:20px;

    --transition:.3s ease;

    --font-heading:'Caveat';
    --font-serif:'Playfair Display',serif;

}

body{

    background:var(--background);

    color:var(--text);

    overflow-x:hidden;

}

img{

    display:block;

    max-width:100%;

}

a{

    text-decoration:none;

    color:inherit;

}

button{

    border:none;

    outline:none;

    cursor:pointer;

    font-family:inherit;

}

input,
select{

    font-family:inherit;

    outline:none;

}

.container{

    width:min(1200px,90%);
    margin:auto;

}

.hidden{

    display:none;

}

body {
    background: linear-gradient(135deg, #F9F4DE 0%, #F1E8C4 100%);
    color: var(--text);
    overflow-x: hidden;
    position: relative;
}

.blob {
    position: fixed;
    border-radius: 50%;
    filter: blur(90px);
    z-index: -1;
    opacity: .3;
}

.blob-1 {
    width: 320px;
    height: 320px;
    background: #F2823C;
    top: -100px;
    left: -80px;
}

.blob-2 {
    width: 280px;
    height: 280px;
    background: #D6CC8E;
    right: -80px;
    bottom: -100px;
}

header {
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 100;
    padding: 18px 0;
}

.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    display: flex;
    align-items: center;
    gap: 14px;
}

.logo-icon {
    width: 52px;
    height: 52px;

    border-radius: 14px;

    background: linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color: white;

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

    font-weight: 700;
    font-size: 18px;
}

.logo-text h1 {
    font-family:Georgia, 'Times New Roman', Times, serif;
    /* font-style: italic; */
    font-size: 30px;
    font-weight: 500;
    color: var(--primary);
    line-height: 1;
}

.logo-text span {
    font-size: 12px;
    color: var(--text-muted);
}

.nav-links {
    margin-top: 10px;
    margin-right: 150px;
    display: flex;
    list-style: none;
    gap: 35px;
}

.nav-links a {
    font-size: large;
    font-weight: 500;
    color: var(--text);
    transition: var(--transition);
}

.nav-links a:hover {
    color: var(--accent);
}

.nav-btn {

    background: linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color: white;

    padding: 12px 24px;

    border-radius: 999px;

    font-size: 15px;
    font-weight: 600;

    transition: var(--transition);
}

.nav-btn:hover {
    transform: translateY(-2px);
}

.hero {
    min-height: calc(100vh - 90px);

    display: flex;
    align-items: center;
}

.hero-container {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 80px;

    align-items: center;
}

.badge {

    display: inline-block;

    padding: 10px 18px;

    background: var(--khaki);

    border: 1px solid var(--khaki-dark);

    color: var(--primary);

    border-radius: 999px;

    font-size: 14px;

    font-weight: 600;

    margin-bottom: 22px;
}

.hero-content h1 {

    font-family:Georgia, 'Times New Roman', Times, serif;

    font-size: 62px;

    line-height: 1.2;

    margin-bottom: 24px;

    font-weight: 400;

    color: var(--primary);
}

.hero-content h1 span {
    font-family: var(--glass-border);
    font-size: 1em;
    color: var(--accent);
    font-style: italic;
    font-weight: 500;
}

.hero-content p {

    font-size: 18px;

    line-height: 1.8;

    color: #64748b;

    margin-bottom: 35px;
}

.hero-buttons {

    display: flex;

    gap: 18px;

    flex-wrap: wrap;
}

.primary-btn {

    background: linear-gradient(
        135deg,
        var(--primary),
        var(--primary-dark)
    );

    color: white;

    padding: 16px 34px;

    border-radius: 999px;

    font-size: 16px;

    font-weight: 600;

    transition: var(--transition);
}

.primary-btn:hover {
    transform: translateY(-3px);
}

.secondary-btn {

    background: linear-gradient(
        135deg,
        var(--accent),
        var(--accent-dark)
    );

    color: white;

    padding: 16px 34px;

    border-radius: 999px;

    font-size: 16px;

    font-weight: 600;

    box-shadow: var(--shadow);

    transition: var(--transition);
}

.secondary-btn:hover {
    transform: translateY(-3px);
}

.hero-card {

    display: flex;

    justify-content: center;

    align-items: center;
}

.glass-card {

    width: 350px;
    max-width: 430px;

    padding: 35px;

    border-radius: var(--radius);

    background: var(--khaki);

    border: 1px solid var(--khaki-dark);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    box-shadow: none;

    transition: var(--transition);
}

.glass-card:hover {

    transform: translateY(-8px);

    box-shadow:
        0 30px 60px rgba(27,27,78, .18);
}

.glass-card h3 {

    font-size: 28px;

    margin-bottom: 28px;

    color: var(--text);
}

.feature {

    padding: 20px;

    margin-bottom: 18px;

    border-radius: 18px;

    background: rgba(255,255,255,.45);

    transition: var(--transition);
}

.feature:last-child{
    margin-bottom:0;
}

.feature:hover{

    transform: translateX(8px);

    background: rgba(255,255,255,.75);
}

.feature h4{

    font-size:18px;

    margin-bottom:10px;
}

.feature p{

    color:#64748b;

    line-height:1.6;

    font-size:15px;
}

header{

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    background: rgba(231,223,173,.75);

    border-bottom:1px solid var(--khaki-dark);
}

.primary-btn,
.secondary-btn,
.nav-btn{

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.primary-btn:hover,
.nav-btn:hover{

    box-shadow:
        0 12px 30px rgba(27,27,78,.35);
}

.secondary-btn:hover{

    box-shadow:
        0 12px 30px rgba(0,0,0,.12);
}

.logo-icon{

    transition: transform .3s ease;
}

.logo:hover .logo-icon{

    transform: rotate(-10deg) scale(1.08);
}

.nav-links a{

    position:relative;
}

.nav-links a::after{

    content:"";

    position:absolute;

    left:0;
    bottom:-6px;

    width:0;

    height:2px;

    background:var(--primary);

    transition:var(--transition);
}

.nav-links a:hover::after{

    width:100%;
}

@keyframes float{

    0%{

        transform:translateY(0px);
    }

    50%{

        transform:translateY(-15px);
    }

    100%{

        transform:translateY(0px);
    }

}

.glass-card{

    animation:float 5s ease-in-out infinite;
}

@keyframes blobMove{

    0%{

        transform:translate(0,0);
    }

    50%{

        transform:translate(40px,-25px);
    }

    100%{

        transform:translate(0,0);
    }

}

.blob-1{

    animation:blobMove 10s ease-in-out infinite;
}

.blob-2{

    animation:blobMove 14s ease-in-out infinite reverse;
}

@media(max-width:992px){

    .hero-container{

        grid-template-columns:1fr;

        text-align:center;
    }

    .hero-buttons{

        justify-content:center;
    }

    .hero-card{

        margin-top:40px;
    }
    .highlight-grid{

    grid-template-columns:1fr;
}

}

@media(max-width:768px){

    .navbar{

        flex-direction:column;

        gap:20px;
    }

    .nav-links{

        gap:18px;

        flex-wrap:wrap;

        justify-content:center;
    }

    .hero{

        padding:70px 0;
    }

    .hero-content h1{

        font-size:58px;
    }

    .hero-content p{

        font-size:16px;
    }

    .glass-card{

        padding:28px;
    }

}

@media(max-width:500px){

    .hero-content h1{

        font-size:46px;
    }

    .primary-btn,
    .secondary-btn{

        width:100%;
    }

    .hero-buttons{

        flex-direction:column;
    }

}

.section-title{

    text-align:center;

    margin-bottom:60px;
}

.section-title h2{

    font-family:var(--font-heading);

    font-size:58px;

    font-weight:700;

    color:var(--primary);

    margin-bottom:18px;
}

.section-title p{

    max-width:700px;

    margin:auto;

    color:#64748b;

    line-height:1.8;
}

.highlights{

    padding:100px 0;
}

.highlight-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;
}

.highlight-card{

    padding:35px;

    border-radius:24px;

    background:var(--khaki);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid var(--khaki-dark);

    transition:var(--transition);

    box-shadow:none;
}

.highlight-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 50px rgba(27,27,78,.18);
}

.highlight-icon{

    width:70px;

    height:70px;

    border-radius:18px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    display:flex;

    justify-content:center;

    align-items:center;

    color:white;

    font-size:30px;

    margin-bottom:25px;
}

.highlight-card h3{

    margin-bottom:18px;

    font-size:24px;
}

.highlight-card p{

    color:#64748b;

    line-height:1.8;
}
/* ==========================================
            ABOUT SECTION
========================================== */

.about{

    padding:120px 0;

}

.about-container{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:70px;

    align-items:center;

}

/* ==========================================
            LEFT CONTENT
========================================== */

.section-badge{

    display:inline-flex;

    align-items:center;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(27,27,78,.12);

    color:var(--primary);

    font-size:14px;

    font-weight:600;

    margin-bottom:22px;

}
.education{

    background:#eef2ff;
    color:#4338ca;
}

.agriculture{

    background:#ecfdf5;
    color:#15803d;
}

.healthcare{

    background:#fef2f2;
    color:#dc2626;
}

.housing{

    background:#fff7ed;
    color:#ea580c;
}

.business{

    background:#eff6ff;
    color:#2563eb;
}

.finance{

    background:#faf5ff;
    color:#7e22ce;
}

.employment{

    background:#f8fafc;
    color:#334155;
}

.women{

    background:#fdf2f8;
    color:#db2777;
}

.pension{

    background:#ecfeff;
    color:#0891b2;
}

.about-content h2{

    font-family:var(--font-heading);

    font-size:58px;

    font-weight:700;

    color:var(--primary);

    line-height:1.15;

    margin-bottom:28px;

}

.about-content>p{

    color:#000354;

    font-size:17px;

    line-height:1.9;

    margin-bottom:40px;

}

/* ==========================================
            FEATURES
========================================== */

.about-features{

    display:flex;

    flex-direction:column;

    gap:24px;

}

.about-feature{

    display:flex;

    align-items:flex-start;

    gap:18px;

}

.about-feature i,
.about-feature svg{

    width:54px;

    height:54px;

    border-radius:16px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:white;

    display:flex;

    justify-content:center;

    align-items:center;

    flex-shrink:0;

    box-shadow:0 10px 25px rgba(27,27,78,.25);

}

.about-feature h4{

    margin-bottom:8px;

    font-size:20px;

}

.about-feature p{

    color:#64748b;

    line-height:1.7;

}

.about-visual{

    display:grid;

    gap:22px;

}

.about-card{

    background:var(--khaki);

    border:1px solid var(--khaki-dark);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border-radius:26px;

    box-shadow:none;

    transition:var(--transition);

}

.about-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 50px rgba(27,27,78,.18);

}

.about-card.large{

    padding:40px;

}

.about-card.large i,
.about-card.large svg{

    width:72px;

    height:72px;

    padding:18px;

    border-radius:18px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:white;

    margin-bottom:24px;

}

.about-card.large h3{

    font-size:28px;

    margin-bottom:12px;

}

.about-card.large p{

    color:#64748b;

}

.about-card.small{

    display:flex;

    align-items:center;

    gap:18px;

    padding:26px 30px;

}

.about-card.small i,
.about-card.small svg{

    width:56px;

    height:56px;

    padding:14px;

    border-radius:16px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:white;

}

.about-card.small span{

    font-weight:600;

    font-size:17px;

}

@media(max-width:992px){

    .about-container{

        grid-template-columns:1fr;

    }

    .about-content{

        text-align:center;

    }

    .about-features{

        align-items:center;

    }

    .about-feature{

        max-width:600px;

        text-align:left;

    }

}

@media(max-width:768px){

    .about{

        padding:90px 0;

    }

    .about-content h2{

        font-size:38px;

    }

}

@media(max-width:500px){

    .about-content h2{

        font-size:30px;

    }

    .about-card.large{

        padding:30px;

    }

}
.hero,
.highlights,
.about{
    scroll-margin-top:90px;
}

.workflow{

    padding:120px 0;

}

.workflow-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    margin-top:60px;

}

.workflow-card{

    position:relative;

    padding:35px 28px;

    border-radius:24px;

    background:var(--khaki);

    border:1px solid var(--khaki-dark);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    transition:var(--transition);

    box-shadow:none;

}

.workflow-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 50px rgba(27,27,78,.18);

}

.step-number{

    position:absolute;

    top:20px;

    right:20px;

    font-size:14px;

    font-weight:700;

    color:rgba(27,27,78,.3);

}

.workflow-card i,
.workflow-card svg{

    width:65px;

    height:65px;

    padding:16px;

    border-radius:18px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:white;

    margin-bottom:25px;

}

.workflow-card h3{

    margin-bottom:15px;

    font-size:22px;

}

.workflow-card p{

    line-height:1.8;

    color:#101033;

}

.workflow-cta{

    margin-top:100px;

    text-align:center;

    padding:60px;

    border-radius:30px;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:white;

}

.workflow-cta h2{

    font-family:var(--font-heading);

    font-size:54px;

    font-weight:700;

    margin-bottom:18px;

}

.workflow-cta p{

    margin-bottom:35px;

    opacity:.9;

    font-size:18px;

}

.workflow-cta .primary-btn{

    background:white;

    color:var(--primary);

}

.workflow-cta .primary-btn:hover{

    transform:translateY(-4px);

}

@media(max-width:1100px){

    .workflow-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:700px){

    .workflow-grid{

        grid-template-columns:1fr;

    }

    .workflow-cta{

        padding:40px 25px;

    }

    .workflow-cta h2{

        font-size:30px;

    }

}

.featured{

    padding:120px 0;

}

.scheme-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:30px;

    margin-top:60px;

}

.scheme-card{

    background:var(--khaki);

    border:1px solid var(--khaki-dark);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border-radius:26px;

    padding:28px;

    box-shadow:none;

    transition:all .35s ease;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    overflow:hidden;

    position:relative;

}

.scheme-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 50px rgba(27,27,78,.18);

}
.scheme-category{

    display:inline-flex;

    align-items:center;

    gap:10px;

    width:max-content;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(27,27,78,.12);

    color:var(--primary);

    font-size:14px;

    font-weight:600;

    margin-bottom:22px;
}

.scheme-category i,
.scheme-category svg{

    width:18px;

    height:18px;

    flex-shrink:0;

}

.scheme-card h3{

    font-size:24px;

    margin-bottom:10px;

    line-height:1.4;

}

.scheme-provider{

    display:flex;

    align-items:center;

    gap:10px;

    color:#101033;

    font-size:15px;

    margin-bottom:18px;

}

.scheme-provider i,
.scheme-provider svg{

    width:18px;

    height:18px;

}

.scheme-description{

    color:#101033;

    line-height:1.8;

    margin-bottom:28px;

}
.scheme-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:auto;

}

.scheme-tag{

    background:rgba(34,197,94,.12);

    color:#16a34a;

    padding:8px 16px;

    border-radius:999px;

    font-size:13px;

    font-weight:600;

}

.scheme-btn{

    display:flex;

    align-items:center;

    gap:8px;

    color:var(--primary);

    font-weight:600;

    transition:var(--transition);

}

.scheme-btn i,
.scheme-btn svg{

    width:18px;

    height:18px;

    transition:transform .3s ease;

}

.scheme-btn:hover{

    color:var(--secondary);

}

.scheme-btn:hover i,
.scheme-btn:hover svg{

    transform:translateX(5px);

}

.scheme-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:5px;

    background:linear-gradient(
        90deg,
        var(--primary),
        var(--accent)
    );

}

@media(max-width:768px){

    .featured{

        padding:90px 0;

    }

    .scheme-grid{

        grid-template-columns:1fr;

    }

}

@media(max-width:500px){

    .scheme-card{

        padding:22px;

    }

    .scheme-card h3{

        font-size:20px;

    }

}

.modal-overlay{

    position:fixed;

    inset:0;

    background:rgba(15,23,42,.65);

    backdrop-filter:blur(8px);

    display:flex;

    justify-content:center;

    align-items:center;

    padding:20px;

    opacity:0;

    visibility:hidden;

    transition:.35s ease;

    z-index:1000;

}

.modal-overlay.active{

    opacity:1;

    visibility:visible;

}

.scheme-modal{

    width:min(1000px,92vw);

    max-height:90vh;

    overflow-y:auto;

    background:var(--background);

    backdrop-filter:blur(24px);

    border-radius:30px;

    padding:40px;

    position:relative;

    transform:translateY(30px);

    transition:.35s ease;

}

.modal-overlay.active .scheme-modal{

    transform:translateY(0);

}

.close-modal{

    position:absolute;

    top:25px;

    right:25px;

    border:none;

    background:transparent;

    cursor:pointer;

}

.close-modal i,
.close-modal svg{

    width:28px;

    height:28px;

}

/* ==========================================
            MODAL LISTS
========================================== */

.modal-section{

    margin:15px 0;

}

.modal-section h3{

    margin-bottom:12px;

    font-size:20px;

}

.modal-section ul{

    list-style:none;

    display:flex;

    flex-direction:column;

    gap:14px;

}

.modal-section li{

    display:flex;

    align-items:center;

    gap:12px;

    padding:14px 18px;

    border-radius:14px;

    background:rgba(27,27,78,.07);

    transition:.3s ease;

}
.modal-section li:hover{

    transform:translateX(6px);

    background:rgba(27,27,78,.12);

}

.modal-section li i{

    width:18px;

    height:18px;

    color:var(--primary);

}

.modal-footer{

    display:flex;

    justify-content:center;

    margin-top:25px;

    padding-top:20px;

    border-top:1px solid rgba(0,0,0,.08);

}
/* ==========================================
            MODAL HEADER
========================================== */

.modal-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    margin-bottom:20px;

}

.modal-header h2{

    font-size:2.2rem;

    margin:10px 0;

    color:var(--text-primary);

    line-height:1.2;

}

.modal-provider{

    display:inline-flex;

    align-items:center;

    padding:8px 18px;

    border-radius:999px;

    background:rgba(59,130,246,.12);

    color:#2563eb;

    font-weight:600;

}
.modal-category{

    display:inline-flex;

    align-items:center;

    padding:8px 18px;

    border-radius:999px;

    background:rgba(27,27,78,.12);

    color:var(--primary);

    font-weight:600;

}

.modal-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:22px;

    margin-top:20px;

}
#providerInfo{

    background:rgba(34,197,94,.08);

    padding:18px;

    border-radius:16px;

    font-weight:600;

    color:#16a34a;

}
.modal-footer{

    display:flex;

    justify-content:center;

    margin-top:40px;

}
@media(max-width:768px){

    .modal-grid{

        grid-template-columns:1fr;

    }

    .scheme-modal{

        padding:25px;

    }

    .modal-header h2{

        font-size:1.6rem;

    }

}
/* Hide scrollbar but keep scrolling */

.scheme-modal{
    overflow-y: auto;

    /* Firefox */
    scrollbar-width: none;

    /* IE & Edge */
    -ms-overflow-style: none;
}

/* Chrome, Edge, Safari */

.scheme-modal::-webkit-scrollbar{
    display: none;
}
/* ==========================================
            ELIGIBILITY SECTION
========================================== */

.eligibility{

    padding:100px 0;

}

.eligibility-card{

    max-width:620px;

    margin:auto;

    padding:40px;

    border-radius:28px;

    background:var(--khaki);

    border:1px solid var(--khaki-dark);

    box-shadow:0 20px 50px rgba(27,27,78,.1);

}

.progress-bar{

    width:100%;

    height:8px;

    background:#ececec;

    border-radius:999px;

    overflow:hidden;

}

.progress-fill{

    width:25%;

    height:100%;

    background:var(--primary);

    transition:.35s ease;

}

.step-indicator{

    margin:20px 0 35px;

    font-weight:600;

    color:var(--text-muted);

}
/* ==========================================
            QUESTIONNAIRE
========================================== */

.question-title{

    font-family:var(--font-heading);

    font-weight:700;

    color:var(--primary);

    margin-bottom:30px;

    font-size:2.6rem;

}

.form-group{

    display:flex;

    flex-direction:column;

    gap:10px;

    margin-bottom:22px;

}

.form-group label{

    font-family:var(--font-serif);

    font-style:italic;

    font-weight:700;

    font-size:17px;

    color:var(--primary);

}

.form-group input,

.form-group select{

    padding:14px 18px;

    border-radius:14px;

    border:1px solid rgba(0,0,0,.12);

    font-size:16px;

    background:white;

    outline:none;

    transition:.3s;

}

.form-group input:focus,

.form-group select:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(27,27,78,.15);

}

.question-actions{

    display:flex;

    justify-content:flex-end;

    margin-top:25px;

}
.results-container{

    margin-top:40px;

}

.results-title{

    font-family:var(--font-heading);

    font-size:2.6rem;

    font-weight:700;

    color:var(--primary);

    margin-bottom:24px;

}

.result-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:24px;

}

.no-results{

    text-align:center;

    padding:40px 20px;

    border:1px solid rgba(255,255,255,.15);

    border-radius:20px;

    background:rgba(255,255,255,.08);

}

.match-score{

    display:inline-block;

    margin:12px 0;

    padding:6px 12px;

    background:#dcfce7;

    color:#166534;

    border-radius:999px;

    font-size:0.85rem;

    font-weight:600;

}
/* ==========================================
            DARK THEME
========================================== */

body.dark{
    --background: linear-gradient(135deg,#0f172a,#1e293b);
    --text:#f8fafc;
    --primary:#6366f1;
    --primary-dark:#4338ca;
    --secondary:#818cf8;
    --accent:#fb923c;
    --accent-dark:#ea580c;
    --khaki:#1e293b;
    --khaki-dark:#334155;
}
/* Cards */

body.dark .glass-card,
body.dark .highlight-card,
body.dark .about-card,
body.dark .workflow-card,
body.dark .scheme-card,
body.dark .eligibility-card,
body.dark .scheme-modal{

    background:#1e293b;

    border:1px solid rgba(255,255,255,.08);

    color:#f8fafc;

}

/* Header */

body.dark header{

    background:rgba(15,23,42,.8);

    border-bottom:1px solid rgba(255,255,255,.08);

}

/* Inputs */

body.dark input,
body.dark select{

    background:#0f172a;

    color:white;

    border:1px solid rgba(255,255,255,.15);

}

/* Paragraphs */

body.dark p,
body.dark span,
body.dark .scheme-provider,
body.dark .feature p,
body.dark .about-feature p{

    color:#cbd5e1;

}

/* Secondary Button */

body.dark .secondary-btn{

    background:#334155;

    color:white;

}

/* No Results */

body.dark .no-results{

    background:#1e293b;

}

/* Progress */

body.dark .progress-bar{

    background:#334155;

}
.theme-toggle{

    width:36px;

    height:36px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:var(--khaki);

    border:1px solid var(--khaki-dark);

    color:var(--primary);

    box-shadow:0 10px 25px rgba(27,27,78,.1);

    transition:.3s ease;

}

.theme-toggle:hover{

    transform:translateY(-3px);

}

.theme-toggle i,
.theme-toggle svg{

    width:22px;

    height:22px;

}

body.dark .theme-toggle{

    background:#334155;

    color:white;

}
body {
    background: var(--background);
    color: var(--text);
    overflow-x: hidden;
    position: relative;
    transition: background .3s ease, color .3s ease;
}
body.dark .feature{
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.08);
}

body.dark .feature:hover{
    background: rgba(27,27,78,0.18);
    transform: translateX(8px);
}

body.dark .feature h4{
    color: #ffffff;
}

body.dark .feature p{
    color: #cbd5e1;
}
.section-heading{

    text-align:center;

    margin-bottom:45px;

}

.section-heading h2{

    font-family:var(--font-heading);

    font-size:58px;

    font-weight:700;

    margin:16px 0;

    color:var(--primary);

}

.section-heading p{

    max-width:750px;

    margin:auto;

    line-height:1.8;

    color:#64748b;

    font-size:18px;

}

.section-tag{

    display:inline-block;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(27,27,78,.12);

    color:var(--primary);

    font-size:14px;

    font-weight:600;

}
.view-more-container{

    display:flex;

    justify-content:center;

    margin-top:45px;

}

/* ==========================================
            HERO STATS (moved from featured strip into hero)
========================================== */

.hero-stats{

    display:flex;

    flex-wrap:wrap;

    align-items:center;

    gap:36px;

    margin-top:42px;

    padding-top:30px;

    border-top:1px solid rgba(30,41,59,.08);

}

.hero-stat h3{

    font-family:var(--font-heading);

    font-size:38px;

    font-weight:700;

    color:var(--primary);

    line-height:1;
}

.hero-stat span{

    font-size:14px;

    color:#64748b;

}

.hero-stat-source{

    display:flex;

    align-items:center;

    gap:10px;

    max-width:220px;

}

.hero-stat-source i,
.hero-stat-source svg{

    width:26px;

    height:26px;

    flex-shrink:0;

    color:var(--primary);

}

.hero-stat-source span{

    line-height:1.5;

}

body.dark .hero-stats{

    border-top:1px solid rgba(255,255,255,.08);

}

body.dark .hero-stat h3{

    color:#f8fafc;

}

@media(max-width:992px){

    .hero-stats{

        justify-content:center;

    }

}

@media(max-width:500px){

    .hero-stats{

        gap:22px;

    }

    .hero-stat-source{

        max-width:none;

        justify-content:center;

    }

}

/* ==========================================
            HERO SCHEME CAROUSEL
========================================== */

.scheme-carousel{

    display:flex;

    flex-direction:column;

    perspective:1200px;

    animation:none;

}

.carousel-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:22px;

}

.carousel-tag{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:8px 16px;

    border-radius:999px;

    background:rgba(27,27,78,.12);

    color:var(--primary);

    font-size:13px;

    font-weight:600;

}

.carousel-tag i,
.carousel-tag svg{

    width:15px;

    height:15px;

    flex-shrink:0;

}

.carousel-viewport{

    position:relative;

    overflow:hidden;

    border-radius:16px;

    min-height:330px;

}

.carousel-track{

    position:relative;

    width:100%;

    height:100%;

}

.carousel-slide{

    position:absolute;

    /* inset:0; */

    padding:26px;

    border-radius:16px;

    background:rgba(231,223,173,.55);

    border:1px solid var(--khaki-dark);

    opacity:0;

    transform:translateX(24px) scale(.97);

    transition:opacity .5s ease, transform .5s ease;

    pointer-events:none;

    margin-top: 10px;

}

.carousel-slide.active{

    opacity:1;

    transform:translateX(0) scale(1);

    pointer-events:auto;

}

.carousel-slide-category{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:8px 16px;

    border-radius:999px;

    background:rgba(27,27,78,.12);

    color:var(--primary);

    font-size:13px;

    font-weight:600;

    margin-bottom:16px;

}

.carousel-slide-category i,
.carousel-slide-category svg{

    width:15px;

    height:15px;

    flex-shrink:0;

}

.carousel-slide h4{

    font-family:var(--font-heading);

    font-weight:700;

    color:var(--primary);

    font-size:30px;

    margin-bottom:10px;

    line-height:1.2;

}

.carousel-slide-provider{

    font-size:13px;

    color:#64748b;

    margin-bottom:16px;

}

.carousel-benefits{

    list-style:none;

    display:flex;

    flex-direction:column;

    gap:10px;

}

.carousel-benefits li{

    display:flex;

    align-items:flex-start;

    gap:10px;

    font-size:14px;

    line-height:1.5;

    color:var(--text);

}

.carousel-benefits li i{

    width:16px;

    height:16px;

    margin-top:3px;

    flex-shrink:0;

    color:#16a34a;

}

.carousel-dots{

    display:flex;

    justify-content:center;

    gap:8px;

    margin-top:22px;

}

.carousel-dot{

    width:8px;

    height:8px;

    border-radius:999px;

    background:rgba(27,27,78,.25);

    cursor:pointer;

    transition:.3s ease;

    padding:0;

    border:none;

}

.carousel-dot.active{

    width:24px;

    background:var(--primary);

}

/* Depth effect on hover -- lift, tilt, and glow */

.scheme-carousel{

    transition:
        transform .4s ease,
        box-shadow .4s ease;

    transform-style:preserve-3d;

}

.scheme-carousel:hover{

    transform:translateY(-10px) rotateX(3deg) rotateY(-3deg) scale(1.015);

    box-shadow:
        0 40px 70px rgba(27,27,78,.28),
        0 10px 25px rgba(0,0,0,.08);
}

body.dark .carousel-slide{

    background:rgba(15,23,42,.55);

    border:1px solid rgba(255,255,255,.08);

}

body.dark .carousel-slide-provider{

    color:#cbd5e1;

}

body.dark .carousel-benefits li{

    color:#f1f5f9;

}

@media(max-width:500px){

    .carousel-viewport{

        min-height:360px;

    }

}

/* ==========================================
            DEEPER SCHEME CARD HOVER (popular schemes)
========================================== */

.scheme-card{

    transform:translateY(0) scale(1);

    transition:
        transform .4s cubic-bezier(.2,.8,.2,1),
        box-shadow .4s ease,
        border-color .4s ease;
}

.scheme-card:hover{

    transform:translateY(-14px) scale(1.02);

    box-shadow:
        0 35px 60px rgba(27,27,78,.22),
        0 10px 25px rgba(0,0,0,.08);

    border-color:rgba(27,27,78,.35);
}

.scheme-card::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:26px;

    background:linear-gradient(180deg, rgba(27,27,78,0) 0%, rgba(27,27,78,.05) 100%);

    opacity:0;

    transition:opacity .4s ease;

    pointer-events:none;
}

.scheme-card:hover::after{

    opacity:1;

}

/* ==========================================
            DATE OF BIRTH INPUT
========================================== */

.form-group input[type="date"]{

    color-scheme:light;

}

body.dark .form-group input[type="date"]{

    color-scheme:dark;

}

.form-hint{

    font-size:12.5px;

    color:#64748b;

    margin-top:-2px;

}

body.dark .form-hint{

    color:#94a3b8;

}