.season-nav-link {
    --season-a: #667085;
    --season-b: #98a2b3;
    --season-c: #344054;
    align-items: center;
    display: inline-flex;
    gap: .45rem;
    isolation: isolate;
    position: relative;
    text-decoration: none;
    transition: filter 180ms ease, transform 180ms ease;
}

.season-nav-link:hover { filter: brightness(1.08); }
.season-nav-link:active { transform: translateY(1px); }
.season-nav-icon { display: inline-grid; flex: 0 0 auto; place-items: center; transition: transform 240ms cubic-bezier(.2,.8,.2,1); }
.season-nav-icon svg { display: block; height: 1.15em; width: 1.15em; }
.season-nav-link:hover .season-nav-icon { transform: rotate(-7deg) scale(1.12); }
.season-nav-text { color: var(--season-a); display: inline-block; font-weight: 750; letter-spacing: .005em; }

.season-effect-halloween { --season-a: #ff8a1f; --season-b: #ff3d71; --season-c: #8b5cf6; }
.season-effect-christmas { --season-a: #e63946; --season-b: #1fa774; --season-c: #f4c95d; }
.season-effect-summer { --season-a: #ff9f1c; --season-b: #00b8d9; --season-c: #ffd166; }
.season-effect-spring { --season-a: #65a30d; --season-b: #c084fc; --season-c: #fb7185; }
.season-effect-valentines { --season-a: #f43f5e; --season-b: #ec4899; --season-c: #a855f7; }
.season-effect-newyear { --season-a: #d4a017; --season-b: #fff2a8; --season-c: #9b6b00; }
.season-effect-easter { --season-a: #a855f7; --season-b: #2dd4bf; --season-c: #fb7185; }

.season-effect-halloween .season-nav-text,
.season-effect-christmas .season-nav-text,
.season-effect-summer .season-nav-text,
.season-effect-spring .season-nav-text,
.season-effect-valentines .season-nav-text,
.season-effect-newyear .season-nav-text,
.season-effect-easter .season-nav-text {
    animation: season-shimmer 5.5s linear infinite;
    background: linear-gradient(100deg, var(--season-a) 0%, var(--season-b) 35%, var(--season-c) 55%, var(--season-a) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    background-size: 250% 100%;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.season-effect-halloween .season-nav-icon { color: #ff7518; filter: drop-shadow(0 0 4px rgba(255,117,24,.38)); }
.season-effect-christmas .season-nav-icon { color: #d62839; filter: drop-shadow(0 0 4px rgba(31,167,116,.34)); }
.season-effect-summer .season-nav-icon { color: #ff9f1c; filter: drop-shadow(0 0 4px rgba(0,184,217,.32)); }
.season-effect-spring .season-nav-icon { color: #65a30d; filter: drop-shadow(0 0 4px rgba(192,132,252,.3)); }
.season-effect-valentines .season-nav-icon { animation: season-heartbeat 1.8s ease-in-out infinite; color: #f43f5e; filter: drop-shadow(0 0 5px rgba(244,63,94,.4)); }
.season-effect-newyear .season-nav-icon { animation: season-sparkle 2.6s ease-in-out infinite; color: #d4a017; }
.season-effect-easter .season-nav-icon { color: #a855f7; filter: drop-shadow(0 0 4px rgba(45,212,191,.35)); }

@keyframes season-shimmer {
    from { background-position: 200% 50%; }
    to { background-position: -50% 50%; }
}
@keyframes season-heartbeat {
    0%, 55%, 100% { transform: scale(1); }
    12% { transform: scale(1.17); }
    24% { transform: scale(1.04); }
    36% { transform: scale(1.13); }
}
@keyframes season-sparkle {
    0%, 100% { filter: drop-shadow(0 0 2px rgba(212,160,23,.25)); transform: rotate(0) scale(1); }
    50% { filter: drop-shadow(0 0 7px rgba(255,222,89,.72)); transform: rotate(8deg) scale(1.12); }
}

@media (prefers-reduced-motion: reduce) {
    .season-nav-link, .season-nav-icon, .season-nav-text { animation: none !important; transition-duration: .01ms !important; }
}
