body {
  background: #f5f7fa;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.card-shadow {
  box-shadow: 0 8px 20px rgba(0,0,0,0.02), 0 2px 6px rgba(0,20,50,0.04);
}
.banner-light {
  background: linear-gradient(145deg, #eef2f7 0%, #e2e9f2 100%);
  border-bottom: 1px solid rgba(255,255,255,0.5);
}
.glass-light {
  background: rgba(255,255,255,0.7);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,0.9);
}
.hover-card {
  transition: all 0.2s ease;
}
.hover-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0,20,50,0.06);
}
.banner-ornament {
  position: absolute;
  right: -20px;
  top: -30px;
  font-size: 160px;
  opacity: 0.08;
  pointer-events: none;
  transform: rotate(8deg);
  color: #1e3a5f;
  font-weight: 300;
}
@media (max-width: 640px) {
  .banner-ornament { font-size: 100px; right: 0; top: 0; }
}
.icon-svg {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  vertical-align: middle;
  flex-shrink: 0;
}
.icon-svg-md { width: 1.6em; height: 1.6em; }
.icon-svg-lg { width: 2.4em; height: 2.4em; }
.icon-svg-xl { width: 3em; height: 3em; }
.text-amber-500 { color: #f59e0b; }
.text-cyan-600 { color: #0891b2; }
.text-emerald-600 { color: #059669; }
.text-indigo-600 { color: #4f46e5; }
.text-indigo-700 { color: #4338ca; }
.text-slate-500 { color: #64748b; }
.text-slate-700 { color: #334155; }
.fill-current { fill: currentColor; }
/* CTA 专用 */
.cta-gradient {
  background: linear-gradient(135deg, #e8edf5 0%, #d5e0ec 100%);
}