
  /* Critical mobile CTA layout: keep banner on one column on phones even if external CSS is cached. */
  @media (max-width: 760px) {
    .cta-banner, .cta-banner-full {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 12px !important;
      align-items: start !important;
      justify-items: stretch !important;
      padding: 22px 24px !important;
      margin: 20px auto !important;
      max-width: 100% !important;
      box-sizing: border-box !important;
    }
    .cta-banner .cta-copy { width: 100% !important; min-width: 0 !important; }
    .cta-banner .cta-title {
      display: block !important;
      font-size: clamp(22px, 7vw, 30px) !important;
      line-height: 1.18 !important;
      overflow-wrap: normal !important;
      word-break: normal !important;
      hyphens: none !important;
    }
    .cta-banner .cta-text { display:block !important; font-size: 15px !important; line-height: 1.45 !important; }
    .cta-banner .button, .cta-banner .cta-button {
      display: flex !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      white-space: normal !important;
      text-align: center !important;
      justify-content: center !important;
      box-sizing: border-box !important;
      margin-top: 2px !important;
    }
    .sticky-cta { flex-direction: column !important; gap: 8px !important; text-align:center !important; }
    .sticky-cta a { width: 100% !important; max-width: 320px !important; text-align:center !important; }
  }
  @media (max-width: 420px) {
    .cta-banner, .cta-banner-full { padding: 20px 24px !important; }
    .cta-banner .cta-title { font-size: 23px !important; }
  }
  