.nx-services{
  --navy:#181526;
  --violet:#2b1e51;
  --purple:#9e7bb7;
  --purple-bright:#c7a9df;
  --light:#e9eff9;
  --muted:#aaa4bb;
  --muted-2:#817a94;

  --line:rgba(158,123,183,.22);
  --line-soft:rgba(158,123,183,.12);
  --line-strong:rgba(158,123,183,.48);

  --max:1160px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --ease-soft:cubic-bezier(.33,1,.68,1);

  position:relative;
  width:100%;
  overflow:hidden;
  color:var(--light);
  background:var(--navy);
  font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  isolation:isolate;
}
.nx-services *,
.nx-services *::before,
.nx-services *::after{box-sizing:border-box}
.nx-services a{color:inherit}
.nx-services button,
.nx-services a{font:inherit}
.nx-services h1,
.nx-services h2,
.nx-services h3,
.nx-services p{margin:0}
.nx-services canvas{display:block}
.nx-services ::selection{background:rgba(158,123,183,.32);color:#fff}

.nx-services .nx-svc-wrap{width:min(var(--max),calc(100% - 48px));margin:0 auto;position:relative;z-index:2}
.nx-services .nx-svc-kicker{display:inline-flex;align-items:center;gap:var(--nx-eyebrow-gap);padding:var(--nx-eyebrow-pad);border:1px solid var(--nx-eyebrow-border);border-radius:999px;color:var(--nx-eyebrow-color);background:var(--nx-eyebrow-bg);font:var(--nx-badge-font);letter-spacing:var(--nx-eyebrow-tracking);text-transform:uppercase}
.nx-services .nx-svc-kicker::before{content:"";width:var(--nx-eyebrow-dot);height:var(--nx-eyebrow-dot);border-radius:50%;background:var(--nx-eyebrow-dot-color);box-shadow:var(--nx-eyebrow-dot-glow)}
.nx-services .nx-svc-kicker.nx-in-view::before,
.nx-services .nx-in-view .nx-svc-kicker::before{
  animation:nxDotBreath 2.1s var(--ease-soft) .35s 2;
}

.nx-services .nx-svc-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 28px;
  border:1px solid var(--line-strong);border-radius:999px;text-decoration:none!important;cursor:pointer;
  transition:transform .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);}
.nx-services .nx-svc-btn:hover{transform:translateY(-2px)}
.nx-services .nx-svc-btn:active{transform:translateY(0)}
.nx-services .nx-svc-btn-primary{background:linear-gradient(110deg,var(--violet),var(--purple));border-color:rgba(158,123,183,.6);color:var(--light)!important;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.nx-services .nx-svc-btn-primary:hover{box-shadow:0 14px 34px rgba(158,123,183,.22)}
.nx-services .nx-svc-btn-outline{background:transparent;color:var(--light)!important}
.nx-services .nx-svc-btn-outline:hover{border-color:var(--purple);background:rgba(158,123,183,.1)}
.nx-services .nx-svc-btn-arrow{font-size:16px;transition:transform .35s var(--ease)}
.nx-services .nx-svc-btn:hover .nx-svc-btn-arrow{transform:translateX(4px)}

.nx-services .nx-svc-hero{
  position:relative;
  min-height:min(820px,100svh);
  padding:130px 0 118px;
  display:flex;align-items:center;
  overflow:hidden;
  background:
    radial-gradient(ellipse 1150px 700px at 64% 42%,rgba(43,30,81,.3),transparent 76%),
    linear-gradient(180deg,#141222 0%,var(--navy) 100%);
}
.nx-services .nx-svc-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:190px;pointer-events:none;z-index:1;
  background:linear-gradient(180deg,transparent,rgba(24,21,38,.85) 72%,var(--navy) 100%);
}

.nx-services .nx-svc-hero-aurora{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.nx-services .nx-svc-aurora{
  position:absolute;display:block;border-radius:50%;
  will-change:transform,opacity;
}
.nx-services .nx-svc-aurora-a{
  width:min(980px,90vw);height:min(700px,66vh);left:38%;top:-22%;
  background:radial-gradient(ellipse at center,rgba(104,67,150,.62),rgba(96,62,138,.2) 44%,transparent 70%);
  animation:nxDriftA 24s ease-in-out infinite;
}
.nx-services .nx-svc-aurora-b{
  width:min(820px,82vw);height:min(600px,58vh);left:-14%;bottom:-24%;
  background:radial-gradient(ellipse at center,rgba(66,45,104,.56),rgba(66,45,104,.16) 46%,transparent 72%);
  animation:nxDriftB 31s ease-in-out infinite;
}
.nx-services .nx-svc-aurora-c{
  width:min(620px,64vw);height:min(470px,48vh);left:60%;top:34%;
  background:radial-gradient(ellipse at center,rgba(158,123,183,.3),rgba(158,123,183,.08) 40%,transparent 68%);
  animation:nxBreathe 17s ease-in-out infinite;
}

.nx-services .nx-svc-hero-aurora{--px:0px;--py:0px}
.nx-services .nx-svc-aurora-layer{
  position:absolute;inset:0;
  transform:translate3d(calc(var(--px) * var(--depth,1)),calc(var(--py) * var(--depth,1)),0);
  transition:transform .8s var(--ease-soft);
  will-change:transform;
}

.nx-services .nx-svc-hero-lattice{
  position:absolute;inset:0;width:100%;height:100%;
  z-index:1;pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 76%,transparent);
          mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 76%,transparent);
}

