.quick-contact { width: var(--container); max-width: 1180px; margin: 32px auto; padding: 26px 30px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 32px; border: 1px solid var(--theme-border); border-radius: 20px; background: var(--theme-accent-soft); color: var(--theme-text); }
.quick-contact .quick-contact-title { font-family: var(--sans); font-size: 28px; line-height: 1.15; letter-spacing: -.035em; font-weight: 700; margin: 0 0 10px; }
.quick-contact-copy > p { font-size: 16px; line-height: 1.5; margin: 0; color: var(--theme-text-soft); }
.quick-contact-form { min-width: 0; }
.quick-contact-form > label { display: block; font-size: 14px; font-weight: 700; margin: 0 0 7px; }
.quick-contact-controls { display: flex; gap: 8px; }
.quick-contact-controls input { min-width: 0; width: 100%; background: var(--theme-surface); border: 1px solid var(--theme-border); border-radius: 12px; padding: 12px 14px; font-family: var(--sans); font-size: 16px; line-height: 1.5; min-height: 50px; color: var(--theme-text); }
.quick-contact-controls button { flex-shrink: 0; background: var(--theme-text); border: 1px solid var(--theme-text); border-radius: 12px; color: #fff; font-family: var(--sans); font-size: 15px; font-weight: 700; padding: 12px 16px; min-height: 50px; cursor: pointer; }
.quick-contact-controls button:disabled { cursor: default; opacity: .7; }
.quick-contact-controls :focus-visible { outline: 3px solid var(--theme-accent); outline-offset: 3px; }
.quick-contact-controls input[aria-invalid="true"] { border-color: #9a352b; }
.quick-contact .quick-contact-note { font-size: 14px; line-height: 1.45; color: var(--theme-text-soft); margin: 9px 0 0; }
.quick-contact-note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.quick-contact-status { font-size: 14px; line-height: 1.5; margin: 10px 0 0; }
.quick-contact-status.is-error { color: #8c2823; }
.quick-contact-status.is-success { color: var(--theme-text); font-weight: 700; }
.quick-contact [hidden] { display: none !important; }
@media (max-width: 850px) {
  .quick-contact { grid-template-columns: 1fr; gap: 18px; padding: 24px; }
}
@media (max-width: 420px) {
  .quick-contact { padding: 22px 18px; }
  .quick-contact-controls { flex-direction: column; }
}
