html, body { overflow-x: hidden; }
main, .hero > *, .filters > *, .kpi, .panel, .object-card { min-width: 0; }
.filters select { max-width: 100%; min-width: 0; }

@media (max-width: 760px) {
  .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .layer-switch { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
}

@media (max-width: 430px) {
  .filters { grid-template-columns: minmax(0, 1fr); }
  .hero, .guardrail, .panel { max-width: 100%; }
  .lead, .guardrail p { overflow-wrap: anywhere; }
}
