.brand-cluster {
  display: flex;
  align-items: center;
  gap: 12px;
}

.album-title-link { display: block; }

.album-title {
  width: clamp(160px, 20vw, 260px);
  height: 52px;
  overflow: visible;
}

.album-title text {
  fill: #ffcf75;
  font-family: Oswald, Impact, sans-serif;
  font-size: 42px;
  font-weight: 700;
  letter-spacing: 1px;
  paint-order: stroke fill;
  stroke: #ff4e45;
  stroke-linejoin: round;
  stroke-width: 1.8px;
  text-transform: uppercase;
  filter: drop-shadow(0 0 5px rgb(255 61 119 / .55));
  animation: album-title-draw 4.5s ease-in-out infinite alternate;
}

@keyframes album-title-draw {
  0% {
    fill: #ffcf75;
    stroke-dasharray: 0 55%;
    stroke-dashoffset: 25%;
  }

  62% {
    fill: transparent;
    stroke: #ff4e45;
  }

  100% {
    fill: transparent;
    stroke: #f6c94c;
    stroke-dasharray: 55% 0;
    stroke-dashoffset: -25%;
    filter: drop-shadow(0 0 9px rgb(246 201 76 / .7));
  }
}

@media (max-width: 760px) {
  .album-title { width: 148px; height: 40px; }
  .album-title text { font-size: 38px; }
}

@media (prefers-reduced-motion: reduce) {
  .album-title text {
    animation: none;
    fill: #ffcf75;
    stroke: #f6c94c;
  }
}
