
/* =========================================================
   SERVICES PAGE ONLY
   This file is intentionally scoped to .services-page
   so it does NOT conflict with the existing website CSS.
========================================================= */

.services-page .services-hero,
.services-page .service-feature,
.services-page .services,
.services-page .services-split,
.services-page .services-why,
.services-page .how-it-works,
.services-page .cta-banner{
    width:min(1180px,calc(100% - 48px));
    margin-left:auto;
    margin-right:auto;
}

/* ---------- Services Hero ---------- */

.services-page .services-hero{
    padding:70px 0 65px;
    min-height:0;
    display:block;
    overflow:visible;
    background:transparent;
}

.services-page .services-hero__inner{
    min-height:455px;
    display:grid;
    grid-template-columns:1fr 1fr;
    overflow:hidden;
    border-radius:30px;
    background:#f7f9fc;
    box-shadow:0 18px 45px rgba(16,42,82,.12);
    position:relative;
    max-width:none;
    margin:0;
    padding:0;
}

.services-page .services-hero__copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:60px 65px;
    color:#132456;
    position:relative;
    z-index:2;
}

.services-page .services-hero__title{
    max-width:600px;
    color:#132456;
    font-family:"Poppins",sans-serif;
    font-size:46px;
    line-height:1.13;
    font-weight:700;
    letter-spacing:-.035em;
}

.services-page .services-hero__text{
    max-width:560px;
    margin-top:20px;
    color:#5b6b88;
    font-size:18px;
    line-height:1.7;
}

.services-page .services-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:13px;
    margin-top:30px;
}

.services-page .services-hero__image{
    min-height:455px;
    height:100%;
    overflow:hidden;
    position:relative;
    opacity:1;
}

.services-page .services-hero__image::before,
.services-page .services-hero__overlay,
.services-page .services-hero__bg{
    display:none !important;
}

.services-page .services-hero__image img{
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    object-position:center;
}

/* ---------- Feature / Screenshot Style Card ---------- */

.services-page .service-feature{
    padding:0 0 95px;
    min-height:0;
    display:block;
    background:transparent;
    overflow:visible;
}

.services-page .service-feature__inner{
    min-height:460px;
    display:grid;
    grid-template-columns:1fr 1fr;
    overflow:hidden;
    border-radius:30px;
    background:#fff;
    border:1px solid #eef1f5;
    box-shadow:0 10px 35px rgba(20,44,80,.10);
}

.services-page .service-feature__content{
    padding:48px 50px 45px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:#132456;
}

.services-page .service-feature__number{
    display:block;
    margin-bottom:8px;
    color:#1463c5;
    font-size:12px;
    line-height:1;
    font-weight:700;
    letter-spacing:.24em;
}

.services-page .service-feature__content h2{
    max-width:510px;
    color:#132456;
    font-family:"Poppins",sans-serif;
    font-size:32px;
    line-height:1.15;
    font-weight:700;
    letter-spacing:-.025em;
}

.services-page .service-feature__lead{
    max-width:560px;
    margin-top:16px;
    color:#5b6b88;
    font-size:18px;
    line-height:1.55;
}

.services-page .service-feature__points{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px 24px;
    margin-top:22px;
    margin-bottom:26px;
}

.services-page .service-point{
    display:grid;
    grid-template-columns:18px 1fr;
    gap:10px;
    align-items:start;
}

.services-page .service-point__icon{
    width:18px;
    height:18px;
    margin-top:3px;
    object-fit:contain;
}

.services-page .service-point h3{
    color:#17386f;
    font-family:"Inter",sans-serif;
    font-size:14px;
    line-height:1.35;
    font-weight:600;
}

.services-page .service-point p{
    margin-top:3px;
    color:#65738a;
    font-size:12px;
    line-height:1.45;
}

.services-page .service-feature__image{
    min-height:460px;
    height:100%;
    overflow:hidden;
}

.services-page .service-feature__image img{
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    object-position:center;
}

/* ---------- Buttons used only on services page ---------- */

.services-page .btn{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:0;
    border-radius:28px;
    padding:12px 25px;
    font-size:14px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
    transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;
}

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

.services-page .btn--quote,
.services-page .btn--emergency{
    color:#fff;
    background:#0b2d68;
    box-shadow:0 10px 20px rgba(11,45,104,.18);
}

.services-page .btn--quote:hover,
.services-page .btn--emergency:hover{
    background:#123f87;
}

.services-page .btn--outline{
    color:#0b2d68;
    background:#fff;
    border:1px solid #cdd8e6;
}

/* ---------- Service Grid ---------- */

.services-page .services{
    padding:0 0 100px;
    min-height:0;
    display:block;
    background:transparent;
}

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

.services-page .service-card{
    overflow:hidden;
    border:1px solid #e5eaf1;
    border-radius:26px;
    background:#fff;
    box-shadow:0 10px 30px rgba(20,44,80,.06);
    transition:transform .3s ease,box-shadow .3s ease;
}

.services-page .service-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 40px rgba(20,44,80,.12);
}

.services-page .service-card__img{
    width:100%;
    height:270px;
    overflow:hidden;
    background:#eef3f8;
}

