/* Closing invitation, using the hero's surface and corner radius. */
.blueprint > #invitation { border: 0; }
.closing-cta {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  min-height: 400px;
  margin-bottom: 32px;
  overflow: hidden;
  border-radius: var(--hero-radius);
  background: #f2f2f2;
}
.closing-cta__copy { align-self: center; padding: 56px clamp(32px, 4vw, 64px); }
.closing-cta h2 {
  max-width: 16ch;
  margin: 0 0 20px;
  font-size: clamp(36px, 3.7vw, 56px);
  line-height: 1.08;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.closing-cta__copy p { max-width: 390px; margin: 0 0 28px; color: var(--muted); font-size: 17px; line-height: 1.6; }
.closing-cta .button { width: 224px; max-width: 100%; }
.closing-cta__art { display: flex; align-items: center; justify-content: center; min-width: 0; padding: 24px 32px; }
.closing-cta__revenue { position: relative; width: 100%; max-width: 510px; aspect-ratio: 510 / 365; }
.closing-cta__revenue svg { width: 100%; height: 100%; }
.closing-cta__revenue-label { position: absolute; left: 47.255%; display: flex; flex-direction: column; gap: 8px; }
.closing-cta__revenue-label strong { font-size: clamp(18px, 1.75vw, 23px); line-height: 1.22; font-weight: 500; }
.closing-cta__revenue-label span { color: var(--muted); font-size: clamp(13px, 1.22vw, 16px); line-height: 1.375; }
.closing-cta__revenue-label--additional { top: 11.233%; color: #37684a; }
.closing-cta__revenue-label--additional span { color: inherit; }
.closing-cta__revenue-label--existing { top: 54.521%; }
.closing-cta__revenue.is-awaiting-addition :is(.closing-cta__revenue-addition, .closing-cta__revenue-label--additional) { opacity: 0; }
.closing-cta__revenue.is-adding-revenue :is(.closing-cta__revenue-addition, .closing-cta__revenue-label--additional) {
  animation: revenue-rise 1200ms cubic-bezier(0.23, 1, 0.32, 1) 1000ms both;
}
@keyframes revenue-rise {
  from { opacity: 0; transform: translateY(32px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce), print {
  .closing-cta__revenue :is(.closing-cta__revenue-addition, .closing-cta__revenue-label--additional) { opacity: 1 !important; animation: none !important; }
}
@media (max-width: 960px) and (min-width: 761px) {
  .closing-cta { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
  .closing-cta__copy { padding: 40px 32px; }
}
@media (max-width: 760px) {
  .closing-cta { grid-template-columns: minmax(0, 1fr); margin: 0 16px 24px; min-height: 0; }
  .closing-cta__copy { padding: 36px 24px 32px; }
  .closing-cta h2 { font-size: 36px; }
  .closing-cta__copy p { font-size: 16px; }
  .closing-cta__art { padding: 4px 24px 28px; }
  .closing-cta__revenue-label { gap: 5px; }
}
