/* Static homepage catalog. Original uploads are kept at their natural ratio. */
#home-catalog { width: 100%; margin: 0 0 42px; }
#home-catalog h2 { margin: 0 0 22px; padding: 0; color: #242124; font: 700 clamp(24px, 3vw, 34px)/1.2 Arial, sans-serif; text-align: left; }
#home-catalog .hc-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
#home-catalog .hc-card { position: relative; display: block; overflow: hidden; min-width: 0; border-radius: 8px; background: #f4f2f2; color: #fff; text-decoration: none; box-shadow: 0 2px 10px #2b030314; }
#home-catalog .hc-card--large { grid-column: span 2; }
#home-catalog .hc-card img { display: block; width: 100%; height: 164px; margin: 0; padding: 0; border: 0; object-fit: cover; object-position: center; transition: transform .25s ease; }
#home-catalog .hc-card--large img { height: 250px; }
#home-catalog .hc-card::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, #000000bd); pointer-events: none; }
#home-catalog .hc-caption { position: absolute; right: 0; bottom: 0; left: 0; z-index: 1; padding: 28px 16px 14px; font: 600 16px/1.3 Arial, sans-serif; text-align: left; }
#home-catalog .hc-card--large .hc-caption { font-size: 19px; }
#home-catalog .hc-card:hover img { transform: scale(1.03); }
#home-catalog .hc-card:focus-visible { outline: 3px solid #ebb620; outline-offset: 3px; }
@media (max-width: 700px) {
  #home-catalog .hc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  #home-catalog .hc-card--large { grid-column: span 2; }
  #home-catalog .hc-card img, #home-catalog .hc-card--large img { height: auto; aspect-ratio: 16 / 8; object-fit: cover; }
  #home-catalog .hc-caption, #home-catalog .hc-card--large .hc-caption { padding: 24px 10px 10px; font-size: 13px; }
}
@media (max-width: 380px) {
  #home-catalog .hc-grid { grid-template-columns: minmax(0, 1fr); }
  #home-catalog .hc-card--large { grid-column: auto; }
}
