/* Christmas ambience is behind the usable login. No layer accepts input. */
.nt-weather{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:paint}
.nt-snowfall{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.nt-lights-map{position:absolute;left:0;top:0;width:1759px;height:894px;transform-origin:0 0;pointer-events:none}
.nt-light-bank{position:absolute;inset:0;background:url("img/login-navidad-sin-vapor-20261103.0832e923543d.webp") 0 0/100% 100% no-repeat;filter:brightness(.35) saturate(1.1);opacity:0;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.nt-light-bank-a{-webkit-mask-image:url("img/login-navidad-luces-a-20261102.531e9b305c07.svg");mask-image:url("img/login-navidad-luces-a-20261102.531e9b305c07.svg")}
.nt-light-bank-b{-webkit-mask-image:url("img/login-navidad-luces-b-20261102.9031b0e66a8b.svg");mask-image:url("img/login-navidad-luces-b-20261102.9031b0e66a8b.svg")}
.nt-workflow{--nt-flow-gap:clamp(28px,3.05vw,68px);gap:var(--nt-flow-gap)}
.nt-workflow li+li::before{left:calc(var(--nt-flow-gap)/-2 - 9px);transition:border-color .25s ease-out}
.nt-workflow li+li::after{content:'';position:absolute;left:calc(-1 * var(--nt-flow-gap));top:34px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #178deb88,0 0 10px #0051bd;pointer-events:none;opacity:0}
.nt-workflow .nt-step-visited+li::before{border-color:#409e77}
.nt-workflow[data-active-step='2']::before{background:#409e77}
.nt-motion-ready .nt-step-active [data-flow-step='0'] .nt-step-icon path,.nt-motion-ready .nt-step-active [data-flow-step='1'] .nt-step-icon path{stroke-dasharray:100}
.nt-bar-one,.nt-bar-two,.nt-bar-three{transform-box:view-box;transform-origin:16px 29px}
@media(prefers-reduced-motion:no-preference){
  @supports (mask-image:linear-gradient(#000,#000)) or (-webkit-mask-image:linear-gradient(#000,#000)){
    .nt-motion-ready .nt-light-bank{will-change:opacity;animation:nt-christmas-lights 7.6s ease-in-out infinite}
  }
  .nt-motion-ready .nt-light-bank-b{animation-duration:9.2s;animation-delay:-3.1s}
  .nt-motion-ready .nt-workflow[data-active-step='0'] li:nth-child(2)::after,.nt-motion-ready .nt-workflow[data-active-step='1'] li:nth-child(3)::after{animation:nt-flow-travel 2.1s cubic-bezier(.25,.1,.25,1) infinite}
  .nt-motion-ready .nt-step-active [data-flow-step='0'] .nt-step-icon path{animation:nt-document-write 1.2s ease-out both}
  .nt-motion-ready .nt-step-active [data-flow-step='1'] .nt-step-icon path{animation:nt-check-write .75s cubic-bezier(.16,1,.3,1) both}
  .nt-motion-ready .nt-step-active [data-flow-step='2'] .nt-bars{animation:nt-odoo-bars .8s cubic-bezier(.16,1,.3,1) both}
  .nt-motion-ready .nt-step-active .nt-bar-two{animation-delay:.12s}
  .nt-motion-ready .nt-step-active .nt-bar-three{animation-delay:.24s}
}
.nt-motion-paused .nt-weather *,.nt-motion-paused .nt-workflow *,.nt-motion-paused .nt-workflow li::after{animation-play-state:paused!important}
@keyframes nt-christmas-lights{0%,10%,35%,64%,100%{opacity:0}18%,27%{opacity:.98}46%,55%{opacity:.8}}
@keyframes nt-flow-travel{0%{transform:translateX(0);opacity:0}15%{opacity:1}80%{opacity:1}100%{transform:translateX(var(--nt-flow-gap));opacity:0}}
@keyframes nt-document-write{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes nt-check-write{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes nt-odoo-bars{from{transform:scaleY(.18);opacity:.55}to{transform:scaleY(1);opacity:1}}
@media(min-width:1001px) and (max-height:800px){.nt-workflow{--nt-flow-gap:2.5vw}}
@media(max-width:1200px) and (min-width:1001px){.nt-workflow{--nt-flow-gap:20px}}
@media(prefers-reduced-motion:reduce){.nt-snowfall{visibility:hidden}.nt-light-bank{opacity:0}.nt-workflow li::after{display:none}.nt-bars{transform:none}}

/* Real transparent vapor rises from the mug; the photographic plate has no fixed steam. */
.nt-steam{position:absolute;left:298px;top:496px;display:block;width:90px;height:147px;max-width:none;transform-origin:48% 96%;pointer-events:none;opacity:0}
@media(prefers-reduced-motion:no-preference){
  .nt-motion-ready .nt-steam{animation:nt-cup-steam 5.4s ease-in-out infinite;animation-delay:-1.3s}
  .nt-motion-ready .nt-steam-two{animation-duration:6.6s;animation-delay:-4.6s}
}
@keyframes nt-cup-steam{
  0%{opacity:0;transform:translate(-5px,3px) scale(.76,.64) rotate(-4deg)}
  18%{opacity:.78}
  52%{opacity:.62;transform:translate(3px,-12px) scale(1.02,1.04) rotate(3deg)}
  100%{opacity:0;transform:translate(16px,-38px) scale(1.2,1.18) rotate(9deg)}
}
@media(prefers-reduced-motion:reduce){.nt-steam{display:none}}
