/* Based on the reference's section-widget-video-loop: full-width asset,
   lower gradient, centred caption, 450px description and a yellow pill CTA. */
:root{--expo-black:#0B0B0B;--expo-white:#FFFFFF;--expo-red:#B3261E;--expo-yellow:#FFCD05;--expo-stage:color-mix(in srgb,var(--expo-black) 93%,var(--expo-white));--expo-text:color-mix(in srgb,var(--expo-white) 70%,var(--expo-stage))}
html[data-theme] #app .expo-video{position:relative;isolation:isolate;background:var(--expo-stage)!important;color:var(--expo-white)!important;overflow:hidden;width:100%;display:flex;flex-direction:column;justify-content:flex-end;border:0;border-radius:0;box-shadow:none;transform:none}
html[data-theme] #app .expo-video--hero{min-height:560px;height:calc(100svh - 76px);max-height:1000px;margin:0;scroll-margin-top:76px}
html[data-theme] #app .expo-video--feature{min-height:410px;aspect-ratio:16/9;border-radius:18px;margin:18px 0 30px}
.expo-video__asset{position:absolute;inset:0;overflow:hidden;z-index:0;background:var(--expo-stage)}
html[data-theme] #app .expo-video__asset::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,transparent 26%,var(--expo-stage) 98.45%)!important;z-index:1;pointer-events:none}
html[data-theme] #app .expo-video__asset :is(img,video){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:1!important;filter:none!important;transform:translate3d(0,var(--ui-parallax-y,0px),0) scale(1.04)!important;animation:none!important;z-index:0}
html[data-theme] #app .expo-video__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 22px 44px;max-width:1100px;align-self:center;width:100%;background:none;pointer-events:none}
html[data-theme] #app .expo-video__title{font-family:"Inter Tight",Arial,sans-serif!important;font-weight:600!important;font-size:clamp(24px,2.5vw,38px)!important;letter-spacing:-.03em!important;line-height:1.2!important;color:var(--expo-white)!important;-webkit-text-fill-color:var(--expo-white)!important;margin:0!important;max-width:950px;text-wrap:balance;font-style:normal}
html[data-theme] #app .expo-video__text{font-family:"Inter Tight",Arial,sans-serif!important;font-size:14px!important;line-height:22px!important;letter-spacing:0!important;color:var(--expo-text)!important;-webkit-text-fill-color:var(--expo-text)!important;margin:22px 0 0!important;max-width:500px;text-wrap:pretty;font-weight:400!important}
html[data-theme] #app .expo-video__eyebrow{font-family:Arial,sans-serif;font-size:9px!important;letter-spacing:.16em;color:var(--expo-text)!important;margin:0 0 14px!important;text-transform:uppercase}
.expo-video__actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:28px;pointer-events:auto}
html[data-theme] #app .expo-video__button{display:inline-flex!important;align-items:center;justify-content:center;gap:16px;background:var(--expo-yellow)!important;background-image:none!important;color:var(--expo-black)!important;-webkit-text-fill-color:var(--expo-black)!important;font:600 10px/1.3 Arial,sans-serif!important;letter-spacing:.19em;text-transform:uppercase;text-decoration:none;padding:15px 30px;border:1px solid var(--expo-yellow);border-radius:999px;min-height:46px;outline:1px solid color-mix(in srgb,var(--expo-yellow) 38%,transparent);outline-offset:4px;box-shadow:none}
html[data-theme] #app .expo-video__button:hover{background:color-mix(in srgb,var(--expo-yellow) 82%,var(--expo-white))!important}
html[data-theme] #app .expo-video__secondary{font:400 11px/1.5 Arial,sans-serif;color:var(--expo-white)!important;-webkit-text-fill-color:var(--expo-white)!important;text-decoration:underline;text-underline-offset:4px;padding:4px}
.expo-video__availability{position:absolute;top:18px;left:18px;z-index:2;font:10px/1.5 Arial,sans-serif;color:var(--expo-white);background:rgba(11,11,11,.48);border-radius:20px;padding:5px 10px}



