/* 404 recovery page: Ledger & Ink surfaces, kept local to this route. */
.not-found-page {
  --notfound-paper: #f6f3ec;
  --notfound-card: #fffefa;
  --notfound-ink: #10213f;
  --notfound-copy: #3a4458;
  --notfound-muted: #596477;
  --notfound-line: #d9d2c3;
  --notfound-teal: #176b7a;
  --notfound-deep: #0a1830;
  background: var(--notfound-paper);
  color: var(--notfound-ink);
  overflow-x: clip;
}
:root[data-theme="dark"] .not-found-page {
  --notfound-paper: #0e1422;
  --notfound-card: #161e2e;
  --notfound-ink: #e8ebf2;
  --notfound-copy: #c2cad8;
  --notfound-muted: #a0adbf;
  --notfound-line: #2a3447;
  --notfound-teal: #79c8d0;
  color-scheme: dark;
}
:root[data-theme="light"] .not-found-page { color-scheme: light; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) .not-found-page {
    --notfound-paper: #0e1422;
    --notfound-card: #161e2e;
    --notfound-ink: #e8ebf2;
    --notfound-copy: #c2cad8;
    --notfound-muted: #a0adbf;
    --notfound-line: #2a3447;
    --notfound-teal: #79c8d0;
    color-scheme: dark;
  }
}
.not-found-page :focus-visible { outline: 3px solid var(--notfound-teal); outline-offset: 3px; }
.not-found-page .utility-bar { background: var(--notfound-deep); color: #e0e7f1; }
.not-found-page .utility-bar a { color: #fff; text-underline-offset: 3px; }
.not-found-page .site-header { background: var(--notfound-paper); }
.not-found-page .site-header .brand-mark { display: none; }
.not-found-page .site-header .brand { gap: 0; }
.not-found-page .site-header .brand-text .b-name { color: var(--notfound-ink); font: 600 30px/1 var(--head); letter-spacing: -.035em; }
.not-found-page .site-header .brand-text .b-name::after { content: "."; color: var(--notfound-teal); }
.not-found-page .site-header .brand-text .b-sub,
.not-found-page .site-header .brand-text .b-icai { display: none; }
.not-found-page main.err-wrap {
  min-height: min(760px, calc(100svh - 230px));
  box-sizing: border-box;
  display: flex;
  align-items: center;
  padding: clamp(42px, 7vw, 82px) 0;
  color: #f2f4f7;
  background: var(--notfound-deep);
  border-bottom: 4px solid var(--notfound-teal);
}
.not-found-page .err-wrap::before {
  background: radial-gradient(ellipse at 82% 16%,rgba(23,107,122,.3),transparent 42%),repeating-linear-gradient(0deg,transparent 0 47px,rgba(255,255,255,.035) 47px 48px);
}
.not-found-page .err-grid { grid-template-columns: minmax(150px,.7fr) minmax(0,1.3fr); gap: clamp(24px,5vw,64px); }
.not-found-page .err-num { color: #a9dce0; font: 500 clamp(76px,14vw,176px)/.88 var(--head); letter-spacing: -.065em; text-shadow: none; }
.not-found-page .err-num span { color: #fff; }
.not-found-page .err-body { min-width: 0; }
.not-found-page .err-body h1 { margin: 0 0 12px; color: #fff; font: 400 clamp(28px,3.3vw,42px)/1.2 var(--head); letter-spacing: -.03em; text-wrap: balance; }
.not-found-page .err-body p { max-width: 650px; margin: 0 0 22px; color: #e0e6ef; font: 400 16px/1.8 var(--sans); overflow-wrap: anywhere; }
.not-found-page .err-cta { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
.not-found-page .err-cta .btn { display: inline-flex; min-width: 44px; min-height: 48px; box-sizing: border-box; align-items: center; justify-content: center; padding: 11px 16px; border-radius: 2px; font: 500 14px/1.4 var(--sans); text-align: center; text-decoration: none; }
.not-found-page .err-cta .btn-primary { color: #fff; background: #176b7a; border: 1px solid #176b7a; }
.not-found-page .err-cta .btn-primary:hover { color: #fff; background: #125865; border-color: #125865; }
.not-found-page .err-cta .btn-outline { color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.54); }
.not-found-page .err-cta .btn-outline:hover { color: var(--notfound-deep); background: #fff; border-color: #fff; }
.not-found-page .err-search { display: flex; width: min(100%,520px); min-width: 0; gap: 8px; margin: 18px 0 0; }
.not-found-page .err-search-input { flex: 1 1 auto; width: 100%; min-width: 0; min-height: 48px; box-sizing: border-box; padding: 11px 14px; color: var(--notfound-ink); background: var(--notfound-card); border: 1px solid var(--notfound-line); border-radius: 2px; font: 400 15px/1.5 var(--sans); }
.not-found-page .err-search-input::placeholder { color: var(--notfound-muted); opacity: 1; }
.not-found-page .err-search-input:focus-visible { border-color: var(--notfound-teal); box-shadow: 0 0 0 3px color-mix(in srgb,var(--notfound-teal) 24%,transparent); }
.not-found-page .err-search-submit { flex: 0 0 auto; min-width: 100px; min-height: 48px; padding: 10px 16px; color: #fff; background: #176b7a; border: 1px solid #176b7a; border-radius: 2px; font: 500 14px/1.4 var(--sans); cursor: pointer; }
.not-found-page .err-search-submit:hover { background: #125865; border-color: #125865; }
.not-found-page .err-links {
  margin-top: 28px;
  padding: 22px;
  color: var(--notfound-copy);
  background: var(--notfound-card) !important;
  border: 1px solid var(--notfound-line);
  border-top: 3px solid var(--notfound-teal);
  border-radius: 2px;
}
.not-found-page .err-links h2 { margin: 0 0 14px; color: var(--notfound-ink); font: 500 20px/1.4 var(--head); letter-spacing: -.01em; }
.not-found-page .err-links-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.not-found-page .err-links a {
  display: flex;
  min-width: 0;
  min-height: 48px;
  box-sizing: border-box;
  align-items: center;
  padding: 10px 12px;
  color: var(--notfound-ink);
  background: var(--notfound-paper);
  border: 1px solid var(--notfound-line);
  border-radius: 2px;
  font: 500 14px/1.5 var(--sans);
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: background-color .15s,border-color .15s,color .15s;
}
.not-found-page .err-links a:hover { color: var(--notfound-ink); background: var(--notfound-card); border-color: var(--notfound-teal); }
.not-found-page footer { color: var(--notfound-copy); background: var(--notfound-paper); border-top: 1px solid var(--notfound-line); }
.not-found-page footer a { color: var(--notfound-teal); text-underline-offset: 3px; }

@media (max-width: 840px) {
  .not-found-page main.err-wrap { min-height: auto; }
  .not-found-page .err-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .not-found-page .err-num { font-size: clamp(78px,20vw,136px); }
}
@media (max-width: 520px) {
  .not-found-page main.err-wrap { padding: 30px 0 34px; }
  .not-found-page .err-cta { gap: 8px; }
  .not-found-page .err-cta .btn { flex: 1 1 calc(50% - 8px); padding: 10px 11px; }
  .not-found-page .err-search { display: grid; grid-template-columns: minmax(0,1fr); }
  .not-found-page .err-search-submit { width: 100%; }
  .not-found-page .err-links { margin-top: 24px; padding: 17px 14px; }
  .not-found-page .err-links-grid { grid-template-columns: minmax(0,1fr); }
  .not-found-page .err-links a { min-height: 46px; }
}
