/* Public homepage CSS mapped to the local DOM: ScrollManager / VideoOverlay / Preloader. */
#scroll-progress{display:none}
#scroll-indicator{position:fixed;width:6px;height:20vh;top:40vh;background:var(--indicator-track-background,#0000001a);border-radius:3px;right:16px;z-index:90;pointer-events:none;opacity:0}
#scroll-indicator-bar{position:absolute;width:100%;height:100%;background:var(--indicator-bar-background,#000);transform-origin:0 0;border-radius:3px}
#scroll-indicator.on-dark{background:var(--indicator-track-background,#ffffff1a)}#scroll-indicator.on-dark #scroll-indicator-bar{background:var(--indicator-bar-background,#fff)}

.source-video-overlay{padding:0;background:#000;font-size:clamp(1rem,1vw,1.75rem);opacity:var(--source-overlay-opacity,0);transition:visibility .5s;cursor:auto}
.source-video-overlay.video-pointer-mode{cursor:none}
.source-video-overlay:not(.video-pointer-mode) #video-overlay-cursor{display:none!important}
.source-video-overlay.is-open{opacity:var(--source-overlay-opacity,1);transition:none}
.source-video-overlay .modal-backdrop{background:#000;backdrop-filter:none}
.source-video-overlay .video-dialog{position:absolute;inset:0;width:100%;height:100%;border-radius:0;overflow:hidden;background:#000}
.source-video-overlay .video-dialog video{position:absolute;inset:0;max-height:none;object-fit:contain;transform-origin:center;pointer-events:none}
.source-video-overlay .video-dialog video[data-video-fit="cover"]{object-fit:cover}
.source-video-overlay .video-actions{display:none}
.source-video-controls{position:absolute;bottom:5vh;left:0;width:100%;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap,24px);padding:0 var(--pad,5vw);color:#fff;z-index:4;cursor:auto;align-items:center}
.source-video-controls #video-play,.source-video-controls #video-mute{font-size:1em;font-family:inherit;font-weight:400;text-transform:uppercase;background:transparent;border:none;padding:0;color:#fff;white-space:pre;line-height:1.4}
.source-video-controls #video-play{grid-column:1/span 2;text-align:end}.source-video-controls #video-mute{grid-column:11/span 2;text-align:start}
.source-video-progress{position:relative;width:100%;height:2em;grid-column:3/span 8;cursor:pointer;touch-action:manipulation}
.source-video-progress-active{position:absolute;top:50%;left:0;transform:translateY(-50%);width:0%;height:.375em;border-radius:.1875em;background:#fff;z-index:1}
.source-video-progress-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:.375em;border-radius:.1875em;background:#fff3}
.source-video-progress:focus-visible{outline:2px solid #fff;outline-offset:5px}
#video-overlay-cursor{background:#fff;width:6.25em;height:6.25em;border-radius:100%;position:absolute;top:0;left:0;transform:scale(0);display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:5}
.source-video-overlay #video-close{position:absolute;top:var(--pad,5vw);right:var(--pad,5vw);width:2.8em;height:2.8em;background:#2b2e3a;color:#fff;opacity:1;pointer-events:auto;box-shadow:none}
.source-video-overlay.video-pointer-mode #video-close{opacity:0;pointer-events:none}
#preloader{position:fixed;left:0;top:0;width:100%;height:100%;z-index:200;background:#000;color:#fff;pointer-events:auto}
#preloader-percent-digits{position:absolute;justify-content:center;bottom:0;left:0;font-size:clamp(7em,8vw,20em);height:.75em;line-height:.75em;color:#fff;overflow:hidden}
.preloader-percent-digit{position:relative;float:left;width:1ch;text-align:center;transform:translateY(-.05em)}
@media(max-width:812px){#scroll-indicator{width:2px;border-radius:1px;right:6px}.source-video-overlay{cursor:auto}.source-video-controls{grid-template-columns:repeat(6,minmax(0,1fr))}.source-video-controls #video-play{grid-column:1/span 1}.source-video-progress{grid-column:2/span 4}.source-video-controls #video-mute{grid-column:6/span 1}.source-video-overlay #video-close{opacity:1;pointer-events:auto;font-size:1em}#preloader-percent-digits{font-size:13vw}}
@media(prefers-reduced-motion:reduce){.source-video-overlay{cursor:auto}#video-overlay-cursor{display:none!important}}

.source-video-status{position:absolute;left:var(--pad,5vw);right:var(--pad,5vw);bottom:calc(5vh + 3em);z-index:4;color:#fff;font-size:14px;line-height:1.5;text-align:center;pointer-events:none}
