/* Final user-QA polish. Loaded after all reference styles. */
html{scroll-behavior:smooth!important}

/* The individual scene crops already contain the round arrow from the locked comp.
   Never draw a second live arrow on top of them. */
.company-arrow{display:none!important}

/* Smoke/fog layer from the approved reference: soft silver-violet atmosphere behind
   the lower WHAT WE DO area without reducing text contrast. */
.lux-about{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    linear-gradient(90deg,#0a090d 0%,#0b090e 58%,#110b16 100%)!important;
}
.lux-about::before,
.lux-about::after{
  content:""!important;
  position:absolute!important;
  pointer-events:none!important;
  z-index:0!important;
  filter:blur(18px)!important;
  transform:translate3d(0,0,0)!important;
}
.lux-about::before{
  inset:-48% -12% -32% -12%!important;
  opacity:.52!important;
  background:
    radial-gradient(ellipse at 8% 62%,rgba(224,218,232,.22) 0 7%,rgba(174,160,184,.10) 18%,transparent 38%),
    radial-gradient(ellipse at 30% 76%,rgba(209,202,218,.15) 0 8%,rgba(148,130,163,.08) 20%,transparent 40%),
    radial-gradient(ellipse at 52% 57%,rgba(232,224,237,.13) 0 7%,rgba(148,129,162,.07) 19%,transparent 39%),
    radial-gradient(ellipse at 74% 77%,rgba(186,159,200,.12) 0 9%,transparent 38%),
    radial-gradient(ellipse at 93% 60%,rgba(219,205,226,.12) 0 7%,transparent 34%)!important;
}
.lux-about::after{
  inset:-36% -20% -46% -16%!important;
  opacity:.34!important;
  background:
    radial-gradient(ellipse at 18% 50%,rgba(146,82,176,.20) 0 7%,transparent 31%),
    radial-gradient(ellipse at 48% 72%,rgba(180,147,194,.18) 0 8%,transparent 34%),
    radial-gradient(ellipse at 82% 47%,rgba(105,67,130,.20) 0 8%,transparent 34%)!important;
}
.lux-about>*,.about-head,.about-body,.vision-card{position:relative!important;z-index:2!important}

@keyframes ngenFogDrift{
  0%,100%{transform:translate3d(-1.5%,1%,0) scale(1.03)}
  50%{transform:translate3d(2.5%,-1.5%,0) scale(1.08)}
}
@media(prefers-reduced-motion:no-preference){
  .lux-about::before{animation:ngenFogDrift 17s ease-in-out infinite!important}
  .lux-about::after{animation:ngenFogDrift 23s ease-in-out infinite reverse!important}
}

/* Replace the tiny 40x40 raster capability crops with crisp inline vector symbols. */
.capability-icon-svg{
  display:block!important;
  overflow:visible!important;
  color:#d7cadf!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.55!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  filter:drop-shadow(0 0 6px rgba(188,104,231,.12))!important;
  background:radial-gradient(circle,rgba(109,76,126,.20),rgba(30,23,35,.05) 68%,transparent 70%)!important;
  border-radius:50%!important;
}
.capability-row>div{
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
}
.capability-row strong{
  text-align:center!important;
  color:#d0c6d4!important;
}
#government{scroll-margin-top:96px!important}
#about,#companies,#solutions,#top{scroll-margin-top:82px!important}

/* The approved desktop composition already fits inside one viewport, so an anchor click
   cannot always physically scroll. Give in-page navigation an unmistakable visual response. */
@keyframes ngenTargetPulse{
  0%{filter:drop-shadow(0 0 0 rgba(190,92,255,0))}
  45%{filter:drop-shadow(0 0 13px rgba(190,92,255,.70))}
  100%{filter:drop-shadow(0 0 0 rgba(190,92,255,0))}
}
@keyframes ngenSectionFlash{
  0%{box-shadow:inset 0 0 0 rgba(190,92,255,0)}
  40%{box-shadow:inset 0 0 34px rgba(190,92,255,.12)}
  100%{box-shadow:inset 0 0 0 rgba(190,92,255,0)}
}
#companies:target,#about:target{animation:ngenSectionFlash 1.15s ease-out 1!important}
#solutions:target .capability-icon-svg,#government:target .capability-icon-svg{animation:ngenTargetPulse 1.15s ease-out 1!important}

@media(min-width:981px){
  .capability-icon-svg{width:2.72vw!important;height:2.72vw!important;min-width:38px!important;min-height:38px!important;max-width:44px!important;max-height:44px!important}
  .capability-row{align-items:start!important}
  .capability-row>div{min-height:64px!important}
  .capability-row strong{max-width:7.2vw!important;font-size:clamp(8px,.56vw,9px)!important;line-height:1.24!important}
}

@media(max-width:980px){
  .lux-about::before{opacity:.40!important}
  .lux-about::after{opacity:.25!important}
  .capability-icon-svg{width:48px!important;height:48px!important;flex:0 0 48px!important}
  .capability-row{align-items:start!important}
}

@media(max-width:620px){
  .capability-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:34px!important;
    row-gap:30px!important;
    margin-top:32px!important;
  }
  .capability-row>div{
    width:100%!important;
    min-height:136px!important;
    gap:12px!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
  .capability-row>div:last-child{
    grid-column:1/-1!important;
    justify-self:center!important;
    width:50%!important;
  }
  .capability-icon-svg{width:58px!important;height:58px!important;flex:0 0 58px!important}
  .capability-row strong{
    max-width:132px!important;
    font-size:10px!important;
    line-height:1.3!important;
    letter-spacing:.10em!important;
  }
  .lux-about::before{filter:blur(24px)!important;opacity:.30!important}
  .lux-about::after{filter:blur(24px)!important;opacity:.18!important}
}

@media(prefers-reduced-motion:reduce){
  .lux-about::before,.lux-about::after,#companies:target,#about:target,#solutions:target .capability-icon-svg,#government:target .capability-icon-svg{animation:none!important}
}
