/* ==========================================================================
   Design Tokens
   --------------------------------------------------------------------------
   The single source of truth for colors, type, spacing, and motion.
   To re-skin for another client, override these values in a separate
   stylesheet loaded after this one — no component code needs to change.
   ========================================================================== */

:root {
    /* ----- Color palette -----
       Aesthetic: warm tortilla cream paper, deep espresso ink, salsa
       red-orange accent, avocado green. Not corporate. Hand-made energy. */

    --color-paper:      #FAF0DA;   /* warm cream, page background */
    --color-paper-2:    #F0EADC;   /* slightly darker, layered surfaces */
    --color-ink:        #261812;   /* deep brown, primary text */
    --color-ink-soft:   #4A3328;
    --color-muted:      #826E5C;   /* secondary text */
    --color-white:      #FFFFFF;

    --color-orange:      #cc6600;   /* primary accent, CTAs */
    --color-sea:         #3399ff;   /* hover state */
    --color-grass:       #5A823C;   /* secondary accent, success states */
    --color-honey:       #F4C866;   /* tertiary accent, badges */

    --color-green-bg:       #ebfaeb;
    --color-green-dark:     #1d4f1e;
    --color-green-light:    #448b27;
    --color-green-lighter:  #eefaeb;

    --color-gold-bg:        #ffffe6;
    --color-gold-light:     #ffd24d;
    --color-gold-dark:      #e6ac00;
    --color-gold-darker:    #b38600;

    --color-brown-bg:       #d7ccc8;
    --color-brown-light:    #7A4F2A;
    --color-brown-dark:     #5A3A1E;

    --color-success:    #5A823C;
    --color-warn:       #C77D11;
    --color-danger:     #B43A18;
    --color-border:     rgba(38, 24, 18, 0.15);
    --color-border-strong: rgba(38, 24, 18, 0.3);

    /* ----- Typography ----- */
    --font-display: 'DM Serif Display', 'Recoleta', Georgia, serif;
    --font-body:    'DM Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    --font-mono:    'JetBrains Mono', ui-monospace, monospace;

    --fs-xs:   0.75rem;
    --fs-sm:   0.875rem;
    --fs-base: 1rem;
    --fs-lg:   1.125rem;
    --fs-xl:   1.25rem;
    --fs-2xl:  1.5rem;
    --fs-3xl:  2rem;
    --fs-4xl:  3rem;
    --fs-5xl:  clamp(3rem, 8vw, 6rem);
    --fs-6xl:  clamp(3rem, 10vw, 8rem);
    --fs-display: clamp(4rem, 14vw, 10rem);

    --lh-tight:  1.1;
    --lh-snug:   1.3;
    --lh-normal: 1.5;
    --lh-loose:  1.7;

    /* ----- Spacing scale (4px base) ----- */
    --space-1:  0.25rem;
    --space-2:  0.5rem;
    --space-3:  0.75rem;
    --space-4:  1rem;
    --space-5:  1.25rem;
    --space-6:  1.5rem;
    --space-8:  2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;
    --space-32: 8rem;

    /* ----- Layout ----- */
    --container-max: 1280px;
    --container-narrow: 720px;
    --content-max: 65ch;

    /* ----- Sticky header offsets -----
       The site-nav is rendered at exactly --site-nav-height (see nav.css)
       so sticky elements below it sit flush with no gap. When the event
       banner is present, body[data-event-active] overrides --sticky-offset
       to include the banner height as well. */
    --site-nav-height: 72px;
    --event-banner-height: 36px;
    --sticky-offset: var(--site-nav-height);

    /* ----- Borders & radii ----- */
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-xl: 32px;
    --radius-full: 9999px;

    --border-thin: 1px solid var(--color-border);
    --border-bold: 2px solid var(--color-ink);

    /* ----- Shadows ----- */
    --shadow-sm: 0 1px 2px rgba(38, 24, 18, 0.08);
    --shadow-md: 0 4px 12px rgba(38, 24, 18, 0.1);
    --shadow-lg: 0 12px 32px rgba(38, 24, 18, 0.15);

    /* ----- Motion ----- */
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --duration-fast: 150ms;
    --duration-base: 250ms;
    --duration-slow: 500ms;

    /* ----- Z-index layers ----- */
    --z-nav:    100;
    --z-modal:  200;
    --z-toast:  300;
}
