.article-shell{max-width:1200px;margin:auto;padding:36px 24px 90px;display:grid;grid-template-columns:minmax(0,730px) minmax(240px,310px);gap:90px;color:var(--ww-copy)}
.article-crumbs{grid-column:1/-1;display:flex;gap:12px;font-size:14px;color:var(--ww-muted)}
.article-crumbs a,.article-body a{color:var(--ww-accent);text-decoration:underline;text-underline-offset:3px}
.article-header{border-bottom:2px solid var(--ww-accent);padding-bottom:28px;margin-bottom:40px}
.article-kicker{font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--ww-accent)}
.article-header h1{font-size:clamp(36px,4.8vw,62px);line-height:1.08;letter-spacing:-.04em;margin:16px 0 20px}
.article-deck{font-size:clamp(18px,2vw,22px);line-height:1.5;color:var(--ww-muted)}
.article-byline{display:flex;gap:10px 20px;flex-wrap:wrap;font-size:13px;color:var(--ww-muted);margin-top:22px}
.article-body section{margin:0 0 42px}
.article-body h2{font-size:clamp(23px,3vw,31px);line-height:1.2;margin-bottom:15px}
.article-body p,.article-body li{font-size:17px;line-height:1.75;margin-bottom:16px}
.article-body ul{padding-left:24px;margin:12px 0}
.article-example{border-left:4px solid var(--ww-accent);padding:20px 24px;background:var(--ww-card)}
.article-example-note{font-size:13px!important;color:var(--ww-muted)}
.article-sources{border-top:1px solid var(--ww-muted);padding-top:26px}
.article-sources li{font-size:15px}
.article-next{align-self:start;position:sticky;top:25px;background:var(--ww-card);border:1px solid var(--ww-muted);padding:24px}
.article-next h2{font-size:22px;line-height:1.25;margin-bottom:10px}
.article-next p{line-height:1.55;color:var(--ww-muted)}
.article-next>a{display:inline-block;color:var(--ww-accent);text-decoration:underline;margin:15px 0}
.article-next nav{display:grid;gap:10px;border-top:1px solid var(--ww-muted);padding-top:18px}
.article-next nav a{color:var(--ww-copy);text-decoration:underline;text-underline-offset:3px}
.article-shell a:focus-visible{outline:3px solid var(--ww-accent);outline-offset:3px}
@media(max-width:900px){.article-shell{grid-template-columns:1fr;gap:25px}.article-crumbs{grid-column:1}.article-next{position:static}}
@media(max-width:500px){.article-shell{padding:24px 16px 65px}}
.editorial-index{max-width:1200px;margin:auto;padding:30px 24px 90px;color:var(--ww-copy)}
.editorial-index-header{padding:40px 0 36px;border-bottom:2px solid var(--ww-accent);margin-bottom:28px}
.editorial-index-header h1{font-size:clamp(38px,5vw,64px);line-height:1.08;margin:10px 0 18px;letter-spacing:-.04em}
.editorial-index-header>p:not(.article-kicker){font-size:20px;line-height:1.5;max-width:720px;color:var(--ww-muted)}
.editorial-index-header>a{display:inline-block;margin-top:20px;color:var(--ww-accent);text-decoration:underline;text-underline-offset:4px}
.editorial-index-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.editorial-index-card{background:var(--ww-card);border:1px solid var(--ww-muted);padding:28px;border-top:3px solid var(--ww-accent)}
.editorial-index-card>p:first-child{font-size:12px;font-weight:700;color:var(--ww-accent);text-transform:uppercase;letter-spacing:.08em}
.editorial-index-card h2{font-size:clamp(21px,2.3vw,29px);line-height:1.25;margin:18px 0 12px}
.editorial-index-card h2 a{color:var(--ww-copy);text-decoration:underline;text-decoration-color:var(--ww-accent);text-underline-offset:4px}
.editorial-index-card>p:last-child{color:var(--ww-muted);line-height:1.6}
.editorial-empty{padding:30px;border:1px solid var(--ww-muted);line-height:1.6}
.editorial-empty a,.editorial-next-page{color:var(--ww-accent);text-decoration:underline}
.editorial-next-page{display:inline-block;margin-top:30px}
.editorial-index a:focus-visible{outline:3px solid var(--ww-accent);outline-offset:3px}
@media(max-width:700px){.editorial-index-grid{grid-template-columns:1fr}.editorial-index{padding:24px 16px 65px}}

