/* Cortile — design tokens
 * Source of truth for colour, type and spacing. Everything else reads from here.
 *
 * ACCESSIBILITY DEVIATIONS FROM THE COMP — do not "restore" these to the
 * original hexes. Each replaces a pairing that failed WCAG AA at the size it is
 * actually rendered. The comp values survive untouched wherever the colour is
 * used as a FILL rather than as text.
 *
 *   comp            shipped as              measured   why
 *   #87837A text    --ct-muted-text #5F5C56  2.58 -> 4.55  on plaster
 *   #A8542F text    --ct-terracotta-text     3.61 -> 4.56  on plaster
 *   #C9A778 on light --ct-brass-text-light   1.97 -> 4.56  on plaster/paper
 *   #C9A778 on green --ct-brass-text #CCAC7F 4.30 -> 4.53  on courtyard
 *   #87837A on ink  --ct-on-ink-dim #9B9891  3.44 -> 4.51  on ink
 */

:root {
	/* --- Ink ------------------------------------------------------------ */
	--ct-ink: #33312C;          /* headings, primary buttons, dark footer */
	--ct-ink-soft: #55524A;     /* body copy on plaster, secondary text */
	--ct-ink-body: #44413A;     /* article body copy on paper */

	/* --- Grounds -------------------------------------------------------- */
	--ct-plaster: #D8D5CE;      /* site background (home, archives) */
	--ct-plaster-line: #C2BFB6; /* hairline borders on light */
	--ct-plaster-deep: #C7C4BC; /* facade windows */
	--ct-paper: #F1EFE9;        /* article / reading background */
	--ct-cream: #E9E7E0;        /* cards, panels, trust strip */
	--ct-mat: #CBC8C0;          /* empty-media ground */
	--ct-mat-line: #B3B0A7;     /* empty-media border */

	/* --- Structure ------------------------------------------------------ */
	--ct-stone: #6B6862;        /* arch frames, strong borders */

	/* --- Brand ---------------------------------------------------------- */
	--ct-courtyard: #2E4A3A;         /* brand green: bands, links, verified */
	--ct-courtyard-light: #3E5C48;   /* hover on green, gradient top */
	--ct-courtyard-deep: #27402F;    /* gradient bottom */
	--ct-leaf: #C4CDC0;              /* body text on green */
	--ct-on-green: #E9EDE5;          /* headings/strong text on green */
	--ct-on-green-line: rgba(233, 237, 229, .16);
	--ct-on-green-line-strong: rgba(233, 237, 229, .35);

	/* --- Accents (fills) ------------------------------------------------ */
	--ct-terracotta: #A8542F;   /* courtyard floor band, decorative fills */
	--ct-brass: #C9A778;        /* citofono dots, active pagination fill */
	--ct-brass-dark: #8A6F4D;   /* brass borders */
	--ct-muted: #87837A;        /* decorative hairlines, inactive dots */

	/* --- Accents (text) — see deviations note above --------------------- */
	--ct-muted-text: #5F5C56;
	--ct-terracotta-text: #904828;
	--ct-brass-text-light: #6C5940;
	--ct-brass-text: #CCAC7F;
	--ct-on-ink: #E9E7E0;
	--ct-on-ink-soft: #C9CCC4;
	--ct-on-ink-dim: #9B9891;

	/* --- Type ----------------------------------------------------------- */
	--ct-font-display: "Newsreader", "Iowan Old Style", Georgia, serif;
	--ct-font-ui: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--ct-font-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
	--ct-track-mono: .16em;

	/* --- Space ---------------------------------------------------------- */
	--ct-u: 4px;
	--ct-content: 1180px;   /* desktop content max-width */
	--ct-measure: 680px;    /* article measure */
	--ct-rail: 320px;       /* sidebar / meta panel */
	--ct-gutter: 30px;
	--ct-gutter-wide: 60px;

	/* --- Motion --------------------------------------------------------- */
	--ct-ease: 150ms ease;

	/* --- Textures -------------------------------------------------------
	 * Plaster courses: the faint horizontal render lines on hero/archive bands.
	 * Mat weave: the 45deg stripe on empty media wells. */
	--ct-courses: repeating-linear-gradient(180deg, rgba(51, 49, 44, .045) 0 2px, transparent 2px 34px);
	--ct-courses-soft: repeating-linear-gradient(180deg, rgba(51, 49, 44, .04) 0 2px, transparent 2px 34px);
	--ct-weave: repeating-linear-gradient(45deg, rgba(51, 49, 44, .06) 0 12px, transparent 12px 24px);
}
