#qm-cinema-v2 .qc-mask-reveal {
  width: clamp(220px, 35vw, 360px);
  margin: 0 auto 2px;
  opacity: 0;
  transform: scale(.96);
  transition: opacity 1.8s ease, transform 1.8s cubic-bezier(.2,.7,.3,1);
}
#qm-cinema-v2 .qc-custom-masks {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  transform: none;
}
#qm-cinema-v2 .qc-signature-title {
  font-size: clamp(40px, 10.2vw, 132px);
  gap: .25em;
  letter-spacing: .005em;
  opacity: 0;
  filter: blur(7px);
  transform: none;
  transition: opacity 1.4s ease .5s, filter 1.4s ease .5s;
}
#qm-cinema-v2 .qc-word > span {
  position: relative;
  opacity: 1;
  transform: none;
  transition: none;
}
#qm-cinema-v2 .qc-word-moves > span {
  background-image: linear-gradient(165deg, #e56a7b 0%, #b7364d 43%, #782338 100%);
}
#qm-cinema-v2 .qc-signature-orbit {
  transform: none;
  transition: none;
}
#qm-cinema-v2 .qc-finale {
  transition: opacity 1.2s ease, visibility 1.2s;
}
#qm-cinema-v2 .qc-film[data-scene="signature"] .qc-signature {
  transition: none;
}
#qm-cinema-v2 .qc-film[data-scene="signature"] .qc-mask-reveal {
  opacity: 1;
  transform: scale(1);
}
#qm-cinema-v2 .qc-film[data-scene="signature"] .qc-signature-title {
  opacity: 1;
  filter: blur(0);
  transform: none;
}
#qm-cinema-v2 .qc-film[data-scene="signature"] .qc-word > span {
  opacity: 1;
  transform: none;
}
/* A single restrained light pass starts at S, after the reveal has settled. */
#qm-cinema-v2 .qc-word-moves > span::after {
  content: attr(data-letter);
  position: absolute;
  inset: 0;
  pointer-events: none;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(110deg, transparent 36%, #e3a4b1 46%, #fff0e9 50%, #df91a2 54%, transparent 64%);
  background-size: 320% 100%;
  background-position: 0% 50%;
  background-clip: text;
  -webkit-background-clip: text;
  opacity: 0;
}
#qm-cinema-v2 .qc-film[data-scene="signature"] .qc-word-moves > span {
  animation: qm-metal-settle 1.8s ease both;
  animation-delay: calc(4.48s - var(--i) * .12s);
}
#qm-cinema-v2 .qc-film[data-scene="signature"] .qc-word-moves > span::after {
  animation: qm-silver-pass 1.8s cubic-bezier(.2,.6,.35,1) both;
  animation-delay: calc(4.48s - var(--i) * .12s);
}
@keyframes qm-silver-pass {
  0% { background-position: 0% 50%; opacity: 0; }
  18% { opacity: .68; }
  75% { opacity: .5; }
  100% { background-position: 100% 50%; opacity: 0; }
}
@keyframes qm-metal-settle {
  0% { filter: brightness(1); }
  38% { filter: brightness(1.2); }
  100% { filter: brightness(1.08); }
}
@media(max-width:600px) {
  #qm-cinema-v2 .qc-signature-title { font-size: clamp(38px, 10.8vw, 65px); }
}
@media(max-height:430px) and (min-width:601px) {
  #qm-cinema-v2 .qc-mask-reveal { width: 190px; }
  #qm-cinema-v2 .qc-signature-title { font-size: 65px; }
}
@media(prefers-reduced-motion:reduce) {
  #qm-cinema-v2 .qc-mask-reveal,
  #qm-cinema-v2 .qc-word > span { transition-delay: 0s; }
  #qm-cinema-v2 .qc-word-moves > span::after {
    animation: none!important;
    opacity: 0!important;
  }
}
