.contact-flow{margin-bottom:36px}
.contact-flow h2{margin-bottom:18px}
.flow-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.flow-list li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);padding:15px 16px;font-weight:600}
.flow-list span{color:var(--green-dark);font-size:.82rem;letter-spacing:.12em;font-weight:700;white-space:nowrap}
.flow-note{margin:18px 0 0;color:#3b4852;font-weight:600}
.field-help{margin:0 0 10px;color:var(--muted);font-size:.9rem;line-height:1.8}
.field-error{min-height:1.45em;margin:6px 0 0;color:#a14436;font-size:.84rem;line-height:1.5}
.checkbox-group{border:0;padding:0;margin:0 0 19px}
.checkbox-group legend{display:block;margin-bottom:6px;font-size:.92rem;font-weight:700}
.checkbox-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.check-option{display:flex!important;align-items:flex-start;gap:10px;margin:0;padding:12px;background:#fff;border:1px solid #b9c4c6;font-weight:500!important;line-height:1.65}
.check-option input{width:auto!important;margin:.35em 0 0;flex:0 0 auto}
.form-meta{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.char-count{margin:6px 0 0;color:var(--muted);font-size:.84rem;white-space:nowrap}
.contact-form .button:disabled{cursor:not-allowed;opacity:.68;transform:none}
@media(max-width:650px){.checkbox-list{grid-template-columns:1fr}.form-meta{display:block}.char-count{text-align:right}}

/* Approved form layout, scoped to the contact form. */
.contact-topics-label {
  margin-bottom: 6px;
  font-size: .92rem;
  font-weight: 700;
}
.contact-form .contact-topics-legend {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.contact-form .field-error:empty { display: none; }
@media (min-width: 768px) {
  .contact-form { --contact-label-width: 220px; --contact-column-gap: 28px; }
  .contact-form > .form-group:not(fieldset):not(.contact-message),
  .contact-topics-row {
    display: grid;
    grid-template-columns: var(--contact-label-width) minmax(0, 1fr);
    column-gap: var(--contact-column-gap);
    align-items: start;
  }
  .contact-form > .form-group:not(fieldset):not(.contact-message) > label {
    margin-bottom: 0;
    padding-top: 12px;
  }
  .contact-form > .form-group:not(fieldset):not(.contact-message) > .field-error {
    grid-column: 2;
  }
  .contact-topics-label { padding-top: 12px; }
  .contact-topics-label .required { display: inline-block; }
  .contact-topics-controls { min-width: 0; }
  .contact-message { display: block; }
}

/* Four compact controls share a cap; existing column alignment and spacing stay intact. */
.contact-form #tel,
.contact-form #industry,
.contact-form #position,
.contact-form #employees {
  width: 400px;
  max-width: 100%;
  min-width: 0;
  justify-self: start;
}
