:root{
  --primary:#001532;
  --secondary:#f84410;
  --white:#ffffff;
  --light:#f5f7fb;
  --text:#1b1b1b;
  --gray:#6b7280;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Inter',sans-serif;
  background:#ffffff;
  color:var(--text);
  overflow-x:hidden;
  position:relative;
}

h1,h2,h3,h4,h5{
  font-family:'Poppins',sans-serif;
  font-weight:700;
}

a{
  text-decoration:none;
}

section{
  position:relative;
  padding:120px 0;
}

/* PARTICLES */

#particles-js{
  position:fixed;
  width:100%;
  height:100%;
  top:0;
  left:0;
  z-index:-1;
}

/* NAVBAR */

.custom-navbar{
  padding:18px 0;
  background:rgba(255,255,255,.8);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(0,0,0,.05);
  transition:.4s;
}

.navbar-brand img{
  height:52px;
}

.navbar-toggler{
  border:none;
  font-size:30px;
}

.navbar-toggler:focus{
  box-shadow:none;
}

.nav-link{
  color:var(--primary) !important;
  margin-left:20px;
  font-weight:600;
  transition:.3s;
}

.nav-link:hover{
  color:var(--secondary) !important;
}

.language-switcher{
  display:flex;
  gap:12px;
}

.language-switcher span{
  font-size:14px;
  cursor:pointer;
  color:var(--primary);
  font-weight:600;
}

/* HERO */

.hero-section{
  position:relative;
  height:100vh;
  overflow:hidden;
}

.hero-video{
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:
  linear-gradient(
    to right,
    rgba(255,255,255,.94),
    rgba(255,255,255,.65)
  );
}

.hero-content{
  position:relative;
  z-index:2;
}

.hero-badge{
  display:inline-block;
  padding:12px 20px;
  background:rgba(248,68,16,.08);
  border:1px solid rgba(248,68,16,.2);
  border-radius:50px;
  color:var(--secondary);
  font-weight:600;
  margin-bottom:25px;
}

.hero-title{
  font-size:74px;
  line-height:1.1;
  margin-bottom:25px;
  color:var(--primary);
}

.hero-title span{
  color:var(--secondary);
}

.hero-text{
  font-size:18px;
  line-height:1.9;
  max-width:650px;
  color:var(--gray);
  margin-bottom:40px;
}

.hero-buttons{
  display:flex;
  gap:20px;
}

/* BUTTONS */

.btn-primary-custom{
  background:var(--secondary);
  color:#fff;
  padding:15px 34px;
  border-radius:60px;
  font-weight:600;
  transition:.4s;
}

.btn-primary-custom:hover{
  transform:translateY(-5px);
  box-shadow:0 15px 35px rgba(248,68,16,.3);
  color:#fff;
}

.btn-outline-custom{
  border:1px solid rgba(0,21,50,.1);
  padding:15px 34px;
  border-radius:60px;
  color:var(--primary);
  font-weight:600;
  background:#fff;
  transition:.4s;
}

.btn-outline-custom:hover{
  background:var(--primary);
  color:#fff;
}

/* TITLES */

.section-title{
  margin-bottom:70px;
}

.section-subtitle{
  display:inline-block;
  color:var(--secondary);
  font-weight:700;
  margin-bottom:15px;
  letter-spacing:1px;
}

.section-title h2{
  font-size:52px;
  color:var(--primary);
  margin-bottom:20px;
}

.section-title p{
  color:var(--gray);
  max-width:700px;
  margin:auto;
  line-height:1.8;
}

/* SERVICES */

.services-section{
  background:var(--light);
}

.service-card{
  background:rgba(255,255,255,.85);
  border:1px solid rgba(0,0,0,.05);
  border-radius:28px;
  padding:45px 35px;
  height:100%;
  transition:.4s;
  backdrop-filter:blur(10px);
  box-shadow:0 10px 40px rgba(0,0,0,.04);
}

.service-card:hover{
  transform:translateY(-10px);
  border-color:rgba(248,68,16,.2);
}

.service-icon{
  width:75px;
  height:75px;
  background:rgba(248,68,16,.08);
  border-radius:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:25px;
}

.service-icon i{
  font-size:34px;
  color:var(--secondary);
}

.service-card h4{
  color:var(--primary);
  margin-bottom:15px;
}

.service-card p{
  color:var(--gray);
  line-height:1.8;
}

/* ABOUT */

.about-image img{
  width:100%;
  border-radius:30px;
}

.section-heading{
  font-size:52px;
  color:var(--primary);
  margin:20px 0;
}

.section-text{
  color:var(--gray);
  line-height:1.9;
}

.about-features{
  margin-top:30px;
}

.feature-item{
  display:flex;
  align-items:center;
  gap:15px;
  margin-bottom:18px;
}

.feature-item i{
  color:var(--secondary);
}

.feature-item span{
  font-weight:500;
}

/* PROJECTS */

.projects-section{
  background:var(--light);
}

.project-card{
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  transition:.4s;
  box-shadow:0 10px 40px rgba(0,0,0,.04);
}

.project-card:hover{
  transform:translateY(-10px);
}

.project-card img{
  width:100%;
  height:280px;
  object-fit:cover;
}

.project-content{
  padding:30px;
}

.project-content h4{
  color:var(--primary);
  margin-bottom:15px;
}

.project-content p{
  color:var(--gray);
}

/* CTA */

.cta-section{
  background:linear-gradient(135deg,#001532,#012657);
  color:#fff;
}

.cta-section h2{
  font-size:58px;
  margin-bottom:20px;
}

.cta-section p{
  max-width:700px;
  margin:auto;
  margin-bottom:40px;
  color:rgba(255,255,255,.8);
  line-height:1.8;
}

/* FOOTER */

.footer{
  background:var(--primary);
  color:#fff;
  padding:100px 0 30px;
}

.footer-logo{
  height:60px;
  margin-bottom:25px;
}

.footer p{
  color:rgba(255,255,255,.7);
  line-height:1.8;
}

.footer h5{
  margin-bottom:25px;
}

.footer ul{
  list-style:none;
  padding:0;
}

.footer ul li{
  margin-bottom:14px;
}

.footer ul li a{
  color:rgba(255,255,255,.7);
}

.social-links{
  display:flex;
  gap:15px;
}

.social-links a{
  width:46px;
  height:46px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  transition:.4s;
}

.social-links a:hover{
  background:var(--secondary);
  transform:translateY(-5px);
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:60px;
  padding-top:30px;
  text-align:center;
  color:rgba(255,255,255,.6);
}

/* RESPONSIVE */

@media(max-width:991px){

  .hero-title{
    font-size:52px;
  }

  .section-title h2,
  .section-heading,
  .cta-section h2{
    font-size:40px;
  }

}

@media(max-width:768px){

  section{
    padding:90px 0;
  }

  .hero-title{
    font-size:42px;
  }

  .hero-buttons{
    flex-direction:column;
  }

  .section-title h2,
  .section-heading,
  .cta-section h2{
    font-size:34px;
  }

}
/* INTERNAL PAGES */

.page-hero{
  padding-top:180px;
  padding-bottom:100px;
  background:linear-gradient(180deg,#f5f7fb,#ffffff);
}

.page-title{
  font-size:62px;
  color:var(--primary);
  margin-top:20px;
}

.page-text{
  color:var(--gray);
  max-width:700px;
  margin:auto;
  margin-top:20px;
}

.custom-input{
  border-radius:18px;
  padding:18px;
  border:1px solid rgba(0,0,0,.08);
}

.custom-input:focus{
  box-shadow:none;
  border-color:var(--secondary);
}