/* Kintavo colors. The 10 values below are the entire brand palette (Brand Kit · 01).
   Rule from the kit: "Use Navy for dark/section slides and headings, Green for accents
   and the primary CTA only. Keep text on Text / Muted; never invent new colors." */
:root{
  /* --- Base palette (exact kit values) --- */
  --navy:#002F56;
  --navy-deep:#001A30;
  --green:#63B521;
  --green-bright:#7BDF2A;
  --green-50:#EEF8E4;
  --text:#1A1F2A;
  --muted:#8B8D91;
  --surface:#F7F7F9;
  --border:#DCDCE2;
  --white:#FFFFFF;
  --logo-ink:#1B1B1B;   /* wordmark ink in the supplied logo masters — logo only, never body text */

  /* --- Derived tints (mixes of the above only; no new hues) --- */
  --navy-90:color-mix(in srgb,var(--navy) 90%,#000);
  --navy-08:color-mix(in srgb,var(--navy) 8%,var(--white));
    --green-12:color-mix(in srgb,var(--green) 12%,var(--white));
  --border-strong:color-mix(in srgb,var(--border) 70%,var(--muted));
  --scrim-navy:color-mix(in srgb,var(--navy-deep) 72%,transparent);

  /* --- Semantic aliases --- */
  --text-heading:var(--navy);
  --text-body:var(--text);
  /* --muted (#8B8D91) is only 3.32:1 on white and 3.11:1 on --surface, so it fails
     WCAG AA for any text under 24px. Darkened here with a mix of two kit values
     (--muted + --text) — no new hue — giving ~6.5:1 on white, ~6.1:1 on --surface.
     For muted text on navy use --text-on-dark-muted, which is unchanged. */
  --text-muted:color-mix(in srgb,var(--muted) 55%,var(--text));
  --text-on-dark:var(--white);
  --text-on-dark-muted:color-mix(in srgb,var(--white) 62%,var(--navy-deep));
  --text-accent:var(--navy);
  --text-accent-on-dark:var(--green-bright);
  --text-link:var(--navy);
  --text-link-hover:var(--navy-90);

  --surface-page:var(--white);
  --surface-card:var(--white);
  --surface-sunken:var(--surface);
  --surface-highlight:var(--green-50);
  --surface-dark:var(--navy);
  --surface-dark-deep:var(--navy-deep);

  --border-hairline:var(--border);
  --border-card:var(--border);
  --border-on-dark:color-mix(in srgb,var(--white) 18%,transparent);

  --accent:var(--green);
  --accent-hover:var(--navy);
  --accent-on-dark:var(--green-bright);
  --rule-accent:var(--green);

  /* Status — reuse brand values; the kit defines no separate semantic hues. */
  --status-ok:var(--green);
  --status-ok-surface:var(--green-50);
  --status-info:var(--navy);
  --status-info-surface:var(--navy-08);
  --status-neutral:var(--muted);
  --status-alert:#B4452B;
  --status-alert-surface:color-mix(in srgb,#B4452B 10%,var(--white));
  --status-warn:#A66A1B;
  --status-warn-surface:color-mix(in srgb,#A66A1B 12%,var(--white));
  --status-neutral-surface:var(--surface);

  --focus-ring:var(--green);
}
