/* ── Heading Scroll ── */
.hs-wrapper { overflow: hidden; }
.hs-heading { margin: 0; padding: 0; }

.hs-line {
    display: block;
    overflow: visible;
    line-height: 1.15;
}
.hs-line.align-left   { text-align: left; }
.hs-line.align-center { text-align: center; }
.hs-line.align-right  { text-align: right; }

/* inline image positions */
.hs-line.has-image-inline-right,
.hs-line.has-image-inline-left { display: inline-flex; align-items: center; }
.hs-line.has-image-above,
.hs-line.has-image-below       { display: flex; flex-direction: column; }

/* Mask wrapper for masked animations */
.hs-mask {
    display: inline-block;
    overflow: hidden;
    vertical-align: top;
}

.hs-line-text { display: inline-block; }
.hs-image     { display: inline-block; overflow: hidden; }
.hs-image img { display: block; max-width: 100%; height: auto; }

/* ── INITIAL STATE (before animate-in) ── */

/* slide-up-mask */
.hs-wrapper:not(.is-visible) .hs-anim-slide-up-mask .hs-line-text {
    transform: translateY(110%);
    opacity: 0;
}

/* slide-down-mask */
.hs-wrapper:not(.is-visible) .hs-anim-slide-down-mask .hs-line-text {
    transform: translateY(-110%);
    opacity: 0;
}

/* fade-up */
.hs-wrapper:not(.is-visible) .hs-anim-fade-up .hs-line-text {
    transform: translateY(40px);
    opacity: 0;
}

/* blur-in */
.hs-wrapper:not(.is-visible) .hs-anim-blur-in .hs-line-text {
    filter: blur(20px);
    opacity: 0;
    transform: scale(0.95);
}

/* skew-reveal */
.hs-wrapper:not(.is-visible) .hs-anim-skew-reveal .hs-line-text {
    transform: translateX(-40px) skewX(8deg);
    opacity: 0;
}

/* split-expand */
.hs-wrapper:not(.is-visible) .hs-anim-split-expand .hs-line-text {
    letter-spacing: 0.3em;
    opacity: 0;
    transform: scaleX(0.85);
    transform-origin: left center;
}

/* clip-reveal (text) */
.hs-wrapper:not(.is-visible) .hs-anim-clip-reveal .hs-line-text {
    clip-path: inset(0 100% 0 0);
}

/* images initial */
.hs-wrapper:not(.is-visible) .hs-img-scale-reveal .hs-image {
    transform: scale(1.15);
    opacity: 0;
}
.hs-wrapper:not(.is-visible) .hs-img-clip-reveal .hs-image {
    clip-path: inset(0 100% 0 0);
}
.hs-wrapper:not(.is-visible) .hs-img-float-in .hs-image {
    transform: translateY(60px) rotate(-3deg);
    opacity: 0;
}
.hs-wrapper:not(.is-visible) .hs-img-fade-rotate .hs-image {
    transform: rotate(-8deg) scale(0.9);
    opacity: 0;
}
.hs-wrapper:not(.is-visible) .hs-img-parallax-rise .hs-image {
    transform: translateY(80px);
    opacity: 0;
}

/* ── TRANSITION ON ANIMATE ── */
.hs-line-text, .hs-image {
    transition-property: transform, opacity, filter, clip-path, letter-spacing;
    transition-timing-function: cubic-bezier(0.23,1,0.32,1);
}

/* ── VISIBLE STATES (added by JS) ── */
.hs-wrapper.is-visible .hs-line-text,
.hs-wrapper.is-visible .hs-image {
    transform: none !important;
    opacity: 1 !important;
    filter: none !important;
    clip-path: none !important;
    letter-spacing: inherit !important;
}