.gallery-section { position: relative; overflow-x: clip; padding: 96px 0 70px; background: transparent; color: #fff; }
/* Decorative smoke from the original uploads, desaturated as on the reference.
   z-index -1 keeps it under the neighbouring sections' content. */
.gallery-section::before, .gallery-section::after {
  content: '';
  position: absolute;
  z-index: -1;
  width: 420px;
  height: 810px;
  background: url('../uploads/2025/01/6741d3e9-4c7e-41db-a5e9-350ffcced3ef-768x1485.webp') center / contain no-repeat;
  filter: grayscale(1);
  opacity: .35;
  pointer-events: none;
}
.gallery-section::before { top: -60px; left: -40px; transform: rotate(60deg); }
.gallery-section::after { top: 160px; right: -120px; height: 700px; transform: scaleX(-1); }
.gallery-wrap { width: min(1200px, calc(100% - 40px)); }
.gallery-section h2 {
  margin: 0 0 45px;
  font: 400 65px/1.3 'BOWLER', Arial, sans-serif;
  letter-spacing: 2px;
}
.gallery-section h2 em { color: #dc281e; }
.photo-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gallery-photo {
  display: block;
  width: 100%;
  height: auto;
  min-width: 0;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 5px;
  background: #171d20;
}
.gallery-actions { margin-top: 30px; text-align: center; }
.gallery-cta {
  min-height: 60px;
  padding: 20px 50px;
  border: 1px solid #dc281e;
  border-radius: 30px;
  background: linear-gradient(to top, #f00000, #dc281e);
  font: 300 18px/1 'Rubik', Arial, sans-serif;
  letter-spacing: 1px;
}
.gallery-cta:hover { background: #fff; color: #000; transform: none; }
@media (max-width: 1240px) {
  .gallery-section h2 { font-size: clamp(35px, 5.1vw, 65px); }
}
@media (max-width: 900px) {
  .photo-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .gallery-section { padding: 32px 0 48px; }
  .gallery-wrap { width: calc(100% - 40px); }
  .gallery-section h2 { font-size: clamp(26px, 8.8vw, 40px); letter-spacing: .5px; margin-bottom: 30px; }
  .photo-gallery { grid-template-columns: 1fr; gap: 12px; }
  .gallery-cta { min-height: 56px; max-width: 100%; font-size: 16px; padding-inline: 32px; }
}
