/* ═══════════════════════════════════════════════════════════════
   DESIGN TOKENS
   NYT-inspired design system for Nordic Observer
   ═══════════════════════════════════════════════════════════════ */

:root {
	/* ── Brand ── */
	--no-brand: #1B4965;
	--no-brand-light: #5FA8D3;
	--no-brand-dark: #0D2B3E;

	/* ── Ink ── */
	--no-ink: #121212;
	--no-ink-secondary: #363636;
	--no-ink-tertiary: #5A5A5A;
	--no-ink-muted: #999999;

	/* ── Surface ── */
	--no-white: #FFFFFF;
	--no-canvas: #F7F7F5;
	--no-wash: #EFEFED;
	--no-rule: #DFDFDF;
	--no-rule-bold: #121212;
	--no-border: #C8C8C8;

	/* ── Functional ── */
	--no-link: #326891;
	--no-link-hover: #1B4965;
	--no-breaking: #D0021B;
	--no-opinion: #B8860B;
	--no-success: #2D7D46;
	--no-accent: var(--no-brand);

	/* ── Section Colors ── */
	--no-section-news: var(--no-ink);
	--no-section-opinion: #B8860B;
	--no-section-culture: #6B3A5B;
	--no-section-sport: #2D7D46;
	--no-section-business: #1B4965;

	/* ── Spacing (8px grid) ── */
	--s1: 0.25rem;   /*  4 */
	--s2: 0.5rem;    /*  8 */
	--s3: 0.75rem;   /* 12 */
	--s4: 1rem;      /* 16 */
	--s5: 1.5rem;    /* 24 */
	--s6: 2rem;      /* 32 */
	--s7: 3rem;      /* 48 */
	--s8: 4rem;      /* 64 */
	--s9: 5rem;      /* 80 */

	/* ── Grid ── */
	--no-grid-max: 1200px;
	--no-grid-wide: 1440px;
	--no-grid-narrow: 720px;
	--no-gutter: var(--s4);
	--no-sidebar: 300px;

	/* ── Fonts ── */
	--serif: "Source Serif 4", Georgia, "Times New Roman", serif;
	--sans: "Inter", system-ui, -apple-system, sans-serif;
	--display: "Inter", system-ui, -apple-system, sans-serif;

	/* ── Motion ── */
	--ease: cubic-bezier(0.4, 0, 0.2, 1);
	--fast: 150ms;
	--med: 300ms;

	/* ── Flags (circle-flags CDN) ── */
	--flag-cdn: "https://hatscripts.github.io/circle-flags/flags";

	/* ── Measure ── */
	--measure: 65ch;

	/* ── Z-index ── */
	--z-header: 100;
	--z-breaking: 200;
	--z-overlay: 300;
}

@media (prefers-reduced-motion: reduce) {
	:root { --fast: 0ms; --med: 0ms; }
}
