/* Etelligens v8.22 — additive visual refinement layer.
   Preserves the approved visual system while tightening dead space and adding
   restrained, accessible motion. No original public component is removed. */

/* --- Mega menus: eliminate large dead zones without deleting a category/link. --- */
@media (min-width:1081px){
  .header-v3 .services-grid.v822-packed-services{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:24px 34px!important;
    align-items:start!important;
  }
  .header-v3 .services-grid.v822-packed-services>.v822-mega-stack,
  .header-v3 .tech-grid.v822-packed-tech>.v822-mega-stack{
    display:grid!important;
    align-content:start!important;
    gap:24px!important;
    min-width:0!important;
  }
  .header-v3 .services-grid.v822-packed-services .mega-col,
  .header-v3 .tech-grid.v822-packed-tech .mega-col{margin:0!important;min-width:0!important}
  .header-v3 .tech-grid.v822-packed-tech{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px 28px!important;align-items:start!important
  }
  .header-v3 .mega-enterprise .mega-inner{gap:28px 48px!important;padding-top:30px!important}
  .header-v3 .mega-enterprise .mega-footer{margin-top:2px!important}

  /* Other menus keep their approved structures, just with tighter vertical rhythm. */
  .header-v3 .mega:not(.mega-enterprise) .mega-grid{row-gap:18px!important}
  .header-v3 .mega:not(.mega-enterprise) .mega-inner{padding-top:30px!important}
}

@media (prefers-reduced-motion:no-preference) and (min-width:1081px){
  .header-v3 .has-mega.open .mega-intro,
  .header-v3 .has-mega.open .mega-col,
  .header-v3 .has-mega.open .mega-story-card,
  .header-v3 .has-mega.open .mega-insight-card,
  .header-v3 .has-mega.open .company-trust-showcase{
    animation:v822-menu-in .42s cubic-bezier(.22,1,.36,1) both!important;
  }
  .header-v3 .has-mega.open .mega-col:nth-child(2),
  .header-v3 .has-mega.open .mega-story-card:nth-child(2),
  .header-v3 .has-mega.open .mega-insight-card:nth-child(2){animation-delay:.035s!important}
  .header-v3 .has-mega.open .mega-col:nth-child(3),
  .header-v3 .has-mega.open .mega-story-card:nth-child(3),
  .header-v3 .has-mega.open .mega-insight-card:nth-child(3){animation-delay:.07s!important}
  @keyframes v822-menu-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
}

/* --- Existing imagery becomes a subtle living surface. --- */
.v822-cinematic{position:relative!important;isolation:isolate!important}
.v822-cinematic::before{
  content:"";position:absolute;inset:-35%;z-index:2;pointer-events:none;
  background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.14) 49%,transparent 60%);
  transform:translateX(-55%) rotate(6deg);opacity:0;
}
.v822-cinematic::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(circle at var(--v822-x,50%) var(--v822-y,50%),rgba(24,208,208,.12),transparent 34%);
  opacity:0;transition:opacity .35s ease;
}
.v822-cinematic:hover::after{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .v822-cinematic.v822-inview::before{animation:v822-sheen 8.5s ease-in-out infinite;opacity:.65}
  @keyframes v822-sheen{0%,58%,100%{transform:translateX(-58%) rotate(6deg);opacity:0}68%{opacity:.52}82%{transform:translateX(58%) rotate(6deg);opacity:0}}
  .v822-inview.p-work-card img,
  .v822-inview .portfolio-media img,
  .v822-inview.work-card .work-image img,
  .v822-inview.p-portfolio-card img{animation:v822-object-pan 12s ease-in-out infinite alternate}
  @keyframes v822-object-pan{from{object-position:48% 48%}to{object-position:53% 52%}}
}

