/* site palette */
html:root {
    --bg: #FFFFFF;
    --surface: #F4F8F6;
    --surface-alt: #D8F5E7;
    --text: #14221B;
    --text-muted: #556D61;
    --border: #D8E4DE;
    --primary: #12884E;
    --primary-hover: #0E683C;
    --on-primary: #FFFFFF;
    --primary-text: #107644;
    --accent: #F8A4D6;
    --on-accent: #111111;
    --accent-text: #D51085;
    --dark-band: #0D6439;
    --on-dark: #FFFFFF;
    --on-dark-muted: #C7D1CC;
    --brand-btn-bg: #FFFFFF;
    --brand-btn-text: #0D6439;
    --section-alt-bg: #D8F5E7;
    --dark-band-bg: #0D6439;
    --brand-band-bg: #12884E;
    --hero-bg: #0D6439;
}

html:root {
    --bs-primary: #12884E;
    --bs-primary-rgb: 18, 136, 78;
    --bs-link-color: #107644;
    --bs-link-color-rgb: 16, 118, 68;
    --bs-link-hover-color: #0E683C;
    --mdb-primary: #12884E;
    --mdb-primary-rgb: 18, 136, 78;
}

.btn-primary {
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-color: var(--on-primary);
    --bs-btn-hover-bg: var(--primary-hover);
    --bs-btn-hover-border-color: var(--primary-hover);
    --bs-btn-hover-color: var(--on-primary);
    --bs-btn-active-bg: var(--primary-hover);
    --bs-btn-active-border-color: var(--primary-hover);
    --bs-btn-active-color: var(--on-primary);
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--on-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
}

.btn-outline-primary {
    --bs-btn-color: var(--primary-text);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: var(--primary);
    --bs-btn-hover-border-color: var(--primary);
    --bs-btn-hover-color: var(--on-primary);
    color: var(--primary-text);
    border-color: var(--primary);
}

.btn-outline-primary:hover {
    background-color: var(--primary);
    color: var(--on-primary);
}

.text-primary,
.link-primary {
    color: var(--primary-text) !important;
}

.bg-primary,
.text-bg-primary,
.badge.bg-primary {
    color: var(--on-primary) !important;
}

/* /site palette */

body {
    font-family: 'Asap', sans-serif;
    background-color: var(--bg);
    color: var(--text);
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

*,
*:before,
*:after {
    box-sizing: border-box;
}

a {
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}

.text-muted {
    color: var(--text-muted) !important;
}

.qu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary);
    color: var(--on-primary);
    border-radius: 50rem;
    padding: 0.75rem 1.75rem;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    border: 2px solid transparent;
    transition: background-color 0.2s, color 0.2s;
}

.qu-btn:hover {
    background-color: var(--primary-hover);
    color: var(--on-primary);
}

.qu-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    color: var(--primary-text);
    border-radius: 50rem;
    padding: 0.75rem 1.75rem;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    border: 2px solid var(--primary);
    transition: background-color 0.2s, color 0.2s;
}

.qu-btn-alt:hover {
    background-color: var(--primary);
    color: var(--on-primary);
}

.qu-card {
    background-color: var(--surface);
    color: var(--text);
    border: var(--border);
    border-radius: 0;
    padding: 24px;
    display: flex;
    flex-direction: column;
    box-shadow: none;
    transition: transform 0.2s;
}

.qu-card .qu-btn {
    margin-top: auto;
}

.qu-media {
    aspect-ratio: 16/9;
    border-radius: 0;
    border: var(--border);
    overflow: hidden;
}

.qu-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.qu-eyebrow {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--primary);
    margin-bottom: 0.5rem;
    display: block;
}

.qu-title {
    font-weight: 800;
    text-transform: uppercase;
    color: var(--text);
    font-size: 2.25rem;
}

.qu-badge {
    display: inline-block;
    padding: 0.35rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    background-color: var(--surface-alt);
    color: var(--primary-text);
    border-radius: 50rem;
}

.qu-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--surface-alt);
    color: var(--primary);
    font-size: 1.25rem;
}

.qu-section {
    background-color: var(--bg);
    padding: 5rem 0;
}

.qu-section-alt {
    background-color: var(--section-alt-bg);
    padding: 5rem 0;
}

.qu-section-dark {
    background-color: var(--dark-band-bg);
    color: var(--on-dark);
    padding: 5rem 0;
}

.qu-section-dark h1,
.qu-section-dark h2,
.qu-section-dark h3,
.qu-section-dark h4,
.qu-section-dark h5,
.qu-section-dark h6,
.qu-section-dark p,
.qu-section-dark a {
    color: var(--on-dark);
}

.qu-section-dark .text-muted {
    color: var(--on-dark-muted) !important;
}

.qu-section-brand {
    background-color: var(--brand-band-bg);
    color: var(--on-primary);
    padding: 5rem 0;
}

.qu-section-brand .qu-btn {
    background-color: var(--brand-btn-bg);
    color: var(--brand-btn-text);
}

.qu-section-brand .qu-btn-alt {
    border-color: var(--on-primary);
    color: var(--on-primary);
}

.qu-on-dark {
    color: var(--on-dark);
}

/* site kit (fallback) */
.qu-section-dark .qu-card,
.qu-on-dark .qu-card {
    background: var(--surface);
    color: var(--text)
}

.qu-section-dark .qu-card h1,
.qu-section-dark .qu-card h2,
.qu-section-dark .qu-card h3,
.qu-section-dark .qu-card h4,
.qu-section-dark .qu-card .qu-title,
.qu-section-dark .qu-card a:not(.qu-btn):not(.qu-btn-alt),
.qu-on-dark .qu-card h1,
.qu-on-dark .qu-card h2,
.qu-on-dark .qu-card h3,
.qu-on-dark .qu-card h4,
.qu-on-dark .qu-card .qu-title,
.qu-on-dark .qu-card a:not(.qu-btn):not(.qu-btn-alt) {
    color: var(--text)
}

.qu-section-dark .qu-card p,
.qu-section-dark .qu-card .qu-eyebrow,
.qu-on-dark .qu-card p,
.qu-on-dark .qu-card .qu-eyebrow {
    color: var(--text-muted)
}

.qu-section-dark .qu-card .qu-btn-alt,
.qu-on-dark .qu-card .qu-btn-alt {
    color: var(--primary-text);
    border-color: var(--primary)
}


