/**
 * Design tokens — Avyora Life Foundation.
 *
 * Single source of truth for colours, typography, spacing, radii, shadows,
 * containers, motion, and focus styling. Change values here first.
 *
 * Breakpoints (documented for media queries — custom properties cannot be used
 * inside media queries): 480px · 640px · 768px · 1024px · 1280px · 1536px.
 */

:root {
	/* ---------------------------------------------------------- palette -- */
	--alf-green-950: #0e2e21;
	--alf-green-900: #123b2a;
	--alf-green-800: #17503a; /* primary */
	--alf-green-700: #1e6247;
	--alf-green-600: #2a7a5a;
	--alf-green-100: #e3efe8;
	--alf-green-50: #f1f7f3;

	--alf-navy-900: #16233d;
	--alf-navy-800: #1b2a4a; /* secondary authority */
	--alf-navy-100: #e7edf7;

	--alf-gold-700: #9a6614;
	--alf-gold-600: #b8791e;
	--alf-gold-500: #c9862b; /* restrained warm-gold accent */
	--alf-gold-100: #f6ebd8;
	--alf-gold-50: #fbf5e9;

	--alf-sand-100: #f3eee6;
	--alf-sand-200: #e9e1d4;
	--alf-warmwhite: #faf7f2; /* warm off-white page background */
	--alf-white: #ffffff;

	--alf-ink-900: #1c2a22; /* main text: green-tinted near-black */
	--alf-ink-700: #3d4a42;
	--alf-ink-500: #5b6861; /* muted text */
	--alf-line: #e2dacb;
	--alf-line-strong: #cfc5b2;

	--alf-success-700: #1f6b46;
	--alf-success-100: #dff0e6;
	--alf-warning-700: #9a5b00;
	--alf-warning-100: #fbeed2;
	--alf-danger-700: #a3271f;
	--alf-danger-100: #f8e0dd;
	--alf-info-700: #1d4c8f;
	--alf-info-100: #e1eaf8;

	/* ------------------------------------------------- semantic colours -- */
	--alf-color-bg: var(--alf-warmwhite);
	--alf-color-surface: var(--alf-white);
	--alf-color-surface-alt: var(--alf-sand-100);
	--alf-color-text: var(--alf-ink-900);
	--alf-color-text-muted: var(--alf-ink-500);
	--alf-color-heading: var(--alf-green-950);
	--alf-color-link: var(--alf-green-800);
	--alf-color-link-hover: var(--alf-green-950);
	--alf-color-primary: var(--alf-green-800);
	--alf-color-primary-hover: var(--alf-green-900);
	--alf-color-accent: var(--alf-gold-500);
	--alf-color-accent-hover: var(--alf-gold-600);
	--alf-color-border: var(--alf-line);
	--alf-color-border-strong: var(--alf-line-strong);

	/* --------------------------------------------------- focus styling -- */
	--alf-focus-color: #b26a00; /* >=3:1 against warm surfaces */
	--alf-focus-width: 3px;
	--alf-focus-offset: 2px;

	/* ------------------------------------------------------ typography -- */
	--alf-font-sans:
		"Poppins", "Noto Sans Devanagari", "Nirmala UI", system-ui,
		-apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial,
		"Noto Sans", sans-serif;
	--alf-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

	--alf-weight-regular: 400;
	--alf-weight-medium: 500;
	--alf-weight-semibold: 600;
	--alf-weight-bold: 700;

	--alf-text-xs: 0.78rem;
	--alf-text-sm: 0.875rem;
	--alf-text-base: 1rem;
	--alf-text-md: 1.0625rem;
	--alf-text-lg: 1.125rem;
	--alf-text-xl: 1.25rem;
	--alf-text-2xl: 1.5rem;
	--alf-text-3xl: 1.875rem;
	--alf-text-4xl: 2.25rem;
	--alf-text-5xl: 2.75rem;

	/* Hindi (Devanagari) needs generous vertical room: matras above and
	   below the baseline; keep body line-height >= 1.7. */
	--alf-leading-heading: 1.35;
	--alf-leading-snug: 1.5;
	--alf-leading-body: 1.7;
	--alf-measure: 68ch;

	/* ---------------------------------------------------------- spacing -- */
	--alf-space-1: 0.25rem;
	--alf-space-2: 0.5rem;
	--alf-space-3: 0.75rem;
	--alf-space-4: 1rem;
	--alf-space-5: 1.25rem;
	--alf-space-6: 1.5rem;
	--alf-space-8: 2rem;
	--alf-space-10: 2.5rem;
	--alf-space-12: 3rem;
	--alf-space-16: 4rem;
	--alf-space-20: 5rem;
	--alf-space-24: 6rem;

	/* ------------------------------------------------------------ shape -- */
	--alf-radius-sm: 6px;
	--alf-radius-md: 10px;
	--alf-radius-lg: 16px;
	--alf-radius-pill: 999px;

	--alf-shadow-sm: 0 1px 2px rgba(18, 34, 27, 0.06), 0 1px 3px rgba(18, 34, 27, 0.08);
	--alf-shadow-md: 0 2px 6px rgba(18, 34, 27, 0.07), 0 6px 18px rgba(18, 34, 27, 0.07);
	--alf-shadow-lg: 0 10px 30px rgba(18, 34, 27, 0.1);

	/* ------------------------------------------------------ containers -- */
	--alf-container-narrow: 46rem;
	--alf-container: 72rem;
	--alf-container-wide: 84rem;
	--alf-gutter: clamp(1rem, 4vw, 2rem);

	/* ----------------------------------------------------------- motion -- */
	--alf-duration-fast: 120ms;
	--alf-duration: 200ms;
	--alf-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
}