/* --- AI visual: retain original panel/nodes, layer a real moving system on top. --- */
.p-ai-visual{isolation:isolate!important}
.p-ai-visual::after{opacity:.22!important;z-index:1!important}
.p-ai-visual .p-ai-node{z-index:4!important}
.p-ai-visual .v822-ai-core{
  position:absolute;left:50%;top:50%;z-index:5;transform:translate(-50%,-50%);
  width:154px;height:154px;border-radius:46px;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.2);
  background:linear-gradient(145deg,rgba(24,208,208,.2),rgba(255,255,255,.035));
  box-shadow:inset 0 1px rgba(255,255,255,.25),0 28px 78px rgba(0,0,0,.34),0 0 70px rgba(24,208,208,.08);
  backdrop-filter:blur(15px);pointer-events:none
}
.p-ai-visual .v822-ai-core span{font:800 64px/1 Manrope,'DM Sans',sans-serif;letter-spacing:-.065em;color:#d8ffff;text-shadow:0 0 32px rgba(24,208,208,.38)}
.p-ai-visual .v822-ai-core small{position:absolute;bottom:23px;font:700 9px/1 'DM Sans',sans-serif;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.53)}
.p-ai-visual .v822-ai-ring{
  --v822-size:72%;position:absolute;left:50%;top:50%;z-index:2;width:var(--v822-size);aspect-ratio:1;
  border:1px solid rgba(24,208,208,.25);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none
}
.p-ai-visual .v822-ai-ring.r2{--v822-size:48%;border-color:rgba(240,123,105,.24)}
.p-ai-visual .v822-ai-ring.r3{--v822-size:87%;border-color:rgba(255,255,255,.085)}
.p-ai-visual .v822-ai-ring::before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;left:50%;top:-5px;background:#18d0d0;box-shadow:0 0 24px rgba(24,208,208,.9)}
.p-ai-visual .v822-ai-ring.r2::before{left:13%;top:14%;background:#f07b69;box-shadow:0 0 22px rgba(240,123,105,.8)}
.p-ai-visual .v822-ai-ring.r3::before{left:auto;right:8%;top:25%;width:7px;height:7px;background:#b8ff57;box-shadow:0 0 20px rgba(184,255,87,.65)}
.p-ai-visual .v822-ai-label{
  position:absolute;z-index:6;padding:8px 11px;border-radius:999px;white-space:nowrap;
  border:1px solid rgba(255,255,255,.14);background:rgba(10,25,32,.78);backdrop-filter:blur(10px);
  color:rgba(238,255,255,.82);font:700 10px/1 'DM Sans',sans-serif;letter-spacing:.05em;pointer-events:none
}
.p-ai-visual .v822-ai-label.l1{left:10%;top:23%}.p-ai-visual .v822-ai-label.l2{right:8%;top:35%}.p-ai-visual .v822-ai-label.l3{right:12%;bottom:21%}.p-ai-visual .v822-ai-label.l4{left:10%;bottom:25%}
.p-ai-visual .v822-signal-line{position:absolute;z-index:3;height:1px;left:22%;right:22%;top:50%;background:linear-gradient(90deg,transparent,rgba(24,208,208,.48),transparent);transform-origin:center;pointer-events:none}
.p-ai-visual .v822-signal-line.s2{transform:rotate(90deg)}
@media (prefers-reduced-motion:no-preference){
  .v822-inview .v822-ai-ring{animation:v822-ai-orbit 20s linear infinite}
  .v822-inview .v822-ai-ring.r2{animation-duration:13s;animation-direction:reverse}
  .v822-inview .v822-ai-ring.r3{animation-duration:27s}
  .v822-inview .v822-ai-core{animation:v822-ai-breathe 5s ease-in-out infinite}
  .v822-inview .v822-ai-label.l1,.v822-inview .v822-ai-label.l3{animation:v822-label-float 5.6s ease-in-out infinite}
  .v822-inview .v822-ai-label.l2,.v822-inview .v822-ai-label.l4{animation:v822-label-float 6.4s ease-in-out infinite reverse}
  .v822-inview .v822-signal-line{animation:v822-signal 3.6s ease-in-out infinite}
  @keyframes v822-ai-orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
  @keyframes v822-ai-breathe{0%,100%{transform:translate(-50%,-50%) scale(.96) rotate(-1deg)}50%{transform:translate(-50%,-50%) scale(1.04) rotate(1deg);box-shadow:inset 0 1px rgba(255,255,255,.28),0 32px 90px rgba(0,0,0,.38),0 0 90px rgba(24,208,208,.16)}}
  @keyframes v822-label-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
  @keyframes v822-signal{0%,100%{opacity:.18;transform:scaleX(.45)}50%{opacity:.95;transform:scaleX(1)}}
  .p-ai-visual .v822-signal-line.s2{animation-name:v822-signal-vertical}
  @keyframes v822-signal-vertical{0%,100%{opacity:.18;transform:rotate(90deg) scaleX(.45)}50%{opacity:.75;transform:rotate(90deg) scaleX(1)}}
}

/* --- Reusable visual panels: extra orbit depth, without replacing content/images. --- */
.p-global-map,.global-panel,.map-mini{isolation:isolate}
.p-global-map .v822-orbit,.global-panel .v822-orbit,.map-mini .v822-orbit{
  position:absolute;left:50%;top:50%;width:62%;aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(24,208,208,.28);transform:translate(-50%,-50%);pointer-events:none;z-index:1
}
.p-global-map .v822-orbit::before,.global-panel .v822-orbit::before,.map-mini .v822-orbit::before{
  content:"";position:absolute;width:9px;height:9px;border-radius:50%;top:-5px;left:50%;
  background:#18d0d0;box-shadow:0 0 22px rgba(24,208,208,.9)
}
.v822-orbit.v822-orbit-2{width:42%!important;border-color:rgba(240,123,105,.25)!important}
.v822-orbit.v822-orbit-2::before{background:#f07b69!important;box-shadow:0 0 20px rgba(240,123,105,.8)!important;left:15%!important;top:14%!important}
@media (prefers-reduced-motion:no-preference){
  .v822-inview .v822-orbit{animation:v822-orbit 18s linear infinite}
  .v822-inview .v822-orbit-2{animation-duration:13s;animation-direction:reverse}
  @keyframes v822-orbit{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
}

/* --- Hero system: moving signal specks augment the existing orbit animation. --- */
.p-system .v822-hero-signal{position:absolute;z-index:1;width:6px;height:6px;border-radius:50%;background:#18d0d0;box-shadow:0 0 20px rgba(24,208,208,.75);pointer-events:none}
.p-system .v822-hero-signal.h1{left:17%;top:33%}.p-system .v822-hero-signal.h2{right:14%;top:61%;background:#f07b69}.p-system .v822-hero-signal.h3{left:31%;bottom:12%;background:#b8ff57}
@media (prefers-reduced-motion:no-preference){
  .p-system .v822-hero-signal.h1{animation:v822-hero-drift 7s ease-in-out infinite}
  .p-system .v822-hero-signal.h2{animation:v822-hero-drift 8.5s ease-in-out infinite reverse}
  .p-system .v822-hero-signal.h3{animation:v822-hero-drift 6.4s ease-in-out infinite -2s}
  @keyframes v822-hero-drift{0%,100%{transform:translate(0,0) scale(.75);opacity:.45}50%{transform:translate(32px,-24px) scale(1.35);opacity:1}}
}

/* --- Product/device surfaces, cards, headings. --- */
.v822-product-motion .p-product-frame{position:relative;isolation:isolate}
.v822-product-motion .p-product-frame::before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(24,208,208,.22),transparent 68%);left:50%;top:50%;transform:translate(-50%,-50%);filter:blur(4px);pointer-events:none}
@media (prefers-reduced-motion:no-preference){.v822-product-motion.v822-inview .p-product-frame::before{animation:v822-product-glow 5.5s ease-in-out infinite alternate}@keyframes v822-product-glow{from{transform:translate(-56%,-48%) scale(.82);opacity:.55}to{transform:translate(-44%,-52%) scale(1.18);opacity:.95}}}

.feature-card,.index-card,.industry-card,.principle,.p-industry-card,.p-insight-card,.p-cap-card,.related-card{position:relative;overflow:hidden}
.feature-card::after,.index-card::after,.industry-card::after,.principle::after,.p-industry-card::after,.p-insight-card::after,.p-cap-card::after,.related-card::after{content:"";position:absolute;inset:auto -22% -55% 38%;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(24,208,208,.13),transparent 68%);opacity:0;transform:translateY(18px);transition:opacity .28s ease,transform .42s cubic-bezier(.22,1,.36,1);pointer-events:none}
.feature-card:hover::after,.index-card:hover::after,.industry-card:hover::after,.principle:hover::after,.p-industry-card:hover::after,.p-insight-card:hover::after,.p-cap-card:hover::after,.related-card:hover::after{opacity:1;transform:none}

.p-section-head,.section-head{position:relative}
.p-section-head::after,.section-head::after{content:"";position:absolute;left:0;bottom:-18px;width:72px;height:2px;background:linear-gradient(90deg,#18d0d0,#f07b69);transform-origin:left;transform:scaleX(0);opacity:.9}
.v822-inview.p-section-head::after,.v822-inview.section-head::after{transform:scaleX(1);transition:transform .8s cubic-bezier(.22,1,.36,1) .12s}

.v822-orbit,.v822-cinematic::before,.v822-cinematic::after,.v822-ai-ring,.v822-ai-core,.v822-ai-label,.v822-signal-line,.v822-hero-signal{user-select:none!important;pointer-events:none!important}

@media(max-width:1080px){
  .header-v3 .services-grid.v822-packed-services,.header-v3 .tech-grid.v822-packed-tech{display:grid!important;grid-template-columns:1fr 1fr!important}
  .header-v3 .services-grid.v822-packed-services>.v822-mega-stack,.header-v3 .tech-grid.v822-packed-tech>.v822-mega-stack{display:contents!important}
  .p-section-head::after,.section-head::after{bottom:-12px}
}
@media(max-width:820px){
  .p-ai-visual .v822-ai-label{font-size:9px;padding:7px 9px}
  .p-ai-visual .v822-ai-core{width:132px;height:132px;border-radius:38px}
  .p-ai-visual .v822-ai-core span{font-size:54px}
}
@media(max-width:620px){
  .header-v3 .services-grid.v822-packed-services,.header-v3 .tech-grid.v822-packed-tech{grid-template-columns:1fr!important}
  .v822-cinematic::before,.v822-cinematic::after{display:none}
  .p-global-map .v822-orbit,.global-panel .v822-orbit,.map-mini .v822-orbit{opacity:.45}
  .p-ai-visual .v822-ai-label{display:none}
  .p-ai-visual .v822-ai-ring.r3{display:none}
}
@media(prefers-reduced-motion:reduce){
  .v822-cinematic::before,.v822-orbit,.v822-ai-ring,.v822-ai-core,.v822-ai-label,.v822-signal-line,.v822-hero-signal{animation:none!important}
  .p-section-head::after,.section-head::after{transform:scaleX(1)!important;transition:none!important}
}
