:root {
  --bg: #0f1115;
  --card: #171a21;
  --card-secondary: #20242d;
  --text: #f5f7fa;
  --text-muted: #aab2bf;
  --border: #313744;
  --primary: #ffb000;
  --primary-hover: #ff8a00;
  --success: #35d07f;
  --error: #ff5b5b;
  --max-width: 1200px;
}

* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body { min-width: 0; margin: 0; overflow-x: hidden; background: var(--bg); color: var(--text); font-family: Inter, system-ui, sans-serif; font-size: 1rem; line-height: 1.6; }
button, input, select { font: inherit; }
a { color: inherit; }
img { max-width: 100%; height: auto; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--text); line-height: 1.12; }
h1 { font-size: clamp(2.35rem, 8vw, 4.5rem); letter-spacing: -.055em; }
h2 { font-size: clamp(1.85rem, 5vw, 3rem); letter-spacing: -.04em; }
h3 { font-size: 1.1rem; }
:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
.skip-link { position: fixed; z-index: 100; top: -5rem; left: 1rem; border-radius: .35rem; padding: .65rem 1rem; background: var(--primary); color: #17120b; font-weight: 800; }
.skip-link:focus { top: 1rem; }
.container { width: min(calc(100% - 2rem), var(--max-width)); margin-inline: auto; }
.section { padding: 4.5rem 0; }
.section-alt { background: var(--card); }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; clip-path: inset(50%); }
@media (min-width: 768px) { .section { padding: 6.5rem 0; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
