.scrolling {
  animation: fadeInDown 0.9s 1;
  backdrop-filter: blur(10px);
  box-shadow: 0 0 5px 2px rgb(0 0 0 / 10%);
  background: rgba(255, 255, 255, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
}

.scrolling.is-bg-transparent-text-white {
  background: rgba(1, 25, 255, 0.95);
}

.scrolling.is-bg-transparent-text-dark {
  background: rgba(255, 255, 255, 0.95);
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  100% {
    opacity: 1;
    transform: translateZ(0);
  }
}

.swiper-wrapper {
  transition-timing-function: linear;
}

.reveal-text {
  display: inline-block;
  position: relative;
  transform: translateY(100%);
  translate-origin: top left;
  animation: text-reveal 2s cubic-bezier(0.25, 0.1, 0.25, 1) both;
}

/* Other CSS */
.hero-slider .swiper-slide {
  overflow: hidden;
}
.hero-slider .swiper-slide .hero-bg-img {
  transform: scale(1.25);
  transition: all 1.5s ease;
}
.hero-slider .swiper-slide-active .hero-bg-img {
  transform: scale(1);
}

.hero-slider .swiper-slide h4,
.hero-slider .swiper-slide h1,
.hero-slider .swiper-slide p,
.hero-slider .swiper-slide a {
  transform: translateY(25%);
  opacity: 0;
  transition: all 0.65s ease;
  transition-delay: 1.25s;
}
.hero-slider .swiper-slide h4,
.hero-slider .swiper-slide-active h1,
.hero-slider .swiper-slide-active p,
.hero-slider .swiper-slide-active a {
  transform: translateY(0%);
  opacity: 1;
}

/* Style for the loader */
.fullpage_loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #0d0e1d; /* Light background */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999; /* Ensure the loader is on top of everything */
}

/* Loader spinner */
.spinner {
  border: 4px solid #fff; /* Light gray */
  border-top: 4px solid #0119ff; /* Blue color for the spinner */
  border-radius: 50%;
  width: 80px;
  height: 80px;
  animation: spin 1s linear infinite;
}

/* Animation for the spinner */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* The ripple effect */
.ripple-button .ripple {
  animation: ripple-animation 2s infinite;
}

/* Ripple animation */
@keyframes ripple-animation {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}


.has-bg-svg{
    position: relative;
    overflow: hidden;
}

/* background svg */
.bg-svg-layer{
    position: absolute;
    inset: 0;
    z-index: 0;
}

.bg-svg-layer img{
    width:100%;
    height:100%;
    object-fit: cover;
}

/* overlay */
.bg-overlay{
    position:absolute;
    inset:0;
    background: rgba(255,255,255,0.85);
    z-index:1;
}

/* 🔥 PENTING: hanya konten utama yang naik */
.has-bg-svg .section-space{
    position: relative;
    z-index: 2;
}

/* ======================================================
   TEKUP COMPACT MODE (SAFE VERSION)
   ====================================================== */

/* 1. ROOT SCALE (inti utama) */
html {
    font-size: 14px; /* default 16px → lebih compact */
}

/* 2. BODY GLOBAL SPACING CONTROL */
body {
    line-height: 1.5;
    letter-spacing: 0.1px;
}

/* 3. CONTAINER BIAR TIDAK TERLALU LEBAR */
.container {
    max-width: 1180px; /* Tekup biasanya 1320+ */
}

/* ======================================================
   4. NAVBAR COMPACT
   ====================================================== */

header, .header, .navbar {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.navbar a,
header a {
    font-size: 0.92rem;
}

/* menu spacing lebih rapat */
.navbar ul li {
    margin: 0 6px;
}

/* logo sedikit kecil */
.navbar img,
header img {
    max-height: 38px;
}

/* ======================================================
   5. CARD / GRID COMPACT
   ====================================================== */

.card,
.group,
.service-card,
.product-card {
    border-radius: 14px;
}

/* padding card dikompres */
.card,
.service-card {
    padding: 16px;
}

/* heading lebih rapat */
h1, h2, h3 {
    letter-spacing: -0.3px;
    line-height: 1.2;
}

/* ======================================================
   6. SWIPER FIX (AMAN TANPA RUSAK SLIDER)
   ====================================================== */

.swiper {
    padding-bottom: 20px;
}

.swiper-slide {
    height: auto;
}

/* pagination kecil */
.swiper-pagination-bullet {
    width: 6px;
    height: 6px;
}

/* ======================================================
   7. BUTTON COMPACT
   ====================================================== */

button,
.btn,
a.button,
a[class*="btn"] {
    font-size: 0.9rem;
    padding: 8px 14px;
}

/* ======================================================
   8. SECTION SPACING GLOBAL
   ====================================================== */

.section-space,
.section-padding {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}

@media (max-width: 768px) {
    html {
        font-size: 13px;
    }

    .section-space,
    .section-padding {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }
}