/* BestProps v2 x WordPress: ARTICLES + PAGES (views article, page, archive, 404). Loaded after v2-wp.css.
   Ground elements use the v2 tokens (dark/light aware); everything inside .bpw-paper is the light sheet. */

/* ================================================================ reading progress */
.bpw-progress { position: fixed; left: 0; right: 0; top: var(--header-h, 72px); z-index: 40; height: 2px; pointer-events: none; opacity: 0; transition: opacity 0.25s; }
.bpw-progress.is-on { opacity: 1; }
.bpw-progress__bar { display: block; height: 100%; background: linear-gradient(90deg, var(--indigo-deep), var(--indigo)); transform: scaleX(0); transform-origin: 0 50%; }
body.admin-bar .bpw-progress { top: calc(var(--header-h, 72px) + 32px); }
@media (max-width: 782px) { body.admin-bar .bpw-progress { top: calc(var(--header-h, 72px) + 46px); } }
@media (max-width: 600px) { body.admin-bar .bpw-progress { top: var(--header-h, 72px); } }
@media (prefers-reduced-motion: reduce) { .bpw-progress { display: none; } }

/* ================================================================ hero tweaks */
.bpw-hero .lg-meta { row-gap: 12px; }
.bpw-hero .lg-meta dd a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--draft-2); }
.bpw-hero .lg-meta dd a:hover { border-bottom-color: var(--indigo); }
.bpw-hero .bp-eyebrow span:not(.bp-eyebrow__ref):not(.bp-eyebrow__rule) { overflow-wrap: anywhere; }
.bpw-hero .breadcrumb ol { flex-wrap: wrap; }
.bpw-hero .quick-answer { padding: clamp(18px, 2vw, 26px); }
.bpw-take > *:last-child { margin-bottom: 0; }
.bpw-take details { margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--draft-2); }
.bpw-take details summary { list-style: none; display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--indigo-ink); }
.bpw-take details summary::-webkit-details-marker { display: none; }
.bpw-take details summary::before { content: "+"; display: inline-grid; place-items: center; width: 16px; height: 16px; border: 1px solid var(--draft-2); border-radius: 3px; font-size: 12px; line-height: 1; }
.bpw-take details[open] summary::before { content: "\2212"; }
.bpw-take details[open] > *:not(summary) { margin-top: 10px; }
@media (max-width: 720px) {
  .bpw-hero .lg-meta > div { padding-right: 14px; margin-right: 14px; }
  .bpw-hero .lg-meta dd { font-size: 13px; }
}

/* ================================================================ rail: one sticky column, scrolls when tall */
.bpw-layout .lg-aside { min-width: 0; }
.bpw-rail { display: grid; gap: 0; align-content: start; }
.bpw-rail .lg-toc { position: static; }
.bpw-rail .bpw-rail-note { margin: 18px 0 0; }
.bpw-tocbox > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 0 16px; border: 1px solid var(--glass-edge); border-radius: 12px; background: var(--glass); box-shadow: inset 1px 1px 0 var(--glass-hi); }
.bpw-tocbox > summary::-webkit-details-marker { display: none; }
.bpw-tocbox > summary::after { content: ""; width: 8px; height: 8px; border-right: 1.5px solid var(--ink-3); border-bottom: 1.5px solid var(--ink-3); transform: translateY(-2px) rotate(45deg); transition: transform 0.2s; }
.bpw-tocbox[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
.bpw-tocbox__n { margin-left: auto; font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); }
@media (min-width: 1080px) {
  .bpw-rail { position: sticky; top: calc(var(--header-h, 72px) + 24px); max-height: calc(100vh - var(--header-h, 72px) - 48px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--draft-2) transparent; padding-right: 6px; }
  .bpw-tocbox > summary { display: none; }
  .bpw-tocbox:not([open]) > nav { display: block; }
}
@media (max-width: 1079px) {
  .bpw-tocbox[open] > summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
  .bpw-tocbox[open] .lg-toc { padding: 14px 16px 6px; border: 1px solid var(--glass-edge); border-top: 0; border-radius: 0 0 12px 12px; background: var(--glass); }
  .bpw-tocbox .lg-toc__title { display: none; }
  .bpw-tocbox .lg-toc ol { grid-template-columns: minmax(0, 1fr); }
}

