:root {
    --home-bg: #080c11;
    --home-panel: #121820;
    --home-panel-soft: #171f29;
    --home-blue: #1f72ca;
    --home-blue-bright: #3392f3;
    --home-orange: #f36a21;
    --home-text: #f7f9fc;
    --home-muted: #9eabb9;
    --home-border: rgba(255,255,255,.12);
}

.home-page { margin: 0; background: var(--home-bg); color: var(--home-text); }
.home-main-nav { display:flex; justify-content:center; min-height:62px; padding:0 20px; overflow-x:auto; background:linear-gradient(180deg,#151b22,#0d1218); border-block:1px solid rgba(255,255,255,.1); white-space:nowrap; }
.home-main-nav a { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-width:116px; padding:0 16px; color:#edf2f7; text-decoration:none; text-transform:uppercase; font-size:.8rem; font-weight:850; letter-spacing:.04em; border-left:1px solid rgba(255,255,255,.045); }
.home-main-nav a:last-child { border-right:1px solid rgba(255,255,255,.045); }
.home-main-nav a span { color:#cbd4de; font-size:1.15rem; }
.home-main-nav a:hover { background:rgba(255,255,255,.06); }
.home-main-nav a.active { background:linear-gradient(180deg,#2b83df,#1559a7); color:#fff; }

.home-page .ticker-wrap { padding:0; background:#11171e; border-bottom:1px solid var(--home-border); }
.home-page .ticker-timeline-container { border:0; background:#11171e; box-shadow:none; }
.home-page .timeline-date-pillar,.home-page .timeline-game-card,.home-page .ticker-playoff-wrapper { background:#11171e; border-color:rgba(255,255,255,.1); }
.home-page .timeline-game-card:hover { background:#19222c; }
.home-page .timeline-date-pillar,.home-page .card-team-name,.home-page .ticker-team-name,.home-page .ticker-score-line { color:#f7f9fc; }
.home-page .card-division-tag,.home-page .ticker-team-label,.home-page .ticker-status-label,.home-page .ticker-division-label { color:#aab5c2; }

.home-shell { width:min(1380px,calc(100% - 32px)); margin:0 auto; padding:24px 0 42px; }
.home-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); min-height:430px; overflow:hidden; border:1px solid var(--home-border); background:linear-gradient(115deg,#121a24 0%,#101720 45%,#07111c 100%); }
.home-hero::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(31,114,202,.15),transparent 42%),repeating-linear-gradient(115deg,transparent 0 44px,rgba(255,255,255,.018) 45px 46px); }
.home-hero-copy { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:52px 50px 116px; }
.home-kicker,.home-section-kicker { margin:0 0 8px; color:var(--home-blue-bright); text-transform:uppercase; font-size:.7rem; font-weight:900; letter-spacing:.13em; }
.home-hero h1 { max-width:650px; margin:0; text-transform:uppercase; font-size:clamp(2.7rem,6vw,5.9rem); line-height:.88; letter-spacing:-.045em; }
.home-hero-summary { max-width:610px; margin:24px 0 0; color:#c9d3dd; font-size:1.05rem; line-height:1.7; }
.home-hero-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:28px; }
.home-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 21px; border:1px solid transparent; text-decoration:none; text-transform:uppercase; font-size:.75rem; font-weight:900; letter-spacing:.05em; }
.home-button-primary { background:var(--home-blue); color:#fff; }
.home-button-secondary { border-color:rgba(255,255,255,.28); color:#fff; background:rgba(255,255,255,.025); }
.home-button:hover { filter:brightness(1.1); }

.home-hero-visual { position:relative; min-height:430px; overflow:hidden; background:radial-gradient(circle at 48% 48%,rgba(39,129,224,.32),transparent 28%),linear-gradient(145deg,rgba(17,31,46,.2),rgba(2,8,14,.88)); }
.home-hero-visual strong { position:absolute; right:-8px; bottom:36px; color:rgba(255,255,255,.055); font-size:clamp(5rem,12vw,11rem); line-height:.8; letter-spacing:-.09em; transform:rotate(-7deg); }
.home-rink-line { position:absolute; left:10%; right:8%; height:2px; background:rgba(255,255,255,.11); transform:rotate(-19deg); }
.home-rink-line-one { top:37%; }.home-rink-line-two { top:65%; }
.home-rink-circle { position:absolute; width:235px; height:235px; border:2px solid rgba(51,146,243,.22); border-radius:50%; left:30%; top:20%; }
.home-hero-stick { position:absolute; width:330px; height:12px; left:18%; top:57%; border-radius:15px; background:linear-gradient(90deg,#252a30,#b7c0c8 62%,#292e34); transform:rotate(-31deg); box-shadow:0 18px 30px rgba(0,0,0,.45); }
.home-hero-stick::after { content:""; position:absolute; right:-42px; top:-8px; width:58px; height:29px; border-radius:4px 18px 18px 4px; background:#1c2229; transform:skewX(-18deg); }
.home-hero-ball { position:absolute; width:68px; height:68px; left:38%; top:62%; border-radius:50%; background:radial-gradient(circle at 32% 27%,#ffae72 0 8%,#f36a21 43%,#9f350b 100%); box-shadow:0 16px 32px rgba(0,0,0,.52); }

.home-next-game { position:absolute; z-index:3; left:50px; right:50px; bottom:24px; display:grid; grid-template-columns:145px 1fr; min-height:76px; background:rgba(6,10,15,.92); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(6px); }
.home-next-game-label { display:flex; align-items:center; justify-content:center; background:linear-gradient(180deg,#277fd8,#1459a7); text-transform:uppercase; font-size:.75rem; font-weight:900; letter-spacing:.07em; }
.home-next-game-content { min-width:0; }
.home-next-matchup { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto; align-items:center; gap:16px; height:100%; padding:10px 20px; }
.home-next-team { display:flex; align-items:center; gap:10px; min-width:0; font-weight:850; }
.home-next-team:last-of-type { justify-content:flex-end; text-align:right; }
.home-next-team img { width:38px; height:38px; object-fit:contain; flex:0 0 38px; }
.home-next-team span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-next-versus { color:var(--home-orange); font-size:.78rem; font-weight:950; }
.home-next-meta { padding-left:18px; border-left:1px solid var(--home-border); color:#dbe2ea; font-size:.78rem; line-height:1.5; white-space:nowrap; text-align:right; }

.home-announcement { display:flex; align-items:center; gap:16px; min-height:50px; margin:16px 0; padding:0 18px; background:#0b1016; border:1px solid var(--home-border); }
.home-announcement-label { padding:8px 13px; background:var(--home-orange); color:#fff; text-transform:uppercase; font-size:.68rem; font-weight:950; letter-spacing:.07em; }
.home-announcement p { margin:0; color:#dce4ec; font-size:.9rem; }


.home-content-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr); gap:16px; }
.home-main-column,.home-side-column { display:grid; align-content:start; gap:16px; min-width:0; }
.home-panel { min-width:0; overflow:hidden; background:linear-gradient(180deg,#151c24,#10161d); border:1px solid var(--home-border); }
.home-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:72px; padding:0 22px; border-bottom:1px solid rgba(255,255,255,.09); }
.home-panel-heading h2 { margin:0; color:#fff; text-transform:uppercase; font-size:1.08rem; letter-spacing:.025em; }
.home-panel-footer-link { display:block; padding:16px; border-top:1px solid rgba(255,255,255,.09); color:var(--home-blue-bright); text-align:center; text-decoration:none; text-transform:uppercase; font-size:.72rem; font-weight:900; letter-spacing:.04em; }
.home-round-button { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid rgba(255,255,255,.16); border-radius:50%; background:#0e141b; color:#fff; font-size:1.25rem; cursor:pointer; }
.home-empty-state { padding:28px 18px; color:var(--home-muted); text-align:center; }

.home-news-controls,.home-standings-controls { display:flex; align-items:center; gap:9px; }
.home-news-dots,.home-standings-dots { display:flex; gap:7px; }
.home-news-dot,.home-standings-dot { width:8px; height:8px; padding:0; border:0; border-radius:50%; background:#56616d; cursor:pointer; }
.home-news-dot.is-active,.home-standings-dot.is-active { background:var(--home-blue-bright); }
.home-news-list { min-height:360px; }
.home-news-article { display:none; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); min-height:360px; }
.home-news-article.is-active { display:grid; }
.home-news-image { width:100%; height:100%; min-height:360px; object-fit:cover; background:#0b1118; }
.home-news-image-placeholder { background:radial-gradient(circle at 50% 45%,rgba(31,114,202,.28),transparent 28%),linear-gradient(135deg,#182431,#0a1017); }
.home-news-image-placeholder::after { content:"GSBHL"; display:flex; align-items:center; justify-content:center; height:100%; color:rgba(255,255,255,.12); font-size:4rem; font-weight:950; letter-spacing:-.07em; }
.home-news-article-content { display:flex; flex-direction:column; justify-content:center; padding:34px; }
.home-news-article-content h3 { margin:0; font-size:clamp(1.55rem,3vw,2.5rem); line-height:1.05; text-transform:uppercase; }
.home-news-date { margin:12px 0 20px !important; color:var(--home-blue-bright) !important; text-transform:uppercase; font-size:.7rem !important; font-weight:850; letter-spacing:.06em; }
.home-news-body { color:#cad3dd; line-height:1.72; }
.home-news-body p { margin:0 0 14px; }

.home-standings-heading > div:first-child { display:grid; gap:2px; }
.home-standings-division-label { color:var(--home-blue-bright); font-size:.72rem; font-weight:850; text-transform:uppercase; }
.home-standings-list { padding:10px 22px 16px; }
.home-standing-header,.home-standing-row { display:grid; grid-template-columns:28px minmax(190px,1fr) repeat(5,48px); align-items:center; column-gap:8px; }
.home-standing-header { padding:11px 3px; color:#82909e; text-transform:uppercase; font-size:.66rem; font-weight:850; border-bottom:1px solid rgba(255,255,255,.1); }
.home-standing-row { min-height:58px; padding:4px 3px; border-bottom:1px solid rgba(255,255,255,.075); font-size:.82rem; }
.home-standing-row:last-child { border-bottom:0; }
.home-standing-rank,.home-standing-stat { text-align:center; font-variant-numeric:tabular-nums; }
.home-standing-rank { color:#7f8c99; font-weight:850; }
.home-standing-team { display:flex; align-items:center; gap:12px; min-width:0; font-weight:850; }
.home-standing-team img { width:34px; height:34px; object-fit:contain; flex:0 0 34px; }
.home-standing-team span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-standing-points { color:var(--home-blue-bright); font-weight:950; }

.home-game-list { padding:0 20px; }
.home-game-item { display:block; padding:18px 0; color:inherit; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.09); }
.home-game-item:last-child { border-bottom:0; }
.home-game-meta { display:flex; justify-content:space-between; gap:12px; margin-bottom:13px; color:#f2f5f8; font-size:.72rem; font-weight:850; text-transform:uppercase; }
.home-game-location { color:var(--home-muted); text-align:right; }
.home-game-team { display:grid; grid-template-columns:31px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:34px; font-size:.84rem; font-weight:800; }
.home-game-team + .home-game-team { margin-top:7px; }
.home-game-team img { width:30px; height:30px; object-fit:contain; }
.home-game-team span:nth-child(2) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-game-score { font-size:.95rem; font-weight:950; }

.home-hub-links { display:grid; }
.home-hub-links a { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:13px; min-height:78px; padding:0 20px; border-bottom:1px solid rgba(255,255,255,.08); color:#fff; text-decoration:none; }
.home-hub-links a:last-child { border-bottom:0; }
.home-hub-links a:hover { background:rgba(255,255,255,.035); }
.home-hub-icon { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid rgba(51,146,243,.55); color:var(--home-blue-bright); font-size:.68rem; font-weight:900; }
.home-hub-links strong,.home-hub-links small { display:block; }
.home-hub-links strong { font-size:.88rem; }
.home-hub-links small { margin-top:4px; color:var(--home-muted); font-size:.72rem; }
.home-hub-links b { color:var(--home-blue-bright); font-size:1.45rem; }
.home-cta-panel { padding:30px; background:linear-gradient(135deg,#1c69ba,#0c3d72); border:1px solid rgba(255,255,255,.15); }
.home-cta-panel span { text-transform:uppercase; font-size:.68rem; font-weight:900; letter-spacing:.09em; }
.home-cta-panel h2 { margin:10px 0; text-transform:uppercase; font-size:1.7rem; line-height:1; }
.home-cta-panel p { margin:0; color:#dce9f5; line-height:1.55; }
.home-cta-panel a { display:inline-flex; margin-top:20px; padding:11px 15px; background:#fff; color:#104f90; text-decoration:none; text-transform:uppercase; font-size:.7rem; font-weight:950; }

.home-login-modal { position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:18px; background:rgba(0,0,0,.72); }
.home-login-modal.is-open { display:flex; }
.home-login-card { position:relative; width:min(430px,100%); padding:30px; background:#151c24; border:1px solid var(--home-border); }
.home-login-card h2 { margin-top:0; }.home-login-card p { color:var(--home-muted); }
.home-login-card label { display:block; margin:14px 0 6px; font-size:.8rem; font-weight:800; }
.home-login-card input { width:100%; box-sizing:border-box; padding:12px; border:1px solid rgba(255,255,255,.18); background:#0c1218; color:#fff; }
.home-login-card form button { width:100%; margin-top:18px; padding:12px; border:0; background:var(--home-blue); color:#fff; font-weight:900; text-transform:uppercase; }
.home-modal-close { position:absolute; top:10px; right:12px; border:0; background:transparent; color:#fff; font-size:1.6rem; cursor:pointer; }

@media (max-width:1100px) {
    .home-main-nav { justify-content:flex-start; }
    .home-hero { grid-template-columns:1fr; }
    .home-hero-copy { padding:48px 38px 120px; }
    .home-hero-visual { position:absolute; inset:0 0 0 48%; opacity:.75; }
    .home-content-grid { grid-template-columns:1fr; }
    .home-side-column { grid-template-columns:1fr 1fr; }
    .home-cta-panel { grid-column:1 / -1; }
}
@media (max-width:760px) {
    .home-shell { width:min(100% - 18px,1380px); padding-top:10px; }
    .home-hero { min-height:520px; }
    .home-hero-copy { padding:40px 24px 185px; }
    .home-hero-visual { inset:0; opacity:.36; }
    .home-next-game { left:14px; right:14px; bottom:14px; grid-template-columns:1fr; }
    .home-next-game-label { min-height:34px; }
    .home-next-matchup { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:9px; padding:12px; }
    .home-next-meta { grid-column:1 / -1; padding:9px 0 0; border-left:0; border-top:1px solid var(--home-border); text-align:center; }
    .home-next-team img { width:30px; height:30px; flex-basis:30px; }
    .home-announcement { align-items:flex-start; padding:12px; }
    .home-announcement p { padding-top:5px; font-size:.8rem; }
    .home-side-column { grid-template-columns:1fr; }
    .home-cta-panel { grid-column:auto; }
    .home-news-article,.home-news-article.is-active { grid-template-columns:1fr; }
    .home-news-image { min-height:220px; max-height:260px; }
    .home-news-article-content { padding:25px; }
    .home-standing-header,.home-standing-row { grid-template-columns:24px minmax(120px,1fr) repeat(5,34px); column-gap:4px; }
    .home-standings-list { padding-inline:12px; overflow-x:auto; }
    .home-panel-heading { padding:0 15px; }
}
@media (max-width:470px) {
    .home-hero h1 { font-size:2.75rem; }
    .home-standing-header,.home-standing-row { grid-template-columns:22px minmax(105px,1fr) repeat(3,32px); }
    .home-standing-header > :nth-child(4),.home-standing-row > :nth-child(4),.home-standing-header > :nth-child(6),.home-standing-row > :nth-child(6) { display:none; }
}


/* 2026 league front-page layout */
.home-front-page { padding-top:16px; }
.home-top-grid { display:block; }
.home-middle-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:16px; margin-top:16px; }
.home-featured-news .home-news-list { min-height:430px; }
.home-featured-news .home-news-article { min-height:430px; }
.home-featured-news .home-news-image { min-height:430px; }
.home-leaders-list { padding:8px 20px; }
.home-leader-row { display:grid; grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:12px; min-height:70px; border-bottom:1px solid rgba(255,255,255,.08); color:#fff; text-decoration:none; }
.home-leader-row:last-child { border-bottom:0; }
.home-leader-row:hover { background:rgba(255,255,255,.025); }
.home-leader-rank { display:flex; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid rgba(51,146,243,.5); color:var(--home-blue-bright); font-weight:900; }
.home-leader-row strong,.home-leader-row small { display:block; }
.home-leader-row strong { font-size:.9rem; }
.home-leader-row small { margin-top:4px; color:var(--home-muted); font-size:.7rem; }
.home-leader-row > b { color:var(--home-blue-bright); font-size:1.25rem; text-align:right; }
.home-leader-row > b small { color:var(--home-muted); font-size:.58rem; }
.home-goalie-leader { margin-top:5px; border-top:1px solid rgba(243,106,33,.35); }
.home-results-list { padding:0 20px; }
.home-result-item { display:block; padding:17px 0; border-bottom:1px solid rgba(255,255,255,.08); color:#fff; text-decoration:none; }
.home-result-item:last-child { border-bottom:0; }
.home-result-date { margin-bottom:9px; color:var(--home-muted); text-transform:uppercase; font-size:.66rem; font-weight:850; }
.home-result-item .home-game-team { min-height:30px; }
.home-result-item .home-game-score { color:var(--home-blue-bright); }
.home-player-spotlight { min-height:260px; }
.home-spotlight-card { display:grid; grid-template-columns:92px minmax(0,1fr); gap:22px; align-items:center; min-height:260px; padding:28px; color:#fff; text-decoration:none; background:radial-gradient(circle at 0 100%,rgba(31,114,202,.25),transparent 45%); }
.home-spotlight-number { display:flex; align-items:center; justify-content:center; width:88px; height:88px; border-radius:50%; background:var(--home-blue); color:#fff; font-size:1.9rem; font-weight:950; }
.home-spotlight-label { color:var(--home-orange); text-transform:uppercase; font-size:.67rem; font-weight:900; letter-spacing:.06em; }
.home-spotlight-card h3 { margin:8px 0 4px; text-transform:uppercase; font-size:1.45rem; line-height:1; }
.home-spotlight-card p { margin:0; color:var(--home-muted); }
.home-spotlight-stats { display:flex; gap:18px; margin-top:22px; }
.home-spotlight-stats span { color:var(--home-muted); font-size:.65rem; }
.home-spotlight-stats b { display:block; color:#fff; font-size:1.25rem; }
@media (max-width:1050px) {
  .home-top-grid,.home-middle-grid { grid-template-columns:1fr; }
  .home-hub-panel { grid-column:1 / -1; }
}
@media (max-width:700px) {
  .home-hub-panel { grid-column:auto; }
  .home-featured-news .home-news-list,.home-featured-news .home-news-article,.home-featured-news .home-news-image { min-height:unset; }
}

/* Home page sponsor recognition */
.home-sponsors-section {
    margin-top: 18px;
    padding: 34px;
    border: 1px solid var(--home-border);
    background:
        linear-gradient(135deg, rgba(31,114,202,.12), transparent 42%),
        var(--home-panel);
}
.home-sponsors-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--home-border);
}
.home-sponsors-intro h2 {
    margin: 0 0 8px;
    color: var(--home-text);
    font-size: clamp(1.7rem, 3vw, 2.45rem);
    line-height: 1.05;
}
.home-sponsors-intro p {
    max-width: 760px;
    margin: 0;
    color: var(--home-muted);
    line-height: 1.65;
}
.home-sponsors-badge {
    flex: 0 0 auto;
    padding: 9px 13px;
    border: 1px solid rgba(51,146,243,.35);
    background: rgba(31,114,202,.14);
    color: #d7ebff;
    text-transform: uppercase;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .1em;
}
.home-featured-sponsor {
    display: grid;
    grid-template-columns: minmax(170px, 240px) minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    margin-top: 28px;
    padding: 28px;
    border: 1px solid rgba(243,106,33,.4);
    background: linear-gradient(115deg, rgba(243,106,33,.12), rgba(255,255,255,.025));
}
.home-sponsor-logo {
    display: grid;
    place-items: center;
    min-height: 112px;
    padding: 18px;
    border: 1px dashed rgba(255,255,255,.26);
    background: rgba(255,255,255,.035);
    color: #dce4ed;
    text-align: center;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .12em;
}
.home-sponsor-logo-featured { min-height: 138px; font-size: 1rem; }
.home-sponsor-tier,
.home-sponsor-level {
    color: var(--home-orange);
    text-transform: uppercase;
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .1em;
}
.home-sponsor-copy h3 {
    margin: 7px 0 8px;
    color: var(--home-text);
    font-size: 1.45rem;
}
.home-sponsor-copy p {
    margin: 0;
    color: var(--home-muted);
    line-height: 1.55;
}
.home-sponsor-link,
.home-sponsor-callout a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    background: var(--home-orange);
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .06em;
}
.home-sponsor-link:hover,
.home-sponsor-callout a:hover { filter: brightness(1.08); }
.home-sponsor-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}
.home-sponsor-card {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--home-border);
    background: var(--home-panel-soft);
    color: var(--home-text);
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.home-sponsor-card:hover {
    transform: translateY(-2px);
    border-color: rgba(51,146,243,.52);
    background: #1a2531;
}
.home-sponsor-card .home-sponsor-logo { min-height: 96px; }
.home-sponsor-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .95rem;
    font-weight: 850;
}
.home-sponsor-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 24px;
    padding: 22px 24px;
    border-left: 4px solid var(--home-blue-bright);
    background: rgba(31,114,202,.1);
}
.home-sponsor-callout h3 { margin: 0 0 5px; font-size: 1.12rem; }
.home-sponsor-callout p { margin: 0; color: var(--home-muted); line-height: 1.5; }

@media (max-width: 1000px) {
    .home-sponsor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-featured-sponsor { grid-template-columns: 190px minmax(0, 1fr); }
    .home-featured-sponsor .home-sponsor-link { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 680px) {
    .home-sponsors-section { padding: 22px 16px; }
    .home-sponsors-intro,
    .home-sponsor-callout { align-items: stretch; flex-direction: column; }
    .home-sponsors-badge { align-self: flex-start; }
    .home-featured-sponsor { grid-template-columns: 1fr; padding: 18px; }
    .home-featured-sponsor .home-sponsor-link { grid-column: auto; justify-self: stretch; }
    .home-sponsor-grid { grid-template-columns: 1fr; }
    .home-sponsor-callout a { width: 100%; }
}


/* Editable sponsor slider */
.home-sponsor-slider { position:relative; margin-top:28px; padding:0 54px; }
#homeFeaturedSponsor { min-height:210px; }
.home-featured-sponsor { color:var(--home-text); text-decoration:none; }
.home-featured-sponsor:hover { border-color:rgba(243,106,33,.8); }
.home-sponsor-logo img { width:100%; height:100%; max-height:138px; object-fit:contain; display:block; }
.home-sponsor-card .home-sponsor-logo img { max-height:96px; }
.home-sponsor-arrow { position:absolute; top:50%; z-index:2; transform:translateY(-50%); width:38px; height:52px; border:1px solid var(--home-border); background:#111923; color:#fff; font-size:1.8rem; cursor:pointer; }
.home-sponsor-arrow:hover { background:var(--home-blue); }
.home-sponsor-prev { left:0; }.home-sponsor-next { right:0; }
.home-sponsor-dots { display:flex; justify-content:center; gap:8px; margin:14px 0 2px; }
.home-sponsor-dot { width:9px; height:9px; padding:0; border:0; border-radius:50%; background:#51606f; cursor:pointer; }
.home-sponsor-dot.is-active { background:var(--home-orange); }
.home-sponsor-visit { display:inline-block; margin-top:14px; color:var(--home-orange); font-size:.74rem; font-weight:900; text-transform:uppercase; }
.home-sponsor-empty { display:grid; place-items:center; min-height:190px; padding:24px; border:1px dashed var(--home-border); color:var(--home-muted); text-align:center; }
.home-sponsor-card { text-align:center; }
.home-sponsor-card .home-sponsor-name { white-space:normal; }
@media(max-width:680px){.home-sponsor-slider{padding:0 38px}.home-sponsor-arrow{width:30px}.home-featured-sponsor{display:grid}.home-sponsor-copy{text-align:center}}

/* Borderless continuous sponsor logo carousel */
.home-sponsor-logo {
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
}
.home-sponsor-logo-featured {
    min-height: 138px;
    padding: 10px;
}
.home-featured-sponsor .home-sponsor-logo {
    border: 0;
    background: transparent;
}
.home-sponsor-marquee {
    position: relative;
    overflow: hidden;
    margin-top: 26px;
    padding: 18px 0;
    border: 0;
    background: transparent;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}
.home-sponsor-marquee-track {
    display: flex;
    width: max-content;
    animation: homeSponsorMarquee 32s linear infinite;
    will-change: transform;
}
.home-sponsor-marquee:hover .home-sponsor-marquee-track,
.home-sponsor-marquee:focus-within .home-sponsor-marquee-track {
    animation-play-state: paused;
}
.home-sponsor-marquee-group {
    display: flex;
    align-items: center;
    gap: clamp(32px, 5vw, 76px);
    padding-right: clamp(32px, 5vw, 76px);
}
.home-sponsor-card {
    display: flex;
    flex: 0 0 clamp(150px, 18vw, 220px);
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 0;
    border: 0;
    background: transparent;
    color: var(--home-text);
    text-align: center;
    text-decoration: none;
    transition: opacity .2s ease, transform .2s ease;
}
.home-sponsor-card:hover,
.home-sponsor-card:focus-visible {
    transform: scale(1.045);
    border: 0;
    background: transparent;
    opacity: 1;
}
.home-sponsor-card .home-sponsor-logo {
    width: 100%;
    min-height: 82px;
    padding: 0;
    border: 0;
    background: transparent;
}
.home-sponsor-card .home-sponsor-logo img {
    width: 100%;
    height: 82px;
    max-height: 82px;
    object-fit: contain;
    display: block;
    transition: transform .2s ease, opacity .2s ease;
}
.home-sponsor-card:hover .home-sponsor-logo img,
.home-sponsor-card:focus-visible .home-sponsor-logo img {
    transform: scale(1.04);
}
.home-sponsor-card .home-sponsor-name {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
@keyframes homeSponsorMarquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
    .home-sponsor-marquee-track {
        animation: none;
        flex-wrap: wrap;
        width: 100%;
    }
    .home-sponsor-marquee-group {
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
    }
    .home-sponsor-marquee-group[aria-hidden="true"] { display: none; }
}
@media (max-width: 680px) {
    .home-sponsor-marquee { margin-top: 18px; padding: 12px 0; }
    .home-sponsor-card { flex-basis: 140px; }
    .home-sponsor-card .home-sponsor-logo,
    .home-sponsor-card .home-sponsor-logo img { height: 68px; min-height: 68px; max-height: 68px; }
}


/* Sponsor-only homepage carousel */
.home-sponsors-section {
    padding-top: 30px;
    padding-bottom: 30px;
}
.home-sponsor-marquee {
    margin-top: 30px;
    padding: 24px 0;
}
.home-sponsor-marquee-track {
    animation-duration: 46s;
}
.home-sponsor-card {
    flex-basis: clamp(180px, 21vw, 270px);
}
.home-sponsor-card .home-sponsor-logo,
.home-sponsor-card .home-sponsor-logo img {
    height: 105px;
    min-height: 105px;
    max-height: 105px;
}
.home-sponsor-empty {
    margin-top: 24px;
}
@media (max-width: 680px) {
    .home-sponsor-card { flex-basis: 155px; }
    .home-sponsor-card .home-sponsor-logo,
    .home-sponsor-card .home-sponsor-logo img {
        height: 76px;
        min-height: 76px;
        max-height: 76px;
    }
}

/* Compact homepage news previews */
.home-news-preview {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    line-clamp: 5;
}
.home-news-preview p { margin-bottom: 0; }
.home-news-read-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 42px;
    margin-top: 22px;
    padding: 0 18px;
    background: var(--home-blue);
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .06em;
}
.home-news-read-more:hover { filter: brightness(1.12); }
