/* ==========================================================================
   Kavan design tokens
   Palette is fixed by the brand brief — change values here only.
   Contrast (WCAG AA) checked for every text pairing listed in the comments.
   ========================================================================== */

/* Fonts (self-hosted, variable weight 100–900) ----------------------------- */
@font-face {
	font-family: "Vazirmatn";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	src: url("../fonts/vazirmatn-arabic-wght-normal.woff2") format("woff2-variations"), url("../fonts/vazirmatn-arabic-wght-normal.woff2") format("woff2");
	unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
	font-family: "Vazirmatn";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	src: url("../fonts/vazirmatn-latin-wght-normal.woff2") format("woff2-variations"), url("../fonts/vazirmatn-latin-wght-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: "Inter";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations"), url("../fonts/inter-latin-wght-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: "Inter";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	src: url("../fonts/inter-latin-ext-wght-normal.woff2") format("woff2-variations"), url("../fonts/inter-latin-ext-wght-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, 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";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	src: url("../fonts/inter-cyrillic-wght-normal.woff2") format("woff2-variations"), url("../fonts/inter-cyrillic-wght-normal.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

:root {
	/* Roles ---------------------------------------------------------------- */
	--color-primary: #305931;        /* Forest green: links, icons, own-brand badge, secondary buttons. White on it: 8.1:1 */
	--color-secondary: #122A45;      /* Navy: dark header/footer, headings, CTA band. White on it: 14.6:1 */
	--color-text: #1E2429;           /* Charcoal body text. On white: 15.7:1 */
	--color-text-muted: #2F4B6A;     /* Secondary text. On white: 9.0:1, on cream: 7.6:1 */
	--color-accent: #CA9D4E;         /* Gold: quote button, heading underline, key highlights (~10%). */
	--color-on-accent: #1D3826;      /* Text on gold. 5.1:1 (charcoal: 6.3:1) */

	/* Supporting ------------------------------------------------------------- */
	--color-primary-deep: #1D3826;   /* Deep green accents */
	--color-bronze: #AF8A5F;         /* Decorative only: lines, icons, dividers. Never text (3.2:1). */
	--color-navy-900: #192839;
	--color-navy-600: #1B416E;
	--color-bg: #FFFFFF;
	--color-bg-alt: #EFECE6;         /* Cream alternate sections */
	--color-border: #DCE5EF;
	--color-on-dark: #FFFFFF;

	/* Blue structure scale (light steps ≥ 300 never as text on light backgrounds) */
	--blue-950: #0B1119;
	--blue-900: #101923;
	--blue-800: #1F3247;
	--blue-700: #2F4B6A;
	--blue-600: #3E638E;
	--blue-500: #4E7CB1;
	--blue-400: #7196C1;
	--blue-300: #95B1D0;             /* On navy as muted text: 6.6:1 */
	--blue-200: #B8CBE0;             /* On navy as muted text: 8.8:1 */
	--blue-100: #DCE5EF;

	/* Derived, from the palette above */
	--color-primary-hover: #264A27;
	--color-accent-hover: #D6AE68;
	--color-primary-tint: #E7EEE6;   /* Very light green field */
	--color-gold-tint: #F3E8D2;      /* Very light gold field */
	--color-blue-tint: #DCE5EF;      /* = blue-100, light blue field */
	--color-overlay-glass: rgba(255, 255, 255, 0.82);
	--color-focus: #1B416E;
	--color-focus-on-dark: #CA9D4E;
	--color-success: #305931;
	--color-error: #8A4B1F;          /* Warm brown instead of red (no pure red in the UI). On white: 6.8:1 */

	/* Typography: five sizes do all the work ------------------------------- */
	--font-arabic-script: "Vazirmatn", Tahoma, "Segoe UI", sans-serif;
	--font-latin: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
	--font-body: var(--font-arabic-script);
	--font-heading: var(--font-body);

	--fs-display: clamp(2.5rem, 1.05rem + 5.6vw, 6.75rem);   /* 40 → 108: the one big line */
	--fs-heading: clamp(1.875rem, 1.25rem + 2.4vw, 3.5rem);  /* 30 → 56: section headings */
	--fs-statement: clamp(1.5rem, 1.2rem + 1.1vw, 2.25rem);  /* 24 → 36: statements, figures' captions, sub-heads */
	--fs-body: 1.0625rem;                                   /* 17: running text */
	--fs-small: 0.875rem;                                   /* 14: notes, labels */
	/* Aliases kept for templates written against the old scale. */
	--fs-xs: var(--fs-small);
	--fs-sm: var(--fs-small);
	--fs-base: var(--fs-body);
	--fs-lg: var(--fs-body);
	--fs-xl: var(--fs-statement);
	--fs-2xl: var(--fs-heading);
	--fs-3xl: var(--fs-display);
	--fs-stat: var(--fs-display);

	--lh-body: 1.85;                 /* Persian/Arabic need taller lines */
	--lh-heading: 1.3;
	--lh-display: 1.22;
	--tracking-display: 0;           /* Never track Arabic script: it breaks the joins */
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semibold: 600;
	--fw-bold: 750;
	--fw-display: 850;

	/* Space, shape --------------------------------------------------------- */
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.5rem;
	--space-6: 2rem;
	--space-7: 3rem;
	--space-8: 4rem;
	--space-section: clamp(4rem, 2.5rem + 4.5vw, 7.5rem);
	--gutter: 1.25rem;
	--container: 82rem;
	--container-narrow: 46rem;

	/* Shapes: rounded rectangles for every box and picture, capsules for buttons and chips.
	   The logo's arch survives only in the footer arcade. */
	--radius-pill: 999px;
	--radius-media: clamp(16px, 1.4vw, 24px);
	--radius-arch: var(--radius-media);
	--radius-panel: clamp(18px, 1.6vw, 28px);
	--radius-card: 16px;
	--radius-sm: 10px;               /* form fields only */
	--radius: var(--radius-panel);
	--radius-lg: var(--radius-panel);

	--shadow-float: 0 18px 40px -18px rgba(11, 17, 25, 0.35); /* only for what floats: menus */

	/* Motion tokens */
	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--ease-expo: cubic-bezier(0.16, 1, 0.3, 1);
	--ease-in-out: cubic-bezier(0.76, 0, 0.24, 1);
	--ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
	--t-press: 140ms;
	--t-hover: 180ms;
	--t-ui: 240ms;
	--t-reveal: 800ms;
	--t-open: 1200ms;
	--dur-fast: var(--t-hover);
	--dur: var(--t-ui);
	--dur-slow: var(--t-reveal);

	--header-h: 4.5rem;
}

/* Latin and Cyrillic languages (English, Russian…) use Inter; Persian and Arabic use Vazirmatn. */
:root:not(:lang(fa)):not(:lang(ar)) {
	--font-body: var(--font-latin);
	--lh-body: 1.6;
	--lh-heading: 1.08;
	--lh-display: 0.98;
	--tracking-display: -0.035em;
}

@media (min-width: 768px) {
	:root { --gutter: 2rem; }
}
@media (min-width: 1024px) {
	:root { --header-h: 5.25rem; }
}
