.err {
    min-height: 100vh;
    min-height: 100svh;
    background: var(--black);
    color: var(--white);
    display: flex;
    align-items: center;
    padding: 7.5rem var(--pad-x) 5.625rem;
}

.err__inner {
    max-width: var(--max-width);
    margin: 0 auto;
    width: 100%;
}

.err__code {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--green);
    margin-bottom: 1.625rem;
}

.err h1 {
    font-size: clamp(2.625rem, 8vw, 6.875rem);
    line-height: .96;
    letter-spacing: -.04em;
    font-weight: 800;
    max-width: 14ch;
    text-wrap: balance;
}

.err__lead {
    margin-top: 1.75rem;
    font-size: clamp(1.0625rem, 1.8vw, 1.25rem);
    line-height: 1.5;
    color: rgba(255, 255, 255, .7);
    max-width: 46ch;
}

.err__links {
    margin-top: 3.25rem;
    padding-top: 2.375rem;
    border-top: 1px solid rgba(255, 255, 255, .14);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.875rem;
}

.err__link {
    display: block;
    transition: transform .3s var(--ease);
}

.err__link:hover {
    transform: translateY(-3px);
}

.err__link span {
    display: block;
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--green);
    margin-bottom: .5625rem;
}

.err__link strong {
    display: block;
    font-size: 1.0625rem;
    font-weight: 600;
    letter-spacing: -.01em;
    margin-bottom: .3125rem;
}

.err__link p {
    font-size: .875rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, .55);
}

@media (max-width: 1024px) {
    .err__links {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.625rem;
    }
}

@media (max-width: 640px) {
    .err {
        padding: 6.875rem var(--pad-x) 4.375rem;
    }
    .err__links {
        grid-template-columns: 1fr;
        gap: 1.375rem;
    }
}