.nx-services .nx-svc-hero-content{position:relative;z-index:2;max-width:820px;margin:0 auto;text-align:center}

.nx-services .nx-svc-hero-title{
  margin:24px auto 0;max-width:20ch;
  font-size:clamp(36px,4.8vw,58px);line-height:1.14;letter-spacing:-.032em;
  font-weight:700;text-wrap:balance;
}
.nx-services .nx-svc-hero-copy{color:var(--muted);font-size:16px;line-height:1.8;margin:26px auto 0;max-width:520px}
.nx-services .nx-svc-hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:38px}

.nx-services .nx-svc-hero-title .nx-word{
  display:inline-block;
  opacity:0;
  transform:translateY(.42em);
  animation:nxWordIn .82s var(--ease-soft) forwards;
  animation-delay:calc(var(--nx-w,0) * .055s + .18s);
}

.nx-services .nx-svc-hero-focus{
  position:relative;font-style:normal;white-space:nowrap;
  text-shadow:0 0 32px rgba(158,123,183,.28);
}
.nx-services .nx-svc-hero-focus .nx-word{
  background:linear-gradient(100deg,var(--purple) 0%,#d9c7ea 50%,var(--purple) 100%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
}
.nx-services .nx-svc-hero-focus::after{
  content:"";position:absolute;left:.05em;right:.05em;bottom:-.12em;height:1px;
  background:linear-gradient(90deg,transparent,rgba(158,123,183,.68),transparent);
  opacity:0;transform:scaleX(0);transform-origin:center;
}
.nx-services .nx-svc-hero-title.nx-is-split .nx-svc-hero-focus::after{
  animation:nxPopIn 1.3s var(--ease-soft) var(--nx-focal,1s) forwards;
}

.nx-services .nx-svc-cap{padding:60px 0 120px;position:relative;background:linear-gradient(180deg,var(--navy),#131120)}
.nx-services .nx-svc-cap-head{margin-bottom:44px}
.nx-services .nx-svc-cap-head .nx-svc-kicker{margin-bottom:20px}
.nx-services .nx-svc-section-title{margin:0;font-size:var(--nx-h2-size);line-height:var(--nx-h2-line);letter-spacing:var(--nx-h2-tracking);font-weight:var(--nx-h2-weight);text-wrap:balance}

.nx-services .nx-svc-cap-layout{display:grid;grid-template-columns:320px 1fr;min-height:560px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:rgba(255,255,255,.012)}
.nx-services .nx-svc-nav{border-right:1px solid var(--line);padding:14px 0}
.nx-services .nx-svc-tab{width:100%;min-width:0;border:0;border-bottom:1px solid var(--line-soft);background:transparent;padding:22px 24px;text-align:left;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;cursor:pointer;position:relative;color:var(--muted);transition:color .35s var(--ease),background .35s var(--ease),padding .35s var(--ease)}
.nx-services .nx-svc-tab:last-child{border-bottom:0}
.nx-services .nx-svc-tab::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--purple);transform:scaleY(0);transform-origin:center;transition:transform .4s var(--ease)}
.nx-services .nx-svc-tab:hover,
.nx-services .nx-svc-tab:focus-visible{color:var(--light);background:rgba(158,123,183,.05);padding-left:29px}
.nx-services .nx-svc-tab[aria-selected="true"]{color:var(--light);background:linear-gradient(90deg,rgba(158,123,183,.12),transparent);padding-left:29px}
.nx-services .nx-svc-tab[aria-selected="true"]::before{transform:scaleY(1)}
.nx-services .nx-svc-tab-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(158,123,183,.1);color:var(--muted);transition:background .35s var(--ease),color .35s var(--ease)}
.nx-services .nx-svc-tab-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8}
.nx-services .nx-svc-tab[aria-selected="true"] .nx-svc-tab-icon{background:linear-gradient(135deg,var(--violet),var(--purple));color:var(--light)}
.nx-services .nx-svc-tab-name{
  font-size:13.5px;font-weight:600;letter-spacing:.01em;
  min-width:0;line-height:1.3;
  white-space:normal;overflow-wrap:break-word;
}
.nx-services .nx-svc-tab-plus{font:400 18px/1 "JetBrains Mono",monospace;color:var(--muted-2);transition:transform .4s var(--ease),color .35s}
.nx-services .nx-svc-tab[aria-selected="true"] .nx-svc-tab-plus{transform:rotate(45deg);color:var(--purple-bright)}

