.system-heading-effect { perspective: 720px; }
.web-ai-page .web-ai-hero h1 .system-heading-effect__char { display: inline-block; margin-top: 0; font-size: inherit; font-weight: inherit; letter-spacing: inherit; line-height: inherit; }
.system-heading-effect.is-prepared .system-heading-effect__char { display: inline-block; opacity: 0; transform: translateY(1.3em) rotateX(-90deg); transform-origin: 50% 100%; }
.system-heading-effect.is-visible .system-heading-effect__char { animation: system-heading-char-in 1800ms cubic-bezier(.22,.75,.28,1) both; animation-delay: calc(var(--char-index) * 220ms); }
.web-ai-page .web-ai-main h2.system-heading-effect.is-visible .system-heading-effect__char { animation-duration: 900ms; animation-delay: calc(var(--char-index) * 110ms); }
@keyframes system-heading-char-in { from { opacity: 0; transform: translateY(1.3em) rotateX(-90deg); } to { opacity: 1; transform: translateY(0) rotateX(0); } }
.system-heading-effect.is-prepared > span:not(.system-heading-effect__char) { opacity: 0; transform: translateY(.65em) rotateX(-18deg); transform-origin: 50% 100%; }
.system-heading-effect.is-visible > span:not(.system-heading-effect__char) { animation: system-heading-subtitle-in 900ms cubic-bezier(.22,.75,.28,1) 700ms both; }
@keyframes system-heading-subtitle-in { from { opacity: 0; transform: translateY(.65em) rotateX(-18deg); } to { opacity: 1; transform: translateY(0) rotateX(0); } }
@media (prefers-reduced-motion: reduce) { .system-heading-effect.is-prepared .system-heading-effect__char, .system-heading-effect.is-prepared > span:not(.system-heading-effect__char) { opacity: 1; transform: none; animation: none; } }
