/* ===========================
   Fix91 — Design Tokens
   Source: FIX91-DESIGN-SYSTEM.md
   =========================== */

:root {
    /* ── Colour Palette ── */
    --fix91-white:  #FFFFFF;
    --fix91-light:  #F5F5F5;
    --fix91-black:  #111111;
    --fix91-orange: #FF6B00;
    --fix91-muted:  #666666;
    --fix91-border: #E7E7E7;

    /* ── Typography ── */
    --font-primary: 'Sora', Inter, ui-sans-serif, system-ui, sans-serif;
    --font-tagline: 'Nunito', system-ui, sans-serif;

    /* Fluid font sizes (design system §4) */
    --fs-display:  clamp(2.5rem, 4.5vw, 4.5rem);
    --fs-h1:       clamp(2.25rem, 3.5vw, 3rem);
    --fs-h2:       clamp(1.75rem, 2.8vw, 2.25rem);
    --fs-h3:       1.5rem;
    --fs-body-lg:  clamp(1.125rem, 1.5vw, 1.25rem);
    --fs-body:     1rem;
    --fs-label:    0.8125rem;
    --fs-small:    0.75rem;

    /* Font weights */
    --fw-regular:  400;
    --fw-medium:   500;
    --fw-semibold: 600;
    --fw-bold:     700;

    /* Letter spacing */
    --ls-display: -0.04em;
    --ls-tight:   -0.02em;
    --ls-normal:   0;
    --ls-label:    0.06em;
    --ls-wide:     0.12em;

    /* Line height */
    --lh-tight:    1.15;
    --lh-snug:     1.3;
    --lh-normal:   1.6;
    --lh-relaxed:  1.75;

    /* ── Spacing Scale (4px base) ── */
    --sp-1:   4px;
    --sp-2:   8px;
    --sp-3:  12px;
    --sp-4:  16px;
    --sp-5:  20px;
    --sp-6:  24px;
    --sp-7:  28px;
    --sp-8:  32px;
    --sp-10: 40px;
    --sp-12: 48px;
    --sp-16: 64px;
    --sp-20: 80px;
    --sp-26: 104px;

    /* ── Radius ── */
    --radius-sm:      8px;
    --radius-input:  12px;
    --radius-card:   24px;
    --radius-card-lg: 28px;
    --radius-pill:  999px;

    /* ── Shadows (two quiet levels + nav) ── */
    --shadow-card:     0 4px 16px rgba(17, 17, 17, 0.04),
                       0 1px 3px rgba(17, 17, 17, 0.03);
    --shadow-elevated: 0 12px 32px rgba(17, 17, 17, 0.06),
                       0 2px 8px rgba(17, 17, 17, 0.04);
    --shadow-nav:      0 2px 12px rgba(17, 17, 17, 0.06);

    /* ── Transitions ── */
    --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --duration-fast: 160ms;
    --duration-base: 280ms;
    --duration-slow: 400ms;

    /* ── Layout ── */
    --container-max:     1200px;
    --container-padding: clamp(16px, 4vw, 24px);
    --section-gap:       clamp(64px, 10vw, 104px);
}
