/* Selected direction: quiet modular surfaces. Editorial content, not an app dashboard.
   Shared tokens and components; footer and reading-column typography stay independent. */
:root {
  --bs-accent: #242424;
  --bs-dark: #111111;
  --bs-ink: #242424;
  --bs-paper: #ffffff;
  --bs-surface: #f3f3f3;
  --bs-state-hover: #e8e8e8;
  --bs-line: #dedede;
  --bs-muted: #686868;
  --bs-focus: var(--bs-accent);
  --bs-link: #242424;
  --bs-space-1: 8px;
  --bs-space-2: 16px;
  --bs-space-3: 24px;
  --bs-space-4: 32px;
  --bs-space-6: 48px;
  --bs-section-space: 96px;
  --bs-radius: 4px;
  --bs-control-size: 48px;
  --bs-motion: 160ms ease;
}

/* Neutral editorial palette. Color belongs to photography, not UI accents. */
.bs-masthead { background: var(--bs-paper); border-color: var(--bs-line); }
.bs-nav a[aria-current], .bs-nav a:hover { color: var(--bs-link); }
.bs-nav a::after { background: var(--bs-accent); }
.bs-login { background: var(--bs-dark); color: #fff; border-color: transparent; font-weight:600; }
.bs-login:hover { background: var(--bs-dark); color: #fff; }
.bs-login:active { background:#000; }
.bs-read-link, .bs-section-heading > a, .bs-collection-more { color: var(--bs-link); }
.bs-search-dialog { background: var(--bs-paper); }
.bs-search-dialog::backdrop { background: #1111117a; }
.bs-article-body a { color: var(--bs-link); text-decoration: underline; text-underline-offset: 3px; }
.bs-intro { background: transparent; }
.bs-footer { background: var(--bs-dark); }
::selection { background: #d6d6d6; color: var(--bs-dark); }

.bs-header { width: min(1120px, calc(100% - 112px)); gap: 56px; }
.bs-logo img { width: 144px; }
.bs-nav { gap: 28px; }
.bs-header-actions { gap: 16px; }
.bs-header-search, .bs-menu-toggle, .bs-dialog-heading > button {
  width: var(--bs-control-size); height: var(--bs-control-size);
  border-radius: var(--bs-radius);
  transition: background var(--bs-motion);
}
/* Short login control (handoff); search/menu keep --bs-control-size. */
.bs-login { min-height: 40px; height: 40px; border-radius: var(--bs-radius); }
.bs-header-search:hover, .bs-menu-toggle:hover, .bs-dialog-heading > button:hover {
  background: var(--bs-surface);
}
:where(.bs-masthead, .bs-site, .bs-search-dialog) :is(a, button, input, summary):focus-visible {
  outline: 2px solid var(--bs-focus); outline-offset: 4px;
}
/* Twenty Twenty-Five applies an outline to every :focus, including pointer clicks.
   Suppress it only for pointer-focused header controls; keyboard focus stays visible. */
.bs-masthead :is(a, button):focus:not(:focus-visible) { outline: none; }
.bs-nav a:active, .bs-header-search:active, .bs-menu-toggle:active { background: var(--bs-state-hover); }
.bs-search-dialog { border-radius: 4px; padding: var(--bs-space-4); }
.bs-search-dialog .bs-dialog-heading { margin-bottom: 24px; gap: 24px; }
.bs-search-dialog .bs-dialog-heading h2 { font-size: 24px; line-height: 1.5; font-weight: var(--bs-title-weight, 400); }
.bs-search-dialog .bs-search-hint { margin: 24px 0 16px; }
html:has(.bs-search-dialog[open]) { overflow: hidden; }
.bs-search-form {
  border: 1px solid var(--bs-line); border-radius: var(--bs-radius);
  background: var(--bs-surface); transition: border-color var(--bs-motion), background var(--bs-motion);
}
.bs-search-form:focus-within { border-color: var(--bs-accent); background: #fff; outline: none; box-shadow: none; }
.bs-search-form input:focus, .bs-search-form input:focus-visible { outline: none; box-shadow: none; }
.bs-search-form input::placeholder { color: var(--bs-muted); opacity: 1; }
.bs-search-form button { border-radius: var(--bs-radius); }
.bs-search-form button:hover { background: var(--bs-surface); }
.bs-search-form button:focus-visible { outline-offset: -5px; }
@media (max-width: 680px) {
  .bs-search-dialog { padding: 24px; }
  .bs-search-dialog .bs-dialog-heading { gap: 12px; margin-bottom: 20px; }
  .bs-search-dialog .bs-dialog-heading h2 { font-size: 20px; }
}
.bs-search-suggestions { gap: var(--bs-space-1); }
.bs-search-suggestions a, .bs-post-tags a {
  padding: 8px 16px; min-height: var(--bs-control-size);
  border: 0; border-radius: var(--bs-radius); background: var(--bs-surface);
  transition: background var(--bs-motion);
}
.bs-search-suggestions a:hover, .bs-post-tags a:hover { background: var(--bs-state-hover); }
.bs-search-suggestions .dashicons { display: none; }
.bs-card-image { aspect-ratio: 8 / 5; border-radius: var(--bs-radius); }
.bs-card:focus-within h3 a { text-decoration: underline; text-underline-offset: 5px; }
.bs-post-meta { gap: var(--bs-space-2); font-size: 13px; }
.bs-card .bs-post-meta { margin: var(--bs-space-2) 0 var(--bs-space-1); }
.bs-read-link { min-height: 40px; }
.bs-pagination a, .bs-pagination span { min-width: 48px; min-height: 48px; border-radius: var(--bs-radius); }
.bs-pagination a:hover { background: var(--bs-surface); }
.bs-directory-item { border-top: 0; padding: var(--bs-space-3); background: var(--bs-surface); border-radius: var(--bs-radius); }
.bs-directory-item:hover { background: var(--bs-state-hover); }
.bs-directory-grid, .bs-card-grid { gap: var(--bs-space-4); }
.bs-listing .bs-card-grid { row-gap: var(--bs-space-6); }

/* Interior pages share the same restrained hierarchy as the homepage. */
.bs-listing-head { margin-bottom: var(--bs-space-4); }
.bs-listing .bs-card h2 {
  margin: 0; font-size: 22px; line-height: 1.5;
  font-weight: 700; letter-spacing: -.02em; text-wrap: pretty;
}
.bs-listing .bs-card h2 a:hover, .bs-listing .bs-card:focus-within h2 a {
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px;
}
.bs-nav a[aria-current=location] { font-weight: 750; }
.bs-nav a[aria-current=location]::after { transform: scaleX(1); }
.bs-article-body img, .bs-article-cover img {
  max-height: min(720px, 80svh); object-fit: contain;
}
.bs-article-body :is(h2, h3) { scroll-margin-top: 112px; }
.bs-post-nav .nav-links { gap: var(--bs-space-3); }
.bs-post-nav .nav-links a {
  display: block; height: 100%; padding: var(--bs-space-3);
  background: var(--bs-surface); border-radius: var(--bs-radius);
}
.bs-post-nav .nav-links a:hover { background: var(--bs-state-hover); }
@media (max-width: 680px) {
  .bs-post-nav .nav-links { grid-template-columns: 1fr; }
  .bs-post-nav .nav-next { text-align: left; }
}

/* Image-led issue index, adapted from the existing Brandstar issue page. */
.bs-report-section{margin-top:88px;scroll-margin-top:100px}
.bs-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}
.bs-report-cover{display:flex;align-items:center;justify-content:center;aspect-ratio:8/5;background:#f7f7f5;overflow:hidden}
.bs-report-cover>img{width:100%;height:100%;object-fit:contain}
.bs-report-cover-fallback{padding:28px;font-size:26px;font-weight:650;line-height:1.45}
.bs-report-meta{display:flex;gap:16px;margin:16px 0 8px;color:var(--bs-muted);font-size:13px}
.bs-report-card h3{font-size:22px;line-height:1.5;margin:0}
.bs-report-card h3 a:hover,.bs-report-related a:hover{text-decoration:underline;text-underline-offset:5px}
.bs-report-related{margin-top:80px}
.bs-report-related h2{font-size:26px;margin-bottom:24px}
.bs-report-related ul{list-style:none;padding:0;margin:0}
.bs-report-related li{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--bs-line)}
.bs-report-related li>span{color:var(--bs-muted);font-size:14px}
.bs-report-related h3{font-size:20px;line-height:1.5;margin:0}
@media(max-width:980px){.bs-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.bs-report-section{margin-top:60px}.bs-report-grid{grid-template-columns:1fr;gap:34px}.bs-report-card h3{font-size:21px}.bs-report-related{margin-top:56px}.bs-report-related li{grid-template-columns:1fr;gap:6px}.bs-report-related h3{font-size:19px}}
.bs-issues .bs-listing-head { max-width: 960px; }
.bs-issues .bs-listing-head h1 { font-weight: 700; }
.bs-issue-filters { display: flex; flex-wrap: wrap; gap: 12px; margin: 36px 0 32px; }
.bs-issue-filters a { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 22px; font-size: 15px; }
.bs-issue-filters a[aria-current] { color: #fff; background: var(--bs-dark); }
.bs-issue-filters a:not([aria-current]):hover { background: var(--bs-surface); }
.bs-issues-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.bs-issue-tile { display: grid; position: relative; min-height: 330px; color: #fff; background: #333; isolation: isolate; border-radius: var(--bs-radius); overflow: hidden; }
.bs-issue-tile > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.bs-issue-tile::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,#11111138,#111111e0); z-index: -1; }
.bs-issue-tile-copy { padding: 24px; display: flex; flex-direction: column; align-items: flex-start; }
.bs-issue-stage { background: #fff; color: #171717; padding: 4px 10px; font-size: 12px; line-height: 1.5; margin-bottom: 20px; }
.bs-issue-tile h2 { font-size: 24px; line-height: 1.4; font-weight: 700; margin: 0 0 12px; }
.bs-issue-tile p { font-size: 15px; line-height: 1.8; margin: 0 0 24px; }
.bs-issue-tile-meta { display: flex; width: 100%; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; font-size: 12px; }
.bs-issue-tile:hover h2 { text-decoration: underline; text-underline-offset: 5px; }
.bs-issues-source-note { color: var(--bs-muted); font-size: 13px; margin-top: 20px; }
@media (max-width: 980px) { .bs-issues-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 680px) {
  .bs-issues-grid { grid-template-columns: 1fr; }
  .bs-issue-tile { min-height: 310px; }
  .bs-issue-filters { gap: 8px; margin-top: 24px; }
  .bs-issue-filters a { padding-inline: 18px; }
}

/* Curated reading and multi-source events share a quiet, list-first hierarchy. */
.bs-curation-tabs { display:flex; gap:28px; margin-bottom:32px; font-size:15px; }
.bs-curation-tabs a { padding:10px 0; border-bottom:2px solid transparent; }
.bs-curation-tabs a[aria-current] { border-color:var(--bs-ink); font-weight:700; }
.bs-curated-items, .bs-hot-items, .bs-event-timeline { list-style:none; margin:0; padding:0; }
.bs-curated-items li { display:grid; gap:24px; align-items:center; padding:28px 0; border-bottom:1px solid var(--bs-line); }
.bs-curated-items li.has-cover { grid-template-columns:180px minmax(0,1fr); }
.bs-curated-items h2, .bs-hot-items h2 { font-size:22px; line-height:1.55; margin:8px 0; font-weight:650; }
.bs-curated-items a:hover, .bs-hot-items h2 a:hover, .bs-event-timeline a:hover { text-decoration:underline; text-underline-offset:5px; }
.bs-curated-thumb { aspect-ratio:8/5; overflow:hidden; background:var(--bs-surface); }
.bs-curated-thumb img { width:100%; height:100%; object-fit:cover; }
.bs-curated-detail, .bs-event-detail { padding:40px 0 80px; }
.bs-curated-detail h1, .bs-event-detail h1 { font-size:clamp(30px,4vw,42px); line-height:1.45; margin:20px 0 32px; }
.bs-curated-cover { margin:32px 0; }
.bs-curated-cover img { width:100%; max-height:520px; object-fit:contain; }
.bs-curated-reason { padding:24px; background:var(--bs-surface); margin:32px 0; }
.bs-curated-reason h2 { font-size:14px; margin:0 0 10px; }
.bs-curated-reason p { margin:0; font-size:17px; line-height:1.85; }
.bs-curated-end { margin-top:40px; }
.bs-curated-end p, .bs-data-time { color:var(--bs-muted); font-size:13px; line-height:1.8; }
.bs-hot-items li { display:grid; grid-template-columns:40px minmax(0,1fr) 80px; gap:24px; padding:30px 0; border-bottom:1px solid var(--bs-line); }
.bs-hot-items h2 { margin-top:0; }
.bs-hot-items p { margin:12px 0 4px; }
.bs-hot-items p, .bs-hot-items li > div > span { color:var(--bs-muted); font-size:13px; }
.bs-hot-rank { font-size:20px; color:var(--bs-muted); padding-top:4px; }
.bs-hot-heat { text-align:right; padding-top:5px; }
.bs-hot-heat strong { display:block; font-size:22px; }
.bs-hot-heat small { color:var(--bs-muted); font-size:11px; }
.bs-hot-method { margin-top:32px; font-size:14px; line-height:1.8; }
.bs-hot-method summary { cursor:pointer; }
.bs-event-summary { margin:40px 0; font-size:18px; line-height:1.95; }
.bs-event-summary h2, .bs-event-section > h2 { font-size:24px; margin:0 0 24px; }
.bs-event-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:24px; background:var(--bs-surface); }
.bs-event-metrics dt { color:var(--bs-muted); font-size:13px; }
.bs-event-metrics dd { font-size:26px; margin:8px 0 0; }
.bs-event-section { margin-top:56px; }
.bs-event-timeline li { display:grid; grid-template-columns:90px minmax(0,1fr); gap:20px; margin-bottom:28px; }
.bs-event-timeline time, .bs-event-timeline li > div > span { color:var(--bs-muted); font-size:12px; }
.bs-event-timeline h3 { font-size:18px; line-height:1.7; margin:4px 0 8px; }
.bs-event-timeline p { font-size:15px; line-height:1.85; color:var(--bs-muted); margin:0; }
@media(max-width:680px) {
  .bs-curated-items li.has-cover { grid-template-columns:96px minmax(0,1fr); gap:16px; }
  .bs-curated-items h2, .bs-hot-items h2 { font-size:18px; }
  .bs-hot-items li { grid-template-columns:24px minmax(0,1fr) 52px; gap:12px; }
  .bs-event-timeline li { grid-template-columns:1fr; gap:6px; }
  .bs-event-metrics { gap:12px; padding:20px 16px; }
}

.bs-method-archive { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 32px; margin-bottom:64px; }
.bs-method-archive img { width:100%; aspect-ratio:8/5; object-fit:cover; border-radius:var(--bs-radius); }
.bs-method-archive h2 { font-size:26px; margin:20px 0 12px; }
.bs-method-archive p { color:var(--bs-muted); }
.bs-method-detail { padding-top:64px; padding-bottom:96px; }
.bs-method-detail h1 { font-size:clamp(36px,5vw,52px); margin:24px 0; }
.bs-method-detail .bs-article-body { margin-top:48px; }
.bs-method-cases { padding:0; list-style:none; }
.bs-method-cases li { margin:24px 0; font-size:20px; }
@media(max-width:680px){ .bs-method-archive {grid-template-columns:1fr;gap:36px;} .bs-method-detail{padding-top:40px;} }
.bs-share-controls { width:min(720px,calc(100% - 40px)); margin:32px auto; }
.bs-curated-end .bs-share-controls { width:100%; }
.bs-reader-controls {display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:32px;margin-bottom:32px;}
.bs-reader-action {background:none;color:var(--bs-ink);border:0;border-bottom:1px solid #bbb;padding:8px 0;cursor:pointer;font:inherit;}
.bs-reader-action[aria-pressed="true"] {border-color:var(--bs-ink);font-weight:600;}
.bs-reader-action:disabled {opacity:.6;cursor:wait;}
[data-reader-status] {font-size:15px;color:var(--bs-muted);}
.bs-reader-page {padding-top:64px;padding-bottom:96px;min-height:60vh;}
.bs-reader-page h1 {font-size:40px;margin:0 0 32px;}
.bs-reader-list {list-style:none;padding:0;}
.bs-reader-list li {margin:32px 0;}
.bs-reader-list h2 {font-size:24px;line-height:1.5;margin:0 0 12px;}
.bs-video-detail {padding-top:48px;padding-bottom:96px;}
.bs-video-detail h1 {font-size:clamp(30px,4vw,48px);margin-top:32px;margin-bottom:40px;line-height:1.4;}
.bs-video-detail video {display:block;width:100%;max-height:75vh;background:#111;margin-bottom:48px;}
.bs-share-trigger { min-height:48px; padding:12px 22px; color:var(--bs-ink); border:1px solid var(--bs-ink); background:transparent; font:inherit; cursor:pointer; }
.bs-share-trigger:hover { background:var(--bs-surface); }
#bs-share-dialog { width:min(510px,calc(100% - 32px)); max-height:90dvh; overflow:auto; border:0; padding:24px; background:#fff; color:var(--bs-ink); }
#bs-share-dialog::backdrop { background:#1118; }
#bs-share-dialog [hidden] { display:none!important; }
#bs-share-dialog .bs-dialog-heading { margin-bottom:12px; }
#bs-share-dialog h2 { font-size:22px; }
#bs-share-dialog [data-share-preview] { width:100%; height:auto; }
#bs-share-dialog [data-share-download] { display:block; padding:12px; text-align:center; background:#111; color:#fff; margin-top:20px; }
.bs-share-notice, #bs-share-dialog [role="status"] { font-size:13px; color:var(--bs-muted); line-height:1.8; }
html:has(#bs-share-dialog[open]) { overflow:hidden; }

/* Opt-in editorial chapters. The surrounding navigation remains monochrome. */
.bs-collection[data-editorial-tone="umber"] { --chapter-bg: #48251d; --chapter-ink: #ebe6e3; --chapter-paper: #dedbd9; --chapter-text: #35251f; }
.bs-collection[data-editorial-tone="olive"] { --chapter-bg: #333c2c; --chapter-ink: #e4e6de; --chapter-paper: #dce0d6; --chapter-text: #2c3327; }
.bs-collection[data-editorial-tone="plum"] { --chapter-bg: #382f40; --chapter-ink: #e8e2eb; --chapter-paper: #ddd7e0; --chapter-text: #352c3b; }
.bs-collection[data-editorial-tone="slate"] { --chapter-bg: #303d49; --chapter-ink: #e2e7eb; --chapter-paper: #d4dde4; --chapter-text: #283641; }
.bs-collection:is([data-editorial-tone="umber"],[data-editorial-tone="olive"],[data-editorial-tone="plum"],[data-editorial-tone="slate"]) {
  background: var(--chapter-bg); color: var(--chapter-ink); padding: 32px; border: 0;
}
.bs-collection:not([data-editorial-tone="mono"])[data-editorial-tone] .bs-collection-steps {
  background: var(--chapter-paper); color: var(--chapter-text); padding: 24px; border-radius: 8px;
}
.bs-collection:not([data-editorial-tone="mono"])[data-editorial-tone] .bs-collection-steps li > span { color: var(--chapter-text); }
.bs-collection:not([data-editorial-tone="mono"])[data-editorial-tone] .bs-collection-more { color: var(--chapter-ink); }
@media(max-width:680px) {
  .bs-collection:not([data-editorial-tone="mono"])[data-editorial-tone] { padding: 20px; }
  .bs-collection:not([data-editorial-tone="mono"])[data-editorial-tone] .bs-collection-steps { padding: 20px; }
}

/* Issue archive detail: a restrained cover and two readable content columns. */
.bs-issue-detail { padding-top: 32px; padding-bottom: 72px; }
.bs-issue-detail > .bs-back-link { min-height: 44px; margin-bottom: 20px; }
.bs-issue-hero { position: relative; isolation: isolate; min-height: 320px; display: flex; align-items: flex-end; color: #fff; }
.bs-issue-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.bs-issue-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#111111e0,#11111133); z-index: -1; }
.bs-issue-hero > div { padding: 40px; max-width: 800px; }
.bs-issue-hero .bs-issue-stage { display: inline-block; margin-bottom: 16px; }
.bs-issue-hero h1 { font-size: clamp(32px,4vw,48px); line-height: 1.3; font-weight: 700; margin: 0 0 16px; }
.bs-issue-hero p { font-size: 18px; line-height: 1.8; margin: 0; }
.bs-issue-markers { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; padding: 32px 0; margin: 0 0 48px; border-bottom: 1px solid var(--bs-line); }
.bs-issue-markers dt { color: var(--bs-muted); font-size: 14px; margin-bottom: 8px; }
.bs-issue-markers dd { margin: 0; font-size: 18px; font-weight: 600; }
.bs-issue-detail-body { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 64px; }
.bs-issue-detail-body h2 { font-size: 26px; font-weight: 700; margin: 0 0 24px; }
.bs-issue-detail-body h2 > span { color: var(--bs-muted); font-size: 16px; font-weight: 400; margin-left: 8px; }
.bs-issue-judgment { font-size: 18px; line-height: 1.95; }
.bs-issue-judgment p { margin: 0 0 24px; }
.bs-issue-actions { padding-left: 20px; font-size: 16px; line-height: 1.9; }
.bs-issue-actions li { padding-left: 4px; margin-bottom: 12px; }
.bs-issue-update { margin-top: 32px; font-size: 14px; color: var(--bs-muted); line-height: 1.8; }
.bs-issue-cases { list-style: none; padding: 0; margin: 0; display: grid; gap: 24px; }
.bs-issue-cases li { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 16px; }
.bs-issue-cases li > span { color: var(--bs-muted); font-size: 14px; padding-top: 4px; }
.bs-issue-cases h3 { margin: 0; font-size: 18px; line-height: 1.7; font-weight: 600; }
.bs-issue-cases h3 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.bs-issue-cases small { display: block; font-size: 12px; color: var(--bs-muted); margin-top: 6px; }
.bs-issue-detail-end { display: flex; justify-content: space-between; gap: 24px; margin-top: 64px; }
.bs-issue-detail-end a { display: inline-flex; min-height: 48px; align-items: center; font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 680px) {
  .bs-issue-hero { min-height: 300px; }
  .bs-issue-hero > div { padding: 24px; }
  .bs-issue-hero p { font-size: 16px; }
  .bs-issue-markers { grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 32px; }
  .bs-issue-detail-body { grid-template-columns: 1fr; gap: 40px; }
  .bs-issue-judgment { font-size: 17px; }
}

/* Curated collections: image-led editorial rows without card frames. */
.bs-collection-index { display: flex; flex-wrap: wrap; gap: 8px 32px; margin: 0 0 56px; }
.bs-collection-index a { display: flex; align-items: center; min-height: 48px; font-size: 16px; text-decoration: underline; text-underline-offset: 6px; text-decoration-color: #c7c7c2; }
.bs-collection-index a:hover { text-decoration-color: currentColor; }
.bs-collection-list { display: grid; gap: var(--bs-section-space); }
.bs-collection { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); align-items: start; gap: 48px; scroll-margin-top: 104px; }
.bs-collection-no-image { grid-template-columns: 1fr; }
.bs-collection-image { display: block; aspect-ratio: 8 / 5; overflow: hidden; }
.bs-collection-image img { width: 100%; height: 100%; object-fit: cover; }
.bs-collection h2 { font-size: 28px; line-height: 1.5; margin: 0 0 28px; font-weight: 700; text-wrap: pretty; }
.bs-collection-steps { list-style: none; counter-reset: reading-step; padding: 0; margin: 0; display: grid; gap: 24px; }
.bs-collection-steps li { counter-increment: reading-step; position: relative; padding-left: 40px; }
.bs-collection-steps li::before { content: counter(reading-step, decimal-leading-zero); position: absolute; left: 0; top: 0; color: var(--bs-muted); font-size: 14px; line-height: 1.7; }
.bs-collection-steps li > span { display: block; color: var(--bs-muted); font-size: 14px; margin-bottom: 6px; }
.bs-collection h3 { font-size: 18px; line-height: 1.65; margin: 0; font-weight: 600; }
.bs-collection h3 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.bs-collection-more { display: inline-flex; align-items: center; min-height: 48px; margin-top: 20px; font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 800px) {
  .bs-collection { gap: 28px; }
  .bs-collection h2 { font-size: 24px; }
}
@media (max-width: 680px) {
  .bs-collection-index { margin-bottom: 32px; gap: 4px 20px; }
  .bs-collection-index a { font-size: 14px; }
  .bs-collection { grid-template-columns: 1fr; gap: 24px; }
  .bs-collection h2 { margin-bottom: 24px; }
}

/* Homepage composition follows the selected mock; the 1120px content limit is retained. */
.bs-home { padding-top: var(--bs-space-4); }
.bs-home .bs-lead { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 0; }
.bs-home .bs-lead-visual { border-radius: var(--bs-radius) 0 0 var(--bs-radius); }
.bs-home .bs-lead-copy {
  padding: var(--bs-space-4); background: var(--bs-surface);
  border-radius: 0 var(--bs-radius) var(--bs-radius) 0;
}
.bs-home .bs-lead .bs-post-meta { margin-bottom: var(--bs-space-3); }
.bs-home .bs-lead h2 { font-size: clamp(28px, 2.75vw, 38px); line-height: 1.4; }
.bs-home .bs-title-break { display: initial; }
.bs-home .bs-lead-summary { font-size: 20px; line-height: 1.6; margin: 24px 0; }
.bs-home .bs-lead-deck { font-size: 16px; line-height: 1.9; margin-bottom: var(--bs-space-4); }
.bs-home .bs-lead .bs-read-link {
  padding: 10px 28px; min-width: 144px; justify-content: center;
  color: #fff; background: var(--bs-ink); border: 0; border-radius: var(--bs-radius); font-size: 16px;
  transition: background var(--bs-motion); margin-top: auto;
}
.bs-home .bs-lead .bs-read-link:hover { background: #363633; }
.bs-home .bs-lead .bs-read-link:active { background: #50504c; }
.bs-home .bs-lead .bs-read-link .dashicons,
.bs-home .bs-section-heading > a .dashicons { display: none; }
.bs-home .bs-section-heading { margin-bottom: var(--bs-space-3); gap: var(--bs-space-3); }
.bs-home .bs-section-heading h2 { font-size: 32px; line-height: 1.4; }
.bs-home .bs-section-heading > a { min-height: var(--bs-control-size); font-size: 14px; }
.bs-home .bs-recommend { margin-top: var(--bs-section-space); padding: 0; border: 0; }
.bs-home .bs-home-section { margin-top: var(--bs-section-space); }
.bs-home .bs-home-expanded { padding-bottom: var(--bs-section-space); }
.bs-home .bs-home-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bs-space-3); }
.bs-home .bs-home-cards .bs-card-image,
.bs-home .bs-recent-grid .bs-card-image { height: auto; aspect-ratio: 8 / 5; }
.bs-home .bs-card h3 { font-size: 22px; line-height: 1.5; }
.bs-home .bs-latest { gap: var(--bs-space-6); }
.bs-home .bs-recent-grid { gap: 40px 24px; }
.bs-home .bs-news-feed { border: 0; padding-left: 0; }
.bs-home .bs-news-feed li { grid-template-columns: 1fr; gap: 8px; padding: 20px 0; }
.bs-home .bs-news-feed li:first-child { padding-top: 0; }
.bs-home .bs-news-feed li:last-child { border-bottom: 0; padding-bottom: 0; }
.bs-home .bs-news-feed time { line-height: 1.5; }
.bs-home .bs-news-feed h3 { font-size: 17px; line-height: 1.65; font-weight: 600; }
.bs-home .bs-video-feature { background: var(--bs-surface); border-radius: var(--bs-radius); overflow: hidden; }
.bs-home .bs-video-copy { padding: var(--bs-space-4); }
.bs-home .bs-issue-grid { gap: 24px; }
.bs-home .bs-issue-card { border: 0; padding: var(--bs-space-4); background: var(--bs-surface); border-radius: var(--bs-radius); }
.bs-home .bs-issue-card h3 { font-size: 24px; }
.bs-home .bs-method-grid { gap: var(--bs-space-3); }
.bs-home .bs-method-card > img { border-radius: var(--bs-radius); }
.bs-home .bs-brand-links { gap: 0 var(--bs-space-4); }
.bs-home .bs-brand-links > a { min-height: 72px; }
.bs-home .bs-trusted-section { padding-top: 0; }
.bs-home .bs-trusted-grid { gap: var(--bs-space-3); }
.bs-home .bs-trusted-grid > a {
  aspect-ratio: 6 / 5; min-height: 0; padding: 0;
  border: 0; border-radius: 0; background: transparent;
}
.bs-home .bs-trusted-grid > a:hover { outline: none; }
.bs-home .bs-trusted-grid > a:focus:not(:focus-visible) { outline: none; }
.bs-home .bs-trusted-grid > a:focus-visible { outline: 2px solid var(--bs-focus); outline-offset: 4px; }
.bs-home .bs-trusted-grid img {
  width: var(--bs-logo-width, 44%); max-width: 100%; height: auto;
  aspect-ratio: 1; object-fit: contain; filter: grayscale(1);
}
/* Account for whitespace already embedded in the original square assets.
   Wordmarks need more canvas than dense symbols; source files stay untouched. */
.bs-trusted-grid img[src$="2390.webp"],
.bs-trusted-grid img[src$="3434.png"],
.bs-trusted-grid img[src$="1974.jpg"] { --bs-logo-width: 80%; }
.bs-trusted-grid img[src$="3191.jpg"] { --bs-logo-width: 54%; }
.bs-trusted-grid img[src$="2024.jpg"] { --bs-logo-width: 60%; }
.bs-trusted-grid img[src$="3013.jpeg"] { --bs-logo-width: 70%; }
.bs-trusted-grid img[src$="747.jpg"] { --bs-logo-width: 50%; }
.bs-trusted-grid img[src$="1159.jpg"] { --bs-logo-width: 78%; }
.bs-home .bs-intro { padding: 48px 0; }
.bs-home .bs-topic-shortcuts > a { min-height: 48px; display: flex; align-items: center; }

@media (min-width: 801px) {
  .bs-home .bs-lead-visual { min-height: 480px; }
}
@media (max-width: 1100px) {
  .bs-header { gap: 32px; }
  .bs-nav { gap: 20px; }
  .bs-home .bs-lead-copy { padding: 24px; }
  .bs-home .bs-lead h2 { font-size: 30px; }
  .bs-home .bs-lead-summary { font-size: 18px; }
  .bs-home .bs-latest { gap: 32px; }
}
@media (max-width: 980px) {
  .bs-header { width: calc(100% - 64px); gap: 24px; }
  .bs-logo img { width: 128px; }
  .bs-nav { gap: 16px; }
  .bs-header-actions { gap: 8px; }
  .bs-home .bs-lead { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
}
@media (max-width: 800px) {
  :root { --bs-section-space: 64px; }
  .bs-home .bs-lead { grid-template-columns: 1fr; }
  .bs-home .bs-lead-visual { aspect-ratio: 8 / 5; border-radius: var(--bs-radius) var(--bs-radius) 0 0; }
  .bs-home .bs-lead-copy { padding: 32px; border-radius: 0 0 var(--bs-radius) var(--bs-radius); }
  .bs-home .bs-lead h2 { font-size: 32px; }
  .bs-home .bs-title-break { display: none; }
  .bs-home .bs-latest { gap: var(--bs-section-space); }
  .bs-home .bs-news-feed li:first-child { padding-top: 20px; }
  .bs-nav a { padding-inline: 12px; border-radius: var(--bs-radius); }
  .bs-nav a[aria-current] { background: var(--bs-surface); }
  .bs-nav a::after { display: none; }
}
@media (max-width: 680px) {
  :root { --bs-section-space: 56px; }
  .bs-header { width: calc(100% - 40px); gap: 16px; }
  .bs-logo img { width: 114px; }
  .bs-header-actions { gap: 4px; }
  .bs-home { padding-top: 24px; }
  .bs-home .bs-lead-copy { padding: 24px; }
  .bs-home .bs-lead h2 { font-size: 28px; }
  .bs-home .bs-lead .bs-post-meta { margin-bottom: 16px; }
  .bs-home .bs-lead-summary { margin: 20px 0; }
  .bs-home .bs-lead-deck { font-size: 15px; margin-bottom: 24px; }
  .bs-home .bs-section-heading { gap: 16px; margin-bottom: 20px; }
  .bs-home .bs-section-heading h2 { font-size: 24px; }
  .bs-home .bs-section-heading > a { font-size: 13px; }
  .bs-home .bs-home-cards { grid-template-columns: 1fr; gap: 32px; }
  .bs-home .bs-recent-grid { gap: 32px 16px; }
  .bs-home .bs-recent-grid .bs-card h3 { font-size: 17px; }
  .bs-home .bs-recent-grid .bs-post-meta { flex-wrap: wrap; gap: 4px 8px; }
  .bs-home .bs-issue-card { padding: 24px; }
  .bs-home .bs-issue-card h3 { font-size: 22px; }
  .bs-home .bs-video-copy { padding: 24px; }
  .bs-home .bs-method-grid { gap: 28px 16px; }
  .bs-home .bs-trusted-grid { gap: 12px; }
  .bs-home .bs-intro { padding: 32px 0; }
  .bs-search-dialog { padding: 24px; }
}
@media (max-width: 360px) {
  .bs-header { width: calc(100% - 32px); gap: 8px; }
  .bs-logo img { width: 104px; }
  .bs-header-actions { gap: 0; }
}
@media (prefers-reduced-motion: reduce) {
  :root { --bs-motion: 0s; }
}
.bs-comments { margin-block: var(--bs-section-space,96px); }
.bs-comment-list { list-style:none; padding:0; }
.bs-comment-list .children { list-style:none; padding-inline-start:24px; }
.bs-comment-list .comment-body { padding-block:20px; border-bottom:1px solid #e1e1df; }
.bs-comment-list .comment-meta { font-size:14px; color:#6a6a68; }
.bs-comments textarea { width:100%; min-height:140px; border:1px solid #c6c6c4; padding:16px; font:inherit; background:white; }
.bs-comments > h2 { font-size:26px; margin:0 0 24px; }
.bs-comments .comment-reply-title { font-size:22px; margin:0 0 20px; }
.bs-comments .comment-form p { margin:0 0 20px; }
.bs-comments .comment-form-comment label { display:block; margin-bottom:10px; }
.bs-comments textarea { box-sizing:border-box; resize:vertical; }
.bs-comment-notice,.bs-comments .logged-in-as { color:#606060; font-size:14px; line-height:1.8; }
.bs-comment-entry p { margin:0 0 20px; }
.bs-comment-login,.bs-comments .bs-comment-submit { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 24px; border:0; border-radius:999px; background:#111; color:#fff; font:inherit; font-size:14px; line-height:1.5; text-decoration:none; cursor:pointer; }
.bs-comment-login:hover,.bs-comments .bs-comment-submit:hover { background:#333; color:#fff; }
.bs-comments :is(textarea,.bs-comment-login,.bs-comment-submit):focus-visible { outline:2px solid var(--bs-focus,#111); outline-offset:4px; }
.bs-comments #cancel-comment-reply-link { margin-inline-start:16px; font-size:14px; }
