ffn-hero-carousel{display:grid;position:relative;background:#090d0b;isolation:isolate;--hero-accent:#ff7527;touch-action:pan-y}
ffn-hero-carousel .ffn-hero-slide{grid-area:1/1;position:relative;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s ease,visibility .8s;min-width:0}
ffn-hero-carousel .ffn-hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
ffn-hero-carousel .ffn-hero-content{padding-bottom:100px!important}
.ffn-hero-vital{--hero-accent:#38c5b1}.ffn-hero-glow{--hero-accent:#e4c480}
.ffn-hero-world h2{font-size:clamp(58px,4.6vw,86px);line-height:1.04;letter-spacing:-.035em;max-width:52%;margin:18px 0 24px;color:#fff}
.ffn-hero-world h2 em{display:block;color:var(--hero-accent);font-style:normal;font-weight:700}
.ffn-hero-world-logo{display:block;width:160px;height:70px;object-fit:contain;object-position:left;margin:20px 0}
.ffn-hero-coming{display:inline-block;margin-left:16px;padding:5px 10px;border:1px solid var(--hero-accent);color:var(--hero-accent);font-size:9px;letter-spacing:.12em}
.ffn-hero-world .ffn-btn{background:var(--hero-accent);border-color:var(--hero-accent);color:#101711!important}
.ffn-hero-world .ffn-btn:hover{background:#fff!important;border-color:#fff!important}
.ffn-hero-world .ffn-hero-note>span:first-child{color:var(--hero-accent)}
.ffn-hero-vital .ffn-hero-image{filter:brightness(.78) saturate(.72)}
.ffn-hero-glow .ffn-hero-image{filter:brightness(.72) saturate(.85)}
.ffn-hero-controls{position:absolute;z-index:5;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:center;padding:6px 10px;border:1px solid #ffffff30;border-radius:40px;background:#080d0bc9;color:#fff}
.ffn-hero-controls button{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:white;cursor:pointer;font-size:18px;transition:background .2s,color .2s,transform .2s}
.ffn-hero-controls button:hover,.ffn-hero-controls button:focus-visible{color:#111;background:#fff;outline-offset:3px}
.ffn-hero-dots{display:flex;gap:5px}.ffn-hero-dots button{font-size:11px;letter-spacing:.08em}
.ffn-hero-dots button[aria-pressed=true]{background:var(--hero-accent);color:#0b100d}
@media(max-width:1100px) and (min-width:761px){.ffn-hero-world h2{max-width:60%;font-size:60px}}
@media(max-width:760px){.ffn-hero-world .ffn-hero-image{height:480px;object-position:75% center;filter:none}.ffn-hero-world .ffn-hero-shade{background:linear-gradient(0deg,#090d0b 0%,#090d0b 47%,transparent 80%)}.ffn-hero-world h2{max-width:100%;font-size:clamp(40px,10vw,65px);margin:16px 0}.ffn-hero-world-logo{width:130px;height:56px;margin:14px 0}.ffn-hero-world .ffn-hero-content{padding-top:390px}.ffn-hero-world .ffn-hero-note{margin-top:28px}.ffn-hero-controls{bottom:20px;gap:6px}.ffn-hero-controls button{width:34px;height:34px}}
.ffn-hero-people{position:absolute;z-index:2;right:max(2vw,calc((100vw - 1680px)/2));top:35px;width:57%;height:calc(100% - 5px);pointer-events:none;mask-image:linear-gradient(#000 0%,#000 64%,#000b 79%,transparent 98%);animation:ffn-world-float 8s ease-in-out infinite}
.ffn-hero-people img{display:block;width:100%;height:100%;object-fit:contain;object-position:top center}
.ffn-hero-slide:not(.is-active) .ffn-hero-people,.ffn-hero-slide:not(.is-active) .ffn-hero-athletes{animation-play-state:paused}
@keyframes ffn-world-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(max-width:760px){.ffn-hero-people{top:20px;right:-6%;width:112%;height:470px;mask-image:linear-gradient(#000 0%,#000 62%,#0008 81%,transparent 100%)}.ffn-hero-world .ffn-hero-image{object-position:center}.ffn-hero-world .ffn-hero-shade{background:linear-gradient(0deg,#090d0b 0%,#090d0b 44%,#090d0b40 80%)}}
@media(prefers-reduced-motion:reduce){ffn-hero-carousel .ffn-hero-slide{transition:none}.ffn-hero-people{animation:none}}
.ffn-hero-vital .ffn-hero-people{width:60%;height:auto;aspect-ratio:3/2;top:60px;right:1%;mask-image:linear-gradient(#000 0%,#000 65%,#0008 84%,transparent 100%)}
.ffn-hero-glow .ffn-hero-people{width:45%;height:auto;aspect-ratio:1;top:20px;right:6%;mask-image:linear-gradient(#000 0%,#000 62%,#0008 82%,transparent 100%)}
.ffn-hero-world h2{max-width:45%}
@media(max-width:760px){.ffn-hero-vital .ffn-hero-people{width:112%;top:65px;right:-6%}.ffn-hero-glow .ffn-hero-people{width:100%;top:0;right:0}.ffn-hero-world h2{max-width:100%}}
@media(max-width:760px){.ffn-hero-world .ffn-hero-image{mask-image:linear-gradient(#000 0%,#000 55%,transparent 100%)}}
.ffn-hero-people picture{display:block;width:100%;height:100%}
@media(min-width:761px){
 .ffn-hero-glow .ffn-hero-people{width:62%;aspect-ratio:3/2;top:55px;right:0}
 .ffn-hero-vital .ffn-hero-people{width:57%;right:2%}
}
@media(min-width:761px) and (max-height:900px){
 ffn-hero-carousel .ffn.ffn-hero{min-height:650px}
 ffn-hero-carousel .ffn-hero-content{padding-top:32px;padding-bottom:90px!important}
 ffn-hero-carousel .ffn-hero h1{font-size:clamp(52px,4.6vw,76px)}
 ffn-hero-carousel .ffn-hero-world h2{font-size:clamp(46px,4vw,64px);margin:14px 0}
 ffn-hero-carousel .ffn-hero-world-logo{height:50px;margin:12px 0}
 ffn-hero-carousel .ffn-hero-note{margin-top:28px}
 ffn-hero-carousel .ffn-hero-people{max-width:850px}
 ffn-hero-carousel .ffn-hero-athletes{height:760px;right:5%;top:18px}
}
@media(min-width:761px) and (min-height:901px){.ffn-hero-world .ffn-hero-people{max-width:1050px}}

/* Desktop framing: bring each world's people slightly closer to the copy. */
@media(min-width:1101px){
 ffn-hero-carousel .ffn-hero-sportline .ffn-hero-athletes{right:8.5%}
 ffn-hero-carousel .ffn-hero-vital .ffn-hero-people{right:5.5%}
 ffn-hero-carousel .ffn-hero-glow .ffn-hero-people{right:3.5%}
}
