/* Shared product benefits for SG_20, SG_21 and SG_22. */
.benefits-section {
  padding: 34px 0;
  background: var(--paper);
  border-block: 1px solid var(--line);
}
.benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.benefit-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  padding: 24px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 5px 18px rgba(25, 50, 65, .04);
}
.benefit-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--ink) 8%, white);
  color: var(--ink);
}
.benefit-card:nth-child(2) .benefit-icon {background: #e5f5ed; color: #24734d;}
.benefit-card:nth-child(3) .benefit-icon {background: #fff4d2; color: #866418;}
.benefit-card:nth-child(4) .benefit-icon {background: #f7e9f4; color: #984479;}
.benefit-card h3 {margin: 0 0 5px; font-size: 17px; line-height: 1.3; color: var(--ink); font-weight: 800;}
.benefit-card p {margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6;}
@media (max-width: 900px) {
  .benefits {grid-template-columns: repeat(2, minmax(0, 1fr));}
  .benefit-card {flex-direction: row; align-items: center; gap: 14px;}
  .benefit-icon {flex-shrink: 0;}
}
@media (max-width: 640px) {
  .benefits-section {padding: 24px 0;}
  .benefits {gap: 10px;}
  .benefit-card {flex-direction: column; align-items: flex-start; padding: 18px 14px; gap: 14px; border-radius: 16px;}
  .benefit-icon {width: 42px; height: 42px; border-radius: 12px;}
  .benefit-card h3 {font-size: 15px;}
  .benefit-card p {font-size: 11px;}
}
