.cat-grid-hero{
  background: var(--section-bg);
  padding: var(--padding-mobile);
}
@media (min-width:641px){
  .cat-grid-hero{padding: var(--padding-desktop);}
}
.cat-grid-hero .cgh-container{max-width: var(--max-width); margin-inline: auto;}
.cat-grid-hero .cgh-heading{
  font-family: serif;
  font-weight: 500;
  text-align:center;
  color: var(--heading-color);
  font-size: clamp(var(--heading-size-mobile), 5vw, var(--heading-size-desktop));
  letter-spacing:.01em;
  margin-bottom: clamp(20px, 2.5vw, 32px);
}
.cat-grid-hero .cgh-grid{display:grid;gap: var(--gap-mobile);grid-template-columns: repeat(2,1fr);}
@media (min-width:641px){
  .cat-grid-hero .cgh-grid{gap: var(--gap-desktop);grid-template-columns: repeat(var(--columns-tablet),1fr);}
}
@media (min-width:1025px){
  .cat-grid-hero .cgh-grid{grid-template-columns: repeat(4,1fr);}
}
.cgh-link{display:block;text-decoration:none;color:inherit;}
.cgh-media{position:relative;aspect-ratio: var(--ar,4/5);overflow:hidden;}
.cgh-img{width:100%;height:100%;object-fit:cover;object-position: var(--focus,center);transform:translateZ(0);transition:transform .3s ease,filter .3s ease;}
@media (hover:hover) and (min-width:1025px){
  .cgh-link:hover .cgh-img{transform:scale(1.02);filter:brightness(1.03);}
}
.cgh-tint{position:absolute;inset:0;background:rgba(0,0,0,.10);}
.cgh-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding: var(--pad,16px);}
.cgh-cat{font-family: var(--title-font,serif);font-weight: var(--title-weight,500);color: var(--title-color,#6B4A2F);text-shadow:0 1px 2px rgba(0,0,0,.08);font-size: clamp(22px,2.2vw,34px);}
.cgh-more{align-self:flex-end;color: var(--more-color,#C9B9A8);font-size: clamp(14px,1.4vw,18px);letter-spacing:.02em;}