 * { box-sizing: border-box; margin: 0; padding: 0; }
  body { font-family: 'Inter', Arial, sans-serif; background-color: #f9fafb; color: #111827; }

  .container { max-width: 1200px; margin: 0 auto; padding: 3rem 1rem; }

  h1 {
    font-size: 2.25rem; /* text-4xl */
    font-weight: 700; /* font-bold */
    margin-bottom: 2rem; /* mb-8 */
    opacity: 1;
    transform: none;
  }

  /* Columns grid */
  .columns {
    column-count: 1; /* columns-1 */
    column-gap: 1rem; /* gap-4 */
  }
  @media(min-width: 640px) { .columns { column-count: 2; } } /* sm:columns-2 */
  @media(min-width: 1024px) { .columns { column-count: 3; } } /* lg:columns-3 */

  .gallery-item {
    margin-bottom: 1rem; /* mb-4 */
    cursor: pointer;
    overflow: hidden;
    border-radius: 0.5rem; /* rounded-lg */
    break-inside: avoid;
    opacity: 1;
    transform: none;
  }

  .gallery-thumb {
    display: flex;
    aspect-ratio: 16/9; /* aspect-video */
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem; /* rounded-lg */
    background-color: #f3f4f6; /* bg-muted */
    transition: transform 0.2s ease; /* transition-transform */
  }
  .gallery-thumb:hover { transform: scale(1.05); } /* hover:scale-105 */

  .gallery-thumb svg {
    width: 3rem; /* h-12/w-12 */
    height: 3rem;
    color: rgba(107,114,128,0.4); /* text-muted-foreground/40 */
  }

  .gallery-caption {
    margin-top: 0.25rem; /* mt-1 */
    font-size: 0.75rem; /* text-xs */
    color: #6b7280; /* text-muted-foreground */
  }