.card, .zm-card, .hero-card, .panel, .rule-box, .seo-block, .experience-item, .step, .testimonial-card,
.utility-card, .news-archive-empty, .news-rubric-filters, .single-news-article {
  border: 1px solid var(--zm-border-soft); border-radius: var(--zm-radius-card); background: var(--zm-surface); box-shadow: var(--zm-shadow-soft);
}
.card, .zm-card, .hero-card, .panel, .rule-box, .seo-block, .experience-item, .step, .testimonial-card, .utility-card, .single-news-article { padding: clamp(20px, 3vw, 30px); }
.card, .zm-card, .hero-card, .panel, .experience-item, .step, .testimonial-card, .utility-card { transition: transform var(--zm-transition), border-color var(--zm-transition), background-color var(--zm-transition); }
.card:hover, .zm-card:hover, .hero-card:hover, .panel:hover, .experience-item:hover, .step:hover, .testimonial-card:hover, .utility-card:hover { border-color: var(--zm-border); background: var(--zm-surface-hover); transform: translateY(-2px); }
.card p, .zm-card p, .hero-card p, .panel p, .rule-box p, .experience-item p, .step p, .testimonial-text, .single-news-article { color: var(--zm-muted); }
.card h3, .card h4, .zm-card h3, .hero-card h3, .hero-card h2, .panel h3, .rule-box h2, .experience-item h3, .step h3 { margin-bottom: 10px; }
.icon, .zm-svg-icon, .zm-feature-icon, .utility-icon, .news-archive-card__thumb-icon {
  display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: 18px;
  border: 1px solid color-mix(in srgb, var(--zm-brand) 38%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--zm-brand) 10%, transparent); color: color-mix(in srgb, var(--zm-brand) 48%, #fff);
}
.icon svg, .zm-svg-icon svg, .zm-feature-icon svg, .utility-icon svg, .news-archive-card__thumb-icon svg,
.testimonial-avatar svg, .footer-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.eyebrow, .zm-eyebrow, .server-tag, .zm-server-tag, .server-mode-badge, .chip, .zm-chip {
  display: inline-flex; align-items: center; min-height: 30px; padding: 5px 10px; border: 1px solid color-mix(in srgb, var(--zm-brand) 30%, transparent); border-radius: 999px;
  background: color-mix(in srgb, var(--zm-brand) 9%, transparent); color: color-mix(in srgb, var(--zm-brand) 48%, #fff); font-size: 12px; font-weight: 800; letter-spacing: .09em; line-height: 1.15; text-transform: uppercase;
}
