*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Poppins',sans-serif;
  background:linear-gradient(135deg,#1e0033,#3d0066,#6a00a8);
  color:white;
  overflow-x:hidden;
}

/* NAVBAR */

.navbar{
  width:100%;
  padding:20px 8%;

  display:flex;
  justify-content:space-between;
  align-items:center;

  position:fixed;
  top:0;
  left:0;

  z-index:1000;

  background:rgba(255,255,255,0.05);

  backdrop-filter:blur(10px);

  transition:0.4s;
}

.navbar.scrolled{
  background:rgba(10,10,20,0.95);

  box-shadow:
  0 0 20px rgba(0,0,0,0.3);
}

.logo{
  display:flex;
  align-items:center;
  gap:15px;
}

.logo img{
  width:60px;
  border-radius:50%;
}

.logo h2{
  font-size:28px;
}

nav ul{
  display:flex;
  list-style:none;
  gap:30px;
}

nav ul li a{
  color:white;
  text-decoration:none;
  transition:0.3s;
}

nav ul li a:hover{
  color:#ffd700;
}

.btn-wa{
  background:#ffd700;
  color:#2d0052;

  padding:12px 25px;

  border-radius:50px;

  text-decoration:none;

  font-weight:600;
}

/* MOBILE MENU */

.menu-toggle{
  display:none;
  font-size:35px;
  cursor:pointer;
}

/* HERO */

.hero{
  min-height:100vh;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:60px;

  padding:140px 8%;
}

.hero-text{
  flex:1;
}

.badge{
  display:inline-block;

  background:rgba(255,255,255,0.1);

  padding:10px 20px;

  border-radius:30px;

  margin-bottom:25px;
}

.hero-text h1{
  font-size:72px;
  line-height:1.1;

  margin-bottom:25px;
}

.hero-text p{
  line-height:1.9;
  color:#ddd;

  margin-bottom:35px;
}

.hero-buttons{
  display:flex;
  gap:20px;
}

.btn-primary,
.btn-secondary{
  padding:15px 30px;

  border-radius:50px;

  text-decoration:none;

  transition:0.3s;
}

.btn-primary{
  background:#ffd700;
  color:#2d0052;
}

.btn-secondary{
  border:2px solid white;
  color:white;
}

.hero-image{
  flex:1;
}

.hero-image img{
  width:100%;
  border-radius:30px;

  box-shadow:
  0 0 30px rgba(0,0,0,0.3);
}

/* SECTION */

section{
  padding:100px 8%;
}

.section-title{
  text-align:center;
  margin-bottom:60px;
}

.section-title span{
  color:#ffd700;
}

.section-title h2{
  font-size:48px;
  margin-top:10px;
}

/* SERVICES */

.services-container{
  display:grid;

  grid-template-columns:
  repeat(auto-fit,minmax(250px,1fr));

  gap:30px;
}

.service-card{
  background:rgba(255,255,255,0.05);

  border-radius:30px;

  padding:40px 30px;

  text-align:center;

  transition:0.4s;
}

.service-card:hover{
  transform:translateY(-10px);
}

.service-icon{
  font-size:55px;
  margin-bottom:20px;
}

/* PROMO SLIDER */

.slider-wrapper{
  position: relative;

  width: 100%;

  max-width: 1200px;

  margin: auto;

  overflow: hidden;

  padding: 0 40px;
}

.promo-slider{
  display: flex;

  transition: 0.5s ease-in-out;
}

.promo-slide{
  min-width: 100%;

  padding: 10px;
}

.promo-slide{
  min-width: 100%;

  display: flex;
  justify-content: center;
  align-items: center;
}

.promo-slide img{
  width: 100%;

  max-width: 420px;

  height: auto;

  aspect-ratio: 4/5;

  object-fit: contain;

  border-radius: 25px;

  display: block;

  background: rgba(255,255,255,0.03);

  padding: 8px;

  box-shadow:
  0 0 25px rgba(0,0,0,0.25);
}

.slider-btn{
  position: absolute;

  top: 50%;

  transform: translateY(-50%);

  width: 60px;
  height: 60px;

  border: none;

  border-radius: 50%;

  background:
  rgba(255,255,255,0.15);

  backdrop-filter: blur(10px);

  color: white;

  font-size: 28px;

  cursor: pointer;

  z-index: 10;

  transition: 0.3s;
}

.slider-btn:hover{
  background: #ffd700;

  color: #2d0052;
}

.prev{
  left: 20px;
}

.next{
  right: 20px;
}

/* MOBILE */

@media(max-width:768px){

  .promo-slide img{
  width: 100%;

  height: 420px;

  object-fit: cover;

  border-radius: 35px;

  display: block;

  box-shadow:
  0 0 30px rgba(0,0,0,0.3);
}

}

/* GALLERY */

.gallery-grid{
  display:grid;

  grid-template-columns:
  repeat(auto-fit,minmax(250px,1fr));

  gap:25px;
}

.gallery-item img{
  width:100%;
  height:320px;

  object-fit:cover;

  border-radius:25px;
}

/* TESTIMONI */

