/* ── Animated line + dot decoration ── */

.gl-anim-h {
    position: absolute;
    bottom: -10px;
    right: calc(100% - 23px);
    width: 35vw;
    height: 24px;
    display: flex;
    align-items: center;
    pointer-events: none;
    z-index: -1;
}

.gl-anim-h .gl-line {
    flex: 1 1 auto;
    height: 1px;
    background: #374151;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 900ms cubic-bezier(0.65, 0, 0.35, 1);
}

.gl-anim-h .gl-dot {
    width: 24px;
    height: 24px;
    margin-left: 12px;
    border-radius: 50%;
    background: #62B9CC;
    flex-shrink: 0;
    opacity: 0;
    transform: scale(0.4);
    transition: opacity 400ms ease 700ms, transform 400ms ease 700ms;
}

.gl-anim-h.is-visible .gl-line {
    transform: scaleX(1);
}

.gl-anim-h.is-visible .gl-dot {
    opacity: 1;
    transform: scale(1);
}

@media (max-width: 1024px) {
    .gl-anim-h {
        bottom: initial;
        top: -20px;
        width: 40vw;
    }
}
