
#ng-premium{
  --ink:#eaf3ff;
  --dim:#a9bbce;
  --edge:#263b51;
  --aqua:#68dfca;
  --blue:#568cf5;
  background:#070e19;
  color:var(--ink);
  font:15px/1.65 Inter,system-ui,sans-serif;
  isolation:isolate;
  color-scheme:dark}
#ng-premium *{
  box-sizing:border-box}
#ng-premium [hidden]{
  display:none!important}
#ng-premium h1,#ng-premium h2,#ng-premium h3,#ng-premium p{
  margin:0}
#ng-premium a{
  color:inherit;
  text-decoration:none}
#ng-premium button{
  font:inherit;
  color:inherit;
  cursor:pointer}
#ng-premium button,#ng-premium a{
  touch-action:manipulation}
#ng-premium button:focus-visible,#ng-premium a:focus-visible{
  outline:3px solid var(--aqua);
  outline-offset:4px}
#ng-premium .wrap{
  width:min(1180px,calc(100% - 64px));
  margin:auto}
#ng-premium .top{
  min-height:88px;
  display:flex;
  align-items:center;
  gap:28px;
  border-bottom:1px solid var(--edge)}
#ng-premium .logo{
  width:176px;
  height:56px;
  object-fit:contain}
#ng-premium .navlinks{
  display:flex;
  gap:27px;
  margin-left:auto;
  align-items:center;
  font-size:13px}
#ng-premium .navlinks a:hover{
  color:var(--aqua)}
#ng-premium .cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  border:1px solid #5794fb;
  border-radius:6px;
  background:#2864d5;
  color:#fff;
  padding:13px 20px;
  min-height:48px;
  font-size:14px;
  font-weight:600;
  transition:background .2s,transform .2s}
#ng-premium .cta:hover{
  background:#3576ea;
  transform:translateY(-2px)}
#ng-premium .outline{
  background:transparent;
  border-color:#405775}
#ng-premium .menu{
  display:none;
  background:#132137;
  border:1px solid var(--edge);
  padding:9px 13px;
  border-radius:5px;
  min-height:44px}
#ng-premium .eyebrow{
  font-size:11px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--aqua)}
#ng-premium .hero{
  padding:74px 0 48px;
  background:radial-gradient(ellipse at 85% 15%,#153d573d,transparent 65%)}
#ng-premium .hero-grid{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:46px;
  align-items:center}
#ng-premium h1{
  font-size:clamp(40px,4.6vw,64px);
  line-height:1.06;
  font-weight:500;
  letter-spacing:-2.7px;
  margin:22px 0}
#ng-premium h1 em{
  font-style:normal;
  background:linear-gradient(110deg,#8ab7ff,#70e7ce);
  background-clip:text;
  color:transparent}
#ng-premium .intro{
  color:var(--dim);
  font-size:16px;
  max-width:540px;
  line-height:1.8}
#ng-premium .actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px}
#ng-premium .hero-art{
  position:relative;
  padding-bottom:36px;
  min-width:0}
#ng-premium .hero-image{
  display:block;
  width:100%;
  aspect-ratio:1.08;
  object-fit:cover;
  border-radius:15px;
  border:1px solid #42637a;
  mask-image:linear-gradient(#000 82%,#0008)}
#ng-premium .image-shell{
  position:relative}
#ng-premium .image-shell:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#041828b0,transparent 65%);
  border-radius:15px;
  pointer-events:none}
#ng-premium .art-note{
  position:absolute;
  top:18px;
  left:18px;
  z-index:1;
  background:#0b182ce8;
  border:1px solid #5b8e9977;
  border-radius:4px;
  padding:8px 12px;
  font-size:11px;
  letter-spacing:1px}
#ng-premium .art-note:before{
  content:'●';
  color:var(--aqua);
  margin-right:8px}
#ng-premium .connected{
  position:absolute;
  bottom:0;
  left:18px;
  right:18px;
  background:#0d1e30;
  border:1px solid #36566a;
  border-radius:10px;
  padding:20px;
  box-shadow:0 20px 35px #0005}
#ng-premium .connected .mini-flow{
  margin-top:12px}
