/* Jeff Unbreakable Black — design tokens */
@import url('https://fonts.googleapis.com/css2?family=Staatliches&family=IBM+Plex+Sans+Condensed:wght@300;400;500;600;700&display=swap');

:root {
  /* Color */
  --brand-red: #b20000;
  --brand-red-hover: #d51a1d;
  --dark-bg: #141414;
  --dark-bg-pure: #0a0a0a;
  --light-bg: #ffffff;
  --light-bg-soft: #fafafa;
  --text-dark: #1a1a1a;
  --text-light: #f4f4f4;
  --text-muted-dark: #4a4a4a;
  --text-muted-light: #c8c8c8;

  /* Typography */
  --font-display: 'Staatliches', sans-serif;
  --font-body: 'IBM Plex Sans Condensed', sans-serif;

  /* Type scale (mobile-first; scaled up at >=850px in components.css) */
  --fs-hero: clamp(2.5rem, 6vw, 4.5rem);
  --fs-section: clamp(1.6rem, 3.5vw, 2.5rem);
  --fs-body: 1.05rem;
  --fs-small: 0.85rem;
  --fs-eyebrow: 0.75rem;

  /* Spacing */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 4rem;
  --space-xl: 6rem;

  /* Layout */
  --container-max: 72rem;
  --container-narrow: 48rem;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { font-family: var(--font-body); font-size: var(--fs-body); line-height: 1.55; color: var(--text-dark); background: var(--light-bg); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); font-weight: normal; line-height: 0.95; letter-spacing: 0.005em; }
a { color: var(--brand-red); text-decoration: none; transition: color .15s; }
a:hover { color: var(--brand-red-hover); }
img { max-width: 100%; height: auto; display: block; }
