.tyc-gallery{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.tyc-gallery__item{
  display:grid;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:linear-gradient(180deg, #ffffff 0%, var(--surface) 100%);
  box-shadow:var(--shadow-soft);
}

.tyc-gallery__item--feature{
  grid-column:span 2;
  grid-row:span 2;
}

.tyc-gallery__link{
  display:block;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:#dbeafe;
}

.tyc-gallery__item--feature .tyc-gallery__link{
  aspect-ratio:16 / 10;
}

.tyc-gallery__image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .28s ease, filter .28s ease;
}

.tyc-gallery__item:hover .tyc-gallery__image{
  transform:scale(1.03);
  filter:saturate(1.02);
}

.tyc-gallery__caption{
  display:grid;
  gap:10px;
  padding:18px;
}

.tyc-gallery__tag{
  display:inline-flex;
  width:max-content;
  align-items:center;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(14,165,183,.10);
  color:var(--c2);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.tyc-gallery__title{
  margin:0;
  font-size:clamp(1rem, 1.4vw, 1.2rem);
}

.tyc-gallery__caption .tyc-muted{
  margin:0;
}

@media (max-width: 992px){
  .tyc-gallery{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .tyc-gallery__item--feature{
    grid-column:span 2;
    grid-row:auto;
  }
}

@media (max-width: 640px){
  .tyc-gallery{
    grid-template-columns:1fr;
  }

  .tyc-gallery__item--feature{
    grid-column:auto;
  }

  .tyc-gallery__caption{
    padding:16px;
  }
}
