.esports-page{display:block}

.es-hero{position:relative}
.es-hero-media{width:100%;height:520px;object-fit:cover}
.es-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,20,26,0.85) 0%,rgba(18,20,26,0.6) 40%,transparent 70%);display:flex;align-items:center}
.es-hero-text{max-width:480px;margin-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}
.es-hero-text h1{font-size:var(--fs-1)}
.es-hero-sub{color:var(--color-text-primary)}
.es-hero-context{max-width:55ch}

.es-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.es-news-card{display:block}

.es-tournaments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
.es-t-card{position:relative;border-radius:var(--radius-md);overflow:hidden}
.es-t-card img{width:100%;height:260px;object-fit:cover}
.es-t-content{position:absolute;inset:auto 0 0 0;padding:var(--space-3);background:linear-gradient(transparent,rgba(0,0,0,0.7));display:flex;flex-direction:column;gap:var(--space-2)}
.es-t-card-wide{grid-column:1 / -1}

.es-ranking-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-4)}
.es-table-scroll{overflow:auto}
.es-table{width:100%;border-collapse:collapse}
.es-table th,.es-table td{padding:var(--space-2);border-bottom:1px solid var(--color-border-subtle);text-align:left}
.es-table tr:hover{background:var(--color-bg-secondary)}
.es-ranking-text{max-width:60ch}

.es-analysis-inner{display:flex;flex-direction:column;align-items:center}
.es-analysis-text{max-width:60ch}

.es-teams-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.es-team-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm)}

.es-matches-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.es-match{padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm)}

.es-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.es-video-card{display:flex;flex-direction:column;gap:var(--space-2)}
.es-video-thumb{height:160px;background:var(--color-bg-secondary);border-radius:var(--radius-sm);position:relative}
.es-video-thumb::after{content:"▶";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2rem;color:white;opacity:0.7}

.es-cta-inner{max-width:45ch;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-3)}

@media (max-width:1000px){
.es-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.es-ranking-grid{grid-template-columns:1fr}
.es-teams-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.es-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:700px){
.es-hero-media{height:360px}
.es-hero-overlay{position:static;background:none}
.es-hero-text{margin:var(--space-3);max-width:100%}
.es-news-grid,.es-tournaments-grid,.es-matches-grid,.es-video-grid{grid-template-columns:1fr}
.es-teams-grid{grid-template-columns:1fr}
}
