@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/inter-latin.woff2") format("woff2"); }

*, *::before, *::after { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; padding: 0; background: var(--eon-bg); color: var(--eon-text); font-family: var(--font); font-size: 16px; line-height: 1.45; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; font-feature-settings: "cv11", "ss01"; }
body { min-height: 100dvh; overflow-x: hidden; position: relative; }

/* Atmosfera: luz ambiente + partículas discretas, fixas atrás de tudo */
body::before {
  content: ""; position: fixed; inset: -10%; z-index: -2; pointer-events: none;
  background:
    radial-gradient(circle at 72% 8%, rgba(93, 125, 255, .18), transparent 38%),
    radial-gradient(circle at 18% 82%, rgba(151, 82, 255, .12), transparent 38%),
    radial-gradient(circle at 90% 70%, rgba(95, 225, 255, .06), transparent 30%),
    var(--eon-bg);
  animation: ambient 40s ease-in-out infinite alternate;
}
body::after {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .55;
  background-image:
    radial-gradient(1px 1px at 12% 22%, rgba(180, 210, 255, .55), transparent 60%),
    radial-gradient(1px 1px at 34% 64%, rgba(180, 210, 255, .35), transparent 60%),
    radial-gradient(1.5px 1.5px at 58% 18%, rgba(95, 225, 255, .45), transparent 60%),
    radial-gradient(1px 1px at 76% 48%, rgba(180, 210, 255, .4), transparent 60%),
    radial-gradient(1px 1px at 88% 82%, rgba(155, 92, 255, .5), transparent 60%),
    radial-gradient(1px 1px at 6% 90%, rgba(180, 210, 255, .3), transparent 60%),
    radial-gradient(1.5px 1.5px at 46% 92%, rgba(95, 225, 255, .3), transparent 60%);
  animation: twinkle 9s ease-in-out infinite alternate;
}
@keyframes ambient { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(-2%, 1.5%, 0) scale(1.06); } }
@keyframes twinkle { from { opacity: .35; } to { opacity: .7; } }

h1, h2, h3, p { margin: 0; }
h1 { font-size: clamp(30px, 6vw, 46px); line-height: 1.05; font-weight: 700; letter-spacing: -.03em; }
h2 { font-size: clamp(22px, 4vw, 28px); font-weight: 650; letter-spacing: -.025em; }
h3 { font-size: 18px; font-weight: 600; letter-spacing: -.01em; }
button { font: inherit; color: inherit; cursor: pointer; border: 0; background: none; padding: 0; touch-action: manipulation; }
input, select, textarea { font: inherit; color: inherit; }
a { color: var(--eon-cyan); text-decoration: none; }
img, svg { display: block; max-width: 100%; }
:focus-visible { outline: 2px solid var(--eon-cyan); outline-offset: 3px; border-radius: 10px; }
::selection { background: rgba(95, 225, 255, .3); }
::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .1); border-radius: 8px; border: 2px solid transparent; background-clip: padding-box; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.muted { color: var(--eon-text-secondary); }
.faint { color: var(--eon-text-muted); }
.small { font-size: 13px; }
.center { text-align: center; }
.eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--eon-text-muted); }
.num { font-variant-numeric: tabular-nums; }
.grad-text { background: var(--eon-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
