* { box-sizing: border-box; }
html { font-family: system-ui, sans-serif; color-scheme: light dark; }
body { margin: 0; line-height: 1.5; }
button, input, select { font: inherit; }
.skip-link { position: absolute; top: -5rem; }
.skip-link:focus { top: 0.5rem; inset-inline-start: 0.5rem; z-index: 10; }
.visually-hidden { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }

/* Intentionally imperfect starter: investigate rather than copying these choices. */
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border-bottom: 1px solid currentColor;
}
.search { flex: 1 1 30rem; max-width: 42rem; }
.search input { width: 100%; }
.header-actions { display: flex; gap: 0.5rem; }
.brand { margin-left: 0.75rem; } /* deliberate physical-direction assumption */

.lab-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px dashed currentColor;
}

.catalog-layout {
  display: grid;
  grid-template-columns: 18rem minmax(42rem, 1fr); /* deliberate narrow-width pressure */
  gap: 1.25rem;
  padding: 1rem;
}
.filters { border: 1px solid currentColor; padding: 1rem; }
.filters label { display: block; margin-block: 0.5rem; }
.results { min-width: auto; }
.results-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.product-card { border: 1px solid currentColor; padding: 1rem; }
.product-id { font-family: ui-monospace, monospace; }
.eyebrow { margin-block-end: 0; }
h1 { margin-block-start: 0; }

/* Deliberate mutation: changes visual placement without changing source order. */
body.visual-reorder .filters { order: 2; }
body.visual-reorder .results { order: 1; }

.observation-panel {
  margin: 1rem;
  padding: 1rem;
  border: 1px dashed currentColor;
}

/* Deliberately device-named and incomplete breakpoint: replace only after measuring constraints. */
@media (max-width: 600px) {
  .product-grid { grid-template-columns: 1fr; }
}
