/* VELORA — editorial gemstone gallery on the home page (Stage 2). Mobile-first; no !important. */
.tgsImageGallery{padding:clamp(3.5rem,8vw,7rem) max(var(--tgs-gutter),calc((100% - var(--max)) / 2));background:var(--tgs-white);color:var(--tgs-ink);overflow:hidden}
.tgsGalleryHead{display:grid;gap:1rem;margin:0 auto 2rem;max-width:var(--max)}
.tgsGalleryHead>*{min-width:0}
.tgsGalleryEyebrow{display:block;color:var(--tgs-violet-600);font-size:.75rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;margin-bottom:.9rem}
.tgsGalleryHead h2{font-size:var(--tgs-step-3);line-height:.98;margin:0;max-width:45rem}
.tgsGalleryHead p{max-width:28rem;margin:0;color:var(--tgs-muted);line-height:1.85;font-size:.9375rem}
.tgsGalleryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:11.25rem;gap:.5rem;max-width:var(--max);margin:0 auto}
.tgsGalleryTile{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;border-radius:var(--tgs-r-sm);background:var(--tgs-violet-900);isolation:isolate;box-shadow:var(--tgs-shadow-sm)}
.tgsGalleryTile--feature{grid-column:span 2;grid-row:span 2}
.tgsGalleryTile img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .9s var(--tgs-ease)}
.tgsGalleryTile::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(28,17,44,.88),rgba(28,17,44,.08) 58%,rgba(28,17,44,.03))}
.tgsGalleryTile::after{content:"";position:absolute;z-index:2;inset:.6rem;border:1px solid rgba(255,255,255,.28);border-radius:.55rem;opacity:0;transition:opacity .45s;pointer-events:none}
.tgsGalleryOverlay{position:absolute;z-index:3;left:.9rem;right:.9rem;bottom:.9rem;display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;color:#fff}
.tgsGalleryOverlay small{font-size:.75rem;letter-spacing:.14em;color:#E9D5FF;font-weight:800}
.tgsGalleryOverlay b{font:500 1.2rem/1.1 var(--tgs-font-head);letter-spacing:-.01em;overflow-wrap:anywhere}
.tgsGalleryOverlay i{font-size:.75rem;font-style:normal;opacity:.9}
.tgsGalleryFoot{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;max-width:var(--max);margin:1.4rem auto 0;padding-top:1.1rem;border-top:1px solid var(--tgs-gold);color:var(--tgs-muted);font-size:.8125rem}
.tgsGalleryFoot a{display:inline-flex;align-items:center;min-height:var(--tgs-tap);color:var(--tgs-violet-700);font-weight:750}
.tgsGalleryTile:focus-visible::after{opacity:1}
@media (hover:hover){
  .tgsGalleryTile:hover img{transform:scale(1.06)}
  .tgsGalleryTile:hover::after{opacity:1}
  .tgsGalleryFoot a:hover{color:var(--tgs-violet-900)}
}
@media (min-width:480px){
  .tgsGalleryGrid{grid-auto-rows:13.75rem;gap:.625rem}
  .tgsGalleryOverlay{left:1.1rem;right:1.1rem;bottom:1.1rem}
}
@media (min-width:768px){
  .tgsGalleryHead{grid-template-columns:minmax(0,1fr) minmax(16rem,.65fr);align-items:end;gap:2.6rem}
  .tgsGalleryGrid{grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:15rem 15rem;grid-auto-rows:auto;gap:.875rem}
  .tgsGalleryTile--feature{grid-column:auto;grid-row:span 2}
  .tgsGalleryOverlay{left:1.5rem;right:1.5rem;bottom:1.4rem;gap:.45rem}
  .tgsGalleryOverlay b{font-size:clamp(1.2rem,2.2vw,1.75rem)}
  .tgsGalleryFoot{flex-direction:row;justify-content:space-between;align-items:center;gap:1.25rem}
}
@media (prefers-reduced-motion:reduce){
  .tgsGalleryTile img{transition:none}
}
