.client-v2-page .contact-form { max-width: 800px; margin-top: 24px; padding: 24px; border: 1px solid var(--border); border-radius: 14px; background: var(--card); }
.client-v2-page .contact-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.client-v2-page .contact-field { min-width: 0; }
.client-v2-page .contact-field-wide { grid-column: 1 / -1; }
.client-v2-page .contact-field label { display: block; margin-bottom: 6px; font-size: 17px; font-weight: 600; color: var(--text); }
.client-v2-page .contact-field :is(input,select,textarea) { display: block; box-sizing: border-box; width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid color-mix(in srgb,var(--border) 55%,var(--text)); border-radius: 7px; background: var(--surface); color: var(--text); font: inherit; font-size: 17px; }
.client-v2-page .contact-field textarea { height: 132px; min-height: 100px; resize: vertical; line-height: 1.6; }
.client-v2-page .contact-field select {
  -webkit-appearance: none;
  appearance: none;
  height: 44px;
  padding-right: 42px;
  background-image: linear-gradient(45deg, transparent 50%, var(--text) 50%), linear-gradient(135deg, var(--text) 50%, transparent 50%);
  background-position: right 19px center, right 14px center;
  background-size: 5px 5px;
  background-repeat: no-repeat;
}
.client-v2-page .contact-field :is(input,select,textarea):focus-visible { outline: 3px solid var(--link); outline-offset: 3px; }
.client-v2-page .contact-form :is(.contact-form-hint,.contact-form-privacy,.contact-form-status) { font-size: 15px; line-height: 1.7; }
.client-v2-page .contact-form-hint { margin: 0 0 18px; }
.client-v2-page .contact-form-privacy { margin: 18px 0 14px; }
.client-v2-page .contact-form-status { margin: 16px 0; }
.client-v2-page .contact-form-status:empty { margin: 0; }
.client-v2-page .contact-form button { margin-top: 18px; font: inherit; font-weight: 600; cursor: pointer; }
.client-v2-page .contact-form button:disabled { opacity: .6; cursor: not-allowed; }
.client-v2-page .contact-form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.client-v2-page .contact-spam-check { min-height: 20px; font-size: 15px; color: var(--text); }
@media (max-width: 640px) {
  .client-v2-page .contact-form { padding: 22px 18px; }
  .client-v2-page .contact-form-grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .client-v2-page .contact-form button { width: 100%; }
}

@media (min-width: 1601px) {
  .client-v2-page .contact-form { zoom: .9; }
}

/* Laptop refinement: keep field sizes and reduce only vertical spacing. */
@media (min-width: 641px) and (max-width: 1600px) {
  .client-v2-page .contact-form { padding-block: 20px; }
  .client-v2-page .contact-form-grid { row-gap: 12px; }
  .client-v2-page .contact-field textarea { height: 108px; }
  .client-v2-page .contact-form-hint { margin-bottom: 12px; }
  .client-v2-page .contact-form-privacy { margin-block: 12px 10px; }
  .client-v2-page .contact-form button { margin-top: 12px; }
}
