* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: #ffffff;
  color: #23314d;
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button { font-family: inherit; }
a { text-decoration: none; }

@keyframes cvUp { from { transform: translateY(16px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes cvFade { from { opacity: 0; } to { opacity: 1; } }

.cvUp { animation: cvUp .55s ease both; }
.cvFade { animation: cvFade .4s ease both; }

@media (max-width: 760px) {
  .hero-grid { grid-template-columns: 1fr !important; }
  .stats-grid { grid-template-columns: repeat(2,1fr) !important; }
  .steps-grid, .criteria-grid, .catalogue-grid { grid-template-columns: 1fr !important; }
  .profile-top-grid { grid-template-columns: 1fr !important; }
  .crest-col { order: -1; margin-bottom: 20px; }
}
