/* Tokens independentes de tema: escala, movimento, camadas. */
@font-face {
  font-family: "Geist";
  src: url("../vendor/fonts/geist-latin-wght-normal.woff2") format("woff2");
  font-weight: 100 900; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Fraunces";
  src: url("../vendor/fonts/fraunces-latin-wght-normal.woff2") format("woff2");
  font-weight: 100 900; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Fraunces";
  src: url("../vendor/fonts/fraunces-latin-wght-italic.woff2") format("woff2");
  font-weight: 100 900; font-style: italic; font-display: swap;
}

:root {
  /* espaço (base 4) */
  --s-1: .25rem; --s-2: .5rem; --s-3: .75rem; --s-4: 1rem; --s-5: 1.5rem;
  --s-6: 2rem; --s-7: 3rem; --s-8: 4.5rem; --s-9: 7rem; --s-10: 10rem;
  --gutter: clamp(1.25rem, 4vw, 3rem);
  /* ritmo vertical único do site */
  --sec-gap: clamp(4rem, 3rem + 4vw, 6.5rem);   /* entre seções */
  --head-gap: var(--s-7);                       /* título da seção → conteúdo */
  --block-gap: var(--s-8);                      /* entre blocos dentro de uma seção */
  --close-gap: var(--s-7);                      /* conteúdo → frase de fecho */
  --wrap: 76rem;
  --wrap-narrow: 46rem;

  /* tipografia fluida */
  --t-xs: .8125rem;
  --t-sm: .9375rem;
  --t-base: clamp(1rem, .96rem + .2vw, 1.125rem);
  --t-lg: clamp(1.15rem, 1.05rem + .5vw, 1.4rem);
  --t-h3: clamp(1.4rem, 1.2rem + 1vw, 2rem);
  --t-stmt: clamp(1.4rem, 1.15rem + 1.1vw, 1.9rem); /* frases de fecho: claramente abaixo do título de seção */
  --t-h2: clamp(2rem, 1.4rem + 3vw, 3.75rem);
  --t-h1: clamp(2.4rem, 1.2rem + 5.2vw, 4.9rem);

  /* movimento */
  --ease-out: cubic-bezier(.16, 1, .3, 1);       /* chegada confiante */
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --ease-in: cubic-bezier(.5, 0, .75, 0);
  --d-fast: 150ms; --d-base: 240ms; --d-slow: 600ms;

  --nav-h: 4.25rem;
  --z-nav: 50; --z-ui: 60;
}
