@font-face {
  font-family: Sofia;
  src: url('/fonts/sofia-900.woff2') format('woff2');
  font-weight: 900;
  font-display: swap;
}
@font-face {
  font-family: Hanken;
  src: url('/fonts/hanken-400.woff2') format('woff2');
  font-display: swap;
}
:root { color-scheme: dark; color: #edeae3; background: #0e0e0e; font: 17px/1.55 Hanken, sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100svh; display: flex; flex-direction: column; }
a { color: inherit; text-underline-offset: .25em; }
a:focus-visible { outline: 2px solid #ff6a36; outline-offset: 5px; }
.info-header, footer { padding: 1rem clamp(20px, 4vw, 64px); }
.info-header a { font: 900 1.75rem/1 Sofia, sans-serif; text-transform: uppercase; text-decoration: none; }
main { width: min(100%, 52rem); padding: clamp(40px, 8vw, 100px) 20px; margin-inline: auto; }
h1, h2, .error-number { font-family: Sofia, sans-serif; font-weight: 900; line-height: 1; text-transform: uppercase; }
h1 { font-size: clamp(2.6rem, 8vw, 5.6rem); margin: 0 0 1.5rem; }
h2 { font-size: 1.8rem; margin: 2.5rem 0 .6rem; }
p { margin: 0 0 1rem; overflow-wrap: anywhere; }
footer, nav { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
footer { margin-top: auto; color: #b5b0a8; }
.error-number { color: #ff6a36; font-size: clamp(6rem, 24vw, 18rem); margin: 0; }
.error-page h1 { font-size: clamp(2rem, 5vw, 4rem); margin-bottom: .6rem; }
.error-page nav { margin-top: 1.5rem; }
.primary-link { background: #ff6a36; color: #0e0e0e; padding: .55rem 1rem; text-decoration: none; }
.withdrawal-page h1 { overflow-wrap: anywhere; }
.withdrawal-alternative { margin-top: 1.5rem; }
