/* Paletas estacionales aplicadas a toda la web pública. */
body[data-season=ninez]{--blue:#763dac;--blue-dark:#4c2877;--sky:#dc7ba7;--soft:#faf3ff;--season-accent:#763dac;--season-deep:#392657;--season-tint:#faf3ff;--season-line:#dec6ef;--season-mark:'🎈  ✨  🎈';--season-pattern:radial-gradient(circle at 7px 7px,#d63f7a25 2px,transparent 3px),radial-gradient(circle at 21px 21px,#39a6b52a 2px,transparent 3px)}
body[data-season=velitas]{--blue:#88521f;--blue-dark:#52351e;--sky:#c49a4e;--soft:#fff8e9;--season-accent:#88521f;--season-deep:#352d33;--season-tint:#fff8e9;--season-line:#e8d3a9;--season-mark:'🕯️  ✦  🕯️';--season-pattern:radial-gradient(circle at 12px 12px,#dba83c35 1.6px,transparent 2.5px)}
body[data-season=independencia]{--blue:#174d91;--blue-dark:#12366b;--sky:#d4aa24;--soft:#fffbee;--season-accent:#174d91;--season-deep:#12305b;--season-tint:#fffbee;--season-line:#e5d7a2;--season-mark:'🇨🇴  ✦  🇨🇴';--season-pattern:radial-gradient(circle at 12px 12px,#d4aa2429 1.6px,transparent 2px)}
body[data-season=independencia] .header{border-bottom:4px solid transparent;border-image:linear-gradient(90deg,#f9d342 0 50%,#154994 50% 75%,#ca3545 75%) 1}
body[data-season=amistad]{--blue:#aa3058;--blue-dark:#70213f;--sky:#e79bb3;--soft:#fff2f5;--season-accent:#aa3058;--season-deep:#572638;--season-tint:#fff2f5;--season-line:#edc4d1;--season-mark:'💕  ♡  ❤️';--season-pattern:radial-gradient(circle at 12px 12px,#df416e22 2px,transparent 3px)}
body[data-season=halloween]{--blue:#99450b;--blue-dark:#49244f;--sky:#dd9a59;--soft:#fff5e8;--season-accent:#99450b;--season-deep:#32223c;--season-tint:#fff5e8;--season-line:#e7c6a5;--season-mark:'🎃  ✦  🕸';--season-pattern:radial-gradient(circle at 12px 12px,#c8792330 1.3px,transparent 1.8px)}
body[data-season=navidad]{--blue:#23633e;--blue-dark:#183e2d;--sky:#b59441;--soft:#f1f7ef;--season-accent:#23633e;--season-deep:#173e2e;--season-tint:#f1f7ef;--season-line:#c7d9c3;--season-mark:'✦  🎄  ❄';--season-pattern:radial-gradient(circle at 12px 12px,#ac833c40 1.4px,transparent 1.8px)}
body[data-season=madre]{--blue:#963769;--blue-dark:#662549;--sky:#d68eac;--soft:#fff2f7;--season-accent:#963769;--season-deep:#4f293f;--season-tint:#fff2f7;--season-line:#edccdb;--season-mark:'🌸  ♡  🌷';--season-pattern:radial-gradient(ellipse at 12px 12px,#d58eaf25 3px,transparent 4px)}
body[data-season=padre]{--blue:#215e83;--blue-dark:#163e57;--sky:#a48b57;--soft:#eff6fa;--season-accent:#215e83;--season-deep:#16374e;--season-tint:#eff6fa;--season-line:#c9dce8;--season-mark:'💙  ✦  👔';--season-pattern:linear-gradient(45deg,transparent 47%,#91aecb20 48% 52%,transparent 53%)}
body[data-season]{background-color:var(--season-tint)}
body[data-season] .topbar,body[data-season] .footer{background:var(--season-deep)}
body[data-season] .header{background:linear-gradient(100deg,#fff 30%,var(--season-tint));border-color:var(--season-accent)}
body[data-season] main>.section{background-color:#fff}
body[data-season] main>.section.soft,body[data-season] .page-hero,body[data-season] .contact-band{background-color:var(--season-tint);background-image:var(--season-pattern);background-size:28px 28px;border-color:var(--season-line)}
body[data-season] .page-hero{background-image:var(--season-pattern),linear-gradient(110deg,var(--season-tint),#fff);background-size:28px 28px,100% 100%}
body[data-season] .section-head{border-left:3px solid var(--season-accent);padding-left:18px}
body[data-season] .btn:not(.white):not(.outline){background:var(--season-accent);border-color:var(--season-accent);color:#fff}
body[data-season] .btn.outline{border-color:var(--season-accent);color:var(--season-accent)}
body[data-season] .hero .btn.outline{color:#fff;border-color:#ffffff90}
body[data-season] .service-card,body[data-season] .news-card,body[data-season] .contact-panel,body[data-season] .aside-card,body[data-season] .doc-row,body[data-season] .location-card{border-color:var(--season-line)}
body[data-season] .team-card img,body[data-season] .gallery img{box-shadow:0 5px 0 var(--season-line)}
body[data-season] .intro-strip{background:var(--season-tint)}
body[data-season] .hero{border-bottom:4px solid var(--season-accent)}
body[data-season] .game-shell,body[data-season] .game-start{background:var(--season-tint);border-color:var(--season-line)}
body[data-season] .footer:before{content:var(--season-mark);display:block;text-align:center;font-size:27px;letter-spacing:22px;margin-bottom:30px;opacity:.85}
.season-decoration{display:flex;justify-content:flex-end;gap:22px;font-size:25px;line-height:1;padding:14px 0;color:var(--season-accent);pointer-events:none;user-select:none}
body[data-season] .page-hero .season-decoration{float:right;padding:0}
@media(max-width:700px){.season-decoration{font-size:18px;gap:14px}body[data-season] .footer:before{font-size:22px}body[data-season] .section-head{padding-left:12px}}
@media print{.season-decoration,body[data-season] .footer:before{display:none}}

/* The small point marks the precise click position; artwork never intercepts clicks. */
.season-cursor{position:fixed;left:0;top:0;width:44px;height:44px;z-index:2147483647;pointer-events:none;user-select:none;visibility:hidden;filter:drop-shadow(0 2px 3px #17283b55)}
.season-cursor.is-visible{visibility:visible}
.season-cursor:before{content:'';position:absolute;left:-2px;top:-2px;width:5px;height:5px;background:#fff;border:1px solid #49244f;border-radius:50%}
.season-cursor svg{width:100%;height:100%;margin:3px;overflow:visible;transition:scale .15s}
.season-cursor.is-link svg{scale:1.15}
.bat-wing{transform-box:fill-box;transform-origin:right center;animation:season-flap .34s ease-in-out infinite alternate}
.bat-wing-right{transform-origin:left center}
.tree-star{animation:season-twinkle 1.4s ease-in-out infinite alternate}
.cursor-flower{transform-origin:24px 30px;animation:season-sway 2s ease-in-out infinite alternate}
.cursor-tie{transform-origin:24px 5px;animation:season-sway 1.5s ease-in-out infinite alternate}
.cursor-heart{transform-origin:24px 24px;animation:season-heartbeat 1.3s ease-in-out infinite}
.cursor-balloon{animation:season-float 2s ease-in-out infinite alternate}
.cursor-flame{transform-origin:24px 23px;animation:season-flame .8s ease-in-out infinite alternate}
.cursor-flag{transform-origin:9px 19px;animation:season-wave 1.5s ease-in-out infinite alternate}
@keyframes season-float{from{transform:translateY(1px) rotate(-3deg)}to{transform:translateY(-2px) rotate(3deg)}}
@keyframes season-flame{from{transform:scaleX(.9) rotate(-4deg)}to{transform:scaleY(1.08) rotate(4deg);filter:drop-shadow(0 0 3px #ffbe55)}}
@keyframes season-wave{from{transform:skewY(-4deg) scaleX(.94)}to{transform:skewY(4deg) scaleX(1)}}
@keyframes season-sway{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}
@keyframes season-heartbeat{0%,40%,100%{transform:scale(.9)}15%,28%{transform:scale(1)}}
.tree-lights{animation:season-twinkle .85s ease-in-out infinite alternate-reverse}
@keyframes season-flap{to{transform:scaleX(.65) scaleY(.55)}}
@keyframes season-twinkle{to{opacity:.4;filter:drop-shadow(0 0 4px #fff0a0)}}
.season-cursor.is-still *{animation:none!important}
@media(hover:hover) and (pointer:fine){body.season-cursor-active,body.season-cursor-active *{cursor:none!important}}
@media(hover:none),(pointer:coarse),print{.season-cursor{display:none!important}}
.season-atmosphere{position:fixed;inset:0;overflow:hidden;pointer-events:none;user-select:none;z-index:40;contain:strict}
.season-particle{position:absolute;top:0;width:30px;height:36px;font-size:28px;line-height:1;pointer-events:none;will-change:transform,opacity;filter:drop-shadow(0 1px 2px #23324620)}
.season-particle svg{display:block;width:100%;height:100%;overflow:visible}
.season-spider:before{content:'';position:absolute;bottom:100%;left:50%;height:100vh;width:1px;background:#65708350}
.atmosphere-flame{transform-origin:24px 25px;animation:season-flame 1s ease-in-out infinite alternate}
@media(max-width:700px){.season-particle{width:22px;height:28px;font-size:22px}}
@media(prefers-reduced-motion:reduce),print{.season-atmosphere{display:none!important}}