#ng-premium .mini-flow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  font-size:12px}
#ng-premium .mini-flow b{
  font-weight:500;
  color:#d4e5f6}
#ng-premium .mini-flow span{
  color:var(--aqua)}
#ng-premium .sectors{
  display:flex;
  gap:22px;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-top:58px;
  padding-top:24px;
  border-top:1px solid var(--edge);
  font-size:12px;
  color:#a5b8ca}
#ng-premium .section{
  padding:80px 0}
#ng-premium .section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:32px;
  margin-bottom:34px}
#ng-premium h2{
  font-size:clamp(30px,3.5vw,46px);
  line-height:1.15;
  font-weight:500;
  letter-spacing:-1.6px;
  margin-top:12px}
#ng-premium .section-head p{
  color:var(--dim);
  max-width:355px;
  font-size:14px}
#ng-premium .products{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:22px}
#ng-premium .product{
  grid-column:span 2;
  text-align:left;
  border:1px solid #2c435b;
  border-radius:12px;
  background:#0d1929;
  padding:0;
  overflow:hidden;
  transition:transform .3s,border-color .3s;
  display:flex;
  flex-direction:column;
  min-width:0}
#ng-premium .product:nth-child(-n+2){
  grid-column:span 3}
#ng-premium .product:hover{
  transform:translateY(-4px);
  border-color:#6ad7c3}
#ng-premium .visual{
  height:170px;
  background:radial-gradient(ellipse at 50% 100%,#22677555,transparent 70%),linear-gradient(135deg,#112b45,#0d1b2d);
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-bottom:1px solid #26415a;
  padding:28px}
#ng-premium .product:nth-child(-n+2) .visual{
  height:210px}
#ng-premium .visual:before{
  content:'';
  position:absolute;
  inset:0;
  background-image:linear-gradient(#77b5d309 1px,transparent 1px),linear-gradient(90deg,#77b5d309 1px,transparent 1px);
  background-size:22px 22px}
#ng-premium .scene{
  display:flex;
  gap:12px;
  align-items:center;
  position:relative;
  transform:perspective(700px) rotateY(-12deg) rotateX(9deg);
  transition:transform .4s}
#ng-premium .product:hover .scene{
  transform:perspective(700px) rotateY(0) rotateX(0)}
#ng-premium .tile{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:linear-gradient(140deg,#214c66,#0b2035);
  border:1px solid #57899e;
  border-radius:9px;
  width:76px;
  height:95px;
  box-shadow:8px 12px 0 #040d192b,0 20px 25px #0004}
#ng-premium .tile:nth-child(2){
  transform:translateY(-13px);
  border-color:#73dbcc}
#ng-premium .tile strong{
  font-size:27px;
  color:#76d7d0;
  font-weight:500}
#ng-premium .tile small{
  font-size:11px;
  color:#bdd2e2}
#ng-premium .art-caption{
  position:absolute;
  left:18px;
  top:12px;
  font-size:10px;
  letter-spacing:1.6px;
  color:#a8c5dc}
#ng-premium .product-copy{
  padding:24px;
  display:flex;
  flex-direction:column;
  flex:1}
#ng-premium .product-copy h3{
  font-size:26px;
  font-weight:500;
  letter-spacing:-.8px;
  margin-bottom:9px}
#ng-premium .product-copy p{
  color:var(--dim);
  font-size:14px;
  line-height:1.7;
  margin-bottom:22px}
#ng-premium .card-link{
  border-top:1px solid var(--edge);
  padding-top:16px;
  margin-top:auto;
  font-size:13px;
  display:flex;
  justify-content:space-between;
  color:#9de5dd}
#ng-premium .sop{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:50px;
  align-items:center;
  background:linear-gradient(125deg,#123247,#102238 55%,#101d32);
  border:1px solid #35506b;
  border-radius:14px;
  padding:42px;
  margin-top:30px}
#ng-premium .sop p{
  color:var(--dim);
  margin-top:17px}
#ng-premium .sop h3{
  font-size:29px;
  line-height:1.22;
  font-weight:500;
  letter-spacing:-.7px;
  margin-top:13px}
#ng-premium .sop-steps{
  display:grid;
  gap:9px}
