/* Shared inline/modal contact forms using the site's existing theme tokens. */
.shared-question-wrap { max-width: 900px; margin: 0 auto; padding: 0 1.25rem; }
.capture-block { scroll-margin-top: 6rem; }
.capture-block h2 { font: 400 clamp(1.5rem, 3vw, 2rem)/1.3 Georgia, serif; }
.capture-block > p { max-width: 800px; line-height: 1.65; }
.capture-form { max-width: none; }
.capture-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.capture-form fieldset[hidden] { display: none; }
.capture-form .form-field { min-width: 0; }
.capture-consent { font-size: .85rem; color: var(--muted); }
.capture-form :disabled { cursor: not-allowed; }
.capture-status:not(:empty) { padding: .8rem; border-left: 3px solid var(--jade); }
.capture-unavailable { padding: .8rem 0; }
.home-capture { margin-block: .5rem 1rem; }
.capture-compact .capture-form fieldset { display: grid; gap: .25rem 1.5rem; grid-template-columns: 1fr 1fr; }
.capture-compact .form-field:nth-of-type(3), .capture-compact fieldset > p { grid-column: 1 / -1; }
.capture-compact .capture-form textarea { min-height: 100px; }
.capture-compact button { justify-self: start; }
.capture-dialog { width: min(720px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 1.5rem; border: 1px solid var(--line); border-radius: 15px; background: var(--cream); color: var(--ink); }
.capture-dialog::backdrop { background: #13282099; }
.capture-dialog .capture-block { padding-block: .5rem; }
.capture-close { display: block; margin-left: auto; min-height: 44px; padding: .5rem 1rem; border: 1px solid var(--line); border-radius: 6px; background: var(--card); color: var(--ink); font: inherit; cursor: pointer; }
.contact-shortcuts button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: var(--card); color: var(--muted); font-size: .7rem; }
.contact-shortcuts button:disabled { cursor: not-allowed; }
.contact-channels { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.contact-channels a { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; max-width: 100%; }
.contact-channels svg { flex: 0 0 24px; }
.contact-shortcuts a { min-width: 44px; min-height: 44px; }
.capture-form input, .capture-form textarea, .capture-form button { scroll-margin-bottom: 7rem; }
.social-follow { grid-column: 1 / -1; }
.social-follow h2 { margin: 0 0 .5rem; font-size: 1rem; }
.social-follow div { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.social-follow a { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; }
.contact-channels span { overflow-wrap: anywhere; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 680px) {
  .capture-compact .capture-form fieldset { grid-template-columns: 1fr; }
  .capture-dialog { padding: 1rem; }
}
