/* One visual contract for navigation controls on every page. */
html body#nw-web#nw-web .nw-scroll-top{position:fixed;inset:auto max(16px,1.3vw) calc(20px + env(safe-area-inset-bottom)) auto;z-index:900;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;min-width:48px;width:48px;height:48px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff;font:500 14px/1.4 Manrope,Arial,sans-serif;letter-spacing:0;text-transform:none;text-decoration:none;appearance:none;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:none;transition:opacity .22s ease,visibility .22s ease}
html body#nw-web#nw-web .nw-scroll-top[data-visible="true"]{opacity:1;visibility:visible;pointer-events:auto}
html body#nw-web#nw-web .nw-scroll-top-content{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;gap:0;transform:none;pointer-events:none}
html body#nw-web#nw-web .nw-scroll-top-label{position:absolute;right:100%;display:block;margin:0;padding:0 14px 0 0;color:#fff;font:inherit;letter-spacing:0;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
html body#nw-web#nw-web .nw-scroll-top:focus-visible .nw-scroll-top-label{opacity:1;visibility:visible}
@media(hover:hover) and (pointer:fine){html body#nw-web#nw-web .nw-scroll-top:hover .nw-scroll-top-label{opacity:1;visibility:visible}}
html body#nw-web#nw-web .nw-scroll-top svg{display:block;width:28px;height:28px;min-width:28px;flex:0 0 28px;margin:0;padding:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transform:none;transition:transform .22s ease}
html body#nw-web#nw-web .nw-scroll-top::before{content:none}
html body#nw-web#nw-web .nw-scroll-top::after{content:"";position:absolute;left:auto;right:4px;width:40px;bottom:2px;height:1px;background:linear-gradient(90deg,transparent,#a8bade55 12%,#a8bade55 88%,transparent);opacity:0;transition:opacity .22s ease}
html body#nw-web#nw-web .nw-scroll-top:focus-visible::after{opacity:1;width:calc(40px + var(--nw-top-label-width,62px))}
@media(hover:hover) and (pointer:fine){html body#nw-web#nw-web .nw-scroll-top:hover::after{opacity:1;width:calc(40px + var(--nw-top-label-width,62px))}}
html body#nw-web#nw-web .nw-scroll-top:focus-visible{outline:1px solid #c9b2ef;outline-offset:4px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html body#nw-web#nw-web .nw-scroll-top:is(:hover,:focus-visible) svg{transform:translateY(-2px)}}
@media(max-width:900px){html body#nw-web#nw-web .nw-scroll-top{right:max(16px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));font-size:14px}}
@media(prefers-reduced-motion:reduce){html body#nw-web#nw-web .nw-scroll-top,html body#nw-web#nw-web .nw-scroll-top *{transition:none}}
@media(min-width:901px){
 
 
 html body#nw-web#nw-web [data-desktop-dock] nav{display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important;padding:0!important}
 html body#nw-web#nw-web [data-desktop-dock] nav>a{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:48px!important;height:48px!important;min-height:48px!important;padding:0!important;margin:0!important;color:#fff!important;font:500 14px/1.4 Manrope,Arial,sans-serif!important;transform:none!important}
 html body#nw-web#nw-web [data-desktop-dock] nav>a>svg{display:block!important;width:28px!important;height:28px!important;flex:0 0 28px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.6!important;stroke-linecap:round!important;stroke-linejoin:round!important;margin:0!important;transform:none!important}
 html body#nw-web#nw-web [data-desktop-dock] nav>a>span{position:absolute!important;right:100%!important;left:auto!important;top:auto!important;width:auto!important;padding:0 14px 0 0!important;margin:0!important;font:500 14px/1.4 Manrope,Arial,sans-serif!important;white-space:nowrap!important;opacity:0!important;visibility:hidden!important;transform:none!important;pointer-events:none!important}
 html body#nw-web#nw-web [data-desktop-dock] nav>a:is(:hover,:focus-visible)>span{opacity:1!important;visibility:visible!important}
}

@media(hover:none) and (pointer:coarse){html body#nw-web#nw-web .nw-scroll-top .nw-scroll-top-label{display:none!important}html body#nw-web#nw-web .nw-scroll-top:active::after{opacity:1;width:40px}html body#nw-web#nw-web .nw-scroll-top{touch-action:manipulation;-webkit-tap-highlight-color:transparent}}

/* One mobile footer layout for the landing page and every inner page. */
@media(max-width:900px){
 html body#nw-web#nw-web>footer.site-footer{display:block!important;position:relative!important;box-sizing:border-box!important;width:calc(100% - 32px)!important;max-width:none!important;margin:28px auto 0!important;padding:24px 0 calc(72px + env(safe-area-inset-bottom))!important;text-align:center!important}
 html body#nw-web#nw-web>footer.site-footer .footer-surface{display:block!important;width:100%!important;margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
 html body#nw-web#nw-web>footer.site-footer .footer-links{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;gap:4px!important;width:100%!important;margin:0!important;padding:0!important}
 html body#nw-web#nw-web>footer.site-footer .footer-divider{display:none!important}
 html body#nw-web#nw-web>footer.site-footer .footer-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;box-sizing:border-box!important;flex:0 0 auto!important;width:auto!important;max-width:100%!important;min-height:48px!important;margin:0!important;padding:10px 0!important;font:500 14px/1.5 Manrope,Arial,sans-serif!important;letter-spacing:0!important;text-align:center!important;white-space:nowrap!important}
 html body#nw-web#nw-web>footer.site-footer .footer-link>svg{display:block!important;width:28px!important;height:28px!important;min-width:28px!important;flex:0 0 28px!important;margin:0!important}
 html body#nw-web#nw-web>footer.site-footer .footer-copy{display:block!important;width:100%!important;margin:24px 0 0!important;padding:0!important;font:400 11px/1.6 Manrope,Arial,sans-serif!important;letter-spacing:0!important;text-align:center!important;white-space:normal!important}
}

/* Touch selection must not trigger legacy hover/focus lifts on pricing cards. */
/* Tariff links have a single decorative line outside the text layout. */
html body#nw-web#nw-web #plans .nw-plan-action{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:auto;padding:8px 12px;border:0;border-radius:0;background:none;box-shadow:none;color:#fff;text-decoration:none;font:600 clamp(1.05rem,1.35vw,1.35rem)/1.4 Manrope,Arial,sans-serif;white-space:nowrap;transform:none!important;transition:none!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
html body#nw-web#nw-web #plans .nw-plan-action>span{display:block;position:static;margin:0;padding:0;transform:none!important;transition:none!important;pointer-events:none}
html body#nw-web#nw-web #plans .nw-plan-action::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:linear-gradient(90deg,transparent,rgba(184,197,232,.55) 18%,rgba(184,197,232,.55) 82%,transparent);opacity:0;pointer-events:none}
html body#nw-web#nw-web #plans .nw-plan-action:is(:active,:focus-visible)::after{opacity:1}
@media(hover:hover) and (pointer:fine){html body#nw-web#nw-web #plans .nw-plan-action:hover::after{opacity:1}}
@media(max-width:900px){html body#nw-web#nw-web #plans .nw-plan-action{font-size:1rem}}

/* The dark halo and underline never participate in the button's layout. */
html body#nw-web#nw-web #plans .nw-plan-action{isolation:isolate;overflow:visible}
html body#nw-web#nw-web #plans .nw-plan-action::before{content:"";position:absolute;z-index:-1;inset:-.55rem -.9rem;pointer-events:none;border:0;border-radius:1.35rem;background:radial-gradient(ellipse at 50% 50%,rgba(2,8,25,.82) 0%,rgba(3,10,29,.64) 46%,rgba(4,11,29,.36) 70%,rgba(4,11,29,.12) 86%,transparent 100%);filter:blur(4px);opacity:.7}
html body#nw-web#nw-web #plans .nw-plan-action:is(:hover,:focus-visible)::before{opacity:1}
html body#nw-web#nw-web #plans .plan,html body#nw-web#nw-web #plans .plan:is(:hover,:focus-within,:active){transform:none!important;translate:none!important;scale:none!important;transition:none!important}
html body#nw-web#nw-web #plans .nw-plan-action,html body#nw-web#nw-web #plans .nw-plan-action:is(:hover,:focus,:focus-visible,:active),html body#nw-web#nw-web #plans .nw-plan-action>span{transform:none!important;translate:none!important;scale:none!important;animation:none!important;transition:none!important}

/* Only a mouse moves the label; the hit area and dark halo stay in place. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 html body#nw-web#nw-web #plans .nw-plan-action>span{transform:translate3d(0,0,0)!important;will-change:transform;backface-visibility:hidden;transition:transform .24s cubic-bezier(.22,.61,.36,1)!important}
 html body#nw-web#nw-web #plans .nw-plan-action:is(:hover,:focus-visible)>span{transform:translate3d(0,-2px,0)!important}
 html body#nw-web#nw-web #plans .nw-plan-action::before,html body#nw-web#nw-web #plans .nw-plan-action::after{transition:opacity .24s cubic-bezier(.22,.61,.36,1)!important}
}
/* Mobile browser chrome must not resize any section preceding the tariffs. */
@media(max-width:900px){
 html body#nw-web#nw-web{min-height:100svh;-webkit-text-size-adjust:100%;text-size-adjust:100%}
}

/* Shared desktop motion. Stable hit targets, one transition per visible child. */
@media(min-width:901px){
 
 
 html body#nw-web#nw-web [data-desktop-dock] nav>a>svg{position:relative!important;top:0!important;transform:none!important;will-change:auto!important;pointer-events:none!important}
 html body#nw-web#nw-web [data-desktop-dock] nav>a>span{transform:none!important;will-change:auto!important;right:calc(100% - 6px)!important;pointer-events:none!important}
}
@media(min-width:901px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 
 
 
 html body#nw-web#nw-web [data-desktop-dock] nav>a>svg{transition:top .24s ease!important}
 html body#nw-web#nw-web [data-desktop-dock] nav>a:is(:hover,:focus-visible)>svg{top:-2px!important;transform:none!important}
 html body#nw-web#nw-web [data-desktop-dock] nav>a>span{transition:right .24s ease,opacity .24s ease,visibility .24s ease!important}
 html body#nw-web#nw-web [data-desktop-dock] nav>a:is(:hover,:focus-visible)>span{right:100%!important;transform:none!important}
 html body#nw-web#nw-web [data-desktop-dock] nav>a>.nw-control-line,html body#nw-web#nw-web [data-desktop-dock] nav>a:after{transition:opacity .24s ease!important}
}