.nx-services .nx-svc-display{position:relative;overflow:hidden;background:radial-gradient(70% 90% at 72% 45%,rgba(61,43,88,.28),transparent 68%),rgba(14,11,22,.2)}
.nx-services #nxSvcServiceCanvas{position:absolute;inset:0;width:100%;height:100%;opacity:.9}
.nx-services .nx-svc-display-overlay{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--mx,70%) var(--my,45%),rgba(158,123,183,.08),transparent 25%)}
.nx-services .nx-svc-panel{position:absolute;inset:0;padding:50px 50px 42px;display:flex;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .55s var(--ease),transform .65s var(--ease),visibility .55s}
.nx-services .nx-svc-panel.nx-is-active{opacity:1;visibility:visible;transform:none}
.nx-services .nx-svc-panel[hidden]{display:flex}
.nx-services .nx-svc-panel-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.nx-services .nx-svc-panel-index{font:var(--nx-eyebrow-font);color:var(--purple);letter-spacing:.12em}
.nx-services .nx-svc-panel-status{display:inline-flex;align-items:center;gap:7px;color:#8f899f;font:var(--nx-eyebrow-font);letter-spacing:.12em;text-transform:uppercase}
.nx-services .nx-svc-panel-status i{width:5px;height:5px;border-radius:50%;background:var(--purple);box-shadow:0 0 12px var(--purple)}
.nx-services .nx-svc-panel h3{font-size:clamp(26px,3.4vw,40px);line-height:1.14;letter-spacing:-.03em;font-weight:700;margin:0 0 14px;max-width:520px}
.nx-services .nx-svc-panel h3 span{color:var(--purple-bright)}
.nx-services .nx-svc-panel-desc{color:var(--muted);font-size:13.5px;line-height:1.8;max-width:500px;margin:0}
.nx-services .nx-svc-panel-bottom{display:flex;justify-content:space-between;gap:30px;align-items:end}
.nx-services .nx-svc-points{display:flex;flex-wrap:wrap;gap:8px;max-width:560px}
.nx-services .nx-svc-point{border:1px solid var(--line-soft);border-radius:999px;padding:9px 13px;color:#a9a3b7;font:var(--nx-eyebrow-font);letter-spacing:.07em;text-transform:uppercase;background:rgba(255,255,255,.015)}
.nx-services .nx-svc-panel-cta{font:600 11px/1 "JetBrains Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--purple-bright);text-decoration:none!important;display:inline-flex;gap:9px;align-items:center;white-space:nowrap}
.nx-services .nx-svc-panel-cta span{transition:transform .35s var(--ease)}
.nx-services .nx-svc-panel-cta:hover span{transform:translateX(5px)}

.nx-services .nx-svc-cta{padding:80px 0 120px;background:#131120}
.nx-services .nx-svc-cta-box{
  position:relative;text-align:center;overflow:hidden;isolation:isolate;
  border:1px solid var(--line);border-radius:30px;padding:64px 30px;
  background:
    radial-gradient(circle at 50% 0%,rgba(43,30,81,.7),transparent 70%),
    rgba(24,21,38,.65);
  transition:border-color .6s var(--ease);
}
.nx-services .nx-svc-cta-box:hover{border-color:rgba(158,123,183,.34)}
.nx-services #nxSvcCtaCanvas{position:absolute;inset:0;width:100%;height:100%;opacity:.85;z-index:0}
.nx-services .nx-svc-cta-box::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(180deg,transparent 0%,rgba(19,17,32,.15) 70%,rgba(19,17,32,.55) 100%);
}
.nx-services .nx-svc-cta-box>*{position:relative;z-index:2}
.nx-services .nx-svc-cta-box h2{
  font-size:clamp(28px,3.6vw,48px);margin:20px auto 10px;max-width:600px;
  letter-spacing:-.03em;line-height:1.1;font-weight:700;text-wrap:balance;
}
.nx-services .nx-svc-cta-box p{color:var(--muted);font-size:13px;line-height:1.8;max-width:480px;margin:0 auto}
.nx-services .nx-svc-cta-box .nx-svc-btn{margin-top:22px;min-width:200px}

@media(max-width:960px){
  .nx-services .nx-svc-hero{min-height:0;padding:120px 0 100px}
  .nx-services .nx-svc-aurora-a{opacity:.72}
  .nx-services .nx-svc-aurora-b{opacity:.6}
  .nx-services .nx-svc-cap-layout{grid-template-columns:300px 1fr}
  .nx-services .nx-svc-panel{padding:38px 34px}
}
@media(max-width:768px){
  .nx-services .nx-svc-wrap{width:min(var(--max),calc(100% - 34px))}
  .nx-services .nx-svc-cap-head{margin-bottom:34px}
  .nx-services .nx-svc-cap-layout{grid-template-columns:1fr;min-height:auto;border-radius:20px}
  .nx-services .nx-svc-nav{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;padding:0}
  .nx-services .nx-svc-tab{padding:16px 14px;grid-template-columns:32px 1fr auto}
  .nx-services .nx-svc-tab:hover,
  .nx-services .nx-svc-tab[aria-selected="true"]{padding-left:16px}
  .nx-services .nx-svc-display{height:560px}
  .nx-services .nx-svc-panel{padding:34px 24px}
  .nx-services .nx-svc-panel-bottom{display:block}
  .nx-services .nx-svc-panel-cta{margin-top:22px}
}
@media(max-width:620px){
  .nx-services .nx-svc-wrap{width:calc(100% - 32px)}
  .nx-services .nx-svc-hero{padding:104px 0 88px}
  .nx-services .nx-svc-hero::after{height:130px}
  .nx-services .nx-svc-aurora-c{opacity:.5}
  .nx-services .nx-svc-hero-title{font-size:clamp(31px,8.4vw,42px);max-width:16ch}
  .nx-services .nx-svc-hero-copy{font-size:14px;margin-top:22px}
  .nx-services .nx-svc-hero-actions{display:grid;grid-template-columns:1fr;margin-top:30px}
  .nx-services .nx-svc-cap{padding:45px 0 90px}
  .nx-services .nx-svc-nav{grid-template-columns:1fr}
  .nx-services .nx-svc-display{height:600px}
  .nx-services .nx-svc-panel h3{font-size:28px}
  .nx-services .nx-svc-points{gap:6px}
  .nx-services .nx-svc-cta{padding:60px 0 90px}
  .nx-services .nx-svc-cta-box{padding:48px 22px}
  .nx-services .nx-svc-cta-box .nx-svc-btn{width:100%}
}
@media(max-width:390px){
  .nx-services .nx-svc-wrap{width:calc(100% - 26px)}
  .nx-services .nx-svc-hero-title{font-size:29px}
}

@media(prefers-reduced-motion:reduce){
  .nx-services *,
  .nx-services *::before,
  .nx-services *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    transition-delay:0s !important;
    scroll-behavior:auto !important;
  }
  .nx-services [data-reveal]{opacity:1;transform:none}
  .nx-services .nx-svc-hero-title .nx-word{opacity:1;transform:none}
  .nx-services .nx-svc-hero-focus::after{display:none}
}
