/* ============================================================
   PULP FUNCTION — shared design tokens
   Swiss / modernist · editorial · cold grey + ink + orange-red
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:ital,wght@0,400..900;1,400..900&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap');

:root {
  /* palette */
  --paper:    #E8EAEB;   /* cold light grey — primary bg */
  --paper-2:  #DEE1E2;   /* slightly cooler panel grey   */
  --paper-3:  #D3D7D8;   /* deepest grey panel           */
  --ink:      #111315;   /* near-black                   */
  --ink-2:    #2C2F31;
  --ink-soft: #6C7174;   /* muted captions               */
  --accent:   #FF3A17;   /* orange-red                   */
  --accent-d: #D63B20;
  --line:     rgba(17,19,21,0.16);
  --line-2:   rgba(17,19,21,0.30);

  /* type */
  --sans: 'Schibsted Grotesk', system-ui, -apple-system, sans-serif;
  --mono: 'Space Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* metrics */
  --gutter: clamp(16px, 4.4vw, 64px);
  --maxw: 1680px;
  --hair: 1px;
}

* { box-sizing: border-box; }

html { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-synthesis: none;
}

::selection { background: var(--accent); color: #fff; }

/* shared mono label */
.mono {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

a { color: inherit; text-decoration: none; }

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

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}
