#orve-footer{
  position:relative;
  background:#020617;
  color:#cbd5f5;
  overflow:hidden;
  font-family:Inter,system-ui;
  min-height:600px;
}


/* CANVAS */
#fish-canvas{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  pointer-events:none;
}


/* GRID */
.orve-inner{
  position:relative;
  z-index:2;
  max-width:1400px;
  margin:auto;
  padding:90px 20px;
  display:grid;
  grid-template-columns:1.5fr repeat(4,1fr);
  gap:60px;
}

.orve-col h4{
  color:#fff;
  margin-bottom:18px;
  letter-spacing:.08em;
}

.orve-col a{
  display:block;
  margin-bottom:12px;
  color:#9aaeff;
  cursor:pointer;
}

.orve-col a:hover{color:#fff}

/* BRAND */
.brand img{width:140px;margin-bottom:16px}
.brand p{line-height:1.7}

/* SOCIALS */
.orve-socials{
  display:flex;
  gap:16px;
  margin-top:18px;
}
.orve-socials i{
  font-size:18px;
  color:#9aaeff;
  transition:.3s;
}
.orve-socials i:hover{
  color:#fff;
  transform:translateY(-4px);
}

/* NEWSLETTER */
.orve-newsletter{
  display:flex;
  margin-top:16px;
}
.orve-newsletter input{
  flex:1;
  padding:12px;
  background:#020617;
  border:1px solid #1e293b;
  color:#fff;
}
.orve-newsletter button{
  padding:12px 16px;
  background:#3b82f6;
  border:none;
  color:#fff;
}

/* LOCATIONS */
.orve-locations{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  text-align:center;
  gap:30px;
  padding:40px 20px;
  font-size:1rem;
  border-top:1px solid rgba(255,255,255,.08);
  position:relative;
  z-index:2;
}

/* TERMINAL */
.orve-terminal{
  text-align:center;
  font-family:monospace;
  padding:20px;
  color:#22d3ee;
}
.blink{
  animation:blink 1s steps(2) infinite;
}
@keyframes blink{50%{opacity:0}}

/* BOTTOM */
.orve-bottom{
  display:flex;
  justify-content:space-between;
  padding:18px 40px 26px;
  font-size:.75rem;
  border-top:1px solid rgba(255,255,255,.08);
}
.policies a{
  margin-left:16px;
  color:#9aaeff;
}


/* ============================
   ORVE FOOTER – MOBILE FIX
   ============================ */

@media (max-width: 1024px){
  .orve-inner{
    grid-template-columns:1fr 1fr;
    gap:40px;
  }

  .brand{
    grid-column:1 / -1;
    text-align:center;
  }

  .orve-socials{
    justify-content:center;
  }
}

@media (max-width: 768px){

  /* CANVAS HEIGHT CONTROL */
  #fish-canvas{
    height:100%;
  }

  .orve-inner{
    grid-template-columns:1fr;
    padding:70px 18px 50px;
    gap:36px;
    text-align:center;
  }

  .orve-col h4{
    font-size:1.05rem;
  }

  .orve-col a{
    font-size:.95rem;
  }

  .brand p{
    max-width:520px;
    margin:auto;
    font-size:.95rem;
  }

  /* NEWSLETTER */
  .orve-newsletter{
    flex-direction:column;
  }

  .orve-newsletter input{
    width:100%;
    margin-bottom:10px;
    text-align:center;
  }

  .orve-newsletter button{
    width:100%;
  }

  /* LOCATIONS STACK */
  .orve-locations{
    grid-template-columns:1fr;
    gap:24px;
    font-size:1.05rem;
    padding:30px 20px;
  }

  .orve-locations div{
    line-height:1.7;
  }

  /* TERMINAL */
  .orve-terminal{
    font-size:.85rem;
  }

  /* BOTTOM BAR */
  .orve-bottom{
    flex-direction:column;
    gap:14px;
    text-align:center;
    padding:20px;
  }

  .policies{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:14px;
  }

  .policies a{
    margin:0;
    font-size:.75rem;
  }
}

@media (max-width: 420px){

  .brand img{
    width:120px;
  }

  .orve-socials i{
    font-size:17px;
  }

  .orve-col a{
    font-size:.9rem;
  }

  .orve-locations{
    font-size:1rem;
  }
}
