/* Base content remains visible. JS adds only these scoped optical treatments. */
[data-expressive-hero] .hero-line { perspective: 900px; }
[data-expressive-hero] .hero-line > span { backface-visibility: hidden; }

[data-expressive-contact] #contact-title .contact-title-line {
  display: inline-block;
  overflow: hidden;
  padding: .15em .04em;
  margin: -.15em -.04em;
  vertical-align: bottom;
}
[data-expressive-contact] [data-contact-word] {
  display: inline-block;
  transform-origin: 0% 100%;
  white-space: nowrap;
}
[data-expressive-contact] [data-contact-word]:last-child { color: inherit; }
/* Set only by a running GSAP owner. Native/no-JS content is visible by default. */
[data-expressive-contact][data-contact-state="prepared"] [data-contact-word] {
  opacity: 0;
  visibility: hidden;
  transform: translateY(108%) rotate(1.8deg);
}
[data-expressive-contact][data-contact-state="prepared"] .contact-email {
  opacity: 0;
  visibility: hidden;
  transform: translateY(13px);
  --mc-contact-line: 0;
}
[data-expressive-contact] .contact-email::after {
  background: var(--rust, #a3462d);
  transform: scaleX(var(--mc-contact-line, 1));
  transform-origin: center;
}

@media (prefers-reduced-motion: reduce) {
  [data-expressive-hero] .hero-line { perspective: none; }
  [data-expressive-hero] .hero-line > span,
  [data-expressive-contact] [data-contact-word] {
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    will-change: auto;
  }
  [data-expressive-contact] .contact-email {
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  [data-expressive-contact] .contact-email::after { transform: scaleX(1); }
}
