.cta-banner {
      container-type: inline-size;
      container-name: cta-banner;
      position: relative;
      background: var(--primary);
      overflow: hidden;
    }

    .cta-banner__bg {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    .cta-banner__pattern {
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(135deg, transparent 40%, var(--primary-d-1) 40%, var(--primary-d-1) 50%, transparent 50%),
        linear-gradient(225deg, transparent 40%, var(--primary-d-1) 40%, var(--primary-d-1) 50%, transparent 50%);
      background-size: 60px 60px;
      opacity: 0.1;
    }

    .cta-banner__content {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--space-3xl);
    }

    .cta-banner__text {
      max-width: 560px;
    }

    .cta-banner__title {
      font-family: var(--font-primary);
      font-size: var(--text-3xl);
      font-weight: 300;
      line-height: 1.15;
      color: white;
      margin: 0 0 var(--space-m);
    }

    .cta-banner__title em {
      font-style: normal;
      font-weight: 600;
    }

    .cta-banner__desc {
      font-family: var(--font-secondary);
      font-size: var(--text-m);
      line-height: 1.7;
      color: rgba(255, 255, 255, 0.9);
      margin: 0;
    }

    .cta-banner__actions {
      display: flex;
      flex-direction: column;
      gap: var(--space-m);
      flex-shrink: 0;
    }

    .cta-banner__btn {
      display: inline-flex;
      align-items: center;
      gap: var(--space-s);
      padding: var(--space-m) var(--space-xl);
      font-family: var(--font-primary);
      font-size: var(--text-s);
      font-weight: 600;
      text-decoration: none;
      border-radius: var(--radius-s);
      transition: all 0.3s ease;
      white-space: nowrap;
    }

    .cta-banner__btn svg {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
    }

    .cta-banner__btn--primary {
      background: white;
      color: var(--primary);
    }

    .cta-banner__btn--primary:hover {
      background: var(--bg-body);
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    }

    .cta-banner__btn--secondary {
      background: transparent;
      color: white;
      border: 2px solid rgba(255, 255, 255, 0.4);
    }

    .cta-banner__btn--secondary:hover {
      background: rgba(255, 255, 255, 0.1);
      border-color: white;
    }

    /* Container Queries */
    @container cta-banner (max-width: 968px) {
      .cta-banner__content {
        flex-direction: column;
        text-align: center;
      }

      .cta-banner__text {
        max-width: 640px;
      }

      .cta-banner__actions {
        flex-direction: row;
        justify-content: center;
      }
    }

    @container cta-banner (max-width: 640px) {
      .cta-banner__title {
        font-size: var(--text-2xl);
      }

      .cta-banner__title br {
        display: none;
      }

      .cta-banner__actions {
        flex-direction: column;
        width: 100%;
      }

      .cta-banner__btn {
        justify-content: center;
        width: 100%;
      }
    }

    @container cta-banner (max-width: 480px) {
      .cta-banner__title {
        font-size: var(--text-xl);
      }

      .cta-banner__desc {
        font-size: var(--text-s);
      }

      .cta-banner__btn {
        padding: var(--space-s) var(--space-l);
        font-size: var(--text-xs);
      }
    }
