/* Recovery layout uses the storefront's shared brand, wrapper and buttons. */
.not-found-page {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  background: var(--bg);
}
.not-found-header .brand { width: fit-content; }
.not-found-main {
  display: block;
  min-width: 0;
  align-items: center;
  padding-block: 24px 24px;
  background: radial-gradient(ellipse 340px 230px at 50% 38%, #e9dfce20, transparent);
  outline: none;
}
.not-found-content { width: 100%; padding-block:24px 40px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.not-found-code {
  color: var(--pink);
  font-size: clamp(6rem, 10vw, 8.75rem);
  font-weight: 750;
  line-height: .9;
  letter-spacing: -.025em;
  margin: 0 auto 22px;
}
/* Match the Shop/Journal page-intro title scale. */
.not-found-content h1 {
  font-size: var(--type-page);
  margin: 0 0 16px;
}
.not-found-message { margin: 0 auto; max-width: 640px; }
.not-found-actions { justify-content: center; }
.not-found-page a:focus-visible { outline: 3px solid #b8a27d; outline-offset: 6px; }
.not-found-page > .footer { margin-top: 0; }
.sponsors{border-top:1px solid var(--border);padding-top:32px}
.sponsors-heading{max-width:620px;margin-bottom:32px}
.sponsors-heading h2{font-size:var(--type-section);margin:10px 0 12px}
.sponsors-heading p{margin-bottom:0}
.sponsor-block{margin-top:44px;min-width:0}
.sponsor-embed{width:100%;min-height:100px;border:1px solid var(--border);border-radius:16px;background:#f2ede3;padding:24px}
.sponsor-featured{max-width:1080px;margin-inline:auto}
.sponsor-embed-state{color:var(--muted);font-size:14px;text-align:center;padding-block:20px;margin:0}
.sponsor-embed>ins{display:block;width:100%;text-decoration:none}
.sponsor-embed.is-filled>.sponsor-embed-state{display:none}
@media (max-width: 700px) {
  .not-found-main { padding-block: 16px 24px; }
  .not-found-code { font-size: 6rem; margin-bottom: 20px; }
  .not-found-content h1 { font-size:var(--type-page); margin-bottom: 16px; }
  .not-found-message { max-width: 440px; font-size:var(--type-body); }
  .not-found-content{padding-block:16px 28px}
  .sponsors{padding-top:28px}
  .sponsors-heading{margin-bottom:32px}
  .sponsor-block{margin-top:32px}
  .sponsor-embed{padding:14px}
}
@media (max-width: 360px) {
  .not-found-actions { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .not-found-page .button { transition: none; }
  .not-found-page .button:hover { transform: none; }
}