#ng-premium .sop-row{
  display:flex;
  gap:15px;
  padding:12px 15px;
  border:1px solid #39546b;
  background:#11293b;
  border-radius:6px;
  align-items:center}
#ng-premium .sop-row span{
  width:30px;
  height:30px;
  background:#164a52;
  color:#93ead8;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:12px;
  flex-shrink:0}
#ng-premium .sop-row strong{
  font-weight:500;
  font-size:14px}
#ng-premium .sop-row small{
  display:block;
  color:#a6bdce;
  font-size:12px}
#ng-premium .sop-row:last-child{
  border-color:#4a8e81}
#ng-premium .services-section{
  background:#0b1625;
  border-block:1px solid var(--edge)}
#ng-premium .services{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px}
#ng-premium .service{
  padding:27px;
  text-align:left;
  background:#101f31;
  border:1px solid #2a4058;
  border-radius:9px;
  display:flex;
  flex-direction:column;
  transition:background .25s,transform .25s}
#ng-premium .service:hover{
  background:#153044;
  transform:translateY(-3px)}
#ng-premium .service-num{
  font-size:12px;
  color:#80c7e8;
  letter-spacing:2px;
  margin-bottom:30px}
#ng-premium .service h3{
  font-size:21px;
  font-weight:500;
  line-height:1.25;
  margin-bottom:14px}
#ng-premium .service p{
  font-size:14px;
  color:var(--dim);
  margin-bottom:25px}
#ng-premium .service .card-link{
  width:100%}
#ng-premium .team{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:70px;
  align-items:center}
#ng-premium .team p{
  color:var(--dim);
  margin-top:20px}
#ng-premium .people{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px}
#ng-premium .person{
  border:1px solid var(--edge);
  border-radius:10px;
  overflow:hidden;
  background:#101e30}
#ng-premium .portrait{
  height:168px;
  display:grid;
  place-items:center;
  background:radial-gradient(ellipse at 50% 20%,#274863,#102137)}
#ng-premium .portrait span{
  font-size:38px;
  border:1px solid #53758d;
  border-radius:50%;
  display:grid;
  place-items:center;
  width:100px;
  height:100px;
  color:#c2dee6;
  background:#214153}
#ng-premium .person-copy{
  padding:18px}
#ng-premium .person-copy h3{
  font-size:19px;
  font-weight:500}
#ng-premium .person-copy p{
  font-size:12px;
  margin-top:4px;
  color:#a5c1d2}
#ng-premium .note{
  color:#9eb1c4;
  font-size:12px;
  margin-top:14px}
#ng-premium .contact{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:45px;
  border:1px solid #365777;
  border-radius:13px;
  background:radial-gradient(ellipse at 0 100%,#1b59714a,transparent 70%),#11223b;
  padding:42px;
  margin-bottom:70px}
#ng-premium .contact h2{
  font-size:38px}
#ng-premium .contact-info{
  border-left:1px solid #39516b;
  padding-left:35px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:13px}
#ng-premium .contact-info a{
  overflow-wrap:anywhere}
#ng-premium .contact-info p{
  font-size:13px;
  color:var(--dim)}
#ng-premium footer{
  border-top:1px solid var(--edge);
  padding:45px 0 25px}
#ng-premium .footer-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr;
  gap:35px}
#ng-premium footer p{
  font-size:13px;
  color:var(--dim);
  max-width:320px;
  margin-top:15px}
#ng-premium footer h3{
  font-size:13px;
  font-weight:500;
  margin-bottom:15px}
#ng-premium footer a:not(.social){
  display:block;
  font-size:13px;
  color:var(--dim);
  padding:5px 0}
#ng-premium .socials{
  display:flex;
  gap:12px;
  margin-top:20px}
#ng-premium .social{
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid var(--edge);
  border-radius:5px;
  padding:8px 12px;
  font-size:12px;
  min-height:44px}
#ng-premium .social b{
  font-family:Arial;
  font-size:17px}
#ng-premium .fine{
  border-top:1px solid var(--edge);
  margin-top:35px;
  padding-top:20px;
  font-size:12px;
  color:#8ca5bd;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:12px}