/* ===== hero ===== */
.qu-section-dark {
    background-color: var(--dark-band, #0D6439);
}

.text-accent {
    color: var(--accent, #F8A4D6) !important;
}

.qu-on-dark .text-on-dark-muted {
    color: var(--on-dark-muted, #C7D1CC);
}

.qu-btn {
    background-color: var(--primary, #12884E);
    border: none;
    color: var(--on-primary, #FFFFFF);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.qu-btn:hover {
    background-color: var(--primary-hover, #0E683C);
    transform: translateY(-2px);
    color: var(--on-primary, #FFFFFF);
}

.qu-btn-alt {
    border-color: var(--border, #D8E4DE);
    color: var(--on-dark, #FFFFFF);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.qu-btn-alt:hover {
    background-color: var(--on-dark, #FFFFFF);
    color: var(--dark-band, #0D6439);
}

.hero-badge-card {
    background-color: var(--surface, #F4F8F6) !important;
    border-color: var(--border, #D8E4DE) !important;
}

.hero-pattern-overlay {
    background-image: radial-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: 0.6;
    z-index: 1;
}

@media (max-width: 767px) {
    .qu-section.py-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

/* ===== matches_grid ===== */
.block-matches-grid .qu-card {
    border-radius: 0px;
    border-color: var(--border) !important;
    background-color: var(--surface);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.block-matches-grid .qu-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.block-matches-grid .qu-btn {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--on-primary) !important;
}

.block-matches-grid .qu-btn:hover {
    background-color: var(--primary-hover) !important;
    border-color: var(--primary-hover) !important;
}

.block-matches-grid h3 a {
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .block-matches-grid .row>div {
        margin-bottom: 1rem;
    }
}

/* ===== teams_grid ===== */
#teams-grid-block .qu-card {
    transition: transform 0.3s ease, border-color 0.3s ease;
    border: 1px solid var(--border) !important;
}

#teams-grid-block .qu-card:hover {
    border-color: var(--primary) !important;
    transform: translateY(-4px);
}

#teams-grid-block .qu-btn {
    background-color: var(--primary);
    transition: background-color 0.3s ease;
}

#teams-grid-block .qu-btn:hover {
    background-color: var(--primary-hover);
}

@media (max-width: 767px) {
    #teams-grid-block .row>div {
        margin-bottom: 1.5rem;
    }
}

/* ===== news_grid ===== */
.news-grid-block .qu-blog-card {
    border: 1px solid var(--border);
    background-color: var(--surface);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.news-grid-block .qu-blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

.news-grid-block .qu-btn-link {
    color: var(--primary);
}

.news-grid-block .qu-btn-link:hover {
    color: var(--primary-hover);
}

.news-grid-block .qu-badge {
    background-color: var(--primary);
    color: var(--on-primary);
    font-size: 0.75rem;
    padding: 0.35rem 0.65rem;
    border-radius: 4px;
    text-transform: uppercase;
    font-weight: 700;
}

@media (max-width: 767px) {
    .news-grid-block .row>div {
        margin-bottom: 1.5rem;
    }
}

/* ===== guide_grid ===== */
#guide-grid-block .qu-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border-color: var(--border) !important;
}

#guide-grid-block .qu-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05) !important;
}

#guide-grid-block .qu-btn-alt {
    background-color: transparent;
    border-color: var(--primary);
    color: var(--primary);
    transition: background-color 0.2s ease, color 0.2s ease;
}

#guide-grid-block .qu-btn-alt:hover {
    background-color: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
}

@media (max-width: 767px) {
    #guide-grid-block .row>div {
        margin-bottom: 1.5rem;
    }
}

/* ===== numbers_block ===== */
.numbers-block .qu-card {
    border: 1px solid var(--border);
    transition: transform 0.3s ease;
}

.numbers-block .qu-card:hover {
    transform: translateY(-5px);
}

@media (max-width: 767px) {
    .numbers-block .row>div {
        margin-bottom: 1.5rem;
    }
}

/* ===== consultation_block ===== */
.nba-consultation-section {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.nba-consultation-section .nba-consultation-panel {
    background-color: var(--surface);
    border: 1px solid var(--border);
}

.nba-consultation-section .qu-eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--primary-text);
}

.nba-consultation-section .qu-title {
    font-size: 2rem;
    font-weight: 800;
    color: var(--text);
    line-height: 1.25;
}

.nba-consultation-section .qu-title span {
    color: var(--primary);
}

.nba-consultation-section .nba-consultation-desc {
    color: var(--text-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.nba-consultation-section .nba-slots-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text);
}

.nba-consultation-section .nba-slot-pill {
    background-color: var(--bg);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 50px;
    padding: 0.5rem 1.15rem;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
}

.nba-consultation-section .nba-slot-pill:hover {
    border-color: var(--primary);
    color: var(--primary-text);
}

.nba-consultation-section .nba-slot-pill.is-active {
    background-color: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
}

.nba-consultation-section .qu-btn {
    border-radius: 50px;
    padding: 0.75rem 1.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.875rem;
    background-color: var(--primary);
    color: var(--on-primary);
    border: 1px solid var(--primary);
    text-decoration: none;
    transition: all 0.25s ease;
}

.nba-consultation-section .qu-btn:hover {
    background-color: var(--accent);
    color: var(--on-accent);
    border-color: var(--accent);
}

.nba-consultation-section .nba-consultation-selected-text {
    font-size: 0.9rem;
    color: var(--primary-text);
}

.nba-consultation-section .nba-consultation-card {
    background-color: var(--bg);
    border: 1px solid var(--border);
    height: 100%;
}

.nba-consultation-section .nba-consultation-card-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.nba-consultation-section .nba-consultation-checklist li {
    font-size: 0.925rem;
    color: var(--text);
    line-height: 1.4;
}

.nba-consultation-section .nba-check-icon {
    color: var(--primary);
    font-size: 0.85rem;
    margin-top: 0.2rem;
}

.nba-consultation-section .nba-direct-box {
    background-color: var(--surface-alt);
    border-left: 3px solid var(--primary);
}

.nba-consultation-section .nba-direct-label {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
}

.nba-consultation-section .nba-direct-number {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--primary-text);
    text-decoration: none;
    word-break: break-all;
    transition: color 0.2s ease;
}

.nba-consultation-section .nba-direct-number:hover {
    color: var(--primary-hover);
}

@media (max-width: 767px) {
    .nba-consultation-section {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    .nba-consultation-section .qu-title {
        font-size: 1.5rem;
        hyphens: auto;
    }

    .nba-consultation-section .qu-btn {
        width: 100%;
    }
}

/* ===== requirements_block ===== */
.req-block .qu-title span {
    color: var(--primary);
}

.req-block .req-intro {
    color: var(--text-muted);
    font-size: 1.05rem;
    line-height: 1.6;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

.req-block .req-card {
    background-color: var(--surface);
    border: 1px solid var(--border);
    padding: 1.75rem;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.req-block .req-card:hover {
    border-color: var(--primary);
    transform: translateY(-3px);
}

.req-block .req-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border: 1px solid var(--primary);
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    background-color: var(--bg);
}

.req-block .req-card-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.3;
}

.req-block .req-card-desc {
    color: var(--text-muted);
    font-size: 0.92rem;
    line-height: 1.55;
}

.req-block .req-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 1.25rem;
}

.req-block .req-list li {
    font-size: 0.88rem;
    color: var(--text);
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
}

.req-block .req-list li i {
    color: var(--primary);
    font-size: 0.75rem;
}

.req-block .req-action-link {
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.65rem 1rem;
}

.req-block .req-cta-banner {
    background-color: var(--bg);
    border: 2px dashed var(--primary);
}

.req-block .req-banner-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text);
}

.req-block .req-banner-text {
    font-size: 0.95rem;
    color: var(--text-muted);
}

@media (max-width: 767px) {
    .req-block .js-req-grid .col-12 {
        width: 100%;
    }

    .req-block .req-card {
        padding: 1.25rem;
    }

    .req-block .req-banner-title {
        font-size: 1.05rem;
    }

    .req-block .qu-title {
        font-size: 1.5rem;
    }
}

/* ===== inaction_cost_block ===== */
.inaction-cost-block {
    background-color: var(--primary, #12884E);
    color: var(--on-primary, #FFFFFF);
}

.inaction-cost-block .qu-title {
    font-family: 'Asap', sans-serif;
    font-size: 2.1rem;
    line-height: 1.25;
}

.inaction-cost-block .qu-eyebrow {
    letter-spacing: 2px;
    font-size: 0.82rem;
    color: var(--accent, #F8A4D6);
}

.inaction-cost-block .scenario-toggle-wrapper {
    background: #ffffff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.inaction-cost-block .scenario-tab-btn {
    color: var(--text-muted, #556D61);
    background: transparent;
    font-size: 0.88rem;
    letter-spacing: 0.5px;
    transition: all 0.25s ease;
}

.inaction-cost-block .scenario-tab-btn.active {
    background-color: var(--primary, #12884E);
    color: #ffffff;
}

.inaction-cost-block .qu-card {
    border: 1px solid var(--border, #D8E4DE);
    border-radius: 0;
    box-shadow: none;
}

.inaction-cost-block .scenario-card-title,
.inaction-cost-block .timeline-title {
    font-family: 'Asap', sans-serif;
    font-size: 1.25rem;
    color: var(--text, #14221B);
}

.inaction-cost-block .scenario-card-desc,
.inaction-cost-block .step-text {
    color: var(--text-muted, #556D61);
    line-height: 1.5;
}

.inaction-cost-block .qu-badge {
    background-color: rgba(220, 53, 69, 0.12);
    color: #dc3545;
    font-size: 0.72rem;
    letter-spacing: 0.8px;
    border-radius: 4px;
}

.inaction-cost-block .qu-badge.badge-success-theme {
    background-color: rgba(18, 136, 78, 0.12);
    color: var(--primary, #12884E);
}

.inaction-cost-block .time-counter {
    color: #dc3545;
    letter-spacing: -0.5px;
}

.inaction-cost-block .time-counter.counter-success {
    color: var(--primary, #12884E);
}

.inaction-cost-block .metric-item {
    font-size: 0.9rem;
    border-color: var(--border, #D8E4DE) !important;
}

.inaction-cost-block .metric-label {
    color: var(--text-muted, #556D61);
}

.inaction-cost-block .metric-value {
    color: var(--text, #14221B);
}

.inaction-cost-block .qu-btn {
    background-color: var(--primary, #12884E);
    color: #ffffff;
    border-radius: 50px;
    border: 1px solid transparent;
    transition: all 0.25s ease;
}

.inaction-cost-block .qu-btn:hover {
    background-color: var(--accent, #F8A4D6);
    color: #111111;
}

.inaction-cost-block .qu-btn-alt {
    background-color: var(--surface, #F4F8F6);
    color: var(--primary-text, #107644);
    border: 1px solid var(--border, #D8E4DE);
    transition: all 0.25s ease;
}

.inaction-cost-block .qu-btn-alt:hover {
    background-color: var(--primary, #12884E);
    color: #ffffff;
}

.inaction-cost-block .step-icon {
    width: 32px;
    height: 32px;
    font-size: 0.85rem;
    flex-shrink: 0;
}

.inaction-cost-block .step-icon.icon-success {
    background-color: var(--primary, #12884E) !important;
}

.inaction-cost-block .timeline-step {
    border: 1px solid var(--border, #D8E4DE) !important;
    background-color: var(--surface, #F4F8F6);
}

.inaction-cost-block .step-heading {
    font-size: 0.95rem;
    color: var(--text, #14221B);
}

@media (max-width: 767.98px) {
    .inaction-cost-block .qu-title {
        font-size: 1.35rem !important;
        hyphens: auto;
    }

    .inaction-cost-block .scenario-card-title,
    .inaction-cost-block .timeline-title {
        font-size: 1.1rem !important;
    }

    .inaction-cost-block .scenario-tab-btn {
        font-size: 0.78rem;
        padding: 8px 14px !important;
    }

    .inaction-cost-block .metric-item {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 4px;
    }

    .inaction-cost-block .step-duration {
        margin-top: 4px;
    }
}

/* ===== footer ===== */
.nba-footer {
    background-color: var(--dark-band, #0D6439);
    color: var(--on-dark, #FFFFFF);
    padding-top: 3.5rem;
    padding-bottom: 1.5rem;
    position: relative;
    overflow: hidden;
}

.nba-footer__pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1.5px, transparent 1.5px);
    background-size: 24px 24px;
    pointer-events: none;
    opacity: 0.6;
}

.nba-footer__logo {
    max-width: 48px;
    height: auto;
    object-fit: contain;
}

.nba-footer__brand {
    color: var(--on-dark, #FFFFFF);
    letter-spacing: 0.03em;
}

.nba-footer__desc {
    color: var(--on-dark-muted, #C7D1CC);
    font-size: 0.9rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.nba-footer__disclaimer-note {
    background-color: rgba(0, 0, 0, 0.2);
    border-left: 3px solid var(--accent, #F8A4D6);
    color: var(--on-dark-muted, #C7D1CC);
}

.nba-footer__col-title {
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--accent, #F8A4D6);
}

.nba-footer__list li,
.nba-footer__contact li {
    overflow-wrap: anywhere;
}

.nba-footer__link {
    color: var(--on-dark-muted, #C7D1CC);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s ease, transform 0.2s ease;
    display: inline-block;
}

.nba-footer__link:hover,
.nba-footer__link:focus {
    color: var(--accent, #F8A4D6);
    text-decoration: underline;
}

.nba-footer__contact-icon {
    color: var(--accent, #F8A4D6);
    font-size: 0.95rem;
    width: 16px;
}

.nba-footer__contact-text {
    color: var(--on-dark-muted, #C7D1CC);
    font-size: 0.9rem;
}

.nba-footer__top {
    border-color: rgba(255, 255, 255, 0.15) !important;
}

.nba-footer__copy {
    color: var(--on-dark-muted, #C7D1CC);
}

.nba-footer__link-legal {
    color: var(--on-dark-muted, #C7D1CC);
    text-decoration: none;
    transition: color 0.2s ease;
}

.nba-footer__link-legal:hover,
.nba-footer__link-legal:focus {
    color: var(--accent, #F8A4D6);
    text-decoration: underline;
}

@media (max-width: 767px) {
    .nba-footer {
        padding-top: 2.5rem;
    }

    .nba-footer .col-6 {
        width: 100%;
        margin-bottom: 1.5rem;
    }

    .nba-footer__col-title {
        font-size: 0.85rem;
    }

    .nba-footer__link,
    .nba-footer__contact-text {
        font-size: 0.85rem;
    }
}

/* ===== PAGE: privacy ===== */
.policy-content { padding: 2rem 0; color: var(--text); } .policy-content h2 { font-size: 1.5rem; font-weight: 700; color: var(--primary); margin-top: 2rem; margin-bottom: 1rem; } .policy-content p { line-height: 1.7; margin-bottom: 1rem; color: var(--text); } .policy-content ul { margin-bottom: 1.5rem; padding-left: 1.5rem; } .policy-content li { margin-bottom: 0.5rem; line-height: 1.6; color: var(--text); } .policy-content strong { color: var(--primary-text); } @media (max-width: 767px) { .policy-content h2 { font-size: 1.2rem; } .policy-content p, .policy-content li { font-size: 0.95rem; } }

/* ===== PAGE: terms ===== */
.policy-content { padding: 2rem 0; color: var(--text); } .policy-content h2 { font-family: var(--font-family-heading); font-size: 1.5rem; font-weight: 700; color: var(--primary); margin-top: 2rem; margin-bottom: 1rem; } .policy-content h2:first-child { margin-top: 0; } .policy-content p { font-family: var(--font-family-body); font-size: 1rem; line-height: 1.6; color: var(--text-muted); margin-bottom: 1.25rem; } @media (max-width: 767px) { .policy-content h2 { font-size: 14px; } .policy-content p { font-size: 14px; } }

/* ===== PAGE: disclaimer ===== */
.policy-content { padding: 2rem 0; color: var(--text); font-family: var(--font_family_body); line-height: 1.6; } .policy-content h2 { font-size: 1.5rem; font-weight: 700; color: var(--primary); margin-top: 2rem; margin-bottom: 1rem; } .policy-content h2:first-child { margin-top: 0; } .policy-content p { margin-bottom: 1.25rem; color: var(--text); } @media (max-width: 768px) { .policy-content h2 { font-size: 1rem; hyphens: auto; } .policy-content p { font-size: 0.9rem; } }

/* ===== PAGE: about ===== */
.about-content-wrap { color: var(--text); } .border-dashed { border-style: dashed !important; } .qu-card { transition: transform 0.2s ease, box-shadow 0.2s ease; } .qu-card:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.05); } @media (max-width: 767px) { .about-content-wrap { padding: 0 10px; } }

/* ===== PAGE: matches ===== */
.qu-section { background-color: var(--bg); }.qu-card { transition: box-shadow 0.2s ease, transform 0.2s ease; border-color: var(--border) !important; }.qu-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08); transform: translateY(-2px); }.qu-media img { object-fit: cover; width: 100%; height: 100%; }@media (max-width: 767px) { .qu-card { flex-direction: column !important; text-align: center !important; } .qu-media { max-width: 100% !important; width: 100% !important; margin-bottom: 1rem; } }

/* ===== PAGE: teams ===== */
.qu-teams-section .qu-card { transition: transform 0.2s ease, border-color 0.2s ease; } .qu-teams-section .qu-card:hover { border-color: var(--primary) !important; } .qu-teams-section a { text-decoration: none; } @media (max-width: 767px) { .qu-teams-section .qu-media-row { flex-direction: column !important; } }

/* ===== PAGE: guide ===== */
.js-guide-section { overflow-x: hidden; } @media (max-width: 767px) { .js-guide-section .row { flex-direction: column; } }

/* ===== PAGE: news ===== */
.qu-section { background-color: var(--bg); } .qu-card { border-color: var(--border) !important; transition: transform 0.2s ease; } .qu-card:hover { transform: translateY(-4px); } .qu-btn { background-color: var(--primary); color: var(--on-primary); border-radius: 50rem; padding: 0.5rem 1.5rem; text-transform: uppercase; font-weight: 600; border: none; } .qu-btn:hover { background-color: var(--primary-hover); color: var(--on-primary); } .qu-eyebrow { font-size: 0.75rem; letter-spacing: 0.1em; color: var(--primary-text); font-weight: 700; } @media (max-width: 767px) { .qu-section { padding-left: 15px; padding-right: 15px; } }

/* ===== PAGE: contact ===== */
.contact-page-block .qu-card { border: 1px solid var(--border); background-color: var(--surface); border-radius: 0px; } .contact-page-block .qu-title { font-family: 'Asap', sans-serif; font-weight: 700; color: var(--text); } .contact-page-block .qu-eyebrow { font-size: 0.75rem; letter-spacing: 0.15em; font-weight: 700; color: var(--primary-text); } .contact-page-block .qu-btn { background-color: var(--primary); color: var(--on-primary); transition: background-color 0.2s ease; } .contact-page-block .qu-btn:hover { background-color: var(--accent); color: var(--on-accent); } @media (max-width: 767px) { .contact-page-block .row { flex-direction: column; } }

/* ===== PAGE TEMPLATE: matches ===== */
.qu-section-dark {
    background-color: var(--dark-band, #0D6439);
}

.text-accent {
    color: var(--accent, #F8A4D6) !important;
}

.qu-on-dark .text-on-dark-muted {
    color: var(--on-dark-muted, #C7D1CC);
}

.qu-btn {
    background-color: var(--primary, #12884E);
    border: none;
    color: var(--on-primary, #FFFFFF);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.qu-btn:hover {
    background-color: var(--primary-hover, #0E683C);
    transform: translateY(-2px);
    color: var(--on-primary, #FFFFFF);
}

.qu-btn-alt {
    border-color: var(--border, #D8E4DE);
    color: var(--on-dark, #FFFFFF);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.qu-btn-alt:hover {
    background-color: var(--on-dark, #FFFFFF);
    color: var(--dark-band, #0D6439);
}

.hero-badge-card {
    background-color: var(--surface, #F4F8F6) !important;
    border-color: var(--border, #D8E4DE) !important;
}

.hero-pattern-overlay {
    background-image: radial-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: 0.6;
    z-index: 1;
}

.match-detail-block {
    background-color: var(--bg, #FFFFFF);
}

.match-detail-block__inner {
    max-width: 900px;
    width: 100%;
}

.match-detail-block__toc {
    background-color: var(--surface, #F4F8F6);
    border-left: 4px solid var(--primary, #12884E);
}

.match-detail-block__chip {
    background-color: var(--bg, #FFFFFF);
    border: 1px solid var(--border, #D8E4DE);
    color: var(--text, #14221B);
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    font-size: 0.85rem;
}

.match-detail-block__chip:hover,
.match-detail-block__chip.active {
    background-color: var(--primary, #12884E);
    color: var(--on-primary, #FFFFFF);
    border-color: var(--primary, #12884E);
}

.match-detail-block__media-wrapper {
    padding: 0 10px 10px 0;
}

.match-detail-block__media-offset {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 100%;
    height: 100%;
    background-color: var(--surface-alt, #D8F5E7);
    border: 1px solid var(--primary, #12884E);
    z-index: 1;
}

.match-detail-block__media {
    z-index: 2;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid var(--border, #D8E4DE);
    background-color: var(--surface, #F4F8F6);
}

.match-detail-block__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.match-detail-block__content h2 {
    font-size: 1.75rem;
    color: var(--text, #14221B);
    line-height: 1.3;
}

.match-detail-block__content p {
    color: var(--text, #14221B);
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.match-detail-block__feature-list li {
    font-size: 1rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.match-detail-block .accordion-item {
    border-color: var(--border, #D8E4DE) !important;
    background-color: var(--bg, #FFFFFF);
}

.match-detail-block .accordion-button {
    background-color: var(--surface, #F4F8F6);
    color: var(--text, #14221B);
    box-shadow: none;
    font-size: 0.95rem;
}

.match-detail-block .accordion-button:not(.collapsed) {
    background-color: var(--surface-alt, #D8F5E7);
    color: var(--primary-text, #107644);
}

.match-detail-block .accordion-button::after {
    filter: brightness(0.2);
}

.match-detail-block__cta {
    background-color: var(--dark-band, #0D6439);
    border-color: var(--primary, #12884E) !important;
}

.match-detail-block__related-card {
    border-color: var(--border, #D8E4DE) !important;
    background-color: var(--surface, #F4F8F6);
}

.match-detail-block__related-media {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-bottom: 1px solid var(--border, #D8E4DE);
}

.match-detail-block__related-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.match-detail-block__related-card:hover .match-detail-block__related-media img {
    transform: scale(1.05);
}

.match-detail-block__newsletter {
    background-color: var(--dark-band, #0D6439);
    border: 2px solid var(--primary, #12884E) !important;
}

.match-detail-block__input {
    background-color: rgba(255, 255, 255, 0.9);
    color: var(--text, #14221B);
    border: 1px solid var(--border, #D8E4DE);
}

.match-detail-block__input::placeholder {
    color: var(--text-muted, #556D61);
    opacity: 0.9;
}

.match-detail-block__input:focus {
    background-color: #FFFFFF;
    color: var(--text, #14221B);
    border-color: var(--accent, #F8A4D6);
    box-shadow: none;
}

.nba-footer {
    background-color: var(--dark-band, #0D6439);
    color: var(--on-dark, #FFFFFF);
    padding-top: 3.5rem;
    padding-bottom: 1.5rem;
    position: relative;
    overflow: hidden;
}

.nba-footer__pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1.5px, transparent 1.5px);
    background-size: 24px 24px;
    pointer-events: none;
    opacity: 0.6;
}

.nba-footer__logo {
    max-width: 48px;
    height: auto;
    object-fit: contain;
}

.nba-footer__brand {
    color: var(--on-dark, #FFFFFF);
    letter-spacing: 0.03em;
}

.nba-footer__desc {
    color: var(--on-dark-muted, #C7D1CC);
    font-size: 0.9rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.nba-footer__disclaimer-note {
    background-color: rgba(0, 0, 0, 0.2);
    border-left: 3px solid var(--accent, #F8A4D6);
    color: var(--on-dark-muted, #C7D1CC);
}

.nba-footer__col-title {
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--accent, #F8A4D6);
}

.nba-footer__list li,
.nba-footer__contact li {
    overflow-wrap: anywhere;
}

.nba-footer__link {
    color: var(--on-dark-muted, #C7D1CC);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s ease, transform 0.2s ease;
    display: inline-block;
}

.nba-footer__link:hover,
.nba-footer__link:focus {
    color: var(--accent, #F8A4D6);
    text-decoration: underline;
}

.nba-footer__contact-icon {
    color: var(--accent, #F8A4D6);
    font-size: 0.95rem;
    width: 16px;
}

.nba-footer__contact-text {
    color: var(--on-dark-muted, #C7D1CC);
    font-size: 0.9rem;
}

.nba-footer__top {
    border-color: rgba(255, 255, 255, 0.15) !important;
}

.nba-footer__copy {
    color: var(--on-dark-muted, #C7D1CC);
}

.nba-footer__link-legal {
    color: var(--on-dark-muted, #C7D1CC);
    text-decoration: none;
    transition: color 0.2s ease;
}

.nba-footer__link-legal:hover,
.nba-footer__link-legal:focus {
    color: var(--accent, #F8A4D6);
    text-decoration: underline;
}

@media (max-width: 767px) {
    .qu-section.py-5 {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }

    .display-3 {
        font-size: 1.85rem !important;
        line-height: 1.25 !important;
    }

    .match-detail-block__content h2 {
        font-size: 1.25rem;
    }

    .match-detail-block__media-wrapper {
        padding: 0 6px 6px 0;
    }

    .match-detail-block__media-offset {
        top: 6px;
        left: 6px;
    }

    .nba-footer {
        padding-top: 2.5rem;
    }

    .nba-footer .col-6 {
        width: 100%;
        margin-bottom: 1.5rem;
    }

    .nba-footer__col-title {
        font-size: 0.85rem;
    }

    .nba-footer__link,
    .nba-footer__contact-text {
        font-size: 0.85rem;
    }
}

/* ===== PAGE TEMPLATE: teams ===== */
.qu-section-dark {
    background-color: var(--dark-band, #0D6439);
}

.text-accent {
    color: var(--accent, #F8A4D6) !important;
}

.qu-on-dark .text-on-dark-muted {
    color: var(--on-dark-muted, #C7D1CC);
}

.qu-btn {
    background-color: var(--primary, #12884E);
    border: none;
    color: var(--on-primary, #FFFFFF);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.qu-btn:hover {
    background-color: var(--primary-hover, #0E683C);
    transform: translateY(-2px);
    color: var(--on-primary, #FFFFFF);
}

.qu-btn-alt {
    border-color: var(--primary, #12884E);
    color: var(--primary, #12884E);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.qu-btn-alt:hover {
    background-color: var(--primary, #12884E);
    color: var(--on-primary, #FFFFFF);
}

.hero-badge-card {
    background-color: var(--surface, #F4F8F6) !important;
    border-color: var(--border, #D8E4DE) !important;
}

.hero-pattern-overlay {
    background-image: radial-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: 0.6;
    z-index: 1;
}

.team-detail-wrapper {
    background-color: var(--bg, #FFFFFF);
}

.team-sticky-column {
    position: sticky;
    top: 2rem;
    border-color: var(--border, #D8E4DE) !important;
}

.team-toc-link {
    color: var(--text-muted, #556D61);
    transition: color 0.2s ease, transform 0.2s ease;
    display: inline-block;
}

.team-toc-link:hover {
    color: var(--primary, #12884E);
    transform: translateX(4px);
}

.team-sidebar-cta {
    border-color: var(--border, #D8E4DE) !important;
}

.team-cta-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    flex-shrink: 0;
}

.team-article-meta {
    border-color: var(--border, #D8E4DE) !important;
}

.team-article-main-image {
    aspect-ratio: 16 / 9;
    border-color: var(--border, #D8E4DE) !important;
    overflow: hidden;
}

.team-article-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.team-fact-tile {
    border-color: var(--border, #D8E4DE) !important;
}

.team-article-body p {
    line-height: 1.7;
    color: var(--text, #14221B);
    margin-bottom: 1.25rem;
    overflow-wrap: anywhere;
}

.team-feature-list li span {
    color: var(--text, #14221B);
    line-height: 1.5;
}

.accordion-item {
    border-color: var(--border, #D8E4DE) !important;
}

.accordion-button:not(.collapsed) {
    color: var(--primary-text, #107644);
    background-color: var(--surface-alt, #D8F5E7);
}

.team-related-media {
    aspect-ratio: 16 / 9;
    border-color: var(--border, #D8E4DE) !important;
}

.team-related-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.team-related-card {
    border-color: var(--border, #D8E4DE) !important;
}

.nba-footer {
    background-color: var(--dark-band, #0D6439);
    color: var(--on-dark, #FFFFFF);
    padding-top: 3.5rem;
    padding-bottom: 1.5rem;
    position: relative;
    overflow: hidden;
}

.nba-footer__pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1.5px, transparent 1.5px);
    background-size: 24px 24px;
    pointer-events: none;
    opacity: 0.6;
}

.nba-footer__logo {
    max-width: 48px;
    height: auto;
    object-fit: contain;
}

.nba-footer__brand {
    color: var(--on-dark, #FFFFFF);
    letter-spacing: 0.03em;
}

.nba-footer__desc {
    color: var(--on-dark-muted, #C7D1CC);
    font-size: 0.9rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.nba-footer__disclaimer-note {
    background-color: rgba(0, 0, 0, 0.2);
    border-left: 3px solid var(--accent, #F8A4D6);
    color: var(--on-dark-muted, #C7D1CC);
}

.nba-footer__col-title {
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--accent, #F8A4D6);
}

.nba-footer__list li,
.nba-footer__contact li {
    overflow-wrap: anywhere;
}

.nba-footer__link {
    color: var(--on-dark-muted, #C7D1CC);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s ease, transform 0.2s ease;
    display: inline-block;
}

.nba-footer__link:hover,
.nba-footer__link:focus {
    color: var(--accent, #F8A4D6);
    text-decoration: underline;
}

.nba-footer__contact-icon {
    color: var(--accent, #F8A4D6);
    font-size: 0.95rem;
    width: 16px;
}

.nba-footer__contact-text {
    color: var(--on-dark-muted, #C7D1CC);
    font-size: 0.9rem;
}

.nba-footer__top {
    border-color: rgba(255, 255, 255, 0.15) !important;
}

.nba-footer__copy {
    color: var(--on-dark-muted, #C7D1CC);
}

.nba-footer__link-legal {
    color: var(--on-dark-muted, #C7D1CC);
    text-decoration: none;
    transition: color 0.2s ease;
}

.nba-footer__link-legal:hover,
.nba-footer__link-legal:focus {
    color: var(--accent, #F8A4D6);
    text-decoration: underline;
}

@media (max-width: 991px) {
    .team-sticky-column {
        position: static;
        margin-bottom: 2rem;
    }
}

@media (max-width: 767px) {
    .qu-section.py-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    .nba-footer {
        padding-top: 2.5rem;
    }

    .nba-footer .col-6 {
        width: 100%;
        margin-bottom: 1.5rem;
    }

    .nba-footer__col-title {
        font-size: 0.85rem;
    }

    .nba-footer__link,
    .nba-footer__contact-text {
        font-size: 0.85rem;
    }
}

/* ===== PAGE TEMPLATE: guide ===== */
.guide-template-body {
    font-family: 'Asap', sans-serif;
    color: var(--text, #14221B);
    background-color: var(--bg, #FFFFFF);
    margin: 0;
    padding: 0;
}

.guide-header {
    background-color: var(--bg, #FFFFFF);
}

.qu-section-dark {
    background-color: var(--dark-band, #0D6439);
}

.text-accent {
    color: var(--accent, #F8A4D6) !important;
}

.qu-on-dark .text-on-dark-muted {
    color: var(--on-dark-muted, #C7D1CC);
}

.qu-btn {
    background-color: var(--primary, #12884E);
    border: 1px solid var(--primary, #12884E);
    color: var(--on-primary, #FFFFFF);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.qu-btn:hover,
.qu-btn:focus {
    background-color: var(--accent, #F8A4D6);
    border-color: var(--accent, #F8A4D6);
    color: var(--on-accent, #111111);
}

.hero-pattern-overlay {
    background-image: radial-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: 0.6;
    z-index: 1;
}

.guide-key-facts-strip {
    background-color: var(--surface, #F4F8F6);
    border-bottom: 1px solid var(--border, #D8E4DE);
}

.guide-fact-card {
    background-color: var(--bg, #FFFFFF);
    border: 1px solid var(--border, #D8E4DE);
}

.guide-fact-number {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--primary, #12884E);
    line-height: 1;
}

.guide-fact-label {
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    color: var(--text-muted, #556D61);
}

.guide-fact-value {
    font-size: 0.95rem;
    color: var(--text, #14221B);
}

.guide-image-frame {
    border: 1px solid var(--border, #D8E4DE);
    background-color: var(--surface, #F4F8F6);
}

.guide-media {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.guide-main-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.guide-section-heading {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text, #14221B);
}

.guide-heading-num {
    color: var(--primary, #12884E);
    margin-right: 0.25rem;
}

.guide-paragraph {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--text, #14221B);
    overflow-wrap: anywhere;
}

.guide-callout-box {
    background-color: var(--surface-alt, #D8F5E7);
    border-left: 4px solid var(--primary, #12884E);
    color: var(--text, #14221B);
}

.guide-callout-icon {
    color: var(--primary, #12884E);
}

.guide-points-list li {
    font-size: 0.95rem;
    line-height: 1.6;
}

.guide-pull-quote {
    border-left: 4px solid var(--accent, #F8A4D6);
    background-color: var(--surface, #F4F8F6);
    margin: 2rem 0;
}

.guide-quote-text {
    font-size: 1.15rem;
    font-style: italic;
    color: var(--text, #14221B);
    line-height: 1.6;
}

.guide-quote-author {
    font-size: 0.85rem;
    color: var(--accent-text, #D51085);
}

.guide-cta-banner {
    background-color: var(--surface-alt, #D8F5E7);
    border-top: 1px solid var(--border, #D8E4DE);
    border-bottom: 1px solid var(--border, #D8E4DE);
}

.guide-related-section {
    background-color: var(--bg, #FFFFFF);
}

.guide-related-card {
    border: 1px solid var(--border, #D8E4DE);
    background-color: var(--surface, #F4F8F6);
}

.guide-related-thumb-wrapper {
    overflow: hidden;
    border: 1px solid var(--border, #D8E4DE);
}

.guide-related-thumb-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.guide-accordion .accordion-button {
    background-color: var(--surface, #F4F8F6);
    color: var(--text, #14221B);
    font-size: 0.95rem;
}

.guide-accordion .accordion-button:not(.collapsed) {
    background-color: var(--surface-alt, #D8F5E7);
    color: var(--primary, #12884E);
    box-shadow: none;
}

.guide-accordion .accordion-button:focus {
    border-color: var(--primary, #12884E);
    box-shadow: none;
}

.nba-footer {
    background-color: var(--dark-band, #0D6439);
    color: var(--on-dark, #FFFFFF);
    padding-top: 3.5rem;
    padding-bottom: 1.5rem;
    position: relative;
    overflow: hidden;
}

.nba-footer__pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1.5px, transparent 1.5px);
    background-size: 24px 24px;
    pointer-events: none;
    opacity: 0.6;
}

.nba-footer__logo {
    max-width: 48px;
    height: auto;
    object-fit: contain;
}

.nba-footer__brand {
    color: var(--on-dark, #FFFFFF);
    letter-spacing: 0.03em;
}

.nba-footer__desc {
    color: var(--on-dark-muted, #C7D1CC);
    font-size: 0.9rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.nba-footer__disclaimer-note {
    background-color: rgba(0, 0, 0, 0.2);
    border-left: 3px solid var(--accent, #F8A4D6);
    color: var(--on-dark-muted, #C7D1CC);
}

.nba-footer__col-title {
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--accent, #F8A4D6);
}

.nba-footer__list li,
.nba-footer__contact li {
    overflow-wrap: anywhere;
}

.nba-footer__link {
    color: var(--on-dark-muted, #C7D1CC);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s ease;
    display: inline-block;
}

.nba-footer__link:hover,
.nba-footer__link:focus {
    color: var(--accent, #F8A4D6);
    text-decoration: underline;
}

.nba-footer__contact-icon {
    color: var(--accent, #F8A4D6);
    font-size: 0.95rem;
    width: 16px;
}

.nba-footer__contact-text {
    color: var(--on-dark-muted, #C7D1CC);
    font-size: 0.9rem;
}

.nba-footer__top {
    border-color: rgba(255, 255, 255, 0.15) !important;
}

.nba-footer__copy {
    color: var(--on-dark-muted, #C7D1CC);
}

.nba-footer__link-legal {
    color: var(--on-dark-muted, #C7D1CC);
    text-decoration: none;
    transition: color 0.2s ease;
}

.nba-footer__link-legal:hover,
.nba-footer__link-legal:focus {
    color: var(--accent, #F8A4D6);
    text-decoration: underline;
}

@media (max-width: 767px) {
    .guide-hero {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }

    .guide-section-heading {
        font-size: 1.25rem;
    }

    .guide-quote-text {
        font-size: 1rem;
    }

    .nba-footer {
        padding-top: 2.5rem;
    }

    .nba-footer .col-6 {
        width: 100%;
        margin-bottom: 1.5rem;
    }
}

/* ===== PAGE TEMPLATE: news ===== */
.qu-section-dark {
    background-color: var(--dark-band, #0D6439);
}

.text-accent {
    color: var(--accent, #F8A4D6) !important;
}

.qu-accent-color {
    color: var(--accent-text, #D51085);
}

.qu-on-dark .text-on-dark-muted {
    color: var(--on-dark-muted, #C7D1CC);
}

.qu-btn {
    background-color: var(--primary, #12884E);
    border: none;
    color: var(--on-primary, #FFFFFF);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.qu-btn:hover {
    background-color: var(--primary-hover, #0E683C);
    transform: translateY(-2px);
    color: var(--on-primary, #FFFFFF);
}

.qu-btn-alt {
    border-color: var(--border, #D8E4DE);
    color: var(--on-dark, #FFFFFF);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.qu-btn-alt:hover {
    background-color: var(--on-dark, #FFFFFF);
    color: var(--dark-band, #0D6439);
}

.hero-badge-card {
    background-color: var(--surface, #F4F8F6) !important;
    border-color: var(--border, #D8E4DE) !important;
}

.hero-pattern-overlay {
    background-image: radial-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: 0.6;
    z-index: 1;
}

.nba-footer {
    background-color: var(--dark-band, #0D6439);
    color: var(--on-dark, #FFFFFF);
    padding-top: 3.5rem;
    padding-bottom: 1.5rem;
    position: relative;
    overflow: hidden;
}

.nba-footer__pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1.5px, transparent 1.5px);
    background-size: 24px 24px;
    pointer-events: none;
    opacity: 0.6;
}

.nba-footer__logo {
    max-width: 48px;
    height: auto;
    object-fit: contain;
}

.nba-footer__brand {
    color: var(--on-dark, #FFFFFF);
    letter-spacing: 0.03em;
}

.nba-footer__desc {
    color: var(--on-dark-muted, #C7D1CC);
    font-size: 0.9rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.nba-footer__disclaimer-note {
    background-color: rgba(0, 0, 0, 0.2);
    border-left: 3px solid var(--accent, #F8A4D6);
    color: var(--on-dark-muted, #C7D1CC);
}

.nba-footer__col-title {
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--accent, #F8A4D6);
}

.nba-footer__list li,
.nba-footer__contact li {
    overflow-wrap: anywhere;
}

.nba-footer__link {
    color: var(--on-dark-muted, #C7D1CC);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s ease, transform 0.2s ease;
    display: inline-block;
}

.nba-footer__link:hover,
.nba-footer__link:focus {
    color: var(--accent, #F8A4D6);
    text-decoration: underline;
}

.nba-footer__contact-icon {
    color: var(--accent, #F8A4D6);
    font-size: 0.95rem;
    width: 16px;
}

.nba-footer__contact-text {
    color: var(--on-dark-muted, #C7D1CC);
    font-size: 0.9rem;
}

.nba-footer__top {
    border-color: rgba(255, 255, 255, 0.15) !important;
}

.nba-footer__copy {
    color: var(--on-dark-muted, #C7D1CC);
}

.nba-footer__link-legal {
    color: var(--on-dark-muted, #C7D1CC);
    text-decoration: none;
    transition: color 0.2s ease;
}

.nba-footer__link-legal:hover,
.nba-footer__link-legal:focus {
    color: var(--accent, #F8A4D6);
    text-decoration: underline;
}

.news-detail-wrapper {
    background-color: var(--bg, #FFFFFF);
}

.news-detail-wrapper .news-content-column {
    max-width: 900px;
    width: 100%;
}

.news-detail-wrapper .news-lead-image-frame {
    background-color: var(--surface, #F4F8F6);
    border-color: var(--border, #D8E4DE) !important;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.news-detail-wrapper .news-lead-image-frame img {
    object-fit: cover;
}

.news-detail-wrapper .news-toc-box {
    background-color: var(--surface, #F4F8F6);
    border-color: var(--border, #D8E4DE) !important;
}

.news-detail-wrapper .news-toc-anchor {
    color: var(--primary-text, #107644);
    font-weight: 600;
    transition: color 0.2s ease;
}

.news-detail-wrapper .news-toc-anchor:hover {
    color: var(--primary-hover, #0E683C);
    text-decoration: underline;
}

.news-detail-wrapper .news-numbered-section {
    border-top: 1px solid var(--border, #D8E4DE);
}

.news-detail-wrapper .news-section-numeral {
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1;
    color: var(--surface-alt, #D8F5E7);
    margin-bottom: 0.25rem;
    user-select: none;
}

.news-detail-wrapper .news-section-title {
    color: var(--text, #14221B);
    font-size: 1.85rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.news-detail-wrapper .news-text-body p {
    color: var(--text, #14221B);
    font-size: 1.05rem;
    line-height: 1.65;
    margin-bottom: 1rem;
    overflow-wrap: anywhere;
}

.news-detail-wrapper .news-facts-card {
    background-color: var(--surface, #F4F8F6);
    border-color: var(--border, #D8E4DE) !important;
}

.news-detail-wrapper .news-inline-cta {
    background-color: var(--dark-band, #0D6439);
    border-color: var(--border, #D8E4DE) !important;
}

.news-detail-wrapper .news-highlights-box {
    background-color: var(--surface-alt, #D8F5E7);
    border-color: var(--border, #D8E4DE) !important;
}

.news-detail-wrapper .news-custom-list {
    list-style-type: square;
    color: var(--text, #14221B);
}

.news-detail-wrapper .news-custom-list li {
    margin-bottom: 0.5rem;
    line-height: 1.5;
}

.news-detail-wrapper .news-newsletter-card {
    background-color: var(--dark-band, #0D6439);
    border: 2px solid var(--primary, #12884E) !important;
}

.news-detail-wrapper .news-dark-input {
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #FFFFFF;
}

.news-detail-wrapper .news-dark-input::placeholder {
    color: #C7D1CC;
    opacity: 0.9;
}

.news-detail-wrapper .news-dark-input:focus {
    background-color: rgba(255, 255, 255, 0.15);
    border-color: var(--accent, #F8A4D6);
    color: #FFFFFF;
    box-shadow: none;
}

.news-detail-wrapper .qu-accent-btn {
    background-color: var(--accent, #F8A4D6);
    color: var(--on-accent, #111111);
    border: none;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.news-detail-wrapper .qu-accent-btn:hover {
    background-color: #f78ecc;
    color: var(--on-accent, #111111);
    transform: translateY(-1px);
}

.news-detail-wrapper .news-related-link {
    color: var(--text, #14221B);
    transition: color 0.2s ease, transform 0.2s ease;
}

.news-detail-wrapper .news-related-link:hover {
    color: var(--primary-text, #107644);
    transform: translateX(4px);
}

@media (max-width: 767px) {
    .news-detail-wrapper .news-section-numeral {
        font-size: 2.5rem;
    }

    .news-detail-wrapper .news-section-title {
        font-size: 1.25rem;
        hyphens: auto;
    }

    .news-detail-wrapper .news-text-body p {
        font-size: 0.95rem;
    }

    .news-detail-wrapper .news-lead-image-frame {
        aspect-ratio: 4 / 3;
    }

    .nba-footer {
        padding-top: 2.5rem;
    }

    .nba-footer .col-6 {
        width: 100%;
        margin-bottom: 1.5rem;
    }

    .nba-footer__col-title {
        font-size: 0.85rem;
    }

    .nba-footer__link,
    .nba-footer__contact-text {
        font-size: 0.85rem;
    }
}

/* mobile-text-guard */
@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, td, th, label {
    overflow-wrap: anywhere;
  }
  a, button, .btn {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  img, video, iframe {
    max-width: 100%;
  }
}
