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

body{
font-family:'Montserrat',sans-serif;
}

header{
position:fixed;
width:100%;
top:0;
background:#f4b400;
padding:20px 60px;
display:flex;
justify-content:space-between;
align-items:center;
transition:.3s;
z-index:1000;
}

header.scrolled{
box-shadow:0 5px 20px rgba(0,0,0,0.1);
padding:15px 60px;
}

.logo{
display:flex;
align-items:center;
gap:15px;
}

.logo img{
height:50px;
}

nav ul{
display:flex;
list-style:none;
gap:30px;
}

nav a{
text-decoration:none;
color:#111;
font-weight:600;
position:relative;
}

nav a::after{
content:"";
position:absolute;
width:0%;
height:2px;
background:#f4b400;
left:0;
bottom:-5px;
transition:.3s;
}

nav a:hover::after{
width:100%;
}

/* HERO */



.hero{
height:100vh;
background:url('db7060c9-bc36-40df-bed3-4fcabb6c7057.png') center/cover no-repeat;
position:relative;
display:flex;
justify-content:center;
align-items:center;
color:white;
text-align:center;
flex-direction: column;
}
.hero-overlay{
position:absolute;
inset:0;
background:rgba(0, 0, 0, 0.6);
pointer-events: none;
z-index: 1;
}

.hero-content{
position:relative;
z-index:2;
}



.hero h1{
font-size:50px;
margin-bottom:20px;
}

.hero-buttons{
margin-top:20px;
}

.btn{
padding:12px 25px;
text-decoration:none;
border-radius:6px;
font-weight:600;
margin:10px;
display:inline-block;
transition:.3s;
}

.primary{
background:#f4b400;
color:rgb(0, 0, 0);
}

.primary:hover{
background:#ffffff;
}

.secondary{
border:2px solid white;
color:rgb(255, 255, 255);
}

.secondary:hover{
background:rgb(255, 255, 255);
color:rgb(0, 0, 0);
}

/* ABOUT */

.about{
padding:120px 10%;
background:#f5f5f5;
text-align:center;
}

.about-wrapper{
display:flex;
flex-direction:column;
gap:40px;
}

.about-stats{
display:flex;
justify-content:center;
gap:60px;
}

.about-stats h3{
font-size:40px;
color:#f4b400;
}

/* SERVICES */
/* SERVICES SECTION */

.services{
padding:80px 10%;
text-align:center;
background:#f5f5f5;
}

.services h2{
font-size:32px;
margin-bottom:50px;
}

/* container */
.services-container{
display:flex;
justify-content:center;
gap:30px;
flex-wrap:wrap;
}

/* cards */
.service-box{
background:white;
padding:35px 25px;
width:260px;
border-radius:12px;
box-shadow:0 5px 15px rgba(0,0,0,0.08);
transition:0.3s;
}

/* hover effect */
.service-box:hover{
transform:translateY(-8px);
box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

/* icon */
.service-box i{
font-size:35px;
color:#f5a300;
margin-bottom:15px;
}

/* title */
.service-box h3{
font-size:20px;
margin-bottom:10px;
}

/* text */
.service-box p{
font-size:14px;
color:#666;
}
.h2{
    align-items: center;
    text-align: center;
}
.projects{ 
    padding:100px 8%;
     background:#f5f5f5;
     }

.projects-title{ 
    text-align:center;
     font-size:32px;
      margin-bottom:60px; 
    }

.projects-grid{ 
    display:grid;
     grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
      gap:35px;
     }
.project-card{ 
    position:relative;
     overflow:hidden;
      border-radius:18px;
       box-shadow:0 15px 40px rgba(0,0,0,0.12);
        cursor:pointer;
     }
.project-card img{
     width:100%;
      height:260px;
       object-fit:cover;
        transition:0.5s;
     }
.project-card:hover img{ 
    transform:scale(1.1);
 }
.project-overlay{ 
    position:absolute; 
    bottom:0;
     left:0;
      width:100%;
       height:100%;
        background:linear-gradient(to top, rgba(0,0,0,0.8), transparent);
         display:flex;
          flex-direction:column;
           justify-content:flex-end;
            padding:25px; color:white;
             opacity:0; transition:0.4s;
             }
.project-card:hover .project-overlay{ 
    opacity:1;
 }
.project-overlay h3{ 
    font-size:20px; 
    margin-bottom:5px; 
}
.project-overlay p{
     font-size:14px; 
    }

/* Lightbox CSS */
.lightbox{
  display:none;
  position:fixed;
  z-index:9999;
  padding-top:60px;
  left:0;
  top:0;
  width:100%;
  height:100%;
  overflow:auto;
  background-color: rgba(0,0,0,0.9);
}
.lightbox-content{
  margin:auto;
  display:block;
  max-width:90%;
  max-height:80%;
}
.close{
  position:absolute;
  top:20px;
  right:35px;
  color:#fff;
  font-size:40px;
  font-weight:bold;
  cursor:pointer;
}
#caption{
  text-align:center;
  color:#ccc;
  font-size:18px;
  padding:10px 0;
}

/* CONTACT */

.contact{
background:#111;
color:white;
padding:100px 10%;
text-align:center;
align-items: center;

}


footer{
background:black;
color:white;
padding:20px;
text-align:center;
}

form{
display:flex;
flex-direction:column;
gap:15px;
max-width:500px;
margin:30px auto;
}

form input, form textarea{
padding:12px;
border:none;
border-radius:6px;
}

form textarea{
height:120px;
}

form button{
background:#f4b400;
border:none;
padding:12px;
border-radius:6px;
font-weight:600;
cursor:pointer;
}

.map{
margin-top:40px;
border-radius:12px;
overflow:hidden;
}






.social-icons{
display:flex;
gap:15px;
}

.social-icons a{
display:flex;
align-items:center;
justify-content:center;
width:40px;
height:40px;
background:#f4b400;
color:black;
border-radius:50%;
font-size:18px;
transition:0.3s;
text-decoration:none;
}

.social-icons a:hover{
background:black;
color:#f4b400;
transform:scale(1.1);
}

.whatsapp-icon a{
display:flex;
align-items:center;
justify-content:center;
width:45px;
height:45px;
background:#25D366;
color:white;
border-radius:50%;
font-size:22px;
text-decoration:none;
transition:0.3s;
}

.whatsapp-icon a:hover{
transform:scale(1.1);
background:#1ebe5d;
}


.email-contact a{
  display:flex;
  align-items:center;
  gap:8px;
  background:#f4b400;
  color:black;
  padding:8px 12px;
  border-radius:6px;
  text-decoration:none;
  font-weight:600;
  box-shadow:0 5px 15px rgba(0,0,0,0.2);
  transition:0.3s;
}

.email-contact a:hover{
  background:white;
  color:black;
  transform:scale(1.05);
}

.email-contact i{
  font-size:18px;
}


















/* MOBILE */

.hamburger{
display:none;
font-size:28px;
cursor:pointer;
}

/* MOBILE DESIGN */

@media(max-width:900px){

nav{
position:absolute;
top:80px;
right:0;
background:white;
width:100%;
max-height:0;
overflow:hidden;
transition:0.4s;
}

nav ul{
flex-direction:column;
gap:20px;
padding:20px;
}

nav.active{
max-height:400px;
}

.hamburger{
display:block;
}



.hero h1{
font-size:32px;
}

.about-stats{
flex-direction:column;
gap:20px;
}

.services-container{
flex-direction:column;
align-items:center;
}

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

.contact{
padding:70px 20px;
}
}




