/* forms — ported from the approved design; colours come only from theme variables. */
.form{display:grid;gap:16px}
.frow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field label{display:block;font:700 .88rem/1.3 var(--fd);margin-bottom:6px;color:var(--night)}
.field .opt{font-weight:600;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:12px;border:2px solid var(--line-2);background:var(--white);color:var(--night);font:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent-ink);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}
.field [aria-invalid="true"]{border-color:var(--negative-color)}
.err{color:var(--negative-ink);font-size:.85rem;font-weight:700;margin:6px 0 0;min-height:0}
.err:empty{display:none}
.check{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:.88rem;color:var(--muted)}
.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent)}
.consent{font-size:.8rem;color:var(--muted);margin:0}
.ok{background:var(--mint-pale);border:1px solid var(--mint-line);border-radius:16px;padding:20px;color:var(--mint-ink)}
.ok h3{color:var(--mint-ink);margin-bottom:.3em}
.ok:focus{outline:3px solid var(--accent-ink)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,56px);align-items:start}
.info dl{margin:0}
.info dl div{padding:14px 0;border-bottom:1px dashed var(--line)}
.info dt{font:700 .78rem/1 var(--fd);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.info dd{margin:0;font-weight:700}