.testimonial-container{
  display:grid;

  grid-template-columns:
  repeat(auto-fit,minmax(320px,1fr));

  gap:30px;
}

.testimonial-card{
  background:rgba(255,255,255,0.05);

  border-radius:30px;

  padding:35px;

  transition:0.4s;
}

.testimonial-card:hover{
  transform:translateY(-10px);
}

.quote-icon{
  font-size:60px;
  color:rgba(255,215,0,0.2);
}

.stars{
  color:#ffd700;
  margin:15px 0;
}

.customer{
  margin-top:25px;
}

/* MAPS */

.maps-section{
  text-align:center;
}

.maps-container{
  width:100%;
  max-width:1200px;

  margin:auto;

  overflow:hidden;

  border-radius:30px;

  margin-bottom:50px;
}

.maps-container iframe{
  width:100%;
  height:500px;

  border:none;
}

.maps-cta{
  max-width:700px;
  margin:auto;
}

.maps-cta h3{
  font-size:42px;
  margin-bottom:20px;
}

.maps-cta p{
  color:#ddd;
  line-height:1.9;

  margin-bottom:35px;
}

/* FOOTER */

.footer{
  background:rgba(0,0,0,0.25);
}

.footer-container{
  display:grid;

  grid-template-columns:
  repeat(auto-fit,minmax(250px,1fr));

  gap:40px;
}

.footer-logo{
  display:flex;
  align-items:center;

  gap:15px;

  margin-bottom:20px;
}

.footer-logo img{
  width:60px;
  border-radius:50%;
}

.social-icons{
  display:flex;
  gap:15px;

  margin-top:20px;
}

.social-icons a{
  width:50px;
  height:50px;

  border-radius:50%;

  background:rgba(255,255,255,0.08);

  display:flex;
  align-items:center;
  justify-content:center;

  color:white;

  text-decoration:none;

  transition:0.3s;
}

.social-icons a:hover{
  background:#ffd700;
  color:#2d0052;
}

.footer-bottom{
  text-align:center;
  margin-top:50px;
}

/* FLOATING WA */

.floating-wa{
  position:fixed;

  bottom:25px;
  right:25px;

  width:70px;
  height:70px;

  border-radius:50%;

  background:#25D366;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:32px;

  text-decoration:none;

  z-index:999;
}

/* REVEAL */

.reveal{
  opacity:0;
  transform:translateY(80px);
  transition:1s;
}

.reveal.active{
  opacity:1;
  transform:translateY(0);
}

/* RESPONSIVE */

@media(max-width:992px){

  .hero{
    flex-direction:column;
    text-align:center;
  }

  .hero-text h1{
    font-size:52px;
  }

  .hero-buttons{
    justify-content:center;
  }

  .menu-toggle{
    display:block;
  }

  .btn-wa{
    display:none;
  }

  nav{
    position:absolute;

    top:90px;
    right:-100%;

    width:250px;

    background:rgba(20,20,40,0.95);

    padding:30px;

    border-radius:20px;

    transition:0.4s;
  }

  nav.active{
    right:20px;
  }

  nav ul{
    flex-direction:column;
  }

}

@media(max-width:768px){

  .hero-text h1{
    font-size:42px;
  }

  .section-title h2{
    font-size:36px;
  }

  .maps-container iframe{
    height:350px;
  }
/* LOADER */

.loader{
  position: fixed;

  top: 0;
  left: 0;

  width: 100%;
  height: 100vh;

  background:
  linear-gradient(135deg,#140022,#2b0045,#5b0091);

  display: flex;
  justify-content: center;
  align-items: center;

  z-index: 99999;

  transition: 1s;
}

.loader.hide{
  opacity: 0;
  visibility: hidden;
}

.loader-content{
  text-align: center;
}

.loader-content img{
  width: 120px;

  border-radius: 50%;

  margin-bottom: 25px;

  animation: pulse 2s infinite;
}

.loader-content h2{
  font-size: 38px;

  margin-bottom: 30px;
}

.loader-bar{
  width: 280px;
  height: 10px;

  background:
  rgba(255,255,255,0.1);

  border-radius: 50px;

  overflow: hidden;

  margin: auto;
}

.loader-bar span{
  display: block;

  width: 0%;
  height: 100%;

  background: #ffd700;

  border-radius: 50px;

  animation: loading 3s linear forwards;
}

@keyframes loading{

  100%{
    width: 100%;
  }

}

@keyframes pulse{

  0%{
    transform: scale(1);
  }

  50%{
    transform: scale(1.08);
  }

  100%{
    transform: scale(1);
  }

}
/* SEO SECTION */

.seo-section{
  padding-top: 50px;
}

.seo-container{
  max-width: 900px;

  margin: auto;

  text-align: center;

  background:
  rgba(255,255,255,0.05);

  padding: 50px;

  border-radius: 35px;

  backdrop-filter: blur(10px);

  box-shadow:
  0 0 30px rgba(0,0,0,0.2);
}

.seo-container h2{
  font-size: 42px;

  margin-bottom: 25px;
}

.seo-container p{
  color: #ddd;

  line-height: 1.9;

  margin-bottom: 20px;

  font-size: 17px;
}
}