:root{
--primary:#0F234B;
--secondary:#FCA311;
--bg:#c3c5c493;
--white:#fff;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Montserrat',sans-serif;
}

html{
scroll-behavior:smooth;
}

body{
background:var(--bg);
overflow-x:hidden;
}

.container{
width:90%;
max: width 1200px;
margin:auto;
}

nav{
position:fixed !important;
top: 0%;
left: 0%;
width:100%;
background:rgb(15, 35, 75);
 color: white !important;
z-index:999;
}

.nav-container{
display:flex;
justify-content:space-between;
align-items:center;

}

.logo img{
height:65px;
}

nav ul{
display:flex;
gap:30px;
list-style:none;
}

nav ul li a{
color:white !important;
text-decoration:none;
font-weight:600;
}

.hero{
height:100vh;
background:url('../images/hero.jpg') center/cover;
display:flex;
justify-content:center;
align-items:center;
position:relative;
text-align:center;
}




.overlay{
position:absolute;
inset:0;
/* backgraoud image updated */
 background-image: url(./../images/download.jpeg);
 background-repeat: no-repeat;
 background-size: cover;
}


.hero-content{
position:relative;
z-index:2;
color:white;
}

.hero-logo{
width:180px;
margin-bottom:20px;
}

.hero h1{
font-size:5rem;
font-weight:800;
}

.hero p{
margin:25px 0;
font-size:2rem;
}

.buttons{
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
}

.btn-primary,
.btn-secondary{
padding:15px 35px;
border-radius:50px;
text-decoration:none;
font-weight:700;
}

.btn-primary{
background:var(--secondary);
color:white;
}

.btn-secondary{
border:2px solid white;
color:white;
}

.about,
.services,
.projects,
.timeline,
.contact{
padding:100px 0;
}

.about-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:200px;
align-items:center;
}

.about img{
width:100%;
border-radius:20px;
}

.section-title{
text-align:center;
font-size:3rem;
margin-bottom:60px;
color:var(--primary);
}

.service-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
}

.service-card{
background:white;
padding:40px;
border-radius:20px;
text-align:center;
box-shadow:0 15px 35px rgba(0,0,0,.1);
transition:.4s;
}

.service-card:hover{
transform:translateY(-10px);
}

.icon{
font-size:3rem;
}

.stats{
background:var(--primary);
padding:100px 0;
}

.stats-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:20px;
}

.stat-box{
text-align:center;
color:white;
}

.stat-box h2{
font-size:4rem;
color:var(--secondary);
}

.projects-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:25px;
}

.project{
width:100%;
height:280px;
object-fit:cover;
border-radius:20px;
transition:.5s;
cursor:pointer;
}

.project:hover{
transform:scale(1.05);
}

.timeline-container{
display:flex;
justify-content:center;
gap:30px;
flex-wrap:wrap;
}

.step{
width:220px;
background:white;
padding:40px;
border-radius:20px;
text-align:center;
}

.step span{
font-size:3rem;
font-weight:800;
color:var(--secondary);
}

.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
}

.contact-card{
background:white;
background-image: url(../images/download.jpeg);
padding:40px;
border-radius:20px;
display: flex;
flex-direction: column;
justify-content: space-between;
  
}

.contact-info{
  
    min-height: 350px;
    position: relative;
}
.contact-overlay{
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    padding:40px;
    color: white;
    position: absolute;
    border-radius:20px;
    overflow: hidden;
    
    top: 0;
    left: 0;
}
.contact-info h3{
  padding-bottom: 15px ;
  font-weight: 900;
}
.contact-info p{
  
    font-size: 1.2rem;
    padding-bottom: 12px;
    font-weight: 600;
}
.contact-image{
    border-radius:20px;
    height: 350px;

}
 
 

footer{
background:var(--primary);
text-align:center;
 min-height: 80px;
padding: 10px 0;
color:white;
}
body{
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main{
    flex: 1;
}


footer img{
width:80px;
margin-bottom:10px;
}

.service-card,
.project,
.step,
.stat-box{
opacity:0;
transform:translateY(40px);
transition:.8s;
}

.show{
opacity:1;
transform:translateY(0);
}

@media(max-width:900px){

.hero h1{
font-size:3rem;
}

.about-grid,
.contact-grid{
grid-template-columns:1fr;
}

nav ul{
display:none;
}

}

.hero-content{
    display: flex;
    align-items: center;
    justify-content: center;
}
.boxCotainConact{
    background-color: rgba(128, 128, 128, 0.3) !important;
     padding: 10px 20px;
     border-radius: 15px;
     width: 100%;
}
.background-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover; /* Acts like background-size: cover */
  transform: translate(-50%, -50%);
  z-index: -1; /* Pushes the video behind the content */
}

.aboutHeader{
    margin-bottom: 25px;
    font-weight: 700;
}

.aboutContact{
    font-size: 1.3rem;
    font-weight: 500;
    text-align: justify;
}
.aboutContact p{
    padding-bottom: 10px ;
}

section{
    min-height: 80vh;
}
.card-body{
    border-bottom: 10px solid var(--primary) ;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.project-card{

    width: 19rem;
    transition: all .5s ease-in-out;
}

.project-card:hover{
    width: 22rem;
    box-shadow: 10px 12px 5px rgba(0,0,0,.1);
}