/* Hand-tuned critical CSS — loaded as a normal blocking <link> in header.ejs
   (NOT inlined via app.locals.criticalCss: that global is hardcoded to
   themes/news/assets/css/critical.css in src/middleware-setup.js and is out of
   this theme's file ownership). Small enough (a few KB) that a blocking request
   is cheap and avoids a font/layout flash while the async tailwind.css swap
   resolves. */

/* No ?v= cache-bust here (this file is a plain static asset, not routed through
   the __ASSETS_V__ substitution middleware-setup.js applies to news's
   critical.css) — the href below MUST byte-match the <link rel="preload"> in
   header.ejs or the browser fetches the font twice. Font files are
   content-addressed by filename and change rarely, so the asset route's 1-day
   unversioned cache is an acceptable trade-off. */
@font-face {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/theme-assets/tech-review/fonts/inter-tight-latin-variable.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/theme-assets/tech-review/fonts/inter-latin-variable.woff2") format("woff2");
}

html { font-size: 16px; }
body {
  margin: 0;
  /* .full-bleed bands use the 100vw breakout hack — on classic-scrollbar
     platforms 100vw includes the scrollbar, so clip the stray ~15px. */
  overflow-x: clip;
  background: #fafafa;
  color: #0a0a0a;
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
h1, h2, h3, h4 {
  font-family: "Inter Tight", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 700;
  letter-spacing: -.02em;
  margin: 0;
}
#siteHeader {
  border-bottom: 1px solid #e4e4e7;
  background: #fafafa;
}
/* padding-INLINE, never the `padding: 0 1rem` shorthand.
   This file is a plain stylesheet; Tailwind's utilities live in @layer utilities,
   and an unlayered rule beats a layered one. So the shorthand's implicit
   `padding-block: 0` silently overrode EVERY py-* utility on a .container-fluid —
   the hero's `py-10 lg:py-14` computed to 0px and the band had no vertical
   breathing room at all. Nothing errors; the padding just never arrives. */
.container-fluid { max-width: 1180px; margin: 0 auto; padding-inline: 1rem; }
