/* Contact uniquement : tokens et champs du formulaire existant. */
.contact-page .narrow{max-width:760px}
.contact-page h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.08}
.contact-form{max-width:none;margin-top:32px;position:relative}
.contact-hint{color:var(--muted-on-dark);font-size:.9rem}
.contact-form .brief-field input,.contact-form .brief-field textarea{background:var(--surface-60);color:var(--text-on-light);border-color:var(--muted-on-dark)}
.contact-form .brief-field input:focus-visible,.contact-form .brief-field textarea:focus-visible{outline:2px solid var(--accent-10);outline-offset:3px;box-shadow:none}
.contact-form .button{border:1px solid var(--accent-10);background:var(--accent-10);color:var(--text-on-light);font:inherit;font-weight:800;cursor:pointer}
.contact-form .button:hover{background:var(--surface-60);border-color:var(--surface-60);color:var(--text-on-light)}
.contact-form .button:disabled{opacity:1;background:var(--surface-60-soft);border-color:var(--surface-60-soft);color:var(--text-on-light);cursor:wait;transform:none}
.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-status{min-height:26px;margin:16px 0 0;color:var(--text-on-dark);font-weight:700;overflow-wrap:anywhere}
.contact-status:not(:empty){padding:14px 16px;border:1px solid var(--muted-on-dark);border-radius:12px}
.contact-status[data-state="error"]{color:#FFB49C;border-color:#FFB49C}
.contact-status[data-state="success"]{color:#B9E3C4;border-color:#B9E3C4}

.contact-form .button:focus-visible{outline:2px solid var(--accent-10);outline-offset:4px}
