/* Contact page: local styles keep the rest of the site unchanged. */
.contact-section{padding-top:24px}
.contact-layout{display:grid;grid-template-columns:minmax(0,740px) minmax(220px,300px);gap:48px;align-items:start}
.contact-form{width:100%;max-width:none;min-width:0}
.contact-form h2,.contact-aside h2{font-family:var(--serif);font-size:1.7rem;line-height:1.2;margin:0 0 10px}
.contact-intro{color:var(--muted);font-size:.9rem;margin:0 0 24px}
.contact-form .field{min-width:0;align-content:start}
.contact-form .field input,.contact-form .field select,.contact-form .field textarea{min-width:0;font-size:16px}
.contact-form .field small{color:var(--muted);font-size:.82rem;line-height:1.4}
.contact-form .optional{font-weight:400;letter-spacing:0;text-transform:none}
.contact-details{margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}
.contact-details summary{cursor:pointer;font-weight:600;line-height:1.5}
.contact-details summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px;border-radius:4px}
.contact-details p{font-size:.9rem;color:var(--muted);margin:16px 0}
.contact-details .form-grid{margin:18px 0 4px}
.contact-submit{min-height:48px}
.contact-privacy{font-size:.82rem;color:var(--muted);line-height:1.6;margin:18px 0 0;max-width:60ch}
.contact-aside{padding:22px 0}
.contact-aside section{border-top:1px solid var(--line);padding:22px 0}
.contact-aside h2{font-size:1.5rem;margin-bottom:24px}
.contact-aside h3{font-size:1rem;margin:0 0 8px;line-height:1.4}
.contact-aside p{font-size:.92rem;color:var(--muted);line-height:1.6;margin:0 0 12px}
.contact-aside a{text-decoration:underline;text-underline-offset:3px;font-size:.9rem}
@media(max-width:850px){.contact-layout{grid-template-columns:1fr;gap:24px}.contact-aside{padding:0}}
@media(max-width:600px){.contact-form{padding:22px 18px;border-radius:18px}.contact-form .form-grid{grid-template-columns:1fr}.contact-submit{width:100%}}