#ng-premium dialog{
  color:var(--ink);
  background:#0c1828;
  border:1px solid #45637c;
  border-radius:14px;
  width:min(940px,calc(100% - 32px));
  max-height:88vh;
  padding:0;
  box-shadow:0 35px 100px #000a;
  overscroll-behavior:contain}
#ng-premium dialog::backdrop{
  background:#020710d9;
  backdrop-filter:blur(7px)}
#ng-premium .dialog-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:16px 26px;
  border-bottom:1px solid var(--edge);
  position:sticky;
  top:0;
  background:#0c1828;
  z-index:3}
#ng-premium .close{
  width:44px;
  height:44px;
  font-size:27px;
  background:#172a40;
  border:1px solid #3c5670;
  border-radius:6px}
#ng-premium .dialog-body{
  padding:32px}
#ng-premium .dialog-body h2{
  font-size:40px;
  margin:9px 0 16px}
#ng-premium .dialog-body .lead{
  color:#b2c7da;
  font-size:16px;
  max-width:780px}
#ng-premium .tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:28px 0;
  border-bottom:1px solid var(--edge);
  padding-bottom:15px}
#ng-premium .tab{
  padding:10px 15px;
  min-height:44px;
  border:1px solid #354a64;
  border-radius:5px;
  background:#132337;
  font-size:13px}
#ng-premium .tab[aria-pressed=true]{
  border-color:#6adbc6;
  background:#174449;
  color:#d3fff4}
#ng-premium .caps{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:0;
  list-style:none;
  margin:22px 0}
#ng-premium .caps li{
  border:1px solid var(--edge);
  border-radius:6px;
  padding:18px;
  background:#112237;
  font-size:14px;
  display:flex;
  gap:12px}
#ng-premium .caps li:before{
  content:'↗';
  color:var(--aqua)}
#ng-premium .walk{
  display:grid;
  grid-template-columns:230px 1fr;
  gap:25px}
#ng-premium .step-nav{
  display:flex;
  flex-direction:column;
  gap:9px}
#ng-premium .step-btn{
  background:#112338;
  border:1px solid #314b65;
  text-align:left;
  border-radius:6px;
  padding:12px 15px;
  font-size:13px;
  min-height:48px}
#ng-premium .step-btn[aria-pressed=true]{
  border-color:#6adecc;
  background:#17414b}
#ng-premium .step-view{
  background:radial-gradient(ellipse at 80% 0,#20597760,transparent 70%),#112237;
  border:1px solid #375b71;
  padding:30px;
  border-radius:9px;
  min-height:265px}
#ng-premium .step-mark{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  background:linear-gradient(135deg,#245966,#1c344c);
  border:1px solid #6cabba;
  border-radius:12px;
  font-size:27px;
  color:#9df0e1;
  box-shadow:8px 8px 0 #030c1a44;
  margin-bottom:22px}
#ng-premium .step-view h3{
  font-size:24px;
  line-height:1.3;
  font-weight:500;
  margin-bottom:15px}
#ng-premium .step-view p{
  color:#b6c9db;
  font-size:14px}
#ng-premium .step-controls{
  display:flex;
  justify-content:space-between;
  gap:15px;
  margin-top:24px}
#ng-premium .step-controls button{
  border:1px solid #416078;
  background:#192f45;
  padding:9px 14px;
  border-radius:4px;
  min-height:44px}
#ng-premium .step-controls button:disabled{
  opacity:.4;
  cursor:default}
#ng-premium .video{
  width:100%;
  max-height:360px;
  background:#050b13;
  border:1px solid #365671;
  border-radius:8px;
  display:block}
#ng-premium .dialog-bottom{
  border-top:1px solid var(--edge);
  margin-top:28px;
  padding-top:23px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px}
#ng-premium .dialog-bottom span{
  color:var(--dim);
  font-size:13px}
#ng-premium .connected{
  animation:ng-breathe 6s ease-in-out infinite}
#ng-premium[data-motion=off] *{
  animation:none!important;
  transition:none!important}
@keyframes ng-breathe{
  50%{
  border-color:#61958d;
  box-shadow:0 20px 35px #0005,0 0 20px #69d9c00b}
}

@media(max-width:900px){
  #ng-premium .wrap{
  width:calc(100% - 40px)}
#ng-premium .navlinks{
  gap:16px}
