/* ===== Reset & Global ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { height: 100%; scroll-behavior: smooth; background: #000; -webkit-text-size-adjust: 100%; }
body {
  background: #000;
  color: #fff;
  font-family: var(--font-sans);
  line-height: 1.6;
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
input { font: inherit; color: inherit; }

/* ===== Utility ===== */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.mono { font-family: var(--font-mono); }

/* ===== Page Container ===== */
.page-wrap {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: var(--page-px);
  padding-right: var(--page-px);
}

/* ===== Decorative Overlays ===== */
.ambient-glow {
  position: fixed; width: 100vw; height: 100vh;
  background: radial-gradient(circle at 50% 0%, rgba(var(--brand-rgb), 0.04) 0%, rgba(0,0,0,0) 50%);
  z-index: 1; pointer-events: none;
}
.noise-overlay {
  position: fixed; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity: 0.05; pointer-events: none; z-index: 2;
}
.cyber-grid {
  position: fixed; inset: 0;
  background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.03) 1px, transparent 0);
  background-size: 44px 44px; opacity: 0.5; pointer-events: none; z-index: 3;
}
.scanline {
  position: fixed; inset: 0;
  background: linear-gradient(rgba(18,16,16,0) 50%, rgba(0,0,0,0.1) 50%), linear-gradient(90deg, rgba(var(--brand-rgb),0.01), rgba(0,0,0,0), rgba(var(--brand-rgb),0.01));
  background-size: 100% 4px, 20% 100%;
  pointer-events: none; z-index: 100; opacity: 0.12;
}

/* ===== Scrollbar ===== */
::-webkit-scrollbar { width: 4px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(var(--brand-rgb), 0.2); border-radius: 4px; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
