/* ============================================
   HOME HERO: VOTR PASSPORT "DEALS ARE LIVE" CARD
   ============================================ */
.hero-deals {
  position: absolute;
  right: 56px;
  bottom: 240px; /* hero runs ~90px below the fold (sticky menu), so this clears the floating Get Tickets button with room to breathe */
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 18px;
  width: 330px;
  padding: 14px 22px 14px 14px;
  background: rgba(246, 243, 236, 0.96);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(7, 29, 58, 0.35);
  text-decoration: none;
  color: var(--navy);
  transform: rotate(2deg);
  transition: transform 0.35s cubic-bezier(.2,.8,.2,1), box-shadow 0.35s;
}
.hero-deals:hover { transform: rotate(0deg) translateY(-4px); box-shadow: 0 24px 54px rgba(7, 29, 58, 0.42); }

/* Radiating glow */
.hero-deals::before,
.hero-deals::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: -1;
}
.hero-deals::before {
  box-shadow: 0 0 40px 8px rgba(213, 181, 111, 0.6);
  animation: heroDealsGlow 2.8s ease-in-out infinite;
}
.hero-deals::after {
  box-shadow: 0 0 0 0 rgba(246, 243, 236, 0.7);
  animation: heroDealsRing 2.8s ease-out infinite;
}
@keyframes heroDealsGlow {
  0%, 100% { opacity: 0.55; }
  50%      { opacity: 1; box-shadow: 0 0 64px 16px rgba(213, 181, 111, 0.85); }
}
@keyframes heroDealsRing {
  0%   { box-shadow: 0 0 0 0 rgba(246, 243, 236, 0.7); }
  70%  { box-shadow: 0 0 0 22px rgba(246, 243, 236, 0); }
  100% { box-shadow: 0 0 0 22px rgba(246, 243, 236, 0); }
}
.hero .hero-deals-photo img,
.hero-deals-photo img {
  display: block;
  width: 84px;
  height: auto;
  object-fit: cover;
  border-radius: 6px;
}
.hero-deals-photo {
  flex-shrink: 0;
  padding: 4px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 6px 14px rgba(7, 29, 58, 0.25);
  transform: rotate(-6deg);
  transition: transform 0.35s cubic-bezier(.2,.8,.2,1);
}
.hero-deals:hover .hero-deals-photo { transform: rotate(-2deg) scale(1.04); }
.hero-deals-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.hero-deals-kicker {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 9px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase;
  color: rgba(7, 29, 58, 0.55);
}
.hero-deals-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #8E9578;
  box-shadow: 0 0 0 0 rgba(142, 149, 120, 0.6);
  animation: heroDealsPulse 1.8s infinite;
}
@keyframes heroDealsPulse {
  0%   { box-shadow: 0 0 0 0 rgba(142, 149, 120, 0.6); }
  70%  { box-shadow: 0 0 0 8px rgba(142, 149, 120, 0); }
  100% { box-shadow: 0 0 0 0 rgba(142, 149, 120, 0); }
}
.hero-deals-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 30px; font-weight: 600; line-height: 1;
  color: var(--navy);
}
.hero-deals-text { font-size: 12px; line-height: 1.5; color: rgba(7, 29, 58, 0.65); }
.hero-deals-go {
  margin-top: 4px;
  font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
  color: var(--coral);
}
@media (max-width: 900px) {
  .hero-deals {
    top: 18px; left: 16px; right: auto; bottom: auto; /* phones: above the headline */
    width: auto; max-width: calc(100% - 32px);
    gap: 12px; padding: 10px 16px 10px 10px;
    border-radius: 14px;
    transform: none;
  }
  .hero-deals:hover { transform: none; }
  .hero .hero-deals-photo img, .hero-deals-photo img { width: 48px; }
  .hero-deals-title { font-size: 22px; }
  .hero-deals-text, .hero-deals-go { display: none; }
  /* make room for the card above the headline */
  .hero .hero-content { padding-top: 110px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-deals, .hero-deals-photo { transition: none; }
  .hero-deals-dot, .hero-deals::before, .hero-deals::after { animation: none; }
}


/* ============================================
   HOME INTRO: 50/50 WITH VOTR PASSPORT PANEL
   ============================================ */
#about .intro-split.intro-deals {
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
  padding: 110px 60px;
}
.intro-copy .intro-left { margin-bottom: 36px; }

