/**
 * Zen Addons Pro - Call to Action design library (24 Pro designs).
 *
 * Hex values, sizes and effects are tuned to the canonical Claude Design spec
 * ("Call to Action Widget.dc.html", project 559ffdf9), entries P07-P30. Each
 * design is a self-contained look built ONLY on the markup the free Call to
 * Action widget already emits:
 *
 *   .zaso-cta-banner (wrapper)
 *     .zaso-cta-banner__inner
 *       .zaso-cta-banner__content
 *         .zaso-cta-banner__heading / __subheading / __text
 *       .zaso-cta-banner__action
 *         a.zaso-cta-banner__button
 *
 * Content rule (mirrors the Alert Box + Counter Pro libraries): the heading,
 * subheading, text and button label come from the user's own fields and are only
 * restyled here. Per-design Material Symbols glyphs the spec shows (button arrows,
 * the Icon Row tile, the Split Block panel, decorative marks) ARE rendered as-is,
 * drawn from the self-hosted "ZASO Material Symbols Rounded" font via ::before /
 * ::after pseudo-elements (the free widget's initialize() enqueues the font on any
 * page that renders a Call to Action). Mockup-only chrome that would hardcode text
 * into a user instance (the Image Scrim "Drop your image" eyebrow, the Corporate
 * "Zen Addons" logo lockup) is rendered as the bare decorative glyph only, without
 * the mockup text. Purely decorative effects (radial glow, image scrim, dot
 * pattern, mesh blob, gradient text/ring) are drawn from CSS pseudo-elements.
 *
 * Every rule is scoped with a TRIPLED wrapper class
 * `.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-<id>` (specificity
 * 0,3,0 for the wrapper, 0,4,0 for children, 0,4,1 for the button) so it
 * deterministically beats the free base regardless of stylesheet load order,
 * with no !important. The free CTA base compiles OPAQUE default design values
 * (a #1e293b background, a #4f46e5 button) into every instance under the
 * `.so-widget-<id> .zaso-cta-banner` (0,2,0) / `... a.zaso-cta-banner__button`
 * (0,3,1) scope even when a design_variant is picked; a merely DOUBLED Pro
 * selector only ties those and loses on load order (dark card + indigo button).
 * The extra root class clears the tie. Loads only on a page that renders a Call
 * to Action, and only when licensed.
 *
 * @package Zen Addons for SiteOrigin Page Builder Pro
 */

