/* NextWatch AI v1.57.48: full-width centered Intelligence block beneath the dual hero. */
.nw-shell .nw-hero .nw-hero-grid > .nw-toolfirst-panel {
  position:relative!important;isolation:isolate!important;z-index:0;
  box-sizing:border-box!important;min-width:0!important;
  margin-inline:auto!important;text-align:center!important;
  border:1px solid rgba(123,221,255,.45)!important;
  box-shadow:0 14px 40px rgba(5,12,36,.31),0 0 26px rgba(92,173,255,.07),inset 0 1px rgba(213,249,255,.09)!important;
}
.nw-shell .nw-hero .nw-hero-grid > .nw-toolfirst-panel > .panel-label,
.nw-shell .nw-hero .nw-hero-grid > .nw-toolfirst-panel > p{display:block;text-align:center!important;margin-inline:auto!important}
.nw-shell .nw-hero .nw-hero-grid > .nw-toolfirst-panel .nw-home-motion-line{justify-content:center!important;text-align:center!important}
.nw-shell .nw-hero .nw-hero-grid > .nw-toolfirst-panel .nw-toolfirst-grid{width:100%!important;min-width:0!important}
.nw-shell .nw-hero .nw-toolfirst-grid>a{text-align:left}
/* ORIGINAL INDIVIDUAL TILE LED ANIMATION RESTORED (v1.57.49). */
/* The progress indicator is the same underlying staged measurement that powers the full test. */
.nw-home-express .nw-express-progress{display:grid;gap:10px;width:min(100%,490px);margin:18px auto 2px;padding:0 14px;box-sizing:border-box;color:#c2d9f8}
.nw-home-express .nw-express-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px;font-weight:800;letter-spacing:.015em}
.nw-home-express .nw-express-progress-track{height:12px;overflow:hidden;border:1px solid rgba(141,208,255,.20);border-radius:999px;background:rgba(104,130,201,.23);box-shadow:inset 0 1px 4px rgba(0,0,0,.22)}
.nw-home-express .nw-express-progress-track>span{display:block;width:0%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#49e8ce,#62bdff,#ac7dff);box-shadow:0 0 11px rgba(101,215,255,.42);transition:width .23s ease}
.nw-home-express.nw-express-busy .nw-express-progress-track>span{background-size:200% 100%;animation:nw-express-progress-colors 1.7s linear infinite}
@keyframes nw-express-progress-colors{to{background-position:200% 0}}
/* Desktop: dual hero sits above a separate, centered, full-span Intelligence panel. */
@media(min-width:1121px){
  .nw-shell .nw-hero .nw-hero-grid > .nw-promo-wrap{
    grid-column:2!important;grid-row:2!important;display:flex!important;
    flex-direction:column!important;justify-content:flex-start!important;
    align-items:center!important;align-self:start!important;justify-self:stretch!important;
    height:auto!important;max-height:none!important;min-height:0!important;
    padding:0!important;margin:0!important;transform:none!important;
  }
  .nw-shell .nw-hero .nw-promo-wrap > .nw-home-express{
    order:0;--nw-express-size:min(100%,460px)!important;
    margin:0 auto 24px!important;padding:0 10px 0!important;flex:none!important;
  }
  .nw-shell .nw-hero .nw-hero-grid > .nw-toolfirst-panel{
    grid-column:1/-1!important;grid-row:3!important;
    width:min(100%,1180px)!important;max-width:1180px!important;
    height:auto!important;min-height:0!important;
    justify-self:center!important;align-self:start!important;
    margin:4px auto 0!important;
  }
  .nw-shell .nw-hero .nw-hero-grid > .nw-toolfirst-panel .nw-toolfirst-grid{
    flex:none!important;height:auto!important;min-height:0!important;
    grid-template-rows:repeat(5,minmax(48px,auto))!important;
    align-content:start!important;
  }
  .nw-shell .nw-hero .nw-toolfirst-grid>a{height:auto!important;min-height:48px!important}
  .nw-home-express .nw-express-number{font-size:clamp(61px,5.1vw,78px)!important}
  .nw-home-express.nw-express-complete .nw-express-number{font-size:clamp(52px,4.5vw,69px)!important}
  .nw-home-express.nw-express-busy .nw-express-number{font-size:clamp(40px,3.8vw,54px)!important}
}
@media(min-width:1400px){
  .nw-shell .nw-hero .nw-promo-wrap > .nw-home-express{--nw-express-size:min(100%,480px)!important}
}
/* Mobile: share controls remain available; Intelligence appears first among hero features. */
@media(max-width:760px){
  .nw-shell .nw-hero .nw-hero-grid{display:flex!important;flex-direction:column!important;align-items:center!important}
  .nw-shell .nw-hero .nw-hero-grid > .nw-share-restored{order:0!important}
  .nw-shell .nw-hero .nw-hero-grid > .nw-toolfirst-panel{
    order:1!important;width:100%!important;max-width:100%!important;flex:none!important;
    margin:12px auto 24px!important;min-width:0!important;
  }
  .nw-shell .nw-hero .nw-hero-grid > .nw-promo-wrap{
    order:2!important;display:flex!important;flex-direction:column!important;
    align-items:center!important;min-width:0!important;width:100%!important;
    margin:6px auto 0!important;
  }
  .nw-shell .nw-hero .nw-promo-wrap > .nw-home-express{
    order:0!important;--nw-express-size:min(100%,305px)!important;
    margin:5px auto 18px!important;padding:0!important;
  }
  .nw-shell .nw-hero .nw-hero-grid > .nw-copy{order:3!important;width:100%!important;align-self:center!important}
  .nw-home-express .nw-express-progress{width:min(100%,330px);margin-top:12px;padding:0 5px}
  .nw-home-express .nw-express-progress-meta{font-size:12px}
  .nw-home-express .nw-express-progress-track{height:10px}
}
@media(max-width:360px){.nw-shell .nw-hero .nw-promo-wrap>.nw-home-express{--nw-express-size:min(100%,280px)!important}}

/* Tablet: put the card below the full hero rather than next to the dial. */
@media(min-width:761px) and (max-width:1120px){
  .nw-shell .nw-hero .nw-hero-grid > .nw-toolfirst-panel{
    grid-column:1/-1!important;width:min(100%,1100px)!important;
    max-width:1100px!important;justify-self:center!important;
    margin:30px auto 0!important;
  }
}
/* All desktop widths: keep the separate full-span card and its text centered. */
@media(min-width:1121px){
  .nw-shell .nw-hero .nw-hero-grid{row-gap:clamp(20px,3vw,48px)!important}
  .nw-shell .nw-hero .nw-hero-grid > .nw-toolfirst-panel{
    grid-column:1 / -1!important;grid-row:3!important;
    text-align:center!important;
    transform:none!important;
  }
}

/* V1.57.48 mobile-only refinement: Express test + progress appear first,
   followed by the existing headline/actions, Share and Intelligence panel.
   The >=761px desktop/tablet layout and measurement engine are unchanged. */
@media (max-width:760px){
  .nw-shell .nw-hero .nw-hero-grid{
    display:flex!important;flex-direction:column!important;
    align-items:center!important;justify-content:flex-start!important;
    gap:0!important;
  }
  .nw-shell .nw-hero .nw-hero-grid > .nw-promo-wrap{
    order:0!important;flex:0 0 auto!important;
    width:100%!important;max-width:100%!important;
    margin:0 auto!important;padding:0!important;
    display:flex!important;align-items:center!important;
    justify-content:flex-start!important;
  }
  .nw-shell .nw-hero .nw-promo-wrap > .nw-home-express{
    order:0!important;
    --nw-express-size:min(100%, 305px, calc(100svh - 235px))!important;
    width:100%!important;max-width:100%!important;
    margin:12px auto 18px!important;padding:0!important;
    display:grid!important;justify-items:center!important;
  }
  .nw-shell .nw-hero .nw-hero-grid > .nw-copy{
    order:1!important;width:100%!important;
    margin:0 auto!important;align-self:center!important;
  }
  .nw-shell .nw-hero .nw-hero-grid > .nw-share-restored{
    order:2!important;width:100%!important;
    margin:14px auto 14px!important;
  }
  .nw-shell .nw-hero .nw-hero-grid > .nw-toolfirst-panel{
    order:3!important;width:100%!important;max-width:100%!important;
    margin:12px auto 24px!important;
  }
  /* The complete test progress row and its track are never hidden. */
  .nw-shell .nw-hero .nw-home-express .nw-express-progress{
    display:grid!important;visibility:visible!important;opacity:1!important;
    width:min(100%,330px)!important;
    margin:12px auto 0!important;padding:0 5px!important;
    box-sizing:border-box!important;
  }
  .nw-shell .nw-hero .nw-home-express .nw-express-progress-track{
    display:block!important;height:10px!important;
  }
}
@media (max-width:360px){
  .nw-shell .nw-hero .nw-promo-wrap > .nw-home-express{
    --nw-express-size:min(100%,280px,calc(100svh - 235px))!important;
  }
}


/* NextWatch AI v1.57.49 — scoped desktop/mobile refinements.
   Restore ORIGINAL individually animated tool tiles; remove the later
   full-panel perimeter chase (which changed the established appearance). */
.nw-shell .nw-hero .nw-hero-grid > .nw-toolfirst-panel::before,
.nw-shell .nw-hero .nw-hero-grid > .nw-toolfirst-panel::after{
  content:none!important;display:none!important;animation:none!important;
}
.nw-shell .nw-hero .nw-toolfirst-grid>a::before{
  z-index:2!important;
  border:1.5px solid var(--nw-led,#63dfff)!important;
  background:transparent!important;
  box-shadow:0 0 10px color-mix(in srgb,var(--nw-led,#63dfff) 40%,transparent),
             0 0 20px color-mix(in srgb,var(--nw-led,#63dfff) 17%,transparent),
             inset 0 0 10px color-mix(in srgb,var(--nw-led,#63dfff) 8%,transparent)!important;
  animation:nw-sequential-tile-led 12s ease-in-out infinite!important;
  animation-play-state:running!important;
}
/* Keep the original staggered timing, so LEDs travel tile-by-tile. */
.nw-shell .nw-hero .nw-toolfirst-grid>a:nth-child(1)::before{animation-delay:0s!important}
.nw-shell .nw-hero .nw-toolfirst-grid>a:nth-child(2)::before{animation-delay:1.2s!important}
.nw-shell .nw-hero .nw-toolfirst-grid>a:nth-child(3)::before{animation-delay:2.4s!important}
.nw-shell .nw-hero .nw-toolfirst-grid>a:nth-child(4)::before{animation-delay:3.6s!important}
.nw-shell .nw-hero .nw-toolfirst-grid>a:nth-child(5)::before{animation-delay:4.8s!important}
.nw-shell .nw-hero .nw-toolfirst-grid>a:nth-child(6)::before{animation-delay:6s!important}
.nw-shell .nw-hero .nw-toolfirst-grid>a:nth-child(7)::before{animation-delay:7.2s!important}
.nw-shell .nw-hero .nw-toolfirst-grid>a:nth-child(8)::before{animation-delay:8.4s!important}
.nw-shell .nw-hero .nw-toolfirst-grid>a:nth-child(9)::before{animation-delay:9.6s!important}
.nw-shell .nw-hero .nw-toolfirst-grid>a:nth-child(10)::before{animation-delay:10.8s!important}
/* The homepage gets the same explicit always-running motion priority
   that already makes the full Speed Test ring rotate on desktop. */
.nw-shell .nw-hero .nw-home-express .nw-express-dial::before{
  animation:nw-express-rgb-spin 5s linear infinite!important;
  animation-play-state:running!important;
  transform-origin:50% 50%!important;
}
.nw-shell .nw-hero .nw-home-express .nw-express-dial::after{
  animation:nw-express-rgb-spin 28s linear infinite reverse!important;
  animation-play-state:running!important;
}
.nw-shell .nw-hero .nw-home-express .nw-express-light-trail{
  animation:nw-express-rgb-spin 2.7s linear infinite!important;
  animation-play-state:running!important;
  transform-origin:50% 50%!important;
}
.nw-shell .nw-hero .nw-home-express.nw-express-busy .nw-express-light-trail{
  animation-duration:1.2s!important;
}
.nw-shell .nw-hero .nw-home-express.nw-express-busy .nw-express-dial::before{
  animation-duration:2.1s!important;
}
/* Desktop circle gently enlarged; retain full progress/readout centered.
   The progress centerline is aligned with the three shortcut buttons at run time. */
@media (min-width:1121px){
  .nw-shell .nw-hero .nw-promo-wrap>.nw-home-express{
    --nw-express-size:min(100%,488px)!important;
  }
  .nw-shell .nw-hero .nw-home-express .nw-express-progress{
    width:min(100%,490px)!important;
    margin-inline:auto!important;
    justify-self:center!important;
  }
}
@media (min-width:1400px){
  .nw-shell .nw-hero .nw-promo-wrap>.nw-home-express{
    --nw-express-size:min(100%,510px)!important;
  }
}
/* Mobile: slightly larger dial; center the entire dial-and-progress group
   vertically in the available first-screen space, keeping progress visible. */
@media (max-width:760px){
  .nw-shell .nw-hero .nw-hero-grid>.nw-promo-wrap{
    min-height:max(0px,calc(100svh - 103px))!important;
    box-sizing:border-box!important;
    display:flex!important;flex-direction:column!important;
    justify-content:center!important;align-items:center!important;
    padding:4px 0!important;
    margin:0 auto!important;
  }
  .nw-shell .nw-hero .nw-promo-wrap>.nw-home-express{
    --nw-express-size:min(100%,326px,calc(100svh - 230px))!important;
    margin:0 auto!important;padding:0!important;
  }
  .nw-shell .nw-hero .nw-home-express .nw-express-progress{
    margin:13px auto 0!important;
    width:min(100%,340px)!important;
    padding:0 7px!important;
  }
}
@media (max-width:360px){
  .nw-shell .nw-hero .nw-promo-wrap>.nw-home-express{
    --nw-express-size:min(100%,292px,calc(100svh - 214px))!important;
  }
}
