/* Browsing surfaces only. Reading pages keep their own established rhythm. */
:root {
  /* Official artwork has fixed colors, so its paper and caption ink never invert. */
  /* stylelint-disable color-no-hex -- This block defines immutable semantic tokens; theme-aware aliases would invert the official artwork backdrop. */
  --brand-surface-paper: #FFF;
  --brand-surface-ink: #16130E;
  --brand-surface-rule: #E6E2DD;
  /* stylelint-enable color-no-hex */
}
.blog-library-summary { display: none; }

.editorial-library .blog-breadcrumbs { margin-bottom: var(--blog-space-5); }
.editorial-library .blog-index-header { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: end; gap: var(--blog-space-8); max-width: none; padding-block: var(--blog-space-4) var(--blog-space-7); }
.editorial-library .blog-index-header h1 { max-width: 13ch; font-size: clamp(calc(var(--blog-large) * 2), 4.6vw, calc(var(--blog-large) * 3.35)); }
.editorial-library .blog-eyebrow { margin-bottom: var(--blog-space-4); }
.blog-index-intro > p { max-width: 34ch; font-size: var(--blog-body); line-height: 1.65; color: var(--blog-muted); text-wrap: pretty; }
.library-editions { display: flex; flex-wrap: wrap; gap: var(--blog-space-5); margin-top: var(--blog-space-5); font-size: var(--blog-note); }
.library-editions a { padding-block: var(--blog-space-2); color: var(--blog-link); font-weight: 500; text-decoration: none; border-bottom: 2px solid transparent; }
.library-editions a:hover { text-decoration: underline; }
.library-editions a[aria-current] { color: var(--ink-900); border-bottom-color: var(--blog-link); }
.editorial-library .blog-library-tools { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) auto auto; padding: var(--blog-space-5) 0; margin-bottom: var(--blog-space-5); border-top: 1px solid var(--blog-rule); }
.editorial-library .blog-library-count { grid-column: auto; padding-block: var(--blog-space-4); white-space: nowrap; }
.editorial-library .blog-library-tools input, .editorial-library .blog-library-tools select { background: var(--card); }
.editorial-library .blog-library-empty { margin-bottom: var(--blog-space-6); }
.editorial-library .blog-feature { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; gap: 0; padding: 0; border: 0; background: var(--well); }
.editorial-library .blog-feature-image { display: block; align-self: center; min-width: 0; overflow: hidden; aspect-ratio: 3 / 2; }
.editorial-library .blog-feature-image > img { display: block; width: 100%; height: auto; min-height: 0; object-fit: contain; }
.editorial-library .blog-feature-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; padding: var(--blog-space-7); }
.blog-feature-label { margin-bottom: var(--blog-space-6); color: var(--blog-link); font-size: var(--blog-small); font-weight: 600; }
.editorial-library .blog-feature h2 { font-size: clamp(calc(var(--blog-body) * 1.5), 2.7vw, calc(var(--blog-large) * 2)); }
.editorial-library .blog-feature-description { font-size: var(--blog-note); }
.editorial-library .blog-feature-author { margin-top: var(--blog-space-4); }
.editorial-library .blog-feature .blog-text-link { margin-top: var(--blog-space-2); }
.library-section-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--blog-space-3) var(--blog-space-5); margin-bottom: var(--blog-space-6); }
.library-section-heading h2, .library-resource-invitation h2 { font-family: var(--font-display); font-weight: 400; font-size: calc(var(--blog-large) * 1.6); line-height: 1.2; letter-spacing: -0.025em; }
.library-section-heading p { font-size: var(--blog-note); line-height: 1.6; color: var(--blog-muted); }
.blog-article-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--blog-space-6); row-gap: var(--blog-space-8); }
.blog-post-card { grid-column: span 2; min-width: 0; }
.blog-post-card:nth-child(-n+2) { grid-column: span 3; }
.blog-card-image { display: block; overflow: hidden; background: var(--well); aspect-ratio: 3 / 2; }
.blog-card-image > img { display: block; width: 100%; height: auto; object-fit: contain; }
.blog-card-copy { padding-top: var(--blog-space-5); }
.blog-card-copy .blog-meta { gap: var(--blog-space-2) var(--blog-space-3); }
.blog-card-copy .blog-meta time { display: none; }
.blog-card-copy h3 { font-family: var(--font-display); font-size: calc(var(--blog-large) * 1.35); font-weight: 400; line-height: 1.2; letter-spacing: -0.025em; margin-top: var(--blog-space-3); text-wrap: pretty; }
.blog-post-card:nth-child(-n+2) h3 { font-size: calc(var(--blog-large) * 1.6); }
.blog-card-copy h3 a { color: var(--ink-900); text-decoration: none; }
.blog-card-copy h3 a:hover { color: var(--blog-link); text-decoration: underline; }
.blog-card-copy > p { margin-top: var(--blog-space-3); color: var(--blog-muted); font-size: var(--blog-note); line-height: 1.65; text-wrap: pretty; }
.library-resource-invitation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .7fr); align-items: center; gap: var(--blog-space-7); background: var(--well); margin-top: var(--blog-space-9); }
.library-resource-invitation > div { padding: var(--blog-space-7); }
.library-resource-invitation p { max-width: 34ch; color: var(--blog-muted); font-size: var(--blog-body); line-height: 1.65; margin-top: var(--blog-space-4); }
.library-resource-invitation img { width: 100%; height: 100%; max-height: 22rem; object-fit: cover; }
/* Literal excerpts turn the resource shelf into an at-a-glance view of the work. */
.editorial-library .resource-library { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--blog-space-8) var(--blog-space-6); padding-bottom: 0; }
.editorial-library .resource-library-item { display: flex; flex-direction: column; min-width: 0; gap: 0; padding: 0; border: 0; }
.editorial-library .resource-library-item--featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); background: var(--well); align-items: stretch; }
.resource-library-copy { padding-top: var(--blog-space-5); }
.resource-library-item--featured .resource-library-copy { padding: var(--blog-space-7); align-self: center; }
.resource-access-label { display: flex; flex-wrap: wrap; gap: var(--blog-space-2) var(--blog-space-4); color: var(--blog-link); font-size: var(--blog-small); font-weight: 600; }
.resource-access-label span { font-weight: 400; color: var(--blog-muted); }
.editorial-library .resource-library-item h2 { margin-block: var(--blog-space-3); font-size: calc(var(--blog-large) * 1.65); line-height: 1.2; letter-spacing: -0.025em; text-wrap: pretty; }
.resource-library-copy > p:not(.resource-access-label) { font-size: var(--blog-note); color: var(--blog-muted); }
.resource-preview-stage { position: relative; isolation: isolate; aspect-ratio: 16 / 10; min-width: 0; overflow: hidden; background: var(--well); }
.resource-preview-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.resource-preview-paper { position: absolute; inset: 14% 7% auto 25%; min-height: 100%; transform: rotate(-4deg); background: var(--card); color: var(--ink-900); padding: var(--blog-space-5); border: 1px solid var(--blog-rule); box-shadow: var(--blog-space-2) var(--blog-space-2) 0 color-mix(in srgb, var(--ink-900) 12%, transparent); }
.resource-library-item:nth-child(even) .resource-preview-paper { inset-inline: 7% 25%; transform: rotate(3deg); }
.resource-preview-imprint { display: flex; align-items: center; justify-content: space-between; gap: var(--blog-space-3); margin-bottom: var(--blog-space-4); padding-bottom: var(--blog-space-3); border-bottom: 1px solid var(--blog-rule); font-size: var(--blog-small); color: var(--blog-muted); }
.resource-preview-imprint img { flex: none; width: var(--blog-space-5); height: var(--blog-space-5); object-fit: contain; }
.resource-preview-paper .resource-preview-heading { font-family: var(--font-display); font-size: var(--blog-large); line-height: 1.25; margin-bottom: var(--blog-space-4); }
.resource-preview-excerpt { font-size: var(--blog-small); line-height: 1.6; color: var(--ink-700); }
.resource-preview-excerpt table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.resource-preview-excerpt th, .resource-preview-excerpt td { vertical-align: top; text-align: left; overflow-wrap: anywhere; padding: var(--blog-space-2); border: 1px solid var(--blog-rule); }
.resource-preview-excerpt th { font-weight: 600; background: var(--well); }
.resource-preview-excerpt ul { padding-left: var(--blog-space-4); }
.resource-preview-excerpt li + li { margin-top: var(--blog-space-3); }
.resource-library-item--featured .resource-preview-stage { aspect-ratio: auto; min-height: 27rem; }
.resource-library-item--featured .resource-preview-paper { inset-inline: 19% 9%; }
@media (max-width: 1000px) {
  .editorial-library .blog-index-header { gap: var(--blog-space-6); }
  .editorial-library .blog-library-tools { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) auto; }
  .editorial-library .blog-library-count { grid-column: 1 / -1; padding: 0; }
  .editorial-library .blog-feature-copy, .resource-library-item--featured .resource-library-copy { padding: var(--blog-space-5); }
  .blog-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blog-post-card, .blog-post-card:nth-child(-n+2) { grid-column: auto; }
  .blog-post-card:nth-child(-n+2) .blog-card-image { aspect-ratio: 3 / 2; }
  .blog-post-card:nth-child(-n+2) h3 { font-size: calc(var(--blog-large) * 1.35); }
  .resource-preview-paper { inset-inline: 12% 5%; padding: var(--blog-space-4); }
  .resource-library-item:nth-child(even) .resource-preview-paper { inset-inline: 5% 12%; }
  .resource-preview-stage { aspect-ratio: 4 / 3; }
}
@media (max-width: 650px) {
  .blog-library-disclosure { margin-bottom: var(--blog-space-5); border-block: 1px solid var(--blog-rule); }
  .blog-library-summary { display: list-item; padding: var(--blog-space-4) 0; cursor: pointer; font-size: var(--blog-note); font-weight: 600; color: var(--blog-link); }
  .blog-library-summary span { float: right; font-size: var(--blog-small); font-weight: 400; color: var(--blog-muted); padding-top: var(--blog-space-1); }
  .editorial-library .blog-library-disclosure .blog-library-tools { border-top: 0; margin-bottom: 0; padding-top: var(--blog-space-2); }

  .editorial-library .blog-index-header { grid-template-columns: minmax(0, 1fr); gap: var(--blog-space-5); }
  .editorial-library .blog-index-header h1 { max-width: 15ch; }
  .blog-index-intro > p { max-width: 40ch; font-size: var(--blog-note); }
  .library-editions { margin-top: var(--blog-space-4); }
  .editorial-library .blog-library-tools { grid-template-columns: minmax(0, 1fr); }
  .editorial-library .blog-library-count { grid-column: auto; }
  .editorial-library .blog-feature, .editorial-library .resource-library-item--featured { grid-template-columns: minmax(0, 1fr); }
  .editorial-library .blog-feature-image { aspect-ratio: 3 / 2; }
  .editorial-library .blog-feature-image img { min-height: 0; }
  .blog-feature-label { margin-bottom: var(--blog-space-4); }
  .blog-article-grid, .editorial-library .resource-library { grid-template-columns: minmax(0, 1fr); gap: var(--blog-space-7); }
  .blog-card-copy { padding-top: var(--blog-space-4); }
  .library-resource-invitation { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .library-resource-invitation > div { padding: var(--blog-space-5); }
  .library-resource-invitation img { max-height: 15rem; }
  .resource-library-item--featured .resource-preview-stage { min-height: 0; aspect-ratio: 4 / 3; }
  .resource-library-item--featured .resource-preview-paper { inset-inline: 12% 5%; }
  .editorial-library .resource-library-item h2 { font-size: calc(var(--blog-large) * 1.35); }
}

/* Existing published articles retain their own small archive. */
.blog-legacy-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--blog-space-7); }
@media (max-width: 700px) { .blog-legacy-grid { grid-template-columns: 1fr; } }

