.contact-layout{display:grid;grid-template-columns:minmax(0,1fr)310px;gap:clamp(30px,6vw,80px);padding-block:64px 88px;align-items:start}
.contact-form{display:grid;gap:18px;max-width:650px}
.contact-field{display:grid;gap:7px}
.contact-field label{font-weight:700}
.contact-field input,.contact-field textarea{width:100%;padding:12px 14px;border:1px solid #aebeb7;border-radius:4px;font:inherit;background:white;color:var(--ink)}
.contact-field textarea{min-height:190px;resize:vertical}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--forest);outline-offset:2px}
.contact-form .button{width:fit-content;cursor:pointer}
.contact-form .button:disabled{opacity:.5;cursor:not-allowed}
.contact-honeypot{position:absolute;left:-9999px;height:1px;width:1px;overflow:hidden}
.contact-status{min-height:24px;margin:0;font-size:.93rem}
.contact-status[data-state="error"]{color:#9a3327}
.contact-status[data-state="success"]{color:#147447;font-weight:700}
.contact-note{color:var(--muted);font-size:.92rem}
.contact-side{padding:26px;border:1px solid var(--line);background:var(--wash)}
.contact-side h2{font:500 1.9rem Georgia,serif;margin:0 0 12px}
.contact-side p{color:var(--muted)}
@media(max-width:780px){.contact-layout{grid-template-columns:1fr;padding-block:42px 58px}}

/* Separate confirmation page: no form, no accidental repeat submission. */
.contact-success-panel{
  max-width:760px;
  margin-inline:auto;
  padding:clamp(28px,5vw,52px);
  border:1px solid var(--line);
  background:var(--wash);
}
.contact-success-mark{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  margin-bottom:24px;
  border-radius:50%;
  background:#176a4c;
  color:#fff;
  font-size:2rem;
  font-weight:700;
}
.contact-success-panel h2{
  margin:0 0 18px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.7rem,3.5vw,2.4rem);
  font-weight:500;
  line-height:1.2;
}
.contact-success-panel p{
  color:var(--muted);
  font-size:1.05rem;
}
.contact-success-panel .actions{margin-top:28px}
