/*
 * Stable homepage hero for reliable LCP measurement.
 * Uses one normal-flow slide at a time: no transform, opacity animation,
 * horizontal scroll container, layout measurement, or autoplay before input.
 */
.vp-home-lcp-heading{
    margin:0 0 12px;
    color:var(--vp-dark,#111827);
    font-family:var(--vp-font-family,system-ui,sans-serif);
    font-size:clamp(20px,2vw,30px);
    font-weight:950;
    line-height:1.15;
    letter-spacing:-.025em;
    text-align:center;
}

.vp-static-home-slider{
    position:relative;
    width:100%;
    padding:6px 0 30px;
}

.vp-static-slider-stage{
    position:relative;
    width:100%;
    min-width:0;
}

.vp-static-slide{
    position:relative;
    display:block;
    width:100%;
    max-width:100%;
    aspect-ratio:8 / 3;
    margin:0;
    overflow:hidden;
    border:1px solid var(--vp-line,#e5e7eb);
    border-radius:var(--vp-radius,6px);
    background:#f8fafc;
    box-shadow:var(--vp-shadow-sm,0 4px 12px rgba(15,23,42,.055));
    opacity:1;
    visibility:visible;
    transform:none;
    animation:none;
    transition:none;
}

.vp-static-slide[hidden]{
    display:none!important;
}

.vp-static-slide picture,
.vp-static-slide img{
    display:block;
    width:100%;
    height:100%;
}

.vp-static-slide img{
    max-width:100%;
    object-fit:cover;
    object-position:center;
    opacity:1;
    visibility:visible;
    transform:none;
    animation:none;
    transition:none;
}

.vp-static-slide-copy{
    position:absolute;
    left:6%;
    top:50%;
    z-index:2;
    width:min(440px,80%);
    transform:translateY(-50%);
}

.vp-static-slide-copy h2{
    margin:0 0 10px;
    color:#111827;
    font-size:clamp(26px,3vw,48px);
    line-height:1.08;
    font-weight:950;
    letter-spacing:-.04em;
    text-shadow:0 2px 12px rgba(255,255,255,.7);
}

.vp-static-slide-copy p{
    max-width:420px;
    margin:0 0 14px;
    color:#334155;
    font-size:16px;
    line-height:1.6;
    text-shadow:0 1px 8px rgba(255,255,255,.8);
}

.vp-static-slide-copy span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 18px;
    border-radius:var(--vp-radius-sm,4px);
    background:var(--vp-primary,#0b6b4d);
    color:var(--vp-button-text,#fff);
    font-weight:950;
}

.vp-static-arrow{
    position:absolute;
    top:calc(50% - 15px);
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border:1px solid var(--vp-line,#e5e7eb);
    border-radius:50%;
    background:#fff;
    color:#111827;
    box-shadow:var(--vp-shadow-sm,0 4px 12px rgba(15,23,42,.055));
    font-size:30px;
    line-height:1;
    cursor:pointer;
}

.vp-static-prev{left:12px}
.vp-static-next{right:12px}

.vp-static-arrow:hover,
.vp-static-arrow:focus-visible{
    border-color:var(--vp-primary,#0b6b4d);
    background:var(--vp-primary,#0b6b4d);
    color:#fff;
}

.vp-static-dots{
    position:absolute;
    left:50%;
    bottom:-2px;
    z-index:5;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
    transform:translateX(-50%);
}

.vp-static-dots button{
    position:relative;
    width:32px;
    height:32px;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
}

.vp-static-dots button::before{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:8px;
    height:8px;
    border-radius:999px;
    background:#cbd5e1;
    transform:translate(-50%,-50%);
}

.vp-static-dots button.is-active::before{
    width:22px;
    background:var(--vp-primary,#0b6b4d);
}

@media(max-width:767px){
    .vp-home-lcp-heading{
        margin-bottom:9px;
        padding-inline:4px;
        font-size:18px;
        line-height:1.25;
    }

    .vp-static-home-slider{
        padding-top:2px;
        padding-bottom:26px;
    }

    .vp-static-slide{
        aspect-ratio:8 / 3;
    }

    .vp-static-arrow{
        top:calc(50% - 13px);
        width:34px;
        height:34px;
        font-size:25px;
    }

    .vp-static-prev{left:4px}
    .vp-static-next{right:4px}

    .vp-static-slide-copy{
        left:5%;
        width:78%;
    }

    .vp-static-slide-copy h2{font-size:20px}
    .vp-static-slide-copy p{display:none}
    .vp-static-slide-copy span{
        min-height:32px;
        padding:0 11px;
        font-size:11px;
    }
}

@media(prefers-reduced-motion:reduce){
    .vp-static-home-slider *,
    .vp-static-home-slider *::before,
    .vp-static-home-slider *::after{
        animation:none!important;
        transition:none!important;
        scroll-behavior:auto!important;
    }
}


/* Never let generic carousel containment/animation rules affect this hero. */
.vp-static-home-slider,
.vp-static-home-slider *,
.vp-static-home-slider *::before,
.vp-static-home-slider *::after{
    contain:none;
    content-visibility:visible;
    will-change:auto;
}

html:not(.vp-motion-ready) .vp-static-home-slider,
html:not(.vp-motion-ready) .vp-static-home-slider *,
html:not(.vp-motion-ready) .vp-static-home-slider *::before,
html:not(.vp-motion-ready) .vp-static-home-slider *::after{
    animation:none!important;
    transition:none!important;
}
