/* HITP refinement 1: preserve brand, improve reading and enquiry controls. */
html { scroll-padding-top: 120px; }
body { -webkit-font-smoothing: antialiased; }
main p { overflow-wrap: break-word; }
.hero h1 { font-size: clamp(44px, 6.8vw, 100px); line-height: 1.18; }
.field input, .field textarea, .field select {
  border-radius: 8px; background: #fffdfa; border-color: #b7bcb9;
  font-size: 16px; line-height: 1.5; padding: 14px 16px;
}
.field textarea { min-height: 160px; resize: vertical; }
.field input:hover, .field textarea:hover, .field select:hover { border-color: #677c83; }
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 3px solid #a4422b; outline-offset: 4px;
}
button:disabled { cursor: wait; opacity: .65; }
#enquiry button { min-height: 48px; }
#enquiry .form-grid { gap: 22px; }
#enquiry .field { min-width: 0; }
#enquiry .field > span { font-weight: 500; }
#enquiry [role=alert], #enquiry #error { scroll-margin-top: 120px; }
@media (max-width: 640px) {
  .hero h1 { font-size: clamp(40px, 10vw, 62px); }
  #enquiry .form-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  #enquiry .field.wide { grid-column: 1; }
  .field input, .field textarea, .field select { width: 100%; min-height: 48px; }
  #enquiry button { padding: 12px 18px; }
  .services [role=tablist], .services .tabs { flex-wrap: wrap; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
