/* Home hero */
.hero{
    position:relative;
    min-height:100vh;
    min-height:100svh;
    display:flex;
    align-items:center;
    overflow:hidden;
    color:#ffffff;
    isolation:isolate;
    background:
            linear-gradient(90deg,
            rgba(1,5,44,.98) 0%,
            rgba(1,5,44,.96) 25%,
            rgba(3,8,48,.82) 45%,
            rgba(3,8,48,.45) 68%,
            rgba(3,8,48,.14) 100%
            ),
            linear-gradient(180deg, rgba(2,6,38,.40), rgba(2,6,38,.64)),
            url("../assets/home-ban.png") center right / cover no-repeat;
}

.hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
            radial-gradient(circle at 42% 25%, rgba(255,255,255,.08), transparent 18rem),
            linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.20));
}

.hero .container{
    width:min(var(--max), calc(100% - 220px));
}

.hero-wrap{
    position:relative;
    z-index:1;
    width:100%;
    padding-top:var(--header-height);
}

.hero-copy{
    max-width:760px;
}

.hero h1{
    margin:0 0 30px;
    max-width:760px;
    font-size:var(--hero-title);
    line-height:1.03;
    letter-spacing:-.06em;
    font-weight:900;
    text-wrap:balance;
}

.hero-copy p{
    margin:0 0 44px;
    max-width:680px;
    color:rgba(255,255,255,.88);
    font-size:clamp(1.05rem, 1.22vw, 1.38rem);
    line-height:1.55;
    letter-spacing:-.02em;
    font-weight:650;
    text-wrap:pretty;
}

.hero-actions{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
}

.hero .btn{
    min-height:46px;
    padding:0 26px;
    font-size:14px;
    font-weight:800;
    letter-spacing:-.015em;
    border-width:1.5px;
}

.hero .btn-primary{
    background:#ffffff;
    color:#091027;
    box-shadow:0 18px 40px rgba(0,0,0,.18);
}

.hero .btn-outline{
    color:#ffffff;
    background:rgba(255,255,255,.04);
    border-color:rgba(255,255,255,.38);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}

.hero .btn-outline:hover{
    background:rgba(255,255,255,.10);
    border-color:rgba(255,255,255,.58);
}

/* Homepage section headers */
.section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:40px;
    margin-bottom:34px;
}

.section-head h2{
    margin:0;
    max-width:760px;
    color:var(--navy-2);
    font-size:clamp(2.25rem, 3.2vw, 3.6rem);
    line-height:1.02;
    letter-spacing:-.05em;
    font-weight:900;
    text-wrap:balance;
}

.section-head p{
    margin:0;
    max-width:54ch;
    color:var(--muted);
    font-size:17px;
    line-height:1.65;
}

/* Home proof / advantage section */
.proof-strip{
    padding:76px 0 86px;
    background:#ffffff;
}

.advantage-head{
    max-width:760px;
    margin:0 auto 44px;
    text-align:center;
}

.advantage-kicker{
    margin-bottom:12px;
    color:var(--blue);
    font-size:13px;
    line-height:1;
    font-weight:900;
    letter-spacing:.22em;
    text-transform:uppercase;
}

.advantage-head h2{
    margin:0;
    color:var(--navy-2);
    font-size:clamp(38px, 4vw, 56px);
    line-height:.98;
    letter-spacing:-.055em;
}

.advantage-head p{
    max-width:680px;
    margin:18px auto 0;
    color:#556173;
    font-size:18px;
    line-height:1.55;
    font-weight:500;
}

.proof-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:30px;
}

.proof{
    position:relative;
    min-height:310px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:42px 42px 36px;
    border:1px solid #dfe5ec;
    border-top:5px solid var(--blue);
    border-radius:0 0 14px 14px;
    background:#ffffff;
    box-shadow:0 10px 28px rgba(15,27,45,.075);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.proof:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 42px rgba(15,27,45,.11);
    border-color:#d5dde7;
    border-top-color:var(--blue);
}

