/* CyberThon 2026 — typography */

@font-face {
  font-family: 'Unixel';
  src: url('../../fonts/unixel-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'General Sans';
  src: url('../../fonts/GeneralSans-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'General Sans';
  src: url('../../fonts/GeneralSans-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  src: url('../../fonts/IBMPlexSansArabic-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'IBM Plex Sans Arabic';
  src: url('../../fonts/IBMPlexSansArabic-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
}

/* Pixel-type base: Unixel only — must be applied to every Unixel element */
.px-type {
  font-family: 'Unixel', monospace;
  -webkit-font-smoothing: none;
  font-synthesis: none;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0;
}

/* Three legal Unixel sizes (12.5 px/em → 2/3/4 art pixels) */
.px-s { font-size: 25px;   line-height: 25px; }
.px-m { font-size: 37.5px; line-height: 37.5px; }
.px-l { font-size: 50px;   line-height: 50px; }

/* Prose typefaces (long copy only — not in the hero) */
.prose-en { font-family: 'General Sans', system-ui, sans-serif; }
.prose-ar { font-family: 'IBM Plex Sans Arabic', system-ui, sans-serif; }

/* Arabic overrides: letter-spacing always 0; hero title upsizes */
[dir="rtl"] * { letter-spacing: 0 !important; }
[dir="rtl"] .hero-title.px-m { font-size: 50px; line-height: 50px; }
