/* base.css — reset, document defaults, typography baseline, a11y floor */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

body {
  background: var(--ink);
  color: var(--text);
  font-family: var(--font-body);
  font-size: var(--t-base);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  /* subtle latent-field texture: two faint plasma glows fixed behind everything */
  background-image:
    radial-gradient(60vw 60vw at 82% -8%, rgba(177,74,237,.10), transparent 60%),
    radial-gradient(50vw 50vw at -10% 18%, rgba(44,127,255,.10), transparent 60%);
  background-attachment: fixed;
}

h1, h2, h3, .brand-text, .eyebrow, .kicker, .btn, .mono, nav a {
  font-family: var(--font-display);
}
h1, h2, h3 { line-height: 1.05; letter-spacing: -0.02em; font-weight: 600; }

em { font-style: italic; color: var(--text); }
a { color: inherit; text-decoration: none; }
p a { text-decoration: underline; text-decoration-color: var(--border-lit); text-underline-offset: 3px; }

img, svg { display: block; max-width: 100%; }
button { font: inherit; cursor: pointer; }

::selection { background: rgba(255,77,141,.3); color: #fff; }

:focus-visible { outline: none; box-shadow: var(--ring); border-radius: 4px; }

.mono { font-family: var(--font-mono); }

.skip-link {
  position: absolute; left: 50%; top: -3rem; transform: translateX(-50%);
  background: var(--accent-lit); color: #fff; padding: .6rem 1.2rem;
  border-radius: 0 0 10px 10px; font-size: var(--t-sm); z-index: 100;
  transition: top .2s;
}
.skip-link:focus { top: 0; }

.eyebrow, .kicker {
  font-size: var(--t-xs); letter-spacing: 0.22em; text-transform: uppercase;
  font-weight: 600; color: var(--text-dim);
}
