/* ==========================================================================
   EMR MD product film · v2
   Every scene is driven by the voiceover clock (audio.currentTime), so seeking
   lands on the exact frame. Ambient loops are CSS; story beats are timed.
   ========================================================================== */
.em-band--film .em-h2{color:#fff}
.em-film{position:relative;max-width:1080px;margin-inline:auto;border-radius:28px;overflow:hidden;background:#120E52;border:1px solid rgba(207,224,255,.2);box-shadow:0 70px 140px -60px rgba(10,4,60,.9),0 0 0 10px rgba(207,224,255,.05),inset 0 1px 0 rgba(255,255,255,.25);container-type:inline-size}
.em-film:fullscreen{max-width:none;border-radius:0;display:flex;flex-direction:column;justify-content:center;background:#0B0838}
.em-film:fullscreen .em-film__stage{width:min(100vw,177.78vh);margin:0 auto}

/* stage */
.em-film__stage{position:relative;aspect-ratio:16/9;overflow:hidden;container-type:inline-size;font-size:1.6cqw;color:#EEF2FD;background:linear-gradient(160deg,#2238B8 0%,#2A2396 55%,#1D1670 100%)}
.em-film__bg{position:absolute;inset:0;pointer-events:none}
.em-film__bg i{position:absolute;border-radius:50%;filter:blur(6cqw);opacity:.55;animation:fm-drift 14s ease-in-out infinite alternate}
.em-film__bg i:nth-child(1){width:46cqw;height:46cqw;left:-8cqw;top:-14cqw;background:radial-gradient(circle,#5AA9FF,transparent 68%)}
.em-film__bg i:nth-child(2){width:40cqw;height:40cqw;right:-6cqw;bottom:-14cqw;background:radial-gradient(circle,#FF8FD8,transparent 68%);opacity:.38;animation-duration:18s}
.em-film__bg i:nth-child(3){width:36cqw;height:36cqw;left:38cqw;top:6cqw;background:radial-gradient(circle,#C08BFF,transparent 68%);opacity:.35;animation-duration:22s}
@keyframes fm-drift{to{transform:translate(6cqw,4cqw) scale(1.15)}}
.em-film__stars{position:absolute;inset:0;pointer-events:none}
.em-film__stars i{position:absolute;width:.4cqw;height:.4cqw;border-radius:50%;background:#fff;left:calc(var(--i) * 6.1%);top:calc(var(--i) * 37 % 100 * 1%);opacity:.5;animation:fm-twinkle 3s ease-in-out infinite;animation-delay:calc(var(--i) * -.37s)}
@keyframes fm-twinkle{50%{opacity:.08;transform:scale(.5)}}
.em-film__vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,transparent 60%,rgba(8,4,40,.55));z-index:6}

/* scenes: circular wipe in, gentle camera push while active */
.em-scene{position:absolute;inset:0;z-index:2;visibility:hidden;opacity:0;clip-path:circle(0% at 50% 50%);transition:clip-path .9s cubic-bezier(.7,0,.2,1),opacity .4s,visibility 0s .9s}
.em-scene.is-active{visibility:visible;opacity:1;clip-path:circle(75% at 50% 50%);transition:clip-path .9s cubic-bezier(.7,0,.2,1),opacity .2s,visibility 0s}
.em-cam{position:absolute;inset:0;transform:scale(calc(1 + var(--sp,0) * .07)) translateX(calc(var(--sp,0) * -1cqw));transform-origin:50% 55%;will-change:transform}
.em-k{opacity:0;transform:translateY(1.4cqw) scale(.96);transition:opacity .55s var(--em-ease),transform .65s cubic-bezier(.2,1.3,.4,1)}
.em-k.is-on{opacity:1;transform:none}
.is-seeking .em-k,.is-seeking .em-scene{transition:none!important}

/* chapter chip */
.em-film__chip{position:absolute;left:2.4cqw;top:2.2cqw;z-index:7;padding:.7cqw 1.4cqw;border-radius:99px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);font:500 1.25cqw/1 var(--em-mono);letter-spacing:.08em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .4s}
.em-film.is-started .em-film__chip{opacity:1}
.em-film__chip.is-swap{animation:fm-chip .5s var(--em-ease)}
@keyframes fm-chip{from{opacity:0;transform:translateY(-.8cqw)}}

/* ── 1 · night ─────────────────────────────────────────────────── */
.em-scene--night .em-cam{display:block}
.em-n1{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 3cqw 4cqw rgba(8,4,40,.5))}
.em-n1__copy{position:absolute;left:64%;top:50%;translate:0 -50%;z-index:2}
.em-n1__glow{animation:fm-flicker 3.6s ease-in-out infinite}
@keyframes fm-flicker{50%{opacity:.75}55%{opacity:.5}60%{opacity:.8}}
.em-n1__blink{transform-box:fill-box;transform-origin:center;animation:fm-blink 4s infinite}
@keyframes fm-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
.em-n1__steam path{animation:fm-steam 2.4s ease-in-out infinite}
.em-n1__steam path+path{animation-delay:-1.2s}
@keyframes fm-steam{0%{opacity:0;transform:translateY(6px)}40%{opacity:.8}100%{opacity:0;transform:translateY(-10px)}}
.em-n1__note{transform-box:fill-box;transform-origin:center}
.em-n1__note.em-k{transform:translateY(-120px) rotate(-8deg);transition:opacity .25s,transform .5s cubic-bezier(.3,1.5,.5,1)}
.em-n1__note.em-k.is-on{transform:rotate(var(--r,0deg))}
.em-n1__pile>g:nth-child(odd) .em-n1__note{--r:-1.5deg}
.em-n1__pile>g:nth-child(even) .em-n1__note{--r:1.8deg}
.em-big--clock{font:500 11cqw/1 var(--em-mono);letter-spacing:-.04em;color:#fff;text-shadow:0 0 4cqw rgba(143,174,255,.6)}
.em-big--clock small{font-size:2.8cqw;margin-left:1cqw;color:#FFD3EE}
.em-n1__count{margin-top:2.4cqw;font-size:2.3cqw;color:#DCE4F7}
.em-n1__count b{display:inline-grid;place-items:center;min-width:6cqw;height:6cqw;padding:0 1.2cqw;margin-right:1cqw;border-radius:3cqw;background:linear-gradient(135deg,#FF6B8E,#E5484D);color:#fff;font:700 3.2cqw/1 var(--em-body);font-variant-numeric:tabular-nums;box-shadow:0 1cqw 3cqw -1cqw rgba(229,72,77,.8)}

/* ── 2 · brand + 6 · end ───────────────────────────────────────── */
.em-brand,.em-end{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2cqw;text-align:center}
.em-brand__burst{position:absolute;left:50%;top:44%;width:16cqw;height:16cqw;margin:-8cqw 0 0 -8cqw;border-radius:50%;border:.4cqw solid rgba(255,211,238,.7);opacity:0}
.em-brand__burst.is-on{animation:fm-burst 1.4s var(--em-ease) forwards}
@keyframes fm-burst{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(3.4)}}
.em-film .em-logo{gap:1.6cqw}
.em-film .em-logo__mark{width:10cqw;height:10cqw;color:#2B44D6;filter:drop-shadow(0 0 3cqw rgba(143,174,255,.7))}
.em-film .em-logo__word{font-size:7cqw;color:#fff}
.em-film .em-logo__word span{font-size:7.2cqw;background:linear-gradient(110deg,#BFD3FF,#FFFFFF 45%,#FFD3EE);-webkit-background-clip:text;background-clip:text;color:transparent}
.em-brand__logo.em-k{transform:scale(.6);transition:opacity .4s,transform .9s cubic-bezier(.2,1.6,.4,1)}
.em-brand__logo.em-k.is-on{transform:none}
.em-brand__ecg{width:72cqw;height:8cqw}
.em-brand__ecg path,[data-film-draw]{fill:none}
.em-brand__ecg path{stroke:url(#em-ecg-grad);stroke:#C9B4FF;stroke-width:3.5;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 1cqw rgba(201,180,255,.8))}
.em-brand__line,.em-end__tag{font:600 4.6cqw/1.1 var(--em-display);color:#fff}
.em-brand__line{font-size:3cqw;color:#DCE4F7;font-weight:500}
.em-brand__line em,.em-end__tag em{font-style:italic;font-weight:500;background:linear-gradient(110deg,#BFD3FF 0%,#FFFFFF 45%,#FFD3EE 60%,#C9B4FF 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:em-shimmer 5s ease-in-out infinite}

/* ── 3 · scribe ────────────────────────────────────────────────── */
.em-sc{display:grid;grid-template-columns:.95fr 1.05fr;gap:3.4cqw;align-items:center;padding:6cqw 6cqw 5cqw}
.em-sc__talk{display:flex;flex-direction:column;gap:1.3cqw;padding:2.6cqw;border-radius:2.6cqw;background:rgba(255,255,255,.08);border:1px solid rgba(207,224,255,.2);backdrop-filter:blur(6px)}
.em-sc__consent{display:inline-flex;align-items:center;gap:.8cqw;align-self:flex-start;padding:.8cqw 1.4cqw;border-radius:99px;background:linear-gradient(120deg,#CFE0FF,#FFD3EE);color:#1D1670;font:500 1.3cqw/1 var(--em-mono)}
.em-sc__consent .em-ic,.em-sc__stamp .em-ic{width:1.6cqw;height:1.6cqw}
.em-sc__wave{display:flex;align-items:center;gap:.45cqw;height:6cqw}
.em-sc__wave i{flex:1;border-radius:1cqw;background:linear-gradient(180deg,#FFD3EE,#8EAEFF 50%,#5B5CFF);height:calc(50% + 42% * sin(var(--i) * 2.1));animation:em-wave 1s ease-in-out infinite;animation-delay:calc(var(--i) * -55ms)}
.em-film:not(.is-playing) .em-sc__wave i,.em-film:not(.is-playing) .em-film__bg i,.em-film:not(.is-playing) .em-film__stars i{animation-play-state:paused}
.em-sc__bub{display:flex;flex-direction:column;gap:.3cqw;max-width:92%;padding:1cqw 1.4cqw;border-radius:1.6cqw;font-size:1.55cqw;line-height:1.35}
.em-sc__bub b{font:500 1cqw/1 var(--em-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.em-sc__bub--dr{background:rgba(255,255,255,.14);align-self:flex-start;border-bottom-left-radius:.4cqw}
.em-sc__bub--pt{background:#fff;color:#1D1670;align-self:flex-end;border-bottom-right-radius:.4cqw}
.em-sc__bub span.is-typing::after,.em-sc__row span.is-typing::after{content:"";display:inline-block;width:.25cqw;height:1em;margin-left:.2cqw;vertical-align:-.15em;background:currentColor;animation:em-caret .7s steps(1) infinite}
.em-sc__note{position:relative;display:flex;flex-direction:column;gap:1.1cqw;padding:2.6cqw;border-radius:2.6cqw;background:#fff;color:#0E1630;box-shadow:0 4cqw 8cqw -3cqw rgba(8,4,40,.7)}
.em-sc__head{display:flex;justify-content:space-between;align-items:center;font:600 2.3cqw/1 var(--em-display)}
.em-sc__draft{padding:.6cqw 1.1cqw;border-radius:99px;background:#FBEFD8;color:#8F5A10;font:500 1.1cqw/1 var(--em-mono)}
.em-sc__row{display:grid;grid-template-columns:3.6cqw 1fr auto;gap:1.2cqw;align-items:center;min-height:4.8cqw;padding:.9cqw 1.1cqw;border-radius:1.3cqw;border:1px solid #DCE3F2;font-size:1.5cqw}
.em-sc__row.is-on{animation:fm-row 1.2s ease-out}
@keyframes fm-row{0%{box-shadow:0 0 0 .5cqw rgba(143,174,255,.5);border-color:#8EAEFF}100%{box-shadow:0 0 0 0 rgba(143,174,255,0)}}
.em-sc__row b{display:grid;place-items:center;width:3.6cqw;height:3.6cqw;border-radius:1cqw;background:linear-gradient(135deg,#2F5BFF,#8F5CF6);color:#fff;font:600 1.8cqw/1 var(--em-display)}
.em-sc__code{padding:.4cqw .8cqw;border-radius:.8cqw;background:#EEF2FF;color:#2F5BFF;font:500 1.2cqw/1 var(--em-mono);font-style:normal}
.em-sc__code.em-k{transform:translate(4cqw,-3cqw) scale(.4)}
.em-sc__code.em-k.is-on{transform:none}
.em-sc__review{position:relative;overflow:hidden;display:flex;align-items:center;gap:1cqw;padding:.7cqw 1.1cqw;border-radius:1cqw;background:#F5F7FF;font:500 1.2cqw/1 var(--em-mono);color:#5B5CFF}
.em-sc__review span{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(143,174,255,.45),transparent);animation:fm-scan 1.2s linear infinite}
@keyframes fm-scan{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.em-sc__sign{position:relative;height:5.4cqw;border-top:1px dashed #DCE3F2;padding-top:.6cqw}
.em-sc__sign svg{width:20cqw;height:5cqw}
.em-sc__sign path{stroke:#1D1670;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.em-sc__stamp{position:absolute;right:0;top:.4cqw;display:inline-flex;align-items:center;gap:.6cqw;padding:.8cqw 1.4cqw;border-radius:99px;background:#EAF7EF;color:#17794A;border:.2cqw solid #17794A;font:600 1.3cqw/1 var(--em-mono);text-transform:uppercase;letter-spacing:.08em}
.em-sc__stamp.em-k{transform:scale(2.2) rotate(-14deg)}
.em-sc__stamp.em-k.is-on{transform:rotate(-6deg)}
.em-sc__done{position:absolute;left:50%;top:50%;z-index:3;display:flex;flex-direction:column;align-items:center;gap:.8cqw;padding:3cqw 5cqw;border-radius:3cqw;background:rgba(29,22,112,.9);border:1px solid rgba(255,211,238,.4);backdrop-filter:blur(10px);translate:-50% -50%}
.em-sc__done .em-ic{width:8cqw;height:8cqw;padding:1.6cqw;border-radius:50%;background:linear-gradient(135deg,#CFE0FF,#FFD3EE);color:#1D1670;stroke-width:3}
.em-sc__done strong{font:600 3.6cqw/1 var(--em-display);color:#fff}
.em-sc__done small{font-size:1.4cqw;color:#DCE4F7}
.em-sc__done-ring{position:absolute;left:50%;top:38%;width:9cqw;height:9cqw;margin:-4.5cqw 0 0 -4.5cqw;border-radius:50%;border:.3cqw solid #FFD3EE;opacity:0}
.em-sc__done.is-on .em-sc__done-ring{animation:fm-burst 1.2s var(--em-ease) forwards}

/* ── 4 · one record ────────────────────────────────────────────── */
.em-rec__web{position:absolute;inset:0;width:100%;height:100%}
.em-rec__line{stroke:#C9B4FF;stroke-opacity:.8}
.em-rec__flow path{stroke:#fff;stroke-width:3;stroke-dasharray:2 22;animation:fm-flow 1.1s linear infinite}
@keyframes fm-flow{to{stroke-dashoffset:-48}}
.em-rec__rings{transform-box:fill-box;transform-origin:center;animation:em-spin 30s linear infinite}
.em-rec__patient{position:absolute;left:50%;top:50%;translate:-50% -50%;display:flex;flex-direction:column;align-items:center;gap:.7cqw;padding:2.4cqw 3.6cqw;border-radius:2.6cqw;background:#fff;color:#0E1630;box-shadow:0 0 0 1.6cqw rgba(207,224,255,.14),0 0 0 3.4cqw rgba(207,224,255,.06),0 3cqw 6cqw -2cqw rgba(8,4,40,.6)}
.em-rec__patient .em-avatar{width:6.4cqw;height:6.4cqw;font-size:2.1cqw}
.em-rec__patient b{font:600 2.5cqw/1 var(--em-display)}
.em-rec__patient small{font:500 1.2cqw/1 var(--em-mono);letter-spacing:.1em;text-transform:uppercase;color:#5B5CFF}
.em-rec__mod{position:absolute;display:inline-flex;align-items:center;gap:1cqw;padding:1.3cqw 2.1cqw;border-radius:99px;background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);font-weight:600;font-size:1.9cqw;color:#fff;translate:-50% -50%;box-shadow:0 1.6cqw 3cqw -1cqw rgba(8,4,40,.5)}
.em-rec__mod .em-ic{width:2.3cqw;height:2.3cqw;color:#FFD3EE}
.em-rec__mod--1{left:22.3%;top:24.4%}.em-rec__mod--2{left:77.7%;top:24.4%}
.em-rec__mod--3{left:22.3%;top:75.6%}.em-rec__mod--4{left:77.7%;top:75.6%}
.em-rec__mod.em-k{transform:scale(.3)}
.em-rec__mod.em-k.is-on{transform:none}
.em-rec__team{position:absolute;left:50%;top:6%;translate:-50% 0;display:flex;gap:1.4cqw}
.em-rec__team span{display:inline-flex;align-items:center;gap:.8cqw;padding:.6cqw 1.4cqw .6cqw .6cqw;border-radius:99px;background:#fff;color:#1D1670;font:600 1.5cqw/1 var(--em-body);white-space:nowrap;box-shadow:0 1cqw 2cqw -1cqw rgba(8,4,40,.5)}
.em-rec__av{display:grid;place-items:center;width:3cqw;height:3cqw;border-radius:50%;background:linear-gradient(135deg,#2F5BFF,#C26CF0);color:#fff;font:600 1.1cqw/1 var(--em-body);font-style:normal}
.em-rec__same{position:absolute;left:50%;bottom:7%;translate:-50% 0;font:500 italic 2.2cqw/1 var(--em-display);color:#FFD3EE}

/* ── 5 · security ──────────────────────────────────────────────── */
.em-sec5{display:grid;grid-template-columns:.7fr 1.3fr;gap:5cqw;align-items:center;padding:6cqw 8cqw}
.em-sec5__shield{width:100%;height:auto;filter:drop-shadow(0 0 4cqw rgba(194,108,240,.55))}
.em-sec5__fill{opacity:0;transition:opacity .8s}
.em-scene--secure.is-active .em-sec5__fill{opacity:.95;transition-delay:.8s}
.em-sec5__shield path[data-film-draw]{stroke-linecap:round}
.em-sec5__log{display:flex;flex-direction:column;gap:1.3cqw}
.em-sec5__head{display:flex;align-items:center;gap:1cqw;font:500 1.4cqw/1 var(--em-mono);letter-spacing:.12em;text-transform:uppercase;color:#FFD3EE}
.em-sec5__head .em-ic,.em-sec5__roles .em-ic{width:2cqw;height:2cqw}
.em-sec5__row{position:relative;display:flex;align-items:center;gap:1.4cqw;padding:1.5cqw 2cqw;border-radius:1.6cqw;background:rgba(255,255,255,.1);border:1px solid rgba(207,224,255,.22);font-size:1.75cqw}
.em-sec5__row:not(:nth-child(4))::after{content:"";position:absolute;left:3.4cqw;bottom:-1.4cqw;width:.25cqw;height:1.4cqw;background:linear-gradient(#8EAEFF,#FFD3EE)}
.em-sec5__row code{font:500 1.4cqw/1 var(--em-mono);color:#BFD3FF}
.em-sec5__row i{margin-left:auto;font:500 1.2cqw/1 var(--em-mono);font-style:normal;color:#C9B4FF}
.em-sec5__row.em-k{transform:translateX(4cqw)}
.em-sec5__row.em-k.is-on{transform:none}
.em-sec5__roles{display:flex;flex-wrap:wrap;gap:1cqw;margin-top:1cqw}
.em-sec5__roles span{display:inline-flex;align-items:center;gap:.8cqw;padding:1.1cqw 1.8cqw;border-radius:99px;background:linear-gradient(120deg,#CFE0FF,#E6DCFF);color:#1D1670;font-weight:600;font-size:1.6cqw}
.em-sec5__roles .em-sec5__deny{background:rgba(229,72,77,.18);color:#FFC9D6;border:1px solid rgba(255,120,140,.55)}
.em-sec5__deny.is-on{animation:fm-shake .5s .1s}
@keyframes fm-shake{20%,60%{transform:translateX(-.8cqw)}40%,80%{transform:translateX(.8cqw)}}

/* ── poster ────────────────────────────────────────────────────── */
.em-film__poster{position:absolute;left:0;right:0;top:0;aspect-ratio:16/9;z-index:8;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;align-items:end;padding:4cqw;overflow:hidden;background:linear-gradient(160deg,#2238B8,#2A2396 55%,#1D1670);transition:opacity .5s,visibility .5s}
.em-film.is-started .em-film__poster{opacity:0;visibility:hidden}
.em-film__posterbg{position:absolute;inset:0;pointer-events:none}
.em-film__posterbg i{position:absolute;border-radius:50%;filter:blur(5cqw);animation:fm-drift 12s ease-in-out infinite alternate}
.em-film__posterbg i:nth-child(1){width:50cqw;height:50cqw;left:-10cqw;top:-20cqw;background:radial-gradient(circle,#5AA9FF,transparent 68%);opacity:.6}
.em-film__posterbg i:nth-child(2){width:44cqw;height:44cqw;right:-8cqw;bottom:-20cqw;background:radial-gradient(circle,#FF8FD8,transparent 68%);opacity:.45}
.em-film__posterbg i:nth-child(3){width:30cqw;height:30cqw;left:40cqw;top:10cqw;background:radial-gradient(circle,#C08BFF,transparent 68%);opacity:.4}
.em-film__bigplay{position:absolute;left:50%;top:42%;translate:-50% -50%;display:grid;place-items:center;width:clamp(72px,11cqw,120px);aspect-ratio:1;border:0;border-radius:50%;cursor:pointer;background:linear-gradient(135deg,#FFFFFF,#DCE6FF 60%,#FFD3EE);color:#2A2396;box-shadow:0 2cqw 5cqw -1cqw rgba(8,4,40,.7);transition:transform .35s var(--em-ease)}
.em-film__bigplay svg{width:40%;fill:currentColor;margin-left:8%}
.em-film__bigplay:hover{transform:scale(1.08)}
.em-film__pulse{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.7);animation:fm-pulse 2s ease-out infinite}
@keyframes fm-pulse{from{transform:scale(1);opacity:.9}to{transform:scale(1.8);opacity:0}}
.em-film__postercopy{position:relative;z-index:1;color:#fff}
.em-film__postertitle{font:600 clamp(1.2rem,3.6cqw,2.4rem)/1.1 var(--em-display);max-width:18ch}
.em-film__postertitle em{font-style:italic;font-weight:500;background:linear-gradient(110deg,#BFD3FF,#FFFFFF 45%,#FFD3EE);-webkit-background-clip:text;background-clip:text;color:transparent}
.em-film__postermeta{margin-top:.6rem;font:500 clamp(.65rem,1.3cqw,.85rem)/1 var(--em-mono);letter-spacing:.1em;text-transform:uppercase;color:#FFD3EE}
.em-film__chapters{position:relative;z-index:1;display:flex;flex-direction:column;gap:.35rem;align-self:end;width:clamp(180px,28cqw,260px)}
.em-film__chapters button{display:flex;gap:.7rem;align-items:center;width:100%;padding:.45rem .8rem;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;font:500 clamp(.7rem,1.4cqw,.88rem)/1.2 var(--em-body);cursor:pointer;text-align:left;backdrop-filter:blur(6px);transition:background .2s}
.em-film__chapters button:hover{background:rgba(255,255,255,.22)}
.em-film__chapters span{font:500 .72em/1 var(--em-mono);color:#FFD3EE}

/* end CTA (a real link over the end card) */
.em-film__cta{position:absolute;left:50%;top:38cqw;z-index:7;display:inline-flex;align-items:center;gap:.8cqw;padding:1.7cqw 3.2cqw;border-radius:99px;background:linear-gradient(120deg,#FFFFFF,#DCE6FF 55%,#FFD3EE);color:#1D1670;font-weight:700;font-size:max(.9rem,2.2cqw);white-space:nowrap;box-shadow:0 0 0 1cqw rgba(255,255,255,.12),0 2cqw 4cqw -1cqw rgba(8,4,40,.6);opacity:0;visibility:hidden;transform:translate(-50%,1cqw);transition:opacity .5s var(--em-ease),transform .5s var(--em-ease),visibility .5s}
.em-film.is-cta .em-film__cta{opacity:1;visibility:visible;transform:translate(-50%,0);animation:fm-ctaglow 2s ease-in-out infinite}
@keyframes fm-ctaglow{50%{box-shadow:0 0 0 1.6cqw rgba(255,211,238,.18),0 2cqw 4cqw -1cqw rgba(8,4,40,.6)}}

/* captions + controls */
.em-film__cap{position:absolute;left:50%;bottom:calc(60px + 3%);transform:translateX(-50%);z-index:9;max-width:min(86%,760px);margin:0;padding:.5rem 1rem;border-radius:12px;background:rgba(10,6,48,.72);color:#fff;font-size:clamp(.82rem,1.6cqw,1.08rem);line-height:1.4;text-align:center;backdrop-filter:blur(6px);opacity:0;transition:opacity .25s}
.em-film__cap.is-on{opacity:1}
.em-film__bar{display:flex;align-items:center;gap:.7rem;height:60px;padding:0 .9rem;background:linear-gradient(180deg,#1A1466,#140F57);border-top:1px solid rgba(207,224,255,.12)}
.em-film__ctl{display:grid;place-items:center;min-width:40px;height:40px;border-radius:12px;border:0;background:rgba(255,255,255,.08);color:#EEF2FD;cursor:pointer;font:600 .72rem/1 var(--em-mono);transition:background .2s,color .2s}
.em-film__ctl:hover{background:rgba(255,255,255,.18)}
.em-film__ctl svg{width:20px;height:20px;fill:currentColor}
.em-film__i-vol,.em-film__i-mute,.em-film__i-full{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.em-film__i-vol path+path,.em-film__i-mute path+path,.em-film__i-full path{fill:none}
.em-film__i-pause,.em-film__i-mute{display:none}
.em-film.is-playing .em-film__i-play{display:none}
.em-film.is-playing .em-film__i-pause{display:block}
.em-film.is-muted .em-film__i-vol{display:none}
.em-film.is-muted .em-film__i-mute{display:block}
.em-film__cc.is-on{background:linear-gradient(120deg,#CFE0FF,#FFD3EE);color:#1D1670}
.em-film__track{position:relative;flex:1;height:6px;border-radius:999px;background:rgba(255,255,255,.14);cursor:pointer}
.em-film__track::before{content:"";position:absolute;inset:-12px 0}
.em-film__track>span{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:inherit;background:linear-gradient(90deg,#5AA9FF,#8EAEFF 35%,#C9B4FF 70%,#FFD3EE);box-shadow:0 0 12px rgba(201,180,255,.7)}
.em-film__track>i{position:absolute;top:-3px;width:3px;height:12px;border-radius:2px;background:rgba(255,255,255,.55);translate:-50% 0}
.em-film__time{font:500 .74rem/1 var(--em-mono);color:#BFD3FF;white-space:nowrap}
.em-film__transcript{max-width:1080px;margin:1.25rem auto 0;color:#DCE4F7;font-size:.95rem}
.em-film__transcript summary{cursor:pointer;font-weight:600;color:#FFD3EE;width:max-content}
.em-film__transcript ol{list-style:decimal;padding-left:1.25rem;margin:1rem 0;display:flex;flex-direction:column;gap:.35rem}
.em-film__transcript p{font-size:.8rem;color:#BFD3FF}

@media (max-width:640px){
  .em-film{border-radius:18px}
  .em-film__bar{gap:.35rem;padding:0 .5rem}
  .em-film__time,[data-film-full]{display:none}
  .em-film__cap{position:static;transform:none;max-width:none;display:flex;align-items:center;justify-content:center;min-height:3.4em;border-radius:0;background:#140F57;font-size:.82rem;backdrop-filter:none}
  .em-film__chapters{display:none}
  .em-film__poster{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .em-scene,.em-scene.is-active{clip-path:none;transition:opacity .3s}
  .em-cam{transform:none}
  .em-film__bg i,.em-film__stars i,.em-film__posterbg i,.em-film__pulse,.em-rec__flow path,.em-rec__rings,.em-n1__glow,.em-n1__steam path,.em-sc__wave i{animation:none!important}
}
