/* ===========================
   RESET
=========================== */

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

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Manrope',sans-serif;
    background:#ffffff;
    color:#1b1b1b;
    overflow-x:hidden;

}

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

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

/* ===========================
   VARIABLES
=========================== */

:root{

--primary:#009845;
--secondary:#0066b3;

--dark:#08111f;

--gray:#6d6d6d;

--white:#ffffff;

--light:#ffffff;

--shadow:0 20px 50px rgba(0,0,0,.12);

}

/* ===========================
   CONTAINER
=========================== */

.container{

width:90%;
max-width:1280px;
margin:auto;

}

/* ===========================
   HEADER
=========================== */

header{

position:fixed;

top:0;

left:0;

width:100%;

z-index:1000;

padding:20px 0;

transition:.35s;

background:rgba(255,255,255,.92);

backdrop-filter:blur(12px);

box-shadow:0 2px 20px rgba(0,0,0,.08);

}

header .container{

display:flex;

justify-content:space-between;

align-items:center;

}

.logo{

display:flex;

align-items:center;

gap:15px;

}

.logo img{

width:70px;

}

/* ===========================
   NAVBAR
=========================== */

nav{

display:flex;

gap:35px;

}

nav a{

font-size:15px;

font-weight:700;

color:#222;

transition:.3s;

position:relative;

}

nav a:hover{

color:var(--primary);

}

nav a::after{

content:"";

position:absolute;

bottom:-8px;

left:0;

width:0;

height:2px;

background:var(--primary);

transition:.3s;

}

nav a:hover::after{

width:100%;

}

/* ===========================
RIGHT
=========================== */

.right{

display:flex;

align-items:center;

gap:18px;

}

/* ===========================
LANGUAGE
=========================== */

#lang{

border:none;

background:#f0f0f0;

padding:12px 18px;

border-radius:30px;

cursor:pointer;

font-weight:700;

transition:.3s;

}

#lang:hover{

background:var(--primary);

color:#fff;

}

/* ===========================
BUTTON
=========================== */

.btn{

padding:15px 30px;

background:var(--primary);

color:#fff;

font-weight:700;

border-radius:50px;

transition:.35s;

}

.btn:hover{

background:var(--secondary);

transform:translateY(-3px);

}

/* ===========================
HERO
=========================== */

.hero{

height:100vh;

background:url("../images/hero.jpg") center center/cover;

position:relative;

display:flex;

align-items:center;

}

.overlay{

position:absolute;

inset:0;

background:linear-gradient(

90deg,

rgba(4,17,34,.82),

rgba(4,17,34,.55)

);

}

.hero-content{

position:relative;

z-index:10;

max-width:720px;

color:white;

}

.hero h4{

letter-spacing:3px;

text-transform:uppercase;

margin-bottom:18px;

font-size:15px;

color:#8ef1bd;

}

.hero h1{

font-size:68px;

font-weight:800;

line-height:1.1;

margin-bottom:28px;

}

.hero p{

font-size:19px;

line-height:1.9;

color:#ddd;

margin-bottom:45px;

}

.hero-buttons{

display:flex;

gap:18px;

flex-wrap:wrap;

}

.primary{

padding:18px 38px;

background:var(--primary);

border-radius:50px;

color:white;

font-weight:700;

transition:.35s;

}

.primary:hover{

transform:translateY(-4px);

background:#00b755;

}

.secondary{

padding:18px 38px;

border:2px solid white;

border-radius:50px;

color:white;

font-weight:700;

transition:.35s;

}

.secondary:hover{

background:white;

color:#111;

}

/* ===========================
SECTION
=========================== */

section{

padding:120px 0;

}

/* ===========================
ABOUT
=========================== */

#about{

background:#fff;

}

#about .container{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}

#about h5{

color:var(--primary);

font-size:15px;

letter-spacing:3px;

margin-bottom:15px;

}

#about h2{

font-size:48px;

margin-bottom:25px;

}

#about p{

font-size:17px;

color:#666;

line-height:1.9;

margin-bottom:20px;

}

#about img{

