/* Bespoke scenes for IPL / STARTUP / UNHRC / CCEP (see committee-scenes.js).
   Intro scenes live in #mcPlayfield and play once; hero scenes loop behind the committee page. */
:is(#mcPlayfield,.cinema-hero-scene) [class^="ms-"],:is(#mcPlayfield,.cinema-hero-scene) [class*=" ms-"]{position:absolute;box-sizing:border-box}
:is(#mcPlayfield,.cinema-hero-scene) :is(.ms-crowd,.ms-coins,.ms-stars) i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;opacity:0;animation:msTwinkle 2.4s ease-in-out infinite}
@keyframes msTwinkle{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:.95;transform:scale(1.6)}}
:is(#mcPlayfield,.cinema-hero-scene) :is(.ms-crowd,.ms-coins){inset:0}

/* longer timeline for the four new intros: title lands after the scene has played */
.mc-journey.playing:is([data-code="IPL"],[data-code="STARTUP"],[data-code="UNHRC"],[data-code="CCEP"]) .mc-heading{animation-duration:5.6s}
.mc-journey.playing:is([data-code="IPL"],[data-code="STARTUP"],[data-code="UNHRC"],[data-code="CCEP"]) .mc-photo{animation-duration:5.7s}
.mc-journey[data-code="STARTUP"]{--mc-accent:#ffb48a}
.mc-journey[data-code="STARTUP"] .mc-photo{background-image:linear-gradient(0deg,#1a0c28d9,#53213366),url('../images/startup-san-francisco-cinematic.webp')}

/* ================= IPL ================= */
:is(#mcPlayfield,.cinema-hero-scene) .ms-beam{top:-10%;width:22vw;height:120%;background:linear-gradient(180deg,#fff6c8aa,#fff6c800 75%);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);mix-blend-mode:screen;opacity:0;transform-origin:50% 0}
.ms-beam.b1{left:6%}.ms-beam.b2{left:40%}.ms-beam.b3{right:6%}
:is(#mcPlayfield,.cinema-hero-scene) .ms-batter{height:88%;bottom:-3%;left:50%;transform:translateX(-52%);mix-blend-mode:screen;opacity:0;filter:saturate(1.1) contrast(1.05)}
:is(#mcPlayfield,.cinema-hero-scene) .ms-ball{width:2.6vmin;height:2.6vmin;border-radius:50%;left:50%;top:40%;opacity:0;background:radial-gradient(circle at 35% 30%,#ff8e7d,#c4161c 55%,#6d0a0e);box-shadow:0 0 14px #ff4a3a99}
:is(#mcPlayfield,.cinema-hero-scene) .ms-trail{left:50%;top:40%;width:30vmin;height:2px;background:linear-gradient(90deg,#fff0,#fff);opacity:0;transform-origin:100% 50%;filter:blur(1px)}
:is(#mcPlayfield,.cinema-hero-scene) .ms-impact{left:50%;top:40%;width:30vmin;height:30vmin;margin:-15vmin;border-radius:50%;border:3px solid #fff3c4;opacity:0;box-shadow:0 0 60px #ffe8a0,inset 0 0 40px #ffe8a0}
:is(#mcPlayfield,.cinema-hero-scene) .ms-six{left:0;right:0;top:20%;text-align:center;opacity:0;font-family:var(--sans,Arial)}
.ms-six b{display:block;font:900 clamp(7rem,26vw,22rem)/.8 var(--sans,Arial);letter-spacing:-.08em;color:#ffd24a;-webkit-text-stroke:3px #7a2a00;text-shadow:0 8px 0 #7a2a00,0 0 60px #ff9a1f}
.ms-six small{display:block;margin-top:14px;font:700 clamp(10px,1vw,14px) var(--mono,monospace);letter-spacing:.4em;color:#fff3c4}
:is(#mcPlayfield) .ms-scoreboard{right:5vw;bottom:15vh;padding:12px 18px;border:1px solid #ffd24a88;background:#071a2fc4;backdrop-filter:blur(8px);font:700 11px var(--mono,monospace);letter-spacing:.18em;color:#cfe3ff;opacity:0;display:grid;gap:4px;text-align:right}
.ms-scoreboard b{font:900 clamp(1.4rem,3vw,2.4rem) var(--sans,Arial);letter-spacing:-.03em;color:#ffd24a}
.ms-sky{inset:0;background:linear-gradient(180deg,#02070f,#0a2036 60%,#0d3a2c);opacity:.55}
.ms-pitch{left:0;right:0;bottom:0;height:20%;background:linear-gradient(0deg,#0b4a2bcc,#0b4a2b00);animation:none}
.ms-ticker{left:0;right:0;bottom:3.5vh;display:flex;gap:26px;justify-content:center;font:700 11px var(--mono,monospace);letter-spacing:.22em;color:#ffe9a8;text-shadow:0 2px 10px #000;opacity:.8}

/* intro timeline (5.6s) */
.mc-journey.playing[data-code="IPL"] .ms-beam{animation:msBeam 5.6s ease-in-out both}
.mc-journey.playing[data-code="IPL"] .ms-beam.b2{animation-delay:.2s}.mc-journey.playing[data-code="IPL"] .ms-beam.b3{animation-delay:.4s}
.mc-journey.playing[data-code="IPL"] .ms-batter{animation:msBatterIn 5.6s cubic-bezier(.2,.7,.2,1) both}
.mc-journey.playing[data-code="IPL"] .ms-ball{animation:msBall 5.6s cubic-bezier(.4,0,.5,1) both}
.mc-journey.playing[data-code="IPL"] .ms-trail{animation:msTrail 5.6s linear both}
.mc-journey.playing[data-code="IPL"] .ms-impact{animation:msImpact 5.6s ease-out both}
.mc-journey.playing[data-code="IPL"] .ms-six{animation:msSix 5.6s both}
.mc-journey.playing[data-code="IPL"] .ms-scoreboard{animation:msBoard 5.6s both}
@keyframes msBeam{0%{opacity:0;transform:rotate(-14deg)}18%{opacity:.8}60%{opacity:.55;transform:rotate(11deg)}100%{opacity:.25;transform:rotate(-6deg)}}
@keyframes msBatterIn{0%{opacity:0;transform:translateX(-52%) translateY(40px) scale(.92)}16%{opacity:1;transform:translateX(-52%) translateY(0) scale(.98)}34%{transform:translateX(-52%) scale(1.06) rotate(-1.5deg)}42%,100%{opacity:.9;transform:translateX(-52%) scale(1)}}
@keyframes msBall{0%,8%{opacity:0;transform:translate(-30vw,-4vh) scale(.3)}10%{opacity:1;transform:translate(-30vw,-4vh) scale(.3)}33%,34%{opacity:1;transform:translate(11vw,-22vh) scale(1.5)}56%{opacity:1;transform:translate(26vw,-58vh) scale(4)}70%,100%{opacity:0;transform:translate(36vw,-84vh) scale(6)}}
@keyframes msTrail{0%,34%{opacity:0;transform:translate(11vw,-22vh) rotate(-58deg) scaleX(0)}38%{opacity:.9;transform:translate(11vw,-22vh) rotate(-58deg) scaleX(1)}60%,100%{opacity:0;transform:translate(26vw,-56vh) rotate(-58deg) scaleX(1.6)}}
@keyframes msImpact{0%,33%{opacity:0;transform:translate(11vw,-22vh) scale(.1)}36%{opacity:1;transform:translate(11vw,-22vh) scale(.7)}56%,100%{opacity:0;transform:translate(11vw,-22vh) scale(2.6)}}
@keyframes msSix{0%,36%{opacity:0;transform:scale(2.2) rotate(-6deg)}41%{opacity:1;transform:scale(1) rotate(-3deg)}62%{opacity:1;transform:scale(1.04) rotate(-3deg)}70%,100%{opacity:0;transform:scale(1.18) rotate(-3deg);filter:blur(10px)}}
@keyframes msBoard{0%,12%{opacity:0;transform:translateX(40px)}22%,70%{opacity:1;transform:none}80%,100%{opacity:0}}
/* hero loop (9s) */
.cinema-hero-scene[data-code="IPL"] .ms-beam{animation:msBeamLoop 9s ease-in-out infinite alternate}
.cinema-hero-scene[data-code="IPL"] .ms-beam.b2{animation-delay:-3s}.cinema-hero-scene[data-code="IPL"] .ms-beam.b3{animation-delay:-6s}
.cinema-hero-scene[data-code="IPL"] .ms-batter{height:92%;left:auto;right:3%;transform:none;animation:msHeroBatter 9s ease-in-out infinite}
.cinema-hero-scene[data-code="IPL"] .ms-ball{left:70%;top:40%;animation:msHeroBall 9s cubic-bezier(.4,0,.5,1) infinite}
.cinema-hero-scene[data-code="IPL"] .ms-trail{left:70%;animation:msHeroTrail 9s linear infinite}
.cinema-hero-scene[data-code="IPL"] .ms-impact{left:70%;top:58%;animation:msHeroImpact 9s ease-out infinite}
.cinema-hero-scene[data-code="IPL"] .ms-six{left:auto;right:3%;width:42%;top:14%;animation:msHeroSix 9s infinite}
.cinema-hero-scene[data-code="IPL"] .ms-six b{font-size:clamp(5rem,14vw,12rem)}
@keyframes msBeamLoop{from{opacity:.25;transform:rotate(-12deg)}to{opacity:.7;transform:rotate(12deg)}}
@keyframes msHeroBatter{0%,10%{opacity:0;transform:translateY(20px)}22%,88%{opacity:.88;transform:none}34%{transform:scale(1.04) rotate(-1deg)}100%{opacity:0}}
@keyframes msHeroBall{0%,18%{opacity:0;transform:translate(-18vw,-10vh) scale(.3)}20%{opacity:1}34%{opacity:1;transform:translate(0,14vh) scale(1.2)}58%{opacity:1;transform:translate(14vw,-50vh) scale(3.4)}66%,100%{opacity:0;transform:translate(20vw,-70vh) scale(5)}}
@keyframes msHeroTrail{0%,34%{opacity:0;transform:translate(0,14vh) rotate(-60deg) scaleX(0)}38%{opacity:.8;transform:translate(0,14vh) rotate(-60deg) scaleX(1)}58%,100%{opacity:0;transform:translate(10vw,-40vh) rotate(-60deg) scaleX(1.5)}}
@keyframes msHeroImpact{0%,33%{opacity:0;transform:scale(.1)}36%{opacity:.9;transform:scale(.6)}56%,100%{opacity:0;transform:scale(2.4)}}
@keyframes msHeroSix{0%,36%{opacity:0;transform:scale(2) rotate(-6deg)}40%{opacity:.95;transform:scale(1) rotate(-3deg)}58%{opacity:.95}66%,100%{opacity:0;filter:blur(8px)}}
.committee-page[data-committee="IPL"] .ipl-scene{display:none!important}
.committee-page[data-committee="IPL"] .cp-hero .cinema-hero-scene{display:block;z-index:0}
.committee-page[data-committee="IPL"] .cinema-hero-scene{background:#05101d url('../images/ipl-stadium-cinematic.png') center/cover;animation:chPan 26s ease-in-out infinite alternate}

/* ================= STARTUP: San Francisco demo day ================= */
.ms-sun{left:50%;bottom:20%;width:60vmin;height:60vmin;margin-left:-30vmin;border-radius:50%;background:radial-gradient(circle,#ffb27a,#ff6a4d 45%,#ff6a4d00 70%);filter:blur(3px);opacity:.0;mix-blend-mode:screen}
.ms-bridge,.ms-skyline{left:0;right:0;bottom:0;width:100%}
.ms-bridge{height:56%;opacity:0}.ms-skyline{height:38%;opacity:0}
.ms-skyline .w{opacity:0;animation:msWin 4s ease-in-out infinite}
@keyframes msWin{0%,40%{opacity:0}50%,100%{opacity:.9}}
.ms-fog{left:-20%;right:-20%;height:34%;background:radial-gradient(ellipse at 50% 50%,#ffffff55,#ffffff00 68%);filter:blur(14px);opacity:.0}
.ms-fog.f1{bottom:20%}.ms-fog.f2{bottom:4%}
.ms-deck{width:clamp(180px,22vw,300px);aspect-ratio:16/10;padding:14px;background:#fff7ee;color:#1b1030;border-radius:10px;box-shadow:0 24px 60px #000a;opacity:0;display:grid;align-content:space-between}
.ms-deck small{font:700 9px var(--mono,monospace);letter-spacing:.2em;color:#ff5a3c}
.ms-deck b{font:900 clamp(1rem,2vw,1.7rem)/1 var(--sans,Arial);letter-spacing:-.04em}.ms-deck b span{color:#ff5a3c;font-size:.55em}
.ms-deck svg{width:100%;height:auto}.ms-deck svg path{fill:none;stroke:#ff5a3c;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.ms-deck.d1{left:8vw;top:24vh}.ms-deck.d2{left:50%;margin-left:calc(clamp(180px,22vw,300px)/-2);top:18vh}.ms-deck.d3{right:8vw;top:26vh}
.ms-demo{left:0;right:0;top:12vh;text-align:center;opacity:0;font:700 11px var(--mono,monospace);letter-spacing:.34em;color:#ffd7be}
.ms-demo b{display:block;margin-top:8px;font:800 clamp(1rem,2vw,1.6rem) var(--sans,Arial);letter-spacing:.2em;color:#fff}
.ms-term{left:50%;top:44%;width:min(300px,70vw);margin-left:calc(min(300px,70vw)/-2);padding:18px;background:#fffaf2;color:#1b1030;border-radius:6px;display:grid;gap:9px;opacity:0;box-shadow:0 30px 70px #000b}
.ms-term small{font:700 10px var(--mono,monospace);letter-spacing:.2em;color:#7b6a8a}.ms-term i{display:block;height:6px;background:#ddd2e6;border-radius:3px}.ms-term i.s{width:46%;background:#1b1030;height:3px;margin-top:10px}
.ms-term em{position:absolute;right:-8px;bottom:12px;padding:4px 12px;border:4px solid #e0382a;color:#e0382a;font:900 22px var(--sans,Arial);letter-spacing:.06em;font-style:normal;transform:rotate(-12deg) scale(2.4);opacity:0}
.mc-journey.playing[data-code="STARTUP"] .ms-sun{animation:msSun 5.6s ease-out both}
.mc-journey.playing[data-code="STARTUP"] .ms-bridge{animation:msRise 5.6s ease-out both}
.mc-journey.playing[data-code="STARTUP"] .ms-skyline{animation:msRise 5.6s .15s ease-out both}
.mc-journey.playing[data-code="STARTUP"] .ms-fog{animation:msFog 5.6s ease-in-out both}
.mc-journey.playing[data-code="STARTUP"] .ms-deck.d1{animation:msDeck 5.6s .9s both}
.mc-journey.playing[data-code="STARTUP"] .ms-deck.d2{animation:msDeck 5.6s 1.3s both}
.mc-journey.playing[data-code="STARTUP"] .ms-deck.d3{animation:msDeck 5.6s 1.7s both}
.mc-journey.playing[data-code="STARTUP"] .ms-deck svg path{animation:msDraw 1.2s 1.9s ease-out both}
.mc-journey.playing[data-code="STARTUP"] .ms-demo{animation:msFade 5.6s both}
.mc-journey.playing[data-code="STARTUP"] .ms-term{animation:msTerm 5.6s both}
.mc-journey.playing[data-code="STARTUP"] .ms-term em{animation:msStamp 5.6s both}
@keyframes msSun{0%{opacity:0;transform:translateY(40%)}40%,100%{opacity:.85;transform:none}}
@keyframes msRise{0%{opacity:0;transform:translateY(30px)}25%,100%{opacity:1;transform:none}}
@keyframes msFog{0%{opacity:0;transform:translateX(-8%)}30%,70%{opacity:.7}100%{opacity:.5;transform:translateX(8%)}}
@keyframes msDeck{0%{opacity:0;transform:translateY(60px) rotate(-6deg) scale(.9)}8%,38%{opacity:1;transform:none}48%,100%{opacity:0;transform:translateY(-30px) scale(.92)}}
@keyframes msDraw{to{stroke-dashoffset:0}}
@keyframes msFade{0%,6%{opacity:0;transform:translateY(-10px)}16%,52%{opacity:1;transform:none}62%,100%{opacity:0}}
@keyframes msTerm{0%,44%{opacity:0;transform:translateY(40px) rotate(2deg)}52%,70%{opacity:1;transform:rotate(-2deg)}78%,100%{opacity:0;transform:translateY(-20px) rotate(-2deg)}}
@keyframes msStamp{0%,56%{opacity:0;transform:rotate(-12deg) scale(2.4)}60%,100%{opacity:1;transform:rotate(-12deg) scale(1)}}
/* hero */
.cinema-hero-scene[data-code="STARTUP"] .ms-sun{opacity:.7;animation:msSunLoop 14s ease-in-out infinite alternate}
.cinema-hero-scene[data-code="STARTUP"] .ms-bridge,.cinema-hero-scene[data-code="STARTUP"] .ms-skyline{opacity:1}
.cinema-hero-scene[data-code="STARTUP"] .ms-fog{opacity:.5;animation:msFogLoop 16s ease-in-out infinite alternate}
.cinema-hero-scene[data-code="STARTUP"] .ms-fog.f2{animation-duration:22s;animation-direction:alternate-reverse}
.cinema-hero-scene[data-code="STARTUP"] .ms-ticker{color:#ffd7be}
@keyframes msSunLoop{from{transform:translateY(8%) scale(.96)}to{transform:translateY(-6%) scale(1.06)}}
@keyframes msFogLoop{from{transform:translateX(-10%)}to{transform:translateX(10%)}}

/* ================= UNHRC: Geneva ================= */
.ms-mount{left:0;right:0;bottom:0;height:46%;background:linear-gradient(0deg,#07162a,#07162a00),conic-gradient(from 200deg at 50% 100%,#0a2038 0 8%,#0e2d4f 8% 20%,#0a2038 20% 31%,#134063 31% 42%,#0a2038 42%);clip-path:polygon(0 100%,0 62%,14% 38%,26% 56%,40% 22%,54% 52%,66% 30%,80% 54%,92% 40%,100% 58%,100% 100%);opacity:0}
.ms-lake{left:0;right:0;bottom:0;height:16%;background:linear-gradient(0deg,#0d2c4acc,#0d2c4a00);opacity:0}
.ms-flags{left:6%;right:6%;bottom:14%;display:flex;justify-content:space-between;align-items:flex-end}
.ms-flags span{position:relative;flex:0 0 auto;width:2px;height:clamp(110px,26vh,230px);background:#cfd8e3;opacity:0}
.ms-flags span em{position:absolute;left:2px;top:0;width:clamp(30px,5vw,64px);height:clamp(20px,3.4vw,44px);background:var(--c);transform-origin:0 50%;animation:msWave 2.6s ease-in-out infinite;animation-delay:calc(var(--i)*-.3s);box-shadow:inset -8px 0 14px #0004}
@keyframes msWave{0%,100%{transform:skewY(0) scaleX(1)}50%{transform:skewY(5deg) scaleX(.9)}}
.ms-dove{left:-16vw;top:30%;width:clamp(90px,14vw,190px);opacity:0;filter:drop-shadow(0 0 20px #bfe3ffcc)}
.ms-article{left:0;right:0;top:56%;text-align:center;padding:0 7vw;opacity:0}
.ms-article small{display:block;font:700 11px var(--mono,monospace);letter-spacing:.3em;color:#a6d5fa;margin-bottom:12px}
.ms-article p{margin:0;font:800 clamp(1.1rem,2.6vw,2.1rem)/1.25 var(--sans,Arial);letter-spacing:-.01em;color:#eaf5ff}
.ms-article span{display:inline-block;opacity:0;transform:translateY(14px)}
.ms-gavel{left:50%;top:20%;width:90px;height:90px;margin-left:-45px;opacity:0}
.ms-gavel i{display:block;width:100%;height:100%;border-radius:50%;border:2px solid #a6d5fa;box-shadow:0 0 40px #a6d5fa}
.ms-stars i{background:#dfeeff}
.mc-journey.playing[data-code="UNHRC"] .ms-mount{animation:msFadeIn 5.6s both}
.mc-journey.playing[data-code="UNHRC"] .ms-lake{animation:msFadeIn 5.6s .2s both}
.mc-journey.playing[data-code="UNHRC"] .ms-flags span{animation:msPole 5.6s calc(.3s + var(--i)*.1s) cubic-bezier(.2,.8,.2,1) both}
.mc-journey.playing[data-code="UNHRC"] .ms-dove{animation:msDove 5.6s ease-in-out both}
.mc-journey.playing[data-code="UNHRC"] .ms-article{animation:msFade 5.6s both}
.mc-journey.playing[data-code="UNHRC"] .ms-article span{animation:msWord 5.6s both}
.mc-journey.playing[data-code="UNHRC"] .ms-article span:nth-of-type(1){animation-delay:.2s}.mc-journey.playing[data-code="UNHRC"] .ms-article span:nth-of-type(2){animation-delay:.5s}.mc-journey.playing[data-code="UNHRC"] .ms-article span:nth-of-type(3){animation-delay:.8s}
.mc-journey.playing[data-code="UNHRC"] .ms-gavel{animation:msGavel 5.6s both}
@keyframes msFadeIn{0%{opacity:0;transform:translateY(30px)}25%,100%{opacity:1;transform:none}}
@keyframes msPole{0%{opacity:0;transform:scaleY(0);transform-origin:50% 100%}30%,100%{opacity:1;transform:scaleY(1)}}
@keyframes msDove{0%{opacity:0;transform:translate(0,0) rotate(8deg)}8%{opacity:1}55%{opacity:1;transform:translate(70vw,-14vh) rotate(-6deg)}75%,100%{opacity:0;transform:translate(120vw,-26vh) rotate(-8deg)}}
@keyframes msWord{0%,22%{opacity:0;transform:translateY(14px)}34%,100%{opacity:1;transform:none}}
@keyframes msGavel{0%,58%{opacity:0;transform:scale(.2)}62%{opacity:1;transform:scale(1)}78%,100%{opacity:0;transform:scale(4)}}
.cinema-hero-scene[data-code="UNHRC"]{background:linear-gradient(0deg,#071527b0,#14314833),url('../images/unhrc-geneva-cinematic.webp') center/cover,#081626}
.cinema-hero-scene[data-code="UNHRC"] :is(.ms-mount,.ms-lake){opacity:1}
.cinema-hero-scene[data-code="UNHRC"] .ms-flags span{opacity:.85}
.cinema-hero-scene[data-code="UNHRC"] .ms-dove{animation:msDoveLoop 22s linear infinite}
.cinema-hero-scene[data-code="UNHRC"] .ms-articles{left:5%;bottom:5vh;display:grid;gap:7px;font:700 10px var(--mono,monospace);letter-spacing:.2em;color:#a6d5fa;opacity:.7}
@keyframes msDoveLoop{0%{opacity:0;transform:translate(0,0)}6%{opacity:.9}50%{opacity:.9;transform:translate(70vw,-12vh) rotate(-4deg)}94%{opacity:.9}100%{opacity:0;transform:translate(125vw,-22vh)}}

/* ================= CCEP: Singapore trade ================= */
.ms-grid3{inset:0;opacity:.0;background:linear-gradient(#5af3d622 1px,transparent 1px),linear-gradient(90deg,#5af3d622 1px,transparent 1px);background-size:70px 70px;mask-image:radial-gradient(ellipse at 50% 50%,#000,transparent 75%)}
.ms-arcs{inset:0;width:100%;height:100%}
.ms-arcs path{fill:none;stroke:#5af3d6;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 6px #5af3d6)}
.ms-arcs circle{fill:#aaffea;opacity:0;transform-box:fill-box;transform-origin:center}
.ms-ship{left:-30vw;bottom:15%;width:clamp(150px,24vw,330px);opacity:0}.ms-ship svg{width:100%;height:auto;display:block}
.ms-skyline2{left:0;right:0;bottom:0;height:20%;background:linear-gradient(0deg,#041a22,#041a2200);clip-path:polygon(0 100%,0 70%,6% 70%,6% 40%,10% 40%,10% 62%,16% 62%,16% 30%,20% 30%,20% 66%,28% 66%,28% 50%,34% 50%,34% 22%,38% 10%,42% 22%,42% 54%,50% 54%,50% 36%,56% 36%,56% 64%,66% 64%,66% 44%,72% 44%,72% 18%,76% 18%,76% 60%,84% 60%,84% 38%,90% 38%,90% 70%,100% 70%,100% 100%);background-color:#041a22;opacity:0}
.ms-quotes{left:0;right:0;bottom:4vh;overflow:hidden;white-space:nowrap;opacity:0;font:700 11px var(--mono,monospace);letter-spacing:.16em;color:#9dfff0}
.ms-quotes>div{display:inline-block;animation:msTape 26s linear infinite}.ms-quotes span{margin-right:44px}
@keyframes msTape{to{transform:translateX(-50%)}}
.ms-ledger{left:0;right:0;top:46%;text-align:center;opacity:0;font-family:var(--sans,Arial)}
.ms-ledger small{display:block;font:700 11px var(--mono,monospace);letter-spacing:.32em;color:#5ae9d0}
.ms-ledger b{display:block;margin:10px 0;font:900 clamp(2rem,6vw,5rem)/1 var(--sans,Arial);letter-spacing:-.04em;color:#eafffb;text-shadow:0 0 40px #2fd0b4aa}
.ms-ledger span{font:700 11px var(--mono,monospace);letter-spacing:.24em;color:#bfeee5}
.mc-journey.playing[data-code="CCEP"] .ms-grid3{animation:msGridIn 5.6s both}
.mc-journey.playing[data-code="CCEP"] .ms-arcs path{animation:msArc 5.6s calc(.4s + var(--d)) ease-in-out both}
.mc-journey.playing[data-code="CCEP"] .ms-arcs circle{animation:msPort 5.6s calc(.3s + var(--d)) both}
.mc-journey.playing[data-code="CCEP"] .ms-ship{animation:msShip 5.6s ease-in-out both}
.mc-journey.playing[data-code="CCEP"] .ms-skyline2{animation:msRise 5.6s both}
.mc-journey.playing[data-code="CCEP"] .ms-quotes{animation:msFadeIn 5.6s .6s both}
.mc-journey.playing[data-code="CCEP"] .ms-ledger{animation:msLedger 5.6s both}
@keyframes msGridIn{0%{opacity:0}25%,100%{opacity:.6}}
@keyframes msArc{0%{stroke-dashoffset:1;opacity:1}28%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:.5}}
@keyframes msPort{0%{opacity:0;transform:scale(0)}12%{opacity:1;transform:scale(1.8)}20%,100%{opacity:1;transform:scale(1)}}
@keyframes msShip{0%{opacity:0;transform:translateX(0)}8%{opacity:1}100%{opacity:1;transform:translateX(150vw)}}
@keyframes msLedger{0%,40%{opacity:0;transform:scale(.92)}50%,64%{opacity:1;transform:none}74%,100%{opacity:0;transform:scale(1.06)}}
.cinema-hero-scene[data-code="CCEP"] .ms-grid3{opacity:.55;animation:msGridMove 20s linear infinite}
.cinema-hero-scene[data-code="CCEP"] .ms-arcs path{animation:msArcLoop 7s calc(var(--d)) ease-in-out infinite}
.cinema-hero-scene[data-code="CCEP"] .ms-arcs circle{opacity:1;animation:msPulse 2.4s calc(var(--d)) ease-in-out infinite}
.cinema-hero-scene[data-code="CCEP"] .ms-ship{opacity:.9;animation:msShipLoop 38s linear infinite}
.cinema-hero-scene[data-code="CCEP"] .ms-skyline2{opacity:1}
.cinema-hero-scene[data-code="CCEP"] .ms-quotes{opacity:.85}
@keyframes msGridMove{to{background-position:70px 70px}}
@keyframes msArcLoop{0%{stroke-dashoffset:1;opacity:1}40%{stroke-dashoffset:0;opacity:1}85%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes msPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.9)}}
@keyframes msShipLoop{from{transform:translateX(0)}to{transform:translateX(160vw)}}

@media(max-width:850px){.ms-scoreboard,.ms-articles,.ms-demo{display:none}.ms-deck.d1{left:3vw}.ms-deck.d3{right:3vw}.ms-batter{height:70%}}
@media(prefers-reduced-motion:reduce){:is(#mcPlayfield,.cinema-hero-scene) [class^="ms-"],:is(#mcPlayfield,.cinema-hero-scene) [class*=" ms-"]{animation:none!important}}
/* the photo already carries the Golden Gate; keep the drawn bridge out */
.ms-bridge{display:none}
.cinema-hero-scene:is([data-code="STARTUP"],[data-code="CCEP"],[data-code="UNHRC"]){background-size:cover;background-position:center}
.cinema-hero-scene[data-code="STARTUP"]{background:linear-gradient(0deg,#170d2688,#38172e33),url('../images/startup-san-francisco-cinematic.webp') center/cover,#150d22;animation:chPan 26s ease-in-out infinite alternate}
.cinema-hero-scene[data-code="CCEP"]{background:#06222a url('../images/ccep-singapore-cinematic.webp') center/cover;animation:chPan 26s ease-in-out infinite alternate}
.cinema-hero-scene[data-code="UNHRC"]{animation:chPan 30s ease-in-out infinite alternate}
.mc-journey.playing[data-code="STARTUP"] .ms-deck.d1,.mc-journey.playing[data-code="STARTUP"] .ms-deck.d2,.mc-journey.playing[data-code="STARTUP"] .ms-deck.d3{animation-name:msDeck2}
@keyframes msDeck2{0%{opacity:0;transform:translateY(60px) rotate(-6deg) scale(.9)}8%,26%{opacity:1;transform:none}36%,100%{opacity:0;transform:translateY(-30px) scale(.92)}}
/* UNHRC: the Palais photo is the set; flags + article sit on it */
.ms-mount,.ms-lake,.ms-gavel{display:none!important}
.ms-flags{bottom:3%;z-index:2}.ms-flags span{height:clamp(90px,20vh,180px)}
.ms-article{top:38%;z-index:3;text-shadow:0 3px 18px #000,0 0 40px #000c}
.ms-article p{color:#fff}
.ms-quotes{z-index:3}
.cinema-hero-scene[data-code="UNHRC"] .ms-articles{display:none}
.cinema-hero-scene[data-code="UNHRC"] .ms-flags span{opacity:1}
/* IPL intro v2: bowled from us, shrinks away to the batter, is hit straight back and fills the screen */
.mc-journey.playing[data-code="IPL"] .ms-ball{animation:msBall2 5.6s both;box-shadow:0 0 30px #ff4a3acc;transform-origin:50% 50%}
.mc-journey.playing[data-code="IPL"] :is(.ms-trail,.ms-six){display:none}
.mc-journey.playing[data-code="IPL"] .ms-batter{animation-name:msBatter2}
@keyframes msBall2{
 0%,3%{opacity:0;transform:translate(-2vw,34vh) scale(14)}
 8%{opacity:1;transform:translate(-2vw,30vh) scale(12)}
 33%{opacity:1;transform:translate(10vw,-20vh) scale(1.2);animation-timing-function:cubic-bezier(.5,0,.9,.5)}
 34%{opacity:1;transform:translate(11vw,-22vh) scale(1)}
 48%{opacity:1;transform:translate(6vw,-14vh) scale(7);animation-timing-function:cubic-bezier(.6,0,.9,.4)}
 62%{opacity:1;transform:translate(0,0) scale(95)}
 76%{opacity:1;transform:translate(0,0) scale(120)}
 90%,100%{opacity:0;transform:translate(0,0) scale(140)}}
@keyframes msBatter2{0%,6%{opacity:0;transform:translateX(-52%) translateY(30px) scale(.94)}20%{opacity:1;transform:translateX(-52%) scale(.98)}33%{transform:translateX(-52%) scale(.98) rotate(1deg)}36%{transform:translateX(-52%) scale(1.07) rotate(-2deg)}50%,100%{opacity:.95;transform:translateX(-52%) scale(1.02)}}

/* ======================= v2: IPL animated batter + fan placards ======================= */
.ms-bat{left:50%;bottom:4vh;height:78vh;width:52vh;overflow:visible;transform:translateX(-50%);opacity:0}
.ms-bat .bt-arms{transform-origin:200px 220px;transform:rotate(-120deg)}
.ms-bat .bt-body{transform-origin:200px 335px}
.mc-journey.playing[data-code="IPL"] .ms-bat{animation:msBatIn 5.6s both}
.mc-journey.playing[data-code="IPL"] .ms-bat .bt-arms{animation:btSwing 5.6s both}
.mc-journey.playing[data-code="IPL"] .ms-bat .bt-body{animation:btLean 5.6s both}
@keyframes msBatIn{0%{opacity:0;transform:translateX(-50%) translateY(30px)}10%,86%{opacity:1;transform:translateX(-50%)}100%{opacity:0;transform:translateX(-50%)}}
@keyframes btSwing{0%{transform:rotate(-120deg)}18%{transform:rotate(-128deg);animation-timing-function:ease-in-out}26%{transform:rotate(-168deg);animation-timing-function:cubic-bezier(.45,0,.8,.7)}33%{transform:rotate(-34deg);animation-timing-function:cubic-bezier(.1,.6,.3,1)}46%{transform:rotate(32deg)}100%{transform:rotate(38deg)}}
@keyframes btLean{0%,20%{transform:rotate(0)}27%{transform:rotate(-5deg)}34%{transform:rotate(5deg)}100%{transform:rotate(2deg)}}
.mc-journey.playing[data-code="IPL"] .ms-ball{animation-name:msBall3}
.mc-journey.playing[data-code="IPL"] .ms-impact{animation-name:msImpact3}
@keyframes msBall3{
 0%,3%{opacity:0;transform:translate(-2vw,34vh) scale(14)}
 8%{opacity:1;transform:translate(-2vw,30vh) scale(12)}
 33%,34%{opacity:1;transform:translate(19.5vh,1.2vh) scale(1.2)}
 48%{opacity:1;transform:translate(10vh,.6vh) scale(8);animation-timing-function:cubic-bezier(.6,0,.9,.4)}
 62%{opacity:1;transform:translate(0,0) scale(95)}
 76%{opacity:1;transform:translate(0,0) scale(120)}
 90%,100%{opacity:0;transform:translate(0,0) scale(140)}}
@keyframes msImpact3{0%,32%{opacity:0;transform:translate(19.5vh,1.2vh) scale(.1)}35%{opacity:1;transform:translate(19.5vh,1.2vh) scale(.7)}54%,100%{opacity:0;transform:translate(19.5vh,1.2vh) scale(2.6)}}
/* hero: fan placards pop up out of the crowd */
.cinema-hero-scene[data-code="IPL"] .ms-card{bottom:0;width:clamp(86px,12.5vw,170px);transform-origin:50% 100%;opacity:0;animation:msCard 11s ease-in-out infinite}
.ms-card .pc{position:relative;aspect-ratio:1/1.08;display:grid;place-content:center;text-align:center;border-radius:10px;border:4px solid #fff;box-shadow:0 14px 30px #0009;font-family:var(--sans,Arial)}
.ms-card .pc b{font:900 clamp(2.6rem,7vw,5.6rem)/.9 var(--sans,Arial);letter-spacing:-.04em;color:#fff;text-shadow:0 4px 0 #0005}
.ms-card.out .pc b{font-size:clamp(1.8rem,4.6vw,3.8rem)}
.ms-card .pc small{font:800 clamp(8px,.9vw,12px) var(--mono,monospace);letter-spacing:.2em;color:#fff;margin-top:6px}
.ms-card i{display:block;width:6px;height:clamp(60px,12vh,130px);margin:0 auto;background:linear-gradient(90deg,#b99067,#7a5a3a)}
.ms-card.six .pc{background:linear-gradient(145deg,#e8222c,#9b0d16)}
.ms-card.four .pc{background:linear-gradient(145deg,#2f7bff,#1740a6)}
.ms-card.out .pc{background:linear-gradient(145deg,#222,#000);border-color:#ff4a3a}
.ms-card.c1{left:3%;animation-delay:0s}.ms-card.c2{left:20%;animation-delay:-3.7s}.ms-card.c3{left:11%;animation-delay:-7.4s}
.ms-card.c4{right:4%;animation-delay:-1.8s}.ms-card.c5{right:21%;animation-delay:-5.5s}.ms-card.c6{right:12%;animation-delay:-9.2s}
@keyframes msCard{0%,6%{opacity:0;transform:translateY(115%) rotate(0)}12%{opacity:1;transform:translateY(8%) rotate(-7deg)}18%{transform:translateY(-2%) rotate(6deg)}24%{transform:translateY(-2%) rotate(-5deg)}30%{transform:translateY(-2%) rotate(5deg)}36%{transform:translateY(-2%) rotate(-4deg)}42%{opacity:1;transform:translateY(-2%) rotate(3deg)}50%,100%{opacity:0;transform:translateY(115%) rotate(0)}}

/* ======================= v2: STARTUP founder journey ======================= */
.mc-journey.playing[data-code="STARTUP"] .mc-heading{animation-name:msTitleLate;animation-duration:7.6s}
.mc-journey.playing[data-code="STARTUP"] .mc-photo{animation-duration:7.7s}
@keyframes msTitleLate{0%,83%{opacity:0;transform:translateY(-37%) scale(.93);filter:blur(18px)}92%,100%{opacity:1;transform:translateY(-50%) scale(1);filter:blur(0)}}
.ms-shade{inset:0;background:radial-gradient(ellipse at 50% 46%,#0d0618d9 0%,#0d061899 45%,#0d061833 100%)}
.ms-shade.u{background:radial-gradient(ellipse at 50% 46%,#030d1c99 0%,#030d1c66 48%,#030d1c22 100%)}
:is(#mcPlayfield) .ms-beat{left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;opacity:0;padding:0 6vw}
.ms-beat small{display:block;font:700 clamp(10px,1vw,14px) var(--mono,monospace);letter-spacing:.34em;color:#ffb48a;margin-bottom:16px}
.ms-beat>b{display:block;font:900 clamp(3rem,10vw,9rem)/.88 var(--sans,Arial);letter-spacing:-.06em;color:#fff;text-shadow:0 8px 40px #000a}
.ms-beat>b em{font-style:normal;color:#ff9a62;white-space:nowrap}
.ms-beat>span{display:block;margin-top:22px;font:600 clamp(.95rem,1.7vw,1.35rem) var(--sans,Arial);color:#f4e8ee}
.mc-journey.playing[data-code="STARTUP"] .ms-beat:not(.bE){animation:msBeat 1.08s cubic-bezier(.2,.8,.2,1) both}
.mc-journey.playing[data-code="STARTUP"] .ms-beat.bA{animation-delay:.3s}.mc-journey.playing[data-code="STARTUP"] .ms-beat.bB{animation-delay:1.3s}
.mc-journey.playing[data-code="STARTUP"] .ms-beat.bC{animation-delay:2.3s}.mc-journey.playing[data-code="STARTUP"] .ms-beat.bD{animation-delay:3.3s}
@keyframes msBeat{0%{opacity:0;transform:translateY(-38%) scale(.88);filter:blur(10px)}16%{opacity:1;transform:translateY(-50%) scale(1);filter:blur(0)}84%{opacity:1;transform:translateY(-50%) scale(1.03)}100%{opacity:0;transform:translateY(-62%) scale(1.1);filter:blur(8px)}}
.ms-bulb{position:relative;height:0}.ms-bulb i{position:absolute;left:50%;top:-34vh;width:3px;height:clamp(40px,9vh,90px);background:linear-gradient(#ffd89a,#ffd89a00);transform-origin:50% 130%;opacity:0}
.ms-bulb i:nth-child(1){transform:rotate(-60deg)}.ms-bulb i:nth-child(2){transform:rotate(-36deg)}.ms-bulb i:nth-child(3){transform:rotate(-12deg)}.ms-bulb i:nth-child(4){transform:rotate(12deg)}.ms-bulb i:nth-child(5){transform:rotate(36deg)}.ms-bulb i:nth-child(6){transform:rotate(60deg)}
.mc-journey.playing[data-code="STARTUP"] .bA .ms-bulb i{animation:msRay 1.08s .35s ease-out both}
@keyframes msRay{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
.ms-code{display:grid;gap:7px;width:min(380px,70vw);margin:26px auto 0}.ms-code i{display:block;height:9px;border-radius:5px;background:linear-gradient(90deg,#35d39a,#7be3b9);transform-origin:0 50%;transform:scaleX(0)}
.ms-code i:nth-child(2){width:70%;background:linear-gradient(90deg,#ff9a62,#ffd0a8)}.ms-code i:nth-child(3){width:84%}.ms-code i:nth-child(4){width:46%;background:linear-gradient(90deg,#8fa8ff,#c4d1ff)}
.mc-journey.playing[data-code="STARTUP"] .bB .ms-code i{animation:msType .45s ease-out both}
.mc-journey.playing[data-code="STARTUP"] .bB .ms-code i:nth-child(1){animation-delay:1.45s}.mc-journey.playing[data-code="STARTUP"] .bB .ms-code i:nth-child(2){animation-delay:1.6s}.mc-journey.playing[data-code="STARTUP"] .bB .ms-code i:nth-child(3){animation-delay:1.75s}.mc-journey.playing[data-code="STARTUP"] .bB .ms-code i:nth-child(4){animation-delay:1.9s}
@keyframes msType{to{transform:scaleX(1)}}
.ms-ring{width:clamp(70px,10vw,120px);margin:22px auto 0;display:block;transform:rotate(-90deg)}.ms-ring circle{fill:none;stroke:#ff9a62;stroke-width:6;stroke-linecap:round;stroke-dasharray:276;stroke-dashoffset:0;filter:drop-shadow(0 0 8px #ff9a62)}
.mc-journey.playing[data-code="STARTUP"] .bC .ms-ring circle{animation:msRingDown 1s 2.3s linear both}
@keyframes msRingDown{to{stroke-dashoffset:276}}
.ms-shake{display:flex;justify-content:center;gap:10px;margin-top:24px}.ms-shake i{display:block;width:clamp(40px,6vw,70px);height:6px;border-radius:3px;background:#fff;transform:scaleX(0)}
.ms-shake i:nth-child(2){background:#ff9a62}
.mc-journey.playing[data-code="STARTUP"] .bD .ms-shake i{animation:msType .4s ease-out both}.mc-journey.playing[data-code="STARTUP"] .bD .ms-shake i:nth-child(1){animation-delay:3.5s}.mc-journey.playing[data-code="STARTUP"] .bD .ms-shake i:nth-child(2){animation-delay:3.7s}.mc-journey.playing[data-code="STARTUP"] .bD .ms-shake i:nth-child(3){animation-delay:3.9s}
.mc-journey.playing[data-code="STARTUP"] .ms-beat.bE{animation:msBeatE 3.2s 4.3s ease-out both}
@keyframes msBeatE{0%{opacity:0;transform:translateY(-44%)}8%,80%{opacity:1;transform:translateY(-50%)}100%{opacity:0;transform:translateY(-54%) scale(1.06)}}
.ms-val{position:relative;height:clamp(5rem,16vw,14rem)}
.ms-val .v{position:absolute;left:0;right:0;top:0;opacity:0;font:900 clamp(5rem,16vw,14rem)/1 var(--sans,Arial);letter-spacing:-.06em;color:#fff;text-shadow:0 0 60px #ff9a62aa}
.mc-journey.playing[data-code="STARTUP"] .ms-val .v{animation:msVal .5s ease-out both}
.mc-journey.playing[data-code="STARTUP"] .ms-val .v1{animation-delay:4.4s}.mc-journey.playing[data-code="STARTUP"] .ms-val .v2{animation-delay:4.9s}.mc-journey.playing[data-code="STARTUP"] .ms-val .v3{animation-delay:5.4s}
.mc-journey.playing[data-code="STARTUP"] .ms-val .v4{animation:msValLast .7s 5.9s ease-out both;color:#ffd78a}
@keyframes msVal{0%{opacity:0;transform:scale(.7)}20%{opacity:1;transform:scale(1.05)}85%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.2)}}
@keyframes msValLast{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.12)}100%{opacity:1;transform:scale(1)}}
.ms-uni{display:inline-block!important;padding:8px 20px;border:2px solid #ffd78a;border-radius:999px;color:#ffd78a!important;font:800 clamp(10px,1.1vw,14px) var(--mono,monospace)!important;letter-spacing:.3em!important;opacity:0}
.mc-journey.playing[data-code="STARTUP"] .ms-uni{animation:msFadeUp .5s 6.3s both}
@keyframes msFadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.ms-beat.bE .ms-coins{inset:-30vh -10vw}

/* ======================= v2: UNHRC six languages ======================= */
.mc-journey.playing[data-code="UNHRC"] .mc-heading{animation-name:msTitleLate;animation-duration:7.4s}
.mc-journey.playing[data-code="UNHRC"] .mc-photo{animation-duration:7.5s}
.ms-rings{left:50%;top:48%;width:0;height:0}
.ms-rings i{position:absolute;left:-30vmin;top:-30vmin;width:60vmin;height:60vmin;border-radius:50%;border:2px solid #7fc2ff;opacity:0;transform:scale(.2)}
.mc-journey.playing[data-code="UNHRC"] .ms-rings i{animation:msRipple 3s ease-out infinite}
.cinema-hero-scene[data-code="UNHRC"] .ms-rings i{animation:msRipple 6s ease-out infinite}
.ms-rings i:nth-child(2){animation-delay:.75s!important}.ms-rings i:nth-child(3){animation-delay:1.5s!important}.ms-rings i:nth-child(4){animation-delay:2.25s!important}
@keyframes msRipple{0%{opacity:.85;transform:scale(.15)}100%{opacity:0;transform:scale(2.4)}}
.ms-wreath{left:50%;top:48%;width:clamp(260px,56vmin,560px);margin:calc(clamp(260px,56vmin,560px)/-2) 0 0 calc(clamp(260px,56vmin,560px)/-2);opacity:.9}
.ms-wreath .lf{opacity:0;transform-box:fill-box;transform-origin:center}
.mc-journey.playing[data-code="UNHRC"] .ms-wreath .lf{animation:msLeaf .5s calc(.3s + var(--d)) ease-out both}
@keyframes msLeaf{from{opacity:0;transform:scale(0)}to{opacity:.95;transform:scale(1)}}
.mc-journey.playing[data-code="UNHRC"] .ms-wreath{animation:msWreath 7.4s ease-in-out both}
@keyframes msWreath{0%{transform:rotate(-20deg) scale(.85)}60%{transform:rotate(0) scale(1)}100%{transform:rotate(8deg) scale(1.15);opacity:0}}
.ms-lang{inset:0}
.ms-lang>div{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;opacity:0;padding:0 5vw}
.ms-lang b{display:block;font:900 clamp(2.4rem,8.6vw,7.4rem)/1 var(--sans,Arial);letter-spacing:-.02em;color:#fff;text-shadow:0 6px 40px #000c,0 0 50px #4aa3ff77}
.ms-lang small{display:block;margin-top:14px;font:700 clamp(10px,1.1vw,15px) var(--mono,monospace);letter-spacing:.4em;color:#9ed0ff}
.mc-journey.playing[data-code="UNHRC"] .ms-lang>div{animation:msWord2 .95s cubic-bezier(.2,.8,.2,1) calc(.4s + var(--i)*.85s) both}
@keyframes msWord2{0%{opacity:0;transform:translateY(-36%) scale(.92);filter:blur(10px)}16%{opacity:1;transform:translateY(-50%) scale(1);filter:blur(0)}82%{opacity:1;transform:translateY(-50%)}100%{opacity:0;transform:translateY(-62%);filter:blur(8px)}}
.ms-count{left:0;right:0;top:50%;transform:translateY(-50%);display:flex;justify-content:center;gap:clamp(18px,5vw,70px);opacity:0}
.ms-count b{display:block;font:900 clamp(3.4rem,9vw,8rem)/1 var(--sans,Arial);letter-spacing:-.04em;color:#fff;text-align:center}
.ms-count small{display:block;text-align:center;font:700 clamp(10px,1vw,14px) var(--mono,monospace);letter-spacing:.3em;color:#9ed0ff}
.mc-journey.playing[data-code="UNHRC"] .ms-count{animation:msCountIn 1.4s 5.55s ease-out both}
@keyframes msCountIn{0%{opacity:0;transform:translateY(-44%)}25%,80%{opacity:1;transform:translateY(-50%)}100%{opacity:0}}
.cinema-hero-scene[data-code="UNHRC"] .ms-lang>div{animation:msLangLoop 18s linear infinite;animation-delay:calc(var(--i)*3s);top:auto;bottom:19%;transform:none}
.cinema-hero-scene[data-code="UNHRC"] .ms-lang b{font-size:clamp(1.2rem,3vw,2.4rem);color:#d8ecff;text-shadow:0 2px 20px #000}
@keyframes msLangLoop{0%{opacity:0;transform:translateY(10px)}2%,15%{opacity:.85;transform:none}18%,100%{opacity:0}}
.ms-article,.ms-dove,.ms-articles{display:none!important}

.ms-beat :is(.ms-code,.ms-ring,.ms-shake,.ms-val,.ms-bulb,.ms-uni){position:relative!important}
.ms-beat .ms-val .v{position:absolute!important}
.ms-lang>div,.ms-count>div{position:relative}
.ms-lang>div{position:absolute}

/* ======================= v3 ======================= */
@property --v{syntax:'<integer>';inherits:false;initial-value:1}
@property --art{syntax:'<integer>';inherits:false;initial-value:1}

/* ---- IPL: the supplied batter, animated through a full swing with a bat swoosh ---- */
.ms-bat{display:none!important}
:is(#mcPlayfield) .ms-batter2{height:88%;bottom:-3%;left:50%;transform:translateX(-52%);mix-blend-mode:screen;opacity:0;transform-origin:50% 92%;filter:saturate(1.1) contrast(1.05)}
.mc-journey.playing[data-code="IPL"] .ms-batter2{animation:msSwing 5.6s both}
@keyframes msSwing{
 0%{opacity:0;transform:translateX(-52%) translateY(26px) rotate(-3deg) scale(.95)}
 10%{opacity:1;transform:translateX(-55%) rotate(-7deg) scale(.96)}
 22%{opacity:1;transform:translateX(-58%) rotate(-12deg) scale(.95);animation-timing-function:cubic-bezier(.6,0,.95,.45)}
 33%{opacity:1;transform:translateX(-50%) rotate(5deg) scale(1.06);animation-timing-function:cubic-bezier(.1,.6,.3,1)}
 42%,86%{opacity:.96;transform:translateX(-52%) rotate(1deg) scale(1.02)}
 100%{opacity:0;transform:translateX(-52%) rotate(1deg) scale(1.02)}}
.ms-swoosh{inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.ms-swoosh path{fill:none;stroke:url(#swg);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 5px #fff)}
.mc-journey.playing[data-code="IPL"] .ms-swoosh{animation:msSwooshBox 5.6s both}
.mc-journey.playing[data-code="IPL"] .ms-swoosh path{animation:msSwooshDraw 5.6s both}
@keyframes msSwooshBox{0%,24%{opacity:0}28%,36%{opacity:1}46%,100%{opacity:0}}
@keyframes msSwooshDraw{0%,26%{stroke-dashoffset:1}33.5%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
.mc-journey.playing[data-code="IPL"] .ms-ball{animation-name:msBall2}
.mc-journey.playing[data-code="IPL"] .ms-impact{animation-name:msImpact;top:40%}
@keyframes msBall2{
 0%,3%{opacity:0;transform:translate(-2vw,34vh) scale(14)}
 8%{opacity:1;transform:translate(-2vw,30vh) scale(12)}
 33%,34%{opacity:1;transform:translate(11.5vw,-21.7vh) scale(1.2)}
 48%{opacity:1;transform:translate(6vw,-14vh) scale(7);animation-timing-function:cubic-bezier(.6,0,.9,.4)}
 62%{opacity:1;transform:translate(0,0) scale(95)}
 76%{opacity:1;transform:translate(0,0) scale(120)}
 90%,100%{opacity:0;transform:translate(0,0) scale(140)}}
@keyframes msImpact{0%,32%{opacity:0;transform:translate(11.5vw,-21.7vh) scale(.1)}35%{opacity:1;transform:translate(11.5vw,-21.7vh) scale(.7)}54%,100%{opacity:0;transform:translate(11.5vw,-21.7vh) scale(2.6)}}

/* ---- STARTUP: four cards on a loop, spokes into a valuation that keeps climbing ---- */
.ms-beat{display:none!important}
.ms-links{inset:0;width:100%;height:100%;opacity:1}
.ms-links path{fill:none;stroke:#ffb48a;stroke-width:.35;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-width:2.5px;stroke-dasharray:1;stroke-dashoffset:1;opacity:.9;filter:drop-shadow(0 0 6px #ff9a62)}
.ms-links .sp{stroke:#ffd78a;stroke-dasharray:.04 .03;stroke-dashoffset:1;stroke-width:2px}
.mc-journey.playing[data-code="STARTUP"] .ms-links .l1{animation:msLink .6s 1.1s ease-out both}
.mc-journey.playing[data-code="STARTUP"] .ms-links .l2{animation:msLink .6s 1.7s ease-out both}
.mc-journey.playing[data-code="STARTUP"] .ms-links .l3{animation:msLink .6s 2.3s ease-out both}
.mc-journey.playing[data-code="STARTUP"] .ms-links .l4{animation:msLink .6s 2.9s ease-out both}
.mc-journey.playing[data-code="STARTUP"] .ms-links .sp{animation:msSpoke .6s ease-out both}
.mc-journey.playing[data-code="STARTUP"] .ms-links .s1{animation-delay:.9s}.mc-journey.playing[data-code="STARTUP"] .ms-links .s2{animation-delay:1.5s}.mc-journey.playing[data-code="STARTUP"] .ms-links .s3{animation-delay:2.1s}.mc-journey.playing[data-code="STARTUP"] .ms-links .s4{animation-delay:2.7s}
@keyframes msLink{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes msSpoke{from{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:.9}}
:is(#mcPlayfield) .ms-node{width:clamp(150px,24vw,300px);padding:clamp(12px,1.6vw,22px);border-radius:14px;background:linear-gradient(145deg,#fff7ee,#ffe4d0);color:#1b1030;box-shadow:0 24px 60px #000a,0 0 0 2px #ffb48a55;opacity:0;transform:translate(-50%,-50%) scale(.7) rotate(-4deg)}
.ms-node small{display:block;font:800 clamp(8px,.85vw,12px) var(--mono,monospace);letter-spacing:.2em;color:#ff5a3c}
.ms-node b{display:block;margin:6px 0 4px;font:900 clamp(1.5rem,3.4vw,3rem)/1 var(--sans,Arial);letter-spacing:-.04em}
.ms-node span{display:block;font:600 clamp(.7rem,1.1vw,.95rem)/1.3 var(--sans,Arial);color:#4a3a5a}
.ms-node.n1{left:17%;top:31%}.ms-node.n2{left:17%;top:69%}.ms-node.n3{left:83%;top:31%}.ms-node.n4{left:83%;top:69%}
.mc-journey.playing[data-code="STARTUP"] .ms-node{animation:msNodeIn .7s cubic-bezier(.2,1.2,.3,1) both}
.mc-journey.playing[data-code="STARTUP"] .ms-node.n1{animation-delay:.4s}.mc-journey.playing[data-code="STARTUP"] .ms-node.n2{animation-delay:1s}.mc-journey.playing[data-code="STARTUP"] .ms-node.n3{animation-delay:2.2s}.mc-journey.playing[data-code="STARTUP"] .ms-node.n4{animation-delay:1.6s}
@keyframes msNodeIn{to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
:is(#mcPlayfield) .ms-core{left:50%;top:49%;transform:translate(-50%,-50%);text-align:center;width:min(46vw,640px)}
.ms-core small{display:block;font:800 clamp(10px,1.1vw,15px) var(--mono,monospace);letter-spacing:.36em;color:#ffb48a;margin-bottom:6px}
.ms-vnum,.ms-vfinal{font:900 clamp(3.4rem,11vw,10rem)/1 var(--sans,Arial);letter-spacing:-.06em;color:#fff;text-shadow:0 0 70px #ff9a62cc}
.ms-vnum::before{counter-reset:vv var(--v);content:"$" counter(vv) "M"}
.mc-journey.playing[data-code="STARTUP"] .ms-vnum{animation:msVcount 5s .35s cubic-bezier(.7,0,.9,.4) both,msVout .3s 5.4s both}
@keyframes msVcount{from{--v:1}to{--v:999}}
@keyframes msVout{to{opacity:0}}
.ms-vfinal{position:absolute!important;left:0;right:0;top:calc(1em + 6px);opacity:0;color:#ffd78a}
.ms-core{min-height:1em}
.mc-journey.playing[data-code="STARTUP"] .ms-vfinal{animation:msValLast .7s 5.4s ease-out both}
.ms-core .ms-uni{margin-top:18px;display:inline-block!important}
.mc-journey.playing[data-code="STARTUP"] .ms-uni{animation:msFadeUp .5s 6s both}

/* ---- UNHRC: words pop up at the sides, a turning globe and article counter in the middle ---- */
.ms-lang:not(.hero),.ms-count{display:none!important}
.ms-globe{left:50%;top:46%;width:clamp(120px,24vmin,260px);margin:calc(clamp(120px,24vmin,260px)/-2) 0 0 calc(clamp(120px,24vmin,260px)/-2);opacity:0}
.ms-globe .m{transform-box:fill-box;transform-origin:center}
.mc-journey.playing[data-code="UNHRC"] .ms-globe{animation:msFadeIn 7.4s both}
.mc-journey.playing[data-code="UNHRC"] .ms-globe .m1{animation:msTurn 4s linear infinite}
.mc-journey.playing[data-code="UNHRC"] .ms-globe .m2{animation:msTurn 4s linear infinite -1.33s}
.mc-journey.playing[data-code="UNHRC"] .ms-globe .m3{animation:msTurn 4s linear infinite -2.66s}
@keyframes msTurn{from{transform:scaleX(1)}50%{transform:scaleX(0)}to{transform:scaleX(1)}}
.ms-udhr{left:0;right:0;top:calc(46% + clamp(70px,14vmin,150px));text-align:center;opacity:0}
.ms-udhr small{display:block;font:700 clamp(9px,.95vw,13px) var(--mono,monospace);letter-spacing:.3em;color:#9ed0ff}
.ms-art{margin-top:8px;font:900 clamp(1.6rem,4vw,3.4rem) var(--sans,Arial);letter-spacing:-.02em;color:#fff}
.ms-art::before{counter-reset:aa var(--art);content:"ARTICLE " counter(aa)}
.mc-journey.playing[data-code="UNHRC"] .ms-udhr{animation:msFadeIn 7.4s .3s both}
.mc-journey.playing[data-code="UNHRC"] .ms-art{animation:msArt 6s .4s linear both}
@keyframes msArt{from{--art:1}to{--art:30}}
.ms-pop{top:var(--y);opacity:0;max-width:27vw}
.ms-pop.l{left:4vw;text-align:left}.ms-pop.r{right:4vw;text-align:right}
.ms-pop b{display:block;font:900 clamp(1.4rem,3.6vw,3.3rem)/1.05 var(--sans,Arial);letter-spacing:-.01em;color:#fff;text-shadow:0 4px 26px #000c,0 0 36px #4aa3ff88}
.ms-pop small{display:block;margin-top:6px;font:700 clamp(8px,.9vw,12px) var(--mono,monospace);letter-spacing:.3em;color:#9ed0ff}
.mc-journey.playing[data-code="UNHRC"] .ms-pop{animation:msPopSide 1.9s cubic-bezier(.2,.8,.2,1) calc(.3s + var(--i)*.5s) both}
@keyframes msPopSide{0%{opacity:0;transform:translateY(24px) scale(.88);filter:blur(8px)}14%{opacity:1;transform:none;filter:blur(0)}78%{opacity:1;transform:translateY(-10px)}100%{opacity:0;transform:translateY(-26px);filter:blur(6px)}}
.cinema-hero-scene .ms-pop,.cinema-hero-scene .ms-udhr,.cinema-hero-scene .ms-globe{display:none}
@media(max-width:850px){.ms-node{width:34vw}.ms-node.n1,.ms-node.n2{left:21%}.ms-node.n3,.ms-node.n4{left:79%}.ms-pop{max-width:36vw}}

.ms-core>.ms-vnum,.ms-udhr>.ms-art{position:relative!important}

.ms-links path{vector-effect:none;stroke-width:.55}
.ms-links .sp{stroke-width:.45;stroke-dasharray:1}

/* ======================= v4 ======================= */
/* ---- STARTUP: centred valuation, counted up by script from $10K to $100M ---- */
:is(#mcPlayfield) .ms-core{left:0;right:0;width:auto;transform:translateY(-50%);text-align:center;display:flex;flex-direction:column;align-items:center}
.ms-core .ms-vnum{animation:none!important;display:block;width:100%;text-align:center;font-variant-numeric:tabular-nums;min-height:1em}
.ms-core .ms-vnum::before{content:none!important}
.ms-core :is(.ms-vfinal,.ms-uni){display:none!important}

/* ---- UNHRC: sharp, readable side words ---- */
.ms-pop{padding:10px 18px 12px;background:#06142ad9;border:1px solid #4aa3ff77;border-radius:12px;box-shadow:0 10px 30px #0008;max-width:27vw}
.ms-pop b{text-shadow:none;color:#fff}
.mc-journey.playing[data-code="UNHRC"] .ms-pop{animation:msPopSide2 2.6s cubic-bezier(.2,.8,.2,1) calc(.3s + var(--i)*.45s) both}
@keyframes msPopSide2{0%{opacity:0;transform:translateY(26px) scale(.9)}10%{opacity:1;transform:none}86%{opacity:1;transform:translateY(-6px)}100%{opacity:0;transform:translateY(-22px)}}

/* ---- IPL: the auction room - bouncing ball, wickets, bidding ladder, player lot ---- */
.mc-journey.playing[data-code="IPL"] .mc-heading{animation-name:msTitleLate;animation-duration:6.4s}
.mc-journey.playing[data-code="IPL"] .mc-photo{animation-duration:6.5s}
.ms-shade.i{background:radial-gradient(ellipse at 50% 55%,#04101f66 0%,#04101fb3 100%)}
.ms-pitch2{left:0;right:0;top:80vh;height:20vh;background:linear-gradient(180deg,#d9b36e66,#0b4a2b00);border-top:2px solid #ffffff55;opacity:0}
.mc-journey.playing[data-code="IPL"] .ms-pitch2{animation:msFadeIn 6.4s both}
.ms-wicket{left:50%;top:52vh;width:9vh;height:28vh;margin-left:-4.5vh}
.ms-wicket i{position:absolute;bottom:0;width:1.3vh;height:100%;border-radius:.6vh;background:linear-gradient(90deg,#f6e7c8,#c9a46a);box-shadow:0 0 14px #ffe6a855;transform-origin:50% 100%;transform:scaleY(0)}
.ms-wicket .s1{left:0}.ms-wicket .s2{left:3.85vh}.ms-wicket .s3{left:7.7vh}
.ms-wicket em{position:absolute;top:-.9vh;width:3.9vh;height:.8vh;border-radius:.4vh;background:#ffe2a0;opacity:0;transform-origin:50% 50%}
.ms-wicket .b1{left:.5vh}.ms-wicket .b2{left:4.3vh}
.mc-journey.playing[data-code="IPL"] .ms-wicket i{animation:msStumpUp .5s ease-out both}
.mc-journey.playing[data-code="IPL"] .ms-wicket .s1{animation:msStumpUp .5s .2s ease-out both,msHit1 6.4s both}
.mc-journey.playing[data-code="IPL"] .ms-wicket .s2{animation:msStumpUp .5s .35s ease-out both,msHit2 6.4s both}
.mc-journey.playing[data-code="IPL"] .ms-wicket .s3{animation:msStumpUp .5s .5s ease-out both,msHit3 6.4s both}
.mc-journey.playing[data-code="IPL"] .ms-wicket .b1{animation:msBail1 6.4s both}
.mc-journey.playing[data-code="IPL"] .ms-wicket .b2{animation:msBail2 6.4s both}
@keyframes msStumpUp{to{transform:scaleY(1)}}
@keyframes msHit1{0%,49%{rotate:0deg;translate:0 0}53%,100%{rotate:-32deg;translate:-2vh 1vh}}
@keyframes msHit2{0%,49%{rotate:0deg;translate:0 0}53%,100%{rotate:14deg;translate:1vh 1.2vh}}
@keyframes msHit3{0%,49%{rotate:0deg;translate:0 0}55%,100%{rotate:38deg;translate:3vh 1.6vh}}
@keyframes msBail1{0%,10%{opacity:0;transform:none}12%,49%{opacity:1;transform:none}60%{opacity:1;transform:translate(-9vh,-14vh) rotate(-300deg)}78%,100%{opacity:1;transform:translate(-14vh,5vh) rotate(-560deg)}}
@keyframes msBail2{0%,10%{opacity:0;transform:none}12%,49%{opacity:1;transform:none}60%{opacity:1;transform:translate(8vh,-17vh) rotate(260deg)}78%,100%{opacity:1;transform:translate(15vh,6vh) rotate(520deg)}}
.ms-ball2{left:calc(50% - 2.5vmin);top:calc(80vh - 5vmin);width:5vmin;height:5vmin;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff8e7d,#c4161c 55%,#6d0a0e);box-shadow:0 0 22px #ff4a3acc;opacity:0}
.ms-ball2:after{content:"";position:absolute;left:8%;right:8%;top:46%;height:2px;background:#ffffffb0;border-radius:2px}
.mc-journey.playing[data-code="IPL"] .ms-ball2{animation:msBounce 6.4s both}
@keyframes msBounce{
 0%{opacity:0;transform:translate(-24vh,-62vh);animation-timing-function:cubic-bezier(.5,0,.9,.6)}
 4%{opacity:1;transform:translate(-24vh,-58vh);animation-timing-function:cubic-bezier(.5,0,.9,.6)}
 14%{transform:translate(-18vh,0);animation-timing-function:cubic-bezier(.1,.5,.4,1)}
 22%{transform:translate(-14vh,-30vh);animation-timing-function:cubic-bezier(.5,0,.9,.6)}
 30%{transform:translate(-10.5vh,0);animation-timing-function:cubic-bezier(.1,.5,.4,1)}
 36%{transform:translate(-8vh,-16vh);animation-timing-function:cubic-bezier(.5,0,.9,.6)}
 42%{transform:translate(-6vh,0);animation-timing-function:cubic-bezier(.1,.5,.4,1)}
 46%{transform:translate(-4.4vh,-8vh);animation-timing-function:cubic-bezier(.5,0,.9,.6)}
 50%{opacity:1;transform:translate(-3vh,-12vh);animation-timing-function:cubic-bezier(.2,.6,.4,1)}
 58%{transform:translate(9vh,-9vh);animation-timing-function:cubic-bezier(.5,0,.9,.6)}
 64%{transform:translate(16vh,0);animation-timing-function:cubic-bezier(.1,.5,.4,1)}
 71%{transform:translate(22vh,-5vh);animation-timing-function:cubic-bezier(.5,0,.9,.6)}
 76%,100%{opacity:0;transform:translate(26vh,0)}}
/* bidding ladder (left) */
.ms-ladder{left:4vw;top:24%;width:clamp(210px,25vw,350px);display:grid;gap:8px}
.ms-ladder>small{font:800 clamp(9px,.95vw,13px) var(--mono,monospace);letter-spacing:.28em;color:#ffd24a;margin-bottom:2px;opacity:0;animation:none}
.mc-journey.playing[data-code="IPL"] .ms-ladder>small{animation:msFadeUp .5s .4s both}
.ms-ladder .bid{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;border-left:5px solid var(--c);background:#06142ae6;color:#fff;font:700 clamp(.78rem,1.15vw,1.05rem) var(--sans,Arial);opacity:0;box-shadow:0 8px 24px #0007}
.ms-ladder .bid i{width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c);flex:none}
.ms-ladder .bid span{flex:1;letter-spacing:.04em}
.ms-ladder .bid b{font:900 clamp(.95rem,1.5vw,1.4rem) var(--sans,Arial);color:#ffd24a;font-variant-numeric:tabular-nums}
.mc-journey.playing[data-code="IPL"] .ms-ladder .bid{animation:msBid .45s calc(.9s + var(--i)*.45s) cubic-bezier(.2,1.2,.3,1) both}
@keyframes msBid{from{opacity:0;transform:translateX(-30px) scale(.94)}to{opacity:1;transform:none}}
.ms-ladder .bid:nth-of-type(5){outline:2px solid #ffd24a}
/* player lot + gavel (right) */
.ms-lot{right:4vw;top:22%;width:clamp(210px,24vw,340px);padding:clamp(14px,1.6vw,22px);border-radius:14px;background:linear-gradient(145deg,#fff7ee,#ffe9c9);color:#1b1030;box-shadow:0 24px 60px #000a;opacity:0}
.ms-lot>small{display:block;font:800 clamp(8px,.9vw,12px) var(--mono,monospace);letter-spacing:.2em;color:#c4161c}
.ms-lot .who{display:flex;align-items:center;gap:14px;margin:12px 0}
.ms-lot .who i{display:block;width:clamp(44px,5vw,70px);height:clamp(44px,5vw,70px);border-radius:50%;background:radial-gradient(circle at 50% 36%,#7a5a3a 0 22%,transparent 23%),linear-gradient(180deg,#d9b36e,#8a6a35);flex:none}
.ms-lot .who b{font:900 clamp(1.2rem,2.2vw,2rem)/1 var(--sans,Arial);letter-spacing:-.03em}
.ms-lot>span{display:block;font:700 clamp(.7rem,1vw,.9rem) var(--mono,monospace);color:#4a3a5a;letter-spacing:.06em}
.ms-lot .ms-sold{left:50%;top:56%;width:96%;transform:translate(-50%,-50%) rotate(-9deg) scale(2.6);text-align:center;opacity:0;border:5px solid #d8161f;border-radius:10px;padding:6px 8px;background:#fff7eef2}
.ms-sold b{display:block;font:900 clamp(2rem,4.4vw,4rem)/1 var(--sans,Arial);letter-spacing:.04em;color:#d8161f}
.ms-sold small{display:block;font:800 clamp(8px,.9vw,12px) var(--mono,monospace);letter-spacing:.14em;color:#d8161f}
.ms-gavel2{top:-52px;right:-26px;width:clamp(70px,8vw,110px);overflow:visible}
.ms-gavel2 .gv{transform-origin:106px 58px;transform:rotate(-55deg)}
.mc-journey.playing[data-code="IPL"] .ms-lot{animation:msLotIn .7s .6s cubic-bezier(.2,1,.3,1) both}
.mc-journey.playing[data-code="IPL"] .ms-sold{animation:msSoldStamp 6.4s both}
.mc-journey.playing[data-code="IPL"] .ms-gavel2 .gv{animation:msGavelHit 6.4s both}
@keyframes msLotIn{from{opacity:0;transform:translateX(60px) rotate(3deg)}to{opacity:1;transform:none}}
@keyframes msSoldStamp{0%,49%{opacity:0;transform:translate(-50%,-50%) rotate(-9deg) scale(2.6)}53%,100%{opacity:1;transform:translate(-50%,-50%) rotate(-9deg) scale(1)}}
@keyframes msGavelHit{0%,40%{transform:rotate(-55deg)}49%{transform:rotate(8deg);animation-timing-function:ease-out}54%{transform:rotate(-14deg)}58%,100%{transform:rotate(-4deg)}}
.ms-flash{inset:0;background:radial-gradient(circle at 50% 50%,#fff9d8 0%,#ffd24a 42%,#ffd24a00 78%);opacity:0}
.mc-journey.playing[data-code="IPL"] .ms-flash{animation:msFlashIPL 6.4s both}
@keyframes msFlashIPL{0%,74%{opacity:0}84%{opacity:.95}100%{opacity:0}}
@media(max-width:850px){.ms-ladder{width:36vw;top:20%}.ms-lot{width:36vw;top:18%}.ms-ladder .bid span{display:none}}

/* Startup: once the valuation hits $100M everything clears, then the title lands */
.mc-journey.playing[data-code="STARTUP"] .ms-node{animation-name:msNodeIn,msClear;animation-duration:.7s,.45s;animation-fill-mode:both,forwards}
.mc-journey.playing[data-code="STARTUP"] .ms-node.n1{animation-delay:.4s,4.1s}
.mc-journey.playing[data-code="STARTUP"] .ms-node.n2{animation-delay:1s,4.1s}
.mc-journey.playing[data-code="STARTUP"] .ms-node.n3{animation-delay:2.2s,4.1s}
.mc-journey.playing[data-code="STARTUP"] .ms-node.n4{animation-delay:1.6s,4.1s}
.mc-journey.playing[data-code="STARTUP"] .ms-links{animation:msClear .45s 4.1s forwards}
.mc-journey.playing[data-code="STARTUP"] .ms-core{animation:msClear .45s 4.1s forwards}
.mc-journey.playing[data-code="STARTUP"] .ms-coins{animation:msClear .45s 4.1s forwards}
@keyframes msClear{to{opacity:0}}
:is(#mcPlayfield) .ms-node{--k:1}
.mc-journey.playing[data-code="STARTUP"] .mc-heading{animation-duration:6.2s}
/* UNHRC: clear the scene before the title lands so nothing sits behind it */
.mc-journey.playing[data-code="UNHRC"] .ms-pop{animation:msPopSide2 2s cubic-bezier(.2,.8,.2,1) calc(.3s + var(--i)*.4s) both}
.mc-journey.playing[data-code="UNHRC"] .ms-rings{animation:msClear .45s 5.7s forwards}
.mc-journey.playing[data-code="UNHRC"] .ms-wreath{animation-name:msWreath,msClear;animation-duration:7.4s,.45s;animation-delay:0s,5.7s;animation-fill-mode:both,forwards}
.mc-journey.playing[data-code="UNHRC"] .ms-globe{animation-name:msFadeIn,msClear;animation-duration:7.4s,.45s;animation-delay:0s,5.7s;animation-fill-mode:both,forwards}
.mc-journey.playing[data-code="UNHRC"] .ms-udhr{animation-name:msFadeIn,msClear;animation-duration:7.4s,.45s;animation-delay:.3s,5.7s;animation-fill-mode:both,forwards}
.mc-journey.playing[data-code="UNHRC"] .ms-art{animation:msArt 5.1s .4s linear both}
.mc-journey.playing[data-code="UNHRC"] .ms-flags{animation:msClear .45s 5.7s forwards}
/* ======================= v5: IPL one-bounce delivery + thrown auction paddles ======================= */
.ms-ladder{display:none!important}
/* delivery: huge ball comes from the viewer, one bounce, shrinks away and hits the middle stump */
.mc-journey.playing[data-code="IPL"] .ms-ball2{animation:msBounce1 6.4s both}
@keyframes msBounce1{
 0%{opacity:0;transform:translate(0,-26vh) scale(15);animation-timing-function:linear}
 6%{opacity:1;transform:translate(0,-22vh) scale(14);animation-timing-function:cubic-bezier(.45,0,.85,.55)}
 30%{opacity:1;transform:translate(-1vh,10vh) scale(4.6);animation-timing-function:cubic-bezier(.12,.55,.45,1)}
 41%{opacity:1;transform:translate(-2vh,-2vh) scale(2.2);animation-timing-function:cubic-bezier(.5,0,.9,.6)}
 50%{opacity:1;transform:translate(-1.5vh,-12vh) scale(1);animation-timing-function:cubic-bezier(.2,.6,.4,1)}
 58%{opacity:1;transform:translate(7vh,-6vh) scale(.9);animation-timing-function:cubic-bezier(.5,0,.9,.6)}
 66%{opacity:1;transform:translate(13vh,0) scale(.8)}
 74%,100%{opacity:0;transform:translate(16vh,0) scale(.8)}}
/* thrown paddles */
.ms-aucthead{left:4vw;top:15%}
.ms-aucthead small{font:800 clamp(9px,.95vw,13px) var(--mono,monospace);letter-spacing:.28em;color:#ffd24a}
.ms-paddle{left:var(--x);bottom:0;width:clamp(120px,13.5vw,200px);opacity:0;transform-origin:50% 100%}
.ms-paddle .pd{aspect-ratio:1/1.05;display:grid;align-content:center;justify-items:center;gap:4px;padding:10px;border-radius:12px;border:4px solid #fff;background:var(--bg);color:var(--fg);box-shadow:0 16px 36px #000a;text-align:center}
.ms-paddle .pd b{font:900 clamp(2rem,4.6vw,4rem)/.9 var(--sans,Arial);letter-spacing:-.03em}
.ms-paddle .pd small{font:800 clamp(6px,.7vw,10px) var(--mono,monospace);letter-spacing:.1em;opacity:.95}
.ms-paddle .pd em{font:900 clamp(.9rem,1.6vw,1.4rem) var(--sans,Arial);font-style:normal;margin-top:4px;padding:3px 10px;border-radius:999px;background:#0008;color:#ffd24a}
.ms-paddle>i{display:block;width:7px;height:clamp(60px,12vh,120px);margin:0 auto;background:linear-gradient(90deg,#b99067,#7a5a3a);border-radius:0 0 4px 4px}
.mc-journey.playing[data-code="IPL"] .ms-paddle{animation:msThrow 2.2s calc(.4s + var(--i)*.42s) cubic-bezier(.25,.8,.3,1) both}
.mc-journey.playing[data-code="IPL"] .ms-paddle.win{animation:msThrowWin 6.4s calc(.4s + var(--i)*.42s) cubic-bezier(.25,.8,.3,1) both,msClear .45s 5.7s forwards}
@keyframes msThrow{
 0%{opacity:0;transform:translateY(0) rotate(-18deg)}
 6%{opacity:1}
 26%{transform:translateY(-58vh) rotate(9deg)}
 40%{transform:translateY(-46vh) rotate(-5deg)}
 52%{transform:translateY(-47vh) rotate(4deg)}
 62%{opacity:1;transform:translateY(-46vh) rotate(-3deg)}
 100%{opacity:0;transform:translateY(8vh) rotate(14deg)}}
@keyframes msThrowWin{
 0%{opacity:0;transform:translateY(0) rotate(-18deg)}
 3%{opacity:1}
 10%{transform:translateY(-58vh) rotate(9deg)}
 16%{transform:translateY(-46vh) rotate(-5deg)}
 24%{transform:translateY(-47vh) rotate(4deg)}
 32%,100%{opacity:1;transform:translateY(-46vh) rotate(0)}}
.ms-paddle.win{width:clamp(130px,15vw,220px)}
@media(max-width:850px){.ms-paddle{width:30vw}.ms-aucthead{display:none}}

/* ======================= v6: IPL bowler's-eye delivery (after the reference clip) + slow paddles ======================= */
.mc-journey.playing[data-code="IPL"] .mc-heading{animation-name:msTitleLate;animation-duration:8.2s}
.mc-journey.playing[data-code="IPL"] .mc-photo{animation-duration:8.3s}
.mc-journey.playing[data-code="IPL"] .ms-beam{animation-duration:8.2s}
.ms-ipl{inset:0}
.mc-journey.playing[data-code="IPL"] .ms-ipl{animation:msClear .5s 6.3s forwards}
.ms-ipl .ms-shade.i{background:radial-gradient(ellipse at 50% 50%,#04101f33 0%,#04101f99 100%)}
.ms-grass{left:0;right:0;top:34vh;bottom:0;background:repeating-linear-gradient(90deg,#134a2b 0 6vw,#165530 6vw 12vw),#134a2b;opacity:0;box-shadow:inset 0 14px 30px #0008}
.ms-grass:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#04101f66,#04101f00 40%,#04101f55)}
.ms-pitch3{left:0;right:0;top:34vh;bottom:0;clip-path:polygon(46.2% 0,53.8% 0,88% 100%,12% 100%);background:linear-gradient(180deg,#bba26e,#e9d6a8 40%,#f1e1b8);opacity:0}
.ms-pitch3 i{position:absolute;left:46.2%;right:46.2%;top:3%;height:2px;background:#ffffffaa;box-shadow:0 0 0 0}
.mc-journey.playing[data-code="IPL"] :is(.ms-grass,.ms-pitch3){animation:msFadeIn 1s both}
/* stumps, far end of the pitch */
.ms-wicket{left:50%;top:20vh;width:6vh;height:16vh;margin-left:-3vh}
.ms-wicket i{width:.9vh}.ms-wicket .s1{left:0}.ms-wicket .s2{left:2.55vh}.ms-wicket .s3{left:5.1vh}
.ms-wicket em{top:-.6vh;width:2.7vh;height:.5vh}.ms-wicket .b1{left:.3vh}.ms-wicket .b2{left:3vh}
.mc-journey.playing[data-code="IPL"] .ms-wicket i{animation:msStumpUp .6s .3s ease-out both}
.mc-journey.playing[data-code="IPL"] .ms-wicket .s1{animation:msStumpUp .6s .3s ease-out both,msScat1 8.2s both}
.mc-journey.playing[data-code="IPL"] .ms-wicket .s2{animation:msStumpUp .6s .45s ease-out both,msScat2 8.2s both}
.mc-journey.playing[data-code="IPL"] .ms-wicket .s3{animation:msStumpUp .6s .6s ease-out both,msScat3 8.2s both}
.mc-journey.playing[data-code="IPL"] .ms-wicket .b1{animation:msBailA 8.2s both}
.mc-journey.playing[data-code="IPL"] .ms-wicket .b2{animation:msBailB 8.2s both}
@keyframes msScat1{0%,55.5%{translate:0 0;rotate:0deg;scale:1;animation-timing-function:cubic-bezier(.2,.7,.3,1)}100%{translate:-30vh 40vh;rotate:-430deg;scale:2.8}}
@keyframes msScat2{0%,55.5%{translate:0 0;rotate:0deg;scale:1;animation-timing-function:cubic-bezier(.2,.7,.3,1)}100%{translate:5vh 50vh;rotate:210deg;scale:3}}
@keyframes msScat3{0%,55.5%{translate:0 0;rotate:0deg;scale:1;animation-timing-function:cubic-bezier(.2,.7,.3,1)}100%{translate:32vh 36vh;rotate:400deg;scale:2.5}}
@keyframes msBailA{0%,8%{opacity:0;translate:0 0}10%,55.5%{opacity:1;translate:0 0;rotate:0deg}66%{opacity:1;translate:-8vh -12vh;rotate:-360deg}100%{opacity:1;translate:-20vh 26vh;rotate:-900deg;scale:2.2}}
@keyframes msBailB{0%,8%{opacity:0;translate:0 0}10%,55.5%{opacity:1;translate:0 0;rotate:0deg}66%{opacity:1;translate:11vh -14vh;rotate:380deg}100%{opacity:1;translate:22vh 30vh;rotate:980deg;scale:2.4}}
/* the ball: huge near the camera, one bounce, shrinking down the pitch into the stumps */
.ms-ball3{left:calc(50% - 1.5vmin);top:calc(36vh - 1.5vmin);width:3vmin;height:3vmin;border-radius:50%;background:radial-gradient(circle at 34% 28%,#ff9d89,#c8161d 52%,#650a0e);box-shadow:inset -.25vmin -.3vmin .6vmin #0007;opacity:0}
.ms-ball3:before,.ms-ball3:after{content:"";position:absolute;top:6%;bottom:6%;width:34%;border-radius:50%;border:0 dashed #fff}
.ms-ball3:before{left:6%;border-right-width:.22vmin}.ms-ball3:after{right:6%;border-left-width:.22vmin}
.mc-journey.playing[data-code="IPL"] .ms-ball3{animation:msBall6 8.2s both}
@keyframes msBall6{
 0%{opacity:0;transform:translate(0,-18vh) scale(16)}
 6%{opacity:1;transform:translate(0,-16vh) scale(16);animation-timing-function:cubic-bezier(.3,0,.6,1)}
 22%{opacity:1;transform:translate(0,-2vh) scale(10.5);animation-timing-function:cubic-bezier(.3,0,.7,1)}
 34%{opacity:1;transform:translate(0,8vh) scale(6.5);animation-timing-function:cubic-bezier(.45,0,.9,.6)}
 46%{opacity:1;transform:translate(0,13vh) scale(4);animation-timing-function:cubic-bezier(.1,.5,.4,1)}
 56%{opacity:1;transform:translate(-.5vh,-9vh) scale(1);animation-timing-function:cubic-bezier(.2,.6,.4,1)}
 63%{opacity:1;transform:translate(4vh,-4vh) scale(.9);animation-timing-function:cubic-bezier(.5,0,.9,.6)}
 72%{opacity:1;transform:translate(10vh,2vh) scale(.9)}
 78%,100%{opacity:0;transform:translate(12vh,2vh) scale(.9)}}
.ms-shadow{left:calc(50% - 2.1vmin);top:calc(36vh - .5vmin);width:4.2vmin;height:1.1vmin;border-radius:50%;background:radial-gradient(#000b,#0000 70%);opacity:0}
.mc-journey.playing[data-code="IPL"] .ms-shadow{animation:msShadow6 8.2s both}
@keyframes msShadow6{
 0%{opacity:0;transform:translate(0,40vh) scale(15)}
 8%{opacity:.5;transform:translate(0,38vh) scale(15)}
 22%{opacity:.55;transform:translate(0,30vh) scale(10.5)}
 34%{opacity:.6;transform:translate(0,22vh) scale(6.5)}
 46%{opacity:.7;transform:translate(0,19vh) scale(4.2)}
 56%{opacity:.45;transform:translate(0,2vh) scale(1.1)}
 62%,100%{opacity:0;transform:translate(0,2vh) scale(1)}}
.ms-dust{left:calc(50% - 6vh);top:33vh;width:12vh;height:4vh;border-radius:50%;background:radial-gradient(#fffc,#fff0 70%);opacity:0}
.mc-journey.playing[data-code="IPL"] .ms-dust{animation:msDust 8.2s both}
@keyframes msDust{0%,55.5%{opacity:0;transform:scale(.3)}58%{opacity:.95;transform:scale(1)}72%,100%{opacity:0;transform:scale(3.2)}}
/* paddles: slower, so each one can be read */
.ms-paddle{left:var(--x)}
.mc-journey.playing[data-code="IPL"] .ms-paddle{animation:msThrowSlow 3.9s calc(.5s + var(--i)*.62s) cubic-bezier(.22,.7,.3,1) both}
.mc-journey.playing[data-code="IPL"] .ms-paddle.win{animation:msThrowWinSlow 2.2s calc(.5s + var(--i)*.62s) cubic-bezier(.22,.7,.3,1) both}
@keyframes msThrowSlow{
 0%{opacity:0;transform:translateY(0) rotate(-14deg)}
 8%{opacity:1}
 36%{transform:translateY(-47vh) rotate(5deg)}
 48%{transform:translateY(-46vh) rotate(-3deg)}
 76%{opacity:1;transform:translateY(-46vh) rotate(2deg)}
 100%{opacity:0;transform:translateY(8vh) rotate(10deg)}}
@keyframes msThrowWinSlow{
 0%{opacity:0;transform:translateY(0) rotate(-14deg)}
 8%{opacity:1}
 55%{transform:translateY(-47vh) rotate(5deg)}
 78%{transform:translateY(-46vh) rotate(-3deg)}
 100%{opacity:1;transform:translateY(-46vh) rotate(0)}}
.ms-aucthead{top:12%}
.mc-journey.playing[data-code="IPL"] .ms-aucthead small{animation:msFadeUp .8s .3s both}
/* lot card, hammer and SOLD, timed to the stumps going down */
.mc-journey.playing[data-code="IPL"] .ms-lot{animation:msLotIn 1.2s .8s cubic-bezier(.2,1,.3,1) both}
.mc-journey.playing[data-code="IPL"] .ms-sold{animation:msSold6 8.2s both}
.mc-journey.playing[data-code="IPL"] .ms-gavel2 .gv{animation:msGavel6 8.2s both}
@keyframes msSold6{0%,55.5%{opacity:0;transform:translate(-50%,-50%) rotate(-9deg) scale(2.6)}59%,100%{opacity:1;transform:translate(-50%,-50%) rotate(-9deg) scale(1)}}
@keyframes msGavel6{0%,48%{transform:rotate(-55deg)}55.5%{transform:rotate(8deg);animation-timing-function:ease-out}60%{transform:rotate(-14deg)}65%,100%{transform:rotate(-4deg)}}
.mc-journey.playing[data-code="IPL"] .ms-flash{animation:msFlash6 8.2s both}
@keyframes msFlash6{0%,74%{opacity:0}80%{opacity:.8}90%,100%{opacity:0}}

/* ======================= v7: IPL page - the six-player squad ======================= */
.ms-card{display:none!important}
.ms-squad{left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:flex-end;padding:0 1vw;z-index:2}
.ms-player{position:relative;margin:0 -1.4vw;width:clamp(120px,17.5vw,330px);flex:none;text-align:center;animation:msSquadIn 1.1s calc(.35s + var(--i)*.14s) cubic-bezier(.2,.9,.3,1) both,msBob 6s calc(1.8s + var(--i)*.5s) ease-in-out infinite alternate}
.ms-player:before{content:"";position:absolute;left:-6%;right:-6%;bottom:-6%;height:80%;background:radial-gradient(ellipse at 50% 70%,var(--c),transparent 68%);opacity:.55;filter:blur(18px);z-index:-1}
.ms-player img{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 22px #000b)}
.ms-player figcaption{position:absolute;left:50%;bottom:3%;transform:translateX(-50%);padding:5px 16px;border-radius:999px;background:var(--c);color:#fff;font:900 clamp(10px,1.1vw,16px) var(--sans,Arial);letter-spacing:.1em;box-shadow:0 6px 18px #000a;border:2px solid #fff}
.ms-player:nth-child(1),.ms-player:nth-child(6){width:clamp(130px,19vw,360px)}
.ms-player:nth-child(3),.ms-player:nth-child(4){margin-bottom:-1vw}
@keyframes msSquadIn{from{opacity:0;transform:translateY(55%)}to{opacity:1;transform:none}}
@keyframes msBob{from{transform:translateY(0)}to{transform:translateY(-1.2vh)}}
@media(max-width:850px){.ms-player{width:30vw;margin:0 -3vw}.ms-player:nth-child(n+5){display:none}.ms-player:nth-child(1),.ms-player:nth-child(6){width:32vw}}
@media(prefers-reduced-motion:reduce){.ms-player{animation:none!important}}

.cinema-hero-scene .ms-squad .ms-player{position:relative!important}

/* ======================= v8: IPL auction room only - lot in the middle, franchises on an arc ======================= */
.mc-journey.playing[data-code="IPL"] .mc-heading{animation-name:msTitleLate;animation-duration:8.4s}
.mc-journey.playing[data-code="IPL"] .mc-photo{animation-duration:8.5s}
.mc-journey.playing[data-code="IPL"] .ms-beam{animation-duration:8.4s}
.mc-journey.playing[data-code="IPL"] .ms-ipl{animation:msClear .5s 6.6s forwards}
.ms-ipl .ms-shade.i{background:radial-gradient(ellipse at 50% 55%,#04101f55 0%,#04101fcc 100%)}
.ms-aucthead{left:0;right:0;top:5.5vh;text-align:center}
.ms-aucthead small{font:800 clamp(10px,1.1vw,15px) var(--mono,monospace);letter-spacing:.34em;color:#ffd24a}
/* franchise paddles on a semicircle */
:is(#mcPlayfield) .ms-seat{left:var(--x);top:var(--y);width:clamp(96px,11vw,170px);transform:translate(-50%,-50%);opacity:0}
.mc-journey.playing[data-code="IPL"] .ms-seat{animation:msSeatIn .9s calc(.15s + var(--i)*.12s) cubic-bezier(.2,.9,.3,1) both}
@keyframes msSeatIn{from{opacity:0;transform:translate(-50%,-30%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.ms-seat .pd{aspect-ratio:1/1.02;display:grid;align-content:center;justify-items:center;gap:3px;padding:8px;border-radius:12px;border:4px solid #fff;background:var(--bg);color:var(--fg);box-shadow:0 16px 36px #000a;text-align:center;filter:brightness(.62) saturate(.8);transform-origin:50% 100%}
.ms-seat .pd b{font:900 clamp(1.7rem,3.8vw,3.4rem)/.9 var(--sans,Arial);letter-spacing:-.03em}
.ms-seat .pd small{font:800 clamp(5px,.62vw,9px) var(--mono,monospace);letter-spacing:.08em;line-height:1.25}
.ms-seat .pd em{font:900 clamp(.8rem,1.35vw,1.2rem) var(--sans,Arial);font-style:normal;margin-top:3px;padding:2px 10px;border-radius:999px;background:#0009;color:#ffd24a;opacity:0}
.ms-seat>i{display:block;width:6px;height:clamp(40px,8vh,90px);margin:0 auto;background:linear-gradient(90deg,#b99067,#7a5a3a);border-radius:0 0 4px 4px}
.mc-journey.playing[data-code="IPL"] .ms-seat .pd{animation:msRaise 1.7s var(--t) cubic-bezier(.3,.8,.3,1) both}
.mc-journey.playing[data-code="IPL"] .ms-seat .pd em{animation:msEm 1.7s var(--t) both}
.mc-journey.playing[data-code="IPL"] .ms-seat .pd.win{animation:msRaiseWin 1.2s var(--t) cubic-bezier(.3,.8,.3,1) both}
.mc-journey.playing[data-code="IPL"] .ms-seat .pd.win em{animation:msEmWin .4s var(--t) both}
@keyframes msRaise{
 0%{transform:translateY(0) rotate(0) scale(1);filter:brightness(.62) saturate(.8)}
 22%{transform:translateY(-7vh) rotate(var(--r)) scale(1.16);filter:brightness(1.05) saturate(1.1);box-shadow:0 0 40px #ffd24a99,0 16px 36px #000a}
 42%{transform:translateY(-6vh) rotate(calc(var(--r) * -.5)) scale(1.14);filter:brightness(1.05) saturate(1.1)}
 70%{transform:translateY(-6.4vh) rotate(calc(var(--r) * .4)) scale(1.15);filter:brightness(1.05) saturate(1.1)}
 100%{transform:translateY(0) rotate(0) scale(1);filter:brightness(.62) saturate(.8)}}
@keyframes msRaiseWin{
 0%{transform:translateY(0) rotate(0) scale(1);filter:brightness(.62) saturate(.8)}
 35%{transform:translateY(-8vh) rotate(var(--r)) scale(1.22);filter:brightness(1.1) saturate(1.15);box-shadow:0 0 60px #ffd24acc,0 16px 36px #000a}
 100%{transform:translateY(-7vh) rotate(0) scale(1.2);filter:brightness(1.1) saturate(1.15);box-shadow:0 0 60px #ffd24acc,0 16px 36px #000a}}
@keyframes msEm{0%,10%{opacity:0}28%,66%{opacity:1}100%{opacity:0}}
@keyframes msEmWin{from{opacity:0}to{opacity:1}}
/* the lot, front and centre */
.ms-podium{left:50%;top:54vh;width:clamp(260px,29vw,440px);transform:translate(-50%,-50%);padding:clamp(16px,1.8vw,26px);border-radius:16px;background:linear-gradient(145deg,#fff7ee,#ffe9c9);color:#1b1030;box-shadow:0 30px 80px #000c,0 0 0 2px #ffd24a66;opacity:0}
.mc-journey.playing[data-code="IPL"] .ms-podium{animation:msPodiumIn 1.2s .3s cubic-bezier(.2,1,.3,1) both,msPodiumShake 8.4s both}
@keyframes msPodiumIn{from{opacity:0;transform:translate(-50%,-40%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes msPodiumShake{0%,59%{translate:0 0}60%{translate:0 6px}61%{translate:-4px -2px}62.5%{translate:3px 1px}64%,100%{translate:0 0}}
.ms-podium>small{display:block;font:800 clamp(8px,.9vw,12px) var(--mono,monospace);letter-spacing:.18em;color:#c4161c}
.ms-podium .who{display:flex;align-items:center;gap:14px;margin:12px 0}
.ms-podium .who i{display:block;width:clamp(46px,5.2vw,76px);height:clamp(46px,5.2vw,76px);border-radius:50%;background:radial-gradient(circle at 50% 36%,#7a5a3a 0 22%,transparent 23%),linear-gradient(180deg,#d9b36e,#8a6a35);flex:none}
.ms-podium .who b{font:900 clamp(1.3rem,2.4vw,2.2rem)/1 var(--sans,Arial);letter-spacing:-.03em}
.ms-podium .curr{border-top:2px dashed #1b103033;padding-top:10px}
.ms-podium .curr>span{display:block;font:800 clamp(8px,.85vw,11px) var(--mono,monospace);letter-spacing:.24em;color:#4a3a5a}
.ms-podium .cbs{position:relative;height:clamp(3.6rem,6.6vw,6rem);margin-top:4px}
.ms-podium .cb{position:absolute;inset:0;opacity:0}
.ms-podium .cb b{display:block;font:900 clamp(2.3rem,4.8vw,4.2rem)/1 var(--sans,Arial);letter-spacing:-.04em;color:#1b1030;font-variant-numeric:tabular-nums}
.ms-podium .cb em{display:inline-block;margin-top:2px;padding:3px 12px;border-radius:999px;background:var(--bg);color:var(--fg);font:800 clamp(7px,.8vw,11px) var(--mono,monospace);font-style:normal;letter-spacing:.12em}
.mc-journey.playing[data-code="IPL"] .ms-podium .cb{animation:msCb .6s var(--t) both}
.mc-journey.playing[data-code="IPL"] .ms-podium .cb.last{animation:msCbLast .5s var(--t) both}
@keyframes msCb{0%{opacity:0;transform:translateY(10px) scale(.94)}16%,84%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-8px)}}
@keyframes msCbLast{0%{opacity:0;transform:translateY(10px) scale(.94)}100%{opacity:1;transform:none}}
.ms-ring2{left:50%;top:50%;width:20%;aspect-ratio:1;margin:-10% 0 0 -10%;border-radius:50%;border:4px solid #ffd24a;opacity:0}
.mc-journey.playing[data-code="IPL"] .ms-ring2{animation:msShock 8.4s both}
@keyframes msShock{0%,59%{opacity:0;transform:scale(.3)}60%{opacity:.95;transform:scale(1)}72%,100%{opacity:0;transform:scale(9)}}
.ms-podium .ms-sold{left:50%;top:60%;width:92%;transform:translate(-50%,-50%) rotate(-9deg) scale(2.6);text-align:center;opacity:0;border:5px solid #d8161f;border-radius:10px;padding:6px 8px;background:#fff7eef5}
.mc-journey.playing[data-code="IPL"] .ms-podium .ms-sold{animation:msSold8 8.4s both}
@keyframes msSold8{0%,59.5%{opacity:0;transform:translate(-50%,-50%) rotate(-9deg) scale(2.6)}63%,100%{opacity:1;transform:translate(-50%,-50%) rotate(-9deg) scale(1)}}
.ms-podium .ms-gavel2{top:-70px;right:-52px;width:clamp(90px,10vw,150px);overflow:visible;z-index:3}
.mc-journey.playing[data-code="IPL"] .ms-podium .ms-gavel2 .gv{animation:msGavel8 8.4s both}
@keyframes msGavel8{0%,50%{transform:rotate(-55deg)}59.5%{transform:rotate(10deg);animation-timing-function:ease-out}64%{transform:rotate(-14deg)}69%,100%{transform:rotate(-4deg)}}
.mc-journey.playing[data-code="IPL"] .ms-flash{animation:msFlash8 8.4s both}
@keyframes msFlash8{0%,76%{opacity:0}82%{opacity:.8}91%,100%{opacity:0}}
@media(max-width:850px){.ms-seat{width:21vw}.ms-podium{width:56vw}.ms-aucthead{display:none}}

/* squad scaled down so heads stay clear of the buttons */
.ms-player{width:clamp(100px,13.5vw,260px);margin:0 -.5vw}
.ms-player:nth-child(1),.ms-player:nth-child(6){width:clamp(105px,14.5vw,280px)}
.ms-player:nth-child(3),.ms-player:nth-child(4){margin-bottom:-.8vw}
@media(max-width:850px){.ms-player{width:26vw;margin:0 -2vw}.ms-player:nth-child(1),.ms-player:nth-child(6){width:27vw}}

/* ======================= v9 ======================= */
/* ---- UNHRC: side words closer in, no cards, soft dissolve in and out ---- */
.ms-pop{padding:0;background:none;border:0;border-radius:0;box-shadow:none;max-width:21vw}
.ms-pop.l{left:12vw;text-align:left}.ms-pop.r{right:12vw;text-align:right}
.ms-pop b{text-shadow:0 3px 22px #000,0 0 30px #1a4f8a99}
.mc-journey.playing[data-code="UNHRC"] .ms-pop{animation:msPopSide3 2.3s ease-out calc(.3s + var(--i)*.4s) both}
@keyframes msPopSide3{0%{opacity:0;transform:translateY(18px);letter-spacing:-.04em;filter:blur(0)}14%{opacity:1;transform:none;letter-spacing:0}70%{opacity:1;transform:translateY(-4px);filter:blur(0);letter-spacing:0}100%{opacity:0;transform:translateY(-26px);filter:blur(7px);letter-spacing:.08em}}

/* ---- CCEP: bigger centred "DEAL CLOSED" that clears before the title, new ship ---- */
.mc-journey.playing[data-code="CCEP"] .mc-heading{animation-name:msTitleLate;animation-duration:6.4s}
.mc-journey.playing[data-code="CCEP"] .mc-photo{animation-duration:6.5s}
:is(#mcPlayfield) .ms-ledger{left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;padding:0 5vw}
.ms-ledger small{font-size:clamp(12px,1.5vw,20px);letter-spacing:.4em}
.ms-ledger b{display:block;margin:clamp(10px,1.4vw,22px) 0;font:900 clamp(3.4rem,11.5vw,10.5rem)/.95 var(--sans,Arial);letter-spacing:-.05em;white-space:nowrap;text-shadow:0 0 70px #2fd0b4cc,0 10px 40px #000a}
.ms-ledger span{font-size:clamp(11px,1.4vw,19px);letter-spacing:.3em}
.mc-journey.playing[data-code="CCEP"] .ms-ledger{animation:msLedger2 6.4s both}
@keyframes msLedger2{0%,34%{opacity:0;transform:translateY(-46%) scale(.94)}42%,70%{opacity:1;transform:translateY(-50%) scale(1)}78%,100%{opacity:0;transform:translateY(-54%) scale(1.04)}}
.mc-journey.playing[data-code="CCEP"] .ms-quotes{animation:msFadeIn 6.4s .6s both}
:is(#mcPlayfield,.cinema-hero-scene) .ms-ship{left:-40vw;bottom:11%;width:clamp(300px,38vw,640px);opacity:0;filter:drop-shadow(0 18px 24px #0009)}
.ms-ship svg{display:block;width:100%;height:auto}
.mc-journey.playing[data-code="CCEP"] .ms-ship{animation:msShip2 6.4s ease-in-out both}
@keyframes msShip2{0%{opacity:0;transform:translateX(0)}6%{opacity:1}100%{opacity:1;transform:translateX(165vw)}}
.cinema-hero-scene[data-code="CCEP"] .ms-ship{animation:msShipLoop2 42s linear infinite;opacity:1}
@keyframes msShipLoop2{from{transform:translateX(0)}to{transform:translateX(185vw)}}

/* ---- IPL: richer, more realistic paddles, lot card and gavel ---- */
.ms-seat .pd{position:relative;background:linear-gradient(155deg,color-mix(in srgb,var(--bg) 78%,#fff) 0%,var(--bg) 42%,color-mix(in srgb,var(--bg) 70%,#000) 100%);border:3px solid #ffffffee;border-radius:10px;box-shadow:0 22px 44px #000b,inset 0 0 0 3px #00000026,inset 0 2px 0 #ffffff80;overflow:hidden}
.ms-seat .pd:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,#ffffff55 0%,#ffffff00 36%,#ffffff00 64%,#ffffff22 100%);pointer-events:none}
.ms-seat .pd b{text-shadow:0 3px 0 #0004,0 8px 14px #0006}
.ms-seat>i{width:9px;border-radius:2px 2px 5px 5px;background:linear-gradient(90deg,#5b3a1d,#c79a5e 38%,#8a5d2f 62%,#4a2e16);box-shadow:0 8px 14px #0008;position:relative}
.ms-seat>i:before{content:"";position:absolute;left:-2px;right:-2px;top:0;height:9px;background:linear-gradient(90deg,#8d949b,#e6eaee 45%,#7b838b);border-radius:2px}
.ms-podium{background:linear-gradient(160deg,#fffaf0 0%,#fbe7c2 55%,#f0cf92 100%);border:3px solid #e5bd6a;box-shadow:0 40px 90px #000d,0 0 0 1px #fff8 inset,0 0 0 8px #0000,0 0 120px #ffd24a44;overflow:visible}
.ms-podium:before{content:"";position:absolute;inset:7px;border:1px solid #b0842f77;border-radius:11px;pointer-events:none}
.ms-podium .who i{box-shadow:inset 0 -10px 16px #0003,0 6px 16px #0005}
.ms-podium .cb b{background:linear-gradient(180deg,#2a1a4a,#0e0620);-webkit-background-clip:text;background-clip:text;color:transparent}
.ms-podium .ms-gavel2{filter:drop-shadow(0 10px 12px #0009)}
.ms-stagelight{inset:0;background:radial-gradient(ellipse 34% 52% at 50% 56%,#ffe9b844,#ffe9b800 70%);mix-blend-mode:screen}
.ms-floor{left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,#00000000,#0a1424ee 70%)}

/* smooth hand-over: the page opens under the finished intro, then the intro dissolves away */
body.xfade .mc-journey,body.xfade .dalal-crash,body.xfade .startup-launch,body.xfade .mcc-night-flight,body.xfade .committee-flight{transition:opacity .95s cubic-bezier(.4,0,.2,1),visibility .95s!important}
body.xfade .committee-page{transition:opacity .7s ease,visibility .7s,transform .9s cubic-bezier(.2,.7,.2,1)!important}
body.xfade .dalal-page{transition:opacity .8s ease,visibility .8s,transform .95s cubic-bezier(.2,.7,.2,1),filter .8s ease!important}
.ip-cinematic.handoff{transition:opacity .95s cubic-bezier(.4,0,.2,1),visibility .95s!important}
