/**
 * 404 — not found
 */

.n92-404 {
  --nf-pink: #ff3377;
  --nf-pink-deep: #ff0062;
  --nf-cream: #efece8;
  --nf-blue: #002e72;
  background: #000;
  color: var(--nf-cream);
  overflow-x: clip;
  min-height: min(72vh, 720px);
}

.n92-404 :is(h1, h2) {
  color: var(--nf-cream) !important;
}

#content:has(.n92-404) {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}

#pagewrap:has(.n92-404) #tbp_footer .tb_dvae189,
#pagewrap:has(.n92-404) #tbp_footer .tb_etgs627 {
  display: none !important;
}

.n92-404-hero {
  padding: clamp(4rem, 12vh, 7rem) clamp(1.5rem, 5vw, 5.5rem) 2rem;
  max-width: 1160px;
  margin-inline: auto;
}

.n92-404-code {
  font-family: gilroy, sans-serif;
  font-weight: 800;
  font-size: clamp(4rem, 18vw, 11rem);
  line-height: 0.85;
  letter-spacing: -0.04em;
  margin: 0 0 0.35rem;
  color: var(--nf-pink) !important;
  opacity: 0.92;
}

.n92-404-headline {
  font-family: gilroy, sans-serif;
  font-weight: 800;
  font-size: clamp(2rem, 5.5vw, 3.5rem);
  letter-spacing: -0.02em;
  text-transform: lowercase;
  line-height: 1.02;
  margin: 0 0 1rem;
  max-width: 16ch;
}

.n92-404-lead {
  margin: 0;
  max-width: 42ch;
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(239, 236, 232, 0.72);
}

.n92-404-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

.n92-404-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: gilroy, sans-serif;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: lowercase;
  padding: 0.75rem 1.25rem;
  border-radius: var(--n92-radius, 3px);
  text-decoration: none;
  border: 1px solid transparent;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.n92-404-btn--primary {
  background: var(--nf-pink);
  color: #fff;
  border-color: var(--nf-pink);
}

.n92-404-btn--primary:hover {
  background: var(--nf-pink-deep);
  border-color: var(--nf-pink-deep);
}

.n92-404-btn--outline {
  background: transparent;
  color: var(--nf-cream);
  border-color: rgba(239, 236, 232, 0.45);
}

.n92-404-btn--outline:hover {
  border-color: var(--nf-cream);
}

.n92-404-rule {
  height: 3px;
  max-width: 1160px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.92);
}

.n92-404-links {
  padding: clamp(2.5rem, 6vh, 4rem) clamp(1.5rem, 5vw, 5.5rem) clamp(4rem, 10vh, 6rem);
  max-width: 1160px;
  margin-inline: auto;
}

.n92-404-eyebrow {
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: lowercase;
  color: rgba(239, 236, 232, 0.45);
  margin: 0 0 1.25rem;
}

.n92-404-links__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem 1.5rem;
}

@media (min-width: 640px) {
  .n92-404-links__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .n92-404-links__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.n92-404-link {
  display: inline-block;
  font-family: gilroy, sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.02em;
  text-transform: lowercase;
  color: var(--nf-cream);
  text-decoration: none;
  padding: 0.35rem 0;
  border-bottom: 1px solid transparent;
  transition:
    color 0.2s ease,
    border-color 0.2s ease;
}

.n92-404-link:hover {
  color: var(--nf-pink);
  border-color: rgba(255, 51, 119, 0.35);
}
