/* Fontes da marca servidas pelo próprio site (SIL OFL 1.1, subconjunto latino). */
@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url("/fonts/montserrat-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url("/fonts/inter-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root {
  color-scheme: dark;
  --color-black: #05070b;
  --color-deep: #071225;
  --color-blue: #2170ed;
  --color-blue-light: #9ac1ff;
  --color-white: #f7f9fc;
  --color-muted: rgba(247, 249, 252, .66);
  --color-line: rgba(255, 255, 255, .14);
  --color-hairline: rgba(154, 193, 255, .12);
  --black: var(--color-black);
  --deep: var(--color-deep);
  --blue: var(--color-blue);
  --light: var(--color-blue-light);
  --white: var(--color-white);
  --muted: var(--color-muted);
  --line: var(--color-line);
  --hairline: var(--color-hairline);
  --font-display: Montserrat, "Helvetica Neue", Arial, sans-serif;
  --font-body: Inter, "Segoe UI", Arial, sans-serif;
  /* Rótulos curtos em caixa alta (kicker, faixas, números de passo). Mesma Inter do texto: nada extra para baixar. */
  --font-label: Inter, "Segoe UI", Arial, sans-serif;
  --display: var(--font-display);
  --body: var(--font-body);
  --label-font: var(--font-label);
  /* Serifa de destaque das páginas editoriais (Sobre, Conteúdos): fonte do sistema, nada a baixar. */
  --serif: Georgia, 'Times New Roman', serif;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-sm: 7px;
  --radius-md: 14px;

  /* Padrão do site (ver PADRAO-VISUAL.md). Use estes nomes antes de escrever um valor novo. */
  --page: #020409;
  --surface: #050b16;
  --surface-quiet: rgba(6, 13, 26, .62);
  --surface-card: linear-gradient(180deg, rgba(13, 30, 60, .86), rgba(5, 11, 22, .92));
  --surface-raised: linear-gradient(160deg, rgba(14, 34, 70, .94), rgba(5, 11, 22, .96));
  --text-strong: #f2f6ff;
  --text-soft: #dce8f9;
  --text-dim: #a5b3c8;
  --label: #7d9cc8;
  --label-quiet: #5d7498;
  --accent-text: #5395ff;
  --alert: #ffab98;
  --ok: #3ddc97;
  --warn: #ffc35a;
  --cyan: #35d0f2;
  --ink: #0b1c36;
  --ink-soft: #465a78;
  --border: rgba(154, 193, 255, .2);
  --border-quiet: rgba(154, 193, 255, .14);
  --border-strong: rgba(92, 156, 255, .55);
  --glow: 0 0 44px rgba(33, 112, 237, .22);
  --shadow-card: 0 30px 70px rgba(0, 0, 0, .4);
  --radius-control: 10px;
  --radius-lg: 20px;
  --radius-pill: 999px;
  /* Mobile first: valores do celular; telas maiores logo abaixo. */
  --shell: 88%;
  --section-pad: 76px;
  --h2: 34px;
  --ease: cubic-bezier(.22, .61, .36, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --motion-fast: 240ms;
  --motion-base: 480ms;
  font-family: var(--body);
  font-synthesis: none;
}

/* Quebras do site: 621px (tablet), 981px (desktop) e 1101px (desktop largo). */
@media (min-width: 621px) {
  :root {
    --shell: min(90%, 1280px);
    --section-pad: clamp(88px, 9vw, 148px);
    --h2: clamp(34px, 3.55vw, 52px);
  }
}
