/* ============================================================ CONTACT */
.contact__grid{margin-top:var(--s-9);display:grid;gap:var(--s-10) var(--gutter);}
@media (min-width:1024px){
  .contact__grid{grid-template-columns:repeat(12,1fr);gap:var(--s-10);}
  .contact__aside{grid-column:1/5;}
  .contact__form{grid-column:6/13;}
}
.info{display:flex;flex-direction:column;border-top:var(--border) solid var(--line);}
.info__row{display:flex;flex-direction:column;gap:var(--s-1);
  padding-block:var(--s-4);border-bottom:var(--border) solid var(--line);}
.info__label{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-micro);
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);}
.info__value{font-weight:500;text-decoration:none;}
a.info__value:hover{color:var(--accent-ctx);}

.form__rows{display:flex;flex-direction:column;gap:var(--s-6);}
@media (min-width:768px){
  .form__pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);}
}
.upload{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-2);
  min-height:120px;padding:var(--s-5);text-align:center;cursor:pointer;
  border:var(--border) dashed var(--line-strong);
  transition:border-color var(--t-ui) var(--ease-ui),background var(--t-ui) var(--ease-ui);
}
.upload:hover,.upload.is-drag{border-color:var(--accent-ctx);background:var(--bg-raised);}
.upload input{position:absolute;width:1px;height:1px;opacity:0;}
.upload__hint{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:.08em;
  color:var(--ink-faint);}
.upload__file{font-size:var(--fs-sm);font-weight:500;color:var(--accent-ctx);}
.consent{display:flex;gap:var(--s-3);align-items:flex-start;font-size:var(--fs-sm);color:var(--ink-soft);}
.consent input{width:18px;height:18px;flex:none;margin-top:3px;accent-color:var(--accent-deep);}
.form__status{min-height:1.4em;font-size:var(--fs-sm);}
.form__status.is-ok{color:var(--accent-deep);}
.form__status.is-error{color:var(--state-error);}
