.ieh-hero{
    --ieh-desktop-columns:5;
    --ieh-tablet-columns:3;
    --ieh-mobile-columns:2;
    position:relative;
    width:100%;
    min-height:100vh;
    overflow:hidden;
    isolation:isolate;
}

.ieh-columns{
    position:absolute;
    inset:0;
    z-index:0;
    display:grid;
    grid-template-columns:repeat(var(--ieh-desktop-columns),minmax(0,1fr));
    gap:18px;
    padding:0;
    overflow:hidden;
}

.ieh-column{
    position:relative;
    min-width:0;
    height:100%;
    overflow:hidden;
    contain:layout paint;
}

.ieh-track{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    visibility:hidden;
    will-change:transform;
    transform:translate3d(0,0,0);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
}

.ieh-column.is-ready .ieh-track{
    visibility:visible;
    animation-name:ieh-scroll-up;
    animation-duration:var(--ieh-duration,40s);
    animation-delay:var(--ieh-delay,0s);
    animation-timing-function:linear;
    animation-iteration-count:infinite;
    animation-fill-mode:both;
}

.ieh-image-set{
    display:flex;
    flex-direction:column;
    gap:18px;
    width:100%;
    padding:0 0 18px;
    margin:0;
}

.ieh-image{
    display:block;
    width:100%;
    height:320px;
    flex:0 0 auto;
    object-fit:cover;
    object-position:center;
    user-select:none;
    -webkit-user-drag:none;
    backface-visibility:hidden;
}

.ieh-placeholder{
    min-height:220px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    text-align:center;
    color:#333;
    background:rgba(255,255,255,.55);
}

.ieh-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:rgba(0,0,0,.42);
}

.ieh-content{
    position:relative;
    z-index:2;
    min-height:inherit;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:clamp(32px,6vw,96px) 24px;
}

.ieh-content-inner{
    width:90%;
    max-width:1200px;
    margin:0 auto;
}

.ieh-title{
    max-width:850px;
    margin:0 auto 30px;
    color:#fff;
    font-size:clamp(52px,6.4vw,108px);
    line-height:.98;
    font-weight:400;
    letter-spacing:-.035em;
}

.ieh-subtitle{
    max-width:940px;
    margin:0 auto 32px;
    color:#fff;
    font-size:clamp(18px,1.65vw,28px);
    line-height:1.35;
}

.ieh-subtitle p{
    margin:0;
}

.ieh-buttons{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:14px;
}

.ieh-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:16px 28px;
    border-radius:12px;
    text-decoration:none;
    transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}

.ieh-button:hover{
    transform:translateY(-2px);
}

.ieh-button-1{
    background:#fff;
    color:#111;
}

.ieh-button-2{
    background:#566c56;
    color:#fff;
}

@keyframes ieh-scroll-up{
    from{ transform:translate3d(0,0,0); }
    to{ transform:translate3d(0,calc(-1 * var(--ieh-loop-distance,1px)),0); }
}

@media (max-width:1024px){
    .ieh-columns{
        grid-template-columns:repeat(var(--ieh-tablet-columns),minmax(0,1fr));
    }
    .ieh-hero[data-ieh-tablet-columns="1"] .ieh-column:nth-child(n+2),
    .ieh-hero[data-ieh-tablet-columns="2"] .ieh-column:nth-child(n+3),
    .ieh-hero[data-ieh-tablet-columns="3"] .ieh-column:nth-child(n+4),
    .ieh-hero[data-ieh-tablet-columns="4"] .ieh-column:nth-child(n+5),
    .ieh-hero[data-ieh-tablet-columns="5"] .ieh-column:nth-child(n+6){display:none;}
}

@media (max-width:767px){
    .ieh-columns{
        grid-template-columns:repeat(var(--ieh-mobile-columns),minmax(0,1fr));
    }
    .ieh-hero[data-ieh-mobile-columns="1"] .ieh-column:nth-child(n+2),
    .ieh-hero[data-ieh-mobile-columns="2"] .ieh-column:nth-child(n+3){display:none;}
    .ieh-content{
        padding-left:18px;
        padding-right:18px;
    }
    .ieh-title{
        font-size:clamp(40px,12vw,72px);
    }
    .ieh-subtitle{
        font-size:17px;
    }
    .ieh-stack-buttons-mobile .ieh-buttons{
        flex-direction:column;
        align-items:stretch;
        max-width:320px;
        margin-left:auto;
        margin-right:auto;
    }
    .ieh-stack-buttons-mobile .ieh-button{
        width:100%;
    }
}

@media (prefers-reduced-motion:reduce){
    .ieh-column.is-ready .ieh-track{
        animation:none;
        visibility:visible;
        transform:none!important;
    }
    .ieh-button{
        transition:none;
    }
}
