:root {
  --accent-color: #FFC43F;
  --dark-color: #222222;
  --primary-color: #6995B1;
  --muted: #6b7280;
}
body { font-family: "Open Sans", sans-serif; }
h1, h2, h3, h4, h5 { font-family: "Nunito", sans-serif; }
.site-bg { background: linear-gradient(180deg, #fafafa 0%, #f7f9fc 100%); }
.hero-block {
  background: radial-gradient(circle at top right, #fff3cc, #e9f4fb 70%);
  border: 1px solid #f5f0df;
}
.page-hero {
  background: linear-gradient(135deg, #fffaf0, #eef6fb);
  border: 1px solid #f0e7d2;
}
.footer-gradient { background: linear-gradient(135deg, #0f172a, #1f2937); }
.card-hover { transition: .28s ease; }
.card-hover:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(15, 23, 42, .11); }
.badge-cat { background: #fff6df; color: #b57600; }
.prose p { margin: 0 0 1rem; line-height: 1.85; }
.prose h2, .prose h3 { margin: 1.5rem 0 .8rem; font-weight: 700; }
.policy-card { background: #fff; border: 1px solid #edf0f5; border-radius: 1rem; padding: 1.25rem; }
.top-cat-card { min-height: 420px; display: flex; flex-direction: column; }
.top-cat-featured { min-height: 260px; }
.top-cat-featured-image { aspect-ratio: 16 / 10; }
.top-cat-mini-card { height: 100%; display: flex; flex-direction: column; }
.top-cat-mini-card .p-4 { flex: 1; }
.top-cat-list-item { min-height: 62px; }
.clamp-2, .clamp-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.clamp-2 { -webkit-line-clamp: 2; }
.clamp-3 { -webkit-line-clamp: 3; }
@media (max-width: 768px) { .hero-title { font-size: 1.9rem; } }
