/* "La casa": all the photos as a grid, starting with the chosen place (js/galleria.js) */
.gal { position: fixed; inset: 0; z-index: 250; perspective: 1400px; }
.gal-back { position: absolute; inset: 0; background: radial-gradient(120% 90% at 50% 25%, rgba(11, 38, 82, .97), rgba(2, 10, 24, .995)); }
.gal-scroll { position: absolute; inset: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 104px var(--gut) 70px; }
.gal-in { max-width: 1280px; margin: 0 auto; }
.gal-head { position: absolute; z-index: 2; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px var(--gut) 26px;
  background: linear-gradient(180deg, rgba(3, 12, 30, .96) 55%, rgba(3, 12, 30, 0)); pointer-events: none; }
.gal-head > * { pointer-events: auto; }
.gal-head .over { margin: 0 0 6px; }
.gal-head h2 { margin: 0; font-size: clamp(30px, 3.4vw, 44px); }
.gal-sec { margin: 0 0 50px; }
.gal-h { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 0 0 16px; padding-bottom: 12px; border-bottom: 1px solid rgba(127, 231, 214, .12); }
.gal-h .over { margin: 0 0 6px; min-height: 1em; }
.gal-h h3 { margin: 0; font-size: clamp(28px, 2.6vw, 36px); }
.gal-h span { flex: none; font: 400 12px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.gal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.gal-tile { position: relative; display: block; aspect-ratio: 4 / 3; padding: 0; border: 0; border-radius: 14px; overflow: hidden; background: #0a2550; cursor: zoom-in;
  box-shadow: 0 18px 40px rgba(1, 8, 22, .45); transform-origin: 50% 100%; }
.gal-tile.big { grid-column: span 2; grid-row: span 2; }
.gal-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease), filter .6s; }
.gal-tile::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(127, 231, 214, 0); transition: box-shadow .5s; pointer-events: none; }
.gal-tile:hover img, .gal-tile:focus-visible img { transform: scale(1.07); }
.gal-tile:hover::after, .gal-tile:focus-visible::after { box-shadow: inset 0 0 0 1px rgba(127, 231, 214, .7); }
.gal-ghost { position: absolute; z-index: 3; top: 0; left: 0; object-fit: cover; box-shadow: 0 40px 100px rgba(1, 8, 22, .7); pointer-events: none; will-change: transform, width, height; }
.gal-sheen { position: absolute; z-index: 4; inset: 0; pointer-events: none; mix-blend-mode: soft-light;
  background: linear-gradient(100deg, transparent 35%, rgba(200, 246, 255, .85) 50%, transparent 65%); }
.gal-open { overflow: hidden; }
@media (max-width: 759px) {
  .gal-scroll { padding: 92px 12px 50px; }
  .gal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .gal-tile { border-radius: 12px; }
  .gal-tile.big { grid-column: span 2; grid-row: auto; aspect-ratio: 4 / 3; }
  .gal-sec { margin-bottom: 38px; }
}
