:root {
      --gold:       #C9922A;
      --gold-mid:   #E8B84B;
      --gold-light: #F7D07A;
      --bg:         #040404;
      --bg-card:    #0F0F0F;
      --text:       #EFEFEF;
      --border:     rgba(200,146,42,.16);
    }

    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; }

    body {
      font-family: 'Outfit', sans-serif;
      background: var(--bg);
      color: var(--text);
      overflow-x: hidden;
    }

    .serif { font-family: 'Cormorant Garamond', Georgia, serif; }
    .gold-text { color: var(--gold-light); }

    /* grain */
    body::before {
      content:'';
      position:fixed;
      inset:0;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
      opacity:.4;
      pointer-events:none;
      z-index:9999;
    }

    /* card */
    .card {
      background: var(--bg-card);
      border: 1px solid var(--border);
      position: relative;
      overflow: hidden;
    }
    .card::before {
      content:'';
      position:absolute;
      inset:0;
      background: radial-gradient(ellipse at top left, rgba(200,146,42,.05), transparent 60%);
      pointer-events:none;
    }

    .section-label {
      font-size:.7rem;
      font-weight:700;
      letter-spacing:.22em;
      text-transform:uppercase;
      color: var(--gold-mid);
    }

    .divider {
      width:80px; height:1px;
      background:linear-gradient(to right, transparent, var(--gold-mid), transparent);
    }

    /* number badge */
    .num-badge {
      width:36px; height:36px;
      border-radius:50%;
      border:1px solid rgba(200,146,42,.35);
      background: rgba(200,146,42,.08);
      display:flex; align-items:center; justify-content:center;
      flex-shrink:0;
      font-family:'Cormorant Garamond', serif;
      font-size:1.1rem;
      font-weight:700;
      color: var(--gold-mid);
    }

    /* back link */
    .back-link {
      display:inline-flex;
      align-items:center;
      gap:.5rem;
      color: var(--gold-mid);
      font-size:.85rem;
      font-weight:600;
      letter-spacing:.06em;
      text-decoration:none;
      opacity:.7;
      transition:opacity .2s;
    }
    .back-link:hover { opacity:1; }

    /* fade in */
    .fadein {
      animation: fadein .9s ease both;
    }
    @keyframes fadein {
      from { opacity:0; transform:translateY(24px); }
      to   { opacity:1; transform:translateY(0); }
    }
    .fadein-2 { animation-delay:.15s; }
    .fadein-3 { animation-delay:.28s; }
    .fadein-4 { animation-delay:.4s;  }
    .fadein-5 { animation-delay:.52s; }
    .fadein-6 { animation-delay:.64s; }
    .fadein-7 { animation-delay:.76s; }
    .fadein-8 { animation-delay:.88s; }
    .fadein-9 { animation-delay:1s; }

    /* lista personalizada */
    .terms-list {
      list-style: none;
      padding-left: 0;
    }
    .terms-list li {
      padding-left: 1.25rem;
      position: relative;
      margin-bottom: 0.75rem;
      color: #a1a1aa;
      line-height: 1.5;
    }
    .terms-list li::before {
      content: "✓";
      color: var(--gold-light);
      position: absolute;
      left: 0;
      font-weight: bold;
    }

    .prohibited-list {
      list-style: none;
      padding-left: 0;
    }
    .prohibited-list li {
      padding-left: 1.25rem;
      position: relative;
      margin-bottom: 0.5rem;
      color: #a1a1aa;
    }
    .prohibited-list li::before {
      content: "✗";
      color: #ef4444;
      position: absolute;
      left: 0;
      font-weight: bold;
    }

    .highlight-box {
      background: rgba(200, 146, 42, 0.08);
      border-left: 3px solid var(--gold-mid);
      padding: 1rem 1.25rem;
      border-radius: 0 12px 12px 0;
      margin: 1rem 0;
    }

    @media (max-width: 640px) {
      .num-badge {
        width: 28px;
        height: 28px;
        font-size: 0.9rem;
      }
      .pl-  {
        padding-left: 40px !important;
      }
    }