/* ==========================================================
   EXYTOSA · Decoración estacional
   Capa visual sin interacción: nunca bloquea clics ni formularios.
   ========================================================== */
.exy-seasonal-layer{
  --seasonal-primary:#00e676;
  --seasonal-secondary:#00b4ff;
  --seasonal-accent:#ffc400;
  --seasonal-opacity:.86;
  position:fixed;
  inset:0;
  z-index:115;
  overflow:hidden;
  pointer-events:none!important;
  user-select:none;
  contain:layout style paint;
  opacity:var(--seasonal-opacity);
}
.exy-seasonal-layer.is-preview{
  position:absolute;
  z-index:8;
  border-radius:14px;
}
.exy-seasonal-edge{
  position:absolute;
  top:0;
  bottom:0;
  width:clamp(28px,4.5vw,72px);
  opacity:.72;
}
.exy-seasonal-edge.left{left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--seasonal-primary) 34%,transparent),transparent)}
.exy-seasonal-edge.right{right:0;background:linear-gradient(270deg,color-mix(in srgb,var(--seasonal-secondary) 34%,transparent),transparent)}
.exy-seasonal-topline{
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--seasonal-primary),var(--seasonal-secondary),var(--seasonal-accent),var(--seasonal-primary));
  background-size:240% 100%;
  box-shadow:0 0 15px color-mix(in srgb,var(--seasonal-primary) 56%,transparent);
  animation:exySeasonalShimmer 8s linear infinite;
}
.exy-seasonal-badge{
  position:absolute;
  top:max(72px,calc(env(safe-area-inset-top) + 62px));
  left:50%;
  max-width:min(78vw,520px);
  transform:translateX(-50%);
  padding:7px 16px;
  border:1px solid color-mix(in srgb,var(--seasonal-primary) 48%,rgba(255,255,255,.22));
  border-radius:999px;
  background:rgba(5,8,18,.78);
  color:#fff;
  box-shadow:0 8px 28px rgba(0,0,0,.22),0 0 22px color-mix(in srgb,var(--seasonal-primary) 22%,transparent);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font:800 clamp(10px,1.5vw,13px)/1.25 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.03em;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.exy-seasonal-layer.is-preview .exy-seasonal-badge{
  top:10px;
  max-width:80%;
  padding:5px 11px;
  font-size:9px;
}
.exy-seasonal-corner{
  position:absolute;
  width:clamp(46px,7vw,94px);
  aspect-ratio:1;
  top:clamp(62px,8vw,94px);
  border-radius:50%;
  background:
    radial-gradient(circle at center,#fff 0 10%,transparent 11%),
    repeating-conic-gradient(from 0deg,var(--seasonal-primary) 0deg 18deg,#fff 18deg 36deg);
  border:3px solid rgba(255,255,255,.9);
  box-shadow:0 8px 24px rgba(0,0,0,.22),0 0 20px color-mix(in srgb,var(--seasonal-primary) 38%,transparent);
  opacity:.9;
  animation:exySeasonalFloat 5.8s ease-in-out infinite;
}
.exy-seasonal-corner.left{left:clamp(-34px,-2vw,-10px)}
.exy-seasonal-corner.right{right:clamp(-34px,-2vw,-10px);animation-delay:-2.2s}
.exy-seasonal-layer.is-preview .exy-seasonal-corner{
  width:48px;
  top:35px;
}
.exy-seasonal-particle{
  position:absolute;
  left:var(--x);
  top:var(--y);
  color:var(--particle-color,var(--seasonal-primary));
  font:900 var(--size)/1 system-ui,"Segoe UI Emoji","Apple Color Emoji",sans-serif;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.24)) drop-shadow(0 0 8px color-mix(in srgb,var(--particle-color,var(--seasonal-primary)) 48%,transparent));
  opacity:.82;
  animation:
    exySeasonalDrift var(--duration) ease-in-out var(--delay) infinite alternate,
    exySeasonalTwinkle calc(var(--duration) * .62) ease-in-out var(--delay) infinite;
  transform:translate3d(0,0,0) rotate(var(--rotation));
  will-change:transform,opacity;
}
.exy-seasonal-layer[data-motion="fall"] .exy-seasonal-particle{
  top:-10%;
  animation:exySeasonalFall var(--duration) linear var(--delay) infinite;
}
.exy-seasonal-layer[data-motion="burst"] .exy-seasonal-particle{
  animation:
    exySeasonalBurst var(--duration) ease-in-out var(--delay) infinite,
    exySeasonalTwinkle calc(var(--duration) * .58) ease-in-out var(--delay) infinite;
}
.exy-seasonal-ribbon{
  position:absolute;
  top:0;
  width:clamp(16px,2.2vw,32px);
  height:34vh;
  border-radius:0 0 999px 999px;
  opacity:.76;
  transform-origin:top;
  animation:exySeasonalRibbon 6s ease-in-out infinite alternate;
}
.exy-seasonal-ribbon.left{
  left:clamp(12px,2.4vw,42px);
  background:repeating-linear-gradient(90deg,var(--seasonal-primary) 0 34%,#fff 34% 66%,var(--seasonal-primary) 66% 100%);
}
.exy-seasonal-ribbon.right{
  right:clamp(12px,2.4vw,42px);
  background:repeating-linear-gradient(90deg,var(--seasonal-secondary) 0 34%,#fff 34% 66%,var(--seasonal-secondary) 66% 100%);
  animation-delay:-2.8s;
}

/* Paletas y personalidad de cada temporada */
.exy-seasonal-layer[data-theme="siempre"]{
  --seasonal-primary:#00e676;--seasonal-secondary:#00b4ff;--seasonal-accent:#a855f7;
}
.exy-seasonal-layer[data-theme="patrias"]{
  --seasonal-primary:#e51b33;--seasonal-secondary:#d70024;--seasonal-accent:#fff;
}
.exy-seasonal-layer[data-theme="patrias"] .exy-seasonal-topline{
  height:6px;background:repeating-linear-gradient(90deg,#d9102d 0 40px,#fff 40px 80px);
}
.exy-seasonal-layer[data-theme="primavera"]{
  --seasonal-primary:#ff4fa3;--seasonal-secondary:#72db5a;--seasonal-accent:#ffd54f;
  background:
    radial-gradient(circle at 0 76%,rgba(76,209,81,.13),transparent 29%),
    radial-gradient(circle at 100% 68%,rgba(255,79,163,.1),transparent 27%);
}
.exy-spring-vine{
  position:absolute;top:14%;bottom:8%;width:clamp(30px,4.5vw,66px);
  display:flex;flex-direction:column;justify-content:space-around;align-items:center;
  color:#61d862;font:clamp(21px,3vw,38px)/1.25 "Segoe UI Emoji","Apple Color Emoji",sans-serif;
  filter:drop-shadow(0 4px 7px rgba(0,74,30,.25));opacity:.78;
  animation:exySpringVine 6.8s ease-in-out infinite alternate;
}
.exy-spring-vine.left{left:0;transform-origin:left bottom}
.exy-spring-vine.right{right:0;transform-origin:right bottom;animation-delay:-3.1s}
.exy-spring-rain{position:absolute;inset:0;overflow:hidden;opacity:.48}
.exy-spring-rain i{
  position:absolute;left:var(--rain-x);top:-24px;width:2px;height:clamp(12px,2vw,22px);
  border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(167,226,255,.96));
  box-shadow:0 0 6px rgba(124,209,255,.48);
  animation:exySpringRain var(--rain-duration) linear var(--rain-delay) infinite;
}
.exy-spring-garden{
  position:absolute;left:0;right:0;bottom:-7px;height:clamp(42px,6.4vw,82px);
  display:flex;align-items:flex-end;justify-content:space-around;padding:0 3%;
  background:linear-gradient(180deg,transparent,rgba(67,173,67,.17));
  border-bottom:10px solid rgba(70,170,66,.2);
  filter:drop-shadow(0 -7px 14px rgba(64,187,75,.16));
}
.exy-spring-garden span{
  font:clamp(26px,4vw,52px)/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif;
  transform-origin:center bottom;animation:exySpringPlant 4.8s ease-in-out infinite alternate;
}
.exy-spring-garden span:nth-child(2n){animation-delay:-2.1s}.exy-spring-garden span:nth-child(3n){animation-delay:-3.4s}
.exy-seasonal-layer[data-theme="halloween"]{
  --seasonal-primary:#ff7a00;--seasonal-secondary:#8b2cff;--seasonal-accent:#ffd06a;
  background:
    radial-gradient(circle at 0 22%,rgba(255,102,0,.12),transparent 23%),
    radial-gradient(circle at 100% 64%,rgba(116,30,220,.14),transparent 24%);
}
.exy-seasonal-layer[data-theme="halloween"] .exy-seasonal-edge{opacity:.72;background:linear-gradient(90deg,rgba(255,94,0,.23),transparent)}
.exy-seasonal-layer[data-theme="halloween"] .exy-seasonal-edge.right{background:linear-gradient(270deg,rgba(115,30,205,.26),transparent)}
.exy-seasonal-layer[data-theme="halloween"] .exy-seasonal-topline{height:5px;background:linear-gradient(90deg,#ff6a00,#32104e,#9a35ff,#ff9b21,#32104e);background-size:260% 100%;}
.exy-seasonal-web{position:absolute;top:clamp(54px,7vw,84px);font:clamp(64px,10vw,138px)/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif;opacity:.55;filter:grayscale(.35) drop-shadow(0 0 14px rgba(143,55,255,.25));transform-origin:top center;}
.exy-seasonal-web.left{left:clamp(-34px,-2vw,-8px);transform:rotate(-7deg)}
.exy-seasonal-web.right{right:clamp(-34px,-2vw,-8px);transform:scaleX(-1) rotate(-7deg)}
.exy-seasonal-witch{
  position:absolute;top:0;left:0;display:block;transform:translate3d(6vw,18vh,0);
  filter:drop-shadow(0 8px 8px rgba(0,0,0,.5)) drop-shadow(0 0 12px rgba(151,62,255,.45));
  opacity:.92;will-change:transform;
}
.exy-witch-flight-shape{display:inline-flex;align-items:flex-end;transition:transform .35s ease}
.exy-seasonal-witch[data-facing="left"] .exy-witch-flight-shape{transform:scaleX(-1)}
.exy-witch-person{position:relative;z-index:2;font:clamp(34px,4.4vw,58px)/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif}
.exy-witch-broom{font:clamp(29px,3.8vw,51px)/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif;margin:0 0 -5px -13px;transform:rotate(-18deg);transform-origin:center}
.exy-seasonal-spider{position:absolute;top:0;right:clamp(36px,8vw,120px);height:29%;width:1px;border-left:1px solid rgba(235,225,255,.52);animation:exySpiderLine 5.5s ease-in-out infinite alternate;}
.exy-seasonal-spider span{position:absolute;left:-14px;bottom:-22px;font-size:27px;filter:drop-shadow(0 3px 5px rgba(0,0,0,.55));}
.exy-halloween-magic-footer{
  position:absolute;left:0;right:0;bottom:0;height:clamp(54px,7.5vw,92px);
  background:
    radial-gradient(ellipse at 12% 100%,rgba(255,228,101,.26),transparent 28%),
    linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,215,68,.13),rgba(255,255,255,.04));
  box-shadow:inset 0 -16px 30px rgba(31,5,51,.22),0 -8px 26px rgba(255,220,94,.09);
}
.exy-footer-wizard{
  position:absolute;z-index:2;left:clamp(12px,4vw,72px);bottom:4px;
  font:clamp(31px,4.8vw,62px)/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.5));animation:exyWizardCast 4.2s ease-in-out infinite;
}
.exy-footer-wizard b{position:absolute;right:-17px;top:5px;font-size:.62em;transform:rotate(-28deg);transform-origin:left bottom}
.exy-magic-ray{
  position:absolute;z-index:1;left:clamp(62px,9vw,145px);bottom:clamp(24px,3.2vw,43px);
  width:min(68vw,980px);height:2px;transform-origin:left center;border-radius:999px;
  background:linear-gradient(90deg,#fff 0 12%,#ffe65a 36%,rgba(255,255,255,.78) 62%,transparent 100%);
  box-shadow:0 0 6px #fff,0 0 15px rgba(255,222,76,.94),0 0 34px rgba(255,234,146,.55);
  opacity:0;animation:exyMagicRay 4.2s ease-out infinite;
}
.exy-magic-ray.r1{transform:rotate(-10deg);animation-delay:0s}.exy-magic-ray.r2{transform:rotate(-5deg);animation-delay:.17s}
.exy-magic-ray.r3{transform:rotate(0deg);animation-delay:.34s}.exy-magic-ray.r4{transform:rotate(5deg);animation-delay:.51s}
.exy-magic-ray.r5{transform:rotate(10deg);animation-delay:.68s}
.exy-seasonal-layer.is-preview .exy-seasonal-web{top:25px;font-size:54px}
.exy-seasonal-layer.is-preview .exy-seasonal-witch{animation:exyWitchPreview 18s linear infinite}
.exy-seasonal-layer.is-preview .exy-witch-person{font-size:25px}.exy-seasonal-layer.is-preview .exy-witch-broom{font-size:22px;margin-left:-8px}
.exy-seasonal-layer.is-preview .exy-seasonal-spider{height:34%}.exy-seasonal-layer.is-preview .exy-seasonal-spider span{font-size:18px;left:-10px;}
.exy-seasonal-layer.is-preview .exy-halloween-magic-footer{height:42px}.exy-seasonal-layer.is-preview .exy-footer-wizard{font-size:26px}.exy-seasonal-layer.is-preview .exy-magic-ray{left:48px;width:70%}
.exy-seasonal-layer[data-theme="valentin"]{
  --seasonal-primary:#ff2f71;--seasonal-secondary:#ff76c8;--seasonal-accent:#ffd4e8;
  background:
    radial-gradient(circle at 0 35%,rgba(255,47,113,.12),transparent 25%),
    radial-gradient(circle at 100% 55%,rgba(255,118,200,.12),transparent 25%);
}
.exy-seasonal-layer[data-theme="valentin"] .exy-seasonal-topline{height:5px;background:linear-gradient(90deg,#ff2f71,#ffd6e8,#ff76c8,#ff2f71);background-size:250% 100%;}
.exy-seasonal-heart{position:absolute;top:clamp(68px,9vw,108px);font:clamp(48px,7vw,90px)/1 system-ui,sans-serif;color:#ff244f;opacity:.3;text-shadow:0 0 22px rgba(255,24,79,.82);animation:exyHeartBeat 3.2s ease-in-out infinite;}
.exy-seasonal-heart.left{left:clamp(-16px,1vw,16px);transform:rotate(-12deg)}.exy-seasonal-heart.right{right:clamp(-16px,1vw,16px);transform:rotate(12deg);animation-delay:-1.4s}
.exy-valentine-love-field{position:absolute;inset:0;overflow:hidden}
.exy-valentine-love-field span{
  position:absolute;left:var(--love-x);bottom:-28px;color:#ff183f;
  font:clamp(13px,2.1vw,28px)/1 system-ui,sans-serif;
  text-shadow:0 0 8px #fff,0 0 20px rgba(255,20,70,.94);
  animation:exyLoveRise calc(8s + (var(--love-i) * .22s)) ease-in var(--love-delay) infinite;
}
.exy-valentine-footer-glow{
  position:absolute;left:0;right:0;bottom:0;height:clamp(46px,6vw,74px);
  display:flex;align-items:center;justify-content:center;gap:clamp(18px,4vw,64px);
  color:#ff204e;background:radial-gradient(ellipse at 50% 100%,rgba(255,0,51,.33),rgba(255,63,115,.11) 43%,transparent 72%);
  box-shadow:inset 0 -13px 28px rgba(255,17,74,.15);text-shadow:0 0 15px rgba(255,20,72,.94);
  animation:exyLoveFooter 3.5s ease-in-out infinite;
}
.exy-valentine-footer-glow b{font-size:clamp(20px,3.3vw,40px)}.exy-valentine-footer-glow i{font:900 clamp(11px,1.6vw,17px)/1 system-ui,sans-serif;letter-spacing:.32em}
.exy-seasonal-layer.is-preview .exy-seasonal-heart{top:40px;font-size:43px;}
.exy-seasonal-layer.is-preview .exy-valentine-footer-glow{height:36px}.exy-seasonal-layer.is-preview .exy-valentine-love-field span{font-size:12px}
.exy-seasonal-layer[data-theme="navidad"]{
  --seasonal-primary:#dff7ff;--seasonal-secondary:#ffffff;--seasonal-accent:#8bdcff;
  background:
    radial-gradient(circle at 0 50%,rgba(181,231,255,.14),transparent 24%),
    radial-gradient(circle at 100% 38%,rgba(220,247,255,.13),transparent 25%);
}
.exy-seasonal-layer[data-theme="navidad"] .exy-seasonal-edge{
  width:clamp(34px,5.5vw,88px);opacity:.88;
}
.exy-seasonal-layer[data-theme="navidad"] .exy-seasonal-topline{
  height:5px;
  background:linear-gradient(90deg,#fff,#bdeaff,#fff,#7dd3fc,#fff);
  background-size:260% 100%;
  box-shadow:0 0 20px rgba(210,245,255,.85);
}
.exy-seasonal-layer[data-theme="navidad"] .exy-seasonal-particle{
  --particle-color:#fff!important;
  color:#fff!important;
  opacity:.94;
  text-shadow:0 0 7px rgba(191,235,255,.95);
  filter:drop-shadow(0 2px 4px rgba(45,88,120,.28)) drop-shadow(0 0 9px rgba(218,247,255,.82));
}
.exy-seasonal-snowbank{
  position:absolute;left:-2%;right:-2%;bottom:-5px;height:var(--snow-depth,clamp(25px,4.4vw,58px));
  background:
    radial-gradient(ellipse at 7% 100%,#fff 0 44%,transparent 46%),
    radial-gradient(ellipse at 19% 100%,#edfaff 0 48%,transparent 50%),
    radial-gradient(ellipse at 34% 100%,#fff 0 43%,transparent 45%),
    radial-gradient(ellipse at 51% 100%,#eaf8ff 0 51%,transparent 53%),
    radial-gradient(ellipse at 69% 100%,#fff 0 46%,transparent 48%),
    radial-gradient(ellipse at 84% 100%,#effbff 0 52%,transparent 54%),
    radial-gradient(ellipse at 97% 100%,#fff 0 46%,transparent 48%);
  filter:drop-shadow(0 -7px 12px rgba(208,243,255,.46));
  transform-origin:center bottom;
  transition:height 5.2s linear;
  animation:exySnowAccumulate 4.5s cubic-bezier(.2,.75,.25,1) both;
}
.exy-seasonal-snowbank::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:42%;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(210,239,251,.94));
  border-radius:60% 46% 0 0/80% 70% 0 0;
}
.exy-seasonal-snowbank span{
  position:absolute;z-index:1;width:clamp(30px,6vw,80px);height:clamp(12px,2vw,28px);
  bottom:18%;border-radius:50%;background:rgba(255,255,255,.9);
  box-shadow:0 -4px 10px rgba(225,248,255,.6);
}
.exy-seasonal-snowbank span:nth-child(1){left:11%;transform:rotate(3deg)}
.exy-seasonal-snowbank span:nth-child(2){left:48%;transform:translateX(-50%) rotate(-2deg)}
.exy-seasonal-snowbank span:nth-child(3){right:10%;transform:rotate(2deg)}
.exy-seasonal-layer.is-preview .exy-seasonal-snowbank{height:22px;bottom:-3px}
.exy-seasonal-layer[data-theme="anio-nuevo"]{
  --seasonal-primary:#ffd000;--seasonal-secondary:#ff9f1a;--seasonal-accent:#fff2a8;
  background:
    radial-gradient(circle at 0 40%,rgba(255,195,0,.09),transparent 23%),
    radial-gradient(circle at 100% 62%,rgba(0,200,255,.08),transparent 23%);
}
.exy-newyear-burst-host{position:absolute;inset:0;overflow:hidden}
.exy-newyear-burst{position:absolute;width:2px;height:2px}
.exy-newyear-burst::before{
  content:"";position:absolute;inset:-5px;border-radius:50%;background:#fff;
  box-shadow:0 0 12px #fff,0 0 28px #ffd000;animation:exyBurstCore 1.5s ease-out forwards;
}
.exy-newyear-burst i{
  position:absolute;left:0;top:0;width:clamp(4px,.7vw,8px);height:clamp(9px,1.3vw,16px);
  border-radius:2px;background:var(--burst-color);box-shadow:0 0 9px var(--burst-color);
  animation:exyConfettiExplode 1.9s cubic-bezier(.12,.72,.22,1) var(--burst-delay) forwards;
}
.exy-newyear-footer{
  position:absolute;left:0;right:0;bottom:0;height:clamp(38px,5vw,62px);
  display:flex;justify-content:center;align-items:center;gap:clamp(18px,4vw,58px);
  color:#ffe168;background:radial-gradient(ellipse at center bottom,rgba(255,194,0,.2),transparent 68%);
  text-shadow:0 0 11px #ffca1a;font:900 clamp(10px,1.4vw,15px)/1 system-ui,sans-serif;letter-spacing:.28em;
  animation:exyNewYearFooter 4s ease-in-out infinite;
}
.exy-newyear-footer span{font-size:clamp(18px,3vw,34px)}
.exy-seasonal-layer[data-theme="carnavales"]{
  --seasonal-primary:#ff3f8e;--seasonal-secondary:#00c8ff;--seasonal-accent:#ffe13b;
}
.exy-seasonal-layer[data-theme="madre"]{
  --seasonal-primary:#ff477e;--seasonal-secondary:#c77dff;--seasonal-accent:#ffd6e5;
  background:radial-gradient(ellipse at 50% 100%,rgba(255,71,126,.15),transparent 42%);
}
.exy-mother-footer{
  position:absolute;left:0;right:0;bottom:0;height:clamp(66px,9vw,112px);
  display:flex;align-items:flex-end;justify-content:center;gap:clamp(11px,2vw,28px);
  padding-bottom:5px;background:linear-gradient(180deg,transparent,rgba(255,110,154,.16));
  box-shadow:inset 0 -19px 32px rgba(199,125,255,.1);
}
.exy-mother-family{
  font:clamp(40px,6.5vw,80px)/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif;
  filter:drop-shadow(0 5px 8px rgba(80,22,68,.24));transform-origin:center bottom;
  animation:exyMotherSway 5s ease-in-out infinite;
}
.exy-mother-flowers{font:clamp(18px,3vw,38px)/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif;opacity:.88}
.exy-mother-love{align-self:center;color:#ff315f;font-size:clamp(19px,3vw,38px);text-shadow:0 0 17px rgba(255,49,95,.8);animation:exyMotherHeart 2.4s ease-in-out infinite}
.exy-mother-footer b{align-self:center;max-width:230px;color:#fff0f6;font:800 clamp(9px,1.2vw,13px)/1.35 system-ui,sans-serif;text-align:center;text-shadow:0 2px 8px rgba(76,22,66,.45)}
.exy-seasonal-layer[data-theme="padre"]{
  --seasonal-primary:#218cff;--seasonal-secondary:#00d4c8;--seasonal-accent:#ffc94a;
  background:
    radial-gradient(circle at 0 68%,rgba(33,140,255,.12),transparent 24%),
    radial-gradient(circle at 100% 32%,rgba(0,212,200,.1),transparent 24%);
}
.exy-father-professions{position:absolute;inset:0}
.exy-father-professions span{
  position:absolute;font:clamp(25px,3.5vw,48px)/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif;
  filter:drop-shadow(0 5px 8px rgba(0,42,90,.32));animation:exyJobFloat 6s ease-in-out infinite alternate;
}
.exy-father-professions .job-1{left:1.5%;top:17%}.exy-father-professions .job-2{right:1.5%;top:23%;animation-delay:-1s}
.exy-father-professions .job-3{left:1%;top:51%;animation-delay:-2s}.exy-father-professions .job-4{right:1%;top:55%;animation-delay:-3s}
.exy-father-professions .job-5{left:4%;bottom:4%;animation-delay:-4s}.exy-father-professions .job-6{right:4%;bottom:4%;animation-delay:-5s}
.exy-father-footer{
  position:absolute;left:0;right:0;bottom:0;height:clamp(38px,5vw,62px);
  display:flex;align-items:center;justify-content:center;gap:clamp(14px,3vw,42px);
  color:#ffd66a;background:linear-gradient(180deg,transparent,rgba(16,105,195,.2));
  text-shadow:0 2px 9px rgba(0,35,77,.65);font:800 clamp(9px,1.25vw,13px)/1.2 system-ui,sans-serif;
}
.exy-father-footer span{font-size:clamp(19px,2.8vw,34px);animation:exyTieSwing 4s ease-in-out infinite alternate}
.exy-father-footer span:last-child{animation-delay:-2s}

@keyframes exySeasonalShimmer{
  to{background-position:240% 0}
}
@keyframes exySeasonalFloat{
  0%,100%{transform:translateY(0) rotate(-3deg)}
  50%{transform:translateY(10px) rotate(4deg)}
}
@keyframes exySeasonalDrift{
  0%{transform:translate3d(-5px,-8px,0) rotate(var(--rotation))}
  100%{transform:translate3d(12px,16px,0) rotate(calc(var(--rotation) + 24deg))}
}
@keyframes exySeasonalTwinkle{
  0%,100%{opacity:.35}
  50%{opacity:.95}
}
@keyframes exySeasonalFall{
  0%{transform:translate3d(0,-8vh,0) rotate(0deg);opacity:0}
  12%{opacity:.85}
  100%{transform:translate3d(var(--sway),112vh,0) rotate(420deg);opacity:.25}
}
@keyframes exySeasonalBurst{
  0%,100%{transform:scale(.72) rotate(var(--rotation));opacity:.4}
  50%{transform:scale(1.18) rotate(calc(var(--rotation) + 30deg));opacity:1}
}
@keyframes exySeasonalRibbon{
  from{transform:rotate(-2deg) skewY(-3deg)}
  to{transform:rotate(3deg) skewY(4deg)}
}
@keyframes exySnowAccumulate{
  from{transform:scaleY(.08);opacity:.28}
  to{transform:scaleY(1);opacity:1}
}
@keyframes exyWitchPreview{
  0%{transform:translate3d(-18%,58px,0) rotate(-4deg)}
  34%{transform:translate3d(150px,25px,0) rotate(4deg)}
  68%{transform:translate3d(235px,120px,0) rotate(-3deg)}
  100%{transform:translate3d(-18%,58px,0) rotate(3deg)}
}
@keyframes exySpiderLine{from{transform:translateY(-22%)}to{transform:translateY(18%)}}
@keyframes exyHeartBeat{0%,100%{scale:.92;opacity:.18}50%{scale:1.08;opacity:.34}}
@keyframes exyWizardCast{
  0%,42%,100%{transform:translateY(0) rotate(0)}
  52%{transform:translateY(-3px) rotate(-4deg)}
  62%{transform:translateY(0) rotate(3deg)}
}
@keyframes exyMagicRay{
  0%,45%,100%{opacity:0;clip-path:inset(0 100% 0 0)}
  54%{opacity:1;clip-path:inset(0 42% 0 0)}
  67%{opacity:.92;clip-path:inset(0 0 0 0)}
  78%{opacity:0;clip-path:inset(0 0 0 0)}
}
@keyframes exyLoveRise{
  0%{transform:translate3d(0,12px,0) scale(.7) rotate(-8deg);opacity:0}
  14%{opacity:.88}
  70%{opacity:.64}
  100%{transform:translate3d(18px,-102vh,0) scale(1.18) rotate(18deg);opacity:0}
}
@keyframes exyLoveFooter{
  0%,100%{opacity:.68;filter:saturate(.9)}
  50%{opacity:1;filter:saturate(1.35)}
}
@keyframes exySpringVine{
  from{transform:rotate(-2deg) translateY(0)}
  to{transform:rotate(3deg) translateY(7px)}
}
@keyframes exySpringRain{
  0%{transform:translate3d(-8px,-30px,0) rotate(10deg);opacity:0}
  12%{opacity:.68}
  100%{transform:translate3d(34px,108vh,0) rotate(10deg);opacity:.12}
}
@keyframes exySpringPlant{
  from{transform:rotate(-4deg) scale(.96)}
  to{transform:rotate(5deg) scale(1.04)}
}
@keyframes exyBurstCore{
  0%{transform:scale(.25);opacity:0}
  22%{transform:scale(1.3);opacity:1}
  100%{transform:scale(3.8);opacity:0}
}
@keyframes exyConfettiExplode{
  0%{transform:translate3d(0,0,0) rotate(0deg) scale(.35);opacity:0}
  12%{opacity:1}
  72%{opacity:.94}
  100%{transform:translate3d(var(--burst-x),var(--burst-y),0) rotate(620deg) scale(1);opacity:0}
}
@keyframes exyNewYearFooter{
  0%,100%{opacity:.62}
  50%{opacity:1;text-shadow:0 0 12px #fff,0 0 26px #ffd000}
}
@keyframes exyMotherSway{
  0%,100%{transform:rotate(-2deg) translateY(0)}
  50%{transform:rotate(2deg) translateY(-4px)}
}
@keyframes exyMotherHeart{
  0%,100%{transform:scale(.86);opacity:.52}
  50%{transform:scale(1.16);opacity:1}
}
@keyframes exyJobFloat{
  from{transform:translateY(-5px) rotate(-3deg)}
  to{transform:translateY(7px) rotate(4deg)}
}
@keyframes exyTieSwing{
  from{transform:rotate(-8deg)}
  to{transform:rotate(8deg)}
}

@media(max-width:760px){
  .exy-seasonal-layer{z-index:95}
  .exy-seasonal-edge{width:30px;opacity:.5}
  .exy-seasonal-badge{
    top:max(118px,calc(env(safe-area-inset-top) + 104px));
    max-width:74vw;
    padding:5px 10px;
    font-size:9px;
  }
  .exy-seasonal-corner{width:50px;top:112px;opacity:.78}
  .exy-seasonal-ribbon{width:14px;height:24vh;opacity:.54}
  .exy-seasonal-particle{font-size:min(var(--size),18px)}
  .exy-seasonal-particle:nth-of-type(n+15){display:none}
  .exy-seasonal-layer[data-theme="navidad"] .exy-seasonal-particle:nth-of-type(n+15){display:block}
  .exy-seasonal-layer[data-theme="navidad"] .exy-seasonal-particle:nth-of-type(n+23){display:none}
  .exy-seasonal-snowbank{max-height:52px;bottom:-3px}
  .exy-seasonal-web{top:105px;font-size:62px;opacity:.42}
  .exy-witch-person{font-size:31px}.exy-witch-broom{font-size:27px;margin-left:-9px}
  .exy-seasonal-spider{right:40px;height:23%}
  .exy-seasonal-heart{top:122px;font-size:48px}
  .exy-halloween-magic-footer{height:58px}
  .exy-footer-wizard{font-size:34px;left:9px}.exy-magic-ray{left:51px;bottom:26px;width:78vw}
  .exy-valentine-love-field span{font-size:min(20px,5vw)}
  .exy-valentine-love-field span:nth-child(n+12){display:none}
  .exy-valentine-footer-glow{height:48px}
  .exy-spring-vine{top:17%;bottom:7%;width:32px;font-size:22px;opacity:.61}
  .exy-spring-rain i:nth-child(n+16){display:none}
  .exy-spring-garden{height:48px}.exy-spring-garden span{font-size:28px}.exy-spring-garden span:nth-child(even){display:none}
  .exy-father-professions span{font-size:29px;opacity:.76}
  .exy-father-professions .job-3,.exy-father-professions .job-4{display:none}
  .exy-father-footer,.exy-newyear-footer{height:42px}
  .exy-mother-footer{height:69px}.exy-mother-family{font-size:46px}.exy-mother-flowers{font-size:21px}.exy-mother-footer b{max-width:170px;font-size:9px}
  .exy-seasonal-layer.is-preview .exy-seasonal-badge{top:8px}
}
@media(max-width:430px){
  .exy-seasonal-badge{max-width:68vw}
  .exy-seasonal-corner{width:42px}
  .exy-seasonal-particle:nth-of-type(n+11){display:none}
  .exy-seasonal-layer[data-theme="navidad"] .exy-seasonal-particle:nth-of-type(n+11){display:block}
  .exy-seasonal-layer[data-theme="navidad"] .exy-seasonal-particle:nth-of-type(n+18){display:none}
  .exy-seasonal-snowbank{max-height:46px}
  .exy-magic-ray.r1,.exy-magic-ray.r5{display:none}
  .exy-father-professions .job-2,.exy-father-professions .job-5{display:none}
  .exy-father-footer b,.exy-mother-footer b{display:none}
  .exy-mother-footer{gap:8px}.exy-mother-flowers.right{display:none}
  .exy-valentine-footer-glow i{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .exy-seasonal-layer *,
  .exy-seasonal-layer *::before,
  .exy-seasonal-layer *::after{animation:none!important}
  .exy-seasonal-particle{opacity:.55}
}
body[data-seasonal-motion="off"] .exy-seasonal-layer *,
body[data-seasonal-motion="off"] .exy-seasonal-layer *::before,
body[data-seasonal-motion="off"] .exy-seasonal-layer *::after{
  animation:none!important;
}
.exy-seasonal-layer[data-effects-motion="off"] *,
.exy-seasonal-layer[data-effects-motion="off"] *::before,
.exy-seasonal-layer[data-effects-motion="off"] *::after{
  animation:none!important;
  transition:none!important;
}
