.card-grid { display: grid; gap: 20px; }
.card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card, .price-card, .article-card, .case-detail-card {
  background: #fff;
  border: 1px solid var(--sn-color-border);
  border-radius: var(--sn-radius-md);
  box-shadow: var(--sn-shadow-sm);
}
.price-card { padding: 28px; }
.price-card h2 { margin: 0 0 12px; }
.price-card__price { margin: 0 0 12px; color: var(--sn-color-brand-800) !important; font-size: 1.35rem; font-weight: 900; }
.card { padding: 28px; }
.card--feature { padding: 34px; }
.card h2, .card h3 { margin-top: 0; line-height: 1.35; }
.card p, .article-card p { color: var(--sn-color-muted); }
.card-kicker { margin: 0 0 9px; color: var(--sn-color-brand-700) !important; font-size: .75rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.article-card { padding: 24px; }
.article-card h2 { margin: 0 0 10px; }
.article-card h2 a { color: var(--sn-color-ink); text-decoration: none; }
.case-list { display: grid; gap: 22px; }
.case-detail-card { padding: 28px; }
.case-detail-card h2 { margin: 0 0 18px; }
@media (max-width: 820px) { .card-grid--3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .card-grid--3, .card-grid--2 { grid-template-columns: 1fr; } .card, .card--feature { padding: 22px; } }

.case-detail-card h2 a{color:inherit;text-decoration:none}
.case-detail-card h2 a:hover{color:var(--sn-color-brand-700)}
.case-service-line{margin:-7px 0 18px;color:var(--sn-color-muted);font-size:.82rem}
.case-detail-card__more{margin:20px 0 0}
.case-detail-card__more a{font-weight:800;text-decoration:none}
