.background::after,.cta::before,.main-nav__link.is-active::before,.site-footer::before{pointer-events:none;position:absolute}.brand,.hero__badge{transition:filter .3s}.cta::before,.stat:hover::before{border-radius:inherit;transition:opacity .3s}:root{--new-year-red:#d32f2f;--new-year-green:#388e3c;--new-year-gold:#f9a825;--new-year-cream:#fff8e1;--new-year-warm-white:#fffef7;--new-year-soft-gold:#ffd54f}@keyframes snowfall{0%{transform:translateY(-100vh) rotate(0);opacity:.7}5%,95%{opacity:.7}100%{transform:translateY(100vh) rotate(360deg);opacity:0}}@keyframes gentle-twinkle{0%,100%{opacity:1}50%{opacity:.85}}@keyframes soft-glow{0%,100%{text-shadow:0 0 8px rgba(249,168,37,.3),0 0 12px rgba(249,168,37,.2)}50%{text-shadow:0 0 12px rgba(249,168,37,.4),0 0 16px rgba(249,168,37,.25)}}.new-year-snowflakes{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.new-year-snowflake{position:absolute;top:-10px;color:rgba(255,255,255,.6);font-size:1em;font-family:Arial,sans-serif;text-shadow:0 0 3px rgba(255,255,255,.4);animation:linear infinite snowfall;user-select:none}.accordion__item.is-open .accordion__trigger,.background,.cta,.main-nav__link.is-active,.site-footer,.stat,.team-card__super{position:relative}.hero__title,.section__title,h1,h2,h3{animation:4s ease-in-out infinite soft-glow}.cta::before{content:'';inset:-3px;background:linear-gradient(135deg,rgba(249,168,37,.15),rgba(211,47,47,.1));opacity:0;z-index:-1}.cta:hover::before{opacity:.4}.cta:hover{box-shadow:0 22px 50px rgba(58,141,255,.6),0 0 16px rgba(249,168,37,.25)}.cta--ghost:hover{box-shadow:0 0 8px rgba(249,168,37,.15),0 0 12px rgba(249,168,37,.1)}.news-card:hover,.session-card:hover,.team-card:hover{box-shadow:0 8px 24px rgba(249,168,37,.1),0 0 16px rgba(249,168,37,.05)}.main-nav__link.is-active::before{content:'❄';left:-15px;top:50%;transform:translateY(-50%);font-size:.7em;opacity:.6;animation:3s ease-in-out infinite gentle-twinkle;z-index:1}.background::after{content:'';top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(211,47,47,.04) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(56,142,60,.04) 0,transparent 50%),radial-gradient(circle at 40% 20%,rgba(249,168,37,.05) 0,transparent 50%);z-index:0;animation:6s ease-in-out infinite gentle-twinkle}.brand{filter:drop-shadow(0 2px 8px rgba(249, 168, 37, .2))}.brand:hover{filter:drop-shadow(0 4px 12px rgba(249, 168, 37, .3))}.alert-banner{border-left:3px solid var(--new-year-gold)}.alert-banner__icon{background:linear-gradient(135deg,rgba(211,47,47,.9),rgba(56,142,60,.9))}.stat__value{animation:3s ease-in-out infinite soft-glow}.news-modal__dialog{border-top:3px solid var(--new-year-gold);box-shadow:0 8px 32px rgba(0,0,0,.4),0 0 20px rgba(249,168,37,.1)}.accordion__item.is-open .accordion__trigger::before{content:'❄';position:absolute;left:-24px;font-size:.8em;opacity:.5;animation:2s ease-in-out infinite gentle-twinkle;pointer-events:none}.team-card__super{background:linear-gradient(135deg,rgba(249,168,37,.95),rgba(211,47,47,.95));box-shadow:0 2px 8px rgba(249,168,37,.3)}.team-card__super::after{content:'⭐';margin-left:4px;animation:2s ease-in-out infinite gentle-twinkle}.site-footer::before{content:'❄';top:-16px;left:50%;transform:translateX(-50%);font-size:1.5em;opacity:.2;animation:4s ease-in-out infinite gentle-twinkle}.hero__badge{filter:drop-shadow(0 4px 12px rgba(249, 168, 37, .2))}.hero__badge:hover{filter:drop-shadow(0 6px 16px rgba(249, 168, 37, .3))}.feature-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.3),0 0 16px rgba(249,168,37,.08)}.main-nav__link.is-active{background:linear-gradient(135deg,rgba(211,47,47,.1),rgba(56,142,60,.1));border-radius:4px}.stat:hover::before{content:'';position:absolute;inset:-4px;background:linear-gradient(135deg,rgba(249,168,37,.1),rgba(211,47,47,.1));z-index:-1;opacity:.5}@media (max-width:768px){.new-year-snowflake{font-size:.8em;opacity:.5}.hero__title,.section__title,h1,h2,h3{animation-duration:5s}.cta::before,.main-nav__link.is-active::before{display:none}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}