/* Farm Capital — Typography Tokens */
/* Display: Barlow Condensed (geometric condensed sans — closest Google Fonts match to the logo's heavy geometric letterforms) */
/* Body/UI: DM Sans (neutral, modern, legible at small sizes) */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap');

:root {
  /* ── Font Families ── */
  --font-display:   'Barlow Condensed', sans-serif;
  --font-body:      'DM Sans', sans-serif;
  --font-mono:      'Courier New', Courier, monospace;

  /* ── Font Weights ── */
  --fw-light:       300; /* @kind other */
  --fw-regular:     400; /* @kind other */
  --fw-medium:      500; /* @kind other */
  --fw-semibold:    600; /* @kind other */
  --fw-bold:        700; /* @kind other */
  --fw-extrabold:   800; /* @kind other */

  /* ── Font Sizes (fluid scale) ── */
  --fs-xs:     0.75rem;    /* 12px */
  --fs-sm:     0.875rem;   /* 14px */
  --fs-base:   1rem;       /* 16px */
  --fs-md:     1.125rem;   /* 18px */
  --fs-lg:     1.25rem;    /* 20px */
  --fs-xl:     1.5rem;     /* 24px */
  --fs-2xl:    1.875rem;   /* 30px */
  --fs-3xl:    2.25rem;    /* 36px */
  --fs-4xl:    3rem;       /* 48px */
  --fs-5xl:    3.75rem;    /* 60px */
  --fs-6xl:    4.5rem;     /* 72px */

  /* ── Line Heights ── */
  --lh-tight:   1.1; /* @kind other */
  --lh-snug:    1.25; /* @kind other */
  --lh-normal:  1.5; /* @kind other */
  --lh-relaxed: 1.65; /* @kind other */

  /* ── Letter Spacing ── */
  --ls-tight:   -0.02em; /* @kind other */
  --ls-normal:   0em; /* @kind other */
  --ls-wide:     0.05em; /* @kind other */
  --ls-wider:    0.08em; /* @kind other */

  /* ── Semantic Type aliases ── */
  --type-hero-font:       var(--font-display);
  --type-hero-size:       var(--fs-5xl);
  --type-hero-weight:     var(--fw-extrabold);
  --type-hero-lh:         var(--lh-tight);
  --type-hero-ls:         var(--ls-tight);

  --type-h1-font:         var(--font-display);
  --type-h1-size:         var(--fs-4xl);
  --type-h1-weight:       var(--fw-bold);
  --type-h1-lh:           var(--lh-tight);

  --type-h2-font:         var(--font-display);
  --type-h2-size:         var(--fs-3xl);
  --type-h2-weight:       var(--fw-bold);
  --type-h2-lh:           var(--lh-snug);

  --type-h3-font:         var(--font-display);
  --type-h3-size:         var(--fs-2xl);
  --type-h3-weight:       var(--fw-semibold);
  --type-h3-lh:           var(--lh-snug);

  --type-h4-font:         var(--font-body);
  --type-h4-size:         var(--fs-lg);
  --type-h4-weight:       var(--fw-semibold);
  --type-h4-lh:           var(--lh-snug);

  --type-body-font:       var(--font-body);
  --type-body-size:       var(--fs-base);
  --type-body-weight:     var(--fw-regular);
  --type-body-lh:         var(--lh-normal);

  --type-body-sm-size:    var(--fs-sm);
  --type-label-size:      var(--fs-sm);
  --type-label-weight:    var(--fw-medium);
  --type-label-ls:        var(--ls-wide);
  --type-label-transform: uppercase;

  --type-caption-size:    var(--fs-xs);
  --type-caption-weight:  var(--fw-regular);
  --type-caption-lh:      var(--lh-normal);

  --type-button-font:     var(--font-body);
  --type-button-size:     var(--fs-sm);
  --type-button-weight:   var(--fw-semibold);
  --type-button-ls:       var(--ls-wide);
}
