/* ============ RESET ============ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }

/* ============ VARIABLES ============ */
:root {
  --bg: #0A0A0A;
  --bg-2: #0F0F0F;
  --bg-3: #141414;
  --fg: #FAFAF7;
  --fg-2: #9E9A95;
  --fg-3: #8A8784;
  --accent: #00FF66;
  --border: rgba(250, 250, 247, 0.07);
  --border-2: rgba(250, 250, 247, 0.18);
  --font-display: 'Fraunces', serif;
  --font-sans: 'Instrument Sans', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
}

/* ============ BASE ============ */
body {
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.5;
  overflow-x: hidden;
}
@media (max-width: 640px) {
  body { font-size: 18px; line-height: 1.6; }
}

::selection { background: var(--accent); color: var(--bg); }
a { color: inherit; text-decoration: none; }
img, video { display: block; max-width: 100%; }

/* ============ CONTAINER ============ */
.container { max-width: 1600px; margin: 0 auto; padding: 0 40px; }
@media (max-width: 768px) { .container { padding: 0 20px; } }

/* ============ LOGO ============ */
.logo {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 300;
  letter-spacing: -0.02em;
  color: var(--fg);
}
.logo .italic { font-style: italic; }
.logo .dot { color: var(--accent); }
