/* Violet Geometry gallery module. Scoped selectors preserve the supplied layout contract. */
.vg-page-main { padding: 0 24px; }
.vg-collection {
  --vg-text: #f1eced; --vg-muted: #b9b6c2; --vg-surface: #14141e;
  --vg-gold: #d2af84; --vg-border: rgba(220,205,226,.15);
  box-sizing: border-box; max-width: 1120px; margin: 0 auto;
  padding: clamp(24px,5vw,64px); border: 1px solid var(--vg-border);
  border-radius: 16px; color: var(--vg-text); background: var(--vg-surface);
  font: inherit;
}
.vg-collection *, .vg-collection *::before, .vg-collection *::after { box-sizing: border-box; }
.vg-heading { margin-bottom: clamp(26px,4vw,42px); }
.vg-eyebrow { margin:0 0 12px; color: var(--vg-gold); font-size: 11px;
  font-weight: 650; text-transform: uppercase; letter-spacing: .20em; }
.vg-heading h1 { margin:0 0 18px; font: 400 clamp(38px,6vw,64px)/1.08 Georgia,'Times New Roman',serif; letter-spacing:-.04em; }
.vg-description { max-width: 66ch; margin:0; color:var(--vg-muted); font-size:clamp(15px,1.5vw,18px); line-height:1.72; }
.vg-photos figure { margin: 0; min-width: 0; }
.vg-photo { position:relative; display:flex; align-items:center; justify-content:center;
  overflow:hidden; background: #c7c1b9; border: 1px solid rgba(0,0,0,.09);
  border-radius: 7px; text-decoration: none; }
.vg-photo img { display:block; width:100%; height:100%; object-position:center;
  transition: transform .28s ease; }
.vg-photo:hover img { transform: scale(1.015); }
.vg-photo:focus-visible { outline: 3px solid var(--vg-gold); outline-offset:4px; }
.vg-photo--hero { width:100%; aspect-ratio: 16 / 10; }
.vg-photo--hero img { object-fit: contain; }
.vg-photo--tile { aspect-ratio: 4 / 5; }
.vg-photo--tile img { object-fit: contain; }
.vg-photos figcaption { display:flex; justify-content:space-between; gap:10px;
  margin:12px 0 0; color:var(--vg-muted); font-size:12px; letter-spacing:.07em; }
.vg-photos figcaption span { color:#857e91; }
.vg-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,2.5vw,30px); margin-top:clamp(22px,3vw,35px); }
.vg-footnote { margin:40px 0 0; border-top:1px solid var(--vg-border);
  padding-top:18px; color:#a3a0ad; font-size:12px; }
.vg-collection > .interest-widget { margin-top: 20px; }
.vg-return { margin: 32px auto 72px; max-width: 1120px; }
@media(max-width: 620px) {
  .vg-page-main { padding: 0 10px; }
  .vg-collection { padding:22px 15px 26px; border-radius:10px; }
  .vg-photo--hero { aspect-ratio:4 / 5; }
  .vg-grid { grid-template-columns:1fr; gap:22px; }
  .vg-photos figcaption { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  .vg-photo img { transition:none; }
  .vg-photo:hover img { transform:none; }
}
