/* ===== Font-loading fade-in ===== */
/* Hide content until web fonts are ready, then fade in smoothly.
   Prevents the flash of unstyled text (FOUT) when using Google Fonts. */
body {
  opacity: 0;
  transition: opacity 0.3s ease;
}
body.fonts-ready {
  opacity: 1;
}

/* ===== Reset & Base ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { display: block; max-width: 100%; height: auto; }

/* ===== Utilities ===== */
.container { width: 100%; max-width: var(--max-w); margin: 0 auto; padding: 0 var(--gap); }

/* All component styles (nav, hero, sections, footer, etc.) are in custom.css.
   Do not add component-level styles here — this file is for resets,
   font-loading, and global utilities only. */