/* ----- P07 Bold Gradient ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-gradient {
  background: linear-gradient( 120deg, #2563eb, #7c3aed 55%, #c026d3 );
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba( 124, 58, 237, 0.3 );
  text-align: left;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-gradient .zaso-cta-banner__inner { padding: 2.75rem; align-items: stretch; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-gradient .zaso-cta-banner__heading { color: #fff; font-size: 1.875rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-gradient .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-gradient .zaso-cta-banner__text { color: rgba( 255, 255, 255, 0.9 ); }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-gradient a.zaso-cta-banner__button { display: inline-flex; align-items: center; gap: 0.4em; background-color: #fff; color: #7c3aed; border-radius: 11px; padding: 0.85em 1.85em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-gradient a.zaso-cta-banner__button::after { content: "\e5c8"; font-family: "ZASO Material Symbols Rounded"; font-weight: normal; line-height: 1; font-size: 1.15em; font-variation-settings: 'wght' 600; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-gradient a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-gradient a.zaso-cta-banner__button:focus { background-color: #f5f3ff; color: #7c3aed; }

/* ----- P08 Dark Glow ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dark-glow {
  background: #0b1220;
  border: 1px solid #1e293b;
  border-radius: 18px;
  text-align: left;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dark-glow::before {
  content: "";
  position: absolute;
  top: -60px;
  right: -40px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient( circle, rgba( 45, 212, 191, 0.35 ), transparent 70% );
  z-index: 1;
  pointer-events: none;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dark-glow .zaso-cta-banner__inner { padding: 2.75rem; align-items: stretch; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dark-glow .zaso-cta-banner__heading { color: #fff; font-size: 1.75rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dark-glow .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dark-glow .zaso-cta-banner__text { color: #94a3b8; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dark-glow a.zaso-cta-banner__button { background-color: #2dd4bf; color: #042f2e; border-radius: 11px; padding: 0.85em 1.75em; font-weight: 700; box-shadow: 0 8px 22px rgba( 45, 212, 191, 0.35 ); }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dark-glow a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dark-glow a.zaso-cta-banner__button:focus { background-color: #14b8a6; color: #042f2e; }

/* ----- P09 Image Scrim ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-scrim {
  background: linear-gradient( 160deg, #1e293b 0%, #312e81 45%, #7c2d12 100% );
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba( 15, 23, 42, 0.3 );
  text-align: center;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-scrim::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient( circle at 70% 20%, rgba( 251, 146, 60, 0.4 ), transparent 55% ), rgba( 2, 6, 23, 0.45 );
  z-index: 1;
  pointer-events: none;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-scrim .zaso-cta-banner__inner { padding: 2.875rem 2.75rem; align-items: center; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-scrim .zaso-cta-banner__content { align-items: center; max-width: 32rem; margin-left: auto; margin-right: auto; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-scrim .zaso-cta-banner__content::before { content: "\e3f4"; font-family: "ZASO Material Symbols Rounded"; font-weight: normal; line-height: 1; font-size: 1.75rem; color: rgba( 255, 255, 255, 0.7 ); margin-bottom: 0.25rem; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-scrim .zaso-cta-banner__heading { color: #fff; font-size: 1.75rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-scrim .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-scrim .zaso-cta-banner__text { color: rgba( 255, 255, 255, 0.88 ); }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-scrim a.zaso-cta-banner__button { background-color: #fff; color: #0f172a; border-radius: 10px; padding: 0.8em 1.75em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-scrim a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-scrim a.zaso-cta-banner__button:focus { background-color: #e2e8f0; color: #0f172a; }

/* ----- P10 Image Horizontal ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-horizontal {
  background: linear-gradient( 120deg, #0f172a 0%, #155e75 60%, #0891b2 100% );
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba( 8, 145, 178, 0.25 );
  text-align: left;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-horizontal::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient( circle at 85% 30%, rgba( 56, 189, 248, 0.35 ), transparent 50% ), rgba( 2, 6, 23, 0.35 );
  z-index: 1;
  pointer-events: none;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-horizontal .zaso-cta-banner__inner { padding: 2.25rem; align-items: stretch; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-horizontal .zaso-cta-banner__heading { color: #fff; font-size: 1.5625rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-horizontal .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-horizontal .zaso-cta-banner__text { color: rgba( 255, 255, 255, 0.85 ); }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-horizontal a.zaso-cta-banner__button { background-color: #fff; color: #0c4a6e; border-radius: 10px; padding: 0.8em 1.5em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-horizontal a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-horizontal a.zaso-cta-banner__button:focus { background-color: #e0f2fe; color: #0c4a6e; }
@media ( min-width: 768px ) {
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-horizontal .zaso-cta-banner__inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 1.5rem; }
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-horizontal .zaso-cta-banner__content { flex: 1 1 auto; }
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-horizontal .zaso-cta-banner__action { flex-shrink: 0; }
}

/* ----- P11 Split Block (redeem icon panel on the left, as-is to the spec) ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-split-block {
  background: #fff;
  border: 1px solid #fecdd3;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba( 225, 29, 72, 0.18 );
  text-align: left;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-split-block::before {
  content: "\e8f6";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 130px;
  background: #e11d48;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "ZASO Material Symbols Rounded";
  font-weight: normal;
  line-height: 1;
  font-size: 46px;
  font-variation-settings: 'FILL' 1;
  z-index: 2;
  pointer-events: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-split-block .zaso-cta-banner__inner { padding: 1.875rem 2rem 1.875rem calc( 130px + 2rem ); align-items: stretch; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-split-block .zaso-cta-banner__heading { color: #9f1239; font-size: 1.4375rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-split-block .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-split-block .zaso-cta-banner__text { color: #be123c; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-split-block a.zaso-cta-banner__button { background-color: #e11d48; color: #fff; border-radius: 10px; padding: 0.75em 1.5em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-split-block a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-split-block a.zaso-cta-banner__button:focus { background-color: #be123c; color: #fff; }

/* ----- P12 Eyebrow ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-eyebrow {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 18px;
  text-align: center;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-eyebrow .zaso-cta-banner__inner { padding: 2.5rem 2.75rem; align-items: center; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-eyebrow .zaso-cta-banner__content { align-items: center; max-width: 32rem; margin-left: auto; margin-right: auto; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-eyebrow .zaso-cta-banner__heading { color: #064e3b; font-size: 1.6875rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-eyebrow .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-eyebrow .zaso-cta-banner__text { color: #047857; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-eyebrow a.zaso-cta-banner__button { background-color: #059669; color: #fff; border-radius: 10px; padding: 0.8em 1.75em; font-weight: 700; box-shadow: 0 8px 20px rgba( 5, 150, 105, 0.3 ); }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-eyebrow a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-eyebrow a.zaso-cta-banner__button:focus { background-color: #047857; color: #fff; }

/* ----- P13 Icon Row ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-icon-row {
  background: #faf5ff;
  border: 1px solid #e9d5ff;
  border-radius: 18px;
  text-align: left;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-icon-row .zaso-cta-banner__inner { padding: 1.875rem 2.125rem; align-items: stretch; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-icon-row .zaso-cta-banner__inner::before {
  content: "\eb9b";
  flex: none;
  width: 58px;
  height: 58px;
  border-radius: 14px;
  background: #7c3aed;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "ZASO Material Symbols Rounded";
  font-weight: normal;
  line-height: 1;
  font-size: 28px;
  font-variation-settings: 'FILL' 1;
  box-shadow: 0 8px 20px rgba( 124, 58, 237, 0.35 );
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-icon-row .zaso-cta-banner__heading { color: #5b21b6; font-size: 1.375rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-icon-row .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-icon-row .zaso-cta-banner__text { color: #7c3aed; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-icon-row a.zaso-cta-banner__button { background-color: #7c3aed; color: #fff; border-radius: 10px; padding: 0.75em 1.4em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-icon-row a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-icon-row a.zaso-cta-banner__button:focus { background-color: #6d28d9; color: #fff; }
@media ( min-width: 768px ) {
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-icon-row .zaso-cta-banner__inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 1.5rem; }
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-icon-row .zaso-cta-banner__content { flex: 1 1 auto; }
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-icon-row .zaso-cta-banner__action { flex-shrink: 0; }
}

/* ----- P14 Pastel Pill ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pastel-pill {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 20px;
  text-align: center;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pastel-pill .zaso-cta-banner__inner { padding: 2.375rem 2.75rem; align-items: center; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pastel-pill .zaso-cta-banner__content { align-items: center; max-width: 32rem; margin-left: auto; margin-right: auto; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pastel-pill .zaso-cta-banner__heading { color: #9a3412; font-size: 1.625rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pastel-pill .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pastel-pill .zaso-cta-banner__text { color: #c2410c; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pastel-pill a.zaso-cta-banner__button { background-color: #ea580c; color: #fff; border-radius: 999px; padding: 0.8em 1.9em; font-weight: 700; box-shadow: 0 8px 20px rgba( 234, 88, 12, 0.3 ); }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pastel-pill a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pastel-pill a.zaso-cta-banner__button:focus { background-color: #c2410c; color: #fff; }

/* ----- P15 Dotted Gradient ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dotted-gradient {
  background: linear-gradient( 135deg, #0891b2, #0d9488 );
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba( 8, 145, 178, 0.28 );
  text-align: center;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dotted-gradient::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient( rgba( 255, 255, 255, 0.18 ) 1.5px, transparent 1.5px );
  background-size: 18px 18px;
  opacity: 0.6;
  z-index: 1;
  pointer-events: none;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dotted-gradient .zaso-cta-banner__inner { padding: 2.75rem; align-items: center; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dotted-gradient .zaso-cta-banner__content { align-items: center; max-width: 32rem; margin-left: auto; margin-right: auto; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dotted-gradient .zaso-cta-banner__heading { color: #fff; font-size: 1.75rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dotted-gradient .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dotted-gradient .zaso-cta-banner__text { color: rgba( 255, 255, 255, 0.9 ); }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dotted-gradient a.zaso-cta-banner__button { background-color: #fff; color: #0e7490; border-radius: 10px; padding: 0.8em 1.75em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dotted-gradient a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-dotted-gradient a.zaso-cta-banner__button:focus { background-color: #ecfeff; color: #0e7490; }

/* ----- P16 Stacked Dark ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stacked-dark {
  background: #1e1b4b;
  border-radius: 18px;
  text-align: center;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stacked-dark .zaso-cta-banner__inner { padding: 2.625rem 2.75rem; align-items: center; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stacked-dark .zaso-cta-banner__content { align-items: center; max-width: 32rem; margin-left: auto; margin-right: auto; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stacked-dark .zaso-cta-banner__heading { color: #fff; font-size: 1.6875rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stacked-dark .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stacked-dark .zaso-cta-banner__text { color: #a5b4fc; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stacked-dark a.zaso-cta-banner__button { background-color: #6366f1; color: #fff; border-radius: 10px; padding: 0.8em 1.9em; font-weight: 700; box-shadow: 0 8px 22px rgba( 99, 102, 241, 0.4 ); }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stacked-dark a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stacked-dark a.zaso-cta-banner__button:focus { background-color: #4f46e5; color: #fff; }

/* ----- P17 Glass ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-glass {
  background: linear-gradient( 135deg, #f43f5e, #fb923c );
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba( 244, 63, 94, 0.25 );
  text-align: center;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-glass .zaso-cta-banner__inner {
  padding: 2rem 2.25rem;
  align-items: center;
  margin: 0.5rem;
  background: rgba( 255, 255, 255, 0.16 );
  -webkit-backdrop-filter: blur( 10px );
  backdrop-filter: blur( 10px );
  border: 1px solid rgba( 255, 255, 255, 0.35 );
  border-radius: 14px;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-glass .zaso-cta-banner__content { align-items: center; max-width: 30rem; margin-left: auto; margin-right: auto; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-glass .zaso-cta-banner__heading { color: #fff; font-size: 1.625rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-glass .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-glass .zaso-cta-banner__text { color: rgba( 255, 255, 255, 0.92 ); }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-glass a.zaso-cta-banner__button { background-color: #fff; color: #be123c; border-radius: 10px; padding: 0.8em 1.75em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-glass a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-glass a.zaso-cta-banner__button:focus { background-color: #ffe4e6; color: #be123c; }

/* ----- P18 Arrow Link ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-arrow-link {
  background: #15803d;
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba( 21, 128, 61, 0.22 );
  text-align: left;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-arrow-link .zaso-cta-banner__inner { padding: 2.125rem 2.375rem; align-items: stretch; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-arrow-link .zaso-cta-banner__heading { color: #fff; font-size: 1.5rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-arrow-link .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-arrow-link .zaso-cta-banner__text { color: rgba( 255, 255, 255, 0.85 ); }
/* Icon-only circular action, as-is to the spec: the user's button label stays in
   the DOM for assistive tech (font-size:0) while the arrow glyph shows. */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-arrow-link a.zaso-cta-banner__button { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; padding: 0; border-radius: 50%; background-color: #fff; color: transparent; font-size: 0; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-arrow-link a.zaso-cta-banner__button::before { content: "\e5c8"; font-family: "ZASO Material Symbols Rounded"; font-weight: normal; line-height: 1; font-size: 24px; color: #15803d; font-variation-settings: 'wght' 600; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-arrow-link a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-arrow-link a.zaso-cta-banner__button:focus { background-color: #dcfce7; }
@media ( min-width: 768px ) {
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-arrow-link .zaso-cta-banner__inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 1.5rem; }
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-arrow-link .zaso-cta-banner__content { flex: 1 1 auto; }
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-arrow-link .zaso-cta-banner__action { flex-shrink: 0; }
}

