/* Typography — Nimbus type scale, Geist family.
 * The Nuvemshop / Nimbus type system uses Geist; we adopt it 1:1 so the
 * agency's deliverables sit naturally inside Nuvemshop product surfaces.
 */

:root {
  /* Families */
  --font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "Geist Mono", "JetBrains Mono", "Roboto Mono", ui-monospace, monospace;
  --font-display: "Geist", -apple-system, BlinkMacSystemFont, sans-serif;

  /* Sizes (Nimbus ref) */
  --fs-12: 0.75rem;     /*  12px  caption    */
  --fs-14: 0.875rem;    /*  14px  body base  */
  --fs-16: 1rem;        /*  16px  body large */
  --fs-18: 1.125rem;    /*  18px             */
  --fs-20: 1.25rem;     /*  20px  h4         */
  --fs-24: 1.5rem;      /*  24px  h3         */
  --fs-28: 1.75rem;     /*  28px  h2         */
  --fs-32: 2rem;        /*  32px  h1         */
  --fs-48: 3rem;        /*  48px  display    */
  --fs-64: 4rem;        /*  64px  hero       */

  /* Semantic sizes */
  --fs-caption:   var(--fs-12);
  --fs-body:      var(--fs-14);
  --fs-body-lg:   var(--fs-16);
  --fs-h6:        var(--fs-14);
  --fs-h5:        var(--fs-16);
  --fs-h4:        var(--fs-20);
  --fs-h3:        var(--fs-24);
  --fs-h2:        var(--fs-28);
  --fs-h1:        var(--fs-32);
  --fs-display:   var(--fs-48);
  --fs-hero:      var(--fs-64);

  /* Weights — Nimbus uses 400/500/600. We add 700/800 for hero display.  */
  --fw-regular:  400; /* @kind font */
  --fw-medium:   500; /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold:     700; /* @kind font */
  --fw-black:    800; /* @kind font */

  /* Line-heights */
  --lh-tight:    1.1;   /* @kind font */
  --lh-snug:     1.25;  /* @kind font */
  --lh-base:     1.5;   /* @kind font */
  --lh-relaxed:  1.625; /* @kind font */

  --lh-caption: 1rem;     /*  for 12px      */
  --lh-body:    1.25rem;  /*  for 14px      */
  --lh-body-lg: 1.5rem;   /*  for 16px      */
  --lh-h4:      1.5rem;
  --lh-h3:      1.75rem;
  --lh-h2:      2rem;
  --lh-h1:      2.5rem;
  --lh-display: 3.25rem;

  /* Letter spacing */
  --ls-tight:  -0.02em;  /* @kind font */
  --ls-snug:   -0.01em;  /* @kind font */
  --ls-normal: 0;        /* @kind font */
  --ls-wide:   0.04em;   /* @kind font */
  --ls-wider:  0.12em;   /* @kind font */
}

/* Document-level reset so consumers inherit the Geist body baseline. */
html {
  font-family: var(--font-sans);
  font-feature-settings: "ss01", "cv11";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
