/* ============================================================
   BRAND SETTINGS  (colors, fonts, spacing)
   ------------------------------------------------------------
   This is the ONE file to edit if you want to change the look.
   - Colors: change the values under "Brand colors". You can
     paste a normal hex code (for example #1F4D33) in place of
     any oklch(...) value and it will work.
   - Fonts: the two font names are loaded from Google Fonts in
     each HTML page (<link ... fonts.googleapis.com ...>).
   ============================================================ */

:root {
  /* ---------- Brand colors ---------- */
  --color-accent:       oklch(40% 0.12 155);   /* forest green: buttons, links, marks */
  --color-accent-deep:  oklch(30% 0.075 158);  /* deeper forest: footer + top band */
  --color-accent-soft:  oklch(93% 0.03 155);   /* pale green tint: small highlights */
  --color-accent-ink:   oklch(97.5% 0.006 140);/* text that sits on green */
  --color-focus:        oklch(50% 0.16 150);   /* keyboard focus ring */
  --color-error:        oklch(52% 0.18 28);    /* form field with a problem */
  --color-scrim:        oklch(22% 0.014 155 / 0.88); /* dark overlay behind enlarged photos */

  /* ---------- Surfaces (page backgrounds) ---------- */
  --color-paper:        oklch(97.5% 0.006 140);/* main page background (warm off-white) */
  --color-paper-2:      oklch(95% 0.009 130);  /* alternate section background */
  --color-paper-3:      oklch(91.5% 0.011 130);/* image placeholders, chips */

  /* ---------- Text ---------- */
  --color-ink:          oklch(22% 0.014 155);  /* headings + body text */
  --color-ink-2:        oklch(38% 0.016 155);  /* secondary text */
  --color-muted:        oklch(50% 0.014 155);  /* captions, helper text */

  /* ---------- Lines ---------- */
  --color-rule:         oklch(85% 0.012 140);
  --color-rule-2:       oklch(90% 0.010 140);

  /* ---------- Text + lines on dark green surfaces ---------- */
  --color-on-dark:        oklch(96% 0.008 140);
  --color-on-dark-muted:  oklch(80% 0.02 150);
  --color-rule-dark:      oklch(40% 0.05 158);

  /* ---------- Fonts ---------- */
  --font-display: "Bricolage Grotesque", "Segoe UI", ui-sans-serif, sans-serif; /* headings + logo text */
  --font-body:    "IBM Plex Sans", "Segoe UI", ui-sans-serif, sans-serif;       /* everything else */

  /* ---------- Type scale (1.25 ratio) ---------- */
  --text-xs:   0.8rem;
  --text-sm:   0.9rem;
  --text-base: 1rem;
  --text-md:   1.125rem;
  --text-lg:   1.4rem;
  --text-xl:   1.75rem;
  --text-2xl:  2.2rem;
  --text-3xl:  2.75rem;
  --text-display-s: clamp(2rem, 2.6vw + 1rem, 3.1rem);
  --text-display:   clamp(2.4rem, 3.6vw + 1rem, 4.25rem);

  /* ---------- Spacing (4pt scale) ---------- */
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2rem;
  --space-2xl: 3rem;
  --space-3xl: 4.5rem;
  --space-4xl: 6.5rem;

  /* ---------- Motion ---------- */
  --dur-short: 120ms;
  --dur-med:   220ms;
  --dur-long:  420ms;
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);

  /* ---------- Shapes + layout ---------- */
  --radius-sm: 4px;
  --radius-md: 8px;
  --rule: 1px solid var(--color-rule);
  --container: 74rem;
  --gutter: clamp(1rem, 4vw, 2.5rem);

  /* ---------- Layering ---------- */
  --z-nav: 100;
  --z-sticky: 90;
  --z-modal: 200;
}
