.services-hero{

position:relative;

padding:120px 0;

overflow:hidden;

background:

linear-gradient(135deg,#f8fbff 0%,#eef7ff 100%);

border-bottom:1px solid #e8eef6;

}
.services-hero-grid{

position:absolute;

inset:0;

background-image:

linear-gradient(rgba(47,139,230,.07) 1px,transparent 1px),

linear-gradient(90deg,rgba(47,139,230,.07) 1px,transparent 1px);

background-size:70px 70px;

opacity:.45;

}
.services-hero-glow{

position:absolute;

right:-120px;

top:-120px;

width:620px;

height:620px;

border-radius:50%;

background:

radial-gradient(circle,

rgba(47,139,230,.18),

transparent 70%);

}
.services-hero-inner{

max-width:900px;

position:relative;

z-index:2;

}
.services-kicker{

display:inline-block;

margin-bottom:24px;

font-size:13px;

font-weight:700;

letter-spacing:.18em;

text-transform:uppercase;

color:#2f8be6;

}
.services-hero h1{

font-size:72px;

line-height:1.05;

font-weight:400;

letter-spacing:-2px;

color:#10283D;

margin-bottom:28px;

}
.services-hero p{

max-width:760px;

font-size:20px;

line-height:1.8;

color:#58677c;

}
.services-intro{

padding:110px 0;

background:#fff;

}
.services-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

}
.services-image img{

width:100%;

border-radius:24px;

box-shadow:0 25px 60px rgba(0,0,0,.08);

display:block;

}
.section-tag{

display:inline-block;

padding:10px 18px;

background:#edf6ff;

border-radius:40px;

color:#2f8be6;

font-weight:600;

margin-bottom:24px;

}
.services-content h2{

font-size:48px;

margin-bottom:24px;

color:#10283D;

}
.services-content p{

font-size:18px;

line-height:1.9;

color:#58677c;

margin-bottom:20px;

}

/* ==========================================
   SERVICES SECTION
========================================== */

.services-section{

    padding:120px 0;

    background:#f8fbff;

}

.section-heading{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.section-heading h2{

    font-size:52px;

    color:#10283D;

    margin:18px 0;

}

.section-heading p{

    font-size:18px;

    color:#5d6c82;

    line-height:1.8;

}

.services-cards{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:35px;

}

.service-card{

    background:#ffffff;

    border-radius:22px;

    padding:45px;

    border:1px solid #e8eef6;

    transition:.35s;

    box-shadow:0 12px 40px rgba(15,40,70,.05);

}

.service-card:hover{

    transform:translateY(-10px);

    border-color:#2f8be6;

    box-shadow:0 25px 60px rgba(47,139,230,.18);

}

.service-icon{

    width:72px;

    height:72px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

    border-radius:18px;

    background:#edf6ff;

    margin-bottom:28px;

}

.service-card h3{

    font-size:20px;

    margin-bottom:18px;

    color:#10283D;

}

.service-card p{

    color:#5f6f84;

    line-height:1.8;

    margin-bottom:28px;
	
	font-size:13px;

}

.service-card ul{

    margin:0;

    padding:0;

    list-style:none;

}

.service-card li{

    position:relative;

    padding-left:28px;

    margin-bottom:14px;

    color:#32475b;
	
	font-size:13px;

}

.service-card li::before{

    content:"✓";

    position:absolute;

    left:0;

    color:#2f8be6;

    font-weight:700;

}

@media(max-width:991px){

.services-cards{

grid-template-columns:1fr;

}

.service-card{

padding:35px;

}

}
/* ==========================================
   PROCESS SECTION
========================================== */

.services-process{

    padding:120px 0;

    background:#ffffff;

}

.process-wrapper{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    margin-top:70px;

    position:relative;

}

.process-line{

    flex:1;

    height:3px;

    background:#d9e8fb;

    margin:42px 15px 0;

}

.process-step{

    width:220px;

    text-align:center;

}

.step-circle{

    width:85px;

    height:85px;

    margin:0 auto 25px;

    border-radius:50%;

    background:#2f8be6;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:24px;

    font-weight:700;

    box-shadow:0 20px 45px rgba(47,139,230,.30);

}

.process-step h3{

    font-size:24px;

    color:#10283D;

    margin-bottom:15px;

}

.process-step p{

    font-size:16px;

    line-height:1.8;

    color:#5e6c81;

}
@media(max-width:991px){

.process-wrapper{

display:block;

}

.process-step{

width:100%;

margin-bottom:45px;

}

.process-line{

display:none;

}

}

/* ==========================================
   WHY SERVICES
========================================== */

.why-services{

padding:120px 0;

background:#f7fbff;

}

.why-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

margin-top:60px;

}

