html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-mono);
  overflow-x: hidden;
}
body.menu-open {
  overflow: hidden;
}
::selection {
  background: var(--accent);
  color: var(--text);
}
a {
  text-decoration: none;
}
p {
  margin: 0;
  max-width: 42ch;
  line-height: 1.55;
  color: var(--muted);
}
ul { margin: 0; padding: 0; list-style: none; }
h1, h2, h3 { margin: 0; font-weight: 800; }
button {
  cursor: pointer;
  background: transparent;
  color: inherit;
}
.noise {
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0.08;
  background-image:
    linear-gradient(rgba(255,255,255,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.08) 1px, transparent 1px);
  background-size: 3px 3px, 3px 3px;
  mix-blend-mode: overlay;
}
.site-frame {
  position: fixed;
  inset: 14px;
  border: 2px solid rgba(255,255,255,0.1);
  pointer-events: none;
  z-index: 20;
}
.page-scroll {
  scroll-snap-type: y mandatory;
}
.panel__grid{
  padding: 0px 24px;
}