
    * { font-family: 'DM Sans', sans-serif; }
    h1, h2, .font-display { font-family: 'Playfair Display', serif; }

    /* Smooth scroll */
    html { scroll-behavior: smooth; }

    /* Navbar scroll effect */
    #navbar { transition: all 0.3s ease; }
    #navbar.scrolled { box-shadow: 0 4px 30px rgba(15,37,87,0.12); background: rgba(255,255,255,0.98) !important; }

    /* Hero gradient mesh */
    .hero-bg {
      background: linear-gradient(135deg, #0F2557 0%, #1A6BC4 50%, #0F2557 100%);
      position: relative;
      overflow: hidden;
    }
    .hero-bg::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 70% 50%, rgba(77,168,240,0.25) 0%, transparent 60%),
                  radial-gradient(ellipse at 20% 80%, rgba(26,107,196,0.3) 0%, transparent 50%);
    }
    .hero-orb {
      position: absolute;
      border-radius: 50%;
      filter: blur(60px);
      opacity: 0.15;
    }

    /* Floating card animation */
    @keyframes float {
      0%, 100% { transform: translateY(0px); }
      50% { transform: translateY(-10px); }
    }
    .float-anim { animation: float 4s ease-in-out infinite; }
    .float-anim-delay { animation: float 4s ease-in-out 1.5s infinite; }

    /* Carousel */
    .carousel-track { transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94); }

    /* Service card hover */
    .service-card {
      transition: all 0.3s cubic-bezier(0.25,0.46,0.45,0.94);
      border: 1px solid #e2e8f0;
    }
    .service-card:hover {
      transform: translateY(-6px);
      border-color: #4DA8F0;
      box-shadow: 0 20px 60px rgba(26,107,196,0.12);
    }
    .service-card:hover .service-icon { transform: scale(1.1); background: #1A6BC4; }
    .service-icon { transition: all 0.3s ease; }

    /* Testimonial slider */
    .testimonial-track { transition: transform 0.5s ease; }

    /* Stats counter */
    @keyframes countUp {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .stat-item { animation: countUp 0.6s ease forwards; }

    /* Reveal on scroll */
    .reveal { opacity: 0; transform: translateY(30px); transition: all 0.7s ease; }
    .reveal.visible { opacity: 1; transform: translateY(0); }

    /* CTA gradient button */
    .btn-primary {
      background: linear-gradient(135deg, #1A6BC4, #4DA8F0);
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden;
    }
    .btn-primary::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, #0F2557, #1A6BC4);
      opacity: 0;
      transition: opacity 0.3s;
    }
    .btn-primary:hover::after { opacity: 1; }
    .btn-primary span { position: relative; z-index: 1; }

    /* Mobile menu */
    #mobile-menu { transition: all 0.3s ease; }

    /* Progress bar */
    #progress-bar {
      position: fixed; top: 0; left: 0; height: 3px; z-index: 9999;
      background: linear-gradient(90deg, #1A6BC4, #4DA8F0);
      transition: width 0.1s ease;
    }

    /* Gradient text */
    .gradient-text {
      background: linear-gradient(135deg, #4DA8F0, #D6EAFF);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    /* Section divider */
    .wave-divider { overflow: hidden; line-height: 0; }

    /* Dot pattern */
    .dot-bg {
      background-image: radial-gradient(#1A6BC415 1px, transparent 1px);
      background-size: 24px 24px;
    }

    /* FAQ accordion */
    .faq-content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
    .faq-content.open { max-height: 300px; }

    /* WhatsApp float */
    .whatsapp-float {
      position: fixed; bottom: 24px; right: 24px; z-index: 1000;
      animation: float 3s ease-in-out infinite;
    }
  