:root {
      --bg-main: #0d0118;
      --bg-secondary: #1a0a2e;
      --bg-tertiary: #150a28;
      --pink: #e040fb;
      --purple: #7c3aed;
      --gold: #D4A853;
      --gold-light: #F0C87A;
      --white: #ffffff;
      --text: #cbd5e1;
      --muted: #9ca3af;
      --green: #22c55e;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      background: var(--bg-main);
      color: var(--text);
      overflow-x: hidden;
    }

    .gradient-hero {
      background:
        radial-gradient(circle at 85% 8%, rgba(224,64,251,.28), transparent 28%),
        radial-gradient(circle at 12% 15%, rgba(212,168,83,.16), transparent 28%),
        linear-gradient(180deg, #0d0118 0%, #1a0a2e 48%, #120824 100%);
    }
    .gradient-dark { background: linear-gradient(180deg, #0d0118 0%, #150a28 100%); }
    .gradient-mid { background: linear-gradient(180deg, #120824 0%, #1a0a2e 100%); }
    .glass {
      background: rgba(255,255,255,.045);
      border: 1px solid rgba(224,64,251,.18);
      box-shadow: 0 22px 70px rgba(0,0,0,.28);
    }
    .glass-strong {
      background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
      border: 1px solid rgba(224,64,251,.28);
      box-shadow: 0 28px 90px rgba(0,0,0,.38);
    }
    .btn-gold {
      background: linear-gradient(135deg, #D4A853, #F0C87A);
      color: #1a0533;
      font-weight: 900;
      transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
      box-shadow: 0 14px 36px rgba(212,168,83,.18);
    }
    .btn-gold:hover { transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 18px 44px rgba(212,168,83,.26); }
    .btn-outline {
      border: 1px solid rgba(224,64,251,.45);
      background: rgba(124,58,237,.16);
      color: white;
      font-weight: 800;
      transition: transform .2s ease, background .2s ease;
    }
    .btn-outline:hover { transform: translateY(-2px); background: rgba(224,64,251,.20); }
    .pink-accent { color: var(--pink); }
    .gold-accent { color: var(--gold-light); }
    .price-tag {
      display: inline-flex;
      align-items: baseline;
      gap: 4px;
      padding: 8px 12px;
      border-radius: 999px;
      background: rgba(34,197,94,.12);
      border: 1px solid rgba(34,197,94,.28);
      color: #86efac;
      font-weight: 900;
      white-space: nowrap;
    }
    .badge-best {
      background: linear-gradient(135deg, rgba(212,168,83,.22), rgba(224,64,251,.16));
      border: 1px solid rgba(240,200,122,.38);
      color: #fde68a;
    }
    .card-img {
      height: 210px;
      width: 100%;
      object-fit: cover;
      border-radius: 18px;
      border: 1px solid rgba(255,255,255,.10);
      background: #150a28;
    }
    .card-title { min-height: 30px; }
    .category-card {
      position: relative;
      overflow: hidden;
    }
    .category-card::after {
      content: "";
      position: absolute;
      inset: auto -80px -120px auto;
      width: 220px;
      height: 220px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(224,64,251,.18), transparent 70%);
      pointer-events: none;
    }
    .step-number {
      width: 42px;
      height: 42px;
      border-radius: 999px;
      display: grid;
      place-items: center;
      color: #1a0533;
      background: linear-gradient(135deg, #D4A853, #F0C87A);
      font-weight: 900;
      flex: 0 0 auto;
    }
    .notice-box {
      border-left: 4px solid var(--gold-light);
      background: rgba(212,168,83,.08);
      color: #f3e8c6;
    }
    .faq-answer { max-height: 0; overflow: hidden; transition: max-height .28s ease; }
    .faq-answer.open { max-height: 280px; }
    .nav-pill { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(10px); }
    .nav-link { color: white; text-decoration: none; font-weight: 800; }
    .nav-link:hover { color: #f0c87a; }
    .table-dark th { background: rgba(224,64,251,.13); color: white; }
    .table-dark td { border-color: rgba(255,255,255,.08); }
    .sticky-mobile-cta {
      position: fixed;
      left: 12px;
      right: 12px;
      bottom: 12px;
      z-index: 60;
      display: none;
    }
    .image-missing {
      min-height: 180px;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      color:#cbd5e1;
      background: linear-gradient(135deg, rgba(224,64,251,.20), rgba(255,255,255,.04));
      border: 1px dashed rgba(224,64,251,.35);
      padding: 18px;
    }
    @media (max-width: 768px) {
      .sticky-mobile-cta { display: block; }
      .card-img { height: 180px; }
      .mobile-stack { flex-direction: column; align-items: stretch; }
      .mobile-stack > * { width: 100%; }
      .hide-mobile { display: none !important; }
      body { padding-bottom: 74px; }
    }
