/* ==========================================================================
   /bundle — Mono GetIllustrations redesign (2026-06-10)

   HIGH-STAKES MONEY PAGE. Built on mono-getillustrations.css (loaded first):
   tokens (--mono-*) + components (.mono-btn, .mono-card, .mono-faq2,
   .mono-sep, .mono-reveal). Only page-specific composition lives here
   (.bp-* namespace, kept from the 2026-05-11 redesign).

   Page rules carried over from project_bundle_page_redesign_2026_05_11:
   - NO wide colored full-bleed backgrounds — container boxes only.
   - Lime is action/affirmation only; Bricolage 800 headings; no italic.
   - The buy box (dual plan cards) is the strongest visual moment:
     the featured plan is an INK panel with a lime CTA.
   - Conversion elements (hero, plan cards, sticky bar, all-access panel,
     final CTA) NEVER get .mono-reveal — they must paint instantly.
   ========================================================================== */

.bp { background: var(--mono-white); color: var(--mono-text); }

/* CTA anchors carry the `btn` class purely to escape the global
   a:not(.btn):hover { color:#454545 !important } rule in site.css.
   Visuals come from .mono-btn / .bp-* — neutralize Bootstrap .btn extras. */
.bp a.btn { text-decoration: none; }
.bp a.btn:focus,
.bp a.btn.focus { box-shadow: none; outline: 2px solid var(--mono-ink); outline-offset: 2px; }

