v-screen-slide {
    display: block;
    height: var(--v-screen-slide-scroll-height, auto);
}

v-screen-slide .v-screen-slide-container {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    height: calc(100vh - var(--v-screen-slide-top, 0px));
    padding: clamp(32px, 12vh, 120px) clamp(16px, 3vw, 48px) clamp(24px, 6vh, 64px);
    overflow: hidden;
    background: #36302b;
    color: #fff;
}

v-screen-slide[data-scroll-ready] .v-screen-slide-container {
    position: sticky;
    top: var(--v-screen-slide-top, 0px);
}

v-screen-slide .v-screen-slide-layers,
v-screen-slide .v-screen-slide-slide,
v-screen-slide .v-screen-slide-media,
v-screen-slide .v-screen-slide-overlay {
    position: absolute;
    inset: 0;
}

v-screen-slide .v-screen-slide-slide {
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 700ms ease;
}

v-screen-slide .v-screen-slide-layers,
v-screen-slide .v-screen-slide-slide {
    padding: inherit;
}

v-screen-slide .v-screen-slide-slide.is-active {
    z-index: 1;
    opacity: 1;
    pointer-events: auto;
}

v-screen-slide .v-screen-slide-media picture,
v-screen-slide .v-screen-slide-media img,
v-screen-slide .v-screen-slide-video,
v-screen-slide .v-screen-slide-placeholder {
    display: block;
    width: 100%;
    height: 100%;
}

v-screen-slide .v-screen-slide-media img,
v-screen-slide .v-screen-slide-video {
    object-fit: cover;
    object-position: var(--v-screen-slide-image-position, center);
}

v-screen-slide .v-screen-slide-video {
    position: absolute;
    inset: 0;
}

v-screen-slide .v-screen-slide-video.has-video-error {
    display: none;
}

v-screen-slide .v-screen-slide-placeholder {
    background: #81766b;
}

v-screen-slide .v-screen-slide-overlay {
    background:
        linear-gradient(180deg, rgb(0 0 0 / 15%), transparent 45%, rgb(0 0 0 / 30%)),
        rgb(0 0 0 / var(--v-screen-slide-overlay-opacity, 0.15));
}

v-screen-slide .v-screen-slide-heading {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    max-width: min(100%, 650px);
    text-align: center;
}

v-screen-slide .v-screen-slide-title,
v-screen-slide .v-screen-slide-text {
    margin: 0;
    color: inherit;
    overflow-wrap: anywhere;
}

v-screen-slide .v-screen-slide-actions {
    display: flex;
    justify-content: center;
    max-width: 100%;
}

v-screen-slide:not([data-aos-ready]) .v-screen-slide-slide [data-aos] {
    opacity: 1;
    transform: none;
    transition: none;
}

/* AOS tracks page visibility; the active slide controls when its content can appear. */
v-screen-slide[data-aos-ready] .v-screen-slide-slide:not(.is-content-visible) [data-aos] {
    opacity: 0;
    transform: translate3d(0, 100px, 0);
    transition: none;
}

v-screen-slide .v-screen-slide-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    max-width: 100%;
    min-height: 36px;
    padding: 7px 16px;
    border: 1px solid currentColor;
    border-radius: 5px;
    color: inherit;
    text-decoration: none;
    transition: background-color 200ms ease;
}

v-screen-slide .v-screen-slide-button:hover {
    color: inherit;
    background: rgb(255 255 255 / 15%);
}

v-screen-slide .v-screen-slide-button svg {
    flex: 0 0 auto;
}

v-screen-slide .v-screen-slide-button[aria-disabled="true"] {
    pointer-events: none;
}

v-screen-slide .v-screen-slide-steps {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(var(--v-screen-slide-count, 3), minmax(0, 1fr));
    width: 100%;
    margin-top: auto;
    gap: 15px;
}

v-screen-slide .v-screen-slide-step {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-end;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

v-screen-slide .v-screen-slide-step-copy {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-right: 20px;
    opacity: 0.55;
    transition: opacity 700ms ease;
}

v-screen-slide .v-screen-slide-step.is-active .v-screen-slide-step-copy {
    opacity: 1;
}

v-screen-slide .v-screen-slide-step-title,
v-screen-slide .v-screen-slide-step-description {
    display: block;
    overflow-wrap: anywhere;
}

v-screen-slide .v-screen-slide-progress {
    display: block;
    height: 2px;
    margin-top: 14px;
    overflow: hidden;
    background: rgb(255 255 255 / 30%);
}

v-screen-slide .v-screen-slide-progress-fill {
    display: block;
    width: 100%;
    height: 100%;
    background: currentColor;
    transform: scaleX(var(--v-screen-slide-fill, 0));
    transform-origin: left center;
}

v-screen-slide .v-screen-slide-step:focus-visible,
v-screen-slide .v-screen-slide-button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 5px;
}

@media screen and (max-width: 959px) {
    v-screen-slide .v-screen-slide-container {
        padding: 33.3333vw 16px 60px;
    }

    v-screen-slide .v-screen-slide-heading {
        gap: 4vw;
    }

    v-screen-slide .v-screen-slide-steps {
        width: 100%;
        margin-bottom: 15px;
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 60%;
        padding-inline: 0;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-x pan-y;
    }

    v-screen-slide .v-screen-slide-steps::-webkit-scrollbar {
        display: none;
    }

    v-screen-slide .v-screen-slide-step-copy {
        gap: 6px;
        padding-right: 10px;
    }
}

@media (max-height: 500px) {

    v-screen-slide .v-screen-slide-heading {
        gap: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    v-screen-slide .v-screen-slide-slide,
    v-screen-slide .v-screen-slide-step-copy,
    v-screen-slide .v-screen-slide-button {
        transition: none;
    }

    v-screen-slide[data-aos-ready] .v-screen-slide-slide [data-aos][data-aos] {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
