.buyer-intake { max-width: 1080px; margin: 0 auto; }
.buyer-intake .form-wrap { max-width: none; padding: 28px; }
.buyer-intake h2 { font-size: 1.3rem; margin: 0 0 16px; }
.buyer-intake h3 { margin: 0 0 10px; }
.buyer-intake .intake-section + .intake-section { margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--border, #dfe5e0); }
.buyer-intake .input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.buyer-intake .geography-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 14px; }
.buyer-intake .field { margin-bottom: 16px; }
.buyer-intake .field > label { font-size: .9rem; margin-bottom: 6px; }
.buyer-intake .field > input, .buyer-intake .field > select { padding: 10px 12px; min-height: 44px; }
.buyer-intake .field select { width: 100%; border: 1px solid var(--border, #dfe5e0); border-radius: 8px; background: #fff; font: inherit; }
.buyer-intake .field select:disabled { color: #64736b; background: #f3f6f3; }
.buyer-intake .industry-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 12px 0 18px; }
.buyer-intake .industry-group { min-width: 0; margin: 0; padding: 10px 12px 12px; border: 1px solid #dfe8e1; border-radius: 8px; background: #fafcf9; }
.buyer-intake .industry-group legend { padding: 0 4px; font-size: .85rem; font-weight: 700; color: #27583b; }
.buyer-intake .industry-choice { display: flex; align-items: flex-start; gap: 7px; margin: 0; padding: 4px 0; font-size: .83rem; font-weight: 400; line-height: 1.35; cursor: pointer; }
.buyer-intake input[type=checkbox] { flex: 0 0 auto; width: 17px; height: 17px; min-height: 0; margin: 1px 0 0; padding: 0; accent-color: #008d38; }
.buyer-intake .section-note { margin: -6px 0 12px; font-size: .9rem; color: #52645a; line-height: 1.5; }
.buyer-intake .matches-heading { display: flex; gap: 12px; justify-content: space-between; align-items: baseline; }
.buyer-intake .match-tools { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; flex-wrap: wrap; }
.buyer-intake .text-button { border: 0; background: none; padding: 4px 0; color: #00752e; text-decoration: underline; font: inherit; font-size: .85rem; cursor: pointer; }
.buyer-intake .match-count { font-size: .85rem; color: #52645a; }
.buyer-intake .match-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-height: 620px; overflow-y: auto; padding: 3px; }
.buyer-intake .match-option { display: flex; align-items: flex-start; gap: 11px; padding: 14px; margin: 0; border: 1px solid #dce6de; border-radius: 8px; background: #fff; cursor: pointer; font-weight: 400; }
.buyer-intake .match-option:has(input:checked) { border-color: #74b88a; background: #f6fbf5; }
.buyer-intake .match-option:focus-within { outline: 2px solid #008d38; outline-offset: 1px; }
.buyer-intake .match-copy { min-width: 0; display: block; }
.buyer-intake .match-title { display: block; font-size: .95rem; line-height: 1.4; margin-bottom: 4px; }
.buyer-intake .match-meta, .buyer-intake .match-summary, .buyer-intake .match-metrics { display: block; color: #536158; font-size: .8rem; line-height: 1.5; margin-top: 4px; }
.buyer-intake .match-metrics { color: #294e37; font-weight: 600; }
.buyer-intake .match-empty { grid-column: 1 / -1; padding: 22px; background: #f5f8f4; border-radius: 8px; margin: 0; }
.buyer-intake .match-error { color: #a42929; }
.buyer-intake .check { display: flex; align-items: flex-start; gap: 9px; font-size: .9rem; line-height: 1.5; margin: 18px 0; }
.buyer-intake .continue-button { width: 100%; }
.buyer-intake button:disabled { opacity: .6; cursor: wait; }
.buyer-intake [hidden] { display: none !important; }
@media (max-width: 850px) { .buyer-intake .industry-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .buyer-intake .form-wrap { padding: 18px; }
  .buyer-intake .input-grid, .buyer-intake .geography-grid, .buyer-intake .industry-groups, .buyer-intake .match-list { grid-template-columns: 1fr; }
  .buyer-intake .industry-group { padding: 8px 12px; }
  .buyer-intake .industry-choice { font-size: .9rem; padding: 6px 0; }
  .buyer-intake .matches-heading { display: block; }
}
