/* One heading scale for the library's main pages. Detail and board titles retain their own layout. */
#main > :is(.page-heading,.intro,.ab-directory-heading) {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,350px);
  align-items:end;
  justify-content:space-between;
  gap:0 30px;
  margin:0 0 34px;
}
#main > :is(.page-heading,.intro) > div:first-child {
  grid-column:1;
  grid-row:1 / 3;
  min-width:0;
}
#main > .ab-directory-heading > :is(.eyebrow,h1) { grid-column:1; }
#main > :is(.page-heading,.intro,.ab-directory-heading) h1,
#trendly-boards #main > .tb-hero:not(.tb-detail-hero) h1 {
  font:400 clamp(40px,4.25vw,64px)/1.15 var(--serif);
  letter-spacing:-1.8px;
  margin:13px 0 0;
  max-width:none;
}
#main > :is(.page-heading,.intro,.ab-directory-heading) .eyebrow {
  font:550 10px/1.6 var(--sans);
  letter-spacing:2.1px;
  text-transform:uppercase;
  color:var(--muted);
  margin:0;
}
#main > :is(.page-heading,.intro,.ab-directory-heading) > :is(.heading-description,.muted,.intro-note,.ab-directory-deck) {
  grid-column:2;
  grid-row:1 / 3;
  align-self:end;
  max-width:350px;
  font:italic 400 18px/1.6 var(--serif);
  letter-spacing:normal;
  color:var(--muted);
  text-align:right;
  white-space:pre-line;
  margin:0;
  padding:0 0 6px;
}
#trendly-boards #main > .tb-hero:not(.tb-detail-hero) .tb-subtitle {
  font:italic 400 18px/1.6 var(--serif);
  letter-spacing:normal;
  color:var(--muted);
  margin:14px 0 0;
}
@media(max-width:1100px) {
  #main > :is(.page-heading,.intro,.ab-directory-heading) { grid-template-columns:minmax(0,1fr) minmax(0,280px); }
  #main > :is(.page-heading,.intro,.ab-directory-heading) > :is(.heading-description,.muted,.intro-note,.ab-directory-deck),
  #trendly-boards #main > .tb-hero:not(.tb-detail-hero) .tb-subtitle { font-size:16px;max-width:280px; }
}
@media(max-width:760px) {
  #main > :is(.page-heading,.intro,.ab-directory-heading) { display:block;margin-bottom:25px; }
  #main > :is(.page-heading,.intro,.ab-directory-heading) h1,
  #trendly-boards #main > .tb-hero:not(.tb-detail-hero) h1 { font-size:43px;letter-spacing:-1.5px;margin-top:10px; }
  #main > :is(.page-heading,.intro,.ab-directory-heading) > :is(.heading-description,.muted,.intro-note,.ab-directory-deck),
  #trendly-boards #main > .tb-hero:not(.tb-detail-hero) .tb-subtitle {
    font:400 12px/1.6 var(--sans);
    text-align:left;
    max-width:none;
    margin:14px 0 0;
    padding:0;
  }
}

/* Design board categories: readable labels and counts without a taller toolbar. */
#main .live-board-tabs > .tab {
  font-size:16px;
  font-weight:500;
  line-height:1.5;
}
#main .live-board-tabs > .tab > span {
  font-size:14px;
  font-weight:400;
}
@media(max-width:760px) {
  #main .live-board-tabs > .tab { font-size:14px; }
  #main .live-board-tabs > .tab > span { font-size:13px; }
}

/* Shared collection filters and catalogue tabs; retain their existing layout. */
#main [data-primary-filter-bar] {
  padding-bottom:12px;
}
#main [data-primary-filter-bar] :is(.ab-multi-summary,.b-filter-summary,.ab-all-filters) {
  font-size:12.5px;
}
#main :is(.live-board-tabs,.trends-category-tabs,.ab-ads-tabs,.ab-brand-detail-tabs) > .tab,
#main .social-source-tab {
  font-size:15px;
  font-weight:500;
  line-height:1.5;
}
#main .live-board-tabs > .tab > span,
#main :is(.ab-ads-tabs,.ab-brand-detail-tabs) .ab-tab-count,
#main .social-source-tab .social-tab-count {
  background:transparent;
  color:var(--muted);
  border:0;
  border-radius:0;
  padding:0;
  font-size:13px;
  font-weight:400;
  line-height:1.5;
}
@media(max-width:760px) {
  #main :is(.live-board-tabs,.trends-category-tabs,.ab-ads-tabs,.ab-brand-detail-tabs) > .tab,
  #main .social-source-tab {
    font-size:13px;
  }
  #main .live-board-tabs > .tab > span,
  #main :is(.ab-ads-tabs,.ab-brand-detail-tabs) .ab-tab-count,
  #main .social-source-tab .social-tab-count {
    font-size:12px;
  }
}
