/* ------------------------------- Marquee -------------------------------- */
.marquee {
  border-top: 1px solid rgba(212, 175, 55, 0.3);
  border-bottom: 1px solid rgba(212, 175, 55, 0.3);
  background: rgba(24, 12, 34, 0.45);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  overflow: hidden;
  padding: 16px 0;
  white-space: nowrap;
}
.marquee-track { display: inline-block; animation: marquee 28s linear infinite; }
.marquee-track span {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(16px, 2.2vw, 26px);
  color: var(--text-dim-dark);
  margin: 0 18px;
}
@media (min-width: 561px) {
  .marquee { padding: 20px 0; }
  .marquee-track span { margin: 0 26px; }
}
.marquee-track b { color: var(--gold); font-weight: 500; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* --------------------------- Teasers (home page) ------------------------ */
.teaser-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 38px;
}
@media (min-width: 561px) {
  .teaser-grid { grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 50px; }
}
@media (min-width: 901px) {
  .teaser-grid { grid-template-columns: repeat(3, 1fr); gap: 28px; }
}
.teaser-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  border-radius: 20px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.42);
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  border: 1px solid var(--glass-edge-light);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    inset 0 3px 6px rgba(255, 255, 255, 0.35),
    inset 0 -1px 0 rgba(255, 255, 255, 0.28),
    inset 0 -16px 26px -20px rgba(36, 19, 51, 0.4),
    0 14px 40px rgba(36, 19, 51, 0.12);
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s;
}
.teaser-card:hover {
  transform: translateY(-6px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    inset 0 3px 7px rgba(255, 255, 255, 0.4),
    inset 0 -1px 0 rgba(255, 255, 255, 0.3),
    inset 0 -18px 30px -20px rgba(36, 19, 51, 0.45),
    0 24px 56px rgba(36, 19, 51, 0.2);
}
.teaser-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.teaser-card-body { padding: 20px 20px 24px; }
@media (min-width: 561px) {
  .teaser-card-body { padding: 24px 24px 28px; }
}
.teaser-card-tag {
  display: inline-block;
  font-size: 10.5px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #9c7c14;
  margin-bottom: 10px;
}
.teaser-card h3 { font-size: clamp(19px, 2.4vw, 24px); margin-bottom: 8px; }
.teaser-card p { color: var(--text-dim-light); font-size: 14.5px; }

