/* Shared product groups on the homepage and product overview. */
.portfolio-liquid-groups { display: grid; grid-template-columns: 1fr; gap: clamp(3.5rem, 7vw, 6rem); }
.portfolio-liquid-groups > .product-row { margin-top: 0; padding: 0; }
.section-heading .portfolio-family { color: var(--blue); font-size: 1.15rem; font-weight: 700; }
.portfolio-liquid-groups + .product-row { margin-top: clamp(3.5rem, 7vw, 6rem); }
.portfolio-grid--particle, .portfolio-grid--sterility { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.portfolio-grid--particle { max-width: calc((200% - 1.25rem) / 3); }
.portfolio-grid--membrane { grid-template-columns: 1fr; max-width: calc((100% - 2.5rem) / 3); }
.portfolio-grid--gas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.portfolio-grid--sterility { max-width: 760px; }
.portfolio-cover { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; height: 340px; padding: 1rem; border-bottom: 1px solid var(--line); background: var(--soft); }
.portfolio-cover img { display: block; width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; background: #fff; }
.portfolio-grid .card-content { display: flex; flex: 1; flex-direction: column; }
.portfolio-grid .text-link { align-self: flex-start; margin-top: auto; padding-top: .25rem; }

@media (max-width: 1000px) {
  .portfolio-grid--particle { max-width: none; }
  .portfolio-grid--membrane { max-width: calc((100% - 1.25rem) / 2); }
  .portfolio-grid--gas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .portfolio-grid--particle, .portfolio-grid--gas, .portfolio-grid--sterility { grid-template-columns: 1fr; }
  .portfolio-grid--membrane { max-width: none; }
  .portfolio-cover { height: 320px; }
}
