.ah-01f2aa8c-headline {
    margin: 0;
    line-height: 1.2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.3em;
}

.ah-01f2aa8c-words-wrapper {
    display: inline-block;
    position: relative;
    vertical-align: middle;
}

.ah-01f2aa8c-word {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    white-space: nowrap;
}

.ah-01f2aa8c-word.is-active {
    position: relative;
    opacity: 1;
}

.ah-01f2aa8c-word.is-hidden {
    opacity: 0;
}

/* --- Fade Animation --- */
.ah-anim-fade .ah-01f2aa8c-word {
    transition: opacity 0.5s ease-in-out;
}

/* --- Slide Animation --- */
.ah-anim-slide .ah-01f2aa8c-words-wrapper {
    overflow: hidden;
}
.ah-anim-slide .ah-01f2aa8c-word {
    transform: translateY(100%);
    transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55), opacity 0.5s ease;
}
.ah-anim-slide .ah-01f2aa8c-word.is-active {
    transform: translateY(0);
}
.ah-anim-slide .ah-01f2aa8c-word.is-hidden {
    transform: translateY(-100%);
}

/* --- Typing Animation --- */
.ah-anim-typing .ah-01f2aa8c-words-wrapper {
    overflow: hidden;
    white-space: nowrap;
    border-right: 2px solid currentColor;
    transition: width 0.5s ease-in-out;
    animation: ah-01f2aa8c-blink 0.7s infinite;
}
.ah-anim-typing .ah-01f2aa8c-word {
    opacity: 1; /* always visible in DOM, wrapper width controls visibility */
}
.ah-anim-typing .ah-01f2aa8c-word:not(.is-active) {
    visibility: hidden;
}

@keyframes ah-01f2aa8c-blink {
    50% { border-color: transparent; }
}

/* --- Clip Animation --- */
.ah-anim-clip .ah-01f2aa8c-words-wrapper {
    overflow: hidden;
    white-space: nowrap;
    transition: width 0.5s ease-in-out;
}
.ah-anim-clip .ah-01f2aa8c-word {
    opacity: 1; /* always visible in DOM, wrapper width controls visibility */
}
.ah-anim-clip .ah-01f2aa8c-word:not(.is-active) {
    visibility: hidden;
}