@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/space-grotesk-500.woff2) format('woff2'); }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-weight: 600 700; font-display: swap; src: url(/fonts/space-grotesk-600.woff2) format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/ibm-plex-sans-400.woff2) format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/ibm-plex-sans-500.woff2) format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/ibm-plex-mono-400.woff2) format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/ibm-plex-mono-500.woff2) format('woff2'); }

*, *::before, *::after { box-sizing: border-box; }
html { background: #0D0F12; scroll-behavior: smooth; }
body { margin: 0; background: #0D0F12; color: #ECE8E1; font-family: 'IBM Plex Sans', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: #ECE8E1; }
a:hover { color: #E8B04B; }
a:focus-visible, button:focus-visible { outline: 2px solid #E8B04B; outline-offset: 3px; }
svg { flex: none; }

/* Language switching: only the active language's blocks are shown */
html[data-ui-lang="pt"] [data-lang="en"],
html:not([data-ui-lang="pt"]) [data-lang="pt"] { display: none !important; }
[hidden] { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
