/* Informational catalog hub. Classic 2+3 composition for odd category counts. */
.catalog-hub-page { background: #f5f7fb; }
.catalog-hub-page .breadcrumbs { padding-bottom: 0; }
.catalog-hub-page .hub-section { padding: 82px 0; }
.catalog-hub-page .catalog-hub-section { padding-top: 38px; }
.catalog-hub-page .hub-kicker { margin: 0 0 13px; color: #2b3787; font-size: 12px; line-height: 1.2; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.catalog-hub-page .hub-heading-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,.62fr); gap: 56px; align-items: end; margin-bottom: 32px; }
.catalog-hub-page .hub-heading-side { max-width: 540px; justify-self: end; }
.catalog-hub-page .hub-heading-side > p { margin: 0 0 13px; color: #667087; font-size: 15px; line-height: 1.62; }
.catalog-hub-page .hub-catalog-title { max-width: 820px; margin: 0; color: #171a20; font-size: clamp(42px,4vw,60px); line-height: .99; letter-spacing: -.045em; font-weight: 790; }
.catalog-hub-page .hub-category-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 14px; }
.catalog-hub-page .hub-category-card { position: relative; display: grid; grid-column: span 2; grid-template-columns: minmax(0,.9fr) minmax(120px,1.1fr); min-height: 290px; overflow: hidden; border: 1px solid #e1e6ef; border-radius: 18px; background: #fff; color: inherit; text-decoration: none; }
.catalog-hub-page .hub-category-grid.is-odd .hub-category-card:nth-child(-n+2) { grid-column: span 3; min-height: 320px; grid-template-columns: minmax(0,.8fr) minmax(160px,1.2fr); }
.catalog-hub-page .hub-category-copy { position: relative; z-index: 2; padding: 26px 0 24px 26px; }
.catalog-hub-page .hub-category-copy h3 { margin: 0; color: #242830; font-size: 22px; line-height: 1.12; }
.catalog-hub-page .hub-category-copy p { margin: 13px 0 0; color: #727985; font-size: 12px; line-height: 1.55; }
.catalog-hub-page .hub-category-copy span { position: absolute; left: 26px; bottom: 24px; color: #2b3787; font-size: 11px; font-weight: 800; }
.catalog-hub-page .hub-category-copy i { margin-left: 3px; font-style: normal; }
.catalog-hub-page .hub-category-image { display: flex; align-items: flex-end; justify-content: flex-end; min-width: 0; overflow: hidden; }
.catalog-hub-page .hub-category-image img { width: 112%; max-width: none; height: 88%; object-fit: contain; object-position: right bottom; transform: translateX(4%); transition: transform .25s ease; }
.catalog-hub-page .hub-category-card:hover .hub-category-image img { transform: translateX(1%) scale(1.025); }

@media (max-width: 1180px) {
  .catalog-hub-page .hub-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalog-hub-page .hub-category-card,
  .catalog-hub-page .hub-category-grid.is-odd .hub-category-card:nth-child(-n+2) { grid-column: auto; min-height: 290px; grid-template-columns: minmax(0,.9fr) minmax(120px,1.1fr); }
}
@media (max-width: 900px) {
  .catalog-hub-page .hub-heading-row { grid-template-columns: 1fr; gap: 18px; }
  .catalog-hub-page .hub-heading-side { justify-self: start; max-width: 720px; }
}
@media (max-width: 680px) {
  .catalog-hub-page .hub-section { padding: 56px 0; }
  .catalog-hub-page .catalog-hub-section { padding-top: 22px; }
  .catalog-hub-page .hub-catalog-title { font-size: clamp(36px,10vw,48px); }
  .catalog-hub-page .hub-category-grid { grid-template-columns: 1fr; }
  .catalog-hub-page .hub-category-card,
  .catalog-hub-page .hub-category-grid.is-odd .hub-category-card:nth-child(-n+2) { min-height: 245px; grid-template-columns: minmax(0,1fr) 44%; }
  .catalog-hub-page .hub-category-copy { padding: 20px 0 20px 20px; }
  .catalog-hub-page .hub-category-copy span { left: 20px; bottom: 18px; }
  .catalog-hub-page .hub-category-copy p { font-size: 11px; }
}
