/* ==========================================================================
   chp-base.css — minimal base for the generated (non-React) routes
   Replaces the 98 KB Tailwind bundle those pages used to load: only the
   four brand faces, the reset and the tokens are needed, so the inner
   pages ship ~2 KB of base CSS instead of ~98 KB.
   ========================================================================== */

@font-face {
  font-family: familjen;
  src: url(/_next/static/media/FamiljenGroteskVariable_Regular-s.p.04jxz-d23sc_e.woff2) format("woff2");
  font-display: swap;
  font-weight: 100 900;
}
@font-face {
  font-family: neueHaas;
  src: url(/_next/static/media/NeueHaasDisplay_Roman-s.p.0ykdwddnvy5f_.woff2) format("woff2");
  font-display: swap;
}
@font-face {
  font-family: martianMono;
  src: url(/_next/static/media/MartianMono_Light-s.p.0htes.s6weu9-.woff2) format("woff2");
  font-display: swap;
}
@font-face {
  font-family: ppEditorial;
  src: url(/_next/static/media/PPEditorialNew_Ultralight-s.p.0qe_2frr_fmiu.woff2) format("woff2");
  font-display: swap;
}

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  background: #040508;
  color: #d8d8d8;
}

body {
  margin: 0;
  min-height: 100%;
  background: #040508;
  color: #d8d8d8;
  font-family: "neueHaas", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overscroll-behavior-y: none;
}

img, svg, video, canvas { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; }
h1, h2, h3, h4, h5, p, figure, blockquote, ul, ol { margin: 0; }
ul, ol { padding-left: 1.1em; }
button, input, select, textarea { font: inherit; color: inherit; }
::selection { background: #d8d8d8; color: #040508; }

/* long pages: let the browser skip offscreen section layout work */
main > section { content-visibility: auto; contain-intrinsic-size: auto 640px; }
main > section:first-of-type,
main > section:nth-of-type(2) { content-visibility: visible; }

:focus-visible { outline: 2px solid #d8d8d8; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
