
    /* Base*/
    html { scroll-behavior: smooth; }
    body { font-family: 'DM Sans', sans-serif; overflow-x: hidden; }

    /* Hero gradient mesh background */
    .hero-bg {
      background: linear-gradient(135deg, #0B2E59 0%, #1457A8 55%, #2A8FD4 100%);
      position: relative;
      overflow: hidden;
    }
    .hero-bg::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 70% 60% at 80% 20%, rgba(42,143,212,0.35) 0%, transparent 70%),
                  radial-gradient(ellipse 50% 50% at 10% 80%, rgba(11,46,89,0.6) 0%, transparent 60%);
      pointer-events: none;
    }
    /* floating orbs */
    .orb {
      position: absolute; border-radius: 50%;
      background: rgba(255,255,255,0.06);
      animation: drift 8s ease-in-out infinite alternate;
    }
    .orb-1 { width: 320px; height: 320px; top: -80px; right: -80px; animation-delay: 0s; }
    .orb-2 { width: 180px; height: 180px; bottom: 60px; left: 5%; animation-delay: 2s; }
    .orb-3 { width: 100px; height: 100px; top: 40%; right: 15%; animation-delay: 4s; }
    @keyframes drift {
      from { transform: translate(0,0) scale(1); }
      to   { transform: translate(20px, -30px) scale(1.08); }
    }

    /* Scroll reveal*/
    .reveal {
      opacity: 0;
      transform: translateY(40px);
      transition: opacity 0.7s ease, transform 0.7s ease;
    }
    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }
    .reveal-left  { opacity:0; transform:translateX(-40px); transition: opacity 0.7s ease, transform 0.7s ease; }
    .reveal-right { opacity:0; transform:translateX( 40px); transition: opacity 0.7s ease, transform 0.7s ease; }
    .reveal-left.visible, .reveal-right.visible { opacity:1; transform:translateX(0); }

    /* Staggered children*/
    .stagger > * { transition-delay: calc(var(--i, 0) * 0.1s); }

    /* Logo pill strip */
    .logo-pill {
      background: rgba(255,255,255,0.12);
      backdrop-filter: blur(10px);
      border: 1px solid rgba(255,255,255,0.2);
    }

    /* Countdown digits */
    .digit-box {
      background: rgba(255,255,255,0.1);
      backdrop-filter: blur(8px);
      border: 1px solid rgba(255,255,255,0.2);
    }

    /* CTA button */
    .btn-primary {
      background: linear-gradient(90deg, #76BD43, #90e454);
      color: #0B2E59;
      font-weight: 700;
      letter-spacing: 0.04em;
      transition: transform 0.2s, box-shadow 0.2s;
      box-shadow: 0 4px 24px rgba(245,166,35,0.45);
    }
    .btn-primary:hover {
      transform: translateY(-3px) scale(1.03);
      box-shadow: 0 8px 32px rgba(245,166,35,0.55);
    }
    .btn-outline {
      border: 2px solid #1457A8;
      color: #1457A8;
      font-weight: 600;
      transition: background 0.2s, color 0.2s, transform 0.2s;
    }
    .btn-outline:hover {
      background: #1457A8; color: #fff;
      transform: translateY(-2px);
    }

    /*Section divider wave */
    .wave-divider svg { display: block; }

    /* Benefit card */
    .benefit-card {
      transition: transform 0.3s, box-shadow 0.3s;
      border-top: 4px solid transparent;
    }
    .benefit-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 20px 40px rgba(20,87,168,0.13);
      border-top-color: #1457A8;
    }

    /* Timeline */
    .tl-line {
      background: linear-gradient(to bottom, #1457A8, #2A8FD4);
    }
    .tl-dot {
      transition: transform 0.3s, box-shadow 0.3s;
    }
    .tl-item:hover .tl-dot {
      transform: scale(1.3);
      box-shadow: 0 0 0 6px rgba(20,87,168,0.15);
    }

    /* FAQ accordion */
    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease, padding 0.3s ease;
    }
    .faq-answer.open { max-height: 400px; }
    .faq-chevron { transition: transform 0.3s; }
    .faq-chevron.rotated { transform: rotate(180deg); }

    /*Testimonial card */
    .testimonial-card {
      transition: transform 0.3s, box-shadow 0.3s;
    }
    .testimonial-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 16px 40px rgba(20,87,168,0.1);
    }

    /* Safeguarding stripe */
    .safeguard-stripe {
      background: linear-gradient(90deg, #0B2E59 0%, #1457A8 100%);
    }

    /*Logo grayscale filter */
    .logo-gray { filter: grayscale(1) brightness(0.5); transition: filter 0.3s; }
    .logo-gray:hover { filter: none; }

    /*  Announcement card */
    .announce-card {
      background: linear-gradient(135deg, #EBF4FB 0%, #ffffff 60%);
      border-left: 6px solid #1457A8;
    }

    /* Pulse badge */
    @keyframes pulse-ring {
      0%   { transform: scale(1);   opacity: 1; }
      100% { transform: scale(1.8); opacity: 0; }
    }
    .pulse-badge::before {
      content: '';
      position: absolute; inset: -4px;
      border-radius: 9999px;
      background: #F5A623;
      animation: pulse-ring 1.8s infinite;
    }

    /* Number counter */
    .stat-num { font-variant-numeric: tabular-nums; }

    /* Background dots pattern */
    .dot-pattern {
      background-image: radial-gradient(circle, #1457A820 1.5px, transparent 1.5px);
      background-size: 28px 28px;
    }
