/* Shared portrait gallery: home, personal reading and purchase use one component. */
.rf-body .ec-video-series { --video-ink:#28132e; --video-muted:#705468; --video-blush:#fae7ee; padding:88px 0 76px; background:var(--video-blush); color:var(--video-ink); font-family:var(--ec-sans); scroll-margin-top:96px; }
.ec-video-series__inner { width:min(1460px,100%); margin-inline:auto; padding-inline:36px; }
.ec-video-series__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; margin-bottom:46px; }
.rf-body .ec-video-series__heading h2 { max-width:18ch; margin:0; color:var(--video-ink); font:500 clamp(40px,4.55vw,66px)/1.08 var(--ec-serif); letter-spacing:-.045em; text-wrap:balance; }
.ec-video-series__intro { flex:0 0 270px; padding-bottom:4px; }
.ec-video-series__star { display:block; margin-bottom:20px; color:#955576; }
.ec-video-series__star .rf-ico { width:31px; height:31px; }
.rf-body .ec-video-series__intro p { margin:0 0 9px; font-size:15px; font-weight:600; line-height:1.5; }
.ec-video-series__intro > span:last-child { color:var(--video-muted); font-size:12px; line-height:1.6; }
.ec-video-series__track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:22px; padding-bottom:30px; }
.ec-video-series__card { --card-ink:#fff; --card-muted:#ebdce8; --card-line:#75566f; position:relative; isolation:isolate; overflow:hidden; aspect-ratio:9/14; min-width:0; margin:0; border:1px solid var(--card-line); border-radius:7px; background:#351d3c; color:var(--card-ink); box-shadow:0 18px 32px -24px rgb(40 19 46 / 35%); }
.ec-video-series__card:nth-child(even) { margin-top:24px; }
.ec-video-series__card::after { content:""; position:absolute; z-index:0; inset:0; background:linear-gradient(180deg,rgb(40 19 46 / 12%),transparent 30%,rgb(40 19 46 / 92%) 100%); pointer-events:none; }
.ec-video-series__card.is-placeholder::after { inset:10px; border:1px solid var(--card-line); border-radius:3px; opacity:.6; background:none; }
.ec-video-series__card.is-placeholder:nth-child(2) { --card-ink:#28132e; --card-muted:#6b5064; --card-line:#d6bdca; background:#fffafc; }
.ec-video-series__card.is-placeholder:nth-child(3) { --card-ink:#28132e; --card-muted:#65475d; --card-line:#c3a0b7; background:#e9d3df; }
.ec-video-series__card.is-placeholder:nth-child(4) { --card-line:#986e8b; background:#4e2a48; }
.ec-video-series__card > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ec-video-series__constellation { position:absolute; inset:20px 12px; color:var(--card-line); pointer-events:none; }
.ec-video-series__constellation svg { width:100%; height:100%; stroke:currentColor; stroke-width:.7; opacity:.68; }
.ec-video-series__sparkles { fill:currentColor; stroke:none; }
.ec-video-series__number { position:absolute; top:28px; left:28px; color:var(--card-ink); opacity:.65; font:400 16px/1 var(--ec-serif); }
.ec-video-series__card figcaption { position:absolute; z-index:1; right:28px; bottom:30px; left:28px; }
.ec-video-series__card figcaption > span { display:block; margin-bottom:11px; color:var(--card-muted); font-size:11px; line-height:1.5; }
.rf-body .ec-video-series__card h3 { margin:0; color:var(--card-ink); font:500 clamp(25px,2.25vw,34px)/1.13 var(--ec-serif); letter-spacing:-.035em; text-wrap:balance; }
.ec-video-series__card small { display:block; margin-top:15px; color:var(--card-muted); font-size:11px; line-height:1.6; }
.ec-video-series__play { position:absolute; z-index:2; top:42%; left:50%; display:grid; place-items:center; width:64px; height:64px; padding:0; transform:translate(-50%,-50%); border:1px solid #fff; border-radius:50%; background:#fff; color:#28132e; box-shadow:0 0 0 8px rgb(255 255 255 / 13%); cursor:pointer; transition:box-shadow .2s,background-color .2s; }
.ec-video-series__play .rf-ico { width:23px; height:23px; margin-left:4px; }
.ec-video-series__play:disabled { cursor:default; opacity:1; box-shadow:0 0 0 8px rgb(255 255 255 / 9%); }
.ec-video-series__play:not(:disabled):hover { background:#fae7ee; box-shadow:0 0 0 12px rgb(255 255 255 / 20%); }
.ec-video-series :focus-visible { outline:3px solid #cf086b; outline-offset:5px; }
.ec-video-series__card video { position:absolute; z-index:3; inset:0; width:100%; height:100%; background:#150d18; object-fit:cover; }
/* In-card player: brand watermark, story progress and minimal controls drawn over the video. */
.ec-video-series__hud { position:absolute; z-index:4; inset:0; color:#fff; font-family:var(--ec-sans); }
.ec-video-series__hud[hidden] { display:none; }
.ec-video-series__hud::before,.ec-video-series__hud::after { content:""; position:absolute; inset-inline:0; pointer-events:none; }
.ec-video-series__hud::before { top:0; height:30%; background:linear-gradient(180deg,rgb(21 10 26 / 62%),transparent); }
.ec-video-series__hud::after { bottom:0; height:38%; background:linear-gradient(0deg,rgb(21 10 26 / 80%),transparent); }
.ec-video-series__surface { position:absolute; z-index:1; inset:0; display:grid; place-items:center; width:100%; padding:0; border:0; background:transparent; color:#28132e; cursor:pointer; }
.ec-video-series__surface > span { display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background:#fff; box-shadow:0 0 0 8px rgb(255 255 255 / 16%); opacity:0; transform:scale(.86); transition:opacity .2s,transform .2s; }
.ec-video-series__surface .rf-ico { width:23px; height:23px; margin-left:4px; }
.ec-video-series__card.is-paused .ec-video-series__surface > span { opacity:1; transform:none; }
.ec-video-series__progress { position:absolute; z-index:3; top:12px; right:14px; left:14px; height:3px; border-radius:3px; background:rgb(255 255 255 / 30%); cursor:pointer; }
.ec-video-series__progress::before { content:""; position:absolute; inset:-10px 0; }
.ec-video-series__progress i { display:block; height:100%; border-radius:inherit; background:#fff; transform:scaleX(0); transform-origin:left; }
.ec-video-series__mark { position:absolute; z-index:2; top:27px; left:16px; display:flex; align-items:center; gap:8px; pointer-events:none; text-shadow:0 1px 8px rgb(21 10 26 / 55%); }
.ec-video-series__mark svg { width:27px; height:27px; flex:none; filter:drop-shadow(0 1px 6px rgb(21 10 26 / 45%)); }
.ec-video-series__mark > span { font:500 16px/1.05 var(--ec-serif); letter-spacing:-.01em; }
.ec-video-series__mark small { display:block; margin-top:3px; font:600 9px/1.2 var(--ec-sans); letter-spacing:.14em; text-transform:uppercase; opacity:.82; }
.ec-video-series__hud-num { position:absolute; z-index:2; top:30px; right:18px; font:400 15px/1 var(--ec-serif); opacity:.72; pointer-events:none; }
.ec-video-series__seal { position:absolute; z-index:2; right:-26px; bottom:22%; width:132px; height:132px; color:#fff; opacity:.16; pointer-events:none; mix-blend-mode:screen; }
.ec-video-series__seal svg { width:100%; height:100%; }
.ec-video-series__hud-caption { position:absolute; z-index:2; right:68px; bottom:20px; left:18px; font:500 19px/1.15 var(--ec-serif); letter-spacing:-.02em; text-wrap:balance; pointer-events:none; text-shadow:0 1px 10px rgb(21 10 26 / 50%); }
.ec-video-series__hud-caption small { display:block; margin-top:7px; font:600 11px/1 var(--ec-sans); letter-spacing:.04em; font-variant-numeric:tabular-nums; opacity:.75; }
.ec-video-series__mute { position:absolute; z-index:3; right:14px; bottom:16px; display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid rgb(255 255 255 / 55%); border-radius:50%; background:rgb(21 10 26 / 38%); color:#fff; cursor:pointer; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.ec-video-series__mute .rf-ico { width:18px; height:18px; filter:brightness(0) invert(1); }
.ec-video-series__mute .is-mute,.ec-video-series__card.is-muted .ec-video-series__mute .is-sound { display:none; }
.ec-video-series__card.is-muted .ec-video-series__mute .is-mute { display:block; }
.ec-video-series__hud :focus-visible { outline:3px solid #fff; outline-offset:-3px; }
.ec-video-series__card.is-playing > img,.ec-video-series__card.is-playing figcaption,.ec-video-series__card.is-playing .ec-video-series__play,.ec-video-series__card.is-playing::after { display:none; }
.ec-video-series__footer { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:10px; }
.rf-body .ec-video-series__note { max-width:68ch; margin:0; color:var(--video-muted); font-size:11px; line-height:1.6; }
.ec-video-series__controls { display:flex; align-items:center; gap:15px; flex-shrink:0; }
.ec-video-series__controls[hidden] { display:none; }
.ec-video-series__controls button { display:grid; place-items:center; width:44px; height:44px; border:1px solid #caaaBD; border-radius:50%; background:transparent; color:var(--video-ink); cursor:pointer; }
.ec-video-series__controls button:disabled { opacity:.35; cursor:default; }
.ec-video-series__controls .rf-ico { width:20px; height:20px; }
.ec-video-series__controls button:first-child .rf-ico { transform:rotate(180deg); }
.ec-video-series__controls > span { min-width:32px; color:var(--video-muted); font-size:11px; text-align:center; }
@media(max-width:1099px) {
  .rf-body .ec-video-series { padding-block:68px 54px; }
  .ec-video-series__inner { padding-inline:28px; }
  .ec-video-series__heading { gap:30px; }
  .ec-video-series__intro { flex-basis:215px; }
  .ec-video-series__track { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:32%; gap:18px; margin-inline:-28px; padding:0 28px 28px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:28px; overscroll-behavior-x:contain; scrollbar-width:none; }
  .ec-video-series__track::-webkit-scrollbar { display:none; }
  .ec-video-series__card { scroll-snap-align:start; }
  .ec-video-series__card figcaption { left:23px; right:23px; bottom:25px; }
  .ec-video-series__card:nth-child(even) { margin-top:20px; }
  .ec-video-series__number { top:25px; left:23px; }
}
@media(max-width:699px) {
  .rf-body .ec-video-series { padding-block:53px 40px; }
  .ec-video-series__inner { padding-inline:20px; }
  .ec-video-series__heading { display:block; margin-bottom:29px; }
  .rf-body .ec-video-series__heading h2 { max-width:18ch; font-size:clamp(36px,9.4vw,49px); }
  .ec-video-series__intro { margin-top:22px; }
  .ec-video-series__star,.ec-video-series__intro > span:last-child { display:none; }
  .rf-body .ec-video-series__intro p { font-size:12px; }
  .ec-video-series__track { grid-auto-columns:78%; gap:16px; margin-inline:-20px; padding-inline:20px; scroll-padding-inline:20px; padding-bottom:28px; }
  .rf-body .ec-video-series__card h3 { font-size:31px; }
  .ec-video-series__hud-caption { font-size:17px; }
  .ec-video-series__footer { align-items:flex-start; gap:17px; margin-top:0; }
  .rf-body .ec-video-series__note { font-size:10px; }
  .ec-video-series__controls { gap:7px; }
  .ec-video-series__controls button { width:44px; height:44px; }
}
@media(prefers-reduced-motion:reduce) { .ec-video-series__play,.ec-video-series__surface > span { transition:none; } }
