/* Conversion-focused photographic layer */
.hero-art {
  background: linear-gradient(180deg, transparent 48%, rgba(20,7,10,.68)), url('assets/hero-v2.jpg') center/cover;
  box-shadow: 0 28px 70px rgba(81,27,37,.32);
  animation: heroReveal .9s ease both;
  border-radius: 28px;
}
.hero-photo-label {
  position: absolute; left: 30px; right: 30px; bottom: 28px; z-index: 4;
  color: white; display: flex; align-items: end; justify-content: space-between; gap: 20px;
}
.hero-photo-label span { text-transform: uppercase; font-size: 10px; letter-spacing: .18em; }
.hero-photo-label strong { font-family: var(--serif); font-size: 20px; }
@keyframes heroReveal { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

.card-visual { height: 235px; background-position: center; background-size: cover; }
.card-visual::before { display: none; }
.card-visual::after {
  content: ""; position: absolute; inset: 0; height: auto; width: auto; right: 0; bottom: 0;
  border: 0; border-radius: 0; background: linear-gradient(180deg, rgba(16,10,8,.02) 25%, rgba(20,8,5,.8));
}
.card-visual span { z-index: 2; box-shadow: 0 5px 20px rgba(0,0,0,.12); }
.toledo, .express { background-image: url('assets/toledo.jpg'); }
.segovia, .full { background-image: url('assets/segovia.jpg'); }
.duo { background-image: url('assets/toledo-segovia.jpg'); }
.aranjuez-chinchon { background-image: url('assets/aranjuez-chinchon.jpg'); }
.escorial-segovia { background-image: url('assets/escorial-segovia.jpg'); }

.flamenco {
  background: linear-gradient(90deg, rgba(50,10,20,.97) 0%, rgba(50,10,20,.9) 50%, rgba(50,10,20,.58) 100%), url('assets/flamenco.jpg') center/cover fixed;
}
.venue-card { background: rgba(43,9,17,.77); backdrop-filter: blur(9px); box-shadow: 0 24px 60px rgba(0,0,0,.2); }
.venue-card.gold { background: rgba(224,165,62,.92); }

@media (max-width: 900px) {
  .flamenco { background-attachment: scroll; background-position: 65% center; }
  .hero-photo-label { left: 22px; right: 22px; }
  .hero-art { min-height: 440px; border-radius: 22px; background-position: center; }
}

@media (max-width: 620px) {
  .hero-art { min-height: 360px; background-position: center; }
  .hero-photo-label { bottom: 20px; }
  .hero-photo-label strong { font-size: 16px; }
}