#ng-premium .top>.cta{
  display:none}
#ng-premium .hero-grid{
  gap:25px}
#ng-premium .hero{
  padding-top:50px}
#ng-premium h1{
  font-size:46px}
#ng-premium .hero-image{
  aspect-ratio:.85}
#ng-premium .services{
  grid-template-columns:repeat(2,minmax(0,1fr))}
#ng-premium .product{
  grid-column:span 3}
#ng-premium .product:last-child{
  grid-column:span 6;
  display:grid;
  grid-template-columns:1fr 1fr}
#ng-premium .product:last-child .visual{
  height:100%;
  min-height:200px}
#ng-premium .sop{
  padding:28px;
  gap:28px}
#ng-premium .team{
  gap:30px}
#ng-premium .contact{
  padding:30px;
  gap:25px}
}

@media(max-width:640px){
  #ng-premium .wrap{
  width:calc(100% - 36px)}
#ng-premium .top{
  min-height:78px;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:0;
  padding:8px 0}
#ng-premium .logo{
  width:154px;
  height:52px}
#ng-premium .menu{
  display:block}
#ng-premium .navlinks{
  display:none;
  width:100%;
  margin:0;
  padding:15px 0 5px;
  flex-direction:column;
  align-items:stretch;
  gap:0}
#ng-premium .navlinks.open{
  display:flex}
#ng-premium .navlinks a{
  padding:12px 8px;
  border-top:1px solid var(--edge)}
#ng-premium .hero-grid{
  grid-template-columns:1fr;
  gap:32px}
#ng-premium .hero{
  padding:38px 0 25px}
#ng-premium h1{
  font-size:43px;
  letter-spacing:-1.9px;
  max-width:470px}
#ng-premium .intro{
  font-size:15px}
#ng-premium .hero-image{
  aspect-ratio:1.3}
#ng-premium .connected{
  padding:17px;
  left:12px;
  right:12px}
#ng-premium .mini-flow{
  font-size:11px;
  gap:5px}
#ng-premium .sectors{
  gap:12px 20px;
  justify-content:start;
  margin-top:30px}
#ng-premium .section{
  padding:48px 0}
#ng-premium .section-head{
  display:block}
#ng-premium .section-head p{
  margin-top:18px;
  max-width:none}
#ng-premium h2{
  font-size:34px}
#ng-premium .products{
  grid-template-columns:1fr;
  gap:18px}
#ng-premium .product,#ng-premium .product:nth-child(-n+2),#ng-premium .product:last-child{
  grid-column:auto;
  display:flex}
#ng-premium .product .visual,#ng-premium .product:nth-child(-n+2) .visual,#ng-premium .product:last-child .visual{
  height:180px;
  min-height:0;
  width:100%}
#ng-premium .product-copy{
  padding:23px}
#ng-premium .sop{
  grid-template-columns:1fr;
  padding:24px;
  gap:26px}
#ng-premium .services{
  grid-template-columns:1fr}
#ng-premium .service-num{
  margin-bottom:16px}
#ng-premium .service{
  padding:24px}
#ng-premium .team{
  grid-template-columns:1fr;
  gap:26px}
#ng-premium .people{
  gap:12px}
#ng-premium .portrait{
  height:135px}
#ng-premium .portrait span{
  width:80px;
  height:80px;
  font-size:29px}
#ng-premium .person-copy{
  padding:14px}
#ng-premium .contact{
  grid-template-columns:1fr;
  padding:26px;
  gap:30px;
  margin-bottom:45px}
#ng-premium .contact h2{
  font-size:32px}
#ng-premium .contact-info{
  border-left:0;
  border-top:1px solid #39516b;
  padding:25px 0 0}
#ng-premium .footer-grid{
  grid-template-columns:1fr 1fr;
  gap:30px}
#ng-premium .footer-grid>div:first-child{
  grid-column:1/-1}
#ng-premium dialog{
  width:calc(100% - 16px);
  max-height:92vh;
  border-radius:9px}
#ng-premium .dialog-top{
  padding:10px 18px}
#ng-premium .dialog-body{
  padding:22px 18px}
