/* -- HERO TICKER -- */
.hero-ticker {
 position: relative;
 width: 320px;
 overflow: hidden;
}
.ticker-track {
 display: flex;
 transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.ticker-card {
 min-width: 320px;
 background: rgba(255, 255, 255, 0.08);
 border: 1px solid rgba(255, 255, 255, 0.15);
 border-radius: 16px;
 padding: 1.75rem;
 backdrop-filter: blur(4px);
}
.ticker-label {
 font-size: 0.72rem;
 font-weight: 700;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: var(--mauve-light);
 margin-bottom: 0.6rem;
}
.ticker-title {
 font-size: 1.15rem;
 font-weight: 700;
 color: #ffffff;
 margin-bottom: 0.4rem;
 font-family: 'Playfair Display', serif;
}
.ticker-sub {
 font-size: 0.85rem;
 color: rgba(255, 255, 255, 0.6);
 line-height: 1.5;
}
.ticker-bar {
 height: 4px;
 border-radius: 4px;
 background: rgba(255, 255, 255, 0.1);
 margin-top: 1.25rem;
 overflow: hidden;
}
.ticker-bar-fill {
 height: 100%;
 border-radius: 4px;
 background: var(--mauve);
}
.ticker-dots {
 display: flex;
 gap: 6px;
 margin-top: 1rem;
 padding-left: 0.25rem;
}
.ticker-dot {
 width: 6px;
 height: 6px;
 border-radius: 50%;
 background: rgba(255, 255, 255, 0.25);
 transition: background 0.3s, width 0.3s;
 cursor: pointer;
}
.ticker-dot.active {
 background: var(--mauve);
 width: 20px;
 border-radius: 3px;
}