/* ================================================================ ICT source recording (figure under the hero) */
.bpw-media { padding-bottom: clamp(20px, 3vw, 40px); }
.bpw-media__card { padding: clamp(14px, 1.8vw, 22px); display: grid; gap: 14px; }
.bpw-media__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; }
.bpw-media__head .bp-eyebrow { margin: 0; }
.bpw-media figure { margin: 0; }
.bpw-media .wp-block-embed__wrapper { position: relative; }
.bpw-media .wp-block-embed__wrapper::before { content: none !important; }
.bpw-media .bpw-yt__ext { display: none; }
.bpw-media figcaption { margin-top: 10px; font-size: 13.5px; line-height: 1.55; color: var(--ink-3); }
.bpw-media iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: 10px; }
@media (min-width: 1080px) { .bpw-media__card { max-width: 1040px; } }

/* ================================================================ YouTube click-to-load facade */
.bpw-yt { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: #0b0d19; isolation: isolate; }
.bpw-yt > iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border: 0; border-radius: 0 !important; }
.bpw-yt__btn { position: absolute; inset: 0; display: block; width: 100%; height: 100%; padding: 0; margin: 0; border: 0; background: #0b0d19; cursor: pointer; color: #fff; text-align: left; font: inherit; }
.bpw-yt__img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; border-radius: 0 !important; margin: 0 !important; opacity: 0.92; transition: opacity 0.25s, transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1); }
.bpw-yt__btn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5, 6, 11, 0.55), rgba(5, 6, 11, 0) 38%, rgba(5, 6, 11, 0) 70%, rgba(5, 6, 11, 0.35)); pointer-events: none; }
.bpw-yt__play { position: absolute; left: 50%; top: 50%; z-index: 1; width: 68px; height: 48px; transform: translate(-50%, -50%); }
.bpw-yt__play svg { display: block; width: 68px; height: 48px; }
.bpw-yt__bg { fill: rgba(18, 18, 24, 0.82); transition: fill 0.2s; }
.bpw-yt__btn:hover .bpw-yt__bg, .bpw-yt__btn:focus-visible .bpw-yt__bg { fill: #ff0033; }
.bpw-yt__btn:hover .bpw-yt__img { opacity: 1; transform: scale(1.015); }
.bpw-yt__btn:focus-visible { outline: 3px solid var(--focus, #9a95ff); outline-offset: -3px; }
.bpw-yt__t { position: absolute; left: 16px; right: 120px; top: 12px; z-index: 1; font-family: var(--font-sans); font-size: 15px; font-weight: 550; line-height: 1.35; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bpw-yt__ext { position: absolute; right: 12px; top: 12px; z-index: 2; padding: 5px 9px; border-radius: 6px; background: rgba(5, 6, 11, 0.7); color: #fff !important; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none !important; }
.bpw-yt__ext:hover, .bpw-yt__ext:focus-visible { background: #ff0033; }
.bpw-yt.is-live .bpw-yt__ext { display: none; }
@media (max-width: 560px) { .bpw-yt__t { font-size: 13px; right: 12px; top: auto; bottom: 10px; } .bpw-yt__ext { font-size: 9.5px; } }
/* inside WordPress embed figures the wrapper had a padding-top ratio box; the facade carries its own ratio */
.bpw-prose .wp-block-embed__wrapper:has(> .bpw-yt)::before { content: none; }
.bpw-prose .wp-block-embed__wrapper > .bpw-yt { position: relative; }
/* YT-EMBEDS: watch card for videos whose owner disabled playback on other sites (inc/articles.php bp_v2_yt_card) */
a.bpw-yt__btn, a.bpw-yt__btn:hover, a.bpw-yt__btn:visited { color: #fff !important; text-decoration: none !important; }
.bpw-yt__note { position: absolute; left: 50%; top: calc(50% + 38px); z-index: 1; transform: translateX(-50%); white-space: nowrap; padding: 5px 11px; border-radius: 999px; background: rgba(5, 6, 11, 0.74); color: #fff; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.3; }
.bpw-yt__btn:hover .bpw-yt__note, .bpw-yt__btn:focus-visible .bpw-yt__note { background: #ff0033; }
@media (max-width: 560px) { .bpw-yt__note { top: calc(50% + 30px); font-size: 10px; } .bpw-yt--card .bpw-yt__t { top: 10px; bottom: auto; } }

/* ================================================================ paper: components */
.bpw-prose > .bpw-sec:first-child { padding-top: 0; }
.bpw-prose .bpw-sec > h2:first-child { margin-top: 36px; }
.bpw-prose > .bpw-sec:first-child > h2:first-child { margin-top: 0; }
.bpw-prose h2, .bpw-prose h3 { scroll-margin-top: calc(var(--header-h, 72px) + 24px); }
.bpw-prose sup a { text-decoration: none !important; font-family: var(--font-mono); font-size: 0.72em; }
.bpw-prose [id^="ict-source-"]:target, .bpw-prose li:target { background: rgba(79, 72, 255, 0.08); border-radius: 6px; }

/* tables: every table can scroll sideways on small screens */
.bpw-tscroll { margin: 24px 0; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; }
.bpw-tscroll:focus-visible { outline: 2px solid #4f48ff; outline-offset: 2px; }
.bpw-tscroll > table { margin: 0 !important; border: 0 !important; }
.bpw-tscroll > table:not([class*="bpv-"]):not([class*="bp-"]) { display: table; width: 100%; }
.bpw-prose .bpw-sec > .bpw-tscroll > table:not([class*="bpv-"]) { display: table; }
.bpw-prose table { min-width: min(560px, 100%); }
.bpw-prose table th, .bpw-prose table td { overflow-wrap: normal; word-break: normal; }
.bpw-prose .wp-block-table table { margin: 0; }
.bpw-prose .bpv-table-wrap { -webkit-overflow-scrolling: touch; }
@media (max-width: 720px) {
  .bpw-prose table { font-size: 14px !important; }
  .bpw-prose table th, .bpw-prose table td { padding: 9px 10px !important; min-width: 108px; }
  .bpw-prose table th:first-child, .bpw-prose table td:first-child { min-width: 132px; }
}

/* research summary (child theme): slim drafting strip */
.bpw-prose .bp-pilot-research-summary { margin: 0 0 26px; padding: 0; border: 1px solid #e2e8f0; border-radius: 12px; background: #f8fafc; }
.bpw-prose .bp-pilot-research-summary > summary { list-style: none; display: flex; align-items: center; gap: 10px; padding: 12px 16px; cursor: pointer; font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: #3b34e6; font-weight: 500; }
.bpw-prose .bp-pilot-research-summary > summary::-webkit-details-marker { display: none; }
.bpw-prose .bp-pilot-research-summary > summary::before { content: "+"; display: inline-grid; place-items: center; width: 18px; height: 18px; border: 1px solid #c7cbe0; border-radius: 4px; font-size: 13px; line-height: 1; color: #3b34e6; }
.bpw-prose .bp-pilot-research-summary[open] > summary::before { content: "\2212"; }
.bpw-prose .bp-pilot-research-summary > div { padding: 0 16px 14px 44px; font-size: 15px; line-height: 1.6; color: #475569; }
.bpw-prose .bp-pilot-research-summary a { color: #3b34e6; }

/* evidence panel (Research and disclosure): v2 record card */
.bpw-prose .bp-editorial-evidence-panel { position: relative; margin: 40px 0 8px !important; padding: 22px 24px 18px !important; border: 1px solid #dfe3f0 !important; border-left: 1px solid #dfe3f0 !important; border-radius: 14px !important; background: linear-gradient(180deg, #f8f9ff, #fff 60%) !important; box-shadow: 0 18px 40px -32px rgba(20, 24, 60, 0.45) !important; font-size: 14.5px !important; line-height: 1.6 !important; color: #475569 !important; }
.bpw-prose .bp-editorial-evidence-panel::before { content: ""; position: absolute; left: -1px; top: -1px; width: 12px; height: 12px; border-left: 2px solid #4f48ff; border-top: 2px solid #4f48ff; border-top-left-radius: 14px; }
.bpw-prose .bp-editorial-evidence-panel p { margin: 0 0 10px !important; font-size: inherit !important; color: inherit !important; }
.bpw-prose .bp-editorial-evidence-panel p:last-child { margin-bottom: 0 !important; }
.bpw-prose .bp-editorial-evidence-panel .bp-evidence-title { display: flex; align-items: center; gap: 12px; margin: 0 0 14px !important; padding-bottom: 12px; border-bottom: 1px solid #e2e8f0; }
.bpw-prose .bp-editorial-evidence-panel .bp-evidence-title strong { font-family: var(--font-mono) !important; font-size: 11.5px !important; letter-spacing: 0.18em; text-transform: uppercase; color: #3b34e6 !important; font-weight: 500 !important; }
.bpw-prose .bp-editorial-evidence-panel .bp-evidence-title::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(79, 72, 255, 0.4), transparent); }
.bpw-prose .bp-editorial-evidence-panel p:not(.bp-evidence-title) > strong { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: #0b1220; font-weight: 600; }
.bpw-prose .bp-editorial-evidence-panel a { color: #3b34e6 !important; text-decoration: underline; text-decoration-color: rgba(79, 72, 255, 0.3); text-underline-offset: 3px; overflow-wrap: anywhere; }
.bpw-prose .bp-editorial-evidence-panel[data-bp-evidence-state="stale"] .bp-evidence-title strong { color: #7a4d00 !important; }
.bpw-prose .bp-editorial-evidence-panel .bp-evidence-links { padding-top: 10px; border-top: 1px dashed #e2e8f0; font-size: 13.5px !important; }

/* FAQ accordions (.bpv-faq) and plain details */
.bpw-prose .bpv-faq > summary h3, .bpw-prose .bpv-faq > summary h4 { margin: 0 !important; display: inline; font-size: 16.5px; }
.bpw-prose .bpv-faq > summary { display: block; }
.bpw-prose details:not([class]) { border: 1px solid #e2e8f0; border-radius: 12px; padding: 0 16px; background: #fff; }
.bpw-prose details:not([class]) > summary { padding: 12px 0; font-weight: 600; color: #0b1220; }
.bpw-prose details:not([class])[open] { padding-bottom: 12px; }

/* figures and images */
.bpw-prose .wp-block-image img, .bpw-prose figure img { display: block; margin-inline: auto; }
.bpw-prose .bpv-figure { overflow: hidden; }
.bpw-prose svg { max-width: 100%; height: auto; }
.bpw-prose .wp-block-embed.is-provider-youtube { margin: 28px 0; }
.bpw-prose .wp-block-embed figcaption, .bpw-prose .wp-element-caption { text-align: left; }

/* in-body "Table of Contents" blocks duplicate the rail on desktop; keep them (content) but quieter */
@media (min-width: 1080px) { .bpw-prose .bp-toc, .bpw-prose .bp-article-toc { opacity: 0.92; } }

/* ================================================================ ICT: prev / next and "more in this section" */
.bpw-pn-wrap { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-bottom: clamp(28px, 4vw, 48px); }
.bpw-pn { display: grid; gap: 8px; align-content: start; padding: 18px 20px; text-decoration: none; color: inherit; min-width: 0; }
.bpw-pn--next { text-align: right; }
.bpw-pn--empty { visibility: hidden; }
.bpw-pn__k { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--indigo-ink); }
.bpw-pn__t { font-size: 17px; font-weight: 600; line-height: 1.3; letter-spacing: -0.015em; color: var(--ink); }
.bpw-pn:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
@media (max-width: 720px) { .bpw-pn-wrap { grid-template-columns: minmax(0, 1fr); } .bpw-pn--next { text-align: left; } .bpw-pn--empty { display: none; } }

.bpw-more { display: grid; gap: 16px; padding-bottom: clamp(32px, 4vw, 56px); }
.bpw-more__head { display: grid; gap: 8px; }
.bpw-more__head .bp-eyebrow, .bpw-more__head h2 { margin: 0; }
.bpw-more__note { margin: 0; font-size: 14px; color: var(--ink-3); }
.bpw-more__all { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0; }

/* shared numbered rows (lp-row from learn.css) */
.bpw-ilist { padding: 4px 18px; }
.bpw-ilist .lp-row { grid-template-columns: 34px minmax(0, 1fr) auto 18px; }
.bpw-irow__go { color: var(--ink-3); transition: transform 0.2s, color 0.2s; }
a.bpw-irow:hover .bpw-irow__go, a.bpw-irow:focus-visible .bpw-irow__go { color: var(--indigo-ink); transform: translateX(3px); }
.bpw-irow__tail { display: block; padding: 0 4px 10px 48px; font-size: 13px; color: var(--ink-3); }
@media (max-width: 560px) { .bpw-ilist { padding: 2px 12px; } .bpw-ilist .lp-row { grid-template-columns: 28px minmax(0, 1fr) 14px; } .bpw-ilist .lp-row__kind { display: none; } }

/* ================================================================ library index pages (/ict/ ..., /prop-traders-guide/ ...) */
.bpw-index-page .ih-fig { align-self: center; }
.bpw-index-page .ih-fig__svg { width: 100%; height: auto; overflow: visible; }
.bpw-ilede { max-width: 66ch; }
.bpw-tldr { display: inline-block; margin-right: 6px; padding: 2px 7px; border: 1px solid var(--draft-2); border-radius: 3px; font-family: var(--font-mono); font-size: 0.62em; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--indigo-ink); vertical-align: 0.2em; }
.bpw-index { padding-bottom: clamp(48px, 6vw, 96px); }
.bpw-iprose { max-width: 1200px; counter-reset: bpwsec; font-size: 16.5px; line-height: 1.7; color: var(--ink-2); }
.bpw-iprose > .bpw-sec { padding-top: clamp(28px, 3.5vw, 48px); border-top: 1px solid var(--draft-2); }
.bpw-iprose > .bpw-sec--intro, .bpw-iprose > .bpw-sec:first-child { border-top: 0; padding-top: 0; }
.bpw-iprose > .bpw-sec + .bpw-sec { margin-top: clamp(28px, 3.5vw, 48px); }
.bpw-iprose .bpw-sec > h2:first-child { counter-increment: bpwsec; display: flex; align-items: baseline; gap: 14px; margin: 0 0 18px; font-size: clamp(28px, 1.8vw + 14px, 42px); font-weight: 650; letter-spacing: -0.035em; line-height: 1.08; color: var(--ink); scroll-margin-top: calc(var(--header-h, 72px) + 24px); }
.bpw-iprose .bpw-sec > h2:first-child::before { content: counter(bpwsec, decimal-leading-zero); font-family: var(--font-mono); font-size: 12px; font-weight: 400; letter-spacing: 0.1em; color: var(--indigo-ink); transform: translateY(-8px); }
.bpw-iprose h3 { margin: 26px 0 10px; font-size: 21px; font-weight: 600; letter-spacing: -0.02em; color: var(--ink); }
.bpw-iprose p { max-width: 76ch; margin: 0 0 14px; }
.bpw-iprose strong { color: var(--ink); font-weight: 600; }
.bpw-iprose a:not([class]) { color: var(--indigo-ink); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--indigo-ink) 40%, transparent); text-underline-offset: 3px; }
.bpw-iprose a:not([class]):hover { color: var(--ink); }
.bpw-iprose ul:not([class*="bpw-"]):not(.ict-grid):not(.lp__list) { max-width: 76ch; margin: 0 0 16px; }
.bpw-iprose ul:not([class*="bpw-"]):not(.ict-grid):not(.lp__list) > li { position: relative; padding: 8px 0 8px 26px; border-bottom: 1px solid var(--draft-2); }
.bpw-iprose ul:not([class*="bpw-"]):not(.ict-grid):not(.lp__list) > li::before { content: ""; position: absolute; left: 4px; top: 21px; width: 10px; height: 1px; background: var(--indigo); }
.bpw-iprose ol:not([class]) { max-width: 76ch; margin: 0 0 16px; padding-left: 1.4em; list-style: decimal; }

/* card grid (mockup ict-card) */
.bpw-igrid { margin: 18px 0 22px; }
.bpw-icard { position: relative; min-height: 100%; transition: box-shadow 0.35s ease, border-color 0.35s ease, transform 0.35s ease; }
.bpw-icard:hover, .bpw-icard:focus-within { border-color: transparent; box-shadow: inset 1px 1px 0 var(--glass-hi), var(--glass-glow); }
.bpw-icard .ict-card__name { font-size: 18.5px; line-height: 1.25; }
.bpw-icard__a { color: inherit; text-decoration: none; }
.bpw-icard__a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.bpw-icard__a:focus-visible { outline: none; }
.bpw-icard:focus-within { outline: 2px solid var(--focus); outline-offset: 3px; }
.bpw-icard .ict-card__blurb { color: var(--ink-2); }
.bpw-icard .ict-card__lvl { white-space: nowrap; }
.bpw-icard__go { margin-top: auto; padding-top: 4px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--indigo-ink); }
.bpw-icard--icon .bpw-icard__icon { width: 56px; height: 56px; margin: -4px 0 0 -6px; }

/* chips (link checklists, archive topics) */
.bpw-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 20px; padding: 0; list-style: none; }
.bpw-chips > li { margin: 0; padding: 0; border: 0; }
.bpw-chips > li::before { content: none !important; }
.bpw-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 6px 13px; border: 1px solid var(--draft-2); border-radius: 6px; background: color-mix(in srgb, var(--ground) 40%, transparent); color: var(--ink); text-decoration: none; font-size: 14.5px; line-height: 1.3; transition: border-color 0.2s, box-shadow 0.2s, color 0.2s; }
.bpw-chip span { font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); }
.bpw-chip:hover, .bpw-chip:focus-visible { border-color: var(--indigo); box-shadow: var(--glass-glow); }
.bpw-chip[aria-current="page"] { border-color: var(--indigo); color: var(--ink); background: color-mix(in srgb, var(--indigo) 14%, transparent); }
.bpw-chip__tail { font-size: 13px; color: var(--ink-3); }

/* filter for long write-up lists */
.bpw-ilist-wrap { margin: 16px 0 22px; }
.bpw-ifilter { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px 16px; margin-bottom: 12px; padding: 12px 16px; border: 1px solid var(--glass-edge); border-radius: 12px; background: var(--glass); box-shadow: inset 1px 1px 0 var(--glass-hi); }
.bpw-ifilter__in { min-width: 0; height: 38px; padding: 0 12px; border: 1px solid var(--draft-2); border-radius: 8px; background: transparent; color: var(--ink); font: inherit; font-size: 15px; }
.bpw-ifilter__in:focus { outline: none; border-color: var(--indigo); box-shadow: var(--glass-glow); }
.bpw-ifilter__n { font-family: var(--font-mono); font-size: 12px; color: var(--ink-3); white-space: nowrap; }
.bpw-ilist-wrap .bpw-ilist { border: 1px solid var(--glass-edge); border-radius: 14px; background: var(--glass); }
@media (max-width: 640px) { .bpw-ifilter { grid-template-columns: minmax(0, 1fr); } }

/* ================================================================ related */
.bpw-relcard__k { margin: -6px 0 6px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--indigo-ink); }

/* ================================================================ archive */
.bpw-topics { padding-bottom: 8px; }
.bpw-topics .bpw-chips { margin: 0 0 8px; }
.bpw-cards { list-style: none; margin: 0; padding: 0; }
.bpw-card { position: relative; }
.bpw-card__t { margin: 0; }
.bpw-card__a { color: inherit; text-decoration: none; }
.bpw-card__a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.bpw-card:focus-within { outline: 2px solid var(--focus); outline-offset: 3px; }
.bpw-card__a:focus-visible { outline: none; }
.bpw-card__d { margin: 0; }
.bpw-card__m { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: auto 0 0; padding-top: 12px; border-top: 1px solid var(--draft-2); font-family: var(--font-mono); font-size: 11.5px; color: var(--ink-3); }
.bpw-card__m .bpw-card__go { margin: 0 0 0 auto; }
.bpw-empty { padding: 24px; }
.bpw-empty p { margin: 0 0 12px; }

/* ================================================================ 404 */
.bpw-404-sugg, .bpw-404-sections { display: grid; gap: 12px; padding-bottom: clamp(32px, 4vw, 56px); }
.bpw-404-sugg h2, .bpw-404-sections h2, .bpw-404-sugg .bp-eyebrow, .bpw-404-sections .bp-eyebrow { margin: 0; }
.bpw-404 .bpw-search { margin-top: 4px; }

/* PARITY: author-card link separators (production wording "Meet the research team · Read our methodology");
   the links stack on narrow screens, where a trailing dot looks stray. */
@media (max-width: 600px) { .bpw-author-links .bpw-author-sep { display: none; } }
