.epieme-cta {
  --color-cta-sky: color-mix(in srgb, lightsteelblue 65%, aliceblue);
  --color-cta-glow: color-mix(in srgb, khaki 55%, transparent);
  --color-cta-ribbon: color-mix(in srgb, yellow 45%, lemonchiffon);
  --color-cta-ink: var(--_base--neutral--neutral-black);
  --color-cta-paper: var(--_base--neutral--neutral-0);
  --spacing-cta-gutter: var(--_layout---global--page-padding);
  --spacing-cta-gap: var(--_typography---text-size-xsmall--font-size);
  --spacing-cta-height: calc(var(--_layout---global--section-padding) * 3);
  --radius-cta: var(--_layout---border-radius--border-radius-regular);
  padding: var(--spacing-cta-gutter);
  background: var(--_base--neutral--neutral-50);
}
.epieme-cta_banner {
  isolation: isolate;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-cta-gutter);
  width: 100%;
  max-width: var(--_layout---container--container-large);
  min-height: var(--spacing-cta-height);
  margin-inline: auto;
  padding: var(--spacing-cta-gutter) calc(var(--spacing-cta-gutter) * 2);
  border-radius: calc(var(--radius-cta) * 2);
  color: var(--color-cta-ink);
  background:
    radial-gradient(ellipse at 5% 5%, var(--color-cta-glow), transparent 15%),
    radial-gradient(ellipse at 18% 52%, var(--color-cta-glow), transparent 12%),
    radial-gradient(ellipse at 28% 93%, var(--color-cta-glow), transparent 18%),
    radial-gradient(ellipse at 54% 110%, var(--color-cta-glow), transparent 20%),
    radial-gradient(ellipse at 98% 102%, var(--color-cta-glow), transparent 22%),
    linear-gradient(115deg, var(--color-cta-sky), color-mix(in srgb, var(--color-cta-sky) 75%, aliceblue));
}
.epieme-cta_banner h2 {
  position: relative;
  max-width: 100%;
  margin: 0;
  text-align: center;
  text-wrap: balance;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: var(--_typography---font-weight--font-weight-regular);
  font-size: clamp(var(--_typography---heading-style-h2--font-size), 3.8vw, var(--_typography---heading-style-h1--font-size));
  line-height: var(--_typography---heading-style-h3--line-height);
  letter-spacing: var(--_typography---heading-style-h3--letter-spacing);
}
.epieme-cta_actions { position: relative; display: flex; justify-content: center; flex-wrap: wrap; gap: var(--spacing-cta-gap); }
.epieme-cta_button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-cta-gap);
  padding: var(--spacing-cta-gap) var(--_typography---text-size-medium--font-size);
  border: thin solid transparent;
  border-radius: var(--_layout---border-radius--border-radius-small);
  background: var(--color-cta-ribbon);
  color: var(--color-cta-ink);
  font-size: var(--_typography---text-size-small--font-size);
  line-height: var(--_typography---heading-style-h3--line-height);
  font-weight: var(--_typography---font-weight--font-weight-medium);
  text-decoration: none;
}
.epieme-cta_button.is-secondary { background: var(--color-cta-ink); color: var(--color-cta-paper); }
.epieme-cta_button svg { width: var(--_typography---text-size-medium--font-size); height: var(--_typography---text-size-medium--font-size); }
.epieme-cta_button:hover { border-color: currentColor; text-decoration: underline; text-underline-offset: var(--spacing-cta-gap); }
.epieme-cta_button:focus-visible { outline: medium solid var(--color-cta-ink); outline-offset: var(--_layout---screenshots--padding); }
.epieme-cta_flourish { position: absolute; z-index: -1; inset: 0 auto 0 0; width: 11%; height: 100%; stroke: var(--color-cta-ribbon); stroke-width: 10; pointer-events: none; }
.epieme-cta_flourish.is-right { left: auto; right: 0; transform: scaleX(-1); }
@media (max-width: 40em) {
  .epieme-cta_banner { padding-inline: var(--spacing-cta-gutter); }
  .epieme-cta_flourish { width: 16%; opacity: 0.65; }
}
