/* ── Design Tokens ──────────────────────────────────── */
:root {
    /* Palette */
    --clr-bg:         #1a1a1a;
    --clr-bg-alt:     #242424;
    --clr-surface:    #f5f0eb;
    --clr-surface-alt:#ebe4dc;
    --clr-text:       #f0ece8;
    --clr-text-muted: #a09a93;
    --clr-text-dark:  #2c2c2c;
    --clr-accent:     #c8a87c;
    --clr-accent-hover:#d4b88e;
    --clr-overlay:    rgba(20, 20, 20, .55);
    --clr-error:      #d94f4f;
    --clr-success:    #5ca06e;

    /* Typography */
    --ff-serif:  'Cormorant Garamond', 'Georgia', serif;
    --ff-sans:   'Outfit', 'Helvetica Neue', sans-serif;

    --fs-xs:   clamp(.75rem,  .7rem  + .25vw, .875rem);
    --fs-sm:   clamp(.875rem, .83rem + .22vw, 1rem);
    --fs-base: clamp(1rem,    .95rem + .25vw, 1.125rem);
    --fs-lg:   clamp(1.25rem, 1.1rem + .75vw, 1.5rem);
    --fs-xl:   clamp(1.5rem,  1.2rem + 1.5vw, 2.25rem);
    --fs-2xl:  clamp(2rem,    1.5rem + 2.5vw, 3.5rem);
    --fs-3xl:  clamp(2.5rem,  1.8rem + 3.5vw, 5rem);

    /* Spacing */
    --sp-xs:  .5rem;
    --sp-sm:  1rem;
    --sp-md:  1.5rem;
    --sp-lg:  2.5rem;
    --sp-xl:  4rem;
    --sp-2xl: 6rem;
    --sp-section: clamp(4rem, 3rem + 5vw, 8rem);

    /* Layout */
    --container-max: 1200px;
    --container-px:  clamp(1rem, .5rem + 2vw, 2rem);
    --header-h:      72px;

    /* Misc */
    --radius:     4px;
    --radius-lg:  8px;
    --shadow:     0 4px 24px rgba(0,0,0,.3);
    --transition: .3s ease;
}