.proof-icon{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    margin-bottom:28px;
    border-radius:10px;
    background:var(--blue);
    color:#ffffff;
    box-shadow:0 12px 24px rgba(47,128,237,.2);
}

.proof-icon svg{
    width:28px;
    height:28px;
    stroke:currentColor;
}

.proof strong{
    display:block;
    max-width:330px;
    color:var(--navy-2);
    font-size:clamp(27px, 2.2vw, 36px);
    line-height:1.06;
    letter-spacing:-.045em;
}

.proof p{
    margin:18px 0 0;
    max-width:350px;
    color:#526070;
    font-size:17px;
    line-height:1.55;
    font-weight:500;
}

.proof-divider{
    width:100%;
    height:1px;
    margin:30px 0 22px;
    background:#e1e6ec;
}

.proof-detail{
    max-width:350px;
    color:#6a7484;
    font-size:15px;
    line-height:1.45;
    font-weight:500;
}

/* Home cards / panels */
.features,
.services,
.insights{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.features{
    grid-template-columns:repeat(4,1fr);
}

.feature,
.service,
.article,
.panel{
    background:#ffffff;
    border:1px solid var(--line);
    border-radius:24px;
    box-shadow:var(--shadow);
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.feature:hover,
.service:hover,
.article:hover,
.panel:hover{
    transform:translateY(-4px);
    border-color:#d3dae5;
    box-shadow:0 22px 55px rgba(14,27,45,.11);
}

.feature{
    min-height:270px;
    padding:26px;
}

.icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    margin-bottom:18px;
    border-radius:14px;
    color:var(--navy-2);
    background:linear-gradient(135deg, rgba(47,128,237,.12), rgba(47,128,237,.04));
    border:1px solid rgba(47,128,237,.12);
    font-weight:800;
}

.feature h3,
.service h3,
.panel h3,
.article h3{
    margin:0 0 10px;
    color:var(--navy-2);
    font-size:22px;
    line-height:1.12;
    letter-spacing:-.035em;
    font-weight:850;
}

.feature p,
.service p,
.panel p,
.article p{
    margin:0;
    color:var(--muted);
    line-height:1.65;
}

.split{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:22px;
}

.panel{
    padding:32px;
}

.checklist{
    display:grid;
    gap:12px;
    color:#304150;
    line-height:1.65;
}

.checklist div{
    display:flex;
    gap:10px;
}

.checklist span:first-child{
    color:var(--blue);
    font-weight:900;
}

.service{
    padding:28px;
}

.service a{
    display:inline-flex;
    margin-top:16px;
    color:var(--navy-2);
    font-weight:800;
}

/* Homepage insights cards */
.article{
    overflow:hidden;
}

.article-link{
    display:block;
    height:100%;
}

.article-media{
    aspect-ratio:16 / 10;
    background:
            linear-gradient(180deg, rgba(15,39,64,.10), rgba(15,39,64,.25)),
            url("../assets/home-ban.png") center / cover no-repeat;
}

.article-media.has-image{
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.article-body{
    padding:24px;
}

.article-body small{
    display:block;
    margin-bottom:8px;
    color:#667381;
    font-weight:700;
}

/* Services showcase */
.services-section{
    padding:84px 0 96px;
    background:#ffffff;
    overflow:hidden;
}

.services-layout{
    display:grid;
    grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
    gap:60px;
    align-items:center;
}

.services-copy{
    padding-top:0;
}

.services-kicker{
    margin:0 0 16px;
    color:var(--blue);
    font-size:13px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.22em;
}

.services-title{
    margin:0 0 24px;
    max-width:560px;
    color:var(--navy-2);
    font-size:clamp(2.4rem, 3vw, 3.4rem);
    line-height:1.06;
    letter-spacing:-.055em;
    font-weight:900;
    text-wrap:balance;
}

.services-title .text-blue{
    color:var(--blue);
}

.services-intro{
    margin:0 0 36px;
    max-width:480px;
    color:#4f5c70;
    font-size:17px;
    line-height:1.65;
    letter-spacing:-.01em;
}

.services-all{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--navy-2);
    font-size:16px;
    font-weight:900;
    letter-spacing:-.01em;
    text-decoration:none;
    transition:color .2s ease, transform .2s ease;
}

.services-all:hover{
    color:var(--blue);
    transform:translateX(2px);
}

.services-all span{
    font-size:20px;
    line-height:1;
}

.services-showcase{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    align-items:start;
}

.service-featured{
    grid-column:1 / -1;
    min-height:260px;
    padding:40px 44px;
    border-radius:20px;
    color:#ffffff;
    background:
            radial-gradient(circle at 82% 42%, rgba(63,134,255,.20), transparent 24rem),
            linear-gradient(135deg, #1d315f, #1b315f 48%, #203968);
    box-shadow:0 18px 50px rgba(13,31,70,.18);
    transition:transform .22s ease, box-shadow .22s ease;
}

.service-featured:hover{
    transform:translateY(-4px);
    box-shadow:0 28px 64px rgba(13,31,70,.26);
}

.service-featured small{
    display:block;
    margin-bottom:16px;
    color:#9bc9ff;
    font-size:12px;
    line-height:1;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.22em;
}

.service-featured h3{
    margin:0 0 14px;
    color:#ffffff;
    font-size:clamp(1.6rem, 1.9vw, 2.2rem);
    line-height:1.06;
    letter-spacing:-.05em;
    font-weight:900;
}

.service-featured p{
    margin:0 0 36px;
    max-width:520px;
    color:rgba(255,255,255,.75);
    font-size:16px;
    line-height:1.6;
}

.service-featured a{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#ffffff;
    font-size:16px;
    font-weight:800;
    letter-spacing:-.01em;
}

.service-featured a span{
    font-size:20px;
    line-height:1;
    font-weight:400;
}

.service-tile{
    min-height:160px;
    padding:28px 30px;
    border:1px solid #e2e7ef;
    border-radius:18px;
    background:#ffffff;
    box-shadow:0 8px 24px rgba(15,27,45,.045);
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.service-tile:nth-child(4),
.service-tile:nth-child(5){
    min-height:160px;
}

.service-tile:hover{
    transform:translateY(-4px);
    border-color:#d1dae7;
    box-shadow:0 18px 46px rgba(15,27,45,.09);
}

.service-tile h3{
    margin:0 0 10px;
    color:var(--navy-2);
    font-size:clamp(1.1rem, 1.2vw, 1.35rem);
    line-height:1.12;
    letter-spacing:-.04em;
    font-weight:900;
    transition:color .2s ease;
}

.service-tile:hover h3{
    color:var(--blue);
}

.service-tile p{
    margin:0;
    color:#4f5c70;
    font-size:15px;
    line-height:1.58;
}

.service-tile.is-accent{
    box-shadow:0 14px 42px rgba(47,128,237,.14);
}

/* Testimonials */
.testimonials-strip{
    padding:76px 0 84px;
    background:#ffffff;
}

.testimonials-head{
    max-width:800px;
    margin:0 auto 48px;
    text-align:center;
}

.testimonials-kicker{
    margin-bottom:12px;
    color:var(--blue);
    font-size:13px;
    line-height:1;
    font-weight:900;
    letter-spacing:.22em;
    text-transform:uppercase;
}

.testimonials-head h2{
    margin:0;
    color:var(--navy-2);
    font-size:clamp(38px, 4vw, 56px);
    line-height:1;
    letter-spacing:-.055em;
}

.testimonials-head p{
    max-width:660px;
    margin:20px auto 0;
    color:#556173;
    font-size:18px;
    line-height:1.55;
    font-weight:500;
}

.testimonial-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:30px;
}

.testimonial-card{
    position:relative;
    min-height:330px;
    padding:38px 38px 34px;
    border:1px solid #dfe5ec;
    border-top:5px solid var(--blue);
    border-radius:0 0 14px 14px;
    background:#f8fafc;
    box-shadow:0 10px 28px rgba(15,27,45,.075);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.testimonial-card:hover{
    transform:translateY(-4px);
    border-color:#d5dde7;
    border-top-color:var(--blue);
    box-shadow:0 18px 42px rgba(15,27,45,.11);
}

.testimonial-quote-icon{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    margin-bottom:24px;
    border-radius:10px;
    background:var(--blue);
    color:#ffffff;
    font-size:42px;
    line-height:1;
    font-weight:900;
    box-shadow:0 12px 24px rgba(47,128,237,.2);
}

.testimonial-stars{
    margin-bottom:20px;
    color:var(--blue);
    font-size:21px;
    letter-spacing:.08em;
    line-height:1;
}

.testimonial-copy{
    margin:0;
    color:#425066;
    font-size:17px;
    line-height:1.6;
    font-weight:500;
}

.testimonial-author{
    display:flex;
    align-items:center;
    gap:16px;
    margin-top:30px;
}

.testimonial-avatar{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:50%;
    background:var(--blue);
    color:#ffffff;
    font-size:18px;
    font-weight:900;
    box-shadow:0 10px 22px rgba(47,128,237,.18);
}

.testimonial-author strong{
    display:block;
    color:var(--navy-2);
    font-size:16px;
    line-height:1.2;
    font-weight:900;
}

.testimonial-author span{
    display:block;
    margin-top:2px;
    color:#6a7484;
    font-size:14px;
    line-height:1.3;
    font-weight:500;
}

.testimonial-divider{
    width:100%;
    height:1px;
    margin:26px 0 16px;
    background:#dfe5ec;
}

.testimonial-company{
    color:#526070;
    font-size:14px;
    line-height:1.4;
    font-weight:850;
    letter-spacing:.01em;
}

.testimonial-trust-pill{
    width:max-content;
    max-width:100%;
    display:flex;
    align-items:center;
    gap:18px;
    margin:56px auto 0;
    padding:18px 26px;
    border:1px solid #dfe5ec;
    border-radius:14px;
    background:#ffffff;
    box-shadow:0 10px 28px rgba(15,27,45,.09);
}

.testimonial-trust-dots{
    display:flex;
    align-items:center;
}

.testimonial-trust-dots span{
    width:38px;
    height:38px;
    border:2px solid #ffffff;
    border-radius:50%;
    background:var(--blue);
}

.testimonial-trust-dots span + span{
    margin-left:-10px;
}

.testimonial-trust-dots span:nth-child(2){
    background:#9d4dff;
}

.testimonial-trust-dots span:nth-child(3){
    background:#5b5ff7;
}

.testimonial-trust-pill strong{
    display:block;
    color:var(--navy-2);
    font-size:16px;
    line-height:1.2;
    font-weight:900;
}

.testimonial-trust-pill span{
    display:block;
    margin-top:3px;
    color:#6a7484;
    font-size:14px;
    line-height:1.35;
    font-weight:500;
}

/* CTA */
.cta-band{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding:44px;
    color:white;
    border-radius:32px;
    background:linear-gradient(135deg, var(--navy), #18315e);
    box-shadow:var(--shadow);
}

.cta-band::after{
    content:"";
    position:absolute;
    right:-8rem;
    top:-10rem;
    width:24rem;
    height:24rem;
    border-radius:50%;
    background:rgba(91,156,255,.16);
    pointer-events:none;
}

.cta-band > *{
    position:relative;
    z-index:1;
}

.cta-band h2{
    margin:0 0 10px;
    font-size:clamp(2rem, 4vw, 3.2rem);
    line-height:1.02;
    letter-spacing:-.04em;
}

.cta-band p{
    margin:0;
    max-width:58ch;
    color:rgba(255,255,255,.78);
}

.cta-band .btn{
    min-height:54px;
    padding:0 24px;
    background:#ffffff;
    color:var(--navy);
}

/* ─── Homepage two-path CTA section ─────────────────────────────────────── */

.home-cta-section{
    padding:96px 0 112px;
    background:#f6f8fc;
}

.home-cta-head{
    max-width:720px;
    margin:0 auto 56px;
    text-align:center;
}

.home-cta-kicker{
    margin-bottom:14px;
    color:var(--blue);
    font-size:13px;
    line-height:1;
    font-weight:900;
    letter-spacing:.22em;
    text-transform:uppercase;
}

.home-cta-head h2{
    margin:0 0 18px;
    color:var(--navy-2);
    font-size:clamp(34px, 3.8vw, 52px);
    line-height:1.06;
    letter-spacing:-.055em;
    font-weight:900;
    text-wrap:balance;
}

.home-cta-head p{
    margin:0;
    color:#556173;
    font-size:18px;
    line-height:1.6;
    font-weight:500;
}

.home-cta-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:28px;
}

.home-cta-card{
    position:relative;
    display:block;
    overflow:hidden;
    min-height:380px;
    padding:52px 52px 48px;
    border-radius:24px;
    text-decoration:none;
    color:#ffffff;
    transition:transform .25s ease, box-shadow .25s ease;
}

.home-cta-card:hover{
    transform:translateY(-5px);
}

.home-cta-card-employers{
    background:
        radial-gradient(circle at 80% 20%, rgba(63,134,255,.28), transparent 22rem),
        linear-gradient(135deg, #132448 0%, #1c3668 55%, #1e3d72 100%);
    box-shadow:0 24px 64px rgba(13,31,70,.22);
}

.home-cta-card-employers:hover{
    box-shadow:0 36px 80px rgba(13,31,70,.28);
}

.home-cta-card-seekers{
    background:
        radial-gradient(circle at 80% 20%, rgba(91,95,247,.28), transparent 22rem),
        linear-gradient(135deg, #0d1f44 0%, #162957 55%, #1a3265 100%);
    box-shadow:0 24px 64px rgba(13,25,60,.22);
}

.home-cta-card-seekers:hover{
    box-shadow:0 36px 80px rgba(13,25,60,.28);
}

.home-cta-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 60%);
    pointer-events:none;
}

.home-cta-card-content{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    height:100%;
}

.home-cta-card-content small{
    display:block;
    margin-bottom:14px;
    color:rgba(255,255,255,.55);
    font-size:12px;
    line-height:1;
    font-weight:900;
    letter-spacing:.22em;
    text-transform:uppercase;
}

.home-cta-card-content h3{
    margin:0 0 16px;
    color:#ffffff;
    font-size:clamp(2rem, 2.6vw, 3rem);
    line-height:1.04;
    letter-spacing:-.055em;
    font-weight:900;
}

.home-cta-card-content p{
    margin:0 0 0;
    max-width:46ch;
    color:rgba(255,255,255,.72);
    font-size:17px;
    line-height:1.6;
    font-weight:500;
}

.home-cta-card-content > span{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:28px;
    color:#ffffff;
    font-size:18px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.02em;
    transition:gap .22s ease;
}

.home-cta-card-content > span > span{
    font-size:22px;
    line-height:.9;
    transition:transform .22s ease;
}

.home-cta-card:hover .home-cta-card-content > span{
    gap:14px;
}

.home-cta-card:hover .home-cta-card-content > span > span{
    transform:translateX(3px);
}

@media (max-width:980px){
    .home-cta-section{
        padding:72px 0 84px;
    }

    .home-cta-grid{
        grid-template-columns:1fr;
        gap:22px;
    }

    .home-cta-card{
        min-height:300px;
        padding:42px;
    }
}

@media (max-width:640px){
    .home-cta-section{
        padding:58px 0 68px;
    }

    .home-cta-head{
        margin-bottom:38px;
        text-align:left;
    }

    .home-cta-card{
        min-height:0;
        padding:34px 28px;
    }

    .home-cta-card-content h3{
        font-size:clamp(1.75rem, 8vw, 2.4rem);
    }

    .home-cta-card-content > span{
        margin-top:30px;
        font-size:16px;
    }
}

@media (prefers-reduced-motion: reduce){
    .home-cta-card{
        transition:none;
    }

    .home-cta-card-content > span,
    .home-cta-card-content > span > span{
        transition:none;
    }
}

@media (max-width:1280px){
    :root{
        --header-height:78px;
        --header-logo-height:40px;
        --nav-font:13px;
        --hero-title:clamp(3rem, 4.9vw, 4.8rem);
    }

    .hero .container{
        width:min(var(--max), calc(100% - 56px));
    }

    .services-layout{
        gap:44px;
    }

    .service-featured{
        min-height:240px;
        padding:36px 40px;
    }
}

@media (max-width:1080px){
    :root{
        --header-height:76px;
        --header-logo-height:40px;
        --hero-title:clamp(3rem, 8vw, 4.45rem);
    }

    .hero{
        min-height:100vh;
        min-height:100svh;
    }

    .hero h1{
        max-width:680px;
        font-size:var(--hero-title);
    }

    .hero-copy p{
        max-width:620px;
        font-size:1.12rem;
    }
}

@media (max-width:980px){
    .proof-strip{
        padding:62px 0 68px;
    }

    .proof-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .proof{
        min-height:0;
        padding:32px;
    }

    .testimonials-strip{
        padding:62px 0 68px;
    }

    .testimonial-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .testimonial-card{
        min-height:0;
        padding:32px;
    }

    .features,
    .services-showcase,
    .split{
        grid-template-columns:1fr;
    }

    .services-layout{
        grid-template-columns:1fr;
    }

    .services-copy{
        padding-top:0;
    }

    .insights{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width:720px){
    :root{
        --header-height:70px;
        --header-logo-height:34px;
    }

    .hero{
        min-height:100vh;
        min-height:100svh;
        padding-bottom:58px;
    }

    .hero h1{
        margin-bottom:22px;
        font-size:clamp(2.75rem, 12vw, 3.95rem);
        line-height:1.02;
    }

    .hero-copy p{
        margin-bottom:30px;
        font-size:1.02rem;
        line-height:1.55;
    }

    .hero .btn,
    .btn{
        min-height:52px;
        font-size:16px;
    }
}

@media (max-width:640px){
    .testimonials-head{
        margin-bottom:32px;
        text-align:left;
    }

    .testimonials-head p{
        margin-left:0;
    }

    .testimonial-card{
        padding:28px;
    }

    .testimonial-trust-pill{
        width:100%;
        align-items:flex-start;
        padding:16px;
    }

    .advantage-head{
        margin-bottom:32px;
        text-align:left;
    }

    .advantage-head p{
        margin-left:0;
    }

    .proof{
        padding:28px;
    }

    .proof strong{
        font-size:28px;
    }

    .cta-band{
        align-items:flex-start;
        flex-direction:column;
        padding:32px;
    }

    .insights{
        grid-template-columns:1fr;
    }
}

.home-cta-section {
    padding: 82px 0 96px;
    background: #f7f9fc;
}

.home-cta-head {
    max-width: 900px;
    margin: 0 auto 58px;
    text-align: center;
}

.home-cta-kicker {
    margin-bottom: 18px;
    color: var(--blue);
    font-size: 13px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.home-cta-head h2 {
    margin: 0;
    color: var(--navy-2);
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1.08;
    letter-spacing: -.06em;
}

.home-cta-head p {
    max-width: 720px;
    margin: 28px auto 0;
    color: #556173;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;
}

.home-cta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px;
}

.home-cta-card {
    position: relative;
    min-height: 430px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    border-radius: 10px;
    color: #ffffff;
    text-decoration: none;
    background: #081331;
    box-shadow: 0 18px 42px rgba(15,27,45,.14);
    isolation: isolate;
    transition: transform .22s ease, box-shadow .22s ease;
}

.home-cta-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-size: cover;
    background-position: center;
    transform: scale(1);
    transition: transform .65s cubic-bezier(.2,.8,.2,1), filter .65s ease;
}

.home-cta-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
            linear-gradient(180deg, rgba(2,7,51,.08) 0%, rgba(2,7,51,.42) 48%, rgba(2,7,51,.76) 100%),
            linear-gradient(135deg, rgba(2,7,51,.24), rgba(47,128,237,.22));
}

.home-cta-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 26px 58px rgba(15,27,45,.2);
}

.home-cta-card:hover::before {
    transform: scale(1.06);
    filter: saturate(1.04);
}

.home-cta-card-employers::before {
    background-image: url('../assets/employer.jpg');
}

.home-cta-card-seekers::before {
    background-image: url('../assets/4.JPG');
}

.home-cta-card-content {
    width: 100%;
    padding: 44px 48px;
}

.home-cta-card small {
    display: block;
    margin-bottom: 16px;
    color: #8fb8ff;
    font-size: 14px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.home-cta-card h3 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(34px, 3vw, 44px);
    line-height: 1;
    letter-spacing: -.055em;
}

.home-cta-card p {
    max-width: 610px;
    margin: 22px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 18px;
    line-height: 1.5;
    font-weight: 500;
}

.home-cta-card-content > span {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 34px;
    color: #ffffff;
    font-size: 18px;
    line-height: 1;
    font-weight: 900;
}

.home-cta-card-content > span span {
    font-size: 28px;
    line-height: .75;
    transition: transform .22s ease;
}

.home-cta-card:hover .home-cta-card-content > span span {
    transform: translateX(5px);
}

@media (max-width: 980px) {
    .home-cta-section {
        padding: 68px 0 76px;
    }

    .home-cta-head {
        margin-bottom: 38px;
    }

    .home-cta-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .home-cta-card {
        min-height: 360px;
    }
}

@media (max-width: 640px) {
    .home-cta-section {
        padding: 58px 0 66px;
    }

    .home-cta-head {
        text-align: left;
    }

    .home-cta-head p {
        margin-left: 0;
        font-size: 18px;
    }

    .home-cta-card {
        min-height: 330px;
    }

    .home-cta-card-content {
        padding: 32px 28px;
    }
}

/* ─── Scroll reveal ─────────────────────────────────────────────────────── */

[data-reveal]{
    opacity:0;
    transform:translateY(52px);
    transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1);
    transition-delay:var(--reveal-delay, 0ms);
}

