/* Gleichmäßige Galerie unterhalb der Überschrift. */
.gallery-grid:empty { display: none; }

.gallery-card,
.gallery-card--featured {
  grid-column: auto;
  grid-row: auto;
  aspect-ratio: 1;
}

.gallery-note {
  max-width: 1200px;
  margin: 1.5rem auto 0;
}

.gallery-group + .gallery-group {
  margin-top: 4rem;
  padding-top: 4rem;
  border-top: 1px solid var(--line);
}

.gallery-group h3 {
  max-width: 1200px;
  margin: 0 auto 1.25rem;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
}

.header-actions { display: flex; align-items: center; gap: 1rem; }

.site-header {
  height: 88px;
  padding: 0 5vw;
  background: linear-gradient(180deg, rgba(18, 31, 20, .72), rgba(18, 31, 20, 0));
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.header-nav { display: flex; align-items: center; gap: 1.5rem; }

.header-link {
  position: relative;
  padding: .4rem 0;
  color: rgba(255, 255, 255, .94);
  font-size: .71rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}

.header-link::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: #e8c870;
  content: '';
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .25s ease;
}

.header-link:hover::after,
.header-link:focus-visible::after { transform: scaleX(1); transform-origin: left; }

.header-link--couple { color: #f1d98d; }

/* Das Hochformat bleibt mobil vollständig sichtbar; am Desktop füllt es den Hero. */
.hero { background: var(--green-dark); }
.hero__image { object-position: 50% 50%; }

@media (max-width: 640px) {
  .hero__image { object-fit: contain; object-position: center; }
  .hero__shade { background: rgba(19, 30, 20, .42); }
  .header-actions { gap: .65rem; }
  .site-header { height: 68px; padding: 0 1.25rem; }
  .header-nav { gap: .85rem; }
  .header-link { font-size: .61rem; letter-spacing: .08em; }
}