/* ----- P19 Big Type ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-big-type {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  text-align: left;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-big-type .zaso-cta-banner__inner { padding: 2.625rem 2.75rem; align-items: stretch; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-big-type .zaso-cta-banner__heading { color: #0f172a; font-size: 2.125rem; font-weight: 800; line-height: 1.05; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-big-type .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-big-type .zaso-cta-banner__text { color: #64748b; }
/* Underline text-link with a trailing arrow, as-is to the spec. */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-big-type a.zaso-cta-banner__button { display: inline-flex; align-items: center; gap: 0.4em; background: transparent; color: #0f172a; border-radius: 0; padding: 0 0 3px; font-weight: 700; border-bottom: 2px solid #0f172a; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-big-type a.zaso-cta-banner__button::after { content: "\e5c8"; font-family: "ZASO Material Symbols Rounded"; font-weight: normal; line-height: 1; font-size: 1.15em; font-variation-settings: 'wght' 600; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-big-type a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-big-type a.zaso-cta-banner__button:focus { background: transparent; color: #334155; border-bottom-color: #334155; }

/* ----- P20 Badge Tag ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-badge-tag {
  background: #312e81;
  border-radius: 18px;
  text-align: center;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-badge-tag .zaso-cta-banner__inner { padding: 2.375rem 2.75rem; align-items: center; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-badge-tag .zaso-cta-banner__content { align-items: center; max-width: 32rem; margin-left: auto; margin-right: auto; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-badge-tag .zaso-cta-banner__heading { color: #fff; font-size: 1.625rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-badge-tag .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-badge-tag .zaso-cta-banner__text { color: #a5b4fc; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-badge-tag a.zaso-cta-banner__button { background-color: #6366f1; color: #fff; border-radius: 10px; padding: 0.8em 1.75em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-badge-tag a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-badge-tag a.zaso-cta-banner__button:focus { background-color: #4f46e5; color: #fff; }

/* ----- P21 Stats ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stats {
  background: #0f172a;
  border-radius: 18px;
  text-align: left;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stats .zaso-cta-banner__inner { padding: 2.25rem 2.5rem; align-items: stretch; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stats .zaso-cta-banner__heading { color: #fff; font-size: 1.5rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stats .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stats .zaso-cta-banner__text { color: #94a3b8; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stats a.zaso-cta-banner__button { background-color: #2dd4bf; color: #042f2e; border-radius: 10px; padding: 0.8em 1.75em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stats a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-stats a.zaso-cta-banner__button:focus { background-color: #14b8a6; color: #042f2e; }

/* ----- P22 Gradient Heading ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-heading {
  background: #0b1220;
  border: 1px solid #1e293b;
  border-radius: 18px;
  text-align: center;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-heading .zaso-cta-banner__inner { padding: 2.625rem 2.75rem; align-items: center; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-heading .zaso-cta-banner__content { align-items: center; max-width: 32rem; margin-left: auto; margin-right: auto; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-heading .zaso-cta-banner__heading {
  font-size: 1.875rem;
  font-weight: 800;
  background: linear-gradient( 135deg, #a78bfa, #f0abfc );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-heading .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-heading .zaso-cta-banner__text { color: #94a3b8; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-heading a.zaso-cta-banner__button { background: linear-gradient( 135deg, #8b5cf6, #d946ef ); color: #fff; border-radius: 10px; padding: 0.8em 1.9em; font-weight: 700; box-shadow: 0 8px 24px rgba( 139, 92, 246, 0.4 ); }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-heading a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-heading a.zaso-cta-banner__button:focus { background: linear-gradient( 135deg, #7c3aed, #c026d3 ); color: #fff; }

/* ----- P23 Image Bottom ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-bottom {
  background: linear-gradient( 160deg, #064e3b 0%, #065f46 50%, #0f766e 100% );
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba( 6, 78, 59, 0.3 );
  text-align: left;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-bottom::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient( circle at 75% 15%, rgba( 52, 211, 153, 0.4 ), transparent 50% ), linear-gradient( to top, rgba( 2, 6, 23, 0.6 ), transparent 60% );
  z-index: 1;
  pointer-events: none;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-bottom .zaso-cta-banner__inner { padding: 2rem 2.25rem; min-height: 14rem; justify-content: flex-end; align-items: stretch; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-bottom .zaso-cta-banner__heading { color: #fff; font-size: 1.625rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-bottom .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-bottom .zaso-cta-banner__text { color: rgba( 255, 255, 255, 0.88 ); }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-bottom a.zaso-cta-banner__button { background-color: #fff; color: #065f46; border-radius: 10px; padding: 0.75em 1.6em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-bottom a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-image-bottom a.zaso-cta-banner__button:focus { background-color: #d1fae5; color: #065f46; }

/* ----- P24 Two Column ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-two-column {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  box-shadow: 0 4px 16px rgba( 15, 23, 42, 0.05 );
  text-align: left;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-two-column .zaso-cta-banner__inner { padding: 2.25rem; align-items: stretch; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-two-column .zaso-cta-banner__heading { color: #0f172a; font-size: 1.5625rem; font-weight: 800; line-height: 1.1; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-two-column .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-two-column .zaso-cta-banner__text { color: #64748b; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-two-column a.zaso-cta-banner__button { background-color: #0f172a; color: #fff; border-radius: 10px; padding: 0.75em 1.5em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-two-column a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-two-column a.zaso-cta-banner__button:focus { background-color: #1e293b; color: #fff; }
@media ( min-width: 768px ) {
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-two-column .zaso-cta-banner__inner { flex-direction: row; align-items: center; gap: 1.75rem; }
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-two-column .zaso-cta-banner__content { flex: 0 0 46%; }
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-two-column .zaso-cta-banner__action { flex: 1 1 auto; }
}

/* ----- P25 Pill Banner ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pill-banner {
  background: linear-gradient( 135deg, #f59e0b, #ef4444 );
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba( 239, 68, 68, 0.25 );
  text-align: left;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pill-banner .zaso-cta-banner__inner { padding: 1.125rem 1.375rem 1.125rem 2.125rem; align-items: stretch; gap: 1rem; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pill-banner .zaso-cta-banner__heading { color: #fff; font-size: 1.25rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pill-banner .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pill-banner .zaso-cta-banner__text { color: rgba( 255, 255, 255, 0.9 ); }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pill-banner a.zaso-cta-banner__button { background-color: #fff; color: #dc2626; border-radius: 999px; padding: 0.8em 1.6em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pill-banner a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pill-banner a.zaso-cta-banner__button:focus { background-color: #fef2f2; color: #dc2626; }
@media ( min-width: 768px ) {
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pill-banner .zaso-cta-banner__inner { flex-direction: row; align-items: center; justify-content: space-between; }
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pill-banner .zaso-cta-banner__content { flex: 1 1 auto; }
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-pill-banner .zaso-cta-banner__action { flex-shrink: 0; }
}

/* ----- P26 Left Accent ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-left-accent {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-left: 5px solid #2563eb;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba( 15, 23, 42, 0.05 );
  text-align: left;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-left-accent .zaso-cta-banner__inner { padding: 1.875rem 2.125rem; align-items: stretch; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-left-accent .zaso-cta-banner__heading { color: #1e3a8a; font-size: 1.375rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-left-accent .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-left-accent .zaso-cta-banner__text { color: #64748b; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-left-accent a.zaso-cta-banner__button { background-color: #2563eb; color: #fff; border-radius: 10px; padding: 0.75em 1.4em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-left-accent a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-left-accent a.zaso-cta-banner__button:focus { background-color: #1d4ed8; color: #fff; }
@media ( min-width: 768px ) {
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-left-accent .zaso-cta-banner__inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 1.5rem; }
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-left-accent .zaso-cta-banner__content { flex: 1 1 auto; }
  .zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-left-accent .zaso-cta-banner__action { flex-shrink: 0; }
}

/* ----- P27 Vibrant Mesh ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-vibrant-mesh {
  background: linear-gradient( 135deg, #6366f1 0%, #ec4899 50%, #f59e0b 100% );
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba( 236, 72, 153, 0.3 );
  text-align: center;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-vibrant-mesh::before {
  content: "";
  position: absolute;
  top: -50px;
  left: -30px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient( circle, rgba( 255, 255, 255, 0.25 ), transparent 70% );
  z-index: 1;
  pointer-events: none;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-vibrant-mesh .zaso-cta-banner__inner { padding: 2.75rem; align-items: center; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-vibrant-mesh .zaso-cta-banner__content { align-items: center; max-width: 32rem; margin-left: auto; margin-right: auto; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-vibrant-mesh .zaso-cta-banner__heading { color: #fff; font-size: 1.75rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-vibrant-mesh .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-vibrant-mesh .zaso-cta-banner__text { color: rgba( 255, 255, 255, 0.92 ); }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-vibrant-mesh a.zaso-cta-banner__button { background-color: #fff; color: #db2777; border-radius: 10px; padding: 0.8em 1.9em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-vibrant-mesh a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-vibrant-mesh a.zaso-cta-banner__button:focus { background-color: #fdf2f8; color: #db2777; }

/* ----- P28 Corporate ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-corporate {
  background: #f1f5f9;
  border-radius: 18px;
  text-align: center;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-corporate .zaso-cta-banner__inner { padding: 2.375rem 2.75rem; align-items: center; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-corporate .zaso-cta-banner__content { align-items: center; max-width: 32rem; margin-left: auto; margin-right: auto; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-corporate .zaso-cta-banner__content::before { content: "\eb4c"; font-family: "ZASO Material Symbols Rounded"; font-weight: normal; line-height: 1; font-size: 1.75rem; color: #0f172a; font-variation-settings: 'FILL' 1; margin-bottom: 0.25rem; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-corporate .zaso-cta-banner__heading { color: #0f172a; font-size: 1.5rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-corporate .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-corporate .zaso-cta-banner__text { color: #64748b; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-corporate a.zaso-cta-banner__button { background-color: #0f172a; color: #fff; border-radius: 10px; padding: 0.8em 1.75em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-corporate a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-corporate a.zaso-cta-banner__button:focus { background-color: #1e293b; color: #fff; }

/* ----- P29 Bold Solid ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-solid {
  background: #7f1d1d;
  border-radius: 18px;
  text-align: center;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-solid .zaso-cta-banner__inner { padding: 2.625rem 2.75rem; align-items: center; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-solid .zaso-cta-banner__content { align-items: center; max-width: 32rem; margin-left: auto; margin-right: auto; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-solid .zaso-cta-banner__heading { color: #fff; font-size: 1.6875rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-solid .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-solid .zaso-cta-banner__text { color: #fca5a5; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-solid a.zaso-cta-banner__button { background-color: #fff; color: #991b1b; border-radius: 10px; padding: 0.8em 1.9em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-solid a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-bold-solid a.zaso-cta-banner__button:focus { background-color: #fef2f2; color: #991b1b; }

/* ----- P30 Gradient Ring ----- */
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-ring {
  background: #fff;
  border: 2.5px solid transparent;
  border-radius: 20px;
  background-image: linear-gradient( #fff, #fff ), linear-gradient( 135deg, #d946ef, #8b5cf6, #3b82f6 );
  background-origin: border-box;
  background-clip: padding-box, border-box;
  box-shadow: 0 12px 30px rgba( 139, 92, 246, 0.2 );
  text-align: center;
}
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-ring .zaso-cta-banner__inner { padding: 2.375rem 2.75rem; align-items: center; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-ring .zaso-cta-banner__content { align-items: center; max-width: 32rem; margin-left: auto; margin-right: auto; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-ring .zaso-cta-banner__heading { color: #0f172a; font-size: 1.625rem; font-weight: 800; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-ring .zaso-cta-banner__subheading,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-ring .zaso-cta-banner__text { color: #64748b; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-ring a.zaso-cta-banner__button { background: linear-gradient( 135deg, #8b5cf6, #3b82f6 ); color: #fff; border-radius: 10px; padding: 0.8em 1.9em; font-weight: 700; }
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-ring a.zaso-cta-banner__button:hover,
.zaso-cta-banner.zaso-cta-banner.zaso-cta-banner--design-gradient-ring a.zaso-cta-banner__button:focus { background: linear-gradient( 135deg, #7c3aed, #2563eb ); color: #fff; }
