*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Poppins',sans-serif;
}

html{
  scroll-behavior:smooth;
}

body{
  overflow-x:hidden;
  background:#f5f5f5;
  color:#111;
}

img{
  max-width:100%;
  display:block;
}

section{
  width:100%;
  padding:140px 7%;
  scroll-margin-top:120px;
}

/* ================= HEADER ================= */

.header{

  width:100%;

  height:90px;

  padding:0 7%;

  display:flex;
  justify-content:space-between;
  align-items:center;

  position:fixed;

  top:0;
  left:0;

  z-index:1000;

  background:rgba(0,0,0,0.88);

  backdrop-filter:blur(12px);

  border-bottom:1px solid rgba(255,255,255,0.08);

}

.logo{

  font-size:24px;

  font-weight:700;

  color:#fff;

}

.navbar{

  display:flex;

  align-items:center;

  gap:28px;

  flex-wrap:wrap;

}

.navbar a{

  text-decoration:none;

  color:#fff;

  font-size:15px;

  font-weight:500;

  position:relative;

  transition:0.3s;

}

.navbar a::after{

  content:'';

  position:absolute;

  left:0;
  bottom:-6px;

  width:0%;
  height:2px;

  background:#fff;

  transition:0.4s;

}

.navbar a:hover::after{
  width:100%;
}

.nav-btn{

  padding:14px 30px;

  background:#fff;

  color:#111;

  text-decoration:none;

  font-weight:500;

  transition:0.4s;

  border:1px solid #fff;

}

.nav-btn:hover{

  background:transparent;

  color:#fff;

}

/* ================= HERO ================= */

/* HERO VIDEO SECTION */

.hero{

  position:relative;

  width:100%;

  height:100vh;

  overflow:hidden;

}

/* VIDEO */

.bg-video{

  position:absolute;

  top:0;
  left:0;

  width:100%;
  height:100%;

  object-fit:cover;

}

/* OVERLAY */

.overlay{

  position:relative;

  z-index:2;

  width:100%;
  height:100%;

  

  display:flex;

  justify-content:center;

  background:rgba(0,0,0,0.25);
  align-items:center;

  text-align:center;

  padding:0 7%;

  padding-top:120px;

}

/* CONTENT */

.hero-content{

  max-width:1000px;

}

.hero-content p{

  letter-spacing:4px;

  color:#ddd;

  margin-bottom:25px;

  font-size:15px;

}

.hero-content h1{

  font-size:clamp(55px,8vw,110px);

  line-height:1.05;

  margin-bottom:35px;

  color:#fff;

}

.hero-content h3{

  font-size:20px;

  line-height:2;

  color:#e0e0e0;

  font-weight:400;

  max-width:750px;

  margin:auto;

  margin-bottom:45px;

}

/* BUTTON */

.hero-buttons{

  display:flex;

  margin-top:-20px;

  justify-content:center;

}

.black-btn{

  padding:18px 40px;

  background:#fff;

  color:#111;

  text-decoration:none;

  font-weight:600;

}
/* ================= COMMON ================= */

.small-title{

  letter-spacing:4px;

  color:#777;

  margin-bottom:20px;

}

.section-top{

  text-align:center;

  margin-bottom:70px;

}

.section-top h2{

  font-size:clamp(42px,5vw,75px);

}

/* ================= ABOUT ================= */

/* ABOUT SECTION */

.about{

  display:flex;

  align-items:center;

  gap:60px;

  background:#fff;

}

.about-left,
.about-right{

  flex:1;

}

/* IMAGE */

.about-image{

  width:100%;

  height:650px;

  object-fit:cover;

  border-radius:12px;

}

/* TEXT */

.about-right h2{

  font-size:55px;

  margin-bottom:30px;

}

.about-text{

  font-size:17px;

  line-height:2;

  color:#555;

}
/* ================= SERVICES ================= */

/* SERVICES */
/* ================= SERVICES ================= */

.services{

  background:#f7f7f7;

}

.services-grid{

  display:grid;

  grid-template-columns:repeat(2,1fr);

  gap:30px;

}

.service-card{

  position:relative;

  overflow:hidden;

  min-height:320px;

  border-radius:12px;

  display:flex;

  align-items:flex-end;

  padding:30px;

  background:#111;

}

.service-overlay{

  position:relative;

  z-index:2;

}

.service-overlay h3{

  color:#fff;

  font-size:34px;

  line-height:1.4;

}


/* IMAGES */

.fabrication-img,
.civil-img,
.pipeline-img{

  position:absolute;

  top:0;
  left:0;

  width:100%;
  height:100%;

  object-fit:cover;

  opacity:0;

  transition:1s;

}

/* ACTIVE */

.fabrication-img.active,
.civil-img.active-civil,
.pipeline-img.active-pipeline{

  opacity:1;

}

/* DARK OVERLAY */

.service-card::after{

  content:'';

  position:absolute;

  top:0;
  left:0;

  width:100%;
  height:100%;

  background:rgba(0,0,0,0.35);

  z-index:1;

}

