/* Hero paint rotator v2: a highlighter affirms each audience; "Together" seals. */
.cover-title .bp { animation: bp-breathe 3.6s ease-in-out infinite; }
@keyframes bp-breathe { 0%, 100% { font-weight: 560; } 50% { font-weight: 660; } }
.cover-title .slot { position: relative; display: inline-block; white-space: nowrap; vertical-align: bottom; }
.cover-title .slot.w { transition: width 0.45s cubic-bezier(0.4, 0, 0.2, 1); }
.cover-title .slot em { position: relative; z-index: 1; transition: clip-path 0.62s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.26s ease; }
.cover-title .slot em.reveal { clip-path: inset(-0.25em 100% -0.25em -0.05em); }
.cover-title .slot em.reveal.in { clip-path: inset(-0.25em -0.1em -0.25em -0.05em); }
.cover-title .slot em.out { opacity: 0; }
.cover-title .stroke { position: absolute; z-index: 0; left: -0.1em; right: -0.06em; bottom: 0.02em; height: 0.5em; border-radius: 0.08em 0.16em 0.1em 0.14em; background: var(--gold); opacity: 0.3; transform: rotate(-1.2deg) scaleX(0); transform-origin: left center; transition: transform 0.52s cubic-bezier(0.55, 0, 0.3, 1), opacity 0.26s ease; pointer-events: none; }
.cover-title .stroke.on { transform: rotate(-1.2deg) scaleX(1); }
.cover-title .stroke.off { opacity: 0; }
.cover-title .stroke.seal { z-index: 1; bottom: 0.03em; height: 0.075em; border-radius: 2px; background: var(--gold-deep); opacity: 1; transform: rotate(0deg) scaleX(0); }
.cover-title .stroke.seal.on { transform: rotate(0deg) scaleX(1); }
html[data-theme="guide"] .cover-title .stroke { background: #e8833a; }
html[data-theme="guide"] .cover-title .stroke.seal { background: #3e7c59; }
.cover-title .dot { display: inline-block; }
.cover-title .dot.pop { animation: dot-pop 0.65s cubic-bezier(0.34, 1.56, 0.64, 1); }
@keyframes dot-pop { 0% { transform: scale(1); } 45% { transform: scale(1.4); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
  .cover-title .bp { animation: none; }
}