[data-reveal].is-visible{
    opacity:1;
    transform:none;
}

@media (prefers-reduced-motion: reduce){
    [data-reveal]{
        opacity:1;
        transform:none;
        transition:none;
    }
}

/* ─── Homepage premium insights section ──────────────────────────────────── */

.home-insights-section{
    padding:84px 0 96px;
    background:#ffffff;
}

.home-insights-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
    margin-bottom:56px;
}

.home-insights-kicker{
    margin-bottom:12px;
    color:var(--blue);
    font-size:13px;
    line-height:1;
    font-weight:900;
    letter-spacing:.22em;
    text-transform:uppercase;
}

.home-insights-head h2{
    margin:0;
    color:var(--navy-2);
    font-size:clamp(38px, 4.2vw, 56px);
    line-height:1;
    letter-spacing:-.055em;
}

.home-insights-link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--navy-2);
    font-size:16px;
    line-height:1;
    font-weight:900;
    text-decoration:none;
    transition:color .2s ease, transform .2s ease;
}

.home-insights-link:hover{
    color:var(--blue);
    transform:translateX(2px);
}

.home-insights-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:34px;
}

.home-insight-card{
    min-width:0;
}

.home-insight-link{
    display:block;
    color:inherit;
    text-decoration:none;
}

.home-insight-media{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    width:100%;
    aspect-ratio:1.78 / 1;
    border-radius:14px;
    box-shadow:0 14px 34px rgba(15,27,45,.1);
    transition:transform .22s ease, box-shadow .22s ease;
}

