.contact-section { display: grid; grid-template-columns: 1fr 1.7fr; gap: 64px; margin: 0 48px; padding: 44px 0 54px; border-top: 1px solid var(--line); scroll-margin-top: 28px; }
.contact-intro h2 { font: 38px/1.2 var(--serif); letter-spacing: -.7px; margin: 0 0 18px; }
.contact-intro > p:last-child { font-size: var(--body-size); line-height: 1.85; color: #5e6457; margin: 0; }
#reader-contact { min-width: 0; }
#reader-contact fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
.contact-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 22px; }
.contact-row > div { min-width: 0; }
#reader-contact label { display: block; font-size: 1rem; margin-bottom: 8px; }
#reader-contact input:not([type="hidden"]), #reader-contact textarea { width: 100%; padding: 12px 14px; border: 1px solid #a5a593; border-radius: 3px; color: var(--ink); background: #fffdf8; font: inherit; font-size: 1.0625rem; line-height: 1.6; }
#reader-contact textarea { min-height: 170px; resize: vertical; display: block; }
#reader-contact .contact-honeypot { display: none; }
.contact-hint, .contact-privacy { font-size: .875rem; line-height: 1.75; color: var(--muted); margin: 12px 0 20px; }
.contact-privacy { margin-bottom: 0; }
.contact-privacy a { color: var(--wine); text-decoration: underline; text-underline-offset: 3px; }
.contact-status { font-size: 1rem; line-height: 1.7; color: var(--wine); margin: 18px 0 0; }
.contact-status:empty { display: none; }
.contact-status[data-state="success"] { color: #43533e; }
#reader-contact[aria-busy="true"] { cursor: progress; }
#reader-contact button:disabled { opacity: .65; }
@media (max-width: 850px) { .contact-section { grid-template-columns: 1fr; gap: 28px; } }
@media (max-width: 620px) { .contact-section { margin: 0 21px; padding: 32px 0 40px; } .contact-intro h2 { font-size: 34px; } .contact-row { grid-template-columns: 1fr; } }