/* RESPONSIVE */

@media(max-width:768px){

  .services-grid{

    grid-template-columns:1fr;

  }

}
/* ================= WHY CHOOSE ================= */

.why-choose{

  background:#111;

  color:#fff;

  margin-top:80px;

}

.why-grid{

  display:grid;

  grid-template-columns:repeat(3,1fr);

  gap:30px;

}

.why-box{

  background:#1b1b1b;

  padding:40px;

  font-size:22px;

  line-height:1.7;

  transition:0.5s;

}

.why-box:hover{

  transform:translateY(-10px);

}

/* ================= PROJECTS ================= */

/* ================= PROJECTS ================= */

.projects{
  background:#f3f3f3;
}

.projects-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}

.project-box{
  background:#fff;
  overflow:hidden;
  border:1px solid #e5e5e5;
  transition:0.5s;
}

.project-box:hover{
  transform:translateY(-10px);
  box-shadow:0 15px 35px rgba(0,0,0,0.08);
}

.project-img{
  width:100%;
  height:320px;
  object-fit:cover;
  display:block;
}

.project-content{
  padding:30px;
}

.project-content h3{
  font-size:26px;
  line-height:1.5;
}

/* PROJECT RESPONSIVE */

@media(max-width:991px){
  .projects-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:600px){
  .projects-grid{
    grid-template-columns:1fr;
  }

  .project-img{
    height:250px;
  }
}
/* ================= TESTIMONIALS ================= */

.testimonials{

  background:#fff;

}

.testimonial-grid{

  display:grid;

  grid-template-columns:repeat(3,1fr);

  gap:30px;

}

.testimonial-card{

  background:#f5f5f5;

  padding:45px;

  transition:0.5s;

}

.testimonial-card:hover{

  transform:translateY(-10px);

  background:#111;

  color:#fff;

}

.testimonial-card h3{

  font-size:24px;

  line-height:1.8;

  font-weight:500;

}

/* ================= STATISTICS ================= */

.statistics{

  background:#111;

  color:#fff;

}

.stats-grid{

  display:grid;

  grid-template-columns:repeat(4,1fr);

  gap:30px;

}

.stats-box{

  background:#1b1b1b;

  padding:50px 30px;

  text-align:center;

  transition:0.5s;

}

.stats-box:hover{

  transform:translateY(-10px);

}

.stats-box h3{

  font-size:65px;

  margin-bottom:20px;

}

.stats-box p{

  font-size:20px;

  color:#ccc;

}

/* ================= CTA ================= */

.cta-section{

  background:#fff;

}

.cta-content{

  background:#111;

  color:#fff;

  padding:100px 60px;

  text-align:center;

}

.cta-content p{

  letter-spacing:4px;

  color:#999;

  margin-bottom:25px;

}

.cta-content h2{

  font-size:clamp(42px,5vw,75px);

  line-height:1.2;

  margin-bottom:25px;

}

.cta-content h4{

  font-size:20px;

  color:#ccc;

  margin-bottom:45px;

  font-weight:400;

}

.cta-buttons{

  display:flex;

  justify-content:center;

  gap:20px;

  flex-wrap:wrap;

}

/* ================= CONTACT ================= */

.contact{

  display:flex;

  gap:70px;

  background:#f7f7f7;

}

.contact-left,
.contact-right{

  flex:1;

}

.contact-left h2{

  font-size:clamp(42px,5vw,75px);

  margin-bottom:50px;

}

.contact-info{

  display:flex;

  flex-direction:column;

  gap:25px;

}

.info-box{

  background:#fff;

  padding:35px;

  transition:0.4s;

}

.info-box:hover{

  transform:translateY(-8px);

}

.info-box h3{

  font-size:24px;

  margin-bottom:15px;

}

.info-box p{

  font-size:17px;

  line-height:1.8;

  color:#555;

}

.map-box{

  width:100%;

  min-height:650px;

  background:#ddd;

  display:flex;

  justify-content:center;

  align-items:center;

  text-align:center;

  padding:30px;

}

.map-box h3{

  font-size:32px;

  color:#555;

}

/* ================= FOOTER ================= */

.footer{

  background:#111;

  color:#fff;

  padding:80px 7% 30px;

}

.footer-top{

  display:flex;

  justify-content:space-between;

  gap:60px;

  padding-bottom:50px;

  border-bottom:1px solid #222;

}

.footer-left h2{

  font-size:38px;

  margin-bottom:20px;

}

.footer-left p{

  color:#aaa;

  line-height:2;

  max-width:500px;

}

.footer-right{

  display:flex;

  flex-direction:column;

  gap:18px;

}

.footer-right a{

  text-decoration:none;

  color:#fff;

  font-size:18px;

  transition:0.4s;

}

.footer-right a:hover{

  transform:translateX(6px);

  color:#999;

}

.footer-bottom{

  padding-top:30px;

  text-align:center;

}

