*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:Cambria,"Times New Roman",serif;
background:#fff;
color:#111827;
overflow-x:hidden;
line-height:1.6;
}

/* =========================
   COMMON CONTAINER
========================= */
.container{
max-width:1250px;
margin:auto;
padding:0 20px;
}

/* =========================
   HERO SECTION
========================= */
.hero{
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
padding:140px 20px 80px;
background:
linear-gradient(
135deg,
#eff6ff,
#ffffff,
#dbeafe
);
}

.hero-wrap{
max-width:1250px;
width:100%;
display:grid;
grid-template-columns:1fr 1fr;
align-items:center;
gap:60px;
}

.hero-content h1{
font-size:60px;
font-weight:700;
line-height:1.1;
color:#0f172a;
}

.hero-content h1 span{
color:#2563eb;
}

.hero-content p{
margin-top:24px;
font-size:18px;
line-height:1.9;
color:#475569;
max-width:600px;
}

.hero-buttons{
display:flex;
gap:16px;
margin-top:38px;
flex-wrap:wrap;
}

.hero-btn{
text-decoration:none;
padding:15px 28px;
border-radius:16px;
font-size:15px;
font-weight:600;
transition:.3s;
display:inline-flex;
align-items:center;
gap:10px;
}

.primary-btn{
background:
linear-gradient(
135deg,
#2563eb,
#1d4ed8
);
color:#fff;
}

.primary-btn:hover{
transform:translateY(-3px);
box-shadow:
0 15px 30px rgba(37,99,235,.25);
}

.secondary-btn{
border:2px solid #2563eb;
background:#fff;
color:#2563eb;
}

.secondary-btn:hover{
background:#2563eb;
color:#fff;
}

.hero-stats{
display:flex;
gap:35px;
margin-top:45px;
flex-wrap:wrap;
}

.stat-box h2{
font-size:36px;
color:#2563eb;
font-weight:700;
}

.stat-box p{
margin-top:5px;
font-size:14px;
color:#64748b;
}

.hero-image{
display:flex;
justify-content:center;
align-items:center;
}

.hero-image img{
width:100%;
max-width:520px;
animation:float 4s ease-in-out infinite;
}

@keyframes float{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-12px);
}

100%{
transform:translateY(0);
}

}

/* =========================
   SECTION TITLE
========================= */
.section-title{
text-align:center;
font-size:42px;
font-weight:700;
color:#0f172a;
margin-bottom:60px;
}

.section-title i{
color:#2563eb;
margin-right:10px;
}

/* =========================
   ABOUT SECTION
========================= */
.about-section{
padding:100px 20px;
background:#fff;
}

.about-wrap{
display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
align-items:center;
}

.about-image img{
width:70%;
border-radius:30px;
}

.about-content h2{
font-size:44px;
margin-bottom:25px;
color:#0f172a;
}

.about-content p{
font-size:16px;
line-height:1.9;
color:#475569;
margin-bottom:18px;
}

/* =========================
   SERVICES
========================= */
.services-section{
padding:100px 20px;
background:#f8fbff;
}

.service-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:28px;
}

.service-card{
background:#fff;
padding:35px 28px;
border-radius:24px;
transition:.35s;
border:1px solid #e2e8f0;
box-shadow:0 10px 35px rgba(0,0,0,.05);
text-align:center;
}

.service-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 45px rgba(37,99,235,.10);
}

.icon-box{
width:72px;
height:72px;
border-radius:20px;
display:flex;
align-items:center;
justify-content:center;
background:linear-gradient(135deg,#2563eb,#1d4ed8);
color:#fff;
font-size:30px;
margin:0 auto 22px;
}

.service-card h3{
font-size:24px;
margin-bottom:15px;
}

.service-card p{
font-size:15px;
line-height:1.8;
color:#475569;
margin-bottom:18px;
}

.service-btn{
display:inline-block;
padding:13px 22px;
border-radius:14px;
background:
linear-gradient(
135deg,
#2563eb,
#1d4ed8
);
color:#fff;
text-decoration:none;
font-size:14px;
font-weight:600;
transition:.3s;
}

.service-btn:hover{
transform:translateY(-2px);
}

/* =========================
   PROJECT SECTION
========================= */
.projects-section{
padding:100px 20px;
background:#fff;
}

.project-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:28px;
}

.project-card{
background:#fff;
padding:32px 26px;
border-radius:24px;
border:1px solid #e2e8f0;
box-shadow:0 10px 30px rgba(0,0,0,.05);
transition:.35s;
text-align:center;
}

.project-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(37,99,235,.10);
}

.project-card i{
font-size:34px;
color:#2563eb;
margin-bottom:20px;
}

.project-card h3{
font-size:24px;
margin-bottom:15px;
}

.project-card p{
font-size:15px;
line-height:1.8;
color:#475569;
}

/* =========================
   CTA SECTION
========================= */
.cta-section{
padding:100px 20px;
background:
linear-gradient(
135deg,
#2563eb,
#1d4ed8
);
}

.cta-box{
text-align:center;
color:#fff;
}

.cta-box h2{
font-size:46px;
margin-bottom:20px;
}

.cta-box p{
font-size:18px;
margin-bottom:35px;
opacity:.9;
}

.cta-btn{
display:inline-block;
padding:16px 32px;
border-radius:16px;
background:#fff;
color:#2563eb;
text-decoration:none;
font-weight:700;
transition:.3s;
}

.cta-btn:hover{
transform:translateY(-3px);
}

/* =========================
   MOBILE
========================= */
@media(max-width:992px){

.hero-wrap,
.about-wrap{
grid-template-columns:1fr;
text-align:center;
}

.hero-content p{
margin:auto;
margin-top:24px;
}

.hero-buttons,
.hero-stats{
justify-content:center;
}

.service-grid,
.project-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.hero{
padding:130px 15px 70px;
}

.hero-content h1{
font-size:38px;
}

.hero-content p{
font-size:15px;
}

.hero-buttons{
flex-direction:column;
}

.hero-btn{
justify-content:center;
}

.section-title{
font-size:30px;
margin-bottom:40px;
}

.about-content h2{
font-size:32px;
}

.service-grid,
.project-grid{
grid-template-columns:1fr;
}

.service-card,
.project-card{
padding:24px 20px;
}

.cta-box h2{
font-size:32px;
}

.cta-box p{
font-size:15px;
}

.hero-image img{
max-width:340px;
}

}