border-radius:25px;

box-shadow:var(--shadow);

}

/* ===========================
STATISTICS
=========================== */

.statistics{

background:var(--dark);

color:white;

}

.statistics .container{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.statistics .item{

text-align:center;

}

.statistics h2{

font-size:60px;

color:#00c96d;

margin-bottom:10px;

}

.statistics p{

font-size:17px;

}

/* ===========================
RESPONSIVE
=========================== */

@media(max-width:991px){

nav{

display:none;

}

.hero h1{

font-size:46px;

}

#about .container{

grid-template-columns:1fr;

}

.statistics .container{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.hero{

text-align:center;

}

.hero-buttons{

justify-content:center;

}

.hero h1{

font-size:38px;

}

.statistics .container{

grid-template-columns:1fr;

}

.logo img{

width:55px;

}

.btn{

display:none;

}

}
/* ===========================
   SECTION TITLE
=========================== */

.section-title{

text-align:center;

max-width:800px;

margin:0 auto 70px;

}


.section-title h5{

color:var(--primary);

font-size:14px;

letter-spacing:3px;

margin-bottom:15px;

}


.section-title h2{

font-size:48px;

font-weight:800;

margin-bottom:20px;

color:var(--dark);

}


.section-title p{

color:#666;

font-size:17px;

line-height:1.8;

}


/* ===========================
   SERVICES
=========================== */


#services{

background:#f7f8fa;

}


.services-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}


.service-card{

background:white;

padding:40px 35px;

border-radius:25px;

transition:.4s;

box-shadow:0 10px 40px rgba(0,0,0,.06);

position:relative;

overflow:hidden;

}


.service-card::before{

content:"";

position:absolute;

left:0;

top:0;

width:5px;

height:0;

background:var(--primary);

transition:.4s;

}


.service-card:hover::before{

height:100%;

}


.service-card:hover{

transform:translateY(-12px);

box-shadow:0 25px 60px rgba(0,0,0,.12);

}


.service-card .icon{

font-size:45px;

margin-bottom:25px;

}


.service-card h3{

font-size:25px;

margin-bottom:15px;

color:var(--dark);

}


.service-card p{

color:#666;

line-height:1.8;

}



/* ===========================
   WHY CHOOSE US
=========================== */


#why-us{

background:white;

}


.why-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

}


.why-grid img{

border-radius:30px;

box-shadow:var(--shadow);

}


.why-grid h5{

color:var(--primary);

letter-spacing:3px;

margin-bottom:15px;

}


.why-grid h2{

font-size:48px;

margin-bottom:35px;

}



.advantages{

display:flex;

flex-direction:column;

gap:20px;

}



.advantages li{

font-size:18px;

font-weight:600;

padding:18px 25px;

background:#f7f8fa;

border-radius:15px;

transition:.3s;

}


.advantages li:hover{

background:var(--primary);

color:white;

transform:translateX(10px);

}



/* ===========================
   PROJECTS
=========================== */


#projects{

background:#f7f8fa;

}



.projects-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

}



.project{

height:380px;

border-radius:25px;

overflow:hidden;

position:relative;

cursor:pointer;

}



.project img{

height:100%;

object-fit:cover;

transition:.5s;

}



.project::after{

content:"";

position:absolute;

inset:0;

background:linear-gradient(
transparent,
rgba(0,0,0,.75)
);

}



.project div{

position:absolute;

bottom:30px;

left:25px;

z-index:2;

color:white;

}



.project h3{

font-size:22px;

}



.project:hover img{

transform:scale(1.1);

}



/* ===========================
   PROCESS
=========================== */


#process{

background:var(--dark);

color:white;

}



#process .section-title h2{

color:white;

}



#process .section-title h5{

color:#00d878;

}



.process-grid{

display:grid;

grid-template-columns:repeat(6,1fr);

gap:20px;

}



.process-grid div{

text-align:center;

padding:30px 15px;

background:rgba(255,255,255,.08);

border-radius:20px;

transition:.3s;

}



.process-grid div:hover{

background:var(--primary);

transform:translateY(-10px);

}



