/* Revisão 09 clara: destaque em linha própria e painel reto com flutuação suave. */
.typed-word {
  position: relative;
  display: block;
  min-height: 1.16em;
  white-space: nowrap;
}
.typed-output {
  position: absolute;
  top: 0;
  left: 0;
  display: none;
  white-space: pre;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  color: inherit;
}
.typed-caret {
  position: absolute;
  top: .14em;
  left: 0;
  display: none;
  width: 0;
  height: .9em;
  border-left: 2px solid var(--carmine);
  pointer-events: none;
}
.hero-positioning {
  margin: 0;
  color: var(--ink);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
}
.hero-positioning em { color: var(--carmine); font-style: normal; }
.hero-panel-scene, .hero-panel-plane { min-width: 0; }
.hero-panel-plane { --panel-drift: -12px; transform: none; }

@keyframes cygnus-type-cursor {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}
@keyframes cygnus-panel-drift {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(var(--panel-drift)); }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-type-active .typed-reserve { visibility: hidden; }
  .hero-type-active .typed-output { display: block; }
  .hero-type-active .typed-caret {
    display: block;
    animation: cygnus-type-cursor 1s infinite;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-panel-plane {
    animation: cygnus-panel-drift 6s ease-in-out infinite;
    animation-play-state: paused;
  }
  .hero.ambient-active .hero-panel-plane { animation-play-state: running; }
  .hero.ambient-active .hero-panel-scene:focus-within .hero-panel-plane {
    animation-play-state: paused;
  }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .hero.ambient-active .hero-panel-scene:hover .hero-panel-plane {
    animation-play-state: paused;
  }
}
@media (max-width: 767px) {
  .hero-panel-plane { --panel-drift: -8px; }
}

/* Aba oculta, acessibilidade e impressão preservam conteúdo completo e painel reto. */
.ambient-paused .typed-reserve { visibility: visible !important; }
.ambient-paused .typed-output,
.ambient-paused .typed-caret { display: none !important; }
.ambient-paused .hero-panel-plane {
  animation-play-state: paused !important;
  transform: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .typed-reserve { visibility: visible !important; }
  .typed-output, .typed-caret { display: none !important; }
  .hero-panel-plane { animation: none !important; transform: none !important; }
}
@media print {
  .typed-reserve { visibility: visible !important; }
  .typed-output, .typed-caret { display: none !important; }
  .hero-panel-plane { animation: none !important; transform: none !important; }
}
