/* Catalogue and information hubs only. Reading pages and learning paths use their own styles. */
.subpage-clean .clean-hub { padding-bottom: var(--s7); font-family: var(--font-ui); }
.subpage-clean .clean-hub h1, .subpage-clean .clean-hub h2 { font-family: var(--font-head); letter-spacing: var(--track-head); color: var(--ink); }
.subpage-clean .clean-hub h1 { max-width: 24ch; margin: 0; font-size: var(--fs-display); line-height: 1.12; }
.subpage-clean .clean-hub h2 { margin: 0 0 var(--s4); font-size: var(--fs-h2); line-height: 1.25; }
.subpage-clean .clean-hub h3 { font-family: var(--font-ui); }
.subpage-clean .clean-hub .page-head, .subpage-clean .clean-hub .list-head { padding: var(--s7) 0 var(--s6); }
.subpage-clean .clean-hub .lead { max-width: 42rem; margin: var(--s4) 0 0; font: 400 var(--fs-ui-lg)/1.6 var(--font-ui); color: var(--ink-2); }
.subpage-clean .clean-hub p { max-width: 48rem; line-height: 1.65; }
.subpage-clean .clean-hub .hub-tools { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s2) var(--s5); margin-top: var(--s5); }
.subpage-clean .clean-hub .hub-tools > a, .subpage-clean .clean-hub .hub-action { display: inline-flex; align-items: center; gap: var(--s2); min-height: 44px; font-size: var(--fs-small); font-weight: 700; color: var(--ink); text-decoration: underline; text-decoration-color: var(--brand); text-underline-offset: 4px; }
.subpage-clean .clean-hub .hub-action:hover, .subpage-clean .clean-hub .hub-tools > a:hover { color: var(--brand-ink); }
.subpage-clean .clean-hub .filters { margin: var(--s5) 0 0; gap: var(--s2); }
.subpage-clean .clean-hub .filter { min-height: 44px; line-height: 1.3; }
.subpage-clean .clean-hub .hub-count { margin: var(--s4) 0 0; color: var(--ink-3); font-size: var(--fs-small); }
.subpage-clean .clean-hub .row-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--s7); border-top: var(--rule); }
.subpage-clean .clean-hub .row-item { grid-template-columns: 88px minmax(0, 1fr); min-width: 0; min-height: 102px; gap: var(--s4); padding: var(--s3) 0; border-bottom: var(--rule); }
.subpage-clean .clean-hub .row-item > picture { width: 88px; }
.subpage-clean .clean-hub .row-item img { width: 88px; height: 66px; object-fit: cover; border-radius: var(--r-sm); background: var(--paper); }
.subpage-clean .clean-hub .row-item a { display: flex; align-items: center; min-height: 66px; }
.subpage-clean .clean-hub .row-title { font: 700 var(--fs-ui)/1.4 var(--font-ui); overflow-wrap: anywhere; }
.subpage-clean .clean-hub .topic-dot::before { content: none; }
.subpage-clean .clean-hub .hub-section { margin-top: var(--s7); padding-top: var(--s6); border-top: var(--rule); }
.subpage-clean .clean-hub .hub-guide-list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s7); border-top: var(--rule); }
.subpage-clean .clean-hub .hub-guide-list li { min-width: 0; border-bottom: var(--rule); }
.subpage-clean .clean-hub .hub-guide { display: flex; align-items: center; gap: var(--s4); min-height: 126px; padding: var(--s4) 0; color: var(--ink); text-decoration: none; }
.subpage-clean .clean-hub .hub-guide > span:nth-child(2) { flex: 1; min-width: 0; }
.subpage-clean .clean-hub .hub-guide strong { display: block; font-size: var(--fs-ui-lg); line-height: 1.35; }
.subpage-clean .clean-hub .hub-guide-image { flex: none; width: 116px; aspect-ratio: 3 / 2; overflow: hidden; border-radius: var(--r-sm); }
.subpage-clean .clean-hub .hub-guide-image picture, .subpage-clean .clean-hub .hub-guide-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.subpage-clean .clean-hub .hub-row-note { display: block; margin-top: var(--s2); font-size: var(--fs-small); line-height: 1.5; color: var(--ink-2); }
.subpage-clean .clean-hub .hub-arrow { flex: none; color: var(--brand-ink); font-size: var(--fs-ui-lg); }
.subpage-clean .clean-hub .hub-guide:hover strong, .subpage-clean .clean-hub .lab-tile:hover strong { text-decoration: underline; text-decoration-color: var(--brand); text-underline-offset: 4px; }
.subpage-clean .clean-hub .hub-note, .subpage-clean .clean-hub .hub-disclosure { max-width: 48rem; margin-top: var(--s6); font-size: var(--fs-small); color: var(--ink-2); }
.subpage-clean .clean-hub .lab-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--s7); }
.subpage-clean .clean-lab .lab-tile { display: flex; align-items: center; gap: var(--s4); min-height: 112px; padding: var(--s4) 0; border-top: var(--rule); }
.subpage-clean .clean-lab .lab-tile > span:nth-child(2) { flex: 1; min-width: 0; }
.subpage-clean .clean-lab .lab-tile strong { display: block; font: 700 var(--fs-ui-lg)/1.35 var(--font-ui); }
.subpage-clean .clean-lab .hub-lab-lesson { display: block; margin-top: var(--s2); font-size: var(--fs-small); line-height: 1.45; color: var(--ink-2); }
.subpage-clean .clean-lab .hub-lab-image { flex: none; width: 80px; height: 60px; overflow: hidden; border-radius: var(--r-sm); }
.subpage-clean .clean-lab .hub-lab-image picture, .subpage-clean .clean-lab .hub-lab-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.subpage-clean .clean-glossary { max-width: 52rem; }
.subpage-clean .clean-glossary .az { gap: var(--s2); margin: var(--s5) 0 0; }
.subpage-clean .clean-glossary .az a { min-height: 44px; min-width: 44px; border-radius: var(--r-sm); }
.subpage-clean .clean-glossary .gloss-list dt { font: 700 var(--fs-ui-lg)/1.4 var(--font-ui); }
.subpage-clean .clean-glossary .gloss-list dd { font: 400 var(--fs-ui)/1.65 var(--font-ui); }
.subpage-clean .clean-glossary .gloss-list dd small { font-size: var(--fs-small); }
.subpage-clean .clean-resources .hub-books { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s6); }
.subpage-clean .clean-resources .hub-book { min-width: 0; }
.subpage-clean .clean-resources .hub-book-cover { display: block; aspect-ratio: 1.47; overflow: hidden; }
.subpage-clean .clean-resources .hub-book-cover picture, .subpage-clean .clean-resources .hub-book-cover img { display: block; width: 100%; height: 100%; object-fit: contain; background: var(--paper); }
.subpage-clean .clean-resources .hub-book h2 { margin: var(--s4) 0 var(--s2); font: 700 var(--fs-h3)/1.35 var(--font-ui); }
.subpage-clean .clean-resources .hub-book p { margin: 0; font-size: var(--fs-ui); }
.subpage-clean .clean-resources .hub-book .hub-action { margin-top: var(--s2); }
.subpage-clean .clean-resources .hub-language-note h2 { margin-bottom: var(--s2); }
.subpage-clean .clean-resources .hub-language-note p { margin: 0; }
.subpage-clean .clean-languages .lab-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.subpage-clean .clean-languages .lab-tile { min-height: 88px; padding-block: var(--s4); border-top: var(--rule); }
.subpage-clean .clean-languages .lab-tile strong { font: 700 var(--fs-ui-lg)/1.4 var(--font-ui); }
.subpage-clean .clean-about { max-width: 64rem; }
.subpage-clean .clean-about .hub-section:first-of-type { padding-top: 0; margin-top: 0; border-top: 0; }
.subpage-clean .clean-about .hub-team { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s5) var(--s7); margin-top: var(--s5); }
.subpage-clean .clean-about .team-profile { display: flex; gap: var(--s4); align-items: start; margin: 0; padding: 0; border: 0; min-width: 0; }
.subpage-clean .clean-about .team-profile > picture, .subpage-clean .clean-about .team-profile > img { flex: none; width: 72px; height: 72px; }
.subpage-clean .clean-about .team-profile img { width: 72px; height: 72px; object-fit: cover; border-radius: var(--r-sm); }
.subpage-clean .clean-about .team-profile h3 { margin: 0 0 var(--s2); font-size: var(--fs-ui-lg); line-height: 1.35; }
.subpage-clean .clean-about .team-profile p { margin: 0; font-size: var(--fs-small); line-height: 1.65; }
.subpage-clean .clean-about .hub-projects { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s6); margin-top: var(--s5); }
.subpage-clean .clean-about .owned-project { display: flex; align-items: start; gap: var(--s3); margin: 0; padding: 0; border: 0; }
.subpage-clean .clean-about .owned-project > img { flex: none; width: 48px; height: 48px; }
.subpage-clean .clean-about .owned-project h3 { margin: 0 0 var(--s2); font-size: var(--fs-ui-lg); line-height: 1.35; }
.subpage-clean .clean-about .owned-project p { margin: 0; font-size: var(--fs-small); line-height: 1.6; }
.subpage-clean .clean-about .owned-project .hub-action { margin-top: var(--s2); }
.subpage-clean .clean-about .hub-section > h3 { margin-top: var(--s5); font-size: var(--fs-ui-lg); }
@media (max-width: 62rem) {
  .subpage-clean .clean-hub .hub-guide-list, .subpage-clean .clean-hub .lab-grid { column-gap: var(--s5); }
  .subpage-clean .clean-hub .hub-guide-image { width: 88px; }
  .subpage-clean .clean-about .hub-projects { grid-template-columns: 1fr; gap: var(--s5); max-width: 42rem; }
}
@media (max-width: 48rem) {
  .subpage-clean .clean-hub .page-head, .subpage-clean .clean-hub .list-head { padding: var(--s6) 0 var(--s5); }
  .subpage-clean .clean-hub .row-list, .subpage-clean .clean-hub .hub-guide-list, .subpage-clean .clean-hub .lab-grid, .subpage-clean .clean-about .hub-team { grid-template-columns: minmax(0, 1fr); }
  .subpage-clean .clean-hub .hub-section { margin-top: var(--s6); padding-top: var(--s5); }
  .subpage-clean .clean-hub .hub-guide { min-height: 112px; }
  .subpage-clean .clean-hub .hub-guide-image { width: 104px; }
  .subpage-clean .clean-languages .lab-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .subpage-clean .clean-resources .hub-books { grid-template-columns: minmax(0, 1fr); gap: var(--s6); }
  .subpage-clean .clean-resources .hub-book { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--s4); align-items: start; }
  .subpage-clean .clean-resources .hub-book-cover { width: 100%; aspect-ratio: 3 / 4; }
  .subpage-clean .clean-resources .hub-book-cover img { object-fit: cover; }
  .subpage-clean .clean-resources .hub-book h2 { margin-top: 0; }
}
@media (max-width: 23rem) {
  .subpage-clean .clean-hub .row-item { grid-template-columns: 72px minmax(0, 1fr); gap: var(--s3); }
  .subpage-clean .clean-hub .row-item > picture, .subpage-clean .clean-hub .row-item img { width: 72px; }
  .subpage-clean .clean-hub .row-item img { height: 54px; }
  .subpage-clean .clean-hub .hub-guide, .subpage-clean .clean-lab .lab-tile { gap: var(--s3); }
  .subpage-clean .clean-hub .hub-guide-image, .subpage-clean .clean-lab .hub-lab-image { width: 64px; }
  .subpage-clean .clean-hub .hub-guide strong, .subpage-clean .clean-lab .lab-tile strong { font-size: var(--fs-ui); }
  .subpage-clean .clean-resources .hub-book { grid-template-columns: 96px minmax(0, 1fr); gap: var(--s3); }
}