/* Existing HLS/Alpine players and tiles share the visual treatment but keep
   their source bindings, aspect ratio and 3D companions. */
html[data-theme] #app .expo-video-upgraded:not(.expo-video){position:relative;isolation:isolate;overflow:hidden;background:var(--expo-stage)!important}
html[data-theme] #app .expo-video-upgraded:not(.expo-video)::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(11,11,11,.12) 60%,rgba(11,11,11,.80) 100%)!important;pointer-events:none;z-index:1}
html[data-theme] #app .expo-video-upgraded .expo-video__film{filter:none!important;object-fit:cover;opacity:1}
html[data-theme] #app .expo-video-upgraded :is(.scanlines,.tile-scrim){display:none!important}
html[data-theme] #app .expo-video-upgraded :is(.hud,.tile-body,.orbit-caption){z-index:3!important;text-align:center!important;align-items:center!important;background:none!important}
html[data-theme] #app .expo-video-upgraded :is(.hud,.tile-body,.orbit-caption) :is(h2,h3,h4,p){font-family:"Inter Tight",Arial,sans-serif!important;color:var(--expo-white)!important;-webkit-text-fill-color:var(--expo-white)!important}
html[data-theme] #app .expo-video-upgraded .hud{justify-content:flex-end!important;align-items:center!important;padding:28px!important}
html[data-theme] #app .expo-video-upgraded .hud .between{justify-content:center!important;gap:16px;text-align:center}
html[data-theme] #app .expo-video-upgraded .orbit-caption p{color:rgba(255,255,255,.86)!important}


@media(max-width:700px){html[data-theme] #app .expo-video--hero{height:calc(100svh - 72px);min-height:600px}html[data-theme] #app .expo-video--feature{aspect-ratio:auto;min-height:470px}.expo-video__content{padding:32px 20px!important}.expo-video__text{font-size:12px!important;line-height:20px!important}}
@media(prefers-reduced-motion:reduce){.expo-video__film{animation:none!important}}

/* Higher specificity than the old per-page palettes, in BOTH themes. */
html[data-theme] #app .expo-video.expo-video .expo-video__title,
html[data-theme] #app .expo-video.expo-video .expo-video__eyebrow,
html[data-theme] #app .expo-video-upgraded.expo-video-upgraded .orbit-caption :is(h3,p,span){color:var(--expo-white)!important;-webkit-text-fill-color:var(--expo-white)!important}
html[data-theme] #app .expo-video.expo-video .expo-video__text{color:var(--expo-text)!important;-webkit-text-fill-color:var(--expo-text)!important}
html[data-theme] #app .expo-video.expo-video .expo-video__content{background:transparent!important;border:0!important;box-shadow:none!important}
html[data-theme] #app .expo-video.expo-video .expo-video__content :is(h1,h2,h3){font-style:normal!important;font-family:"Inter Tight",Arial,sans-serif!important}
html[data-theme] #app .expo-video .expo-video__film[hidden]{display:none!important}
html[data-theme] #app .expo-video-upgraded .expo-video__film:not([hidden]){visibility:visible!important}

html[data-theme] #app .expo-video__content>*{pointer-events:auto}
.expo-video__asset~.expo-video__content .cms-public-copy{margin-top:20px!important}

.expo-video-upgraded .expo-video__fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}

/* Standalone films use the same full-width canvas as the reference hero. */
html[data-theme] #app .expo-video.expo-video{max-width:none!important;padding:0!important}
html[data-theme] #app .expo-video.expo-video .expo-video__asset :is(img,video){width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important}
html[data-theme] #app .expo-video.expo-video .expo-video__content{padding:40px 22px 44px!important}
@media(max-width:700px){html[data-theme] #app .expo-video.expo-video .expo-video__content{padding:32px 20px!important}}
