/* New landing page only. Every page rule is namespaced under .nx-home. */
:root {
  --nx-ink: #071b3a;
  --nx-ink-2: #12315d;
  --nx-blue: #1557ff;
  --nx-sky: #4ac7ff;
  --nx-ice: #edf7ff;
  --nx-paper: #f7f9fc;
  --nx-white: #fff;
  --nx-coral: #ff7452;
  --nx-line: #dce5f0;
}

.nx-home { color: var(--nx-ink); background: var(--nx-white); font-family: var(--sans); overflow: hidden; }
.nx-home *, .nx-home *::before, .nx-home *::after { box-sizing: border-box; }
.nx-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.nx-section { padding: 112px 0; }
.nx-heading { max-width: 700px; margin-bottom: 48px; }
.nx-heading h2, .nx-copy h2, .nx-final h2 {
  margin: 0; color: var(--nx-ink); font-family: var(--sans);
  font-size: clamp(2.25rem, 4.4vw, 4.6rem); font-weight: 650; line-height: .98; letter-spacing: -.045em;
}
.nx-heading > p:last-child, .nx-copy > p, .nx-final p {
  margin: 22px 0 0; color: #5c6c82; font-size: 1.05rem; line-height: 1.75;
}
.nx-kicker { margin: 0 0 18px; color: #d6e8ff; font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.nx-kicker span { display: inline-block; width: 28px; height: 2px; margin: 0 9px 3px 0; background: var(--nx-coral); }
.nx-kicker--blue { color: var(--nx-blue); }
.nx-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 32px; }
.nx-btn {
  display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; padding: 0 22px;
  border: 1px solid transparent; border-radius: 9px; font-size: .9rem; font-weight: 750; line-height: 1; text-decoration: none;
  cursor: pointer; transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.nx-btn:hover { transform: translateY(-2px); }
.nx-btn:focus-visible, .nx-textlink:focus-visible, .nx-home a:focus-visible, .nx-choice button:focus-visible { outline: 3px solid var(--nx-coral); outline-offset: 3px; }
.nx-btn--light { color: var(--nx-ink); background: var(--nx-white); box-shadow: 0 14px 30px rgba(0,0,0,.13); }
.nx-btn--glass { color: var(--nx-white); border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.nx-btn--blue { color: var(--nx-white); background: var(--nx-blue); box-shadow: 0 12px 24px rgba(21,87,255,.2); }
.nx-btn--outline { color: var(--nx-ink); border-color: #cbd7e5; background: transparent; }
.nx-textlink { display: inline-flex; gap: 9px; margin-top: 28px; color: var(--nx-blue); font-weight: 800; text-decoration: none; }
.nx-centered { margin: 34px 0 0; text-align: center; }

/* Hero: the people behind the platform, told as an orchestrated sequence. */
.nx-hero { position: relative; min-height: 720px; color: var(--nx-white); background: #061936; isolation: isolate; }
.nx-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 15% 25%, rgba(27,96,255,.25), transparent 34%), linear-gradient(90deg, rgba(3,16,38,.98) 0%, rgba(3,16,38,.9) 40%, rgba(3,16,38,.15) 72%, rgba(3,16,38,.22) 100%); }
.nx-hero__art { position: absolute; inset: 0; z-index: -2; overflow: hidden; background: #061936; }
.nx-hero__slide { position: absolute; inset: -2%; display: block; opacity: 0; will-change: opacity, transform, clip-path, filter; }
.nx-hero__slide--engineer { animation: nx-engineer-drift 32s ease-in-out infinite; }
.nx-hero__slide--team { animation: nx-team-slide 32s cubic-bezier(.55,.08,.35,1) -24s infinite; }
.nx-hero__slide--developers { animation: nx-developer-zoom 32s ease-in-out -16s infinite; }
.nx-hero__slide--sales { animation: nx-sales-wipe 32s cubic-bezier(.7,0,.3,1) -8s infinite; }
.nx-hero__slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
@keyframes nx-engineer-drift {
  0% { opacity: 1; transform: scale(1.02) translate3d(0,0,0); filter: blur(0); }
  20% { opacity: 1; transform: scale(1.075) translate3d(-1.2%,.8%,0); filter: blur(0); }
  26%, 94% { opacity: 0; transform: scale(1.1) translate3d(-2%,1%,0); filter: blur(3px); }
  100% { opacity: 1; transform: scale(1.02) translate3d(0,0,0); filter: blur(0); }
}
@keyframes nx-team-slide {
  0% { opacity: 1; transform: scale(1.035) translate3d(0,0,0); }
  20% { opacity: 1; transform: scale(1.055) translate3d(-1%,0,0); }
  26%, 94% { opacity: 0; transform: scale(1.055) translate3d(-7%,0,0); }
  100% { opacity: 1; transform: scale(1.035) translate3d(0,0,0); }
}
@keyframes nx-developer-zoom {
  0% { opacity: 1; transform: scale(1.02); filter: blur(0); }
  20% { opacity: 1; transform: scale(1.09); filter: blur(0); }
  26%, 94% { opacity: 0; transform: scale(1.15); filter: blur(4px); }
  100% { opacity: 1; transform: scale(1.02); filter: blur(0); }
}
@keyframes nx-sales-wipe {
  0% { opacity: 1; clip-path: inset(0 0 0 0); transform: scale(1.035); }
  20% { opacity: 1; clip-path: inset(0 0 0 0); transform: scale(1.065); }
  26% { opacity: 0; clip-path: inset(0 0 0 100%); transform: scale(1.065); }
  94% { opacity: 0; clip-path: inset(0 100% 0 0); transform: scale(1.035); }
  100% { opacity: 1; clip-path: inset(0 0 0 0); transform: scale(1.035); }
}
.nx-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 70px; align-items: end; min-height: 720px; padding-block: 96px 76px; }
.nx-hero__copy { max-width: 690px; padding-top: 20px; }
.nx-hero__copy > * { animation: nx-hero-content-in .7s cubic-bezier(.2,.75,.25,1) both; }
.nx-hero__copy > :nth-child(1) { animation-delay: .08s; }
.nx-hero__copy > :nth-child(2) { animation-delay: .17s; }
.nx-hero__copy > :nth-child(3) { animation-delay: .26s; }
.nx-hero__copy > :nth-child(4) { animation-delay: .35s; }
.nx-hero__copy > :nth-child(5) { animation-delay: .44s; }
.nx-hero__copy > :nth-child(6) { animation-delay: .53s; }
@keyframes nx-hero-content-in { from { opacity: 0; transform: translate3d(0,24px,0); } to { opacity: 1; transform: none; } }
.nx-hero h1 { margin: 0; max-width: 11ch; font-family: var(--sans); font-size: clamp(3.35rem, 6.2vw, 6.8rem); font-weight: 650; line-height: .89; letter-spacing: -.06em; }
.nx-hero h1 em { color: var(--nx-sky); font-weight: 500; }
.nx-hero__lede { max-width: 590px; margin: 28px 0 0; color: #c8d9ec; font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.65; }
.nx-hero__trust { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 30px; color: #dcecff; font-size: .8rem; }
.nx-hero__trust span { display: inline-flex; gap: 6px; align-items: center; }
.nx-hero__trust svg { color: var(--nx-sky); }
.nx-hero__roles { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.nx-hero__roles span { padding: 5px 9px; color: #9fb4ce; border: 1px solid rgba(255,255,255,.13); border-radius: 99px; background: rgba(4,18,42,.34); font-size: .61rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; animation: nx-role-active 32s ease-in-out infinite; }
.nx-hero__roles span:nth-child(2) { animation-delay: -24s; }
.nx-hero__roles span:nth-child(3) { animation-delay: -16s; }
.nx-hero__roles span:nth-child(4) { animation-delay: -8s; }
@keyframes nx-role-active { 0%, 20%, 100% { color: #fff; border-color: rgba(74,199,255,.65); background: rgba(21,87,255,.5); transform: translateY(-2px); } 26%, 94% { color: #9fb4ce; border-color: rgba(255,255,255,.13); background: rgba(4,18,42,.34); transform: none; } }
.nx-routecard { overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 16px; background: rgba(7,24,54,.74); box-shadow: 0 28px 70px rgba(0,0,0,.25); backdrop-filter: blur(18px); }
.nx-routecard a { display: grid; grid-template-columns: 42px 1fr 14px; gap: 13px; align-items: center; padding: 20px; color: var(--nx-white); border-bottom: 1px solid rgba(255,255,255,.11); text-decoration: none; transition: background .2s ease, transform .2s ease; animation: nx-route-in .55s cubic-bezier(.2,.75,.25,1) backwards; }
.nx-routecard a:nth-child(1) { animation-delay: .3s; }
.nx-routecard a:nth-child(2) { animation-delay: .4s; }
.nx-routecard a:nth-child(3) { animation-delay: .5s; }
@keyframes nx-route-in { from { opacity: 0; transform: translate3d(34px,0,0); } to { opacity: 1; transform: none; } }
.nx-routecard a:last-child { border-bottom: 0; }
.nx-routecard a:hover { background: rgba(62,155,255,.14); transform: translateX(-3px); }
.nx-routecard__icon { display: grid; width: 42px; height: 42px; place-items: center; color: var(--nx-sky); border-radius: 9px; background: rgba(74,199,255,.12); }
.nx-routecard b, .nx-routecard small { display: block; }
.nx-routecard b { margin-bottom: 5px; font-size: .92rem; }
.nx-routecard small { color: #9fb4ce; font-size: .72rem; line-height: 1.4; }
.nx-routecard > a > i { color: var(--nx-coral); font-size: .75rem; }
.nx-hero__rail { display: grid; gap: 14px; align-self: end; }
.nx-hero-ad { padding: 13px; border: 1px solid rgba(255,255,255,.15); border-radius: 14px; background: rgba(7,24,54,.78); box-shadow: 0 22px 60px rgba(0,0,0,.2); backdrop-filter: blur(18px); animation: nx-ad-rise .65s .62s cubic-bezier(.2,.75,.25,1) both; }
@keyframes nx-ad-rise { from { opacity: 0; transform: translate3d(0,24px,0) scale(.97); } to { opacity: 1; transform: none; } }
.nx-hero-ad__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #a8bdd7; font-size: .61rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.nx-hero-ad__head span { display: inline-flex; align-items: center; gap: 6px; }
.nx-hero-ad__head i { color: var(--nx-coral); animation: nx-bullhorn-pulse 2.8s ease-in-out infinite; }
@keyframes nx-bullhorn-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.16); color: #ffb19e; } }
.nx-hero-ad__head a { color: #fff; text-decoration: none; white-space: nowrap; }
.nx-hero-ad__head a:hover { color: var(--nx-sky); }
.nx-hero-ad .adslot { margin: 11px 0 0; }
.nx-hero-ad .adslot__rail,
.nx-hero-ad .adslot--landing_hero .adslot__rail { grid-template-columns: minmax(0, 1fr); gap: 8px; max-width: none; margin: 0; padding: 0; }
.nx-hero-ad .adunit__label { margin-bottom: 3px; color: #9fb4ce; font-size: .56rem; }
.nx-hero-ad .adunit__led { background: var(--nx-coral); opacity: 1; }
.nx-hero-ad .adunit__frame { color: #fff; border-color: rgba(255,255,255,.16); border-radius: 8px; background: rgba(255,255,255,.07); }
.nx-hero-ad .adunit__frame img { max-height: 78px; object-fit: contain; }
.nx-hero-ad .adunit__frame--html { max-height: 88px; overflow: hidden; }
.nx-hero-ad .adunit__frame--text { min-height: 0; gap: 3px; padding: 9px 10px; }
.nx-hero-ad .adunit__title { font-size: .75rem; line-height: 1.25; }
.nx-hero-ad .adunit__body { display: -webkit-box; margin: 0; overflow: hidden; font-size: .64rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.nx-hero-ad .adunit__cta { padding-top: 2px; font-size: .62rem; }

.nx-signalbar { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: -1px; padding: 28px 0; border-bottom: 1px solid var(--nx-line); }
.nx-signalbar p { margin: 0; padding: 0 28px; border-right: 1px solid var(--nx-line); }
.nx-signalbar p:first-child { padding-left: 0; }
.nx-signalbar p:last-child { border: 0; }
.nx-signalbar b, .nx-signalbar span { display: block; }
.nx-signalbar b { color: var(--nx-ink); font-size: .9rem; }
.nx-signalbar span { margin-top: 5px; color: #6a788b; font-size: .75rem; line-height: 1.45; }

.nx-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.nx-pillar { position: relative; min-height: 390px; padding: 34px; overflow: hidden; border: 1px solid var(--nx-line); border-radius: 18px; background: var(--nx-paper); }
.nx-pillar::after { content: ''; position: absolute; width: 190px; height: 190px; right: -75px; bottom: -85px; border: 1px solid currentColor; border-radius: 50%; opacity: .12; }
.nx-pillar > i { display: grid; width: 58px; height: 58px; margin: 52px 0 28px; place-items: center; color: var(--nx-blue); border-radius: 13px; background: var(--nx-ice); font-size: 1.35rem; }
.nx-pillar__number { color: #718096; font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nx-pillar h3 { max-width: 12ch; margin: 0; font-family: var(--sans); font-size: 1.7rem; font-weight: 650; line-height: 1.08; letter-spacing: -.025em; }
.nx-pillar p { margin: 18px 0; color: #66758a; font-size: .9rem; line-height: 1.65; }
.nx-pillar a { position: absolute; left: 34px; bottom: 32px; color: var(--nx-ink); font-size: .8rem; font-weight: 800; text-decoration: none; }
.nx-pillar a span { color: var(--nx-blue); }
.nx-pillar--partners { color: #8f4c31; background: #fff7f2; }
.nx-pillar--partners > i { color: #da5e35; background: #ffe5da; }
.nx-pillar--market { color: #08685d; background: #f0fbf8; }
.nx-pillar--market > i { color: #047d6e; background: #d9f5ee; }

.nx-latency { padding-top: 34px; }
.nx-latency__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(40px, 7vw, 100px); align-items: center; }
.nx-latency .nx-heading { margin: 0; }
.nx-latency .gauge { max-width: none; margin: 0; box-shadow: 0 24px 55px rgba(7,27,58,.13); }

.nx-ops { background: var(--nx-paper); }
.nx-split { display: grid; grid-template-columns: 1.06fr .94fr; gap: clamp(50px, 8vw, 110px); align-items: center; }
.nx-split--reverse { grid-template-columns: .9fr 1.1fr; }
.nx-photo { position: relative; min-width: 0; }
.nx-photo > picture:first-child { display: block; overflow: hidden; border-radius: 22px; box-shadow: 0 30px 70px rgba(9,31,66,.16); }
.nx-photo > picture:first-child img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.nx-photo--ops > picture:first-child img { object-position: center; }
.nx-photo__inset { position: absolute; right: -38px; bottom: -38px; width: 34%; overflow: hidden; border: 6px solid var(--nx-paper); border-radius: 16px; box-shadow: 0 18px 45px rgba(9,31,66,.2); }
.nx-photo__inset img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.nx-photo__note { position: absolute; left: 22px; bottom: 20px; padding: 10px 14px; color: var(--nx-ink); border-radius: 99px; background: rgba(255,255,255,.92); box-shadow: 0 8px 20px rgba(0,0,0,.12); font-size: .72rem; font-weight: 800; }
.nx-photo__note i { margin-right: 5px; color: #0b9b75; }
.nx-checks { display: grid; gap: 16px; margin: 28px 0 0; padding: 0; list-style: none; }
.nx-checks li { display: grid; grid-template-columns: 26px 1fr; align-items: start; color: #5b6a7e; font-size: .9rem; line-height: 1.55; }
.nx-checks svg { margin-top: 3px; color: var(--nx-blue); }
.nx-checks b { color: var(--nx-ink); }

.nx-plans { color: var(--nx-white); background: #071a38; }
.nx-heading--light h2 { color: var(--nx-white); }
.nx-heading--light > p:last-child { color: #aabed6; }
.nx-plan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; align-items: stretch; }
.nx-plan { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 30px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: #0d254d; }
.nx-plan--featured { border-color: #4ac7ff; box-shadow: inset 0 3px 0 var(--nx-sky), 0 22px 55px rgba(0,0,0,.18); }
.nx-plan__flag { position: absolute; right: 20px; top: 20px; padding: 6px 9px; color: #05203f; border-radius: 99px; background: var(--nx-sky); font-size: .62rem; font-weight: 900; text-transform: uppercase; }
.nx-plan__name { margin: 0; color: #bed3ec; font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nx-plan__price { margin: 25px 0 8px; font-family: var(--sans); font-size: clamp(2.2rem, 3.5vw, 3.3rem); font-weight: 650; letter-spacing: -.04em; }
.nx-plan__price small { color: #8ca5c2; font-family: var(--sans); font-size: .72rem; font-weight: 500; letter-spacing: 0; }
.nx-plan__tagline { min-height: 44px; margin: 0; color: #96acc5; font-size: .83rem; line-height: 1.55; }
.nx-plan ul { margin: 26px 0; padding: 0; border-top: 1px solid rgba(255,255,255,.1); list-style: none; }
.nx-plan li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; color: #91a8c2; border-bottom: 1px solid rgba(255,255,255,.08); font-size: .78rem; }
.nx-plan li b { color: #e9f4ff; }
.nx-plan .nx-btn { width: 100%; margin-top: auto; }
.nx-plan .nx-btn--outline { color: #fff; border-color: rgba(255,255,255,.24); }
.nx-textlink--light { color: var(--nx-sky); }
.nx-plans__empty { padding: 44px; text-align: center; border: 1px solid rgba(255,255,255,.15); border-radius: 16px; background: #0d254d; }
.nx-plans__empty p { margin: 0 0 20px; color: #b7cae0; }

.nx-market { background: #fff; }
.nx-market__head { display: grid; grid-template-columns: 1fr 300px; gap: 60px; align-items: center; }
.nx-market__head picture { height: 220px; overflow: hidden; border-radius: 18px; background: var(--nx-ice); }
.nx-market__head img { width: 100%; height: 100%; object-fit: cover; }
.nx-product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.nx-product { display: block; min-width: 0; overflow: hidden; color: var(--nx-ink); border: 1px solid var(--nx-line); border-radius: 15px; background: #fff; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.nx-product:hover { transform: translateY(-4px); box-shadow: 0 18px 45px rgba(7,27,58,.1); }
.nx-product__media { display: grid; height: 170px; place-items: center; color: var(--nx-blue); overflow: hidden; background: linear-gradient(135deg, #e9f5ff, #f7f3ff); font-size: 2rem; }
.nx-product__media img { width: 100%; height: 100%; object-fit: cover; }
.nx-product__body { display: flex; min-height: 195px; flex-direction: column; padding: 22px; }
.nx-product__body small { color: var(--nx-blue); font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nx-product__body b { margin-top: 9px; font-family: var(--sans); font-size: 1.25rem; font-weight: 650; }
.nx-product__body > span { margin-top: 8px; color: #748196; font-size: .78rem; line-height: 1.45; }
.nx-product__body strong { margin-top: auto; padding-top: 18px; color: var(--nx-ink); font-size: .77rem; }
.nx-product__body strong i { color: var(--nx-coral); font-style: normal; }

.nx-partners { padding-top: 80px; background: #f4f8fc; }
.nx-partner-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 76px; }
.nx-partner-strip a { display: grid; grid-template-columns: 42px 1fr; gap: 2px 12px; align-items: center; padding: 14px; color: var(--nx-ink); border: 1px solid var(--nx-line); border-radius: 11px; background: #fff; text-decoration: none; }
.nx-partner-strip img, .nx-partner-strip a > span { grid-row: span 2; display: grid; width: 42px; height: 42px; place-items: center; object-fit: contain; border-radius: 8px; background: var(--nx-ice); color: var(--nx-blue); font-weight: 900; }
.nx-partner-strip b { font-size: .78rem; }
.nx-partner-strip small { color: #7b899b; font-size: .64rem; }

.nx-journal .postgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.nx-journal .postcard { overflow: hidden; border: 1px solid var(--nx-line); border-radius: 14px; box-shadow: none; }
.nx-journal .postcard__cover, .nx-journal .cardslider { aspect-ratio: 16/9; }
.nx-journal .postcard__body { padding: 22px; }
.nx-journal .postcard__title { font-family: var(--sans); font-size: 1.2rem; }

.nx-final { padding: 80px 0; color: #fff; background: var(--nx-blue); }
.nx-final__inner { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: center; }
.nx-final .nx-kicker { margin: 0 0 20px; color: rgba(255,255,255,.72); font-size: .72rem; line-height: 1.2; }
.nx-final h2 { max-width: 900px; color: #fff; font-size: clamp(2rem, 3.6vw, 3.7rem); }
.nx-final .nx-actions { margin: 0; }
.nx-choice-trigger { display: block; margin: 0 auto 28px; padding: 5px 10px; color: #7b8798; border: 0; background: transparent; font-size: .7rem; text-decoration: underline; cursor: pointer; }

/* Visitor landing-page choice */
.nx-choice[hidden] { display: none; }
.nx-choice { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 20px; }
.nx-choice__backdrop { position: absolute; inset: 0; background: rgba(4,15,35,.74); backdrop-filter: blur(8px); }
.nx-choice__card { position: relative; z-index: 1; width: min(520px, 100%); padding: 38px; color: var(--nx-ink); border-radius: 20px; background: #fff; box-shadow: 0 34px 100px rgba(0,0,0,.38); animation: nx-choice-in .4s ease both; }
.nx-choice__card h2 { margin: 13px 0 12px; font-family: var(--sans); font-size: clamp(2rem, 5vw, 2.8rem); font-weight: 650; line-height: 1; letter-spacing: -.04em; }
.nx-choice__card > p:not(.nx-kicker):not(.nx-choice__count) { margin: 0; color: #647286; line-height: 1.6; }
.nx-choice__mark { display: grid; width: 48px; height: 48px; margin-bottom: 20px; place-items: center; color: #fff; border-radius: 11px; background: var(--nx-blue); }
.nx-choice__close { position: absolute; right: 18px; top: 14px; color: #758195; border: 0; background: transparent; font-size: 1.7rem; cursor: pointer; }
.nx-choice__progress { height: 5px; margin-top: 26px; overflow: hidden; border-radius: 99px; background: #e7edf5; }
.nx-choice__progress span { display: block; width: 100%; height: 100%; transform-origin: left; background: linear-gradient(90deg, var(--nx-blue), var(--nx-sky)); animation: nx-progress 12s linear forwards; }
.nx-choice__count { margin: 8px 0 0; color: #7a8797; font-size: .68rem; }
.nx-choice__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
.nx-choice__actions .nx-btn { width: 100%; }
.nx-modal-open { overflow: hidden; }
@keyframes nx-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes nx-choice-in { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: none; } }

@media (max-width: 960px) {
  .nx-hero__inner { grid-template-columns: 1fr; align-items: center; padding-block: 90px 54px; }
  .nx-hero__copy { padding-top: 0; }
  .nx-routecard { max-width: 680px; }
  .nx-hero__art { left: 0; opacity: .72; }
  .nx-pillars, .nx-plan-grid, .nx-product-grid { grid-template-columns: repeat(2, 1fr); }
  .nx-pillar:last-child, .nx-product:last-child { grid-column: 1 / -1; }
  .nx-split, .nx-split--reverse { grid-template-columns: 1fr; }
  .nx-latency__grid { grid-template-columns: 1fr; }
  .nx-split--reverse .nx-copy { order: 2; }
  .nx-split--reverse .nx-photo { order: 1; }
  .nx-photo { max-width: 720px; }
  .nx-final__inner { grid-template-columns: 1fr; }
  .nx-journal .postgrid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .nx-shell { width: min(100% - 28px, 1180px); }
  .nx-section { padding: 76px 0; }
  .nx-hero { min-height: 780px; }
  .nx-hero__inner { min-height: 780px; gap: 42px; padding-top: 72px; }
  .nx-hero__art { inset: 0; opacity: .43; }
  .nx-hero::before { background: linear-gradient(180deg, rgba(3,16,38,.88), rgba(3,16,38,.95)); }
  .nx-hero h1 { font-size: clamp(3.1rem, 15vw, 4.8rem); }
  .nx-signalbar { grid-template-columns: 1fr; padding: 12px 0; }
  .nx-signalbar p, .nx-signalbar p:first-child { padding: 15px 0; border-right: 0; border-bottom: 1px solid var(--nx-line); }
  .nx-pillars, .nx-plan-grid, .nx-product-grid, .nx-partner-strip, .nx-journal .postgrid { grid-template-columns: 1fr; }
  .nx-pillar:last-child, .nx-product:last-child { grid-column: auto; }
  .nx-market__head { grid-template-columns: 1fr; gap: 0; }
  .nx-market__head picture { display: none; }
  .nx-photo__inset { right: -4px; bottom: -24px; }
  .nx-choice__card { padding: 28px 22px; }
  .nx-choice__actions { grid-template-columns: 1fr; }
  .nx-final .nx-actions, .nx-final .nx-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .nx-home *, .nx-home *::before, .nx-home *::after, .nx-choice * { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .nx-hero__slide { opacity: 0; animation: none !important; transform: none; }
  .nx-hero__slide:first-child { opacity: 1; }
  .nx-hero__roles span { animation: none !important; transform: none; }
  .nx-hero__roles span:first-child { color: #fff; border-color: rgba(74,199,255,.65); background: rgba(21,87,255,.5); }
  .nx-hero-ad__head i { animation: none !important; }
}
