    html {
      scroll-behavior: smooth;
      scroll-padding-top: 84px; /* kompensasi tinggi navbar fixed (h-16) supaya section tidak ketutup saat lompat ke anchor */
    }
    @media (min-width: 1024px) {
      html { scroll-padding-top: 100px; /* navbar lg:h-20 */ }
    }
    body { font-family: 'Inter', sans-serif; }

    /* Gradient background untuk hero */
    .hero-gradient {
      background: linear-gradient(135deg, #213A5A 0%, #4173B2 50%, #213A5A 100%);
    }

    /* Pola dot pattern sebagai tekstur background */
    .dot-pattern {
      background-image: radial-gradient(rgba(255, 193, 7, 0.15) 1px, transparent 1px);
      background-size: 25px 25px;
    }

    /* Blob shape untuk dekorasi */
    .blob {
      position: absolute;
      border-radius: 50%;
      filter: blur(80px);
      opacity: 0.4;
    }

    /* Transisi untuk service card */
    .service-card {
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .service-card:hover {
      transform: translateY(-10px);
      box-shadow: 0 20px 40px rgba(33, 58, 90, 0.15);
    }
    .service-card:hover .icon-wrapper {
      transform: rotate(360deg) scale(1.1);
      background-color: #FFD61F;
      color: #4173B2;
    }
    .icon-wrapper {
      transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* Navbar shadow saat scroll */
    .navbar-scrolled {
      background-color: rgba(33, 58, 90, 0.98) !important;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
      backdrop-filter: blur(10px);
    }

    /* Tombol CTA efek */
    .btn-primary {
      position: relative;
      overflow: hidden;
      transition: all 0.3s ease;
    }
    .btn-primary::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 0;
      height: 0;
      border-radius: 50%;
      background-color: rgba(255, 255, 255, 0.2);
      transform: translate(-50%, -50%);
      transition: width 0.6s, height 0.6s;
    }
    .btn-primary:hover::before {
      width: 300px;
      height: 300px;
    }
    .btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 25px rgba(255, 193, 7, 0.4);
    }

    /* Animasi scroll reveal */
    .reveal {
      opacity: 0;
      transform: translateY(30px);
      transition: all 0.8s ease-out;
    }
    .reveal.active {
      opacity: 1;
      transform: translateY(0);
    }

    /* Hover link navbar */
    .nav-link {
      position: relative;
    }
    .nav-link::after {
      content: '';
      position: absolute;
      bottom: -4px;
      left: 0;
      width: 0;
      height: 2px;
      background-color: #FFD61F;
      transition: width 0.3s ease;
    }
    .nav-link:hover::after {
      width: 100%;
    }

    /* Floating label input */
    .form-input {
      transition: all 0.3s ease;
    }
    .form-input:focus {
      transform: scale(1.01);
    }

    /* Custom scrollbar */
    ::-webkit-scrollbar { width: 10px; }
    ::-webkit-scrollbar-track { background: #F5F7FB; }
    ::-webkit-scrollbar-thumb { background: #4173B2; border-radius: 5px; }
    ::-webkit-scrollbar-thumb:hover { background: #FFD61F; }
