/* Crystal Tropical — base: tokens, reset, tipografia
   A paleta vem do emblema oficial (LOGO NOVA) cruzado com os operadores
   CMYK extraidos de "logo crystal oficial.pdf". Ver MARCA.md. */

:root {
  /* Marca */
  --laranja-crystal: #F7941E;
  --laranja-escuro:  #C4700F;
  --azul-royal:      #2E3192;
  --azul-crystal:    #1B4FA0;
  --azul-abissal:    #071A3E;
  --azul-noite:      #03102E;
  --teal-moldura:    #1B7A8C;
  --verde-tropical:  #4FA85E;
  --turquesa:        #3FBFB0;
  --azul-agua:       #6DCFF6;
  --azul-gelo:       #A7DCF7;
  --branco-gelo:     #F4FBFF;

  /* Papeis */
  --texto-claro:     #FFFFFF;
  --texto-suave:     #BFEEFF;
  --texto-escuro:    #071A3E;
  --texto-medio:     #4A6A8F;

  /* Escala */
  --largura-max: 1240px;
  --gutter: clamp(1.25rem, 5vw, 4rem);
  --raio: 999px;
  --raio-card: 16px;

  /* Estado do scroll — escrito por scroll.js a cada frame */
  --scroll-y: 0;      /* px, unitless */
  --hero-progress: 0; /* 0 a 1 dentro do hero */
  --mouse-x: 0;       /* -1 a 1 */

  --dur: 240ms;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*, *::before, *::after { box-sizing: border-box; }

html {
  background: var(--azul-noite);
  scroll-behavior: auto; /* Lenis cuida disso */
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--texto-claro);
  background: transparent;
  overflow-x: hidden;
}

h1, h2, h3, h4 {
  font-family: 'Poppins', 'Inter', system-ui, sans-serif;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 0;
  text-wrap: balance;
}

p { margin: 0; text-wrap: pretty; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }

button, input, select, textarea { font: inherit; color: inherit; }

.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* Foco visivel — obrigatorio, o site inteiro e escuro */
:focus-visible {
  outline: 3px solid var(--laranja-crystal);
  outline-offset: 3px;
  border-radius: 4px;
}
