.shared-contact { color: #fff; background: var(--crimson); }
.shared-contact__in { width: min(var(--max), calc(100% - 32px)); margin-inline: auto; padding-block: clamp(48px, 6vw, 82px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.shared-contact__copy h2 { margin: 0 0 18px; font-size: clamp(36px, 4.4vw, 64px); font-weight: 900; line-height: .98; letter-spacing: -.045em; }
.shared-contact__copy > p:not(.eyebrow) { margin: 0 0 24px; max-width: 45ch; font-size: 17px; line-height: 1.6; }
.shared-contact__details { display: grid; justify-items: start; font-style: normal; font-size: 16px; line-height: 1.6; }
.shared-contact__details span { margin-bottom: 16px; }
.shared-contact__details a { min-height: 44px; display: inline-flex; align-items: center; font-weight: 800; text-decoration: none; overflow-wrap: anywhere; }
.shared-contact__details a:hover { text-decoration: underline; text-underline-offset: 4px; }
.contact-message-form { display: grid; gap: 12px; min-width: 0; padding: clamp(24px, 3vw, 40px); color: var(--purple); background: #fff; border-radius: 28px; }
.contact-message-form h3 { margin: 0; font-size: 26px; font-weight: 900; line-height: 1.15; }
.contact-message-form label { display: block; font-size: 13px; font-weight: 800; }
.contact-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-form-row > div { display: grid; gap: 8px; min-width: 0; }
.contact-message-form input:not([type="hidden"]), .contact-message-form textarea { display: block; width: 100%; min-width: 0; min-height: 48px; padding: 11px 13px; border: 2px solid #8b7caa; border-radius: 9px; color: #251d35; background: #fcfbfe; font: inherit; font-size: 15px; }
.contact-message-form textarea { min-height: 145px; resize: vertical; }
.contact-message-form input:hover, .contact-message-form textarea:hover { border-color: var(--purple); }
.contact-message-form .action { justify-self: start; min-height: 48px; padding-inline: 22px; }
.contact-form-help { margin: 0; color: #5d536b; font-size: 12px; line-height: 1.5; }
.contact-privacy { margin: 0; color: #5d536b; font-size: 12px; line-height: 1.6; }
.contact-honeypot { position: absolute; left: -5000px; width: 1px; height: 1px; overflow: hidden; }
.contact-form-status { margin: 0; padding: 12px; color: var(--purple); background: #f1ecf9; border-radius: 9px; font-size: 14px; }
.contact-form-status[hidden] { display: none; }
@media (max-width: 860px) {
  .shared-contact__in { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 559px) {
  .contact-form-row { grid-template-columns: 1fr; }
  .contact-message-form { padding: 24px 20px; }
  .shared-contact__copy .cta-row .action { width: auto; flex: 1; padding-inline: 12px; }
}
