@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Inter:wght@300;400;600;700&display=swap');

:root {
  --bg-primary: #0d1117;
  --bg-secondary: #161b22;
  --bg-card: #1c2333;
  --accent: #58a6ff;
  --accent-glow: #2d6abf;
  --accent-bright: #79c0ff;
  --accent-purple: #a78bfa;
  --accent-pink: #f472b6;
  --accent-green: #7ee787;
  --accent-orange: #ffa657;
  --accent-red: #ff7b72;
  --text-primary: #e6edf3;
  --text-secondary: #8b949e;
  --text-muted: #6e7681;
  --border: #30363d;
  --grid-color: rgba(88, 166, 255, 0.03);
  --tg-bg: #0e1621;
  --tg-incoming: #182533;
  --tg-outgoing: #2b5278;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { overflow-x: hidden; }

body {
  font-family: 'Inter', -apple-system, sans-serif;
  background: var(--bg-primary);
  color: var(--text-primary);
  overflow-x: hidden;
  line-height: 1.6;
}

body::before {
  display: none;
}

/* === FULLPAGE LAYOUT — mixed snap + free scroll === */
@media (min-width: 769px) {
  /* Default: fullpage snap sections */
  #fullpage section {
    height: 100vh;
    overflow: hidden;
  }

  /* Scrollable sections: variable height, free scroll inside */
  #fullpage section.fp-scroll {
    height: auto;
    min-height: 100vh;
    overflow: visible;
  }

  #fullpage section#cta {
    height: auto;
    min-height: 50vh;
  }
}

@media (max-width: 768px) {
  html { scroll-behavior: smooth; }
}

@media (prefers-reduced-motion: reduce) {
  .gs-reveal { visibility: visible !important; }
}
