﻿/* extracted verbatim 2026-08-28 estate speed sweep. New content = new filename. */

        /* ============================================================
           NBA Parlays — uses GLOBAL Site.Master design tokens
           (--void / --panel / --panel-2 / --line / --ink / --accent-grad
            / --accent-glow / --card-edge / --model / --book / --action-hi
            / --display / --ui / --mono). npl- prefix = local layout only.
           Order: PICKS FIRST -> upsell -> method/FAQ essay -> footer.
           ============================================================ */

        .npl-wrapper { width: 100%; max-width: 1180px; margin: 0 auto; padding: 1.5em 5%; box-sizing: border-box; }
        .npl-wrapper, .npl-pro-section, .npl-email-section { font-family: var(--ui); }

        /* --- BREADCRUMB --- */
        .npl-breadcrumb {
            display: flex; flex-wrap: wrap; gap: 0.4em; align-items: center;
            margin-bottom: 1.25em; font-family: var(--mono);
            font-size: 0.72em; color: var(--ink-faint);
            text-transform: uppercase; letter-spacing: 0.06em;
        }
        .npl-breadcrumb a      { color: var(--ink-dim); text-decoration: none; transition: color 0.15s; }
        .npl-breadcrumb a:hover, .npl-breadcrumb a:focus-visible { color: var(--action-hi); }
        .npl-breadcrumb .sep   { color: var(--line-strong); }

        /* --- POPULARITY WIDGET --- */
        .npl-pop-wrap {
            background: var(--panel); padding: 0.4em;
            border-radius: 0.6em; border: 1px solid var(--line-strong);
            margin-bottom: 1.5em;
        }

        /* --- PAGE HEADER (the lead) --- */
        .npl-page-header { margin-bottom: 1.5em; }
        .bb-eyebrow {
            display: inline-flex; align-items: center; gap: 0.5em;
            font-family: var(--mono); font-size: 0.72em; font-weight: 600;
            text-transform: uppercase; letter-spacing: 0.14em; color: var(--action-hi);
            margin: 0 0 0.85em;
        }
        .npl-h1 {
            font-family: var(--display);
            font-size: clamp(2rem, 4.4vw, 3rem); font-weight: 800; color: var(--ink);
            letter-spacing: -0.025em; line-height: 1.06; margin: 0 0 0.5em;
        }
        .npl-h1 .npl-accent {
            background: var(--accent-grad); -webkit-background-clip: text; background-clip: text;
            -webkit-text-fill-color: transparent; color: var(--action-hi);
        }
        .npl-desc { font-size: 1.08em; color: var(--ink-dim); max-width: 780px; line-height: 1.6; margin: 0 0 1.4em; }
        .npl-desc strong { color: var(--ink); }

        /* --- AMBIENT-LIFT base (system recipe) --- */
        .bb-pick, .npl-lift {
            position: relative; background: var(--panel);
            border: 1px solid var(--card-edge); border-radius: 1em;
            box-shadow: 0 20px 42px -24px var(--accent-glow);
            overflow: hidden;
        }
        .bb-pick::after, .npl-lift::after {
            content: ''; position: absolute; inset: 0; pointer-events: none;
            background: radial-gradient(120% 80% at 50% -20%, rgba(70,140,255,.10), transparent 60%);
        }
        .bb-pick > *, .npl-lift > * { position: relative; z-index: 1; }

        /* --- PROOF STRIP --> /results (next to the decision) --- */
        .bb-proof {
            display: flex; flex-wrap: wrap; align-items: center; gap: 1.25em 2em;
            padding: 1.1em 1.4em; margin: 0; text-decoration: none;
            border-radius: 1em; transition: border-color 0.15s, box-shadow 0.15s;
        }
        .bb-proof:hover, .bb-proof:focus-visible { border-color: var(--accent-hi, var(--action-hi)); box-shadow: 0 26px 52px -22px var(--accent-glow); }
        .bb-proof .proof-stat { display: flex; flex-direction: column; gap: 0.15em; }
        .bb-proof .proof-num  { font-family: var(--mono); font-weight: 800; font-size: 1.45rem; line-height: 1; color: var(--model); }
        .bb-proof .proof-lbl  { font-family: var(--mono); font-size: 0.66em; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-faint); }
        .bb-proof .proof-cta  { margin-left: auto; font-weight: 700; font-size: 0.9em; color: var(--action-hi); white-space: nowrap; }
        .bb-proof .proof-cta i { margin-left: 0.4em; transition: transform 0.15s; }
        .bb-proof:hover .proof-cta i { transform: translateX(3px); }

        /* --- SECTION HEADS --- */
        .npl-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1em; flex-wrap: wrap; margin: 2.75em 0 1.1em; }
        .npl-section-head:first-child { margin-top: 0; }
        .npl-section-head h2 { font-family: var(--display); font-size: clamp(1.35rem, 2.6vw, 1.7rem); font-weight: 800; color: var(--ink); margin: 0; letter-spacing: -0.02em; }
        .npl-section-head p { margin: 0.3em 0 0; color: var(--ink-dim); font-size: 0.92em; }
        .npl-section-head .npl-head-note { font-family: var(--mono); font-size: 0.72em; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-faint); white-space: nowrap; }
        .npl-section-head .npl-head-note .npl-edge-chip { color: var(--model); font-weight: 700; }

        /* --- PARLAY CARDS (ambient-lift) --- */
        .parlay-tip-row {
            position: relative; background: var(--panel);
            border: 1px solid var(--card-edge); border-radius: 1em;
            box-shadow: 0 20px 42px -24px var(--accent-glow);
            padding: 1.4em; margin-bottom: 1.25em; overflow: hidden;
            transition: border-color 0.2s, box-shadow 0.2s;
        }
        .parlay-tip-row::after {
            content: ''; position: absolute; inset: 0; pointer-events: none;
            background: radial-gradient(120% 70% at 50% -15%, rgba(70,140,255,.10), transparent 60%);
        }
        .parlay-tip-row > * { position: relative; z-index: 1; }
        .parlay-tip-row:hover { border-color: var(--accent-hi, var(--action-hi)); box-shadow: 0 26px 52px -22px var(--accent-glow); }
        .parlay-topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.1em; padding-bottom: 0.9em; border-bottom: 1px solid var(--line); gap: 0.65em; flex-wrap: wrap; }
        .parlay-title { font-family: var(--display); font-size: 1.1em; font-weight: 700; color: var(--ink); }
        .parlay-time { font-family: var(--mono); font-size: 0.76em; color: var(--ink-faint); white-space: nowrap; }
        .parlay-logos img { height: 26px; margin-right: 0.5em; vertical-align: middle; }
        .sgp-badge { background: var(--accent-grad); color: #fff; padding: 4px 9px; border-radius: 5px; font-family: var(--mono); font-size: 0.68em; font-weight: 700; letter-spacing: 0.06em; }

        .parlay-timeline { position: relative; margin: 0 0 0.5em; }
        .timeline-line { position: absolute; left: 8px; top: 6px; bottom: 6px; width: 2px; background: var(--line-strong); }
        .parlay-legs { margin-left: 22px; }
        .parlay-leg-item { position: relative; padding: 0.85em 0; border-bottom: 1px dashed var(--line); }
        .parlay-leg-item:last-child { border-bottom: 0; }
        .leg-item-dot { position: absolute; left: -28px; top: 18px; width: 12px; height: 12px; background: var(--accent-grad); border-radius: 50%; border: 2px solid var(--panel); box-shadow: 0 0 0 1px var(--card-edge); z-index: 2; }
        .leg-info strong { display: block; margin-bottom: 4px; font-family: var(--display); font-weight: 650; color: var(--ink); }
        .leg-odds-stats { display: flex; flex-wrap: wrap; gap: 0.4em 1em; align-items: center; margin-top: 0.5em; font-family: var(--mono); font-size: 0.85em; color: var(--ink-dim); }
        .bookmaker-leg-logo { height: 16px; width: auto; opacity: 0.85; }
        .stat-item { display: inline-flex; align-items: center; gap: 0.4em; }
        .stat-item .leg-icon { color: var(--ink-faint); }
        .odds-data { color: var(--ink-dim); }
        .stat-value { color: var(--model); font-weight: 700; }

        .parlay-reasoning { margin-top: 1.1em; padding-top: 1.1em; border-top: 1px solid var(--line); }
        .reason-toggle { display: flex; justify-content: space-between; align-items: center; padding: 0.6em 0.85em; background: var(--panel-2); border-radius: 8px; cursor: pointer; font-family: var(--ui); font-weight: 600; width: 100%; min-height: 44px; color: var(--ink); border: 1px solid var(--line); font-size: 0.88em; transition: border-color 0.15s, color 0.15s; }
        .reason-toggle:hover, .reason-toggle:focus-visible { border-color: var(--card-edge); color: var(--action-hi); }
        .reason-text { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; padding: 0 0.85em; font-size: 0.92em; line-height: 1.7; color: var(--ink-dim); }
        .reason-text.expanded { max-height: 2600px; padding: 0.85em; }

        .unlock-bet-container { text-align: center; padding: 0.85em 0 0.25em; }
        .btn-unlock {
            display: inline-flex; align-items: center; justify-content: center; gap: 0.6em;
            padding: 0.7em 1.5em; min-height: 44px; background: var(--accent-grad); color: #fff;
            border-radius: 99px; font-family: var(--ui); font-weight: 700; font-size: 0.92em;
            text-decoration: none; box-shadow: 0 8px 24px -8px var(--accent-glow); transition: filter 0.15s, transform 0.15s;
        }
        .btn-unlock:hover, .btn-unlock:focus-visible { filter: brightness(1.07); color: #fff; transform: translateY(-1px); }
        .noselect { user-select: none; }

        /* --- INLINE UPSELL TEASER (after free picks) --- */
        .npl-tease {
            position: relative; background: var(--panel); border: 1px solid var(--card-edge);
            border-radius: 1em; box-shadow: 0 20px 42px -24px var(--accent-glow);
            padding: 1.6em 1.5em; margin: 0 0 1.25em; text-align: center; overflow: hidden;
        }
        .npl-tease::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(120% 80% at 50% -20%, rgba(70,140,255,.12), transparent 60%); }
        .npl-tease > * { position: relative; z-index: 1; }
        .npl-tease .lock-ring {
            width: 46px; height: 46px; margin: 0 auto 0.75em; display: grid; place-items: center;
            border-radius: 50%; background: var(--void);
            box-shadow: 0 0 0 2px transparent; border: 2px solid transparent;
            background-image: linear-gradient(var(--void),var(--void)), var(--accent-grad);
            background-origin: border-box; background-clip: padding-box, border-box;
            color: var(--action-hi); font-size: 1.1em;
        }
        .npl-tease h3 { font-family: var(--display); margin: 0 0 0.35em; font-size: 1.2em; color: var(--ink); }
        .npl-tease p { margin: 0 0 1em; color: var(--ink-dim); font-size: 0.94em; }

        /* --- PRO UPSELL --- */
        .npl-pro-section {
            position: relative; background: var(--panel);
            border: 1px solid var(--card-edge); border-radius: 1.1em;
            box-shadow: 0 24px 56px -28px var(--accent-glow);
            padding: 3em 1.75em; margin: 0 auto 1em; max-width: 1080px; overflow: hidden;
        }
        .npl-pro-section::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(120% 60% at 50% -10%, rgba(70,140,255,.14), transparent 60%); }
        .npl-pro-content { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 2.5em; align-items: center; max-width: 980px; margin: 0 auto; }
        @media (max-width: 768px) { .npl-pro-content { grid-template-columns: 1fr; gap: 1.75em; } }
        .npl-pro-eyebrow { font-family: var(--mono); font-size: 0.74em; text-transform: uppercase; letter-spacing: 0.14em; color: var(--action-hi); margin: 0 0 0.5em; }
        .npl-pro-content h2 { font-family: var(--display); color: var(--ink); font-size: clamp(1.5rem,3vw,2rem); font-weight: 800; letter-spacing: -0.02em; margin: 0 0 0.5em; }
        .npl-pro-content > div > p { color: var(--ink-dim); line-height: 1.6; margin: 0; }
        .npl-pro-features { list-style: none; padding: 0; margin: 0 0 1.4em; }
        .npl-pro-features li { color: var(--ink); margin-bottom: 0.7em; display: flex; align-items: center; gap: 0.6em; font-size: 0.96em; }
        .npl-pro-features i { color: var(--model); }
        .npl-plan-row { display: flex; gap: 0.65em; margin-bottom: 1.25em; }
        .plan-option {
            flex: 1; background: var(--void); border: 1px solid var(--line-strong);
            padding: 1em 0.6em; border-radius: 10px; text-align: center;
            cursor: pointer; position: relative; transition: border-color 0.15s, background 0.15s; min-height: 44px;
        }
        .plan-option:hover { border-color: var(--card-edge); }
        .plan-option.active { border-color: var(--action-hi); background: rgba(70,140,255,.1); box-shadow: 0 0 0 1px var(--card-edge); }
        .plan-price { display: block; font-size: 1.5em; font-weight: 800; color: var(--ink); font-family: var(--mono); }
        .plan-option span[style] { font-family: var(--mono); }
        .plan-badge { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); background: var(--accent-grad); color: #fff; font-family: var(--mono); font-size: 0.64em; letter-spacing: 0.05em; padding: 3px 9px; border-radius: 5px; font-weight: 700; white-space: nowrap; }
        .all-access-pro-button {
            background: var(--accent-grad); color: #fff; border: none;
            padding: 0.95em 1.5em; min-height: 48px; border-radius: 10px; font-family: var(--ui); font-weight: 700;
            width: 100%; cursor: pointer; font-size: 1em; transition: filter 0.15s, transform 0.15s;
            box-shadow: 0 10px 28px -8px var(--accent-glow);
        }
        .all-access-pro-button:hover, .all-access-pro-button:focus-visible { filter: brightness(1.07); transform: translateY(-1px); }
        .npl-pro-trust { margin: 0.85em 0 0; font-size: 0.8em; color: var(--ink-faint); text-align: center; }

        /* --- AEO QUICK ANSWER + PILLS --- */
        .npl-quick-answer { padding: 1.25em 1.4em; border-radius: 1em; }
        .npl-quick-answer h2 { font-family: var(--display); margin: 0 0 0.5em; font-size: 1.1em; color: var(--ink); }
        .npl-quick-answer p  { margin: 0; color: var(--ink-dim); font-size: 0.95em; line-height: 1.65; }
        .npl-pill-row { display: flex; flex-wrap: wrap; gap: 0.5em; margin-top: 0.9em; }
        .npl-pill {
            display: inline-flex; align-items: center; gap: 0.5em;
            padding: 0.4em 0.8em; border-radius: 99px;
            border: 1px solid var(--line-strong); background: var(--panel-2);
            color: var(--ink-dim); font-size: 0.82em; font-family: var(--mono);
        }
        .npl-pill i { color: var(--action-hi); }

        /* --- SEO / FAQ CONTENT --- */
        .npl-seo { margin-top: 0; color: var(--ink-dim); font-size: 0.95em; }
        .npl-seo h3 { font-family: var(--display); color: var(--ink); font-size: 1em; font-weight: 700; margin: 1em 0 0.4em; }

        .npl-seo-card { padding: 1.3em 1.4em; border-radius: 1em; }
        .npl-seo-card h2 { font-family: var(--display); color: var(--ink); font-size: 1.15em; font-weight: 800; }
        .npl-seo-list { margin: 0.625em 0 0; padding-left: 1.125em; color: var(--ink-dim); line-height: 1.8; }
        .npl-seo-list li { margin: 0.45em 0; }
        .npl-seo-list strong { color: var(--ink); }
        .npl-fineprint { font-size: 0.82em; color: var(--ink-faint); margin-top: 0.75em; }

        .npl-mini-table { width: 100%; border-collapse: collapse; margin-top: 0.9em; overflow: hidden; border-radius: 0.75em; border: 1px solid var(--line-strong); }
        .npl-mini-table th, .npl-mini-table td { padding: 0.7em 0.85em; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
        .npl-mini-table tr:last-child td { border-bottom: 0; }
        .npl-mini-table th { background: var(--panel-2); color: var(--ink); font-size: 0.78em; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.05em; }
        .npl-mini-table td { color: var(--ink-dim); font-size: 0.9em; }
        .npl-mini-table td strong { color: var(--ink); }

        .npl-callout { margin-top: 0.9em; padding: 0.9em 1em; border-left: 3px solid var(--action-hi); background: rgba(70,140,255,.08); border-radius: 8px; color: var(--ink-dim); font-size: 0.9em; }
        .npl-callout strong { color: var(--ink); }

        /* FAQ */
        .npl-faq-item {
            background: var(--panel); border: 1px solid var(--line-strong);
            border-radius: 0.85em; margin-top: 0.65em; overflow: hidden;
            transition: border-color 0.15s;
        }
        .npl-faq-item[open] { border-color: var(--card-edge); }
        .npl-faq-item summary {
            cursor: pointer; padding: 1em 1.15em; min-height: 44px; box-sizing: border-box;
            font-family: var(--display); font-weight: 700;
            color: var(--ink); font-size: 0.95em; display: flex;
            justify-content: space-between; align-items: center;
            list-style: none; gap: 1em;
        }
        .npl-faq-item summary::-webkit-details-marker { display: none; }
        .npl-faq-item summary::after { content: '+'; font-family: var(--mono); color: var(--action-hi); flex-shrink: 0; font-size: 1.1em; }
        .npl-faq-item[open] summary::after { content: '−'; }
        .npl-faq-answer {
            padding: 0 1.15em 1em; color: var(--ink-dim); line-height: 1.75;
            font-size: 0.9em; border-top: 1px solid var(--line);
        }
        .npl-faq-answer p { margin-top: 0.85em; margin-bottom: 0; color: var(--ink-dim); }

        /* Related links */
        .npl-related { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75em; margin-top: 1em; }
        @media (max-width: 768px) { .npl-related { grid-template-columns: 1fr; } }
        .npl-related a {
            background: var(--panel-2); border: 1px solid var(--line-strong);
            border-radius: 0.85em; padding: 0.95em 1em; color: var(--ink-dim);
            display: block; text-decoration: none; transition: border-color 0.15s, transform 0.15s; min-height: 44px;
        }
        .npl-related a strong { display: block; color: var(--ink); margin-bottom: 0.3em; font-size: 0.95em; font-family: var(--display); }
        .npl-related a:hover, .npl-related a:focus-visible { border-color: var(--card-edge); color: var(--ink); transform: translateY(-2px); }

        /* Stats grid */
        .npl-stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25em; margin-top: 0; }
        @media (max-width: 768px) { .npl-stats-grid { grid-template-columns: 1fr; } }
        .npl-stat-card {
            position: relative; background: var(--panel); padding: 1.5em 1.25em; border-radius: 1em;
            text-align: center; border: 1px solid var(--card-edge); box-shadow: 0 20px 42px -26px var(--accent-glow); overflow: hidden;
        }
        .npl-stat-card::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(120% 80% at 50% -25%, rgba(70,140,255,.08), transparent 60%); }
        .npl-stat-card > * { position: relative; z-index: 1; }
        .npl-stat-number { font-family: var(--mono); font-size: 2rem; font-weight: 800; color: var(--ink); display: block; letter-spacing: -0.02em; }
        .npl-stat-label  { font-family: var(--mono); font-size: 0.74em; text-transform: uppercase; letter-spacing: 0.06em; color: var(--action-hi); display: block; margin-top: 0.3em; }
        .npl-stat-text   { font-size: 0.84em; color: var(--ink-faint); margin: 0.5em 0 0; }

        /* Email section */
        .npl-email-section { padding: 1em 5% 0; margin-top: 2.75em; }
        .npl-email-inner {
            position: relative; max-width: 720px; margin: 0 auto; text-align: center;
            background: var(--panel); border: 1px solid var(--card-edge); border-radius: 1.1em;
            box-shadow: 0 24px 56px -30px var(--accent-glow); padding: 2.5em 1.75em; overflow: hidden;
        }
        .npl-email-inner::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(120% 70% at 50% -15%, rgba(70,140,255,.10), transparent 60%); }
        .npl-email-inner > * { position: relative; z-index: 1; }
        .npl-email-inner h3 { font-family: var(--display); color: var(--ink); margin: 0 0 0.5em; font-size: 1.35em; font-weight: 800; }
        .npl-email-inner p  { color: var(--ink-dim); margin: 0 auto 1.4em; font-size: 0.95em; max-width: 460px; }
        .npl-email-row { display: flex; gap: 0.6em; width: 100%; max-width: 460px; margin: 0 auto; }
        @media (max-width: 520px) { .npl-email-row { flex-direction: column; } }
        .npl-email-input {
            flex: 1; padding: 0.8em 0.9em; min-height: 46px; border-radius: 8px;
            border: 1px solid var(--line-strong); background: var(--void);
            color: var(--ink); font-size: 0.95em; font-family: var(--ui);
        }
        .npl-email-input:focus-visible { outline: none; border-color: var(--action-hi); box-shadow: 0 0 0 1px var(--card-edge); }
        .npl-email-btn {
            padding: 0.8em 1.6em; min-height: 46px; background: var(--accent-grad); color: #fff;
            border: none; border-radius: 8px; font-family: var(--ui); font-weight: 700; cursor: pointer; white-space: nowrap;
            box-shadow: 0 8px 24px -8px var(--accent-glow); transition: filter 0.15s;
        }
        .npl-email-btn:hover, .npl-email-btn:focus-visible { filter: brightness(1.07); }
        .npl-email-disclaimer { color: var(--ink-faint); font-size: 0.78em; margin-top: 0.85em; }
        .npl-email-disclaimer a { color: var(--ink-dim); text-decoration: underline; }

        /* Closing note */
        .npl-closing p:first-child { color: var(--ink-dim); font-size: 0.92em; line-height: 1.75; }
        .npl-closing p:last-child  { font-size: 0.82em; color: var(--ink-faint); }

        /* a11y */
        .npl-wrapper a:focus-visible, .reason-toggle:focus-visible, .plan-option:focus-visible,
        .npl-faq-item summary:focus-visible { outline: 2px solid var(--action-hi); outline-offset: 2px; border-radius: 4px; }
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
        }
    