:root{
  --panel-deco-inset: 26px;
}

/* =========================
   WALTZ HERO IMAGE
   ========================= */
.waltz-hero{
  width: 100%;
  background: #000;
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.waltz-hero-image{
  width: min(2400px, 200vw);
  height: auto;
  display: block;

  filter: brightness(1.05) contrast(1.0);
  animation: waltzHeroGlow 6s ease-in-out infinite;
}

@keyframes waltzHeroGlow{
  0%, 100%{
    filter: brightness(1.05) contrast(1.0);
  }
  50%{
    filter: brightness(1.15) contrast(1.14);
  }
}

@media (prefers-reduced-motion: reduce){
  .waltz-hero-image{ animation: none; }
}

/* =========================
   CONTENT ROW
   ========================= */
.waltz-content{
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 10px;
}

.waltz-panel{
  position: relative;
  width: min(1000px, 100%);
  padding: 15px 15px 19px;

  background: transparent;
  box-shadow: none;
  border: none;
  overflow: visible;
}

/* =========================
   DESCRIPTION / TITLE LINE
   ========================= */
.waltz-description{
  width: 100%;  
}

.waltz-description pre{  
  white-space: pre-wrap;
  text-align: center;

  font-family: "AstroSpace-0Wl3o", system-ui, sans-serif;
  font-size: 20px;
  font-style: italic;
  line-height: 0px;
  letter-spacing: .14em;

  color: rgb(92, 200, 246);

  text-shadow:
    /* bright inner core */
    0 0 3px rgba(255,255,255,.70),

    /* primary energy */
    0 0 10px rgba(92,200,246,.88),
    0 0 22px rgba(92,200,246,.68),
    0 0 44px rgba(92,200,246,.48),

    /* far aura */
    0 0 90px rgba(92,200,246,.30);

  animation: textEnergyPulse 5.2s ease-in-out infinite;
}

@keyframes textEnergyPulse{
  0%, 100%{
    text-shadow:
      0 0 3px rgba(255,255,255,.55),
      0 0 10px rgba(92,200,246,.72),
      0 0 22px rgba(92,200,246,.52),
      0 0 44px rgba(92,200,246,.34),
      0 0 90px rgba(92,200,246,.22);
  }
  50%{
    text-shadow:
      0 0 4px rgba(255,255,255,.88),
      0 0 14px rgba(92,200,246,.98),
      0 0 32px rgba(92,200,246,.78),
      0 0 60px rgba(92,200,246,.58),
      0 0 120px rgba(92,200,246,.38);
  }
}

.downloads-block{
  display: flex;
  flex-direction: column;
  align-items: center;

  margin-top: 24px;
  padding-bottom: 2px;
}

.downloads-preview{
  display: inline-flex;          /* was flex */
  justify-content: center;
  align-items: stretch;
  margin-top: 24px;

  text-decoration: none;
  cursor: pointer;

  padding: 0px;
  border-radius: 1px;

  border: 1px solid rgba(102, 208, 237, 0.65);

  box-shadow:
    0 0 8px rgba(102, 208, 237, 0.35),
    0 0 16px rgba(102, 208, 237, 0.18);

  transition:
    transform .25s ease,
    filter .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.downloads-preview picture{
  display: block;
}

.downloads-preview img{
  display: block;
  height: 150px;     /* adjust once, both scale together */
  width: auto;
}

.downloads-preview:hover{
  border-color: rgba(102, 208, 237, 0.95);

  box-shadow:
    0 0 12px rgba(102, 208, 237, 0.55),
    0 0 28px rgba(102, 208, 237, 0.35);

  transform: scale(1.01);
}

.downloads-label{
  margin-top: 5px;

  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;

  color: rgb(102, 208, 237);
  text-shadow:
    0 0 6px rgba(102, 208, 237, 0.5),
    0 0 12px rgba(102, 208, 237, 0.25);
}