/* トップの CM 動画。ポスター画像だけを先に出し、動画は画面に入ってから home-cm.js が読み込む */
.home-cm {
    position: relative;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-md);
}

.home-cm__poster,
.home-cm__video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.home-cm__video {
    opacity: 0;
    transition: opacity 0.4s var(--ease);
}

.home-cm.is-started .home-cm__video {
    opacity: 1;
}

.home-cm-controls {
    margin-top: var(--space-6);
}

@media (max-width: 768px) {
    .home-cm {
        aspect-ratio: 9 / 16;
        max-width: 400px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-cm__video {
        transition: none;
    }
}
