/* ===== CTA BANNER ===== */
    .cta-banner {
      position: relative;
      min-height: 380px;
      display: flex;
      align-items: center;
      overflow: hidden;
    }

    /* Background image from the actual screenshot */
    .cta-bg {
      position: absolute;
      inset: 0;

      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      z-index: 0;
    }

    /* Dark purple overlay to blend and make text readable */
    .cta-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        135deg,
        rgba(76, 29, 149, 0.82) 0%,
        rgba(91, 33, 182, 0.75) 30%,
        rgba(109, 40, 217, 0.7) 60%,
        rgba(76, 29, 149, 0.8) 100%
      );
      z-index: 1;
    }

    /* Subtle dot texture */
    .cta-texture {
      position: absolute;
      inset: 0;
      background-image: radial-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px);
      background-size: 22px 22px;
      z-index: 2;
      pointer-events: none;
    }

    /* Decorative circles */
    .cta-decor {
      position: absolute;
      border-radius: 50%;
      z-index: 2;
      pointer-events: none;
    }

    .cta-decor-1 {
      width: 350px;
      height: 350px;
      top: -120px;
      right: -80px;
      background: radial-gradient(circle, rgba(255, 255, 255, 0.06) 0%, transparent 70%);
    }

    .cta-decor-2 {
      width: 220px;
      height: 220px;
      bottom: -70px;
      left: 3%;
      background: radial-gradient(circle, rgba(255, 255, 255, 0.04) 0%, transparent 70%);
    }

    .cta-decor-3 {
      width: 160px;
      height: 160px;
      top: 15%;
      right: 35%;
      background: radial-gradient(circle, rgba(255, 255, 255, 0.035) 0%, transparent 70%);
    }

    /* Diagonal line pattern on right */
    .cta-diagonal {
      position: absolute;
      top: 0;
      right: 0;
      width: 45%;
      height: 100%;
      z-index: 2;
      pointer-events: none;
      overflow: hidden;
      opacity: 0.04;
    }

    .cta-diagonal::before {
      content: '';
      position: absolute;
      top: -60%;
      right: -25%;
      width: 250%;
      height: 250%;
      background: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 20px,
        rgba(255, 255, 255, 1) 20px,
        rgba(255, 255, 255, 1) 21px
      );
    }

    /* ===== INNER CONTENT ===== */
    .cta-inner {
      position: relative;
      z-index: 5;
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 48px;
      max-width: 1200px;
      margin: 0 auto;
      width: 100%;
      padding: 72px 60px;
    }

    /* ===== LEFT TEXT ===== */
    .cta-text {
      display: flex;
      flex-direction: column;
      gap: 18px;
    }

    .cta-badge {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      width: fit-content;
      padding: 6px 16px;
      background: rgba(255, 255, 255, 0.12);
      border: 1px solid rgba(255, 255, 255, 0.18);
      border-radius: 50px;
      font-size: 11px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.13em;
      color: rgba(255, 255, 255, 0.9);
      backdrop-filter: blur(4px);
    }

    .cta-badge i {
      font-size: 9px;
      color: #fde68a;
    }

    .cta-title {
      font-size: 36px;
      font-weight: 800;
      line-height: 1.18;
      letter-spacing: -0.02em;
      color: #ffffff;
      max-width: 700px;
    }

    .cta-title .underline-text {
      position: relative;
      display: inline;
    }

    .cta-title .underline-text::after {
      content: '';
      position: absolute;
      bottom: 2px;
      left: 0;
      right: 0;
      height: 4px;
      background: rgba(255, 255, 255, 0.35);
      border-radius: 2px;
    }

    .cta-desc {
      font-size: 15px;
      line-height: 1.78;
      color: rgba(255, 255, 255, 0.7);
      font-weight: 400;
      max-width: 580px;
    }

    .cta-desc strong {
      color: #ffffff;
      font-weight: 600;
    }

    /* ===== RIGHT BUTTON AREA ===== */
    .cta-btn-area {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 14px;
      flex-shrink: 0;
    }

    .btn-become {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 20px 42px;
      background: #ffffff;
      color: #5b21b6;
      font-family: 'Poppins', sans-serif;
      font-size: 15px;
      font-weight: 800;
      border: none;
      border-radius: 14px;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: 0.07em;
      box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
      position: relative;
      overflow: hidden;
      white-space: nowrap;
    }

    .btn-become::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(91, 33, 182, 0.07), transparent);
      transition: left 0.55s;
    }

    .btn-become:hover {
      transform: translateY(-4px) scale(1.03);
      box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
    }

    .btn-become:hover::before {
      left: 100%;
    }

    .btn-become i {
      font-size: 15px;
      transition: transform 0.3s;
    }

    .btn-become:hover i {
      transform: translateX(5px);
    }

    .btn-become:active {
      transform: translateY(-1px) scale(0.98);
    }

    .cta-note {
      font-size: 11px;
      color: rgba(255, 255, 255, 0.4);
      font-weight: 400;
      display: flex;
      align-items: center;
      gap: 5px;
    }

    .cta-note i {
      font-size: 10px;
    }

    /* ===== FLOATING PARTICLES ===== */
    .cta-particles {
      position: absolute;
      inset: 0;
      z-index: 3;
      pointer-events: none;
    }

    .cta-dot {
      position: absolute;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.12);
      animation: driftUp 12s linear infinite;
    }

    @keyframes driftUp {
      0% {
        transform: translateY(0) scale(1);
        opacity: 0;
      }
      12% {
        opacity: 0.5;
      }
      88% {
        opacity: 0.5;
      }
      100% {
        transform: translateY(-140px) scale(0.2);
        opacity: 0;
      }
    }

    /* ===== ANIMATIONS ===== */
    .cta-text {
      opacity: 0;
      transform: translateX(-35px);
    }

    .cta-text.visible {
      animation: fromLeft 0.75s 0.1s ease forwards;
    }

    .cta-btn-area {
      opacity: 0;
      transform: translateX(35px);
    }

    .cta-btn-area.visible {
      animation: fromRight 0.75s 0.3s ease forwards;
    }

    @keyframes fromLeft {
      to { opacity: 1; transform: translateX(0); }
    }

    @keyframes fromRight {
      to { opacity: 1; transform: translateX(0); }
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 920px) {
      .cta-inner {
        grid-template-columns: 1fr;
        padding: 54px 30px;
        text-align: center;
      }

      .cta-text {
        align-items: center;
      }

      .cta-badge {
        margin: 0 auto;
      }

      .cta-title {
        font-size: 27px;
        max-width: 100%;
      }

      .cta-desc {
        max-width: 100%;
      }

      .cta-diagonal {
        display: none;
      }
    }

    @media (max-width: 520px) {
      .cta-inner {
        padding: 40px 18px;
      }

      .cta-title {
        font-size: 22px;
      }

      .cta-title .underline-text::after {
        height: 3px;
        bottom: 1px;
      }

      .cta-desc {
        font-size: 13px;
        line-height: 1.7;
      }

      .btn-become {
        padding: 16px 28px;
        font-size: 13px;
        letter-spacing: 0.05em;
        width: 100%;
        justify-content: center;
      }

      .cta-note {
        justify-content: center;
      }
    }