.usleep-hero-slider {
    width: calc(100% - 30px);
    max-width: 1450px;
    margin: 18px auto 28px;
    position: relative;
}

.usleep-hero-slider__viewport {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    background: #f3f7fc;
    box-shadow: 0 14px 45px rgba(25,48,82,.08);
}

.usleep-hero-slider__track {
    position: relative;
    width: 100%;
}

.usleep-hero-slide {
    display: none;
    width: 100%;
    opacity: 0;
    transition: opacity var(--usleep-slider-speed, .55s) ease;
}

.usleep-hero-slide.is-active {
    display: block;
    opacity: 1;
}

.usleep-hero-slide__desktop {
    display: block;
}

.usleep-hero-slide__image-link {
    display: block;
    width: 100%;
    text-decoration: none !important;
}

.usleep-hero-slide__image-link.is-disabled {
    cursor: default;
    pointer-events: none;
}

.usleep-hero-slide__desktop img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
}

.usleep-hero-slide__mobile {
    display: none;
}

.usleep-hero-slider__arrow {
    position: absolute;
    z-index: 8;
    top: 50%;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    border: 1px solid rgba(0,48,128,.12);
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: var(--usleep-hero-color);
    box-shadow: 0 5px 18px rgba(0,48,128,.10);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: transform .18s ease, background .18s ease;
}

.usleep-hero-slider__arrow:hover {
    background: #fff;
    transform: translateY(-50%) scale(1.04);
}

.usleep-hero-slider__arrow svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.usleep-hero-slider__arrow--prev { left: 15px; }
.usleep-hero-slider__arrow--next { right: 15px; }

.usleep-hero-slider__dots {
    position: absolute;
    z-index: 9;
    left: 50%;
    bottom: 13px;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    align-items: center;
}

.usleep-hero-slider__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 0;
    padding: 0;
    background: rgba(0,48,128,.20);
    transition: width .18s ease, border-radius .18s ease, background .18s ease;
}

.usleep-hero-slider__dot.is-active {
    width: 22px;
    border-radius: 5px;
    background: var(--usleep-hero-color);
}

@media (max-width: 767px) {
    .usleep-hero-slider {
        width: calc(100% - 24px);
        margin: 12px auto 22px;
    }

    .usleep-hero-slider__viewport {
        border-radius: 17px;
    }

    .usleep-hero-slide__desktop {
        display: none;
    }

    .usleep-hero-slide__mobile {
        display: flex;
        flex-direction: column;
        min-height: 515px;
        background:
            radial-gradient(circle at 25% 10%, rgba(255,255,255,.98), rgba(255,255,255,0) 50%),
            linear-gradient(180deg,#f8fafc 0%,#eef4fb 100%);
    }

    .usleep-hero-slide__mobile-copy {
        padding: 30px 25px 22px;
        position: relative;
        z-index: 2;
    }

    .usleep-hero-slide__title {
        display: flex;
        flex-direction: column;
        margin-bottom: 15px;
        font-size: 31px;
        line-height: 1.05;
        letter-spacing: -.03em;
        color: #152541;
    }

    .usleep-hero-slide__title span,
    .usleep-hero-slide__title strong {
        display: block;
        font-weight: 750;
    }

    .usleep-hero-slide__title strong {
        margin-top: 4px;
        color: var(--usleep-hero-color);
    }

    .usleep-hero-slide__description {
        color: #526077;
        font-size: 14px;
        line-height: 1.55;
        margin-bottom: 20px;
    }

    .usleep-hero-slide__button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 46px;
        padding: 12px 20px;
        border-radius: 10px;
        background: var(--usleep-hero-color);
        color: #fff !important;
        font-size: 14px;
        font-weight: 700;
        text-decoration: none !important;
        box-shadow: 0 8px 18px rgba(0,48,128,.15);
    }

    .usleep-hero-slide__mobile-image {
        margin-top: auto;
        height: 280px;
        overflow: hidden;
        position: relative;
    }

    .usleep-hero-slide__mobile-image:before {
        content: "";
        position: absolute;
        z-index: 2;
        left: 0;
        top: 0;
        width: 100%;
        height: 50px;
        background: linear-gradient(180deg,#eef4fb 0%,rgba(238,244,251,0) 100%);
        pointer-events: none;
    }

    .usleep-hero-slide__mobile-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .usleep-hero-slider__arrow {
        width: 38px;
        height: 38px;
        top: auto;
        bottom: 121px;
    }

    .usleep-hero-slider__arrow--prev { left: 10px; }
    .usleep-hero-slider__arrow--next { right: 10px; }

    .usleep-hero-slider__dots {
        bottom: 10px;
    }
}
