/* A shared grid reserves the tallest heading; masked lines animate independently. */
.sd-reference-hero .hero-title.sd-rotating-title{display:grid}
.sd-reference-hero .sd-rotating-title>.sd-headline-slide{grid-area:1/1;display:block;align-self:center;white-space:normal;visibility:hidden;pointer-events:none}
.sd-reference-hero .sd-rotating-title>.sd-headline-slide.is-active,.sd-reference-hero .sd-rotating-title>.sd-headline-slide.is-leaving{visibility:visible}
.sd-reference-hero .sd-headline-line{display:block;overflow:hidden;perspective:900px;padding-block:.055em;margin-block:-.055em}
.sd-reference-hero .sd-headline-ink{display:block;text-wrap:balance;transform-origin:50% 100%;backface-visibility:hidden}
.sd-reference-hero .has-cycled .is-active .sd-headline-ink{animation:sd-headline-reveal .62s cubic-bezier(.16,1,.3,1) both}
.sd-reference-hero .has-cycled .is-active .sd-headline-line:nth-child(2) .sd-headline-ink{animation-delay:.085s}
.sd-reference-hero .is-leaving .sd-headline-ink{animation:sd-headline-exit .32s cubic-bezier(.55,0,1,.45) both}
.sd-reference-hero .is-leaving .sd-headline-line:nth-child(2) .sd-headline-ink{animation-delay:.045s}
@keyframes sd-headline-reveal{0%{transform:translate3d(0,115%,0) rotateX(-18deg);filter:blur(3px);opacity:0}35%{opacity:1}100%{transform:translate3d(0,0,0) rotateX(0);filter:blur(0);opacity:1}}
@keyframes sd-headline-exit{0%{transform:translate3d(0,0,0) rotateX(0);opacity:1}100%{transform:translate3d(0,-110%,0) rotateX(10deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.sd-reference-hero .has-cycled .is-active .sd-headline-ink,.sd-reference-hero .is-leaving .sd-headline-ink{animation:none}.sd-reference-hero .sd-rotating-title>.sd-headline-slide.is-leaving{visibility:hidden}}
