/* Hallmark · tokens · theme: brand, from shinesolutionsutah.com
 * lime #d7df23 · near-black #242424 · off-white #f2ede6 · blue #0045ab · Poppins (display) + Lato (body)
 * axes: paper light (>85%) · display geometric-sans · accent chromatic-other (lime, h112)
 */
:root {
  /* ── ink & paper (neutrals tinted a hair toward the lime anchor) ── */
  --color-ink:        oklch(24%   0.004 110);   /* brand near-black #242424 */
  --color-ink-2:      oklch(29.5% 0.005 110);   /* raised surface on dark */
  --color-ink-3:      oklch(36%   0.006 110);   /* hairlines on dark */
  --color-text:       oklch(27%   0.004 110);
  --color-muted:      oklch(47%   0.006 90);    /* brand text grey #606060 */
  --color-paper:      oklch(99%   0.004 85);    /* page */
  --color-paper-2:    oklch(96.8% 0.008 80);    /* soft band */
  --color-paper-3:    oklch(94.8% 0.011 77);    /* brand off-white #f2ede6 */
  --color-card:       oklch(99.6% 0.002 85);
  --color-rule:       oklch(90%   0.008 80);
  --color-rule-2:     oklch(79%   0.007 80);
  --color-field:      oklch(61%   0.006 90);    /* input borders · ≥3:1 on paper (WCAG 1.4.11) */

  /* ── brand accents ── */
  --color-lime:       oklch(86.9% 0.186 112);   /* #d7df23 */
  --color-lime-2:     oklch(83.5% 0.185 112);   /* hover */
  --color-lime-3:     oklch(78%   0.175 112);   /* pressed */
  --color-lime-wash:  oklch(96.8% 0.055 112);
  --color-on-lime:    oklch(24%   0.004 110);
  --color-blue:       oklch(42.4% 0.175 260);   /* #0045ab · links + focus */
  --color-blue-2:     oklch(35%   0.160 260);
  --color-focus:      oklch(42.4% 0.175 260);
  --color-focus-dark: oklch(86.9% 0.186 112);   /* focus ring on dark surfaces */
  --color-star:       oklch(80.7% 0.149 85);    /* brand button-yellow #ecb737 */
  --color-glass:      oklch(95%   0.022 235);
  --color-glass-2:    oklch(89%   0.035 235);

  /* ── on dark ── */
  --color-on-ink:       oklch(97%   0.004 85);
  --color-on-ink-muted: oklch(79%   0.006 85);
  --color-overlay:      oklch(17%   0.004 110);

  /* ── status ── */
  --color-error:      oklch(52%   0.190 27);
  --color-error-wash: oklch(96%   0.025 27);
  --color-success:    oklch(45%   0.120 145);

  /* ── shadow colour ── */
  --color-shadow:     oklch(22%   0.010 90 / 0.07);
  --color-shadow-2:   oklch(22%   0.010 90 / 0.18);
  --color-shadow-3:   oklch(22%   0.010 90 / 0.30);

  /* ── type ── */
  --font-display: "Poppins", ui-sans-serif, system-ui, sans-serif;
  --font-body:    "Lato", ui-sans-serif, system-ui, sans-serif;

  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1.0625rem;
  --text-md:   1.1875rem;
  --text-lg:   1.375rem;
  --text-xl:   1.625rem;
  --text-h2:   clamp(1.875rem, 1.35rem + 2.1vw, 3rem);
  --text-display: clamp(2.5rem, 1.55rem + 3.6vw, 4.25rem);
  --text-display-2: clamp(2.25rem, 1.5rem + 3vw, 4rem);   /* closing band */
  --text-quote:   clamp(1.25rem, 1rem + 1.1vw, 1.7rem);   /* featured review */
  --leading-display: 1.02;
  --leading-heading: 1.1;
  --leading-body: 1.62;
  --tracking-display: -0.032em;
  --tracking-heading: -0.022em;
  --tracking-label: 0.09em;

  /* ── space · 4pt ── */
  --space-3xs: 0.125rem;
  --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: 7rem;
  --gutter: clamp(1rem, 0.4rem + 2.6vw, 2.5rem);
  --page-max: 84rem;
  --measure: 60ch;

  /* ── shape ── */
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-pill: 999px;
  --rule: 1px;

  /* ── elevation ── */
  --shadow-sm: 0 1px 2px var(--color-shadow);
  --shadow-md: 0 1px 2px var(--color-shadow), 0 8px 24px -10px var(--color-shadow-2);
  --shadow-lg: 0 2px 6px var(--color-shadow), 0 32px 64px -24px var(--color-shadow-3);

  /* ── layers ── */
  --z-bar: 20;
  --z-nav: 30;
  --z-skip: 40;

  /* ── motion ── */
  --ease-out:    cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in:     cubic-bezier(0.55, 0, 1, 0.45);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 140ms;
  --dur-base: 220ms;
  --dur-slow: 520ms;
}
