/* Mobile form and navigation refinements, release 1.1.0. */
.psc-form *, .psc-consent-banner * { box-sizing: border-box; }
.psc-field, .psc-form__grid, .psc-form-wrap { min-width: 0; }
.psc-field__control { width: 100%; max-width: 100%; min-width: 0; }
input[type="date"].psc-field__control { display: block; min-height: 48px; -webkit-appearance: none; appearance: none; }
.psc-form button, .psc-consent-banner button { font: inherit; min-height: 44px; border: 1px solid var(--ink, #102b3b); border-radius: 4px; padding: .75rem 1rem; cursor: pointer; }
.psc-form button[type="submit"], .psc-form button[data-psc-next] { background: #286c98; color: white; }
.psc-form button:disabled { opacity: .65; cursor: wait; }
.psc-form button:focus-visible, .menu-button:focus-visible { outline: 3px solid #80c3df; outline-offset: 3px; }
.psc-form__actions { flex-wrap: wrap; gap: .75rem; }
.legal-outline article { margin-block: 2rem; }
.legal-outline p, .contact-list a { overflow-wrap: anywhere; }
.legal-outline h2 { font-size: clamp(1.25rem, 3vw, 1.8rem); }
.mobile-bar { padding-bottom: env(safe-area-inset-bottom); }
.psc-consent-banner { padding-bottom: env(safe-area-inset-bottom); }
@media(max-width: 600px) {
  .section-head { display: block; }
  .section-head > p { margin-top: 1rem; }
  .estimate-card { padding: 1.4rem 1rem; }
  .price-preview { gap: .75rem; }
  .price-preview strong { font-size: clamp(1.6rem, 7vw, 2.6rem); }
  .mobile-nav.open { max-height: 70dvh; overflow-y: auto; }
  body { padding-bottom: calc(90px + env(safe-area-inset-bottom)); }
  .psc-field__control { font-size: 16px; }
  .psc-form__actions button[type="submit"] { flex: 1 1 180px; }
}
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
