:root{
  --tw-red:#b91c1c;
  --tw-dark:#0f172a;
  --tw-muted:rgba(15,23,42,.70);
}

.nf{
  background:#f8fafc;
}

/* HERO */
.nf-hero{
  position:relative;
  min-height:70vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
  padding:60px 20px;
}

.nf-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,.95) 0%,
    rgba(255,255,255,.85) 60%,
    rgba(255,255,255,.75) 100%
  );
}

.nf-container{
  position:relative;
  z-index:2;
  max-width:900px;
  width:100%;
}

/* 404 Zahl */
.nf-code{
  font-size:140px;
  font-weight:900;
  color:var(--tw-red);
  line-height:1;
  letter-spacing:-4px;
  text-shadow:0 20px 60px rgba(0,0,0,.08);
}

/* Titel */
.nf-title{
  font-size:36px;
  font-weight:900;
  margin:15px 0 10px;
  color:var(--tw-dark);
}

/* Text */
.nf-text{
  font-size:17px;
  color:var(--tw-muted);
  max-width:500px;
  margin:0 auto 35px;
  line-height:1.6;
}

/* Buttons */
.nf-actions{
  display:flex;
  gap:18px;
  justify-content:center;
  flex-wrap:wrap;
}

.nf-actions .btn{
  min-width:210px;
}

/* Responsive */
@media (max-width:768px){

  .nf-code{
    font-size:100px;
  }

  .nf-title{
    font-size:28px;
  }

  .nf-text{
    font-size:15px;
  }

}


/* 404 Primary Button Fix */
.nf-actions .btn--primary{
  background:#b91c1c !important;
  color:#ffffff !important;
  border:none !important;
}

.nf-actions .btn--primary:hover{
  background:#9f1717 !important;
  color:#ffffff !important;
}

/* Falls globale a-Styles reinfunken */
.nf-actions a{
  text-decoration:none !important;
}