.home-slider {
    position: relative;
    width: 100%;
    max-width: 100%;
    isolation: isolate;
    aspect-ratio: 1920/700;
    min-height: 440px;
    max-height: 680px;
    overflow: hidden;
    background: #102a43;
    color: #fff
}

.home-slide {
    position: absolute;
    inset: 0;
    visibility: hidden;
    opacity: 0;
    transition: opacity .7s ease, visibility .7s ease
}

.home-slide.is-active {
    visibility: visible;
    opacity: 1;
    z-index: 1
}

.home-slide-image,
.home-slide-shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%
}

.home-slide-image {
    object-fit: cover;
    object-position: center
}

.home-slide-shade {
    background: linear-gradient(90deg, rgba(8, 29, 43, .88) 0%, rgba(8, 29, 43, .63) 48%, rgba(8, 29, 43, .12) 100%)
}

.home-slide-copy {
    position: absolute;
    top: 50%;
    left: max(7vw, 32px);
    width: min(650px, 68%);
    transform: translateY(-50%);
    padding-bottom: 24px
}

.home-slide-kicker {
    color: #a5e6d8;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .14em
}

.home-slide-copy h1 {
    max-width: 640px;
    margin: 18px 0;
    font-size: 56px;
    line-height: 1.04;
    color: #fff
}

.home-slide-copy p {
    max-width: 560px;
    margin: 0;
    color: #e1edf0;
    font-size: 18px;
    line-height: 1.65
}

.home-slide-button {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-top: 28px;
    padding: 13px 18px;
    border-radius: 8px;
    background: #ffcf70;
    color: #102a43;
    font-size: 14px;
    font-weight: 800
}

.home-slide-button:hover {
    background: #ffe0a1
}

.home-slider-controls {
    position: absolute;
    z-index: 3;
    right: max(7vw, 32px);
    bottom: 28px;
    display: flex;
    align-items: center;
    gap: 12px
}

.home-slider-arrow {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid #ffffff80;
    border-radius: 50%;
    background: #102a43a8;
    color: #fff;
    font-size: 20px;
    cursor: pointer
}

.home-slider-arrow:hover {
    background: #117c79
}

.home-slider-dots {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 3px
}

.home-slider-dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ffffff85;
    cursor: pointer
}

.home-slider-dot.is-active {
    width: 25px;
    border-radius: 8px;
    background: #ffcf70
}

.home-slider-arrow:focus-visible,
.home-slider-dot:focus-visible,
.home-slide-button:focus-visible {
    outline: 3px solid #ffcf70;
    outline-offset: 3px
}

@media(max-width:700px) {
    .home-slider {
        aspect-ratio: auto;
        min-height: 500px;
        max-height: 640px
    }

    .home-slide-image {
        object-position: 62% center
    }

    .home-slide-shade {
        background: linear-gradient(90deg, rgba(8, 29, 43, .86), rgba(8, 29, 43, .42))
    }

    .home-slide-copy {
        left: 24px;
        top: 46%;
        width: calc(100% - 48px);
        padding-bottom: 38px
    }

    .home-slide-copy h1 {
        font-size: 38px
    }

    .home-slide-copy p {
        font-size: 16px
    }

    .home-slider-controls {
        right: 22px;
        bottom: 20px;
        gap: 8px
    }

    .home-slider-arrow {
        width: 38px;
        height: 38px
    }
}

@media(prefers-reduced-motion:reduce) {
    .home-slide {
        transition: none
    }
}