.home-insight-media::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:
        linear-gradient(135deg, rgba(15,39,64,.10), rgba(15,39,64,.22)),
        var(--insight-image, linear-gradient(135deg, #dfe8f3, #f8fafc));
    background-size:cover;
    background-position:center;
    transform:scale(1);
    transition:transform .55s cubic-bezier(.2,.8,.2,1), filter .55s ease;
}

.home-insight-media::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    border-radius:inherit;
    background:
        linear-gradient(180deg, rgba(2,7,51,0) 35%, rgba(2,7,51,.16) 100%),
        linear-gradient(135deg, rgba(47,128,237,.08), rgba(2,7,51,.08));
    opacity:0;
    transition:opacity .35s ease;
    pointer-events:none;
}

.home-insight-link:hover .home-insight-media{
    transform:translateY(-4px);
    box-shadow:0 22px 46px rgba(15,27,45,.14);
}

.home-insight-link:hover .home-insight-media::before{
    transform:scale(1.07);
    filter:saturate(1.05);
}

.home-insight-link:hover .home-insight-media::after{
    opacity:1;
}

@media (prefers-reduced-motion: reduce){
    .home-insight-media::before{
        transition:none;
    }

    .home-insight-media::after{
        transition:none;
    }

    .home-insight-link:hover .home-insight-media::before{
        transform:none;
    }

    .home-insight-read-more,
    .home-insight-read-more span{
        transition:none;
        transform:none;
    }
}

