/* Approved tokens styles; preserve rule order and overrides. */
:root {
  color-scheme: dark;

  --bg0: #070a12;
  --bg1: #0b1020;

  --card: rgba(12, 14, 26, 0.62);
  --card2: rgba(14, 16, 32, 0.7);

  --stroke: rgba(99, 102, 241, 0.22);
  --stroke2: rgba(79, 140, 255, 0.3);

  --txt: rgba(255, 255, 255, 0.92);
  --muted: rgba(255, 255, 255, 0.72);
  --muted2: rgba(255, 255, 255, 0.62);

  --primary: #4f8cff;
  --accent: #ff4d8d;
  --cyan: #22d3ee;
  --lime: #20e3b2;

  --shadow: 0 18px 55px rgba(0, 0, 0, 0.55);
  --shadow2: 0 30px 120px rgba(0, 0, 0, 0.65);

  --radius: 28px;
  --radius2: 18px;
  --maxw: 1240px;
  --section-scroll-offset: 120px;

  --t: 0.26s;
  --t2: 0.48s;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ease2: cubic-bezier(0.22, 1, 0.36, 1);

  --ring: 0 0 0 4px rgba(79, 140, 255, 0.28);

  --grid: rgba(255, 255, 255, 0.06);
  --grid2: rgba(255, 255, 255, 0.03);

  --monoicon: #e6edf3;

  --font-sans: 'InterLocal', Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-display:
    'SpaceGroteskLocal', 'Space Grotesk', 'Aptos Display', 'Segoe UI', system-ui, sans-serif;
}

:root[data-theme='light'] {
  color-scheme: light;

  --bg0: #f7f9ff;
  --bg1: #eef2ff;

  --card: rgba(255, 255, 255, 0.7);
  --card2: rgba(255, 255, 255, 0.82);

  --stroke: rgba(99, 102, 241, 0.18);
  --stroke2: rgba(79, 140, 255, 0.24);

  --txt: rgba(5, 8, 16, 0.9);
  --muted: rgba(5, 8, 16, 0.7);
  --muted2: rgba(5, 8, 16, 0.58);

  --shadow: 0 18px 55px rgba(10, 20, 45, 0.16);
  --shadow2: 0 30px 120px rgba(10, 20, 45, 0.18);

  --grid: rgba(20, 30, 70, 0.08);
  --grid2: rgba(20, 30, 70, 0.04);

  --monoicon: #0b1020;
}

@media (max-width: 900px) {
  :root {
    --section-scroll-offset: 94px;
  }
}
:root {
  --content-max: 1380px;
}
/* Approved base styles; preserve rule order and overrides. */
@font-face {
  font-family: 'InterLocal';
  src: url('/fonts/InterVariable.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
}

@font-face {
  font-family: 'SpaceGroteskLocal';
  src: url('/fonts/SpaceGrotesk-Bold.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

[hidden] {
  display: none !important;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-sans);
  font-size: 18px;
  background: var(--bg0);
  color: var(--txt);
  overflow-x: hidden;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:where(a, button, input, textarea, select, [tabindex]) {
  -webkit-tap-highlight-color: transparent;
}
:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: none;
  box-shadow: var(--ring);
  border-radius: 12px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
html,
body {
  overflow-x: hidden;
}

@media (max-width: 720px) {
  body {
    font-size: 16px;
  }
}
