/* =====================================================================
   LAVENDER BUBBLES — DESIGN TOKENS
   Botanical, editorial, premium. Lavender is an accent, not the palette.
   ===================================================================== */

:root {
  /* ---- Colour: primary (botanical / natural) ---- */
  --color-forest:      #2F3B2C;   /* deep botanical green — primary */
  --color-forest-70:   #4A5A45;
  --color-charcoal:    #23231F;   /* near-black text */
  --color-off-white:   #F7F4EC;   /* warm off-white background */
  --color-cream:       #EFE9DA;   /* soft cream surface */
  --color-sand:        #E4DCC8;   /* deeper cream / borders */
  --color-sage:        #9CA98A;   /* muted sage */
  --color-taupe:       #A9997F;   /* warm earthy neutral */

  /* ---- Colour: secondary accents (used sparingly) ---- */
  --color-lavender:    #A79BC4;   /* soft lavender accent */
  --color-lavender-deep: #7C6C9C;
  --color-blush:       #D9BFAE;   /* muted blush, occasional warmth */

  /* ---- Semantic tokens ---- */
  --color-primary:     var(--color-forest);
  --color-secondary:   var(--color-lavender);
  --color-background:  var(--color-off-white);
  --color-surface:     #FFFFFF;
  --color-surface-alt: var(--color-cream);
  --color-text:        var(--color-charcoal);
  --color-text-soft:   #5B5B52;
  --color-muted:       #8A8A7D;
  --color-accent:      var(--color-blush);
  --color-border:      #DDD5C2;
  --color-success:     #4C6B4F;
  --color-error:       #A5453A;
  --color-on-primary:  #FFFFFF;

  /* ---- Typography ---- */
  --font-display: "Cormorant Garamond", "Times New Roman", serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --fs-hero:    clamp(2.75rem, 5.5vw, 5.5rem);
  --fs-h1:      clamp(2.25rem, 4vw, 3.75rem);
  --fs-h2:      clamp(1.85rem, 3vw, 2.75rem);
  --fs-h3:      clamp(1.4rem, 2vw, 1.85rem);
  --fs-h4:      clamp(1.15rem, 1.4vw, 1.35rem);
  --fs-lead:    clamp(1.1rem, 1.4vw, 1.35rem);
  --fs-body:    1rem;
  --fs-small:   0.875rem;
  --fs-eyebrow: 0.8rem;

  --lh-tight: 1.1;
  --lh-snug:  1.3;
  --lh-normal: 1.6;
  --lh-loose: 1.8;

  --ls-eyebrow: 0.16em;
  --ls-wide: 0.08em;

  /* ---- Spacing scale ---- */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs:  0.75rem;
  --space-sm:  1rem;
  --space-md:  1.5rem;
  --space-lg:  2.5rem;
  --space-xl:  4rem;
  --space-2xl: 6rem;
  --space-3xl: 9rem;

  /* ---- Layout ---- */
  --container-max: 1360px;
  --container-narrow: 800px;
  --container-padding: clamp(1.25rem, 4vw, 3rem);
  --radius-sm: 2px;
  --radius-md: 4px;
  --header-height: 84px;

  /* ---- Motion ---- */
  --ease-editorial: cubic-bezier(0.22, 1, 0.36, 1);
  --duration-fast: 200ms;
  --duration-base: 450ms;
  --duration-slow: 900ms;

  /* ---- Shadow (used sparingly — flat/editorial, not glassy) ---- */
  --shadow-sm: 0 1px 3px rgba(35, 35, 31, 0.08);
  --shadow-md: 0 8px 30px rgba(35, 35, 31, 0.10);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0ms;
    --duration-base: 0ms;
    --duration-slow: 0ms;
  }
}
