@font-face { font-family: 'DM Sans'; font-weight: 100 1000; font-display: swap; src: url('/homepage/dm-sans-variable.ttf') format('truetype'); }
.alan-error { margin: 0; background: #f3f2f2; color: #201e1d; font-family: 'DM Sans', system-ui, sans-serif; min-height: 100svh; }
.alan-error * { box-sizing: border-box; }
.alan-error-header { padding: 24px clamp(20px,5vw,80px); border-bottom: 1px solid #d0ccc9; }
.alan-error-brand { font-weight: 700; font-size: 22px; letter-spacing: -.04em; color: inherit; text-decoration: none; }
.alan-error-main { max-width: 980px; margin: auto; padding: clamp(44px,8vh,100px) 24px 70px; }
.alan-error-code { margin: 0 0 20px; font-size: clamp(100px,20vw,200px); font-weight: 800; letter-spacing: -.08em; line-height: .9; color: #ec3013; }
.alan-error h1 { margin: 0 0 20px; font-size: clamp(30px,5vw,56px); letter-spacing: -.04em; line-height: 1.12; font-weight: 700; }
.alan-error-description { max-width: 48ch; margin: 0; color: #625c58; font-size: 18px; line-height: 1.65; }
.alan-error-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.alan-error-actions a { display: inline-flex; align-items: center; gap: 24px; padding: 16px 22px; min-height: 50px; border: 1px solid #aaa39e; color: inherit; text-decoration: none; font-size: 14px; font-weight: 600; }
.alan-error-actions a:first-child { background: #ec3013; color: white; border-color: #ec3013; }
.alan-error-actions a:hover { background: #201e1d; color: white; border-color: #201e1d; }
.alan-error-contact { margin-top: 38px; font-size: 14px; color: #625c58; line-height: 1.7; }
.alan-error-contact a { color: #ae1800; text-underline-offset: 4px; overflow-wrap: anywhere; }
.alan-error a:focus-visible { outline: 3px solid #ec3013; outline-offset: 4px; }
