
.home-video-hero { display:grid; grid-template-columns:minmax(0,55.5fr) minmax(0,44.5fr); align-items:stretch; min-height:100svh; background:#050505; }
.home-video-hero .hero-content { grid-column:1; grid-row:1; min-width:0; max-width:none; display:flex; flex-direction:column; justify-content:center; padding:150px var(--pad) 90px; transform:none; }
.home-video-hero h1 { font-size:clamp(38px,4.6vw,86px); line-height:.96; }
.home-video-hero .hero-bottom { display:block; max-width:520px; margin-top:38px; }
.home-video-panel { position:relative; grid-column:2; grid-row:1; min-width:0; margin-top:84px; background:#000; border-left:2px solid #4b71e5; overflow:hidden; }
.home-video-panel video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:block; }
.home-video-toggle { position:absolute; right:20px; bottom:20px; border:1px solid #ffffff55; border-radius:30px; padding:10px 15px; background:#0009; color:#fff; font:inherit; font-size:12px; cursor:pointer; }
.home-video-toggle:focus-visible { outline:2px solid #a7c0ff; outline-offset:4px; }
@media(max-width:900px) {
 .home-video-hero { grid-template-columns:minmax(0,1fr); min-height:auto; }
 .home-video-hero .hero-content { padding:140px var(--pad) 55px; }
 .home-video-hero h1 { font-size:clamp(38px,7.5vw,70px); }
 .home-video-panel { grid-column:1; grid-row:2; margin-top:0; height:min(85svh,850px); min-height:420px; border-left:0; border-top:2px solid #4b71e5; }
}
@media(max-width:600px) { .home-video-hero .hero-content { padding-top:120px; } }

/* Moving gradient divider between copy and video. */
.home-video-panel { border-left:0; border-top:0; }
.home-video-panel::after {
 content:''; position:absolute; inset:0 auto 0 0; width:3px; z-index:2; pointer-events:none;
 background:linear-gradient(180deg,#10152b 0%,#497aff 22%,#d7e8ff 30%,#497aff 38%,#10152b 50%,#497aff 72%,#d7e8ff 80%,#497aff 88%,#10152b 100%);
 background-size:100% 200%; box-shadow:0 0 14px #497aff77;
 animation:home-divider-down 5s linear infinite;
}
@keyframes home-divider-down { from { background-position:50% 200%; } to { background-position:50% 0%; } }
@media(max-width:900px) {
 .home-video-panel::after { inset:0 0 auto; width:100%; height:3px;
 background-image:linear-gradient(90deg,#10152b 0%,#497aff 22%,#d7e8ff 30%,#497aff 38%,#10152b 50%,#497aff 72%,#d7e8ff 80%,#497aff 88%,#10152b 100%);
 background-size:200% 100%; animation-name:home-divider-across; }
}
@keyframes home-divider-across { from { background-position:200% 50%; } to { background-position:0% 50%; } }
@media(prefers-reduced-motion:reduce) { .home-video-panel::after { animation:none; } }
