/* Combined styles for all pages */

@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 100 900;
  font-display: block;
  src: url('fonts/jost-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── Common reset ──────────────────────────────────────────────────────────── */
*,*::before,*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  width: 100%;
  height: 100%;
  background: #060606;
}

/* ── Landing page (index.html) ─────────────────────────────────────────────── */

body.page-index *,
body.page-index *::before,
body.page-index *::after {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

body.page-index {
  overflow: hidden;
}

#stars {
  position: fixed; inset: 0;
  pointer-events: none;
  z-index: 0;
}

#aurora {
  position: fixed; inset: 0;
  pointer-events: none;
  z-index: 1;
}

#stage {
  position: fixed; inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 20;
}

#logo {
  width: min(600px, 85vw);
}

#logo svg {
  width: 100%; height: auto;
  display: block;
  overflow: visible;
}

.lp { fill: #fafafa; }

.ld {
  fill: none;
  stroke: #901a25;
  stroke-width: 18px;
  stroke-linecap: square;
}

/* ── Error page (404.html) ─────────────────────────────────────────────────── */

body.page-404 {
  font-family: 'Jost', system-ui, -apple-system, sans-serif;
  color: #fafafa;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

.error-container {
  text-align: center;
  max-width: 600px;
}

.error-container h1 {
  font-size: clamp(4rem, 20vw, 8rem);
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #901a25;
}

.error-container h2 {
  font-size: clamp(1.25rem, 6vw, 2rem);
  font-weight: 300;
  margin-bottom: 2rem;
  color: #aaa;
}

.error-container p {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 2rem;
  color: #888;
}

.error-container a {
  display: inline-block;
  padding: 0.75rem 2rem;
  border: 1px solid #901a25;
  color: #901a25;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
}

.error-container a:hover {
  background: #901a25;
  color: #060606;
}
