
:root{
--green:#16a34a;
--green-dark:#166534;
--green-soft:#ecfdf5;
--black:#0f172a;
--text:#334155;
--muted:#64748b;
--white:#fff;
--gray:#f8fafc;
--border:#e2e8f0;
--radius:24px;
--shadow:0 20px 50px rgba(15,23,42,.08);
--font:'Inter',sans-serif;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:var(--font);
background:#fff;
color:var(--text);
line-height:1.8;
overflow-x:hidden;
}

img{
max-width:100%;
display:block;
}

.container-main{
max-width:1280px;
margin:auto;
padding:0 24px;
}

.section{
padding:100px 0;
position:relative;
}

.hero{
background:
radial-gradient(circle at top left, rgba(22,163,74,.18), transparent 30%),
linear-gradient(135deg,#07110c 0%,#0f1f17 100%);
color:#fff;
padding:120px 0 80px;
position:relative;
overflow:hidden;
}

.hero::before{
content:'';
position:absolute;
inset:0;
background-image:
linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
background-size:42px 42px;
}

.hero-grid{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:60px;
align-items:center;
position:relative;
z-index:2;
}

.badge{
display:inline-flex;
align-items:center;
gap:8px;
padding:10px 18px;
border-radius:999px;
background:rgba(255,255,255,.08);
font-size:13px;
font-weight:600;
margin-bottom:20px;
}

.hero h1{
font-size:clamp(3rem,5vw,5.5rem);
line-height:1.02;
font-weight:800;
letter-spacing:-.05em;
margin-bottom:24px;
}

.hero p{
font-size:17px;
line-height:1.9;
color:rgba(255,255,255,.82);
}

.trust-row{
display:flex;
flex-wrap:wrap;
gap:12px;
margin-top:28px;
}

.trust-pill{
padding:12px 18px;
border-radius:999px;
background:rgba(255,255,255,.08);
font-size:14px;
font-weight:500;
}

.form-box{
background:#fff;
padding:28px;
border-radius:30px;
box-shadow:0 25px 70px rgba(0,0,0,.25);
}

.stats{
margin-top:-40px;
position:relative;
z-index:5;
}

.stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
background:#fff;
border-radius:28px;
overflow:hidden;
box-shadow:var(--shadow);
}

.stat{
padding:30px;
text-align:center;
border-right:1px solid var(--border);
}

.stat:last-child{
border-right:none;
}

.stat h3{
font-size:2rem;
color:var(--green);
font-weight:800;
margin-bottom:8px;
}

.form-box {
    padding: 10px;
}

.heading-center{
text-align:center;
max-width:860px;
margin:auto auto 60px;
}

.heading-center h2{
font-size:clamp(2rem,4vw,3.5rem);
line-height:1.1;
font-weight:800;
color:var(--black);
margin-bottom:16px;
}

.heading-center p{
font-size:16px;
color:var(--muted);
}

.card-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px;
}

.card{
background:#fff;
border:1px solid var(--border);
border-radius:28px;
padding:30px;
box-shadow:0 10px 30px rgba(15,23,42,.04);
transition:.3s ease;
}

.card:hover{
transform:translateY(-5px);
box-shadow:var(--shadow);
}

.card-icon{
width:58px;
height:58px;
border-radius:18px;
background:var(--green-soft);
display:flex;
align-items:center;
justify-content:center;
font-size:24px;
color:var(--green);
margin-bottom:18px;
}

.card h3{
font-size:20px;
font-weight:700;
margin-bottom:12px;
color:var(--black);
}

.area-wrap{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:18px;
margin-top:50px;
}

.area-card{
background:#fff;
border:1px solid var(--border);
padding:24px;
border-radius:24px;
text-decoration:none;
transition:.3s ease;
}

.area-card:hover{
transform:translateY(-4px);
border-color:var(--green);
}

.area-card h3{
font-size:18px;
margin-bottom:10px;
color:var(--black);
}

.area-card p{
font-size:14px;
color:var(--muted);
margin-bottom:16px;
}

.area-card span{
font-size:14px;
font-weight:700;
color:var(--green);
}

.process-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
}

.process-card{
background:#fff;
padding:30px;
border-radius:24px;
text-align:center;
box-shadow:0 10px 30px rgba(15,23,42,.04);
}