/* Each league keeps its own publication rhythm beyond the home page. */
.site-afl-odds .editorial-index-grid{grid-template-columns:1fr;gap:0;counter-reset:afl-articles}
.site-afl-odds .editorial-index-card{counter-increment:afl-articles;position:relative;background:transparent;border:0;border-bottom:1px solid #8e946c;padding:26px 25px 26px 72px}
.site-afl-odds .editorial-index-card:before{content:counter(afl-articles,decimal-leading-zero);position:absolute;left:6px;top:29px;color:#e8b93b;font-weight:800;font-variant-numeric:tabular-nums}
.site-afl-odds .editorial-index-card h2{margin:8px 0 9px}
.site-afl-odds .article-header{border-bottom-color:#e8b93b}
.site-afl-odds .article-example{background:#20372d}

.site-nrl-odds .editorial-index-grid{grid-template-columns:1fr;gap:0}
.site-nrl-odds .editorial-index-card{background:transparent;border:0;border-left:3px solid #20b991;border-bottom:1px solid #50717b;padding:18px 24px 24px;margin-left:18px}
.site-nrl-odds .editorial-index-card h2{margin:9px 0}
.site-nrl-odds .article-body>section:not(.article-example):not(.article-sources){border-left:2px solid #20b991;padding-left:20px}

.site-nba-odds .editorial-index-header{background:#f5f5ef;color:#202729;padding:35px;margin:15px 0 25px;border-bottom-color:#d85a26}
.site-nba-odds .editorial-index-header h1{color:#202729}
.site-nba-odds .editorial-index-header>p:not(.article-kicker){color:#4a5558}
.site-nba-odds .editorial-index-header>a,.site-nba-odds .editorial-index-header .article-kicker{color:#a53f16}
.site-nba-odds .editorial-index-card{background:#f5f5ef;border:1px solid #adb7b7;border-top:3px solid #d85a26;color:#202729}
.site-nba-odds .editorial-index-card>p:first-child{color:#a53f16}
.site-nba-odds .editorial-index-card h2 a{color:#202729;text-decoration-color:#d85a26}
.site-nba-odds .editorial-index-card>p:last-child{color:#4a5558}
.site-nba-odds .article-body{background:#f5f5ef;color:#202729;padding:36px}
.site-nba-odds .article-body .article-deck,.site-nba-odds .article-body .article-byline{color:#4a5558}
.site-nba-odds .article-body a,.site-nba-odds .article-body .article-kicker{color:#a53f16}
.site-nba-odds .article-example{background:#fff;border-left-color:#d85a26}
.site-nba-odds .article-body .article-example-note{color:#4a5558}

.site-nbl-odds .editorial-index-card{background:#2d244b;border:1px solid #8b6c52;border-top:6px solid #f1a328}
.site-nbl-odds .editorial-index-card:nth-child(4n+2),.site-nbl-odds .editorial-index-card:nth-child(4n+3){background:#332a4e}
.site-nbl-odds .article-header{border-bottom-width:8px;border-image:repeating-linear-gradient(90deg,#f1a328 0 54px,transparent 54px 70px) 8}
.site-nbl-odds .article-example{background:#2d244b;border-left-color:#f1a328}

.site-epl-odds .editorial-index-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.site-epl-odds .editorial-index-card{background:#e8ecea;color:#1f3435;border:0;border-left:4px solid #542c3d}
.site-epl-odds .editorial-index-card:first-child{grid-column:span 2;background:#f7f8f5}
.site-epl-odds .editorial-index-card>p:first-child{color:#542c3d}
.site-epl-odds .editorial-index-card h2 a{color:#542c3d;text-decoration-color:#542c3d}
.site-epl-odds .editorial-index-card>p:last-child{color:#334e4f}
.site-epl-odds .article-header{border-bottom-color:#c8d775}
.site-epl-odds .article-example{background:#e8ecea;color:#1f3435;border-left-color:#542c3d}
.site-epl-odds .article-example-note{color:#334e4f}

@media(max-width:700px){
  .site-afl-odds .editorial-index-card{padding-left:58px}
  .site-nba-odds .editorial-index-header{padding:24px;margin:0 0 25px}
  .site-nba-odds .article-body{padding:24px 18px}
  .site-epl-odds .editorial-index-grid{grid-template-columns:1fr}
  .site-epl-odds .editorial-index-card:first-child{grid-column:auto}
}
