.autoplayer-pro {
    position: relative;
    height: 128.2vw;
    overflow: hidden;
    
    .poster,
    .video {
        position: absolute;
        z-index: 1;
        top: 50%;
        left: 50%;
        display: block;
        min-height: 100%;
        min-width: 100%;
        object-fit: cover;
        transform: translate(-50%, -50%);
    }
    
    .poster {
        filter: blur(20px);
    }

    .video {
        opacity: 0;
        transition: opacity 300ms cubic-bezier(0,0,0.3,1);
    }

    .fallback.loaded .poster {
        filter: none;
    }

    &.video-loaded .video {
        opacity: 1;
    }

    .content {
        position: absolute;
        inset: auto 0 0;
        z-index: 4;
        display: grid;
        grid-template:
            'text controls credit' auto / minmax(0, 1fr) max-content min-content;
        align-items: end;
        gap: 14px;
        width: 100%;
        padding: 0 var(--space-2) 0 var(--space-5);
        pointer-events: none;
    }

    .text-graphic {
        grid-area: text;
        width: 100%;
    }

    .video-controls {
        display: flex;
        flex-direction: column;
        gap: 3px;
        grid-area: controls;
        padding-bottom: var(--space-1);
    }

    .video-control {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 3.125rem;
        height: 1.9375rem;
        flex-shrink: 0;
        padding: 0;
        margin: 0;
        font-size: 0.8125rem;
        line-height: var(--leading-none);
        text-align: center;
        color: var(--black);
        background-color: var(--brown-tint);
        border: 1px solid var(--black);
        border-radius: 0.3125rem;
        pointer-events: all;
        transition:
            color var(--transition-appendix),
            background-color var(--transition-appendix),
            border-color var(--transition-appendix);
    }

    .credit {
        rotate: 180deg;
        display: block;
        grid-area: credit;
        padding-inline: var(--space-1);
        font-family: var(--font-display);
        font-weight: var(--font-weight-bold);
        font-size: 0.625rem;
        line-height: var(--leading-none);
        letter-spacing: -0.1em;
        writing-mode: vertical-rl;
        text-orientation: mixed;
        color: var(--brown-tint);
    }

    @media (hover: hover) {
        .video-control:hover {
            color: var(--brown-tint);
            background-color: var(--black);
            border-color: var(--brown-tint);
        }
    }

    @media (min-width: 40em) {
        height: 56.25vw;
    }

    @media (min-width: 64em) {
        height: 45vw;

        .content {
            gap: 36px;
            padding: 0 10px 0 var(--space-12);
        }

        .text-graphic {
            translate: 0 4%;
        }

        .video-control {
            width: 4.375rem;
        }

        .credit {
            font-size: var(--text-xs);
        }
    }
}