/* Forms & enquiry — lab-clean fields, ink panel, lime focus */
.enquiry-panel {
  background: var(--ink); color: var(--on-dark);
  border-radius: var(--radius-section); padding: var(--space-5);
  display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-5);
}
.enquiry-panel h2 { color: var(--on-dark); }
.enquiry-panel p { color: var(--on-dark-soft); }
.enquiry-panel .kicker { color: var(--sage); }
.enquiry-panel__contact { margin-top: var(--space-3); display: grid; gap: 10px; font-family: var(--font-mono); font-size: 14px; color: var(--sage); }
.enquiry-panel__contact a { color: var(--on-dark); text-decoration: none; }
.enquiry-panel__contact a:hover { text-decoration: underline; }
.enquiry-panel__contact span { font-size: 12px; color: var(--sage); opacity: 0.8; }
.enquiry-panel__contact p { font-size: 14px; }
.form-grid { display: grid; gap: 14px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 700px) { .form-row { grid-template-columns: 1fr; } }
.field label {
  display: block; font-family: var(--font-mono); font-size: 13px;
  text-transform: uppercase; letter-spacing: -0.02em;
  color: var(--sage); margin-bottom: 6px;
}
.field label .req { color: var(--lime); }
.field input, .field select, .field textarea {
  width: 100%; padding: 10px 14px;
  border-radius: var(--radius-btn); border: var(--border-w) solid var(--border-on-dark);
  background: transparent; color: var(--on-dark);
  font-size: 15px;
}
.field input::placeholder, .field textarea::placeholder { color: var(--sage); opacity: 0.75; }
.enquiry-panel .field select option { color: var(--ink); }
.field textarea { min-height: 110px; resize: vertical; }
.field .error { color: #f0a48c; font-family: var(--font-mono); font-size: 12px; min-height: 16px; display: block; }
.field input.invalid, .field select.invalid, .field textarea.invalid { border-color: #f0a48c; border-width: var(--border-w); }
.form-note { font-family: var(--font-mono); font-size: 12px; color: var(--sage); opacity: 0.85; }
.form-success {
  background: var(--lime); color: var(--ink);
  border-radius: var(--radius-btn); padding: 16px 18px; font-size: 14px;
}
.form-success a { color: var(--ink); font-weight: 500; }
.form-success strong { font-weight: 500; }
@media (max-width: 800px) { .enquiry-panel { grid-template-columns: 1fr; padding: var(--space-4); } }

/* Tables — mono headers, hairline rules, scrollable on narrow screens */
.table-wrap { overflow-x: auto; border-radius: var(--radius-card) var(--radius-card) 0 var(--radius-card); }
.spec-table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 16px; background: var(--surface); border-radius: var(--radius-card) var(--radius-card) 0 var(--radius-card); overflow: hidden; }
.spec-table th, .spec-table td { text-align: left; padding: 14px 20px; border-bottom: var(--border-w) solid var(--border-soft); vertical-align: top; }
.spec-table th { color: var(--ink); font-size: 15px; font-weight: 450; }
.spec-table th span { font-weight: 400; }
.spec-table thead th {
  font-family: var(--font-mono); font-size: 13px; font-weight: 400;
  text-transform: uppercase; letter-spacing: -0.02em; color: var(--slate);
  background: var(--surface-2);
}
.spec-table td a {
  font-family: var(--font-mono); font-size: 13px; letter-spacing: -0.02em;
  text-transform: uppercase; text-decoration: none; white-space: nowrap;
}
.spec-table td a:hover { text-decoration: underline; text-underline-offset: 3px; }
.spec-table tr:last-child td { border-bottom: none; }
.spec-table .status { font-size: 12px; }
.table-note { margin-top: 16px; font-size: 15px; color: var(--slate); }
.evidence + .dispatch-note { margin-top: var(--space-3); }

/* Footer — black, mono links (template footer contrast pair) */
.site-footer { background: var(--black); color: var(--on-dark); padding-block: var(--space-5) var(--space-3); }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--space-4); }
.site-footer h4 {
  font-family: var(--font-mono); font-size: 13px; font-weight: 400;
  text-transform: uppercase; letter-spacing: -0.02em; color: var(--sage); margin-bottom: 12px;
}
.footer-blurb { font-size: 14px; color: var(--on-dark-soft); margin-top: 8px; }
.site-footer ul { list-style: none; padding: 0; display: grid; gap: 8px; }
.site-footer a { color: var(--on-dark); text-decoration: none; font-size: 15px; }
.site-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
.footer-legal {
  border-top: var(--border-w) solid var(--border); margin-top: var(--space-4);
  padding-top: var(--space-3); display: flex; gap: 18px; flex-wrap: wrap;
  font-family: var(--font-mono); font-size: 12px; color: var(--sage); opacity: 0.85;
}
.feature-line { font-family: var(--font-display); font-size: 20px; color: var(--on-dark); letter-spacing: -0.006em; }
.feature-line strong { color: var(--lime); font-weight: 450; }
@media (max-width: 800px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
