.intro-inner {
    padding-top: 80px;
    padding-bottom: 50px;
}

.video-cta {
    position: relative;
    width: 100%;
    max-width: 1028px;
    margin: auto;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;

    aspect-ratio: 16 / 9;
    background: #000;
}

/* Image & iframe behave the same */
.video-cta img,
.video-cta iframe {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Play button */
@keyframes pulse {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.7;
        transform: scale(1.05);
    }
}
.play-btn {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 68px;
    height: 48px;
    border-radius: 10px;
    font-size: 30px;
    background: rgba(0,0,0,.7);
    color: #fff;
    border: none;
    cursor: pointer;
    z-index: 2;
    animation: pulse 2s ease-in-out infinite;
}
.play-btn:hover {
    animation: none;
}


@media (max-width: 768px) {
    #intro {
        margin-top: 285px;
    }
    .intro-inner {
        padding-top: 60px;
        padding-bottom: 0;
    }
}