.intro-passport {
  background: var(--navy);
  border-radius: 22px;
  padding: 38px 38px 36px;
  box-shadow: 0 30px 60px rgba(7, 29, 58, 0.22);
  color: var(--ivory);
}
.ip-head {
  display: grid;
  grid-template-columns: 1fr 128px;
  gap: 28px;
  align-items: center;
  margin-bottom: 28px;
}
.ip-kicker {
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 9px; font-weight: 700; letter-spacing: 4px; text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 14px;
}
.ip-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--sage);
  animation: heroDealsPulse 1.8s infinite;
}
.ip-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(30px, 2.8vw, 40px);
  font-weight: 600; line-height: 1.05;
  color: var(--ivory);
  margin-bottom: 14px;
}
.ip-title em { font-weight: 300; }
.ip-text { font-size: 13px; line-height: 1.8; color: rgba(244, 240, 232, 0.65); }
.ip-photo {
  display: block;
  background: #fff;
  padding: 5px;
  border-radius: 8px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.4);
  transform: rotate(5deg);
  transition: transform 0.4s cubic-bezier(.2,.8,.2,1);
}
.intro-passport:hover .ip-photo { transform: rotate(1deg) translateY(-3px); }
.ip-photo img { display: block; width: 100%; height: auto; border-radius: 5px; }

.ip-grid {
  list-style: none; margin: 0 0 28px; padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(244, 240, 232, 0.1);
}
.ip-grid li {
  display: flex; align-items: center; gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(244, 240, 232, 0.1);
}
.ip-grid li:nth-child(odd) { padding-right: 14px; border-right: 1px solid rgba(244, 240, 232, 0.1); }
.ip-grid li:nth-child(even) { padding-left: 18px; }
.ip-stamp {
  flex-shrink: 0;
  width: 50px; height: 50px; border-radius: 50%;
  border: 1.5px solid var(--coral);
  outline: 1px dashed rgba(233, 137, 112, 0.6);
  outline-offset: -6px;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Share Tech Mono', monospace;
  font-size: 12px; text-transform: uppercase;
  color: var(--coral);
  transform: rotate(-10deg);
}
.ip-grid li:nth-child(2) .ip-stamp { border-color: var(--gold); color: var(--gold); outline-color: rgba(213,181,111,0.6); transform: rotate(6deg); }
.ip-grid li:nth-child(3) .ip-stamp { border-color: var(--sky); color: var(--sky); outline-color: rgba(175,200,228,0.6); transform: rotate(-4deg); }
.ip-grid li:nth-child(4) .ip-stamp { border-color: var(--sage); color: var(--sage); outline-color: rgba(187,192,168,0.6); transform: rotate(8deg); }
.ip-grid li > span:last-child { font-size: 12px; line-height: 1.45; color: rgba(244, 240, 232, 0.6); min-width: 0; }
.ip-grid strong {
  display: block;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 18px; font-weight: 600; line-height: 1.2;
  color: var(--ivory);
}
.ip-cta {
  display: inline-block;
  background: var(--coral); color: var(--navy);
  font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase;
  text-decoration: none;
  padding: 16px 30px;
  transition: background 0.2s;
}
.ip-cta:hover { background: var(--gold); }

@media (max-width: 1100px) and (min-width: 901px) {
  .ip-grid { grid-template-columns: 1fr; }
  .ip-grid li:nth-child(odd), .ip-grid li:nth-child(even) { padding: 14px 0; border-right: 0; }
}
@media (max-width: 900px) {
  #about .intro-split.intro-deals { grid-template-columns: 1fr; gap: 48px; padding: 60px 24px; }
  .intro-passport { padding: 28px 22px 28px; }
  .ip-head { grid-template-columns: 1fr 96px; gap: 18px; }
}
@media (max-width: 480px) {
  .ip-grid { grid-template-columns: 1fr; }
  .ip-grid li:nth-child(odd), .ip-grid li:nth-child(even) { padding: 14px 0; border-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ip-dot { animation: none; }
  .ip-photo { transition: none; }
}
