/* Contact form uses the theme's paper, ink, typography and native focus treatment. */
.page-contact:has(.afterspin-contact) .prose{padding-bottom:clamp(2rem,4vw,3rem)}
.afterspin-contact{max-width:44rem;margin-block:0 clamp(4rem,8vw,8rem)}
.afterspin-contact-form{display:grid;gap:1.5rem}
.afterspin-contact-required,.afterspin-contact-hint{font-size:.875rem;color:var(--soft);margin:0}
.afterspin-contact-field{display:grid;gap:.5rem;min-width:0}
.afterspin-contact-field label{font-size:.9rem;font-weight:600}
.afterspin-contact-field input,.afterspin-contact-field textarea{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);padding:.8rem 1rem;font-size:1rem;line-height:1.6}
.afterspin-contact-field textarea{resize:vertical;min-height:10rem}
.afterspin-contact-field [aria-invalid=true]{border-color:var(--ink);border-width:2px}
.afterspin-contact-error{font-size:.875rem;margin:0}
.afterspin-contact-form .button{justify-self:start;cursor:pointer;min-width:12rem}
.afterspin-contact-feedback{border-block:1px solid var(--ink);padding-block:1.25rem;margin-block:0 2rem;scroll-margin-top:2rem}
.afterspin-contact-feedback p:last-child,.afterspin-contact-feedback ul:last-child{margin-bottom:0}
.afterspin-contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media print{.afterspin-contact{display:none}}