.process-grid span{

font-size:35px;

font-weight:800;

color:#00d878;

display:block;

margin-bottom:15px;

}



.process-grid h3{

font-size:18px;

}



/* ===========================
   ANIMATIONS
=========================== */


.service-card,
.project,
.process-grid div{

animation:fadeUp .8s ease;

}


@keyframes fadeUp{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}



/* ===========================
   RESPONSIVE
=========================== */


@media(max-width:1100px){


.services-grid{

grid-template-columns:repeat(2,1fr);

}


.projects-grid{

grid-template-columns:repeat(2,1fr);

}


.process-grid{

grid-template-columns:repeat(3,1fr);

}


}



@media(max-width:768px){


.section-title h2{

font-size:34px;

}


.services-grid{

grid-template-columns:1fr;

}


.why-grid{

grid-template-columns:1fr;

}


.projects-grid{

grid-template-columns:1fr;

}


.process-grid{

grid-template-columns:repeat(2,1fr);

}


}



@media(max-width:480px){


.process-grid{

grid-template-columns:1fr;

}


.service-card{

padding:30px 25px;

}

}
/* ===========================
   CERTIFICATES
=========================== */

#certificates{

background:#fff;

}


.certificate-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}


.certificate-card{

background:#f7f8fa;

padding:35px;

border-radius:25px;

text-align:center;

transition:.35s;

}


.certificate-card:hover{

transform:translateY(-10px);

box-shadow:0 20px 50px rgba(0,0,0,.1);

}


.certificate-card img{

height:180px;

object-fit:contain;

margin-bottom:25px;

}


.certificate-card h3{

font-size:20px;

color:var(--dark);

}



/* ===========================
   CLIENTS
=========================== */


#clients{

background:#f7f8fa;

}


.clients-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

align-items:center;

}


.clients-grid img{

height:90px;

object-fit:contain;

filter:grayscale(100%);

opacity:.7;

transition:.3s;

}


.clients-grid img:hover{

filter:grayscale(0);

opacity:1;

}



/* ===========================
   TESTIMONIALS
=========================== */


#testimonials{

background:white;

}



.reviews-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:30px;

}



.review-card{

padding:40px;

background:#f7f8fa;

border-radius:25px;

position:relative;

}



.review-card::before{

content:"★★★★★";

color:#00a651;

font-size:25px;

display:block;

margin-bottom:20px;

}



.review-card p{

font-size:18px;

line-height:1.8;

color:#555;

margin-bottom:25px;

}



.review-card h3{

color:var(--dark);

}



/* ===========================
   FAQ
=========================== */


#faq{

background:#f7f8fa;

}



.faq-box{

max-width:900px;

margin:auto;

}



details{

background:white;

padding:25px 30px;

border-radius:20px;

margin-bottom:15px;

cursor:pointer;

box-shadow:0 10px 30px rgba(0,0,0,.05);

}



summary{

font-size:20px;

font-weight:700;

color:var(--dark);

cursor:pointer;

}



details p{

padding-top:20px;

line-height:1.8;

color:#666;

font-size:16px;

}



/* ===========================
   CONTACT
=========================== */


#contact{

background:var(--dark);

color:white;

}



.contact-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

}



.contact-grid h5{

color:#00d878;

letter-spacing:3px;

margin-bottom:20px;

}



.contact-grid h2{

font-size:48px;

margin-bottom:30px;

}



.contact-grid p{

font-size:18px;

margin-bottom:15px;

color:#ddd;

}



form{

display:flex;

flex-direction:column;

gap:18px;

}



form input,
form textarea{

width:100%;

padding:18px 22px;

border-radius:15px;

border:none;

outline:none;

font-family:inherit;

font-size:16px;

}



form textarea{

height:150px;

resize:none;

}



form button{

padding:18px;

border:none;

border-radius:50px;

background:var(--primary);

color:white;

font-size:17px;

font-weight:700;

cursor:pointer;

transition:.3s;

}



form button:hover{

background:#00c96d;

transform:translateY(-3px);

}