.why-box{

background:#fff;

padding:40px;

border-radius:20px;

box-shadow:0 10px 35px rgba(0,0,0,.05);

transition:.35s;

}

.why-box:hover{

transform:translateY(-8px);

box-shadow:0 20px 45px rgba(47,139,230,.15);

}

.why-box h3{

font-size:24px;

margin-bottom:15px;

color:#10283D;

}

.why-box p{

color:#5e6c81;

line-height:1.8;

}

@media(max-width:991px){

.why-grid{

grid-template-columns:1fr;

}

}

/* ==========================================
   SERVICES STATS
========================================== */

.services-stats{

padding:100px 0;

background:#ffffff;

border-top:1px solid #edf2f8;

border-bottom:1px solid #edf2f8;

}

.stats-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.stat-box{

text-align:center;

padding:45px 30px;

background:#fff;

border-radius:20px;

box-shadow:0 12px 35px rgba(0,0,0,.05);

transition:.3s;

}

.stat-box:hover{

transform:translateY(-8px);

box-shadow:0 25px 50px rgba(47,139,230,.18);

}

.stat-box h2{

font-size:60px;

color:#2f8be6;

margin-bottom:18px;

font-weight:700;

}

.stat-box p{

font-size:18px;

line-height:1.6;

color:#5e6c81;

}

@media(max-width:991px){

.stats-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:600px){

.stats-grid{

grid-template-columns:1fr;

}

}

/* ==========================================
   IMAGE BANNER
========================================== */

.services-banner{

position:relative;

height:600px;

overflow:hidden;

}

.services-banner img{

width:100%;

height:100%;

object-fit:cover;

display:block;

}

.banner-overlay{

position:absolute;

inset:0;

background:rgba(16,40,61,.65);

z-index:1;

}

.banner-content{

position:absolute;

top:50%;

left:50%;

transform:translate(-50%,-50%);

z-index:2;

text-align:center;

max-width:850px;

color:#fff;

}

.banner-content span{

display:inline-block;

margin-bottom:25px;

font-size:14px;

letter-spacing:.18em;

text-transform:uppercase;

color:#8cc4ff;

}

.banner-content h2{

font-size:60px;

line-height:1.15;

margin-bottom:25px;

}

.banner-content p{

font-size:20px;

line-height:1.9;

}

/* ==========================================
   CONTACT
========================================== */

.services-contact{

padding:120px 0;

background:#f7fbff;

}

.contact-card{

background:#fff;

padding:70px;

border-radius:28px;

text-align:center;

box-shadow:0 20px 55px rgba(0,0,0,.06);

}

.contact-card h2{

font-size:52px;

margin-bottom:20px;

color:#10283D;

}

.contact-card>p{

font-size:18px;

color:#5e6c81;

margin-bottom:50px;

}

.contact-details{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.contact-details h4{

margin-bottom:10px;

font-size:18px;

color:#2f8be6;

text-transform:uppercase;

letter-spacing:.08em;

}

.contact-details p{

font-size:17px;

line-height:1.7;

color:#10283D;

}

@media(max-width:991px){

.contact-details{

grid-template-columns:1fr;

}

.contact-card{

padding:40px;

}

}

/* ==========================================
   SCROLL ANIMATION
========================================== */

.service-card,
.process-step,
.why-box,
.stat-box{

opacity:0;

transform:translateY(40px);

transition:all .8s ease;

}

.service-card.show,
.process-step.show,
.why-box.show,
.stat-box.show{

opacity:1;

transform:translateY(0);

}

/* ==========================================
   PRIMARY BUTTON
========================================== */

.btn-primary{

display:inline-flex;

align-items:center;

justify-content:center;

padding:14px 34px;

border-radius:50px;

background:#2f8be6;

color:#fff;

font-weight:600;

text-decoration:none;

transition:.3s;

}

.btn-primary:hover{

background:#165cb5;

transform:translateY(-3px);

box-shadow:0 18px 35px rgba(47,139,230,.25);

}

@media(max-width:991px){

.services-hero{

padding:90px 0;

}

.services-hero h1{

font-size:48px;

}

.services-hero p{

font-size:18px;

}

.services-grid{

grid-template-columns:1fr;

gap:50px;

}

}

@media(max-width:991px){

.services-banner{

height:420px;

}

.banner-content{

width:90%;

}

.banner-content h2{

font-size:40px;

}

.banner-content p{

font-size:17px;

}

}