/* Final call to action on the purple gradient, with the "we'll set it up for you" form folded underneath */
.cta { text-align: center; background: var(--grad); color: var(--white); overflow: hidden; }
.cta-inner { position: relative; display: flex; flex-direction: column; align-items: center; }
.cta h2 em { color: var(--lav-200); }
.cta-owl { width: 64px; margin-bottom: 18px; filter: drop-shadow(0 10px 18px rgba(30, 27, 75, .35)); }
.cta p { font-size: 18px; opacity: .92; margin: 14px 0 28px; }
.cta .btn-gold { background: var(--white); color: var(--violet-700); }
.cta .btn-gold:hover { background: var(--lav-50); }
.cta-help { margin-top: 30px; width: 100%; max-width: 460px; border: 0; }
.cta-help summary { display: inline-block; font-size: 15px; padding: 6px 0; padding-inline-end: 0; text-decoration: underline; text-underline-offset: 4px; opacity: .9; }
.cta-help summary::after { content: none; }
.contact-form { display: grid; gap: 14px; margin-top: 18px; padding: 26px; text-align: start; background: var(--white); color: var(--ink); border-radius: var(--radius); box-shadow: 0 30px 60px -25px rgba(30, 27, 75, .6); }
.contact-form label { display: grid; gap: 6px; font-weight: 500; font-size: 14.5px; }
.contact-form input, .contact-form select {
  font: inherit; font-size: 16px; padding: 12px 14px; border-radius: 12px; border: 1.5px solid var(--line); background: var(--mist); color: var(--ink);
}
.contact-form input:focus, .contact-form select:focus { outline: none; border-color: var(--violet); }
.contact-form .btn-gold { background: var(--violet); color: var(--white); }
.contact-form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-msg { margin: 0; min-height: 1.4em; font-weight: 500; }
.form-msg.ok { color: var(--violet); }
.form-msg.err { color: #b91c1c; }
@media (max-width: 560px) { .cta .btn-lg { width: 100%; } }
