.gallery-hero {
  position: relative;
  background: radial-gradient(circle at top left, rgba(176, 39, 255, 0.3), transparent 60%), radial-gradient(circle at bottom right, rgba(244, 193, 95, 0.2), transparent 60%), linear-gradient(135deg, #05060a 0%, #05060a 45%, #12081f 100%);
}
.gallery-hero-layout {
  align-items: stretch;
}
.gallery-hero-copy {
  max-width: 640px;
}
.gallery-hero-cta .btn {
  max-width: 100%;
}
.gallery-hero-media {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}
.gallery-hero-figure {
  transform: translateY(0);
  transition: transform var(--transition-slow), box-shadow var(--transition-slow);
}
.gallery-hero-image {
  filter: saturate(1.1) contrast(1.05);
}
.gallery-hero:hover .gallery-hero-figure {
  transform: translateY(-4px);
}
.gallery-section {
  position: relative;
}
.gallery-section-alt {
  background: radial-gradient(circle at top, rgba(176, 39, 255, 0.16), transparent 55%), radial-gradient(circle at bottom, rgba(244, 193, 95, 0.12), transparent 55%), var(--color-bg-elevated);
}
.gallery-section-header {
  margin-left: auto;
  margin-right: auto;
}
.gallery-section-intro {
  color: var(--color-text-muted);
}
.gallery-grid {
  margin-top: var(--space-2xl);
}
.gallery-grid-wide {
  margin-top: var(--space-3xl);
}
.gallery-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-lg);
  border-radius: var(--radius-card);
  background: radial-gradient(circle at top left, rgba(176, 39, 255, 0.18), transparent 55%), radial-gradient(circle at bottom right, rgba(244, 193, 95, 0.16), transparent 55%), var(--color-surface);
  border: 1px solid var(--color-border-strong);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(var(--blur-soft));
  -webkit-backdrop-filter: blur(var(--blur-soft));
}
.gallery-card-compact {
  padding: var(--space-md);
}
.gallery-media {
  border-radius: calc(var(--radius-card) - 6px);
  overflow: hidden;
  background: rgba(0, 0, 0, 0.8);
}
.gallery-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery-caption-title {
  font-size: var(--font-size-lg);
}
.gallery-caption-text {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}
.gallery-section-copy p {
  color: var(--color-text-main);
}
.gallery-section-copy .btn {
  max-width: 100%;
}
.gallery-stack-media {
  align-items: stretch;
}
.gallery-footer-cta .btn {
  max-width: 100%;
}
@media (max-width: 767.98px) {
  .gallery-card {
    padding: var(--space-md);
  }
  .gallery-grid,
  .gallery-grid-wide {
    margin-top: var(--space-xl);
  }
  .gallery-hero-layout {
    gap: var(--space-2xl);
  }
}
@media (min-width: 768px) {
  .gallery-hero-media {
    max-width: 520px;
  }
}
@media (min-width: 1024px) {
  .gallery-hero-layout {
    align-items: center;
  }
  .gallery-hero-copy {
    max-width: 560px;
  }
}
