
/* ZUUL FX V1.33 — custom SVG display typeface
   Glyph shapes traced from the approved ZUUL FX alphabet specimen.
   No runtime JavaScript and no installable font required. */

.zfx-title-svg {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.16em .38em;
  color:#f1f1f1;
}
.zfx-title-svg .zfx-word {
  display:inline-flex;
  align-items:baseline;
  gap:.025em;
  white-space:nowrap;
}
.zfx-title-svg .zfx-word.zfx-accent {
  color:#db1717;
}
.zfx-title-svg .zfx-letter {
  display:block;
  height:.88em;
  overflow:visible;
  flex:0 0 auto;
  filter:drop-shadow(0 0 3px rgba(207,18,18,.16));
}
.zfx-title-svg .zfx-letter path {
  fill:currentColor;
}
.zfx-title-svg .zfx-punct {
  display:inline-block;
  font-family:Arial,sans-serif;
  font-weight:bold;
  line-height:.8;
  color:currentColor;
}
.zfx-title-svg .sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Gentle signal malfunction: only large H1 titles animate. */
h1.zfx-title-svg .zfx-letter:nth-child(4n+2) {
  animation:zfxSignalA 6.8s steps(1,end) infinite;
}
h1.zfx-title-svg .zfx-letter:nth-child(5n+1) {
  animation:zfxSignalB 8.4s steps(1,end) infinite;
}
@keyframes zfxSignalA {
  0%, 88%, 92%, 100% { transform:translate(0,0); opacity:1; }
  89% { transform:translate(3px,0); opacity:.86; }
  90% { transform:translate(-2px,1px); opacity:1; }
  91% { transform:translate(1px,0); opacity:.92; }
}
@keyframes zfxSignalB {
  0%, 93%, 97%, 100% { transform:translate(0,0); }
  94% { transform:translate(-3px,0); }
  95% { transform:translate(2px,-1px); }
  96% { transform:translate(0,0); }
}

@media screen and (max-width:560px) {
  .zfx-title-svg { gap:.12em .28em; }
  .zfx-title-svg .zfx-word { gap:.015em; }
}
@media (prefers-reduced-motion: reduce) {
  h1.zfx-title-svg .zfx-letter { animation:none !important; }
}


/* V1.34 — spacing / accent fix */
.zfx-title-svg {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: .34em;
  row-gap: .12em;
}
.zfx-title-svg .zfx-word {
  display: inline-flex;
  align-items: baseline;
  gap: .028em;
  white-space: nowrap;
  color: inherit;
}
.zfx-title-svg .zfx-char {
  display: inline-flex;
  align-items: baseline;
  color: inherit;
}
.zfx-title-svg .zfx-char.zfx-char-accent {
  color: #db1717;
}
.zfx-title-svg .zfx-letter {
  display: block;
  height: .88em;
  width: auto;
  overflow: visible;
  flex: 0 0 auto;
  filter: drop-shadow(0 0 3px rgba(207,18,18,.16));
}
.zfx-title-svg .zfx-punct {
  display: inline-block;
  font-family: Arial, sans-serif;
  font-weight: bold;
  line-height: .8;
  color: currentColor;
}

h1.zfx-title-svg .zfx-char:nth-child(4n+2) .zfx-letter {
  animation: zfxSignalA 6.8s steps(1,end) infinite;
}
h1.zfx-title-svg .zfx-char:nth-child(5n+1) .zfx-letter {
  animation: zfxSignalB 8.4s steps(1,end) infinite;
}

@media screen and (max-width:560px) {
  .zfx-title-svg {
    column-gap: .26em;
    row-gap: .10em;
  }
  .zfx-title-svg .zfx-word {
    gap: .02em;
  }
}
@media (prefers-reduced-motion: reduce) {
  h1.zfx-title-svg .zfx-char .zfx-letter { animation: none !important; }
}


/* V1.35 — HOME / H+ title tuning */
.home-display.zfx-title-svg,
.page-title.zfx-title-svg,
.section-title.zfx-title-svg {
  justify-content: center;
  text-align: center;
}

.home-release .home-display.zfx-title-svg,
.home-live .home-display.zfx-title-svg,
.home-music .home-display.zfx-title-svg,
.home-pro .home-display.zfx-title-svg,
.home-archive .home-display.zfx-title-svg,
.home-merch .home-display.zfx-title-svg {
  margin-left: auto;
  margin-right: auto;
}

.home-archive .archive-copy {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.home-display.zfx-title-svg .zfx-word,
.page-title.zfx-title-svg .zfx-word,
.section-title.zfx-title-svg .zfx-word {
  gap: .032em;
}

.home-display.zfx-title-svg .zfx-char-accent,
.page-title.zfx-title-svg .zfx-char-accent,
.section-title.zfx-title-svg .zfx-char-accent {
  color: #d71919;
}

.home-display.zfx-title-svg .zfx-char:not(.zfx-char-accent),
.page-title.zfx-title-svg .zfx-char:not(.zfx-char-accent),
.section-title.zfx-title-svg .zfx-char:not(.zfx-char-accent) {
  color: #f0f0f0;
}


/* V1.37 — robust complete-word rendering */
.zfx-title-svg {
  column-gap: .36em !important;
  row-gap: .12em;
}
.zfx-title-svg .zfx-word {
  gap: .026em !important;
}
.zfx-title-svg .zfx-punct {
  min-width: .20em;
  font-family: "Arial Narrow", Arial, sans-serif;
  font-size: .82em;
  font-weight: 800;
  line-height: 1;
  vertical-align: .06em;
  color: currentColor;
}
.zfx-title-svg .zfx-char-accent {
  color: #d71919 !important;
}
.zfx-title-svg .zfx-char:not(.zfx-char-accent) {
  color: #f1f1f1 !important;
}
@media screen and (max-width:560px) {
  .zfx-title-svg { column-gap: .28em !important; }
}
