/* Replacement-video controls remain outside the original landing's layout flow. */
.leo-media-controls{position:absolute;left:24px;bottom:22px;z-index:30;display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:calc(100% - 48px);pointer-events:none;color:#fff;font-family:Arial,sans-serif}
.leo-media-controls button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;padding:11px 18px;border:1px solid rgba(255,255,255,.55);border-radius:24px;background:rgba(12,12,12,.9);color:#fff;font:500 13px/1.25 Arial,sans-serif;letter-spacing:.015em;cursor:pointer;text-transform:none;box-shadow:0 2px 8px rgba(0,0,0,.22);width:auto;height:auto;pointer-events:auto;transition:background-color .15s,border-color .15s}
/* Keep controls legible over white slides as well as dark footage. */
.leo-media-controls button:hover{background:rgba(38,38,38,.96);color:#fff;border-color:#fff}
.leo-media-controls button:active{background:#0c0c0c;color:#fff;border-color:#fff}
.leo-media-controls button:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #151515}
.leo-media-controls svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}
.leo-media-controls button[hidden],.leo-speaker-picker[hidden]{display:none!important}
.leo-audio-enabled .elementor-background-video-container.elementor-hidden-mobile,.leo-audio-enabled #hero-video-facade{display:block!important}
.leo-media-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;pointer-events:auto}
.leo-speaker-picker{position:absolute;left:0;bottom:calc(100% + 12px);display:flex;flex-direction:column;gap:16px;width:min(960px,100%);box-sizing:border-box;padding:18px 20px 20px;border:1px solid rgba(255,255,255,.28);border-radius:18px;background:rgba(12,12,12,.94);box-shadow:0 12px 40px rgba(0,0,0,.28);pointer-events:auto}
.leo-speaker-header{display:flex;align-items:center;gap:14px;min-width:0}
.leo-speaker-title{font-size:14px;font-weight:500;letter-spacing:.01em;margin-right:auto}
.leo-speaker-pager{display:flex;align-items:center;gap:8px;font-size:12px;font-variant-numeric:tabular-nums}
.leo-speaker-pager>span{min-width:38px;text-align:center;color:rgba(255,255,255,.72)}
.leo-speaker-header button{width:36px;min-height:36px;height:36px;padding:0;border-color:rgba(255,255,255,.22);background:transparent}
.leo-speaker-header button:disabled{opacity:.3;cursor:default}
.leo-speaker-header .leo-speaker-close{margin-left:4px;border-color:transparent}
.leo-speaker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,52px);gap:10px;flex:none}
.leo-speaker-grid button{width:100%;min-width:0;min-height:52px;height:52px;box-sizing:border-box;padding:10px 9px;background:transparent;white-space:normal;text-align:center;border-color:rgba(255,255,255,.38);font-size:12px}
.leo-speaker-grid button[aria-current="true"]{background:#fff;color:#151515;border-color:#fff}
/* Fill each original hero while preserving the frame's proportions. */
#hero-video-facade > video,.elementor-element-472113e video.elementor-background-video-hosted,.rrmc-homepage-carousel-section .rrmc-home-carousel-video-js .vjs-tech,.herobanner .vac-moving-image > video{
position:absolute!important;inset:0!important;inset-block-start:0!important;inset-inline-start:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;transform:none!important;object-fit:cover!important;object-position:50% 50%!important;background:#0c0c0e!important;display:block!important}
.rrmc-homepage-carousel-section .rrmc-home-carousel-video-js .vjs-poster{background-size:cover!important;background-color:#0c0c0e!important}
.rrmc-homepage-carousel-section .rrmc-home-carousel-video-js .vjs-poster img{width:100%;height:100%;object-fit:cover}
.herobanner .vac-moving-image{position:relative}
@media(max-width:999px){.leo-speaker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){.leo-media-controls{left:16px;bottom:16px;width:calc(100% - 32px)}.leo-media-actions{gap:6px}.leo-media-actions button{font-size:12px;padding:10px 12px}.leo-speaker-picker{padding:12px;gap:12px}.leo-speaker-grid{gap:8px}}
@media(max-width:600px){.leo-speaker-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,52px)}.leo-speaker-header{gap:6px}.leo-speaker-pager{gap:2px}.leo-speaker-header .leo-speaker-close{margin-left:0}}
@media(max-height:479px){.leo-speaker-grid{grid-template-rows:52px}}
@media(prefers-reduced-motion:reduce){.leo-media-controls button{transition:none}}
/* SOLICE's original hero extends below the first screen; keep its video controls reachable on arrival. */
.elementor-element-472113e .leo-media-controls{bottom:auto;top:calc(min(100svh,100%) - 66px)}
@media(max-width:768px){.elementor-element-472113e .leo-media-controls{top:calc(min(100svh,100%) - 112px)}}

/* Timed disclosure sits below the controls without moving the fixed-size picker. */
.leo-media-disclosure{position:absolute;left:0;top:calc(100% + 2px);max-width:100%;box-sizing:border-box;padding:0 5px;border-radius:3px;background:rgba(12,12,12,.8);color:#fff;font:400 11px/13px Arial,sans-serif;letter-spacing:0;text-transform:none;pointer-events:none}
.leo-media-disclosure[hidden]{display:none!important}

/* Keep the preceding frame until the new clip has actually painted. */
.rrmc-home-carousel-video-js .leo-transition-frame { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 20%; z-index:2; pointer-events:none; }
.leo-transition-frame[hidden] { display:none !important; }
.video-js.video-js .vjs-loading-spinner { background:none !important; border:2px solid #ffffff40; border-top-color:#fff; border-radius:50%; width:30px; height:30px; margin:-15px; z-index:3; }
.video-js.video-js .vjs-loading-spinner::before,.video-js.video-js .vjs-loading-spinner::after { display:none !important; }
.video-js.video-js.vjs-waiting .vjs-loading-spinner { animation:leo-buffer-spin .8s linear infinite; }
@keyframes leo-buffer-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .video-js.video-js.vjs-waiting .vjs-loading-spinner { animation:none; } }
