

.brand {
  --brand-edge: var(--color-swsh-black);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  rotate: -4deg; 
  font-size: var(--brand-size, var(--size-lg));
  line-height: 1;
  font-family: var(--font-brand, var(--font-swsh));
  filter:
    drop-shadow(0 0 0.036em var(--color-swsh-cam-cyan))
    drop-shadow(0 0 0.136em color-mix(in srgb, var(--color-swsh-male) 80%, transparent));
}
.brand__top {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  font: 400 calc(var(--brand-size, var(--size-lg)) * 0.73)/1 var(--font-brand, var(--font-swsh));
  letter-spacing: -0.01em; 
  color: var(--color-swsh-white);
  -webkit-text-stroke: 0.225em var(--brand-edge);
  paint-order: stroke fill;
}
.brand__top[hidden], .brand__ball[hidden] { display: none; }

.brand__ball {
  flex: none;
  box-sizing: content-box;
  width: 0.7em; 
  height: 0.7em;
  margin: 0 -0.01em 0 0.005em;
  border: 0.09em solid var(--brand-edge);
  border-radius: 50%;
  background:
    radial-gradient(ellipse 0.14em 0.09em at 30% 24%, color-mix(in srgb, var(--color-swsh-white) 75%, transparent), transparent), 
    radial-gradient(circle at 50% 50%, var(--color-swsh-white) 0 0.1em, var(--brand-edge) 0.105em 0.16em, transparent 0.165em),
    linear-gradient(180deg, var(--color-swsh-red) 0 calc(50% - 0.045em), var(--brand-edge) calc(50% - 0.045em) calc(50% + 0.045em), var(--color-swsh-white) calc(50% + 0.045em) 100%);
  box-shadow: inset -0.06em -0.06em 0.125em color-mix(in srgb, var(--color-swsh-black) 20%, transparent);
}
.brand__bottom {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 0.28em; 
  margin-top: -0.14em;
  letter-spacing: 0.02em;
}
.brand__tap {
  position: relative;
  display: inline-block;
  font: 400 var(--brand-size, var(--size-lg))/1 var(--font-brand, var(--font-swsh));
  color: var(--brand-edge);
  -webkit-text-stroke: 0.218em var(--brand-edge);
  paint-order: stroke fill;
  animation: brand-tap var(--brand-beat, var(--motion-pulse)) ease-out infinite;
}
.brand__tap::after {
  content: attr(data-text);
  position: absolute;
  left: 0;
  top: 0;
  -webkit-text-stroke: 0;
  color: transparent;
  background: linear-gradient(180deg, var(--color-swsh-yellow) 0%, var(--color-swsh-gold) 50%, color-mix(in srgb, var(--color-swsh-gold) 55%, var(--color-swsh-orange)) 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.brand__tap + .brand__tap { animation-delay: calc(var(--brand-beat, var(--motion-pulse)) * 0.24); }
@keyframes brand-tap {
  0%, 60%, 100% { transform: none; }
  10% { transform: translateY(-0.12em) scale(1.06); }
  22% { transform: translateY(0.03em) scale(0.98); }
}
