.js-pintar .fill-word { transition: color .3s ease; }
.hero-date .fx-curtain { position: relative; display: table; overflow: hidden; }
.hero-date .curtain-text { display: block; margin: 0; font: inherit; line-height: inherit; white-space: inherit; }
.reveal-ready .fx-curtain .curtain-text { opacity: 0; }
.fx-curtain::after { content: ''; position: absolute; inset: 0; background: var(--color-accent-soft); transform: scaleX(0); transform-origin: left; }
.run .fx-curtain::after { animation: curtain 1s cubic-bezier(.76,0,.24,1) both; }
.run .fx-curtain .curtain-text { animation: curtain-text .01s linear .5s both; }
.run .fx-curtain + .fx-curtain::after { animation-delay: .12s; }
.run .fx-curtain + .fx-curtain .curtain-text { animation-delay: .62s; }
.fx-blur.reveal-ready { opacity: 0; filter: blur(8px); transform: scale(1.015); transform-origin: left center; }
.fx-blur.run { animation: resolve-blur .8s cubic-bezier(.16,1,.3,1) both; }
@keyframes curtain { 0% { transform: scaleX(0); transform-origin: left; } 50% { transform: scaleX(1); transform-origin: left; } 50.1% { transform: scaleX(1); transform-origin: right; } 100% { transform: scaleX(0); transform-origin: right; } }
@keyframes curtain-text { to { opacity: 1; } }
@keyframes resolve-blur { to { opacity: 1; filter: none; transform: none; } }
.event-countdown { max-width: 1280px; margin: 0 auto; padding: 38px 52px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-bottom: 1px solid var(--color-border-subtle); }
.countdown-eyebrow { margin: 0 0 4px; color: var(--color-accent-soft); font-size: 20px; font-weight: 500; }
.countdown-date { margin: 0; color: var(--color-text-muted); font-size: 14px; }
.countdown-status { color: var(--color-accent-soft); }
.js-countdown { display: flex; gap: 22px; }
.js-countdown[hidden] { display: none; }
.countdown-unit { min-width: 64px; text-align: center; }
.countdown-unit .v { display: block; color: var(--color-text); font: 500 clamp(30px,3vw,44px)/1 var(--font-sans); font-variant-numeric: tabular-nums; }
.countdown-unit .k { display: block; margin-top: 8px; font-size: 12px; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: .08em; }
@media(max-width:959px) { .event-countdown { padding: 28px; align-items: flex-start; flex-direction: column; gap: 24px; } .js-countdown { width: 100%; justify-content: space-between; gap: 8px; } .countdown-unit { min-width: 48px; } .countdown-eyebrow { font-size: 18px; } .countdown-date { font-size: 12px; } }
@media(prefers-reduced-motion:reduce) { .js-pintar .fill-word { transition: none; } }
@media(prefers-reduced-motion:reduce) { .reveal-ready .fx-curtain .curtain-text,.fx-blur.reveal-ready { opacity: 1; filter: none; transform: none; animation: none; } .fx-curtain::after { display: none; } }
