.wm {
  font-family: var(--display);
  font-weight: 800;
  line-height: 1;
  color: var(--ink);
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  white-space: nowrap;
  letter-spacing: -0.02em;
  text-transform: lowercase;
  text-decoration: none;
}
.wm-prefix {
  color: var(--persona);
  text-shadow: 0 0 8px rgba(var(--persona-rgb), 0.4);
}
.wm-sx {
  display: inline-block;
  min-width: 0.22em;
  margin: 0 0.02em;
  text-align: center;
  color: var(--persona);
  animation: wm-sep-glow 1.05s ease-in-out infinite;
}
@keyframes wm-sep-glow {
  0%, 100% { text-shadow: 0 0 2px var(--persona), 0 0 5px rgba(var(--persona-rgb), 0.3); }
  50% { text-shadow: 0 0 4px var(--persona), 0 0 10px rgba(var(--persona-rgb), 0.55); }
}
.wm-cb {
  color: var(--ink-mid);
  font-weight: 700;
  width: 0.22em;
  min-width: 0.22em;
  margin-left: -0.04em;
  animation: wm-cb 1.05s step-end infinite;
}
@keyframes wm-cb {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}
.wm-lg { font-size: clamp(2.5rem, 10vw, 4.5rem); }
.wm-md { font-size: clamp(1.35rem, 4.2vw, 1.75rem); }
.wm-sm { font-size: clamp(0.95rem, 3vw, 1.12rem); opacity: 0.9; }

.wm .g0 {
  color: var(--persona);
  text-shadow: -1px 0 rgba(255, 42, 109, 0.65), 1px 0 rgba(5, 217, 232, 0.65);
  animation: wm-gl-jit 80ms steps(2) infinite;
  display: inline-block;
}
@keyframes wm-gl-jit {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(1px); }
}

.wm.fx-a { animation: wm-fx-a 0.42s steps(2, end) 1, wm-fx-col 0.42s linear 1; }
.wm.fx-b { animation: wm-fx-b 0.5s steps(1, end) 1, wm-fx-col 0.5s linear 1; }
.wm.fx-c { animation: wm-fx-c 0.34s ease-in-out 1, wm-fx-col 0.34s linear 1; }
.wm.fx-d { animation: wm-fx-d 0.3s steps(1, end) 1, wm-fx-col 0.3s linear 1; }
.wm.fx-e { animation: wm-fx-e 0.46s steps(3, end) 1, wm-fx-col 0.46s linear 1; }

@keyframes wm-fx-col {
  0% { color: var(--ink); text-shadow: none; }
  15% { color: #ff2a6d; text-shadow: 0 0 12px #ff2a6d, -3px 0 #05d9e8, 3px 0 #ff2a6d; }
  30% { color: #b300ff; text-shadow: 0 0 16px #b300ff, 3px 0 #05d9e8; }
  45% { color: #05d9e8; text-shadow: 0 0 14px #05d9e8, -3px 0 #ff2a6d; }
  60% { color: var(--persona); text-shadow: 0 0 18px rgba(var(--persona-rgb), 0.65); }
  75% { color: #c8ff00; text-shadow: 0 0 12px #c8ff00; }
  90% { color: #ff9000; text-shadow: 0 0 10px #ff9000; }
  100% { color: var(--ink); text-shadow: none; }
}
@keyframes wm-fx-a {
  0%, 100% { transform: none; }
  20% { transform: translateX(2px); text-shadow: 4px 0 #ff2a6d, -4px 0 #05d9e8; }
  40% { transform: translateX(-2px); }
  60% { transform: translateX(1px); }
}
@keyframes wm-fx-b {
  0%, 100% { clip-path: none; transform: none; }
  15% { clip-path: inset(20% 0 55% 0); transform: translateX(-5px); }
  45% { clip-path: inset(38% 0 40% 0); transform: translateX(4px); }
  75% { clip-path: inset(72% 0 4% 0); transform: translateX(-3px); }
}
@keyframes wm-fx-c {
  0%, 100% { transform: none; }
  50% { transform: skewX(-7deg) scaleY(1.03); }
}
@keyframes wm-fx-d {
  0%, 100% { opacity: 1; }
  35% { opacity: 0.12; }
  60% { opacity: 0.35; }
}
@keyframes wm-fx-e {
  0%, 100% { transform: none; }
  50% { transform: translate(2px, -2px); }
}

.site-head {
  position: relative;
  z-index: 10;
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 1.25rem 1rem 0;
}
.site-head::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: min(280px, 70vw);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--persona-rgb), 0.45), transparent);
}
.site-foot {
  position: relative;
  z-index: 10;
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 1.5rem 1rem 2rem;
  margin-top: auto;
}
