/* tokens.css — design system variables.
   Source of truth: ../../design.md §2, §3.2, §4.1, §4.2, §9.3.
*/

:root {
  /* Colors */
  --color-paper:        #F4F2EC;
  --color-paper-soft:   #ECEAE3;
  --color-white:        #FFFFFF;
  --color-ink:          #0F0F0F;
  --color-ink-soft:     #3A3A3A;
  --color-ink-mute:     #595959; /* WCAG AA: ~5.7:1 on Paper; was #6B6B6B (~4.6:1, borderline) */
  --color-coral:        #F26442;
  --color-coral-deep:   #D44E2E;
  --color-coral-soft:   #FCE4DA;
  --color-success:      #2E7D5B;
  --color-warning:      #D4925B;
  --color-error:        #B85450;
  --color-border-soft:  #D8D6CE;
  --color-border-ink:   #0F0F0F;

  /* Hard offset shadows (Bankon signature) */
  --shadow-hard-sm:   3px 3px 0 0 var(--color-ink);
  --shadow-hard-md:   5px 5px 0 0 var(--color-ink);
  --shadow-hard-lg:   7px 7px 0 0 var(--color-ink);
  --shadow-soft-sm:   0 1px 2px rgba(15, 15, 15, 0.06);

  /* Type scale */
  --font-display: 'Space Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, 'Cascadia Mono', Consolas, monospace;

  --font-size-xs:   0.75rem;
  --font-size-sm:   0.875rem;
  --font-size-base: 1rem;
  --font-size-lg:   1.125rem;
  --font-size-xl:   1.5rem;
  --font-size-2xl:  2.25rem;
  --font-size-3xl:  3rem;
  --font-size-4xl:  4.5rem;
  --font-size-5xl:  5.5rem;

  /* Hero display sizes — fluid clamp() so titles auto-fit between 360px and
     1440px+ viewports without 3-step breakpoint cascades. (Pick3-Lessons §1c.) */
  --hero-display-size: clamp(2.5rem, 6.5vw + 0.5rem, 6rem);       /* 40px → 96px */
  --hero-sub-size:     clamp(1.25rem, 1.4vw + 0.75rem, 1.625rem); /* 20px → 26px */

  --line-height-tight:  1.05;
  --line-height-snug:   1.2;
  --line-height-normal: 1.5;
  --line-height-loose:  1.65;

  /* Layout */
  --max-width-content: 68ch;
  --max-width-wide:    1120px;
  --max-width-full:    1320px;

  /* Spacing scale */
  --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;
  --space-32: 8rem;

  /* Motion tokens */
  --motion-duration-instant: 80ms;
  --motion-duration-fast:    120ms;
  --motion-duration-base:    200ms;
  --motion-duration-slow:    320ms;
  --motion-duration-reveal:  500ms;
  --motion-duration-flip:    280ms;

  --motion-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --motion-ease-entrance: cubic-bezier(0.0, 0, 0.2, 1);
  --motion-ease-exit:     cubic-bezier(0.4, 0, 1, 1);
  --motion-ease-flip:     cubic-bezier(0.6, 0, 0.3, 1);

  /* Header height */
  --site-header-h:        64px;
  --site-header-h-desktop: 80px;
}

@media (min-width: 1024px) {
  :root {
    --site-header-h: 80px;
  }
}
