/* Same quiet 2.8s reveal as the launch banner; the final logo owns the layout. */
.v1-header .v1-logo .nh-old{display:none;position:absolute;inset:13px;pointer-events:none}
.v1-header .v1-logo .nh-old img{width:100%;height:100%;object-fit:contain}
.v1-header-article .v1-logo .nh-old{inset:8px}
.v1-header .v1-logo.nh-animate .nh-old{display:block!important;animation:nh-old 2.8s cubic-bezier(.22,1,.36,1) both}
.v1-header .v1-logo.nh-animate>img:not(.v1-reading-symbol){animation:nh-new 2.8s cubic-bezier(.22,1,.36,1) both}
/* The reading header has its own compact symbol and must stay unobstructed. */
.v1-header.is-reading .v1-logo .nh-old{display:none!important}
.v1-header.is-reading .v1-logo.nh-animate>img{animation:none}
@keyframes nh-old{0%,27%{opacity:1;transform:translateX(0);clip-path:inset(0 0 0 0)}57%,100%{opacity:0;transform:translateX(-6px);clip-path:inset(0 0 0 100%)}}
@keyframes nh-new{0%,38%{opacity:0;transform:translateX(8px);clip-path:inset(0 100% 0 0)}78%,100%{opacity:1;transform:translateX(0);clip-path:inset(0 0 0 0)}}
@media(max-width:1024px){.v1-header-article .v1-logo .nh-old{inset:0}}
@media(max-width:767px){.v1-header .v1-logo{position:relative;left:auto;top:auto}.v1-header .v1-logo .nh-old{inset:0}}
@media(prefers-reduced-motion:reduce){.v1-header .v1-logo.nh-animate .nh-old{display:none!important}.v1-header .v1-logo.nh-animate>img{animation:none}}
