html { scroll-behavior: smooth; }
    body {
      background:
        radial-gradient(circle at top left, rgba(239,68,68,.10), transparent 28%),
        radial-gradient(circle at top right, rgba(59,130,246,.08), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    }
    .dark body {
      background:
        radial-gradient(circle at top left, rgba(239,68,68,.14), transparent 28%),
        radial-gradient(circle at top right, rgba(59,130,246,.12), transparent 24%),
        linear-gradient(180deg, #030712 0%, #000000 100%);
    }
    .glass {
      backdrop-filter: blur(18px) saturate(180%);
      -webkit-backdrop-filter: blur(18px) saturate(180%);
      background: rgba(255,255,255,.74);
      border: 1px solid rgba(255,255,255,.45);
      box-shadow: 0 12px 40px rgba(15,23,42,.08);
    }
    .dark .glass {
      background: rgba(10,10,10,.72);
      border-color: rgba(255,255,255,.10);
      box-shadow: 0 16px 50px rgba(0,0,0,.34);
    }
    .hero-ring {
      position: absolute;
      inset: auto;
      width: 28rem;
      height: 28rem;
      border-radius: 9999px;
      background: radial-gradient(circle, rgba(239,68,68,.18), rgba(239,68,68,0) 60%);
      filter: blur(18px);
      pointer-events: none;
    }
    .dark .hero-ring {
      background: radial-gradient(circle, rgba(248,113,113,.20), rgba(248,113,113,0) 60%);
    }
    .text-primary { color: #0f172a; }
    .dark .text-primary { color: #f8fafc; }
    .btn-primary {
      background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
      color: white;
    }
    .btn-primary:hover {
      filter: brightness(1.05);
      transform: translateY(-1px);
    }
    .surface {
      background: rgba(255,255,255,.78);
      border: 1px solid rgba(15,23,42,.08);
    }
    .dark .surface {
      background: rgba(10,10,10,.78);
      border-color: rgba(255,255,255,.08);
    }
    .grid-lines {
      background-image:
        linear-gradient(rgba(148,163,184,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148,163,184,.10) 1px, transparent 1px);
      background-size: 26px 26px;
    }