/* Hallmark · macrostructure: Photographic · genre: editorial · theme: butcher-paper (brand-preserved)
 * paper-band: light (oklch 96%) · display-style: roman-serif (Cormorant) · accent-hue: warm oxblood (~22°)
 * nav: N6 newspaper masthead · footer: Ft2 inline single line · hero: H6 photographic fold
 * section-heads: S2 hanging (no eyebrows) · products: F6 shop-floor grid (ratio=4/3, density=3-up, micro-action=none)
 * enrichment: real photography (Unsplash, self-hosted) · motion: one hero entrance, no scroll reveals
 * pre-emit critique: P5 H5 E5 S5 R5 V5
 * contrast: pass (46–50) · slop: pass (51–55) · honest: pass (56) · chrome: pass (57)
 * tokens: pass (58) · responsive: pass (59) · icons: pass (60) · mobile: pass (36, 59, 61–69)
 * ==========================================================================
 * Kjøtt Huset — design tokens. Every colour, font, space and motion value
 * on the site references these names. Do not inline raw values elsewhere;
 * extend this block instead.
 * ========================================================================== */

:root {
  /* ---- Colour (OKLCH only; warm paper anchor ~55–88°) ---- */
  --color-paper:    oklch(96.2% 0.013 88);   /* butcher-paper cream — base surface */
  --color-paper-2:  oklch(92.8% 0.016 82);   /* deeper cream — wells, image backings */
  --color-ink:      oklch(21.0% 0.012 55);   /* warm near-black — primary text */
  --color-ink-2:    oklch(33.0% 0.010 58);   /* secondary text */
  --color-muted:    oklch(46.0% 0.010 62);   /* tertiary text */
  --color-rule:     oklch(84.5% 0.010 78);   /* hairlines */
  --color-accent:   oklch(37.0% 0.105 22);   /* oxblood — links, primary CTA, markers */
  --color-accent-2: oklch(45.0% 0.115 24);   /* burgundy — hover */
  --color-accent-ink: oklch(96.0% 0.008 90); /* text on accent fill (~6.6:1 vs accent) */
  --color-focus:    oklch(48.0% 0.130 24);   /* focus ring (>= 3:1 on paper) */
  --color-band:     oklch(20.5% 0.013 52);   /* dark band surface (tilbud) */
  --color-band-ink: oklch(94.0% 0.008 80);   /* text on dark band */
  --color-band-mut: oklch(72.0% 0.008 70);   /* muted text on dark band */
  --color-onphoto:  oklch(96.0% 0.008 90);   /* text over photography */

  /* ---- Typography (2 faces: display + body; no outlier) ---- */
  --font-display: 'Cormorant', Georgia, serif;
  --font-body:    'Figtree', system-ui, sans-serif;

  /* Major-third scale (1.25) from 16px */
  --text-xs:   0.64rem;
  --text-sm:   0.8rem;
  --text-base: 1rem;
  --text-md:   1.25rem;
  --text-lg:   1.5625rem;
  --text-xl:   1.9531rem;
  --text-2xl:  2.4414rem;
  --text-display-s: clamp(2.2rem, 4vw + 0.5rem, 3.6rem);
  --text-display:   clamp(2.75rem, 5vw + 1rem, 5.25rem);

  /* ---- Spacing (4pt scale) ---- */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs:  0.75rem;
  --space-sm:  1rem;
  --space-md:  1.5rem;
  --space-lg:  2rem;
  --space-xl:  3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 7rem;
  --page-gutter: clamp(1.25rem, 4vw, 3rem);

  /* ---- Rules & radius ---- */
  --rule-hair: 1px;
  --radius: 2px;

  /* ---- Motion (transform + opacity only) ---- */
  --ease-out:     cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:  cubic-bezier(0.65, 0, 0.35, 1);
  --dur-short: 220ms;
  --dur-long:  600ms;

  /* ---- Z scale (named, six levels max) ---- */
  --z-base: 0;
  --z-raised: 10;
  --z-sticky: 50;
  --z-overlay: 100;
  --z-menu: 200;
  --z-cookie: 300;
}

/* ==========================================================================
   LAPTOP (>= 1024px): render the page at 80% zoom, then lift the reading
   sizes back up so body copy keeps its pre-zoom size. Display type, spacing
   and imagery shrink with the zoom; prose effectively does not.
   ========================================================================== */
@media (min-width: 64rem) {
  body { zoom: 0.8; }

  :root {
    --text-base: 1.25rem;  /* -> 16px effective after zoom (was 16px) */
    --text-md:   1.5rem;   /* -> ~19px effective (was 20px) */
    --text-sm:   1rem;     /* -> 12.8px effective (unchanged) */
  }
}
