/* Ported from the reference build by tools/port/css.mjs. Do not edit; edit the generator or override in assets/css/theme/. */
.cta[data-c-home-final-cta] {
  padding-block: var(--space-xl);
}
.cta__panel[data-c-home-final-cta] {
  gap: var(--space-l);
  border-radius: var(--radius-xl);
  background:
    radial-gradient(60% 120% at 100% 0%, #fff6, transparent 60%),
    radial-gradient(50% 90% at 0% 100%, #17c2b059, transparent 65%), var(--grad-warm);
  color: var(--ink);
  isolation: isolate;
  align-items: center;
  padding: clamp(1.75rem, 1rem + 3vw, 3.5rem);
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 40px 80px -40px #ff6a2b99;
}
.cta__shape[data-c-home-final-cta] {
  z-index: -1;
  pointer-events: none;
  position: absolute;
}
.cta__shape--ring[data-c-home-final-cta] {
  aspect-ratio: 1;
  border: 26px solid #ffffff47;
  border-radius: 50%;
  width: 260px;
  top: -110px;
  right: -70px;
}
.cta__shape--blob[data-c-home-final-cta] {
  aspect-ratio: 1;
  width: 180px;
  animation: morph 12s var(--ease-in-out) infinite alternate;
  background: #16131b14;
  border-radius: 42% 58% 63% 37%/41% 44% 56% 59%;
  bottom: -110px;
  right: 22%;
}
.cta__shape--star[data-c-home-final-cta] {
  width: 34px;
  fill: var(--white);
  opacity: 0.8;
  animation: twinkle 4s var(--ease-in-out) infinite;
  bottom: 22%;
  right: 9%;
}
.cta__text[data-c-home-final-cta] {
  gap: 0.75rem;
  display: grid;
}
.cta__kicker[data-c-home-final-cta] {
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #16131ba6;
  font-size: 0.78rem;
  font-weight: 800;
}
.cta__title[data-c-home-final-cta] {
  font-size: var(--step-4);
  max-width: 16ch;
  line-height: 1.02;
}
.cta__title[data-c-home-final-cta] .em[data-c-home-final-cta] {
  color: var(--white);
  text-shadow: 0 2px 20px #e2501a59;
}
.cta__lede[data-c-home-final-cta] {
  font-size: var(--step-1);
  color: #16131bc7;
  max-width: 34rem;
}
.cta__actions[data-c-home-final-cta] {
  justify-items: start;
  gap: 0.85rem;
  display: grid;
}
.cta__mail[data-c-home-final-cta] {
  text-underline-offset: 0.3em;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  text-decoration: underline #16131b4d;
  display: inline-flex;
}
.cta__mail[data-c-home-final-cta]:hover {
  text-decoration-color: var(--ink);
}
.cta__agency[data-c-home-final-cta] {
  border-radius: var(--radius-pill);
  transition:
    background-color var(--dur),
    transform 0.4s var(--ease-spring);
  background: #ffffff8c;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.9rem;
  font-size: 0.86rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  box-shadow: inset 0 0 0 1px #fffc;
}
.cta__agency[data-c-home-final-cta]:hover {
  background: var(--white);
  transform: translateY(-2px);
}
.cta__agency[data-c-home-final-cta] svg {
  color: var(--agency-blue);
}
.cta__agency-dot[data-c-home-final-cta] {
  background: var(--agency-lime);
  width: 9px;
  height: 9px;
  box-shadow: 0 0 0 2px var(--agency-blue);
  border-radius: 50%;
}
.cta[data-c-home-final-cta] [data-c-home-final-cta]:focus-visible {
  outline-color: var(--ink);
}
@media (width<=959px) {
  .cta__actions[data-c-home-final-cta] {
    width: 100%;
  }
  .cta__agency[data-c-home-final-cta] {
    border-radius: var(--radius-m);
    justify-content: flex-start;
    width: 100%;
    padding: 0.75rem 1rem;
  }
  .cta__agency-text[data-c-home-final-cta] {
    flex: 1;
  }
}
@media (width>=960px) {
  .cta__panel[data-c-home-final-cta] {
    gap: var(--space-xl);
    grid-template-columns: 1.4fr 1fr;
  }
  .cta__actions[data-c-home-final-cta] {
    text-align: right;
    justify-items: end;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cta__shape--blob[data-c-home-final-cta],
  .cta__shape--star[data-c-home-final-cta] {
    animation: none;
  }
}
@keyframes morph {
  50% {
    border-radius: 58% 42% 38% 62%/55% 61% 39% 45%;
  }
  to {
    border-radius: 37% 63% 51% 49%/37% 35% 65% 63%;
  }
}
@keyframes twinkle {
  50% {
    opacity: 0.4;
    scale: 0.7;
  }
}
