/* ---------- Start animation: logo travels from center to the header ----------
   js/portfolio-gate.js measures #headerLogo's real position/size, then
   animates #introLogo (a plain <img>, same src) from a large centered
   position to exactly that spot before revealing the real page. */

.intro-overlay {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}

.intro-overlay.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.intro-logo {
  display: block;
  height: 64px;
  width: auto;
  margin: 0;
}

.intro-logo.is-traveling {
  transition: top 0.7s cubic-bezier(0.65, 0, 0.35, 1),
              left 0.7s cubic-bezier(0.65, 0, 0.35, 1),
              width 0.7s cubic-bezier(0.65, 0, 0.35, 1),
              height 0.7s cubic-bezier(0.65, 0, 0.35, 1);
}

@media (max-width: 640px) {
  .intro-logo {
    height: 48px;
  }
}