/* Official marks sit unchanged on clean editorial paper, separate from cover art. */
.editorial-library .blog-feature-image,
.editorial-library .blog-card-image { position: relative; container-type: inline-size; }
.blog-cover-marks { position: absolute; right: 2%; bottom: 2%; width: 34%; max-width: 14rem; display: flex; align-items: center; justify-content: space-evenly; gap: var(--blog-space-1); padding: var(--blog-space-2); background: var(--brand-surface-paper); color: var(--brand-surface-ink); border: 1px solid var(--brand-surface-rule); }
.blog-cover-mark { min-width: 0; display: flex; flex-direction: column; align-items: center; gap: var(--blog-space-1); }
.editorial-library .blog-cover-mark img { display: block; width: 8cqw; height: 8cqw; max-width: var(--blog-space-7); max-height: var(--blog-space-7); min-height: 0; object-fit: contain; }
.blog-cover-mark > span { font-family: var(--font-body); font-size: calc(var(--blog-small) * .8); font-weight: 600; line-height: 1; white-space: nowrap; }
.blog-cover-marks--wordmarks { flex-direction: column; gap: var(--blog-space-1); padding: var(--blog-space-1) var(--blog-space-2); }
.blog-cover-marks--wordmarks .blog-cover-mark { width: 100%; }
.editorial-library .blog-cover-marks--wordmarks img { width: 100%; height: 4cqw; max-width: none; max-height: var(--blog-space-5); }

.editorial-library .blog-cover-marks--wordmarks .blog-cover-mark:only-child img { height: 6cqw; max-height: var(--blog-space-6); }

/* Two product names need readable columns on the smallest article cards. */
.blog-cover-marks--pair { width: 44%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--blog-space-2); }

.blog-cover-marks--wordmarks .blog-cover-mark--icon { flex-direction: row; justify-content: center; }
.editorial-library .blog-cover-marks--wordmarks .blog-cover-mark--icon img { width: 5cqw; height: 5cqw; max-width: var(--blog-space-6); }
