
.short-img,
.celeb-img {
  transition: transform .6s cubic-bezier(.2, .6, .2, 1);
  will-change: transform;
}
.short-card:hover .short-img,
.celeb-card:hover .celeb-img,
.country-card:hover .short-img {
  transform: scale(1.08);
}

/* Home page episode cards: subtle brightness lift on the image */
.media-image {
  transition: filter .4s ease;
}
.media-card:hover .media-image {
  filter: brightness(1.12);
}


.reveal-init {
  opacity: 0;
  transform: translateY(26px);
}
.reveal-in {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .7s ease, transform .7s cubic-bezier(.2, .6, .2, 1);
}


.btn {
  position: relative;
  overflow: hidden;
}
.btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -80%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    105deg,
    transparent 20%,
    rgba(255, 255, 255, .35) 50%,
    transparent 80%
  );
  transform: skewX(-20deg);
  transition: left .55s ease;
  pointer-events: none;
}
.btn:hover::after { left: 130%; }


.site-header {
  transition: background .35s ease, box-shadow .35s ease;
}
.nav {
  transition: min-height .35s ease;
}
.logo {
  transition: font-size .35s ease;
}
.site-header.scrolled {
  background: rgba(18, 10, 8, .9);
  box-shadow: 0 6px 24px rgba(0, 0, 0, .35);
}
.site-header.scrolled .nav { min-height: 62px; }
.site-header.scrolled .logo { font-size: 1.6rem; }
.site-header.scrolled .logo small { font-size: .95rem; }


@keyframes playPulse {
  0%, 100% { box-shadow: 0 4px 20px rgba(217, 58, 23, .45); }
  50%      { box-shadow: 0 4px 32px rgba(217, 58, 23, .8); }
}
.play-overlay .play-btn {
  animation: playPulse 2.4s ease-in-out infinite;
}

html {
  scrollbar-width: thin;
  scrollbar-color: var(--gold) rgba(26, 14, 6, .9);
}
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: rgba(26, 14, 6, .9); }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--gold-soft), var(--gold));
  border-radius: 99px;
  border: 2px solid rgba(26, 14, 6, .9);
}
::-webkit-scrollbar-thumb:hover { background: var(--gold-soft); }


.eyebrow,
.celeb-tag,
.stat-card .stat-label {
  letter-spacing: 2.2px;
}
.media-body p,
.celeb-body p,
.country-body p,
.host-text p,
.value-card p {
  max-width: 62ch;
}


.celeb-hero-inner .gold-text {
  background: linear-gradient(180deg, var(--gold-soft), var(--gold));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.short-card,
.celeb-card,
.country-card,
.media-card,
.value-card,
.info-card {
  transition: transform .22s ease, box-shadow .22s ease, border-color .3s ease;
}
.short-card:hover,
.celeb-card:hover,
.country-card:hover,
.media-card:hover,
.value-card:hover,
.info-card:hover {
  border-color: rgba(255, 224, 180, .38);
}


@media (prefers-reduced-motion: reduce) {
  .reveal-init { opacity: 1; transform: none; }
  .short-img,
  .celeb-img,
  .btn::after,
  .site-header,
  .nav,
  .logo { transition: none; }
  .play-overlay .play-btn { animation: none; }
}
