/*
 * Vireon Site Core — design tokens (CLAUDE.md 6.2, PDF 02 sections 4–6).
 * Variables only. Supplementary tokens forest-700 and sage-300 approved by owner on 5 Nov 2026.
 */

@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/cormorant-garamond-latin-ext-500-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/cormorant-garamond-latin-ext-600-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Inter Variable";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Inter Variable";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-latin-ext-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
	/* Colour — CLAUDE.md 6.2 */
	--vm-forest: #17332b;
	--vm-forest-dark: #10251f;
	--vm-forest-700: #285046;
	--vm-ivory: #f8f6f1;
	--vm-stone: #f1ece4;
	--vm-white: #ffffff;
	--vm-bronze-text: #7a512f;
	--vm-bronze-decorative: #b08a58;
	--vm-sage-300: #a8b6aa;
	--vm-charcoal: #202829;
	--vm-muted: #626a68;
	--vm-border: #d9d2c7;
	--vm-success-soft: #e5ece7;
	--vm-warning-soft: #f5ede1;
	--vm-on-dark: #f1ece4;
	--vm-on-dark-muted: #d9cfbf;

	/* Type */
	--vm-font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--vm-font-sans: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--vm-h1: clamp(2.25rem, 1.6rem + 2.8vw, 4rem);
	--vm-h2: clamp(1.875rem, 1.5rem + 1.6vw, 2.75rem);
	--vm-h3: clamp(1.5rem, 1.35rem + 0.7vw, 1.875rem);
	--vm-h4: clamp(1.3125rem, 1.28rem + 0.15vw, 1.375rem);
	--vm-body: clamp(1rem, 0.97rem + 0.12vw, 1.0625rem);
	--vm-body-lg: clamp(1.125rem, 1.1rem + 0.12vw, 1.1875rem);
	--vm-small: 0.875rem;

	/* Space — 8 px system */
	--vm-s1: 0.5rem;
	--vm-s2: 1rem;
	--vm-s3: 1.5rem;
	--vm-s4: 2rem;
	--vm-s5: 3rem;
	--vm-s6: 4rem;
	--vm-section: clamp(3.5rem, 2.5rem + 4vw, 7.5rem);
	--vm-gutter: clamp(1rem, 0.6rem + 1.6vw, 2rem);

	/* Width */
	--vm-max: 1200px;
	--vm-read: 760px;
	--vm-wide: 1040px;

	/* Shape */
	--vm-radius: 4px;
	--vm-rule: 1px solid var(--vm-border);
	--vm-shadow: 0 1px 2px rgba(23, 51, 43, 0.06);
	--vm-focus: 2px solid var(--vm-bronze-text);
	--vm-motion: 160ms ease;

	/* Astra global palette mapped to Vireon tokens (CSS-level only; Astra settings are not modified). */
	--ast-global-color-0: var(--vm-forest);
	--ast-global-color-1: var(--vm-forest-700);
	--ast-global-color-2: var(--vm-forest);
	--ast-global-color-3: var(--vm-charcoal);
	--ast-global-color-4: var(--vm-ivory);
	--ast-global-color-5: var(--vm-white);
	--ast-global-color-6: var(--vm-stone);
	--ast-global-color-7: var(--vm-border);
	--ast-global-color-8: var(--vm-charcoal);
}

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