#ng-premium .dialog-body h2{
  font-size:31px}
#ng-premium .dialog-body .lead{
  font-size:14px}
#ng-premium .caps{
  grid-template-columns:1fr}
#ng-premium .walk{
  grid-template-columns:1fr;
  gap:18px}
#ng-premium .step-nav{
  display:grid;
  grid-template-columns:1fr 1fr}
#ng-premium .step-btn{
  font-size:12px;
  padding:11px}
#ng-premium .step-view{
  padding:24px;
  min-height:0}
#ng-premium .dialog-bottom{
  flex-direction:column;
  align-items:stretch}
#ng-premium .tabs{
  gap:7px}
#ng-premium .tab{
  padding:10px 12px}
}

@media(prefers-reduced-motion:reduce){
  #ng-premium *{
  animation:none!important;
  transition:none!important;
  scroll-behavior:auto!important}
}

/* Keep the dialog header outside the scrolling content;
   never scroll the X away. */
#ng-premium .services .service{
  padding:0;
  overflow:hidden}

#ng-premium .service-copy{
  padding:25px;
  display:flex;
  flex-direction:column;
  flex:1;
  width:100%}

#ng-premium .service-art{
  width:100%;
  height:166px;
  position:relative;
  border-bottom:1px solid #34516b;
  background:radial-gradient(ellipse at 50% 120%,#267c754d,transparent 75%),linear-gradient(130deg,#152e47,#101e32);
  display:grid;
  place-items:center;
  padding:30px 16px 10px;
  overflow:hidden}

#ng-premium .service-art-label{
  position:absolute;
  top:13px;
  left:18px;
  font-size:10px;
  color:#a7c4db;
  letter-spacing:1.4px}

#ng-premium .service-network{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  justify-content:center}

#ng-premium .service-node{
  border:1px solid #46738d;
  border-radius:12px;
  background:linear-gradient(145deg,#245267,#122e46);
  width:76px;
  min-width:0;
  height:84px;
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 24px #0003;
  transition:transform .3s}

#ng-premium .service-node:nth-of-type(2){
  border-color:#72c9bb}

#ng-premium .service-node>span{
  font-size:24px;
  color:#86e0d0;
  line-height:1}

#ng-premium .service-node small{
  font-size:11px;
  color:#c5deea}

#ng-premium .service-connector{
  color:#75b5c5;
  font-size:14px}

#ng-premium .service:hover .service-node{
  transform:translateY(-4px)}

#ng-premium .service-detail-heading{
  font-size:23px;
  line-height:1.3;
  font-weight:500;
  margin:24px 0 16px}

#ng-premium .dialog-body .service-art{
  border:1px solid #34516b;
  border-radius:9px;
  height:190px}

#ng-premium .dialog-body .service-network{
  max-width:430px;
  gap:20px}

#ng-premium .scope-note{
  border-left:2px solid #72c9bb;
  padding:14px 18px;
  margin-top:22px;
  background:#132b3d;
  color:#bfd3e3;
  font-size:14px}

#ng-premium .service-goals{
  padding:0;
  list-style:none;
  display:grid;
  gap:12px}

#ng-premium .service-goals li{
  display:flex;
  gap:18px;
  align-items:center;
  background:#13283b;
  border:1px solid #304b63;
  border-radius:8px;
  padding:19px}

#ng-premium .service-goals li>span{
  color:#8ae1cd;
  font-size:20px}

#ng-premium .service-goals p{
  font-size:14px;
  color:#c7d8e7}

#ng-premium .footer-grid{
  grid-template-columns:1.2fr .8fr 1.25fr .75fr;
  gap:28px}

@media(max-width:900px){
  #ng-premium .footer-grid{
  grid-template-columns:1fr 1fr}
}

@media(max-width:640px){
  #ng-premium .footer-grid{
  grid-template-columns:1fr 1fr}
#ng-premium .footer-grid>div:first-child{
  grid-column:1/-1}
#ng-premium .dialog-body .service-network{
  gap:7px}
}

#ng-premium .products .product:nth-child(n){
  grid-column:span 2;
  display:flex}

#ng-premium .products .product:nth-child(n) .visual{
  height:190px;
  min-height:190px}

