/* ==========================================================================
   404 + pagine policy
   ========================================================================== */

.nf-404 {
    max-width: 640px;
    margin: 0 auto;
    padding: clamp(72px, 12vw, 180px) 28px;
    text-align: center;
}

.nf-404__code {
    font-family: var(--nf-serif);
    font-weight: 400;
    font-size: clamp(5rem, 16vw, 11rem);
    line-height: 0.9;
    letter-spacing: -0.005em;
    margin: 0 0 24px;
}

.nf-404__title {
    font-family: var(--nf-serif);
    font-weight: 400;
    font-style: italic;
    font-size: clamp(1.6rem, 3.4vw, 2.4rem);
    margin: 0 0 18px;
}

.nf-404__sub {
    font-size: 15.5px;
    line-height: 1.6;
    color: var(--nf-body);
    max-width: 400px;
    margin: 0 auto 36px;
}

.nf-404__actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

.nf-thanks {
    max-width: 640px;
    margin: 0 auto;
    padding: clamp(72px, 12vw, 180px) 28px;
    text-align: center;
}

.nf-thanks__over { display: block; margin-bottom: 24px; }

.nf-thanks__title {
    font-family: var(--nf-serif);
    font-weight: 400;
    font-style: italic;
    font-size: clamp(1.8rem, 3.8vw, 2.8rem);
    margin: 0 0 18px;
}

.nf-thanks__sub {
    font-size: 15.5px;
    line-height: 1.6;
    color: var(--nf-body);
    max-width: 440px;
    margin: 0 auto 36px;
}

.nf-thanks__actions { display: flex; justify-content: center; }

.nf-policy { max-width: 760px; padding-top: clamp(48px, 6vw, 88px); padding-bottom: clamp(64px, 8vw, 120px); }

.nf-policy__title {
    font-family: var(--nf-serif);
    font-weight: 400;
    font-size: clamp(2.2rem, 4.4vw, 3.2rem);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0 0 28px;
}

.nf-policy__body { font-size: 15px; line-height: 1.7; color: var(--nf-body); }
.nf-policy__body p { margin: 0 0 20px; }
.nf-policy__body a { color: var(--nf-ink); text-decoration: underline; text-underline-offset: 2px; }

.nf-policy__h2 {
    font-family: var(--nf-serif);
    font-weight: 400;
    font-size: clamp(1.3rem, 2.2vw, 1.6rem);
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--nf-ink);
    margin: 40px 0 14px;
}

.nf-policy__list { margin: 0 0 20px; padding-left: 22px; }
.nf-policy__list li { margin-bottom: 8px; }