/* ===========================
   FOOTER
=========================== */


footer{

background:#050b14;

color:white;

padding-top:70px;

}



.footer-grid{

display:grid;

grid-template-columns:2fr 1fr 1fr;

gap:50px;

padding-bottom:50px;

}



.footer-logo{

width:90px;

margin-bottom:20px;

}



footer p{

color:#aaa;

line-height:1.8;

}



footer h3{

margin-bottom:25px;

font-size:20px;

}



footer a{

display:block;

color:#aaa;

margin-bottom:12px;

transition:.3s;

}



footer a:hover{

color:white;

}



.copyright{

border-top:1px solid rgba(255,255,255,.1);

text-align:center;

padding:25px;

color:#777;

}



/* ===========================
   MOBILE
=========================== */


@media(max-width:1000px){


.certificate-grid{

grid-template-columns:repeat(2,1fr);

}


.clients-grid{

grid-template-columns:repeat(2,1fr);

}


.contact-grid{

grid-template-columns:1fr;

}


.footer-grid{

grid-template-columns:1fr 1fr;

}


}



@media(max-width:700px){


.certificate-grid{

grid-template-columns:1fr;

}


.clients-grid{

grid-template-columns:1fr;

}


.reviews-grid{

grid-template-columns:1fr;

}


.contact-grid h2{

font-size:35px;

}


.footer-grid{

grid-template-columns:1fr;

}


}
/* ===========================
   ABOUT SECTION
=========================== */


#about{

background:#ffffff;

padding:120px 0;

}



.about-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

}



/* IMAGE */

.about-image{

position:relative;

}



.about-image img{

width:100%;

height:600px;

object-fit:cover;

border-radius:35px;

box-shadow:0 30px 70px rgba(0,0,0,.15);

}



/* EXPERIENCE BOX */

.experience-box{

position:absolute;

bottom:35px;

right:-30px;

background:#009845;

color:white;

padding:35px 45px;

border-radius:25px;

display:flex;

flex-direction:column;

align-items:center;

box-shadow:0 20px 50px rgba(0,152,69,.35);

}



.experience-box strong{

font-size:55px;

font-weight:800;

line-height:1;

}



.experience-box span{

font-size:16px;

margin-top:10px;

}



/* CONTENT */


.about-content h5{

font-size:14px;

letter-spacing:3px;

color:#009845;

font-weight:700;

margin-bottom:20px;

}



.about-content h2{

font-size:48px;

line-height:1.2;

font-weight:800;

color:#08111f;

margin-bottom:30px;

}



.about-content p{

font-size:17px;

line-height:1.9;

color:#666;

margin-bottom:20px;

}



/* FEATURES */


.about-features{

display:grid;

grid-template-columns:1fr 1fr;

gap:18px;

margin:35px 0;

}



.about-features div{

display:flex;

align-items:center;

gap:15px;

background:#f6f8fa;

padding:18px 20px;

border-radius:15px;

transition:.3s;

}



.about-features div:hover{

background:#009845;

color:white;

transform:translateX(8px);

}



.about-features span{

width:32px;

height:32px;

display:flex;

align-items:center;

justify-content:center;

background:#009845;

color:white;

border-radius:50%;

font-weight:bold;

}



.about-features p{

margin:0;

font-size:15px;

font-weight:600;

color:#222;

}



.about-features div:hover p{

color:white;

}



/* BUTTON */


.about-content .btn{

display:inline-block;

margin-top:15px;

}



/* ===========================
   RESPONSIVE
=========================== */


@media(max-width:1000px){


.about-grid{

grid-template-columns:1fr;

gap:50px;

}


.about-image img{

height:500px;

}


.experience-box{

right:20px;

}


.about-content h2{

font-size:38px;

}


}



@media(max-width:600px){


#about{

padding:80px 0;

}


.about-image img{

height:400px;

}



.experience-box{

padding:25px 30px;

bottom:20px;

}



.experience-box strong{

font-size:40px;

}



.about-features{

grid-template-columns:1fr;

}



.about-content h2{

font-size:32px;

}


}