/*
 * Éclore Aesthetics — 404 (Not Found) page
 * ─────────────────────────────────────────────────────────────────────────────
 * Editorial composition on the warm ground: an oversized, faint "404" ghost
 * numeral sits behind a serif-accented headline, a short body line, and a
 * recovery link set — one primary Terracotta pill (the single accent, used once)
 * followed by three spaced secondary text-links. Generous vertical rhythm so the
 * page reads as intentional. The compound focus ring on every link is owned by
 * global.css (§8).
 */

.error-404 {
  position: relative;
  overflow: clip;
  background: var(--color-ground);
  padding-block: clamp(var(--space-3xl), 16vh, var(--space-4xl));
}

/* Oversized ghost numeral — the airy "404" backdrop, echoing the ghost lines
   used across the homepage. Sits behind the copy and never intercepts clicks. */
.error-404__ghost {
  position: absolute;
  top: 50%;
  right: clamp(-3rem, -2vw, 3rem);
  transform: translateY(-50%);
  z-index: 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(11rem, 40vw, 34rem);
  line-height: 1;
  letter-spacing: -0.05em;
  color: color-mix(in srgb, var(--color-ink) 6%, var(--color-ground));
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
}

.error-404__inner {
  position: relative;
  z-index: 1;
  max-width: var(--container-narrow);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-md);
}

.error-404__eyebrow {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.8125rem;
  line-height: 1.2;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.error-404__title {
  margin: 0;
  font-size: clamp(2.75rem, 8vw, 5.5rem);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-display);
  color: var(--color-heading);
}

.error-404__body {
  max-width: 44ch;
  margin: 0;
  font-size: clamp(1.125rem, 1.4vw, 1.3125rem); /* lede scale (§3) */
  line-height: 1.55;
  color: var(--color-text-muted);
}

/* ─── Recovery link set ──────────────────────────────────────────────────────── */

.error-404__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-lg);            /* clear separation between the CTA and the group */
  margin-top: var(--space-sm);
}

/* The three text-links sit in their own row with an explicit gap so they never
   render run-together. .btn--text has no horizontal padding, so the gap is what
   creates the breathing room. */
.error-404__secondary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-lg);
}
