body[data-motion-page="dove-magic"] .service-section-topic {
  margin: 0 0 .8rem;
  color: var(--color-1);
  font-family: 'Noto Sans TC', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .08em;
}

body[data-motion-page="dove-magic"] .service-section-promo {
  margin: 0;
  color: inherit;
  font-family: 'Noto Serif TC', serif;
  font-size: 3.25rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .05em;
}

body[data-motion-page="dove-magic"] .service-section-promo span {
  font-family: inherit;
  font-weight: inherit;
}

body[data-motion-page="dove-magic"] .service-section-promo + p {
  margin-top: 1rem;
}

@media (max-width: 767.98px) {
  body[data-motion-page="dove-magic"] .service-section-promo {
    font-size: 2.5rem;
  }
}

/* 內容主圖使用可索引的 img，外層仍維持既有寬幅比例與動畫遮罩。 */
body[data-motion-page="dove-magic"] .dove-feature-image {
  position: relative;
  overflow: hidden;
}

body[data-motion-page="dove-magic"] .dove-feature-image > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* 鴿子魔術專屬節奏：以字距、聚焦與暗幕退去建立舞台感。 */
body.dove-signature-motion .dove-motion-copy .service-section-topic {
  opacity: 0;
  letter-spacing: .18em;
  transition: opacity 1.6s cubic-bezier(.4, 0, .2, 1),
    letter-spacing 1.8s cubic-bezier(.4, 0, .2, 1);
}

body.dove-signature-motion .dove-motion-copy .service-section-promo {
  opacity: 0;
  filter: blur(4px);
  letter-spacing: .075em;
  transition: opacity 1.9s cubic-bezier(.4, 0, .2, 1) .3s,
    filter 2.05s cubic-bezier(.4, 0, .2, 1) .3s,
    letter-spacing 2.05s cubic-bezier(.4, 0, .2, 1) .3s;
}

body.dove-signature-motion .dove-motion-copy > p {
  opacity: 0;
  transition: opacity 1.4s cubic-bezier(.4, 0, .2, 1) .75s;
}

body.dove-signature-motion .dove-motion-copy.is-dove-copy-visible .service-section-topic {
  opacity: 1;
  letter-spacing: .08em;
}

body.dove-signature-motion .dove-motion-copy.is-dove-copy-visible .service-section-promo {
  opacity: 1;
  filter: blur(0);
  letter-spacing: .05em;
}

body.dove-signature-motion .dove-motion-copy.is-dove-copy-visible > p {
  opacity: 1;
}

body.dove-signature-motion .dove-motion-image {
  position: relative;
  overflow: hidden;
  opacity: 0;
  filter: brightness(.78) blur(4px);
  transition: opacity 2.1s cubic-bezier(.4, 0, .2, 1) .45s,
    filter 2.25s cubic-bezier(.4, 0, .2, 1) .45s;
  will-change: opacity, filter;
}

body.dove-signature-motion .dove-motion-image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: rgba(5, 6, 16, .34);
  opacity: 1;
  transition: opacity 2.35s cubic-bezier(.4, 0, .2, 1) .45s;
  pointer-events: none;
}

body.dove-signature-motion .dove-motion-image.is-dove-image-visible {
  opacity: 1;
  filter: brightness(1) blur(0);
}

body.dove-signature-motion .dove-motion-image.is-dove-image-visible::after {
  opacity: 0;
}

body.dove-signature-motion .dove-motion-separator {
  opacity: 0;
  transform: scaleY(0);
  transform-origin: top;
  transition: opacity .75s ease, transform 1.8s cubic-bezier(.4, 0, .2, 1);
}

body.dove-signature-motion .dove-motion-separator.is-dove-separator-visible {
  opacity: 1;
  transform: scaleY(1);
}

body.dove-signature-motion .dove-motion-button {
  opacity: 0;
  transform: translate3d(0, 8px, 0);
  transition: opacity .75s cubic-bezier(.22, .61, .36, 1), color .3s, background-color .3s,
    transform .85s cubic-bezier(.22, .61, .36, 1);
}

body.dove-signature-motion .dove-motion-button.is-dove-button-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* 手機保留聚焦層次，但縮短完成時間，避免垂直捲動時停留在半透明狀態過久。 */
@media (max-width: 767.98px) {
  body.dove-signature-motion .dove-motion-copy .service-section-topic {
    transition-duration: 1.05s, 1.2s;
  }

  body.dove-signature-motion .dove-motion-copy .service-section-promo {
    transition-duration: 1.25s, 1.4s, 1.4s;
    transition-delay: .14s, .14s, .14s;
  }

  body.dove-signature-motion .dove-motion-copy > p {
    transition-duration: 1s;
    transition-delay: .38s;
  }

  body.dove-signature-motion .dove-motion-image {
    transition-duration: 1.35s, 1.5s;
    transition-delay: .18s, .18s;
  }

  body.dove-signature-motion .dove-motion-image::after {
    transition-duration: 1.6s;
    transition-delay: .18s;
  }

  body.dove-signature-motion .dove-motion-separator {
    transition-duration: .6s, 1.45s;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.dove-signature-motion .dove-motion-copy .service-section-topic,
  body.dove-signature-motion .dove-motion-copy .service-section-promo,
  body.dove-signature-motion .dove-motion-copy > p,
  body.dove-signature-motion .dove-motion-image,
  body.dove-signature-motion .dove-motion-separator,
  body.dove-signature-motion .dove-motion-button {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }

  body.dove-signature-motion .dove-motion-copy .service-section-topic {
    letter-spacing: .08em !important;
  }

  body.dove-signature-motion .dove-motion-copy .service-section-promo {
    letter-spacing: .05em !important;
  }

  body.dove-signature-motion .dove-motion-image::after {
    opacity: 0 !important;
    transition: none !important;
  }

}
