/* A balanced hero: clear copy and a medium-sized film. */
.video-hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:1240px;gap:54px}
.video-hero .hero-grid>div:first-child{max-width:535px}
.hero-autoplay{width:100%;max-width:610px;justify-self:end}
.hero-video-shell{border-radius:20px;overflow:hidden;padding:0}
.video-progress-rail{position:relative;height:2px;background:#edf1ee;line-height:0}
.video-progress{position:absolute;inset:0;width:100%;height:2px;display:block;border-radius:0;margin:0;padding:0;background:transparent;z-index:2}
.video-progress::-webkit-slider-runnable-track{height:2px;border-radius:0;background:linear-gradient(to right,#64a77a var(--video-progress),#edf1ee var(--video-progress))}
.video-progress::-moz-range-track{height:2px;border-radius:0;background:#edf1ee}
.video-progress::-moz-range-progress{height:2px;border-radius:0;background:#64a77a}
.video-progress::-webkit-slider-thumb{height:2px;width:2px;margin:0;border-radius:0;opacity:0}
.video-progress::-moz-range-thumb{height:2px;width:2px;border-radius:0;opacity:0}
.hero-video-shell video{display:block;aspect-ratio:16/9;width:100%;height:auto;border-radius:0;object-fit:contain}
.hero-video-controls{padding:9px 13px}
/* The winner's payout first restores both stakes, then reveals the surplus. */
.merge-explain{gap:64px;grid-template-columns:1.04fr .96fr}
.payout-flow h3{font-size:43px;margin:18px 0}
.payout-flow>p{font-size:15px;line-height:1.8;max-width:43ch}
.flow-diagram{margin-top:26px}
.flow-source{padding:18px 20px;background:white;border:1px solid #dde5df;border-radius:17px;text-align:center}
.flow-source>span{font-size:12px;color:#6a726d}.flow-source strong{display:block;font:500 34px/1.25 var(--f-body);letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#292f2b;margin-top:6px}
.flow-connectors{height:47px;margin:0 0 -1px}.flow-connectors svg{display:block;width:100%;height:100%;overflow:visible}
.flow-wire{stroke:#dce4de;stroke-width:1;fill:none}.flow-transfer{stroke:#46a86a;stroke-width:2;stroke-linecap:round;fill:none;stroke-dasharray:18 100;stroke-dashoffset:18;opacity:0}
.flow-stakes{display:grid;grid-template-columns:1fr 1fr;gap:14px}.flow-stakes>div{border:1px solid #dce6df;border-radius:13px;background:#fff;padding:16px 10px;text-align:center}.flow-stakes span{display:block;font-size:11px;color:#707872}.flow-stakes strong{display:block;font:500 23px/1.4 var(--f-body);font-variant-numeric:tabular-nums;color:#353d37;margin-top:7px;letter-spacing:-.5px}
.flow-budget{margin-top:18px}.flow-budget>span{display:block;font-size:12px;color:#617367;text-align:center}.allocation-track{display:flex;height:7px;gap:2px;margin:12px 0 20px;overflow:hidden;border-radius:99px;background:#e4eae6}.allocation-track i{display:block;background:#98bda3;transform-origin:left}.allocation-track i:nth-child(1){width:43.478%;background:#b5cdbd}.allocation-track i:nth-child(2){width:52.383%;background:#8eaf99}.allocation-track i:nth-child(3){flex:1;background:#22984e}
.flow-surplus{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #dce5df;padding:18px 0 0}.flow-surplus>span{font-size:12px;color:#636d67}.flow-surplus>strong{font:500 31px/1.2 var(--f-body);letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#248e4a}
.replay-flow{display:flex;align-items:center;gap:7px;margin:20px 0 0;padding:4px 0;background:none;border:0;font:11px var(--f-body);color:#747d77;cursor:pointer}.replay-flow span{font-size:19px}.replay-flow:hover{color:#237640}.replay-flow:focus-visible{outline:2px solid #278e4b;outline-offset:5px;border-radius:3px}
.flow-playing .flow-source{animation:flow-source-in .45s ease-out both}
.flow-playing .flow-transfer{animation:transfer-money .95s .35s ease-in-out both}
.flow-playing .flow-stakes>div{animation:cover-stake .6s 1.1s ease-out both}
.flow-playing .allocation-track i:nth-child(1),.flow-playing .allocation-track i:nth-child(2){animation:allocate-money .8s 1.1s ease-out both}
.flow-playing .allocation-track i:nth-child(3){animation:allocate-money .45s 1.85s ease-out both}
.flow-playing .flow-budget>span{animation:show-money .4s 1.55s ease-out both}
.flow-playing .flow-surplus{animation:show-money .6s 1.9s ease-out both}
@keyframes transfer-money{0%{opacity:0;stroke-dashoffset:18}15%{opacity:1}85%{opacity:1}100%{opacity:0;stroke-dashoffset:-100}}
@keyframes cover-stake{from{border-color:#e3e7e4;background:#fff;transform:translateY(3px)}to{border-color:#a8cbb4;background:#f5faf6;transform:none}}
@keyframes allocate-money{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes show-money{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes flow-source-in{from{opacity:.5;transform:translateY(-4px)}to{opacity:1;transform:none}}
.back-to-top{position:fixed;bottom:22px;right:22px;display:grid;place-items:center;width:43px;height:43px;border:1px solid #dddddf;border-radius:50%;background:#fffffff0;backdrop-filter:blur(10px);box-shadow:0 3px 15px #00000008;color:#505854;z-index:60;cursor:pointer;transition:transform .2s,background .2s}
.back-to-top:hover{transform:translateY(-3px);background:#f3f8f4}.back-to-top:focus-visible{outline:2px solid #299651;outline-offset:4px}
@media(max-width:1050px){.video-hero .hero-grid{gap:32px}.payout-flow h3{font-size:35px}.merge-explain{gap:35px}.flow-stakes>div{padding:14px 8px}.flow-stakes span{font-size:10px}.flow-stakes strong{font-size:22px}}
@media(max-width:760px){.video-hero .hero-grid{grid-template-columns:1fr;gap:30px}.hero-autoplay{max-width:540px;justify-self:center}.video-hero .hero-grid>div:first-child{max-width:none}.merge-explain{grid-template-columns:1fr;gap:35px}.payout-flow h3{font-size:36px}.payout-flow>p{max-width:none}.flow-source strong{font-size:31px}.flow-stakes span{font-size:11px}.flow-stakes strong{font-size:23px}.flow-surplus>strong{font-size:29px}.back-to-top{bottom:18px;right:18px}.video-progress{inset:0;width:100%;height:2px}.video-progress-rail{height:2px}}
@media(prefers-reduced-motion:reduce){.flow-playing *{animation:none!important}.flow-transfer{display:none}.back-to-top{transition:none}}
/* Portrait film stays compact, with its full frame visible on phones. */
@media(max-width:760px){
  #hero-autoplay{width:min(100%,260px,30.9375svh);max-width:none;justify-self:center}
  #hero-autoplay video{aspect-ratio:9/16;max-height:55svh;object-fit:contain}
  #hero-autoplay .hero-video-shell{border-radius:14px}
  #hero-autoplay .hero-video-controls{padding:8px;gap:5px;flex-wrap:wrap}
  #hero-autoplay .hero-video-controls button{padding:6px 8px;font-size:10px}
  #hero-autoplay .video-time{font-size:10px}
}
