*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
.serif { font-family: 'Playfair Display', Georgia, serif !important; }
.sans  { font-family: 'Inter', -apple-system, sans-serif; }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity: 1; transform: none; }
.reveal-d1 { transition-delay: 0.1s; }
.reveal-d2 { transition-delay: 0.2s; }
.reveal-d3 { transition-delay: 0.3s; }
input:focus, textarea:focus { outline: none; }
.grid-stats   { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; }
.grid-cards   { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.grid-values  { display: grid; grid-template-columns: 1fr; gap: 2.5rem 3rem; }
.grid-contact { display: grid; grid-template-columns: 1fr; gap: 4rem; }
.footer-inner { display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 640px) {
  .grid-stats  { grid-template-columns: repeat(4, 1fr); }
  .grid-cards  { grid-template-columns: repeat(2, 1fr); }
  .grid-values { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
  .grid-contact { grid-template-columns: 2fr 3fr; gap: 6rem; }
  .footer-inner { flex-direction: row; align-items: center; justify-content: space-between; }
}
