/* Privacy policy and terms of service (privacy.html, terms.html). */
.legal{ max-width:760px; padding-top:1.5rem; padding-bottom:3rem; line-height:1.65; }
.legal-updated{ color:var(--ink-faint); font-size:.9rem; margin:0 0 1.5rem; }
.legal section{ margin:0 0 1.8rem; padding:0 !important; min-height:0 !important; background:none !important; border:0 !important; }
.legal h2{ font:800 1.3rem var(--font-display); margin:0 0 .6rem; }
.legal h3{ font:700 1rem var(--font-display); margin:1rem 0 .35rem; }
.legal p, .legal li{ color:var(--ink-soft, var(--ink)); }
.legal ul{ padding-left:1.2rem; margin:.4rem 0; }
.legal li{ margin:.3rem 0; }
.legal code{ font:500 .85em var(--font-mono); background:var(--surface-2, rgba(127,127,127,.12)); padding:.05rem .35rem; border-radius:5px; }
.legal a{ color:var(--accent); }
.legal-see{ border-top:1px solid var(--border); padding-top:1rem; font-size:.95rem; }

/* Contact form (contact.html). */
.contact-form{ display:flex; flex-direction:column; gap:1rem; max-width:620px; }
.contact-who{ margin:0; padding:.7rem .9rem; border-radius:12px; background:var(--surface-2, rgba(127,127,127,.1)); font-size:.92rem; }
.contact-field{ display:flex; flex-direction:column; gap:.35rem; font-weight:600; }
.contact-field input, .contact-field select, .contact-field textarea{ padding:.65rem .8rem; border-radius:10px; border:1px solid var(--border); background:var(--surface);
  color:var(--ink); font:inherit; font-weight:400; }
.contact-field textarea{ resize:vertical; min-height:150px; }
.contact-count{ align-self:flex-end; font-weight:400; }
.contact-trap{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.contact-actions{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.contact-status{ font-weight:600; }
.contact-status.good{ color:#23d18b; }
.contact-status.bad{ color:#ff7b6b; }