@media(max-width:900px){
  #ng-premium .products .product:nth-child(n){
  grid-column:span 3}
}

@media(max-width:640px){
  #ng-premium .products .product:nth-child(n){
  grid-column:auto}
}

#ng-premium dialog[open]{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  max-height:88dvh}

#ng-premium .dialog-top{
  position:relative;
  flex:0 0 auto;
  min-height:72px;
  gap:18px;
  align-items:center}

#ng-premium .dialog-top .eyebrow{
  min-width:0;
  line-height:1.4}

#ng-premium .close{
  flex:0 0 44px;
  display:grid;
  place-items:center;
  line-height:1;
  padding:0;
  align-self:center}

/* Draw the X geometrically so font baseline/platform glyph metrics cannot offset it. */
#ng-premium .close{
  position:relative;
  font-size:0}

#ng-premium .close::before,#ng-premium .close::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:2px;
  border-radius:1px;
  background:currentColor;
  transform:translate(-50%,-50%) rotate(45deg)}

#ng-premium .close::after{
  transform:translate(-50%,-50%) rotate(-45deg)}

#ng-premium .interest-field{
  grid-column:1/-1;
  border:0;
  min-width:0;
  padding:0;
  margin:0}

#ng-premium .interest-field legend{
  font-size:13px;
  color:#e1ecf7;
  margin-bottom:8px;
  padding:0}

#ng-premium .interest-field legend span{
  color:var(--dim)}

#ng-premium .interest-picker{
  border:1px solid #40566f;
  border-radius:5px;
  background:#0a1626;
  overflow:hidden}

#ng-premium .interest-picker summary{
  padding:13px;
  min-height:48px;
  font-size:14px;
  cursor:pointer;
  overflow-wrap:anywhere}

#ng-premium .interest-picker summary:focus-visible{
  outline:2px solid #73dacc;
  outline-offset:-3px}

#ng-premium #ng-interest-options{
  padding:0 13px 14px}

#ng-premium #ng-interest-options h4{
  margin:15px 0 8px;
  color:#80d9cd;
  font-size:12px;
  font-weight:500;
  letter-spacing:1px}

#ng-premium #ng-interest-options label{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 4px;
  min-height:44px;
  font-size:14px;
  cursor:pointer}

#ng-premium #ng-interest-options input{
  width:18px;
  height:18px;
  min-height:18px;
  flex:0 0 18px;
  margin:0;
  padding:0;
  accent-color:#68dfca}

#ng-premium .dialog-body{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain}

#ng-premium .video{
  aspect-ratio:16/9}

#ng-premium .industry-cards{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:40px}

#ng-premium .industry-card{
  padding:20px 16px;
  border:1px solid #29435a;
  background:linear-gradient(145deg,#14293b,#0c1929);
  border-radius:8px;
  text-align:left;
  transition:transform .25s,border-color .25s;
  min-width:0}

#ng-premium .industry-card:hover{
  transform:translateY(-3px);
  border-color:#64c8bb}

#ng-premium .industry-symbol{
  display:block;
  font-size:25px;
  line-height:1;
  color:#79d5d2;
  margin-bottom:20px}

#ng-premium .industry-card strong{
  font-size:14px;
  font-weight:500;
  display:block;
  overflow-wrap:anywhere}

#ng-premium .industry-card small{
  font-size:12px;
  color:#a8bdd0;
  display:block;
  margin-top:8px;
  line-height:1.5}

#ng-premium .industry-card .industry-link{
  font-size:12px;
  color:#88e2cf;
  margin-top:16px;
  display:block}

#ng-premium .enquiry-layout{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:35px;
  align-items:start}

#ng-premium .enquiry-aside{
  padding:26px 10px 0 0}

#ng-premium .enquiry-aside h3{
  font-size:24px;
  font-weight:500;
  margin-bottom:14px}

#ng-premium .enquiry-aside>p{
  color:var(--dim);
  font-size:14px;
  margin-bottom:24px}

#ng-premium .info-box{
  display:flex;
  flex-direction:column;
  gap:10px;
  border:1px solid var(--edge);
  border-radius:8px;
  padding:22px;
  margin-bottom:13px;
  background:#101f30;
  overflow-wrap:anywhere}

