html,body{overflow-x:hidden}
.nf{text-align:center;padding:3.5rem 1rem 4rem;background:radial-gradient(ellipse at 50% 0%,#FFF6D6 0%,#fff 60%)}
.nf-404{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(5.5rem,18vw,11rem);line-height:.95;margin:0;background:linear-gradient(135deg,#8B0000 0%,#B8860B 55%,#FFD700 100%);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.04em}
.nf-ta{font-size:1rem;color:var(--v-mute);margin:.6rem 0 .3rem}
.nf h1{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(1.5rem,4vw,2.4rem);line-height:1.2;margin:.2rem auto .6rem;max-width:22ch;color:var(--v-ink)}
.nf h1 em{font-style:normal;color:var(--v-red)}
.nf-sub{color:var(--v-ink2);max-width:52ch;margin:0 auto 1.6rem;line-height:1.7}
.nf-btn{display:inline-flex;align-items:center;gap:.6rem;border:0;cursor:pointer;background:linear-gradient(150deg,#A31515,#8B0000 55%,#5E0000);color:#FFD700;font-family:'Montserrat',sans-serif;font-weight:900;letter-spacing:.06em;font-size:1rem;padding:.9rem 1.6rem;border-radius:99px;box-shadow:0 14px 30px -16px rgba(94,0,0,.7);transition:transform .12s}
.nf-btn:active{transform:scale(.96)}.nf-btn img{height:1.5em;width:auto}
.nf-btn:focus-visible{outline:3px solid #FFD700;outline-offset:3px}
.nf-score{display:block;margin-top:.7rem;font-weight:800;color:var(--v-red);min-height:1.3em}
.nf-tag{display:inline-block;margin:1.4rem 0 0;font-family:'Montserrat',sans-serif;font-weight:800;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--v-red-d);background:var(--v-gold-l);border:1px solid #F3DD8A;border-radius:99px;padding:.45rem 1rem}
.nf-go{max-width:900px;margin:0 auto;padding:2.2rem 1rem 3rem}
.nf-go h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--v-mute);text-align:center;margin:0 0 1rem}
.nf-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem}
.nf-l{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--v-line);border-radius:99px;padding:.55rem 1rem;font-weight:700;font-size:.86rem;color:var(--v-ink);text-decoration:none}
.nf-l:hover{border-color:var(--v-red);color:var(--v-red)}
@keyframes nfpop{0%{transform:scale(1)}40%{transform:scale(1.18) rotate(-6deg)}100%{transform:scale(1)}}.nf-btn.pop img{animation:nfpop .35s}
@media (prefers-reduced-motion:reduce){.nf-btn.pop img{animation:none}}