.footer-bottom p{

  color:#888;

}

/* ================= RESPONSIVE ================= */

@media(max-width:991px){

  .header{

    height:auto;

    padding:25px 7%;

    flex-direction:column;

    gap:25px;

  }

  .navbar{

    justify-content:center;

  }

  .about,
  .contact{

    flex-direction:column;

  }

  .services-grid,
  .why-grid,
  .projects-grid,
  .testimonial-grid{

    grid-template-columns:repeat(2,1fr);

  }

  .stats-grid{

    grid-template-columns:repeat(2,1fr);

  }

}

@media(max-width:600px){

  section{

    padding:100px 5%;

  }

  .hero{

    padding-top:240px;

  }

  .hero-content h1{

    font-size:52px;

  }

  .services-grid,
  .why-grid,
  .projects-grid,
  .testimonial-grid,
  .stats-grid{

    grid-template-columns:1fr;

  }

  .service-card,
  .why-box,
  .testimonial-card,
  .stats-box{

    padding:30px;

  }

  .project-img{

    height:250px;

  }

  .map-box{

    min-height:400px;

  }

  .footer-top{

    flex-direction:column;

  }

}
/* ================= RESPONSIVE service  ================= */

.services-grid{

  align-items:stretch;

}


/*============material our service===============*/

/* MECHANICAL */

.mechanical-card{

  position:relative;

  overflow:hidden;

}

.mechanical-img{

  position:absolute;

  top:0;
  left:0;

  width:100%;
  height:100%;

  object-fit:cover;

}


/* MATERIAL SLIDER */

.material-slider{

  position:relative;

  overflow:hidden;

}

.material-img{

  position:absolute;

  top:0;
  left:0;

  width:100%;
  height:100%;

  object-fit:cover;

  opacity:0;

  transition:1s;

}

.material-img.active-material{

  opacity:1;

}

/* TRENCH SLIDER */

.trench-slider{

  position:relative;

  overflow:hidden;

}

.trench-img{

  position:absolute;

  top:0;
  left:0;

  width:100%;
  height:100%;

  object-fit:cover;

  opacity:0;

  transition:1s;

}

.trench-img.active-trench{

  opacity:1;

}



/* MOBILE NAV FIX */
@media(max-width:600px){

  .header{
    position:relative;
    height:auto;
    padding:25px 5%;
  }

  .navbar{
    gap:22px;
  }

  .nav-btn{
    display:none;
  }

  .hero{
    padding-top:40px;
  }

  .hero-content h1{
    font-size:42px;
  }

  .hero-content h3{
    font-size:16px;
  }
}



/*=====================logo===============*/

.logo img {
  width: 130px;
  height: auto;
  display: block;
}

@media (max-width: 768px) {
  .logo img {
    width: 95px;
  }
}


/*=====================section===============*/


.section {
  padding: 60px 8%;
}

.logo img {
  width: 120px;
  height: auto;
  display: block;
}

.navbar {
  padding: 12px 8%;
}

.service-card,
.project-card {
  height: 100%;
  overflow: hidden;
}

.service-card img,
.project-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

@media (max-width: 768px) {
  section {
    padding: 45px 5%;
  }

  .logo img {
    width: 95px;
  }

  .service-card img,
  .project-card img {
    height: 180px;
  }
}



/*=====================contact us ===============*/

.contact {
  padding-top: 40px !important;
  margin-top: -40px;
}

.contact .btn,
.contact button,
.contact a {
  transition: 0.3s ease;
}

.contact .btn:hover,
.contact button:hover,
.contact a:hover {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}

/*====================mechanical2s ===============*/


.service-card img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.5s ease;
}

.fabrication-img.active,
.civil-img.active-civil,
.pipeline-img.active-pipeline,
.material-img.active-material,
.trench-img.active-trench,
.mechanical-img.active-mechanical {
  opacity: 1;
}


@media(max-width:600px){

  body{
    overflow-x:hidden;
  }

  .about{
    padding:80px 5%;
  }

  .about-right h2{
    font-size:42px;
    line-height:1.2;
    word-break:break-word;
  }

  .about-text{
    font-size:15px;
    line-height:1.8;
  }

  .about-left,
  .about-right{
    width:100%;
    overflow:hidden;
  }

}




.map-box{
  width:100%;
  min-height:650px;
  overflow:hidden;
  border-radius:12px;
}

.map-box iframe{
  width:100%;
  height:650px;
  border:0;
}



/* CTA MOBILE FIX */
@media(max-width:600px){

  .cta-content{
    padding:60px 22px;
    overflow:hidden;
  }

  .cta-content h2{
    font-size:42px;
    line-height:1.15;
    word-break:normal;
    overflow-wrap:break-word;
  }

  .cta-content h4{
    font-size:22px;
    line-height:1.6;
  }

}


/* ABOUT MOBILE FIX */
@media(max-width:600px){

  .about-right h2{

    font-size:46px;

    line-height:1.15;

    word-break:break-word;

  }

}