/* Full viewport hero: media occupies all space between the header and real CTAs.
   Contain preserves the baked copy and face at every aspect ratio. */
.home-page{height:100svh;min-height:560px;overflow-x:hidden}
.home-page>.page-shell{flex:none}
.home-page>.video-home{display:flex;flex:1;min-height:0;width:100%;max-width:none;padding:0;margin:0}
.video-hero{display:grid;grid-template-rows:minmax(0,1fr) auto;flex:1;min-width:0;min-height:0;width:100%;position:relative}
.hero-film{position:relative;min-height:0;min-width:0;width:100%;background:var(--sand)}
.hero-film picture,.hero-film img,.hero-film video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.hero-film video{opacity:0}
.hero-film.has-frame video{opacity:1}
/* The poster is a fallback, never a second layer under the blended video. */
.hero-film.has-frame picture{visibility:hidden}
.hero-video-actions{display:flex;align-items:center;justify-content:center;gap:24px;padding:10px 24px 22px;background:var(--sand)}
.hero-video-actions .download-actions{margin:0;gap:12px;flex-wrap:nowrap}
.video-toggle{background:transparent;border:1px solid #26251e45;border-radius:999px;min-height:44px;padding:10px 16px;font-size:12px;white-space:nowrap}
.video-toggle[hidden]{display:none}
@media(max-width:760px){.hero-video-actions{gap:8px;flex-wrap:wrap;padding:6px 16px 12px}.hero-video-actions .download-actions{justify-content:center;width:100%}.hero-video-actions .download-actions .button{padding:10px 14px}.hero-video-actions .video-toggle{min-height:32px;padding:6px 12px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero-film video{display:none}}
/* Suppress the slight light background shift introduced by MP4 color conversion. */
.hero-film img,.hero-film video{mix-blend-mode:darken}
