/* R640: scoped Christmas display; removing the class restores the regular portal. */
body[data-section="public"].nv-christmas-r640 {
 background-color:#07182d;
 background-image:linear-gradient(180deg,rgba(2,11,26,.92),rgba(4,17,37,.92)),url('/assets/public-christmas-city-r640.webp?v=r640');
 background-size:cover;
 background-position:center top;
}
body.nv-christmas-r640 .nv-home-header {
 background:rgba(11,25,48,.90);
 border-bottom-color:rgba(251,218,160,.48);
 box-shadow:0 8px 26px rgba(3,13,31,.4),0 1px 0 rgba(255,218,152,.2);
}
body.nv-christmas-r640 .nv-home-brand img {filter:drop-shadow(0 0 9px rgba(78,192,255,.3));}
body.nv-christmas-r640 .nv-home-hero,
body.nv-christmas-r640 .nv-public-page-hero {background:#0b1a34;}
body.nv-christmas-r640 .nv-home-bg {object-position:center center;}
body.nv-christmas-r640 .nv-home-shade {
 background:linear-gradient(90deg,rgba(3,12,29,.72),rgba(4,17,36,.43) 53%,rgba(3,15,30,.23)),
            linear-gradient(180deg,rgba(3,12,29,.13),rgba(3,11,26,.08) 48%,rgba(3,10,24,.88));
}
body.nv-christmas-r640 .nv-hero-neon-logo,
body.nv-christmas-r640 .nv-public-neon-logo {
 filter:drop-shadow(0 0 18px rgba(24,188,255,.38));
 max-width:95%;
}
body.nv-christmas-r640 .nv-home-copy h1,
body.nv-christmas-r640 .nv-public-title {text-shadow:0 3px 18px rgba(1,9,25,.9);}
body.nv-christmas-r640 .nv-home-copy h2 {color:#fff2d6;text-shadow:0 2px 10px rgba(5,15,36,.9);}
body.nv-christmas-r640 .nv-primary-action {
 border-color:rgba(255,232,191,.85);
 box-shadow:0 0 20px rgba(12,180,255,.34),0 0 2px rgba(255,225,152,.7);
}
.nv-christmas-snow-r640 {
 position:fixed;inset:0;z-index:1030;overflow:hidden;
 pointer-events:none;user-select:none;contain:paint;
}
.nv-christmas-flake-r640 {
 position:absolute;left:var(--nv-x);top:-10px;
 width:var(--nv-size);height:var(--nv-size);border-radius:50%;
 background:rgba(255,255,255,.88);box-shadow:0 0 5px rgba(201,231,255,.68);
 opacity:.75;animation:nv-christmas-fall-r640 var(--nv-duration) linear var(--nv-delay) infinite;
 will-change:transform;
}
@keyframes nv-christmas-fall-r640 {
 from {transform:translate3d(0,-12px,0);}
 to {transform:translate3d(var(--nv-drift),calc(100vh + 25px),0);}
}
@media(max-width:767px) {
 body.nv-christmas-r640 .nv-home-bg {object-position:53% center;}
 body.nv-christmas-r640 .nv-home-shade {
  background:linear-gradient(90deg,rgba(3,12,29,.79),rgba(3,13,30,.51)),
             linear-gradient(180deg,rgba(3,11,26,.08),rgba(2,9,24,.81));
 }
}
@media(prefers-reduced-motion:reduce) {
 .nv-christmas-snow-r640 {display:none!important;}
 .nv-christmas-flake-r640 {animation:none!important;}
}
@media print {.nv-christmas-snow-r640 {display:none!important;}}
