/* Modulo di contatto: usa la palette e i componenti esistenti. */
.contact-form{max-width:780px;margin:38px auto 4px;padding:30px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);text-align:left}
.contact-form h3{font-size:1.25rem}
.contact-form-note{margin-top:12px;color:var(--muted);font-size:.875rem;line-height:1.7}
.contact-form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0 0;padding:0;border:0;min-width:0}
.contact-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.contact-field-wide{grid-column:1/-1;min-width:0}
.contact-field label{font-size:.9375rem;font-weight:600}
.contact-field label span{font-size:.8125rem;font-weight:400;color:var(--muted)}
.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;min-width:0;min-height:48px;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px;line-height:1.5;color-scheme:dark}
.contact-field textarea{min-height:132px;resize:vertical}
.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-color:var(--accent)}
.contact-field [aria-invalid=true]{border-color:var(--accent)}
.contact-field small{font-size:.8125rem;line-height:1.7;color:var(--muted)}
.contact-field-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-form-actions .button{width:100%;min-height:54px;gap:14px;padding-inline:16px}
.contact-form-actions .contact-form-note{margin-top:12px}
.contact-form fieldset:disabled{opacity:.65}
.contact-form button:disabled{cursor:not-allowed}
.contact-form-status{font-size:.9375rem;line-height:1.7;color:var(--ink)}
.contact-form-status:not(:empty){margin-top:22px}
.contact-form-result{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:8px}
.contact-form-result[hidden],.contact-form [hidden]{display:none}
.contact-form-result .text-link{color:var(--accent);overflow-wrap:anywhere}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.contact-inner.reveal-ready:focus-within{opacity:1!important;transform:none!important;transition:none!important}
@media(max-width:600px){.contact-form{padding:23px 18px}.contact-form fieldset{grid-template-columns:1fr;gap:18px}.contact-form-result{flex-direction:column;align-items:flex-start}}
