/* Original artwork; one restrained reveal, then a completely still brand mark. */
#arrival.has-logo-intro { padding-inline: clamp(1rem, 4vw, 4rem); }
#arrival.has-logo-intro .inner {
  width: min(820px, 100%);
  gap: clamp(1.8rem, 5svh, 3rem);
}
.logo-intro {
  width: min(640px, 100%);
  aspect-ratio: 580 / 212;
  opacity: 1;
  transition: none;
}
.logo-intro::before { content: none; }
.logo-intro #logo-static {
  display: block;
  width: 100%; height: auto;
  -webkit-mask-image: none; mask-image: none;
}
/* Genuine alpha in the shared artwork replaces background-color blending and
   the old radial fade, including over the moving contact-section film. */
.contact-logo { -webkit-mask-image: none; mask-image: none; }
.logo-intro .logo-reveal {
  display: none;
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  overflow: visible;
  pointer-events: none;
}
.logo-intro[data-intro-state="pending"] #logo-static,
.logo-intro[data-intro-state="playing"] #logo-static { opacity: 0; }
.logo-intro[data-intro-state="playing"] .logo-reveal { display: block; }

.logo-intro[data-intro-state="playing"] .logo-plane-wipe {
  transform-box: view-box;
  transform-origin: 32px 0;
  animation: hh-logo-wipe .76s cubic-bezier(.22,.7,.25,1) .08s both;
}
.logo-intro[data-intro-state="playing"] .logo-plane {
  animation: hh-logo-metal .95s ease-out .08s both;
}
.logo-intro[data-intro-state="playing"] .logo-sheen {
  animation: hh-logo-sheen 1.12s cubic-bezier(.2,.65,.3,1) .10s both;
}
.logo-intro[data-intro-state="playing"] .logo-arc-wipe {
  transform-box: view-box;
  transform-origin: 32px 0;
  animation: hh-logo-wipe 1.02s cubic-bezier(.32,.52,.3,1) .40s both;
}
.logo-intro[data-intro-state="playing"] .logo-words {
  animation: hh-logo-words .65s cubic-bezier(.2,.7,.3,1) .93s both;
}
.logo-intro[data-intro-state="playing"] .logo-signature {
  animation: hh-logo-signature .58s ease-out 1.52s both;
}
@keyframes hh-logo-wipe { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes hh-logo-metal { from { opacity: .12; } to { opacity: 1; } }
@keyframes hh-logo-sheen {
  0% { transform: translateX(0); opacity: 0; }
  18% { opacity: .85; }
  78% { opacity: .7; }
  100% { transform: translateX(330px); opacity: 0; }
}
@keyframes hh-logo-words {
  from { opacity: 0; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes hh-logo-signature {
  from { opacity: 0; transform: translateY(2px); }
  to { opacity: 1; transform: translateY(0); }
}

#arrival.has-logo-intro .descend { opacity: 1; transition: none; }
#arrival.has-logo-intro .descend button {
  font-size: .875rem;
  letter-spacing: .18em;
  min-height: 44px;
  color: #aab4c1;
}
#arrival.has-logo-intro .descend .arrow { animation: none; opacity: .65; }
.logo-intro[data-intro-state="playing"] + .descend {
  animation: hh-logo-cue .55s ease-out 1.50s both;
}
#arrival.has-logo-intro .descend:focus-within { opacity: 1; animation: none; }
@keyframes hh-logo-cue { from { opacity: 0; } to { opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  .logo-intro[data-intro-state] #logo-static { opacity: 1; }
  .logo-intro[data-intro-state] .logo-reveal { display: none; }
  #arrival.has-logo-intro .descend { animation: none; opacity: 1; }
}
