/* Both marks keep a fixed layout box while each ship moves inside a clipped stage. */
.bootcamp-logo { position: relative; --rocket-size: 28px; --rocket-bleed: 12px; }
.rocket-base { display: block; width: var(--rocket-size); height: var(--rocket-size); }
.rocket-viewport {
  display: none;
  position: absolute;
  inset: calc(-1 * var(--rocket-bleed)) 0;
  overflow: hidden;
  pointer-events: none;
}
.rocket-stage {
  display: block;
  position: absolute;
  top: var(--rocket-bleed);
  width: var(--rocket-size);
  height: var(--rocket-size);
  overflow: visible;
}
.rocket-active .rocket-base { visibility: hidden; }
.rocket-active .rocket-viewport { display: block; }
.rocket-active .rocket-ship { animation: rocket-launch 6s linear infinite; }
.rocket-active .rocket-fire { animation: rocket-ignition 6s linear infinite; }
.rocket-active .rocket-fire-shape {
  transform-origin: 8px 12px;
  animation: rocket-flame .18s steps(2, end) infinite;
}
.rocket-active .rocket-embers { animation: rocket-embers 6s linear infinite; }
@keyframes rocket-launch {
  0%, 10% { opacity: 1; transform: translate(0, 0); }
  14% { transform: translate(.35px, -.3px); }
  18% { transform: translate(-.4px, -.5px); }
  22% { transform: translate(.4px, -.5px); }
  26% { transform: translate(0, -1px); }
  38% { transform: translate(0, -3px); animation-timing-function: cubic-bezier(.6, 0, 1, 1); }
  58% { opacity: 1; transform: translate(0, -40px); }
  59% { opacity: 0; transform: translate(0, -40px); }
  60%, 64% { opacity: 0; transform: translate(0, 26px); }
  70% { opacity: 1; transform: translate(0, 12px); animation-timing-function: ease-out; }
  82% { transform: translate(0, -1px); }
  88%, 100% { opacity: 1; transform: translate(0, 0); }
}
@keyframes rocket-ignition {
  0%, 10% { opacity: 0; }
  14%, 58% { opacity: 1; }
  59%, 66% { opacity: 0; }
  70%, 79% { opacity: 1; }
  88%, 100% { opacity: 0; }
}
@keyframes rocket-flame {
  0%, 100% { transform: scaleY(.65); }
  50% { transform: scaleY(1.1); }
}
@keyframes rocket-embers {
  0%, 19% { opacity: 0; transform: translateY(0); }
  30% { opacity: .8; transform: translateY(1px); }
  55%, 100% { opacity: 0; transform: translateY(8px); }
}
@media print {
  .rocket-active .rocket-base { visibility: visible; }
  .rocket-viewport { display: none !important; }
}

.enroll-rocket-wrap {
  position: relative;
  width: 48px;
  height: 48px;
  margin: 32px auto;
}
.enroll-rocket-wrap .bootcamp-logo {
  --rocket-size: 48px;
  --rocket-bleed: 20px;
  width: var(--rocket-size);
  height: var(--rocket-size);
}
.enroll-rocket-toggle {
  position: absolute;
  inset: 0;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  cursor: pointer;
}
.enroll-rocket-toggle:hover { background: rgb(53 94 54 / 6%); }
.enroll-rocket-toggle:focus-visible { outline: 2px solid var(--green); outline-offset: 6px; }
.enroll-rocket-toggle[hidden] { display: none; }
