/* products--rx-grid: the catalogue as one grid. A bar with the eyebrow and heading left and
   the lead right, then the cards: one column on phones, two from 640px, three from 1024px,
   with even gutters and equal-height cards. */
.s-products--rx-grid { padding-block: clamp(calc(var(--s8) + var(--s2)), 10vw, var(--s10)); }
.s-products--rx-grid .rx-grid-bar {
  display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--s4) var(--s8);
  margin-bottom: var(--s7);
}
.s-products--rx-grid .rx-grid-eyebrow {
  font-family: var(--font-mono); font-size: var(--t-xs); letter-spacing: var(--ls-caps);
  text-transform: uppercase; color: var(--accent);
}
.s-products--rx-grid .rx-grid-title {
  margin-top: var(--s3); font-family: var(--font-mono); font-size: clamp(calc(var(--t-xl) * 0.832), 3.6vw, calc(var(--t-2xl) * 1.127)); font-weight: var(--w-bold);
  text-transform: uppercase; letter-spacing: -0.005em; line-height: 1.08; color: var(--fg);
}
.s-products--rx-grid .rx-grid-lead { max-width: 34em; font-size: var(--t-sm); line-height: var(--lh-body); color: var(--muted); }
.s-products--rx-grid .rx-grid-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s5); margin: 0; padding: 0; list-style: none; }
.s-products--rx-grid .rx-grid-item { min-width: 0; display: flex; }
.s-products--rx-grid .rx-grid-item > * { flex: 1; }
@media (min-width: 640px) {
  .s-products--rx-grid .rx-grid-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .s-products--rx-grid .rx-grid-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s6); }
}
