/* Two homepage stories, sharing one stable banner height. */
.hero-carousel{position:relative;isolation:isolate;background:#141619;border-bottom:1px solid var(--line,#343940)}
.hero-carousel-slides{display:grid;min-width:0}
.hero-carousel .hero-slide{grid-area:1 / 1;min-width:0;border-bottom:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility .7s;z-index:0}
.hero-carousel .hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.hero-carousel .hero-slide>.hero-grid{height:100%}
.hero-carousel .hero-esports{position:relative;background:#111315}
.hero-esports-image,.hero-esports-shade{position:absolute;inset:0;width:100%;height:100%}
.hero-carousel .hero-esports-image{object-fit:cover;object-position:center 53%;max-width:none}
.hero-esports-shade{background:linear-gradient(90deg,#101214f5 0%,#101214eb 22%,#101214c4 38%,#10121445 62%,#1012140a 100%),linear-gradient(0deg,#101214bc,transparent 28%,transparent 75%,#10121435)}
.hero-carousel .hero-esports .hero-grid{display:flex;align-items:center;position:relative;z-index:1}
.hero-carousel .hero-esports-copy{max-width:690px;padding-block:15px}
.hero-carousel .hero-esports-title{font-size:clamp(42px,4.5vw,66px);line-height:1.16;max-width:690px;letter-spacing:-.045em;text-wrap:balance;color:#f6f7f8}
.hero-carousel .hero-esports .hero-description{max-width:470px;margin:26px 0 24px;color:#e0e3e7;font-size:16px;line-height:1.85;text-wrap:pretty}
.hero-carousel .hero-sponsor-label{display:flex;align-items:center;gap:16px;width:fit-content;margin:0;padding-block:8px;border-block:1px solid #ffffff30;font-size:13px;font-weight:550;letter-spacing:.09em;color:#f1f3f5;line-height:1.6;direction:ltr}
.hero-sponsor-label>span+span{font-size:9px;letter-spacing:.16em;color:#ff8c80;padding-inline-start:16px;border-inline-start:1px solid #ffffff3a}
.hero-carousel .hero-esports .text-link{color:#f1f3f5}
.hero-carousel .hero-esports .text-link:hover{color:#ff8275}
.hero-carousel-controls{position:absolute;inset-inline:0;bottom:25px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:3;direction:ltr;pointer-events:none}
.hero-carousel-pages,.hero-carousel-navigation{display:flex;align-items:center;gap:20px;pointer-events:auto}
.hero-carousel-page{display:flex;align-items:center;gap:10px;background:none;padding:8px 0;color:#8f98a5;font-size:10px;letter-spacing:.12em;min-height:32px;line-height:1}
.hero-carousel-page i{display:block;width:38px;height:2px;background:#525960;transition:background .25s}
.hero-carousel-page.is-active{color:#f4f5f7}.hero-carousel-page.is-active i{background:#f35a50}
.hero-carousel-navigation{gap:8px}
.hero-carousel-arrow,.hero-carousel-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #ffffff32;border-radius:50%;background:#15181c70;color:#e3e7ed;padding:0;transition:background .2s,border-color .2s}
.hero-carousel-prev svg{transform:rotate(180deg)}
.hero-carousel-toggle{margin-inline-start:7px;width:29px;height:29px;border-color:transparent;background:transparent;color:#b5beca}
.hero-carousel-arrow:hover,.hero-carousel-toggle:hover{background:#ffffff14;border-color:#ffffff80;color:#fff}
.hero-carousel button:focus-visible{outline:2px solid #f35a50;outline-offset:4px}
html[dir="rtl"] .hero-esports-shade{transform:scaleX(-1)}
html[dir="rtl"] .hero-carousel .hero-esports .hero-grid{justify-content:flex-start}
@media(max-width:1100px){.hero-carousel .hero-esports-copy{max-width:570px}.hero-carousel .hero-esports-title{font-size:52px}.hero-carousel .hero-esports .hero-description{font-size:15px;max-width:430px}}
@media(max-width:800px){
 .hero-carousel .hero-esports .hero-grid{align-items:flex-start;padding-top:100px}
 .hero-carousel .hero-esports-copy{max-width:540px}
 .hero-carousel .hero-esports-title{font-size:53px;max-width:520px}
 .hero-carousel .hero-esports .hero-description{max-width:430px;font-size:16px}
 .hero-carousel .hero-esports-image{object-position:48% center}
 .hero-esports-shade{background:linear-gradient(180deg,#101214f2 0%,#101214d9 27%,#1012148a 50%,#10121412 76%,#10121475 100%),linear-gradient(90deg,#10121440,transparent)}
 .hero-carousel-controls{bottom:24px}
}
@media(max-width:520px){
 .hero-carousel .hero-esports .hero-grid{padding-top:105px}
 .hero-carousel .hero-esports-copy{padding-block:0;max-width:100%}
 .hero-carousel .hero-esports-title{font-size:39px;line-height:1.23;letter-spacing:-.04em}
 .hero-carousel .hero-esports .eyebrow{margin-bottom:22px}
 .hero-carousel .hero-esports .hero-description{font-size:14px;line-height:1.9;margin:23px 0 20px;max-width:350px}
 .hero-carousel .hero-sponsor-label{font-size:11px;gap:12px}
 .hero-sponsor-label>span+span{font-size:8px;padding-inline-start:12px}
 .hero-carousel .hero-esports .text-link{font-size:13px}
 .hero-carousel .hero-esports-image{object-position:48% center}
 .hero-carousel-page{font-size:9px}.hero-carousel-page i{width:30px}.hero-carousel-pages{gap:15px}
 .hero-carousel-controls{bottom:22px}
}
/* Mobile uses a compact composition instead of the desktop-sized text/device stack. */
@media(max-width:800px){
 .hero-carousel .hero-slide>.hero-grid{min-height:640px;gap:20px;padding-top:34px;padding-bottom:70px;align-content:center}
 .hero-carousel #hero-slide-1 .hero-copy{max-width:560px}
 .hero-carousel #hero-slide-1 .eyebrow{margin-bottom:16px}
 .hero-carousel #hero-slide-1 .hero-title{font-size:44px;line-height:1.15}
 .hero-carousel #hero-slide-1 .hero-description{font-size:14px;line-height:1.75;margin:18px 0 21px;max-width:500px}
 .hero-carousel #hero-slide-1 .hero-actions{gap:17px}
 .hero-carousel #hero-slide-1 .hero-actions .btn{min-height:40px;padding:9px 13px;font-size:12px;gap:12px}
 .hero-carousel #hero-slide-1 .hero-actions .text-link{font-size:12px;gap:14px;padding-bottom:7px}
 .hero-carousel #hero-slide-1 .hero-visual{width:100%;max-width:300px;padding:0 0 30px;margin:0;justify-self:center}
 .hero-carousel #hero-slide-1 .chart-wrap{height:90px;min-height:0;aspect-ratio:auto}
 .hero-carousel #hero-slide-1 .terminal-tabs,.hero-carousel #hero-slide-1 .timeframes{display:none}
 .hero-carousel #hero-slide-1 .terminal-top{padding-block:8px}
 .hero-carousel #hero-slide-1 .terminal-meta{padding:8px 10px 6px}
 .hero-carousel #hero-slide-1 .terminal-bottom{padding-block:6px}
 .hero-carousel #hero-slide-1 .monitor-device{transform:none}
 .hero-carousel .hero-esports>.hero-grid{align-content:normal;align-items:flex-start;padding-top:90px}
}
@media(max-width:520px){
 .hero-carousel .hero-slide>.hero-grid{min-height:630px;padding-top:30px;padding-bottom:65px;gap:19px}
 .hero-carousel #hero-slide-1 .hero-title{font-size:34px;line-height:1.18}
 .hero-carousel #hero-slide-1 .hero-visual{max-width:280px;padding-bottom:28px}
 .hero-carousel #hero-slide-1 .chart-wrap{height:96px}
 .hero-carousel #hero-slide-1 .hero-coordinate{top:-13px}
 .hero-carousel .hero-esports>.hero-grid{padding-top:88px}
 .hero-carousel .hero-esports-title{font-size:36px;line-height:1.23}
 .hero-carousel .hero-esports .hero-description{line-height:1.8;margin:20px 0 18px}
 .hero-carousel .hero-esports-image{object-position:44% center}
 .hero-carousel-controls{bottom:17px}
}
@media(max-width:360px){
 .hero-carousel #hero-slide-1 .hero-title{font-size:28px}
 .hero-carousel #hero-slide-1 .hero-description{font-size:13px}
 .hero-carousel #hero-slide-1 .hero-visual{max-width:245px}
 .hero-carousel .hero-esports-title{font-size:33px}
 .hero-carousel .hero-esports>.hero-grid{padding-top:80px}
}
@media(prefers-reduced-motion:reduce){.hero-carousel .hero-slide,.hero-carousel button,.hero-carousel-page i{transition:none}}

/* Keep the three hero overlines equally legible at every breakpoint. */
.hero-carousel .hero-slide .eyebrow,.hero-carousel #hero-slide-1 .eyebrow{font-size:16px}
@media(max-width:800px){.hero-carousel .hero-slide .eyebrow,.hero-carousel #hero-slide-1 .eyebrow{font-size:15px}}
@media(max-width:520px){.hero-carousel .hero-slide .eyebrow,.hero-carousel #hero-slide-1 .eyebrow{font-size:14px}}

/* Shared banner heights: 70px shorter, with copy spacing reduced evenly. */
.hero-carousel .hero-slide>.hero-grid{min-height:680px;padding-top:76px;padding-bottom:88px}
@media(max-width:1250px){.hero-carousel .hero-slide>.hero-grid{min-height:620px;padding-top:65px;padding-bottom:75px}}
@media(max-width:1100px){.hero-carousel .hero-slide>.hero-grid{min-height:580px;padding-top:65px;padding-bottom:70px}}
@media(max-width:800px){
 .hero-carousel .hero-slide>.hero-grid{min-height:640px;padding-top:34px;padding-bottom:70px}
 .hero-carousel .hero-esports>.hero-grid{padding-top:90px}
}
@media(max-width:520px){
 .hero-carousel .hero-slide>.hero-grid{min-height:630px;padding-top:30px;padding-bottom:65px}
 .hero-carousel .hero-esports>.hero-grid{padding-top:88px}
}
@media(max-width:360px){.hero-carousel .hero-esports>.hero-grid{padding-top:80px}}
