@font-face {
  font-family: 'Ermilov';
  src: url('/assets/fonts/Ermilov-Bold.otf') format('opentype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: 'Fixel Text';
  src: url('/assets/fonts/FixelText-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Fixel Text';
  src: url('/assets/fonts/FixelText-Medium.woff2') format('woff2');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'Fixel Text';
  src: url('/assets/fonts/FixelText-SemiBold.woff2') format('woff2');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: 'Fixel Text';
  src: url('/assets/fonts/FixelText-Bold.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
:root {
  --font-body: 'Fixel Text', Arial, sans-serif;
  --font-heading: 'Ermilov', 'Fixel Text', Arial, sans-serif;
}
body { font-family: var(--font-body); }
button, input, textarea, select { font-family: var(--font-body); }
h1, h2, h3, h4, h5, h6, .brand, .overlay strong,
.footer-row > a, .error-code, .error-game > span {
  font-family: var(--font-heading);
  font-weight: 700;
  font-synthesis: none;
}
h1 { line-height: 1; letter-spacing: -.025em; }
.section-title h2 { line-height: 1.08; letter-spacing: -.02em; }
.brand { letter-spacing: .08em; }
.overlay strong { letter-spacing: .02em; }
.error-code { letter-spacing: -.035em; }
.error-code span { font-family: var(--font-body); }
.error-message h1 { letter-spacing: -.02em; }
.error-discover h2 { font-weight: 700; }
.button { font-family: var(--font-body); font-weight: 600; }
.nav-links, .back, .eyebrow, label, .lead { font-weight: 500; }
@media (max-width: 400px) {
  .brand { font-size: 12px; letter-spacing: .04em; }
  .game-hero h1 { font-size: clamp(42px, 12vw, 52px); }
}
