.hub-page #catalog, .hub-page #voices, .hub-page #hub-context { scroll-margin-top: 90px; }
.hub-page .pagehead { padding-top: 22px; }
.hub-context { margin: 16px 0 24px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.hub-context > summary { padding: 12px 16px; cursor: pointer; color: var(--accent-2); font-weight: 700; }
.hub-context > summary:focus-visible, .hubvoice-head:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 3px; border-radius: 10px; }
.hub-context > .block { margin: 20px 16px; }
.hub-context .stats { margin: 0; }
.hub-page .hub-voices { margin-top: 20px; }
.hub-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.hub-page .hubvoice { min-width: 0; margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.hubvoice-head { display: grid; grid-template-columns: 156px minmax(0, 1fr); gap: 14px; align-items: start; color: var(--text); text-decoration: none; }
.hubvoice-cover { display: block; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: var(--bg); }
.hubvoice-cover img { display: block; width: 100%; height: 100%; object-fit: contain; }
.hub-page .hubvoice h3 { margin: 0 0 8px; font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.hub-page .hubvoice p { font-size: 14px; line-height: 1.7; margin: 12px 0 0; }
.hub-page .hubvoice .hubvoice-meta { color: var(--muted); font-size: 12px; line-height: 1.6; margin: 0; }
.hubvoice-meta strong { color: var(--text); font-size: 16px; }
.hubvoice-head:hover h3 { text-decoration: underline; }
.hub-page .hubvoice-fit { border-top: 1px solid var(--line); padding-top: 10px; }
.hub-page .hub-catalog .tile-img img { object-fit: contain; }
@media (max-width: 720px) {
  .hub-comparison { grid-template-columns: minmax(0, 1fr); }
  .hubvoice-head { grid-template-columns: 116px minmax(0, 1fr); gap: 12px; }
  .hub-page .hubvoice { padding: 14px; }
  .hub-page .hubvoice h3 { font-size: 15px; }
}
