.services-hero{
    padding:104px 0 92px;
    background:
            radial-gradient(circle at 82% 18%, rgba(91,156,255,.18), transparent 26rem),
            linear-gradient(135deg, #ffffff, #f5f8fc);
    border-bottom:1px solid var(--line);
}

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

.services-hero-copy small,
.services-process-copy small,
.service-page-card small{
    display:block;
    margin-bottom:18px;
    color:var(--blue);
    font-size:14px;
    font-weight:800;
    letter-spacing:.32em;
    text-transform:uppercase;
}

.services-hero-copy h1{
    margin:0 0 24px;
    max-width:900px;
    color:var(--navy-2);
    font-size:clamp(3rem, 5vw, 5.4rem);
    line-height:1;
    letter-spacing:-.06em;
    font-weight:900;
    text-wrap:balance;
}

.services-hero-copy p{
    margin:0 0 34px;
    max-width:760px;
    color:var(--muted);
    font-size:clamp(1.08rem, 1.35vw, 1.38rem);
    line-height:1.65;
}

.services-hero-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.services-hero-actions .btn,
.services-cta .btn{
    min-height:52px;
    padding:0 26px;
    font-size:15px;
    font-weight:800;
}

.btn-primary{
    background:var(--navy);
    color:#ffffff;
}

.btn-secondary{
    border-color:rgba(23,32,51,.18);
    background:#ffffff;
    color:var(--navy-2);
}

.services-hero-card{
    padding:34px;
    border-radius:28px;
    background:linear-gradient(135deg, var(--navy), #18315e);
    box-shadow:var(--shadow);
    color:#ffffff;
}

.services-hero-card h2{
    margin:0 0 16px;
    color:#ffffff;
    font-size:clamp(1.8rem, 2.2vw, 2.6rem);
    line-height:1.05;
    letter-spacing:-.045em;
}

.services-hero-card p{
    margin:0;
    color:rgba(255,255,255,.78);
    line-height:1.65;
}

.services-section-page{
    padding:86px 0;
}

.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;
}

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

.services-page-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:22px;
}

.service-page-card{
    min-height:260px;
    padding:32px;
    border:1px solid var(--line);
    border-radius:24px;
    background:#ffffff;
    box-shadow:var(--shadow);
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

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

.service-page-card.featured{
    grid-column:1 / -1;
    min-height:330px;
    color:#ffffff;
    background:
            radial-gradient(circle at 82% 42%, rgba(63,134,255,.20), transparent 24rem),
            linear-gradient(135deg, #1d315f, #1b315f 48%, #203968);
}

.service-page-card.featured small{
    color:#9bc9ff;
}

.service-page-card.featured h3,
.service-page-card.featured p{
    color:#ffffff;
}

.service-page-card.featured p{
    max-width:760px;
    color:rgba(255,255,255,.78);
}

.service-page-card.featured a{
    display:inline-flex;
    margin-top:28px;
    color:#ffffff;
    font-weight:900;
}

.service-page-card.accent h3{
    color:var(--blue);
}

.card-number{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    margin-bottom:20px;
    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;
}

.service-page-card h3{
    margin:0 0 14px;
    color:var(--navy-2);
    font-size:clamp(1.7rem, 2vw, 2.45rem);
    line-height:1.08;
    letter-spacing:-.045em;
    font-weight:900;
}

.service-page-card p{
    margin:0;
    color:var(--muted);
    line-height:1.65;
}

.services-process-section{
    padding:90px 0;
    background:#ffffff;
}

.services-process-layout{
    display:grid;
    grid-template-columns:minmax(0, .78fr) minmax(520px, 1fr);
    gap:42px;
    align-items:start;
}

.services-process-copy h2{
    margin:0 0 18px;
    color:var(--navy-2);
    font-size:clamp(2.4rem, 3.8vw, 4.25rem);
    line-height:1.02;
    letter-spacing:-.055em;
    font-weight:900;
}

.services-process-copy p{
    margin:0;
    color:var(--muted);
    font-size:18px;
    line-height:1.65;
}

.process-steps{
    display:grid;
    gap:18px;
}

.process-steps article{
    display:grid;
    grid-template-columns:auto 1fr;
    column-gap:18px;
    padding:24px;
    border:1px solid var(--line);
    border-radius:22px;
    background:#ffffff;
    box-shadow:0 14px 38px rgba(15,27,45,.045);
}

.process-steps strong{
    grid-row:1 / span 2;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:14px;
    color:var(--blue);
    background:rgba(47,128,237,.10);
}

.process-steps h3{
    margin:0 0 8px;
    color:var(--navy-2);
    font-size:22px;
    line-height:1.15;
    letter-spacing:-.035em;
}

.process-steps p{
    margin:0;
    color:var(--muted);
    line-height:1.65;
}

.services-cta-section{
    padding:84px 0;
}

.services-cta{
    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);
}

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

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

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

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

.services-cta .btn{
    background:#ffffff;
    color:var(--navy);
}

@media (max-width:980px){
    .services-hero-layout,
    .services-page-grid,
    .services-process-layout{
        grid-template-columns:1fr;
    }

    .service-page-card.featured{
        grid-column:auto;
    }

    .services-process-layout{
        gap:28px;
    }
}

@media (max-width:640px){
    .services-hero{
        padding:82px 0 64px;
    }

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

    .services-cta .btn{
        width:100%;
    }
}