.home-banner {
    background: linear-gradient(110deg, #e7f1fb, #f5f9fd);
    border-top: 4px solid #1a1a1a;
    padding: clamp(1.5rem, 5vw, 3.5rem);
}
.home-banner h1 {
    max-width: 20ch;
    font-size: clamp(2rem, 5vw, 3.3rem);
    letter-spacing: .035em;
}
.home-banner .home-title,
.home-banner .intro { white-space: nowrap; }
.home-links {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    align-items: center;
}
.home-promo {
    margin-block: 1.25rem;
    padding: 1.25rem 1.5rem;
    border: 1px solid #b8d4ef;
    border-left: 5px solid #477fac;
    border-radius: .35rem;
    background: linear-gradient(110deg, #e7f1fb, #f5f9fd);
    box-shadow: 0 4px 16px rgb(40 80 120 / 8%);
}
.home-editorial { min-width: 0; padding: 1rem 0; }
.home-editorial [data-rotation-controls][hidden] { display: none; }
.home-rotation-controls { display: flex; align-items: center; gap: .25rem; }
.rotation-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #60758a;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease;
}
.rotation-control:hover { background: #eaf0f6; color: #173b61; }
.rotation-control:focus-visible { outline: 2px solid #477fac; outline-offset: 2px; }
.rotation-control svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rotation-control svg[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .rotation-control { transition: none; } }
.home-editorial-slide.is-collapsed .home-editorial-text {
    max-height: 30rem;
    overflow: hidden;
    mask-image: linear-gradient(to bottom, #000 85%, transparent);
}
.home-sidebar { display: grid; gap: 1.5rem; min-width: 0; }
.home-main { display: grid; gap: 1.5rem; min-width: 0; }
.home-free-picks-badge {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .4rem .65rem;
    border-radius: .4rem;
    background: #e7f1fb;
    color: #235783;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
    margin-inline-end: .5rem;
    vertical-align: middle;
}
.home-free-picks-badge svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.home-sponsored-pick + .home-sponsored-pick { border-top: 1px solid #e2e8ef; padding-top: 1rem; }
.home-content { white-space: pre-line; overflow-wrap: anywhere; }
.home-content > :last-child { margin-bottom: 0; }
.home-board {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr);
    gap: 1.5rem;
    margin-block: 2rem;
    align-items: start;
}
.home-board--single { grid-template-columns: minmax(0, 1fr); }
.home-board h2, .home-archive h2 { font-size: 1.15rem; letter-spacing: .06em; }
.home-board .table-responsive { margin-top: 1rem; }
.home-board .table { margin: 0; white-space: nowrap; }
.home-board th, .home-board td { text-align: left; }
.home-board .number { text-align: right; }
.home-board .form-select { width: auto; max-width: 100%; }
.sport-schedule {
    font-family: var(--bs-body-font-family);
    font-size: .72rem;
}
.sport-schedule :is(th, td) { white-space: normal; overflow-wrap: anywhere; letter-spacing: 0; }
.home-archive { border-top: 1px solid #dedede; padding-top: 1.5rem; }
.lux-specials .home-archive .sports a {
    color: #292929;
    border-color: #dedede;
    border-radius: 0;
}
@media (max-width: 52rem) {
    .home-board { grid-template-columns: minmax(0, 1fr); }
}
.home-leaderboard {
    --bs-table-hover-bg: #f0f0f0;
    table-layout: fixed;
    width: 100%;
    font-size: .72rem;
}
.home-leaderboard-wrap { margin-top: 1rem; min-width: 0; }
.home-leaderboard th:first-child { width: 9%; }
.home-leaderboard th:nth-child(2) { width: 28%; }
.home-leaderboard th:nth-child(3) { width: 17%; }
.home-leaderboard th:nth-child(4),
.home-leaderboard th:nth-child(5) { width: 11%; }
.home-leaderboard th:nth-child(6) { width: 24%; }
.home-board .home-leaderboard :is(th, td) {
    padding-inline: .2rem;
    white-space: normal;
    overflow-wrap: anywhere;
    letter-spacing: 0;
}
#main .home-leaderboard a,
#main .sport-schedule tbody th[scope="row"],
.service-home-page #main tbody th[scope="row"],
.service-home-page #main tbody th[scope="row"] a {
    font-family: var(--bs-body-font-family);
    font-size: inherit;
    font-weight: 600;
    line-height: 1.25;
    text-transform: uppercase;
}
.home-pick-counts,
#main .home-pick-counts a { font-size: .78rem; }
.home-weekly-rankings,
#main .home-weekly-rankings a { font-size: .78rem; }
.home-weekly-rankings tbody th { white-space: normal; overflow-wrap: anywhere; }
.home-leaderboard tbody th[scope="row"] {
    white-space: normal;
    overflow-wrap: anywhere;
}

.home-page #main .btn,
.sport-home-page #main .home-banner .btn,
:is(.about-page, .login-page, .capper-account-page, .admin-page) #main .btn,
:is(.service-home-page, .leaderboard-page, .checkout-page, .subscriber-page, .specials-page, .special-packages-page) #main .btn {
    --bs-btn-color: #fff;
    --bs-btn-bg: #1a1a1a;
    --bs-btn-border-color: #1a1a1a;
    --bs-btn-hover-color: #1a1a1a;
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: #1a1a1a;
    --bs-btn-active-color: #1a1a1a;
    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: #1a1a1a;
    border: 1px solid #1a1a1a;
    text-decoration: none;
}
.home-page #main .btn:hover,
.home-page #main .btn:focus-visible,
.sport-home-page #main .home-banner .btn:hover,
.sport-home-page #main .home-banner .btn:focus-visible,
:is(.about-page, .login-page, .capper-account-page, .admin-page) #main .btn:hover,
:is(.about-page, .login-page, .capper-account-page, .admin-page) #main .btn:focus-visible,
:is(.service-home-page, .leaderboard-page, .checkout-page, .subscriber-page, .specials-page, .special-packages-page) #main .btn:hover,
:is(.service-home-page, .leaderboard-page, .checkout-page, .subscriber-page, .specials-page, .special-packages-page) #main .btn:focus-visible { border-color: #1a1a1a; }
.home-page .home-editorial {
    padding: 0;
    border: 1px solid #cbd9e7;
    border-radius: .55rem;
    background: #fff;
    box-shadow: 0 8px 26px rgb(23 59 97 / 10%);
    overflow: hidden;
}
.home-editorial-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .65rem 1.1rem;
    background: #173b61;
    color: #fff;
}
.home-editorial-label { margin: 0; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.home-page .home-editorial .rotation-control { color: #fff; }
.home-page .home-editorial .rotation-control:hover { color: #fff; background: rgb(255 255 255 / 14%); }
.home-page .home-editorial .rotation-control:focus-visible { outline-color: #fff; }
.home-page .account-table thead th,
:is(.sport-home-page, .service-home-page, .leaderboard-page, .checkout-page, .subscriber-page, .special-packages-page, .capper-account-page, .admin-page) table thead :is(th, td) {
    --bs-table-bg: #173b61;
    --bs-table-color: #fff;
    --bs-table-hover-color: #fff;
}
.home-page .home-editorial-slide { padding: 1.4rem; }
.home-page .home-editorial-slide > h2 {
    display: inline-block;
    margin-bottom: 1rem;
    padding: .4rem .65rem;
    background: #e7f1fb;
    border-left: 3px solid #477fac;
    color: #173b61;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .05em;
}
.home-page .home-editorial-text { line-height: 1.7; }
body:is(.home-page, .sport-home-page, .service-home-page, .leaderboard-page, .specials-page, .special-packages-page, .about-page, .login-page, .subscriber-page, .capper-account-page, .admin-page) { background: #f3f6fa; }
:is(.home-page, .sport-home-page, .service-home-page, .leaderboard-page, .specials-page, .special-packages-page, .about-page, .login-page, .subscriber-page, .capper-account-page, .admin-page) .home-banner {
    background: #fff;
    border: 1px solid #cbd9e7;
    border-top: 4px solid #1a1a1a;
    border-radius: .55rem;
    box-shadow: 0 8px 26px rgb(23 59 97 / 10%);
}
:is(.home-page, .sport-home-page, .service-home-page, .leaderboard-page, .specials-page, .special-packages-page) .home-board .card,
:is(.about-page, .login-page, .subscriber-page, .capper-account-page, .admin-page) .home-board .card,
.service-home-page .service-pick-panel {
    border: 1px solid #cbd9e7;
    border-radius: .55rem;
    background: #fff;
    box-shadow: 0 8px 26px rgb(23 59 97 / 10%);
    overflow: hidden;
}
.service-home-page .service-heading { padding: clamp(1.25rem, 3vw, 2rem); }
.specials-page .home-banner h1 { max-width: none; font-size: clamp(1.4rem, 3vw, 2rem); }
.specials-page .offers .card-footer { background: #f3f6fa; border-top-color: #cbd9e7; }
.leaderboard-heading, :is(.about-page, .login-page, .subscriber-page, .capper-account-page, .admin-page) .home-banner { padding: clamp(1.25rem, 3vw, 2rem); }
.leaderboard-heading h1, :is(.about-page, .login-page, .subscriber-page, .capper-account-page, .admin-page) .home-banner h1 { max-width: none; font-size: clamp(1.4rem, 3vw, 2rem); }
.leaderboard-page .home-board .table,
.capper-account-page .home-board .table,
.admin-page .home-board .table,
:is(.checkout-page, .subscriber-page, .special-packages-page) .account-table {
    font-family: var(--bs-body-font-family);
    font-size: .72rem;
    --bs-table-hover-bg: #edf0f3;
}
.leaderboard-page .home-board .table :is(th, td):not([scope="row"]) { text-align: right; }
.leaderboard-page .home-board .table :is(.overall-rankings th:nth-child(2), .service-record th:first-child) { text-align: left; }
.leaderboard-page .home-board .graded-picks :is(th, td):nth-child(-n+3),
.leaderboard-page.posted-picks-page .home-board .graded-picks :is(th, td) { text-align: left; }
.leaderboard-page #main .table tbody th[scope="row"],
.leaderboard-page #main .table tbody th[scope="row"] a,
.capper-account-page #main .table tbody th[scope="row"],
.admin-page #main .table tbody th[scope="row"],
:is(.checkout-page, .subscriber-page, .special-packages-page) #main .account-table tbody th[scope="row"],
.special-packages-page #main .account-table tbody th[scope="row"] a {
    --bs-table-hover-bg: #edf0f3;
    font-family: var(--bs-body-font-family);
    font-size: inherit;
    font-weight: 600;
    line-height: 1.25;
    text-transform: uppercase;
    white-space: normal;
    overflow-wrap: anywhere;
}
.service-home-page .service-home-sections { grid-template-columns: minmax(0, 1fr); }
.service-home-page .home-board table {
    font-family: var(--bs-body-font-family);
    font-size: .72rem;
}
.service-home-page .home-board :is(.service-record, .plan-prices):not(.graded-picks) :is(th, td):not(:first-child),
.service-home-page .home-board .graded-picks :is(th, td):nth-child(n+4) { text-align: right; }
:is(.home-page, .sport-home-page) .home-promo {
    background: #fff;
    border-color: #d5dbe1;
    box-shadow: 0 8px 26px rgb(23 59 97 / 10%);
}

:is(.subscriber-page, .capper-account-page, .admin-page) .home-board .table { white-space: normal; }
.subscriber-page .home-board form:not([method="get"]) .form-select,
.capper-account-page .home-board #pick-editor .form-select { width: 100%; }
.subscriber-page .home-board .account-table tbody th[scope="row"] a { font: inherit; }

.admin-page #main .btn { border-radius: 50rem; }