.home-insight-body{
    display:flex;
    flex-direction:column;
    min-height:190px;
    padding:24px 0 0;
}

.home-insight-body small{
    display:block;
    margin-bottom:12px;
    color:var(--blue);
    font-size:13px;
    line-height:1;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.home-insight-body h3{
    margin:0;
    color:var(--navy-2);
    font-size:clamp(22px, 1.7vw, 28px);
    line-height:1.12;
    letter-spacing:-.045em;
    transition:color .2s ease;
}

.home-insight-link:hover h3{
    color:var(--blue);
}

.home-insight-body p{
    margin:14px 0 0;
    color:#556173;
    font-size:16px;
    line-height:1.55;
    font-weight:500;
}

.home-insight-read-more{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    margin-top:auto;
    padding-top:14px;
    color:var(--navy-2);
    font-size:16px;
    line-height:1;
    font-weight:500;
    letter-spacing:-.01em;
    opacity:0;
    transform:translateY(6px);
    transition:opacity .22s ease, transform .22s ease, color .22s ease;
}

.home-insight-read-more span{
    font-size:18px;
    line-height:.8;
    transform:translateX(0);
    transition:transform .22s ease;
}

.home-insight-link:hover .home-insight-read-more,
.home-insight-link:focus-visible .home-insight-read-more{
    opacity:1;
    transform:translateY(0);
}

.home-insight-link:hover .home-insight-read-more span,
.home-insight-link:focus-visible .home-insight-read-more span{
    transform:translateX(4px);
}

@media (hover: none){
    .home-insight-read-more{
        opacity:1;
        transform:none;
    }
}

@media (max-width:980px){
    .home-insights-section{
        padding:68px 0 76px;
    }

    .home-insights-head{
        align-items:flex-start;
        flex-direction:column;
        margin-bottom:34px;
    }

    .home-insights-grid{
        grid-template-columns:1fr;
        gap:32px;
    }
}

@media (max-width:640px){
    .home-insights-section{
        padding:58px 0 66px;
    }

    .home-insights-head h2{
        font-size:38px;
    }

    .home-insight-body{
        padding-top:18px;
    }
}