/* =========================
   RESET
========================= */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html,body{
  width:100%;
  height:100%;
}

/* =========================
   BASE
========================= */
body{
  background:#050505;
  color:#fff;
  font-family:
    "Orbitron",
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  overflow:hidden;
  position:relative;
}

/* =========================
   AMBIENT LIGHT (BEHIND TEXT)
========================= */
.light-band{
  position:fixed;
  inset:-50%;
  background:
    linear-gradient(
      105deg,
      transparent 42%,
      rgba(255,255,255,0.45) 50%,
      transparent 58%
    );
  filter:blur(36px);
  opacity:0.45;
  animation:lightMove 40s linear infinite;
  pointer-events:none;
  z-index:1;
}

@keyframes lightMove{
  from{ transform:translate(-18%,-10%); }
  to{ transform:translate(18%,10%); }
}

/* =========================
   CONTENT LAYER
========================= */
.wrap{
  position:relative;
  z-index:3; /* ABOVE LIGHT */
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:0 6% 16%;
}

/* =========================
   404 CODE
========================= */
.code{
  font-size:96px;
  font-weight:300;
  letter-spacing:-0.02em;
  line-height:1;
  margin-bottom:18px;
}

/* =========================
   RED DOT (LIFE SIGNAL)
========================= */
.dot{
  display:inline-block;
  width:10px;
  height:10px;
  background:#e10600;
  margin-left:8px;
  transform:translateY(-10px);
  animation:dotPulse 3s ease-in-out infinite;
}

@keyframes dotPulse{
  0%{ opacity:.2; }
  50%{ opacity:1; }
  100%{ opacity:.2; }
}

/* =========================
   COPY
========================= */
.copy{
  font-size:14px;
  line-height:1.7;
  color:rgba(225,6,0,.75);
}

.copy a{
  color:#ffffff; /* HOME PAGE IS WHITE */
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.35);
  padding-bottom:2px;
}

/* =========================
   TRANSITION PANEL
========================= */
.transition{
  position:fixed;
  left:0;
  bottom:-100%;
  width:100%;
  height:100%;
  background:#050505;
  z-index:10;
}

/* =========================
   RESPONSIVE
========================= */
@media (min-width:768px){
  .wrap{
    padding:0 10% 18%;
  }
  .code{ font-size:120px; }
}

@media (min-width:1200px){
  .code{ font-size:140px; }
}