#ng-premium .info-box strong{
  font-size:16px;
  font-weight:500}

#ng-premium .info-box>span:last-child:not(.eyebrow){
  font-size:14px;
  color:var(--dim)}

#ng-premium .enquiry-panel{
  background:#102035;
  border:1px solid #34526c;
  border-radius:12px;
  padding:30px}

#ng-premium .form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px}

#ng-premium .field.full{
  grid-column:1/-1}

#ng-premium .field{
  min-width:0}

#ng-premium .field label{
  font-size:13px;
  display:block;
  margin-bottom:8px;
  color:#e1ecf7}

#ng-premium .field label span{
  color:var(--dim)}

#ng-premium input,#ng-premium select,#ng-premium textarea{
  font:16px/1.5 system-ui,sans-serif;
  color:#eff7ff;
  background:#0a1626;
  border:1px solid #40566f;
  border-radius:5px;
  width:100%;
  padding:12px;
  min-height:48px}

#ng-premium textarea{
  resize:vertical;
  min-height:140px}

#ng-premium textarea::placeholder{
  color:#8fa7be}

#ng-premium input:focus-visible,#ng-premium select:focus-visible,#ng-premium textarea:focus-visible{
  outline:2px solid #73dacc;
  outline-offset:2px;
  border-color:#73dacc}

#ng-premium [aria-invalid=true]{
  border-color:#ff939b}

#ng-premium .field-error{
  display:block;
  color:#ffb0b5;
  font-size:12px;
  line-height:1.5;
  margin-top:5px;
  min-height:0}

#ng-premium .submit-enquiry{
  margin-top:23px;
  width:100%}

#ng-premium .submit-enquiry:disabled{
  background:#254564;
  color:#b5c4d6;
  border-color:#365670;
  cursor:not-allowed;
  transform:none}

#ng-premium .send-error{
  border:1px solid #a45566;
  background:#351e30;
  color:#ffd4dc;
  padding:15px;
  margin-top:18px;
  border-radius:6px;
  font-size:14px}

#ng-premium .send-error a{
  text-decoration:underline}

#ng-premium .success-mark{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  color:#a5f1de;
  background:#174e49;
  border:1px solid #52a58d;
  border-radius:50%;
  font-size:32px;
  margin-bottom:22px}

#ng-premium #ng-enquiry-success h3{
  font-size:27px;
  font-weight:500;
  line-height:1.3}

#ng-premium #ng-enquiry-success p{
  color:var(--dim);
  margin:18px 0 25px}

#ng-premium .sending-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:currentColor;
  animation:ng-send 1s ease-in-out infinite}

@keyframes ng-send{
  50%{
  opacity:.3}
}

@media(max-width:1000px){
  #ng-premium .industry-cards{
  grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:760px){
  #ng-premium .enquiry-layout{
  grid-template-columns:1fr;
  gap:22px}
#ng-premium .enquiry-aside{
  padding:0}
#ng-premium .enquiry-panel{
  padding:24px}
}

@media(max-width:640px){
  #ng-premium dialog[open]{
  max-height:92dvh}
#ng-premium .dialog-top{
  min-height:64px}
#ng-premium .industry-cards{
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:28px}
#ng-premium .industry-card:last-child{
  grid-column:1/-1}
#ng-premium .industry-card{
  padding:18px 15px}
#ng-premium .industry-symbol{
  margin-bottom:12px}
#ng-premium .form-grid{
  grid-template-columns:1fr}
#ng-premium .enquiry-panel{
  padding:22px 18px}
}


/* Optional media and testimonials: no effect on the unchanged default page. */
#ng-premium .portrait img{
  width:100%;
  height:100%;
  object-fit:cover}
#ng-premium .testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px}
#ng-premium .testimonial-card{
  margin:0;
  padding:26px;
  background:#101f31;
  border:1px solid var(--edge);
  border-radius:10px}
#ng-premium .testimonial-card blockquote{
  margin:12px 0 20px}
#ng-premium .testimonial-card figcaption{
  color:var(--dim)}
@media(max-width:640px){
  #ng-premium .testimonial-grid{
  grid-template-columns:1fr}
}

