.nsn-bar{position:relative;box-sizing:border-box;width:100%;min-height:var(--nsn-height);background:var(--nsn-bg);color:var(--nsn-text);font-size:var(--nsn-font-size);font-family:inherit;line-height:1.5;z-index:99;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:5px 36px;text-align:center}
.nsn-bar *{box-sizing:border-box}
.nsn-track{position:relative;width:100%;min-width:0;min-height:calc(var(--nsn-height) - 10px);display:grid;align-items:center;overflow:hidden}
.nsn-slide{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(100%);transition:none;will-change:transform}
.nsn-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);z-index:1}
.nsn-slide.nsn-enter{opacity:1;visibility:visible;pointer-events:none;transform:translateX(100%);z-index:2}
.nsn-slide.nsn-enter.nsn-backward{transform:translateX(-100%)}
.nsn-slide.nsn-leave{opacity:1;visibility:visible;pointer-events:none;transform:translateX(0);z-index:1}
.nsn-slide.nsn-enter.nsn-going,.nsn-slide.nsn-leave.nsn-going{transition:transform var(--nsn-transition) cubic-bezier(.45,0,.2,1)}
.nsn-slide.nsn-enter.nsn-going{transform:translateX(0)}
.nsn-slide.nsn-leave.nsn-going{transform:translateX(-100%)}
.nsn-slide.nsn-leave.nsn-backward.nsn-going{transform:translateX(100%)}
.nsn-message{color:var(--nsn-text);font:inherit;overflow-wrap:break-word}
.nsn-message p{margin:0!important;padding:0!important;color:inherit!important;font:inherit!important;line-height:1.5!important}
.nsn-message i{margin-right:4px}
.nsn-message a:not(.nsn-button){color:inherit;text-decoration:underline}
.nsn-message a.nsn-button{display:inline-block;background:var(--nsn-button-bg)!important;color:var(--nsn-button-color)!important;padding:4px 10px!important;margin-left:8px;border:0;border-radius:4px;text-decoration:none!important;font-size:var(--nsn-button-font-size)!important;font-weight:500;line-height:1.45;vertical-align:middle;transition:filter .2s}
.nsn-message a.nsn-button:hover{filter:brightness(.9)}
.nsn-arrow{position:absolute;top:50%;transform:translateY(-50%);height:30px;width:26px;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;color:var(--nsn-text)!important;font:normal 25px/1 inherit!important;cursor:pointer;z-index:2;opacity:.8}
.nsn-arrow:hover{opacity:1}.nsn-prev{left:5px}.nsn-next{right:5px}
.nsn-bar a:focus-visible,.nsn-bar button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@media(max-width:767px){.nsn-bar{padding:7px 27px}.nsn-message{font-size:12px}.nsn-message a.nsn-button{margin:3px 0 3px 5px}.nsn-track{min-height:var(--nsn-height)}}
@media(prefers-reduced-motion:reduce){.nsn-slide,.nsn-slide.nsn-going{transition:none!important}}
/* Mobile: one benefit per swipe, no wrapping into oversized announcement bars. */
.nsn-mobile-slide{display:none}
@media(max-width:767px){
  .nsn-desktop-slide{display:none!important}
  .nsn-mobile-slide{display:block}
  .nsn-bar{padding:5px 14px;min-height:40px}
  .nsn-track{min-height:32px}
  .nsn-message{font-size:12px;line-height:1.4}
  .nsn-message p{line-height:1.4!important}
  .nsn-arrow{width:23px}
  .nsn-bar:has(.nsn-arrow){padding-left:29px;padding-right:29px}
}

/* v1.0.4: Compact CTA announcement on small screens. */
@media(max-width:767px){
  .nsn-mobile-slide .nsn-mobile-with-button{
    display:flex!important;align-items:center;justify-content:center;gap:9px;
    width:100%;max-width:100%;margin:0!important;
    flex-wrap:nowrap;text-align:left;
  }
  .nsn-mobile-slide .nsn-mobile-copy{
    min-width:0;flex:1 1 auto;display:-webkit-box;
    -webkit-box-orient:vertical;-webkit-line-clamp:2;
    line-clamp:2;overflow:hidden;overflow-wrap:anywhere;
    font-size:12px;line-height:1.35;
  }
  .nsn-mobile-slide .nsn-mobile-copy i{margin-right:4px}
  .nsn-mobile-slide .nsn-mobile-with-button a.nsn-button{
    display:inline-flex!important;align-items:center;justify-content:center;
    flex:0 0 auto;max-width:42%;white-space:normal;text-align:center;
    margin:0!important;padding:6px 9px!important;
    font-size:12px!important;line-height:1.25!important;
  }
  .nsn-mobile-slide .nsn-mobile-with-button a.nsn-button:hover{filter:brightness(.9)}
}
