/* ═══════════════════════════════════════════════════════════
   base.css — Reset · Variáveis · Animações · Utilitários
   GridStart Pro · fredmosc.dev
   ═══════════════════════════════════════════════════════════ */


/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
img  { max-width: 100%; height: auto; display: block; }
a    { text-decoration: none; color: inherit; }
ul   { list-style: none; }


/* ── VARIÁVEIS GLOBAIS ── */
:root {
  --navy:         #001E3C;
  --blue:         #003F7D;
  --blue-mid:     #0F2A5C;
  --cyan:         #00B4D8;
  --cyan-dim:     rgba(0,180,216,.14);
  --cyan-glow:    rgba(0,180,216,.40);
  --cyan-border:  rgba(0,180,216,.28);
  --white:        #F0F4FF;
  --muted:        rgba(240,244,255,.50);
  --amber:        #FFB800;
  --orange:       #FF6B35;
  --green:        #00E096;
  --green-dim:    rgba(0,224,150,.10);
  --green-border: rgba(0,224,150,.25);
  --red:          #FF4560;
  --track-red:    #FF1E00;
}


/* ── BASE ── */
body {
  background: var(--navy);
  color: var(--white);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 16px;
  line-height: 1.55;
  min-height: 100vh;
  overflow-x: hidden;
}


/* ── ANIMAÇÕES ── */
@keyframes sweep {
  0%   { opacity: 0; transform: translateX(-100px); }
  30%  { opacity: .55; }
  70%  { opacity: .35; }
  100% { opacity: 0; transform: translateX(80px); }
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: .2; }
}
@keyframes ml-spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/* ── UTILITÁRIOS ── */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); border: 0;
}

a:focus-visible,
button:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
