/* Contact-first acquisition pages. Keep the short ask beside the opening copy. */
.contact-hero { padding: 38px 0 !important; }
.contact-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.9fr); gap: 40px; align-items: start; max-width: 1120px !important; margin: auto; padding-inline: 28px; }
.contact-hero-copy h1 { font-size: clamp(30px,3.5vw,46px); line-height: 1.12; margin-bottom: 18px; }
.contact-hero-copy .lede,.contact-intro { font-size: 18px; line-height: 1.55; }
.contact-card { background: #fffdf7; color: #243b33; border: 2px solid #243b33; padding: 26px; text-align: left; scroll-margin-top: 100px; }
.contact-card h2 { font-size: 26px; line-height: 1.15; margin: 0 0 12px; }
.contact-card .contact-card-intro { font-size: 15px; line-height: 1.5; margin: 0 0 18px; }
.contact-card [hidden] { display: none !important; }
.contact-card label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 12px; }
.contact-card input:not([type=checkbox]),.contact-card select { display: block; box-sizing: border-box; width: 100%; margin-top: 4px; border: 1px solid #6b7871; padding: 10px; background: white; font: 16px var(--font-body, sans-serif); color: #243b33; }
.contact-card button[type=submit] { width: 100%; padding: 13px 16px; background: var(--primary, #243b33); color: #fffdf7; border: 2px solid var(--primary, #243b33); font: 600 16px var(--font-body, sans-serif); cursor: pointer; }
.contact-card button:disabled { opacity: .65; cursor: wait; }
.contact-card .fine { font-size: 12px; line-height: 1.5; margin: 12px 0; }
.contact-extra { margin: 8px 0 12px; }
.contact-extra summary { cursor: pointer; font-size: 14px; text-decoration: underline; margin-bottom: 12px; }
.contact-card :focus-visible { outline: 3px solid #b2512d; outline-offset: 3px; }
.contact-card .error { color: #8e291c; }
.contact-card .success { padding: 16px; background: #eef7f3; }
.contact-general .contact-hero-copy { max-width: none; }
.contact-general .contact-hero-copy .breadcrumb { grid-column: 1 / -1; }
.contact-card .guide-form { margin-top: 12px; }
.contact-card label.guide-opt-in { display: flex; font-weight: 400; font-size: 13px; }
@media(max-width:720px) {
  .contact-hero { padding: 24px 0 !important; }
  .contact-hero-grid { grid-template-columns: 1fr; padding-inline: 20px; gap: 20px; }
  .contact-hero-copy h1 { font-size: 30px; }
  .contact-hero-copy .lede,.contact-intro { font-size: 16px; }
  .contact-card { padding: 20px; }
  .contact-card h2 { font-size: 24px; }
  .contact-hero-copy .actions,.contact-hero-copy .page-hero-actions { display: none; }
}