/* Centered section heads (homepage pattern) */
.bp .mono-section-head {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
.bp .mono-section-head .mono-lead {
    margin: 14px auto 0;
    max-width: 64ch;
}

/* ==========================================================================
   HERO — white, centered, instant paint (LCP). No reveal, no full-bleed.
   ========================================================================== */
.bp-hero { padding: 64px 0 8px; text-align: center; }
@media (max-width: 720px) { .bp-hero { padding: 44px 0 4px; } }

.bp-hero__head { max-width: 820px; margin: 0 auto; }

.bp-hero__h1 {
    font-family: var(--mono-font-display);
    font-size: var(--mono-fs-display);
    font-weight: var(--mono-w-extrabold);
    line-height: var(--mono-lh-display);
    letter-spacing: var(--mono-track-display);
    color: var(--mono-ink);
    margin: 18px auto 16px;
}
.bp-hero__sub {
    font-family: var(--mono-font-display);
    font-size: var(--mono-fs-lead);
    font-weight: var(--mono-w-normal);
    line-height: var(--mono-lh-body);
    letter-spacing: var(--mono-track-body);
    color: var(--mono-text-muted);
    margin: 0 auto 24px;
    max-width: 56ch;
}

/* File-format pills — bordered white chips with the format mark */
.bp-hero__formats {
    display: inline-flex; flex-wrap: wrap; justify-content: center;
    gap: 8px; padding: 0;
}
.bp-hero__format {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 6px 12px 6px 9px;
    border-radius: var(--mono-radius-pill);
    background: var(--mono-surface);
    border: 1px solid var(--mono-border);
    box-shadow: var(--mono-shadow-xs);
    font-size: var(--mono-fs-sm); font-weight: var(--mono-w-bold);
    color: var(--mono-ink); letter-spacing: var(--mono-track-body);
}
.bp-hero__format img { width: 18px; height: 18px; object-fit: contain; }

/* ==========================================================================
   BUY BOX — dual plan cards. The strongest visual moment on the page:
   white bordered card (Illustrations) + INK panel with lime CTA (Ultimate).
   ========================================================================== */
.bp-plans {
    display: grid; grid-template-columns: repeat(2, 1fr);
    gap: var(--mono-space-5);
    max-width: 1020px; margin: 40px auto 0;
}
@media (max-width: 880px) { .bp-plans { grid-template-columns: 1fr; max-width: 500px; } }

.bp-plan {
    display: flex; flex-direction: column;
    text-align: left; position: relative;
    background: var(--mono-surface);
    border: 1px solid var(--mono-border);
    border-radius: var(--mono-radius-xl);
    padding: 34px 30px 30px;
    color: var(--mono-ink);
    text-decoration: none;
    transition: var(--mono-transition-card);
}
.bp-plan:hover {
    transform: translateY(-4px);
    border-color: var(--mono-ink);
    box-shadow: var(--mono-shadow-hover);
    text-decoration: none; color: var(--mono-ink);
}

/* Featured (Ultimate) — ink statement panel, lime CTA */
.bp-plan--featured {
    background: var(--mono-surface-dark);
    border-color: var(--mono-surface-dark);
    color: var(--mono-white);
    box-shadow: var(--mono-shadow-panel);
}
.bp-plan--featured:hover {
    border-color: var(--mono-surface-dark);
    color: var(--mono-white);
    box-shadow: var(--mono-shadow-lift);
}

.bp-plan__badge {
    position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
    background: var(--mono-lime); color: var(--mono-ink);
    font-size: var(--mono-fs-eyebrow); font-weight: var(--mono-w-extrabold);
    letter-spacing: var(--mono-track-label); text-transform: uppercase;
    padding: 5px 14px; border-radius: var(--mono-radius-pill);
    white-space: nowrap;
}
.bp-plan__name {
    font-family: var(--mono-font-display);
    font-size: 1.25rem; font-weight: var(--mono-w-extrabold);
    letter-spacing: -0.02em; line-height: 1.2;
    color: inherit; margin: 0 0 10px;
}
.bp-plan__price {
    font-family: var(--mono-font-display);
    font-size: 2.625rem; font-weight: var(--mono-w-extrabold);
    line-height: 1; letter-spacing: var(--mono-track-heading);
    color: inherit; margin: 0 0 6px;
}
.bp-plan__price span {
    font-size: 1rem; font-weight: var(--mono-w-semibold);
    color: var(--mono-text-muted); letter-spacing: 0; margin-left: 4px;
}
.bp-plan--featured .bp-plan__price span { color: rgba(255, 255, 255, 0.62); }
.bp-plan__tagline {
    font-size: var(--mono-fs-body); line-height: var(--mono-lh-snug);
    color: var(--mono-text-muted); margin: 0 0 20px;
}
.bp-plan--featured .bp-plan__tagline { color: rgba(255, 255, 255, 0.78); }

.bp-plan__features {
    list-style: none; padding: 0; margin: 0 0 24px;
    display: flex; flex-direction: column; gap: 10px;
    font-size: var(--mono-fs-body); color: var(--mono-gray-700);
    flex: 1;
}
.bp-plan--featured .bp-plan__features { color: rgba(255, 255, 255, 0.85); }
.bp-plan__features li { position: relative; padding-left: 26px; line-height: 1.45; }
/* Check token — lime disc + ink tick (the canonical mono check) */
.bp-plan__features li::before {
    content: ''; position: absolute; left: 0; top: 2px;
    width: 16px; height: 16px;
    background: var(--mono-lime);
    border-radius: var(--mono-radius-pill);
}
.bp-plan__features li::after {
    content: ''; position: absolute; left: 4px; top: 7px;
    width: 8px; height: 4px;
    border-left: 2px solid var(--mono-ink);
    border-bottom: 2px solid var(--mono-ink);
    transform: rotate(-45deg);
}

/* Card CTA — full-width pill. White card: dark fill. Ink card: lime fill. */
.bp-plan__cta {
    display: inline-flex; align-items: center; justify-content: center;
    gap: var(--mono-space-2); width: 100%;
    height: 52px; padding: 0 24px;
    border-radius: var(--mono-radius-pill);
    font-family: var(--mono-font-display);
    font-size: var(--mono-fs-cta); font-weight: var(--mono-w-bold);
    letter-spacing: var(--mono-track-body);
    background: var(--mono-ink); color: var(--mono-white);
    border: 1px solid var(--mono-ink);
    transition: var(--mono-transition-button);
}
.bp-plan:hover .bp-plan__cta {
    background: var(--mono-lime); color: var(--mono-ink); border-color: var(--mono-lime);
    box-shadow: var(--mono-shadow-cta);
}
.bp-plan__cta--lime {
    background: var(--mono-lime); color: var(--mono-ink); border-color: var(--mono-lime);
}
.bp-plan--featured:hover .bp-plan__cta--lime {
    background: var(--mono-lime-bright); color: var(--mono-ink); border-color: var(--mono-lime-bright);
    box-shadow: var(--mono-shadow-cta);
}
.bp-plan__cta .mono-btn__arrow { display: inline-block; transition: transform var(--mono-dur-slow); }
.bp-plan:hover .bp-plan__cta .mono-btn__arrow { transform: translateX(3px); }

/* Fine print + lifetime mention under the buy box */
.bp-hero__fine {
    font-size: var(--mono-fs-sm); color: var(--mono-text-subtle);
    letter-spacing: var(--mono-track-body);
    margin: 28px auto 20px; max-width: 640px;
}
.bp-hero__lifetime {
    font-size: var(--mono-fs-body); color: var(--mono-text-muted);
    margin: 22px auto 0; max-width: 640px;
}
.bp-hero__lifetime a {
    color: var(--mono-ink); font-weight: var(--mono-w-bold);
    text-decoration: none;
    border-bottom: 2px solid var(--mono-lime); padding-bottom: 1px;
}

/* Trust strip — mono pills */
.bp-trust-row {
    margin-top: 4px;
    display: flex; gap: 10px; flex-wrap: wrap; justify-content: center;
}
.bp-trust-row .mono-pill { font-size: 0.75rem; padding: 6px 13px; }
.bp-trust-row .mono-pill strong { font-weight: var(--mono-w-extrabold); color: var(--mono-ink); }
.bp-trust-row .mono-pill .muted { color: var(--mono-text-subtle); font-weight: var(--mono-w-normal); }
.bp-trust-row .mono-pill .stars { color: var(--mono-warning); letter-spacing: 1.5px; font-size: 10px; }

/* ==========================================================================
   STICKY CTA BAR — fades in after the hero sentinel scrolls away.
   JS contract: #bpStickySentinel, #bpStickyBar, .is-stuck (do not rename).
   ========================================================================== */
.bp-sticky-sentinel { height: 1px; width: 100%; }
.bp-sticky {
    position: fixed; top: 0; left: 0; right: 0; z-index: 60;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--mono-border);
    transform: translateY(-100%);
    transition: transform 0.28s var(--mono-ease);
    opacity: 0; pointer-events: none;
}
.bp-sticky.is-stuck { transform: translateY(0); opacity: 1; pointer-events: auto; }
.bp-sticky__inner {
    max-width: var(--mono-container); margin: 0 auto;
    padding: 10px var(--mono-container-pad);
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--mono-space-4);
}
.bp-sticky__brand { display: flex; flex-direction: column; line-height: 1.1; min-width: 0; }
.bp-sticky__brand-eyebrow {
    font-size: 10px; font-weight: var(--mono-w-extrabold);
    letter-spacing: var(--mono-track-label); text-transform: uppercase;
    color: var(--mono-lime-ink);
}
.bp-sticky__brand-line {
    font-size: var(--mono-fs-sm); font-weight: var(--mono-w-bold);
    color: var(--mono-ink); margin-top: 2px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
@media (max-width: 720px) { .bp-sticky__brand { display: none; } }

.bp-sticky__plans { display: flex; gap: 8px; }
.bp-sticky__plan {
    display: inline-flex; align-items: baseline; gap: 8px;
    padding: 9px 16px; border-radius: var(--mono-radius-pill);
    background: var(--mono-surface);
    border: 1px solid var(--mono-border);
    color: var(--mono-ink); text-decoration: none;
    transition: var(--mono-transition-button);
}
.bp-sticky__plan:hover {
    background: var(--mono-lime); color: var(--mono-ink);
    border-color: var(--mono-lime);
    text-decoration: none; transform: translateY(-1px);
}
.bp-sticky__plan-name { font-size: 0.75rem; font-weight: var(--mono-w-bold); letter-spacing: var(--mono-track-body); }
.bp-sticky__plan-price { font-size: var(--mono-fs-cta); font-weight: var(--mono-w-extrabold); letter-spacing: -0.02em; }
.bp-sticky__plan-price small { font-size: 0.6875rem; font-weight: var(--mono-w-semibold); opacity: 0.7; margin-left: 2px; }
.bp-sticky__plan--featured {
    background: var(--mono-ink); border-color: var(--mono-ink); color: var(--mono-white);
}
.bp-sticky__plan--featured .bp-sticky__plan-price { color: var(--mono-lime); }
.bp-sticky__plan--featured:hover {
    background: var(--mono-ink-raised); border-color: var(--mono-ink-raised); color: var(--mono-white);
}

/* ==========================================================================
   USE CASES — ONE bordered panel, 3 hairline-divided cells (varied
   treatment, not three identical floating cards).
   ========================================================================== */
.bp-uses {
    background: var(--mono-surface);
    border: 1px solid var(--mono-border);
    border-radius: var(--mono-radius-2xl);
    overflow: hidden;
    display: grid; grid-template-columns: repeat(3, 1fr);
    max-width: 1180px; margin: 0 auto;
}
.bp-uses__item { padding: 32px 30px; border-right: 1px solid var(--mono-border); }
.bp-uses__item:last-child { border-right: 0; }
.bp-uses__icon {
    width: 44px; height: 44px;
    border-radius: var(--mono-radius-md);
    background: var(--mono-lime-pale); color: var(--mono-lime-ink);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.25rem; margin-bottom: var(--mono-space-4);
}
.bp-uses__item h3 {
    font-family: var(--mono-font-display);
    font-size: 1.0625rem; font-weight: var(--mono-w-bold);
    letter-spacing: -0.015em; line-height: 1.3;
    color: var(--mono-ink); margin: 0 0 8px;
}
.bp-uses__item p {
    font-size: var(--mono-fs-sm); line-height: 1.6;
    color: var(--mono-text-muted); margin: 0;
}
@media (max-width: 980px) {
    .bp-uses { grid-template-columns: 1fr; }
    .bp-uses__item { border-right: 0; border-bottom: 1px solid var(--mono-border); }
    .bp-uses__item:last-child { border-bottom: 0; }
}

/* ==========================================================================
   LOGOS — quiet grayscale strip on white (no band)
   ========================================================================== */
.bp-logos {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
    gap: 28px 44px; max-width: 1040px; margin: 0 auto;
}
.bp-logos img {
    height: 24px; max-width: 110px; object-fit: contain;
    opacity: 0.5; filter: grayscale(100%);
    transition: opacity var(--mono-dur), filter var(--mono-dur);
}
.bp-logos img:hover { opacity: 1; filter: grayscale(0%); }

/* ==========================================================================
   RISK REVERSAL — pale-lime tinted panel, 4 divided cells (affirmation
   surface; container box, never full-bleed)
   ========================================================================== */
.bp-risk-panel {
    background: var(--mono-lime-pale);
    border: 1px solid var(--mono-border);
    border-radius: var(--mono-radius-2xl);
    overflow: hidden;
    display: grid; grid-template-columns: repeat(4, 1fr);
    max-width: 1180px; margin: 0 auto;
}
.bp-risk {
    padding: 30px 26px;
    border-right: 1px solid rgba(17, 24, 39, 0.08);
}
.bp-risk:last-child { border-right: 0; }
.bp-risk__icon {
    width: 38px; height: 38px;
    border-radius: var(--mono-radius-md);
    background: var(--mono-lime); color: var(--mono-ink);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.0625rem; font-weight: var(--mono-w-extrabold);
    margin-bottom: var(--mono-space-3);
}
.bp-risk h3 {
    font-family: var(--mono-font-display);
    font-size: var(--mono-fs-cta); font-weight: var(--mono-w-extrabold);
    letter-spacing: -0.01em; color: var(--mono-ink);
    margin: 0 0 5px;
}
.bp-risk p {
    font-size: var(--mono-fs-sm); line-height: 1.5;
    color: var(--mono-gray-700); margin: 0;
}
@media (max-width: 980px) {
    .bp-risk-panel { grid-template-columns: 1fr 1fr; }
    .bp-risk { border-bottom: 1px solid rgba(17, 24, 39, 0.08); }
    .bp-risk:nth-child(2n) { border-right: 0; }
    .bp-risk:nth-child(n+3) { border-bottom: 0; }
}
@media (max-width: 560px) {
    .bp-risk-panel { grid-template-columns: 1fr; }
    .bp-risk { border-right: 0 !important; border-bottom: 1px solid rgba(17, 24, 39, 0.08) !important; }
    .bp-risk:last-child { border-bottom: 0 !important; }
}

/* ==========================================================================
   PACK LIST + ALL-ACCESS PANEL — hairline pack ledger on the left, sticky
   ink buy panel on the right (the page's second buy moment).
   JS contract: #bundle__packs-list + li.pack-name (initial hidden state
   for items 11+ is set by the page script — do not rename).
   ========================================================================== */
.bp-packs {
    display: grid; grid-template-columns: minmax(0, 1fr) 440px;
    gap: var(--mono-space-8); align-items: start;
    max-width: 1180px; margin: 0 auto;
}
.bp-packlist {
    list-style: none; margin: 0; padding: 0;
    border-top: 1px solid var(--mono-border);
}
.bp-packlist li.pack-name {
    position: relative;
    display: flex; align-items: baseline; gap: var(--mono-space-3);
    padding: 13px 4px;
    border-bottom: 1px solid var(--mono-border);
    font-family: var(--mono-font-display);
    font-size: var(--mono-fs-cta); font-weight: var(--mono-w-bold);
    letter-spacing: -0.01em; color: var(--mono-ink);
    transition: background var(--mono-dur);
}
.bp-packlist li.pack-name:hover { background: var(--mono-surface-subtle); }
.bp-packlist li.pack-name .info {
    margin-left: auto;
    display: inline-flex; align-items: baseline; gap: var(--mono-space-4);
    flex-shrink: 0;
}
.bp-packlist li.pack-name .info span:first-child {
    font-size: var(--mono-fs-sm); font-weight: var(--mono-w-normal);
    color: var(--mono-text-subtle); white-space: nowrap;
}
.bp-packlist li.pack-name .info span:last-child {
    font-size: var(--mono-fs-body); font-weight: var(--mono-w-bold);
    color: var(--mono-gray-700); min-width: 52px; text-align: right;
}
.bp-packlist li.pack-name .info small { font-size: 0.75em; }
/* Hover preview — thumbnail floats over the list, never captures the mouse */
.bp-packlist li.pack-name .on-hover {
    position: absolute; left: 34%; bottom: calc(100% - 8px); z-index: 5;
    opacity: 0; pointer-events: none;
    transition: opacity var(--mono-dur-slow) var(--mono-ease);
}
.bp-packlist li.pack-name .on-hover img.on-hover {
    position: static; opacity: inherit;
    max-width: 220px; border-radius: var(--mono-radius-md);
    border: 1px solid var(--mono-border);
    box-shadow: var(--mono-shadow-dropdown);
}
.bp-packlist li.pack-name:hover .on-hover { opacity: 1; }

/* "View all N packs" CTA row at the end of the ledger */
.bp-view-all-li { list-style: none; padding: 18px 0 0; margin: 0; }
.bp-view-all {
    display: inline-flex; align-items: center; gap: 10px;
    height: 46px; padding: 0 22px;
    border-radius: var(--mono-radius-pill);
    background: transparent; color: var(--mono-ink);
    border: 1px solid var(--mono-ink);
    font-family: var(--mono-font-display);
    font-size: var(--mono-fs-body); font-weight: var(--mono-w-bold);
    letter-spacing: var(--mono-track-body); text-decoration: none;
    transition: var(--mono-transition-button);
}
.bp-view-all:hover {
    background: var(--mono-lime); color: var(--mono-ink); border-color: var(--mono-lime);
    text-decoration: none; transform: translateY(-2px);
}
.bp-view-all__arrow {
    display: inline-flex; align-items: center; justify-content: center;
    flex-shrink: 0; transition: transform var(--mono-dur-slow);
}
.bp-view-all:hover .bp-view-all__arrow { transform: translateX(3px); }
.bp-view-all__txt { line-height: 1; }

/* All-access ink panel — sticky beside the ledger */
.bp-allaccess {
    position: sticky; top: 88px;
    background: var(--mono-surface-dark); color: var(--mono-white);
    border-radius: var(--mono-radius-2xl);
    box-shadow: var(--mono-shadow-panel);
    padding: 38px 34px;
}
.bp-allaccess__stat {
    display: block;
    font-family: var(--mono-font-display);
    font-size: 1.75rem; font-weight: var(--mono-w-extrabold);
    letter-spacing: var(--mono-track-heading); line-height: 1.15;
    color: var(--mono-lime);
    padding-bottom: 18px; margin-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.bp-allaccess__stat b {
    display: block; font-size: 1.0625rem;
    font-weight: var(--mono-w-bold); color: var(--mono-white);
    margin-top: 4px;
}
.bp-allaccess__title {
    font-family: var(--mono-font-display);
    font-size: 1.375rem; font-weight: var(--mono-w-extrabold);
    letter-spacing: -0.02em; line-height: 1.2;
    color: var(--mono-white); margin: 0 0 12px;
}
.bp-allaccess__copy {
    font-size: var(--mono-fs-body); line-height: 1.6;
    color: rgba(255, 255, 255, 0.78); margin: 0 0 24px;
}
.bp-allaccess__cta {
    display: flex; align-items: center; gap: var(--mono-space-3);
    width: 100%; padding: 16px 22px;
    border-radius: var(--mono-radius-pill);
    background: var(--mono-lime); color: var(--mono-ink);
    text-decoration: none;
    transition: var(--mono-transition-button);
}
.bp-allaccess__cta:hover {
    background: var(--mono-lime-bright); color: var(--mono-ink);
    text-decoration: none; transform: translateY(-2px);
    box-shadow: var(--mono-shadow-cta);
}
.bp-allaccess__cta-price {
    font-family: var(--mono-font-display);
    font-size: 1.625rem; font-weight: var(--mono-w-extrabold);
    letter-spacing: -0.03em; line-height: 1;
}
.bp-allaccess__cta-price small {
    font-size: 0.875rem; font-weight: var(--mono-w-bold);
    margin-right: 1px; vertical-align: top;
    position: relative; top: 3px;
}
.bp-allaccess__cta-label {
    font-size: var(--mono-fs-cta); font-weight: var(--mono-w-extrabold);
    letter-spacing: -0.01em; line-height: 1.15;
}
.bp-allaccess__cta-arrow {
    margin-left: auto; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    transition: transform var(--mono-dur-slow);
}
.bp-allaccess__cta:hover .bp-allaccess__cta-arrow { transform: translateX(3px); }

@media (max-width: 980px) {
    .bp-packs { grid-template-columns: 1fr; }
    /* Buy panel above the long ledger on mobile — conversion first */
    .bp-allaccess { order: -1; position: static; }
    .bp-packlist li.pack-name .on-hover { display: none; }
}
@media (max-width: 560px) {
    .bp-allaccess { padding: 28px 22px; border-radius: var(--mono-radius-xl); }
    .bp-packlist li.pack-name { flex-wrap: wrap; row-gap: 2px; }
    .bp-packlist li.pack-name .info { margin-left: 0; width: 100%; justify-content: space-between; }
}

/* ==========================================================================
   TESTIMONIALS — 3 mono cards, border-to-lime hover
   ========================================================================== */
.bp-quote { padding: var(--mono-space-6); display: flex; flex-direction: column; }
.bp-quote__stars { color: var(--mono-warning); font-size: 13px; letter-spacing: 2px; margin-bottom: 12px; }
.bp-quote__text {
    font-size: var(--mono-fs-cta); line-height: 1.6;
    letter-spacing: var(--mono-track-body);
    color: var(--mono-ink); margin: 0 0 18px; flex: 1;
}
.bp-quote__author { display: flex; align-items: center; gap: 12px; }
.bp-quote__avatar {
    width: 36px; height: 36px;
    border-radius: var(--mono-radius-md);
    background: var(--mono-lime-pale); color: var(--mono-lime-ink);
    display: flex; align-items: center; justify-content: center;
    font-size: 0.75rem; font-weight: var(--mono-w-extrabold);
    letter-spacing: 0.02em; flex-shrink: 0;
}
.bp-quote__name {
    font-size: var(--mono-fs-body); font-weight: var(--mono-w-bold);
    color: var(--mono-ink); line-height: 1.25;
}
.bp-quote__role { font-size: 0.75rem; color: var(--mono-text-subtle); line-height: 1.35; }

/* ==========================================================================
   FAQ — .mono-faq2 (shared) carries the layout; only the head lives here
   ========================================================================== */
.bp-faq__head { text-align: center; margin-bottom: 40px; }

/* ==========================================================================
   FINAL CTA — lime statement panel (container box, like the homepage final)
   ========================================================================== */
.bp-final {
    background: var(--mono-lime); color: var(--mono-ink);
    border-radius: var(--mono-radius-2xl);
    padding: 64px 40px; text-align: center;
    max-width: 1180px; margin: 0 auto;
}
.bp-final__h2 {
    font-family: var(--mono-font-display);
    font-size: var(--mono-fs-h2); font-weight: var(--mono-w-extrabold);
    letter-spacing: var(--mono-track-heading); line-height: var(--mono-lh-heading);
    color: var(--mono-ink); margin: 0 0 12px;
}
.bp-final__sub {
    font-size: var(--mono-fs-lead); color: rgba(17, 24, 39, 0.78);
    margin: 0 auto 28px; max-width: 52ch; line-height: 1.55;
}
/* Primary on lime — the lime hover would vanish, go darker instead */
.bp-final .mono-btn--primary:hover {
    background: var(--mono-ink-raised); color: var(--mono-white);
    border-color: var(--mono-ink-raised);
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.25);
}
.bp-final__fine {
    margin: 26px 0 0;
    font-size: 0.75rem; color: rgba(17, 24, 39, 0.7);
    letter-spacing: var(--mono-track-body);
}
@media (max-width: 720px) {
    .bp-final { padding: 48px 24px; border-radius: var(--mono-radius-xl); }
    .bp-final .mono-btn { width: 100%; max-width: 360px; }
}

/* 2026-06-10 round 2: "+ N more packs" affordance under the ledger */
.bp-packlist-more {
    margin: 14px 0 0;
    font-size: var(--mono-fs-sm);
    color: var(--mono-gray-500);
}
a.bp-more-link {
    color: var(--mono-ink);
    font-weight: var(--mono-w-semibold);
    text-decoration: none;
    border-bottom: 2px solid var(--mono-lime);
    padding-bottom: 1px;
}
a.bp-more-link:hover .mono-link__arrow { transform: translateX(3px); }
a.bp-more-link .mono-link__arrow { display: inline-block; transition: transform var(--mono-dur) var(--mono-ease); }
/* logos section: the old static strip rules are superseded by .mono-marquee */
.bp-logos { display: none; }
