/* ==========================================================================
   Veridian design tokens — single source of truth for the brand.
   Sampled from the client's print artwork (business card + flyers).
   See docs/BRANDING.md for usage rules.
   ========================================================================== */

:root {
	/* --- Colour: greens (primary) --- */
	--v-green-900: #0C2B21;   /* darkest — footer, deep sections */
	--v-green-800: #15392F;   /* PRIMARY brand green (card/flyer background) */
	--v-green-700: #1D4A3C;   /* hover/active on green */
	--v-green-100: #E4EBE7;   /* pale green tint for section backgrounds */

	/* --- Colour: olive / gold (accent) --- */
	--v-olive-600: #6F6E42;   /* darker olive — text-on-cream accent, borders */
	--v-olive-500: #8C8B57;   /* PRIMARY olive (logo leaf, blocks) */
	--v-olive-300: #A9A86B;   /* light olive — flyer headline tone, hovers */

	/* --- Colour: neutrals --- */
	--v-cream:     #DBDCCE;   /* brand cream (card background tone) */
	--v-cream-050: #F1F2EA;   /* lighter cream for large section backgrounds */
	--v-white:     #FFFFFF;
	--v-ink:       #1E2724;   /* body text on light */
	--v-ink-soft:  #4C5A54;   /* secondary text on light */

	/* --- Semantic aliases (use these in components) --- */
	--color-primary:        var(--v-green-800);
	--color-primary-hover:  var(--v-green-700);
	--color-accent:         var(--v-olive-500);
	--color-accent-hover:   var(--v-olive-600);
	--color-surface:        var(--v-white);
	--color-surface-alt:    var(--v-cream-050);
	--color-text:           var(--v-ink);
	--color-text-soft:      var(--v-ink-soft);
	--color-text-invert:    var(--v-white);

	/* --- Typography --- */
	/* Display serif echoes the logotype; UI sans for everything else. */
	--font-display: "Cormorant Garamond", "Didot", "Bodoni MT", "Times New Roman", serif;
	--font-body:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;

	--text-xs:   0.8125rem;
	--text-sm:   0.9375rem;
	--text-base: 1.0625rem;
	--text-lg:   1.25rem;
	--text-xl:   1.5625rem;
	--text-2xl:  2rem;
	--text-3xl:  2.625rem;
	--text-4xl:  3.5rem;

	--leading-tight: 1.15;
	--leading-body:  1.65;

	--tracking-caps: 0.14em;  /* letterspaced small caps, tagline style */

	/* --- Spacing / layout --- */
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-6: 1.5rem;
	--space-8: 2rem;
	--space-12: 3rem;
	--space-16: 4rem;
	--space-24: 6rem;

	--container-max: 72rem;   /* 1152px */
	--container-pad: clamp(1rem, 4vw, 2rem);

	--radius-sm: 6px;
	--radius-md: 12px;
	--radius-pill: 999px;

	--shadow-card: 0 8px 28px rgba(12, 43, 33, 0.10);
	--shadow-card-hover: 0 12px 34px rgba(12, 43, 33, 0.16);
}
