html, body { height: 100%; margin: 0; box-sizing: border-box; }
    * { box-sizing: border-box; font-family: 'Plus Jakarta Sans', sans-serif; }
    .gradient-bg { position: relative; background: #0b1220; overflow: hidden; }
    .bg-layer {
      position: fixed; inset: -2px; z-index: 0; pointer-events: none;
      background-image:
        linear-gradient(135deg, #0a0f1f 0%, #0f172a 25%, #1a1f3a 50%, #0f172a 75%, #0a0f1f 100%),
        radial-gradient(circle at 15% 30%, rgba(59, 130, 246, 0.25) 0%, transparent 45%),
        radial-gradient(circle at 85% 75%, rgba(139, 92, 246, 0.22) 0%, transparent 50%),
        radial-gradient(circle at 20% 80%, rgba(139, 92, 246, 0.12) 0%, transparent 40%);
      animation: bg-subtle-shift 20s ease-in-out infinite;
    }
    @keyframes bg-subtle-shift {
      0%, 100% { background-position: 0% 0%; }
      50% { background-position: 2% 2%; }
    }
    @media (max-width: 1023px) {
      .bg-layer { animation: none !important; background-image: linear-gradient(135deg, #0a0f1f 0%, #0f172a 50%, #1a1f3a 100%) !important; }
    }
    .w-full.min-h-full, header, section, footer { position: relative; z-index: 1; }
    .card-gradient { background: linear-gradient(180deg, rgba(30, 41, 59, 0.8) 0%, rgba(15, 23, 42, 0.92) 100%); }
    .feature-card { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
    .feature-card:hover { transform: translateY(-6px); box-shadow: 0 25px 50px rgba(59, 130, 246, 0.16); }
    .icon-container { transition: transform 0.3s ease; }
    .feature-card:hover .icon-container { transform: scale(1.06) rotate(4deg); }
    @media (max-width: 1023px) {
      .feature-card:hover, .feature-card:hover .icon-container { transform: none; box-shadow: none; }
    }
    @keyframes pulse-glow {
      0%, 100% { box-shadow: 0 0 20px rgba(59, 130, 246, 0.3); }
      50% { box-shadow: 0 0 40px rgba(59, 130, 246, 0.45); }
    }
    .pulse-glow { animation: pulse-glow 3s ease-in-out infinite; }
    .mouse-glow {
      position: fixed; pointer-events: none; z-index: 0; width: 450px; height: 450px; border-radius: 50%;
      background: radial-gradient(circle, rgba(59, 130, 246, 0.4) 0%, rgba(59, 130, 246, 0.15) 35%, transparent 65%);
      filter: blur(90px); opacity: 0; transition: opacity 0.3s ease; display: none;
    }
    .mouse-glow.active { opacity: 0.35; }
    @media (min-width: 1024px) { .mouse-glow { display: block; } }
    .sparkle { position: fixed; pointer-events: none; z-index: -1; }
    @keyframes sparkle-fade {
      0% { opacity: 1; transform: scale(1) translateY(0); }
      100% { opacity: 0; transform: scale(0) translateY(-20px); }
    }
    .sparkle::before {
      content: ''; position: absolute; width: 4px; height: 4px;
      background: radial-gradient(circle, #3b82f6, #8b5cf6); border-radius: 50%;
      box-shadow: 0 0 6px rgba(59, 130, 246, 0.8); animation: sparkle-fade 0.8s ease-out forwards;
    }

@view-transition { navigation: auto; }

.partner-card {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 20%, rgba(59, 130, 246, 0.22) 0%, transparent 38%),
    radial-gradient(circle at 85% 30%, rgba(139, 92, 246, 0.26) 0%, transparent 42%),
    radial-gradient(circle at 50% 100%, rgba(76, 29, 149, 0.22) 0%, transparent 48%),
    linear-gradient(145deg, rgba(18, 24, 46, 0.96) 0%, rgba(21, 28, 54, 0.94) 42%, rgba(31, 28, 68, 0.95) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 24px 60px rgba(15, 23, 42, 0.28);
}

.partner-card::before {
  content: '';
  position: absolute;
  inset: -20%;
  background:
    radial-gradient(circle at 20% 20%, rgba(96, 165, 250, 0.16) 0%, transparent 28%),
    radial-gradient(circle at 80% 25%, rgba(168, 85, 247, 0.14) 0%, transparent 30%),
    radial-gradient(circle at 50% 90%, rgba(59, 130, 246, 0.1) 0%, transparent 32%);
  opacity: 0.9;
  pointer-events: none;
}

.partner-card:hover {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 30px 70px rgba(59, 130, 246, 0.16);
}

.partner-logo-wrap {
  background:
    linear-gradient(180deg, rgba(6, 11, 28, 0.9), rgba(10, 14, 34, 0.96)),
    radial-gradient(circle at 50% 10%, rgba(99, 102, 241, 0.12), transparent 38%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 18px 35px rgba(2, 6, 23, 0.35);
}
