.dod-video { padding: 80px max(24px, calc((100% - 1280px) / 2)) 100px; background-color: #f6ebe1; background-size: cover; background-position: center; color: #000; font: 400 16px/1.5 'Avenir', sans-serif; }
.dod-video > .container { width: 100%; max-width: 1280px; padding-inline: 0; }
.dod-video__intro { display: grid; gap: 24px; max-width: 845px; margin: 0 auto 40px; text-align: center; }
.dod-video .dod-video__title { margin: 0; color: #491b48; font: 300 56px/1.2 'ogg-light', serif; }
.dod-video__description { font-size: 18px; }
.dod-video__description p { margin: 0; }
.dod-video__description p + p { margin-top: 1em; }
.dod-video__preview { position: relative; display: block; width: 100%; max-width: 960px; margin-inline: auto; aspect-ratio: 16/9; overflow: hidden; background: #161016; color: #fff; cursor: pointer; }
.dod-video__poster, .dod-video__preview-video, .dod-video__embed-preview { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; pointer-events: none; }
.dod-video__preview::after { content: ''; position: absolute; inset: 0; background: #0002; pointer-events: none; }
.dod-video__play { position: absolute; inset: 50% auto auto 50%; z-index: 1; display: grid; place-items: center; width: 80px; height: 80px; border: 1px solid #f6ebe1; border-radius: 50%; background: #491b48b3; transform: translate(-50%, -50%); transition: background-color .2s ease; }
.dod-video__play::before { content: ''; margin-inline-start: 5px; border-block: 12px solid transparent; border-inline-start: 20px solid #fff; }
.dod-video__preview:hover .dod-video__play { background: #491b48; }
.dod-video__preview:focus-visible { outline: 3px solid #491b48; outline-offset: 6px; }
.fancybox__container.dod-video-modal { --fancybox-bg: rgba(0, 0, 0, .9); z-index: 100001; }
.dod-video-modal .fancybox__content { width: 1280px; height: 720px; max-width: min(1280px, calc(100vw - 80px)); max-height: calc(100svh - 96px); background: #000; }
.dod-video-modal .fancybox__html5video { object-fit: contain; }
@media (max-width: 767px) {
    .dod-video { padding: 40px 16px; font-size: 14px; }
    .dod-video .dod-video__title { font-size: 36px; }
    .dod-video__description { font-size: 14px; }
    .dod-video__intro { gap: 24px; margin-bottom: 32px; }
    .dod-video__play { width: 56px; height: 56px; }
    .dod-video__play::before { border-block-width: 9px; border-inline-start-width: 15px; }
    .dod-video-modal .fancybox__content { max-width: calc(100vw - 32px); max-height: calc(100svh - 80px); }
}
@media (prefers-reduced-motion: reduce) { .dod-video__play { transition: none; } }