.services-page .service-card__img img{
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    transition:transform .45s ease;
}

.services-page .service-card:hover .service-card__img img{
    transform:scale(1.04);
}

.services-page .service-card__content{
    padding:28px 30px 32px;
}

.services-page .service-card__number{
    display:inline-block;
    margin-bottom:7px;
    color:#1463c5;
    font-size:12px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.18em;
}

.services-page .service-card__content h3{
    color:#132456;
    font-family:"Poppins",sans-serif;
    font-size:25px;
    line-height:1.2;
    font-weight:700;
}

.services-page .service-card__content > p{
    margin-top:13px;
    color:#5b6b88;
    font-size:16px;
    line-height:1.65;
}

.services-page .service-card__list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px 20px;
    margin:23px 0 27px;
}

.services-page .service-card__list li{
    display:grid;
    grid-template-columns:17px 1fr;
    align-items:start;
    gap:9px;
    color:#193b73;
    font-size:13px;
    line-height:1.45;
    font-weight:500;
}

.services-page .service-card__list img{
    width:17px;
    height:17px;
    margin-top:2px;
    object-fit:contain;
}

/* ---------- Other service sections ---------- */

.services-page .services-split{
    padding:0 0 100px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:25px;
}

.services-page .split-card{
    min-height:390px;
    padding:40px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    border-radius:28px;
    overflow:hidden;
    background-position:center;
    background-size:cover;
    color:#fff;
}

.services-page .services-why{
    padding:0 0 100px;
}

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

.services-page .why-card{
    padding:28px;
    border:1px solid #e5eaf1;
    border-radius:22px;
    background:#fff;
    box-shadow:0 8px 25px rgba(20,44,80,.05);
}

.services-page .how-it-works{
    padding:0 0 100px;
}

.services-page .steps{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid #dfe6ef;
}

.services-page .step{
    min-height:210px;
    padding:25px 24px;
    border-right:1px solid #dfe6ef;
}

.services-page .step:first-child{
    border-left:1px solid #dfe6ef;
}

.services-page .cta-banner{
    margin-bottom:90px;
    padding:65px 40px;
    text-align:center;
    border-radius:30px;
    background:#0b2d68;
    color:#fff;
}

/* ---------- Responsive ---------- */

@media (max-width:1100px){
    .services-page .services-hero__copy{
        padding:48px;
    }

    .services-page .services-hero__title{
        font-size:40px;
    }

    .services-page .service-feature__content{
        padding:40px;
    }
}

@media (max-width:850px){
    .services-page .services-hero__inner,
    .services-page .service-feature__inner{
        grid-template-columns:1fr;
    }

    .services-page .services-hero__image,
    .services-page .service-feature__image{
        min-height:360px;
        height:360px;
    }

    .services-page .services__grid,
    .services-page .services-split{
        grid-template-columns:1fr;
    }

    .services-page .why__grid{
        grid-template-columns:repeat(2,1fr);
    }

    .services-page .steps{
        grid-template-columns:repeat(2,1fr);
    }

    .services-page .step:nth-child(3){
        border-left:1px solid #dfe6ef;
        border-top:1px solid #dfe6ef;
    }

    .services-page .step:nth-child(4){
        border-top:1px solid #dfe6ef;
    }
}

@media (max-width:600px){
    .services-page .services-hero,
    .services-page .service-feature,
    .services-page .services,
    .services-page .services-split,
    .services-page .services-why,
    .services-page .how-it-works,
    .services-page .cta-banner{
        width:calc(100% - 28px);
    }

    .services-page .services-hero{
        padding:35px 0 55px;
    }

    .services-page .services-hero__title{
        font-size:32px;
    }

    .services-page .services-hero__text{
        font-size:16px;
    }

    .services-page .services-hero__copy{
        padding:35px 26px;
    }

    .services-page .services-hero__image,
    .services-page .service-feature__image{
        min-height:290px;
        height:290px;
    }

    .services-page .service-feature{
        padding-bottom:65px;
    }

    .services-page .service-feature__content{
        padding:32px 25px;
    }

    .services-page .service-feature__content h2{
        font-size:27px;
    }

    .services-page .service-feature__lead{
        font-size:16px;
    }

    .services-page .service-feature__points{
        grid-template-columns:1fr;
    }

    .services-page .service-card__img{
        height:235px;
    }

    .services-page .service-card__content{
        padding:25px 23px 28px;
    }

    .services-page .service-card__content h3{
        font-size:22px;
    }

    .services-page .service-card__list{
        grid-template-columns:1fr;
    }

    .services-page .why__grid,
    .services-page .steps{
        grid-template-columns:1fr;
    }

    .services-page .step,
    .services-page .step:first-child,
    .services-page .step:nth-child(3),
    .services-page .step:nth-child(4){
        border-left:1px solid #dfe6ef;
        border-right:1px solid #dfe6ef;
        border-top:1px solid #dfe6ef;
    }

    .services-page .step:last-child{
        border-bottom:1px solid #dfe6ef;
    }

    .services-page .cta-banner{
        padding:45px 23px;
        margin-bottom:55px;
    }
}
