/* =============================================================
   B-Life · design tokens (v2)
   ============================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,100;9..40,200;9..40,300;9..40,400;9..40,500;9..40,600&family=Space+Grotesk:wght@500&display=swap');

:root {
  --forest:        #04261E;
  --forest-2:      #024036;
  --sage:          #74B0A8;

  --ink:           #2F2E2C;
  --ink-secondary: #72706E;
  --ink-tertiary:  #5E5E67;
  --ink-disabled:  #AAAAB8;

  --paper:         #FEFCF9;
  --paper-2:       #F6F2F0;
  --neutral-10:    #E5DFDC;
  --neutral-20:    #D0CCCA;
  --neutral-30:    #C8C1B9;
  --neutral-40:    #878582;

  --inverse-bg:        #04261E;
  --inverse-bg-2:      #082821;
  --on-inverse:        #FEFCF9;
  --on-inverse-70:     rgba(254,252,249,0.72);
  --on-inverse-50:     rgba(254,252,249,0.50);
  --on-inverse-15:     rgba(254,252,249,0.15);

  --success:           #14CBA1;
  --success-soft:      #ACE9D6;
  --success-tint:      #DCEBEA;
  --success-ink:       #04261E;

  --warning:           #F4B845;
  --warning-soft:      #FAE0AF;
  --warning-ink:       #2F2E2C;

  --error:             #F84D47;
  --error-soft:        #F69997;
  --error-ink:         #330101;

  --info:              #14ACCB;
  --info-2:            #687C76;

  --font-display:  "DM Sans", -apple-system, "Helvetica Neue", Arial, sans-serif;
  --font-sans:     "DM Sans", -apple-system, "Helvetica Neue", Arial, sans-serif;
  --font-brand:    "Space Grotesk", "DM Sans", sans-serif;
  --font-mono:     ui-monospace, "SF Mono", Menlo, monospace;

  --fs-display-xl:  89px;
  --fs-display-l:   36px;
  --fs-display-m:   32px;
  --fs-display-s:   24px;
  --fs-display-xs:  19px;

  --fs-h1:          20px;
  --fs-h2:          18px;
  --fs-h3:          17px;
  --fs-h4:          16px;
  --fs-h5:          15px;
  --fs-h6:          14px;

  --fs-body-lg:     17px;
  --fs-body-md:     15px;
  --fs-body-sm:     13px;
  --fs-body-xs:     12px;
  --fs-caption:     11px;

  --fw-thin:      100;
  --fw-xlight:    200;
  --fw-light:     300;
  --fw-regular:   400;
  --fw-medium:    500;

  --lh-display:   1.00;
  --lh-tight:     1.20;
  --lh-body:      1.35;
  --lh-loose:     1.50;

  --tr-display:  -0.019em;
  --tr-tight:    -0.01em;
  --tr-normal:    0;
  --tr-caps:      0.08em;

  --pad-xs:        12px;
  --pad-sm:        16px;
  --pad-md:        20px;
  --pad-lg:        24px;
  --pad-xl:        32px;

  --gap-xs:         8px;
  --gap-sm:        12px;
  --gap-md:        16px;
  --gap-lg:        24px;
  --gap-xl:        32px;

  --r-xs:    4px;
  --r-sm:    8px;
  --r-md:   16px;
  --r-lg:   20px;
  --r-card: 32px;
  --r-hero: 32px;
  --r-pill: 9999px;

  --shadow-card:     5px 5px 24px 0 rgba(0,0,0,0.02);
  --shadow-floating: 0 2px 4px rgba(20,30,25,0.04), 0 12px 40px rgba(20,30,25,0.06);
  --shadow-button:   0 1px 2px rgba(20,30,25,0.08), 0 4px 16px rgba(20,30,25,0.08);

  --ease-out-soft:  cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-in-out:    cubic-bezier(0.4, 0, 0.2, 1);
  --dur-tap:        180ms;
  --dur-prop:       240ms;
  --dur-screen:     340ms;
}

html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

body {
  margin: 0;
  font-family: var(--font-sans);
  font-weight: var(--fw-light);
  font-size: var(--fs-body-md);
  line-height: var(--lh-body);
  color: var(--ink);
  background: var(--paper);
  font-feature-settings: "lnum";
}