.process-number{
width:56px;
height:56px;
border-radius:50%;
background:linear-gradient(135deg,#16a34a,#22c55e);
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-size:20px;
font-weight:800;
margin:0 auto 18px;
}

.gallery{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
}

.gallery img{
width:100%;
height:320px;
object-fit:cover;
border-radius:24px;
}

.faq-item{
border:1px solid var(--border);
border-radius:22px;
overflow:hidden;
margin-bottom:16px;
background:#fff;
}

.faq-q{
padding:22px;
font-size:16px;
font-weight:700;
cursor:pointer;
display:flex;
align-items:center;
justify-content:space-between;
}

.faq-a{
padding:0 22px 22px;
font-size:15px;
display:none;
}

.cta{
background:linear-gradient(135deg,#16a34a,#166534);
padding:100px 0;
text-align:center;
color:#fff;
}

.cta h2{
font-size:clamp(2rem,4vw,4rem);
margin-bottom:20px;
}

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
height:56px;
padding:0 34px;
border-radius:999px;
background:#fff;
color:var(--green);
font-weight:700;
text-decoration:none;
margin-top:20px;
}

@media(max-width:1100px){
.hero-grid,
.card-grid,
.area-wrap,
.process-grid,
.gallery{
grid-template-columns:1fr 1fr;
}
}

@media(max-width:768px){
.hero-grid,
.card-grid,
.area-wrap,
.process-grid,
.gallery,
.stats-grid{
grid-template-columns:1fr;
}

.hero{
padding-top:170px;
}

.hero h1{
font-size:2.8rem;
}

.section{
padding:70px 0;
}

.form-box {
    padding: 0px;
}
}

.review-section{
background:#ffffff;
padding-top:100px;
padding-bottom:100px;
overflow:hidden;
}

.review-heading{
text-align:center;
max-width:850px;
margin:0 auto 60px;
}

.review-badge{
display:inline-flex;
align-items:center;
gap:10px;
padding:10px 18px;
background:#dcfce7;
color:#166534;
border-radius:999px;
font-size:14px;
font-weight:700;
margin-bottom:22px;
}

.review-heading h2{
font-size:clamp(2.4rem,4vw,4.4rem);
line-height:1.05;
font-weight:800;
letter-spacing:-.04em;
color:#0f172a;
margin-bottom:18px;
}

.review-heading p{
font-size:16px;
line-height:1.9;
color:#64748b;
}

.reviews-wrap{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.review-box{
background:#fff;
border:1px solid #e2e8f0;
border-radius:32px;
padding:32px;
position:relative;
overflow:hidden;
transition:.3s ease;
}

.review-box:hover{
transform:translateY(-6px);
box-shadow:0 20px 50px rgba(15,23,42,.08);
}

.review-box::before{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:4px;
background:linear-gradient(90deg,#16a34a,#22c55e);
}

.review-top{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
margin-bottom:24px;
}

.review-stars{
display:flex;
gap:4px;
color:#f59e0b;
font-size:15px;
}

.verified-review{
display:flex;
align-items:center;
gap:6px;
padding:8px 12px;
background:#f0fdf4;
color:#166534;
border-radius:999px;
font-size:12px;
font-weight:700;
}

.review-message{
font-size:16px;
line-height:1.9;
color:#334155;
margin-bottom:32px;
min-height:150px;
}

.review-user{
display:flex;
align-items:center;
gap:14px;
}

.review-avatar{
width:56px;
height:56px;
border-radius:50%;
background:linear-gradient(135deg,#16a34a,#166534);
display:flex;
align-items:center;
justify-content:center;
font-size:20px;
font-weight:700;
color:#fff;
flex-shrink:0;
}

.review-user h3{
font-size:17px;
font-weight:700;
margin-bottom:4px;
color:#0f172a;
}

.review-location{
display:flex;
align-items:center;
gap:6px;
font-size:14px;
color:#64748b;
}

.review-location i{
font-size:12px;
color:#16a34a;
}

.service-proof-image{
margin-top:50px;
position:relative;
}

.service-proof-image img{
width:100%;
height:380px;
object-fit:cover;
border-radius:28px;
display:block;
margin-top:32px;
}

.proof-caption{
margin-top:14px;
font-size:14px;
color:#64748b;
}

.process-proof-wrap{
margin-top:60px;
display:grid;
grid-template-columns:1fr 1fr;
gap:30px;
align-items:center;
background:#f8fafc;
padding:28px;
border-radius:32px;
}

.process-proof-wrap img{
width:100%;
height:340px;
object-fit:cover;
border-radius:24px;
}

.process-proof-content h3{
font-size:2rem;
margin-bottom:16px;
color:#0f172a;
font-weight:800;
}

.process-proof-content p{
font-size:16px;
line-height:1.9;
color:#64748b;
}


.review-proof-banner{
margin-bottom:40px;
}

.review-proof-banner img{
width:100%;
height:420px;
object-fit:cover;
border-radius:32px;
}

.expert-proof-image{
margin-top:50px;
}

.expert-proof-image img{
width:100%;
height:380px;
object-fit:cover;
border-radius:28px;
display:block;
margin-top:36px;
}

.gallery-grid{
display:grid;
grid-template-columns:1.2fr .8fr;
gap:20px;
margin-top:40px;
}

.gallery-large img{
width:100%;
height:520px;
object-fit:fill;
border-radius:28px;
display:block;
}

.gallery-side{
display:grid;
grid-template-rows:1fr 1fr;
gap:20px;
}

.gallery-side img{
width:100%;
height:250px;
object-fit:cover;
border-radius:28px;
display:block;
}

@media(max-width:900px){

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

.gallery-large img{
height:360px;
}

.gallery-side{
grid-template-columns:1fr 1fr;
grid-template-rows:auto;
}

.gallery-side img{
height:220px;
}

}


.process-proof-wrap{
margin-top:40px;
}

.process-proof-image img{
width:100%;
height:380px;
object-fit:cover;
border-radius:28px;
display:block;
}

.process-proof-mini{
display:flex;
gap:14px;
margin-top:18px;
flex-wrap:wrap;
}

.mini-proof{
padding:12px 18px;
background:#f0fdf4;
border-radius:999px;
font-size:14px;
font-weight:600;
color:#166534;
}

.review-highlight-image{
border-radius:28px;
overflow:hidden;
height:100%;
min-height:320px;
}

.review-highlight-image img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}
@media(max-width:900px){

.process-proof-wrap{
grid-template-columns:1fr;
}

}

@media(max-width:1100px){

.reviews-wrap{
grid-template-columns:1fr 1fr;
}

}

@media(max-width:768px){

.reviews-wrap{
grid-template-columns:1fr;
}

.review-box{
padding:26px;
}

.review-message{
min-height:auto;
}

}