/* =============================================================================
   404 — an empty room.
   Thin, letterspaced numerals under the brass wire; one door back out.
   ============================================================================= */
.error-page {
    min-height: 52vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.error-page::before {
    content: "";
    display: block;
    width: 1px;
    height: clamp(1.75rem, 4vh, 2.75rem);
    background: linear-gradient(180deg, transparent, var(--accent-warm));
    margin-bottom: var(--spacing-lg);
    opacity: 0.85;
}

.error-code {
    margin: 0;
    font-family: var(--font-family-display);
    font-size: clamp(4.5rem, 3rem + 9vw, 9rem);
    font-weight: 180;
    line-height: 1;
    letter-spacing: 0.14em;
    /* optically re-center the tracked numerals */
    margin-right: -0.14em;
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}

.error-desc {
    margin: var(--spacing-lg) 0 0;
    color: var(--text-secondary);
    font-size: var(--font-size-lg);
    letter-spacing: var(--tracking-snug);
    max-width: 44ch;
}

.error-actions {
    margin: var(--spacing-xl) 0 0;
}

.error-actions a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-family-mono);
    font-size: var(--font-size-x-small);
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border-light);
    padding-bottom: 0.35rem;
    transition:
        color 0.25s ease,
        border-color 0.25s ease;
}

.error-actions a:hover {
    color: var(--text-primary);
    border-bottom-color: var(--accent-warm);
}

.error-actions a svg {
    width: 13px;
    height: 13px;
}
