/* ======= Gallery: editorial mosaic ======= */
.gl { --gl-gap: 14px; max-width: 1760px; margin: 0 auto; padding: 0 24px; }
.gl picture { display: contents; }
.gl a.gl-item, .gl a.gl-item:hover { display: block; position: relative; overflow: hidden; background: #e7e0d2; cursor: zoom-in; }
.gl a.gl-item img { display: block; width: 100%; }
.gl a.gl-item:after { content: ""; position: absolute; inset: 0; background: rgba(20,18,14,0); transition: background .35s; pointer-events: none; }
.gl a.gl-item:hover:after { background: rgba(20,18,14,.22); }
.gl a.gl-item i { position: absolute; z-index: 2; right: 18px; bottom: 16px; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.85); border-radius: 50%; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; opacity: 0; transition: opacity .35s; pointer-events: none; }
.gl a.gl-item:hover i { opacity: 1; }
.gl .gl-no { position: absolute; z-index: 2; left: 18px; bottom: 16px; color: #fff; font-family: 'Cinzel', serif; font-size: 14px; letter-spacing: 4px; text-shadow: 0 1px 12px rgba(0,0,0,.5); pointer-events: none; }

/* ---------- mosaic with big and small tiles ---------- */
.gl2 { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: 22vw; grid-auto-flow: dense; gap: var(--gl-gap); }
.gl2 a.gl-item img { height: 100%; object-fit: cover; position: absolute; inset: 0; }
.gl2 a.gl-item { grid-column: span 4; }
.gl2 a.gl-item:nth-child(10n+1) { grid-column: span 8; grid-row: span 2; }
.gl2 a.gl-item:nth-child(10n+4) { grid-row: span 2; }
.gl2 a.gl-item:nth-child(10n+8) { grid-column: span 8; grid-row: span 2; }
.gl2 a.gl-item:nth-child(10n+10) { grid-column: span 4; grid-row: span 2; }

@media (max-width: 991px) {
    .gl { padding: 0 14px; --gl-gap: 10px; }
    .gl2 { grid-auto-rows: 34vw; }
    .gl2 a.gl-item { grid-column: span 6; }
    .gl2 a.gl-item:nth-child(10n+1), .gl2 a.gl-item:nth-child(10n+8) { grid-column: span 12; grid-row: span 2; }
    .gl2 a.gl-item:nth-child(10n+4), .gl2 a.gl-item:nth-child(10n+10) { grid-column: span 6; grid-row: span 2; }
}
