/* ============================================================
   ORBIT LABS — features: burger, mobile nav, modal, form,
   crew detail, live tick, cta actions
   ============================================================ */

/* ---- hamburger ---- */
.nav-burger{
  display:none;flex-direction:column;gap:5px;padding:.5rem;
  border-radius:8px;
}
.nav-burger span{
  display:block;width:22px;height:2px;background:var(--ink);
  transition:transform .35s var(--ease),opacity .25s;
}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:820px){
  .nav-burger{display:flex}
  .nav-cta{display:none}
}

/* ---- mobile nav overlay ---- */
.mobile-nav{
  position:fixed;inset:0;z-index:40;background:rgba(4,7,15,.97);
  backdrop-filter:blur(16px);
  display:grid;place-items:center;
  opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s;
}
.mobile-nav.open{opacity:1;visibility:visible}
.mobile-nav-links{display:flex;flex-direction:column;gap:2rem;text-align:center}
.mobile-nav-links a{
  font-family:var(--mono);font-size:1.4rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-dim);transition:color .3s;
}
.mobile-nav-links a:hover{color:var(--signal)}
body.nav-open,body.modal-open{overflow:hidden}

/* ---- live telemetry tick flash ---- */
[data-live]{transition:color .4s}
[data-live].tick{color:var(--signal)}

/* ---- CTA actions row ---- */
.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2.2rem}
.copy-btn.copied{border-color:var(--signal);color:var(--signal)}

/* ---- crew detail expand ---- */
.crew-detail{
  max-height:0;overflow:hidden;transition:max-height .5s var(--ease);
}
.crew-detail p{
  color:var(--ink-dim);font-size:.85rem;line-height:1.6;
  padding-top:.7rem;margin-top:.7rem;border-top:1px solid var(--line-soft);
}
.crew-more{
  margin-top:.8rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--signal);padding:.3rem 0;
  border-bottom:1px solid transparent;transition:border-color .3s;
}
.crew-more:hover{border-bottom-color:var(--signal)}
.crew-card.expanded{border-color:var(--line)}

/* ---- contact modal ---- */
.modal{
  position:fixed;inset:0;z-index:60;background:rgba(4,7,15,.8);
  backdrop-filter:blur(10px);
  display:grid;place-items:center;padding:1.2rem;
  opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s;
}
.modal.open{opacity:1;visibility:visible}
.modal-panel{
  position:relative;width:min(560px,100%);max-height:88vh;overflow-y:auto;
  background:linear-gradient(160deg,var(--panel),var(--void-2));
  border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.6rem,4vw,2.4rem);
  transform:translateY(16px);transition:transform .35s var(--ease);
  box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.modal.open .modal-panel{transform:none}
.modal-close{
  position:absolute;top:1.1rem;right:1.1rem;width:36px;height:36px;
  display:grid;place-items:center;border-radius:50%;color:var(--ink-dim);
  border:1px solid var(--line-soft);transition:color .3s,border-color .3s,transform .3s;
}
.modal-close:hover{color:var(--ink);border-color:var(--signal);transform:rotate(90deg)}

/* ---- form ---- */
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:520px){.cf-row{grid-template-columns:1fr}}
.cf-field{margin-bottom:1.1rem;display:flex;flex-direction:column}
.cf-field label{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-dim);margin-bottom:.45rem;
}
.cf-field input,.cf-field select,.cf-field textarea{
  background:var(--void);border:1px solid var(--line-soft);border-radius:var(--r-sm);
  color:var(--ink);font:inherit;font-size:.95rem;padding:.7rem .85rem;
  transition:border-color .3s,box-shadow .3s;
}
.cf-field textarea{resize:vertical;min-height:90px}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{
  outline:none;border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-soft);
}
.cf-field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2322d3ee' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem}
.cf-status{font-family:var(--mono);font-size:.75rem;min-height:1.2rem;margin-bottom:.9rem}
.cf-status.err{color:var(--danger)}
.cf-status.ok{color:var(--signal)}
.cf-submit{width:100%;justify-content:center}
