/* NAVOA orb — smooth ice-blue material inspired by the motion language of Tempus.
   Shared by Home, Clínicas y Hospitales, and Laboratorios. */
.hero-orb{
  --orb-ice-0:#f7faff;
  --orb-ice-1:#e2eaf9;
  --orb-ice-2:#c8d5ef;
  --orb-ice-3:#aebfdf;
  --orb-ice-4:#879dc5;
  --orb-ice-5:#536d9c;
  isolation:isolate;
}

.hero-orb__sphere,
.clinic-hero .hero-orb__sphere{
  contain:paint;
  overflow:hidden;
  border:0;
  outline:0;
  background:
    radial-gradient(ellipse at 24% 18%,rgba(255,255,255,.96) 0%,rgba(255,255,255,.58) 8%,rgba(255,255,255,.12) 23%,transparent 38%),
    radial-gradient(ellipse at 78% 82%,rgba(42,65,108,.7) 0%,rgba(77,101,149,.36) 29%,transparent 58%),
    radial-gradient(circle at 43% 38%,var(--orb-ice-0) 0%,var(--orb-ice-1) 18%,var(--orb-ice-2) 37%,var(--orb-ice-3) 55%,var(--orb-ice-4) 73%,var(--orb-ice-5) 100%);
  box-shadow:
    inset 38px 32px 86px rgba(255,255,255,.34),
    inset -62px -72px 118px rgba(26,42,75,.66),
    inset 0 0 58px rgba(246,250,255,.14),
    0 0 42px rgba(177,202,245,.2),
    0 34px 86px rgba(20,38,73,.34);
  animation:tempus-orb-drift 20s cubic-bezier(.45,0,.55,1) infinite alternate!important;
  will-change:transform;
}

.hero-orb__sphere::before,
.clinic-hero .hero-orb__sphere::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:-28%;
  border-radius:50%;
  opacity:.82;
  background:
    radial-gradient(ellipse at 26% 22%,rgba(255,255,255,.88) 0 8%,rgba(226,237,255,.34) 17%,transparent 31%),
    radial-gradient(ellipse at 73% 28%,rgba(204,219,247,.4) 0 10%,transparent 29%),
    radial-gradient(ellipse at 30% 76%,rgba(250,252,255,.7) 0 8%,rgba(180,201,238,.25) 18%,transparent 34%),
    radial-gradient(ellipse at 77% 80%,rgba(37,61,106,.72) 0 11%,rgba(75,103,155,.28) 23%,transparent 39%),
    conic-gradient(from 12deg,rgba(236,244,255,.18),transparent 17% 34%,rgba(93,123,180,.22) 48%,transparent 61% 78%,rgba(255,255,255,.24) 91%,rgba(236,244,255,.18));
  filter:blur(7px);
  transform-origin:50% 50%;
  animation:tempus-orb-rotation 44s linear infinite!important;
  will-change:transform;
}

.hero-orb__sphere::after,
.clinic-hero .hero-orb__sphere::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 20% 15%,rgba(255,255,255,.82) 0%,rgba(255,255,255,.26) 12%,transparent 30%),
    radial-gradient(ellipse at 76% 86%,rgba(51,73,116,.3),transparent 43%),
    linear-gradient(136deg,rgba(255,255,255,.2),transparent 30% 68%,rgba(141,169,218,.16));
  box-shadow:none;
  transform-origin:50% 50%;
  animation:tempus-orb-specular 44s linear infinite!important;
  will-change:transform,opacity;
}

.hero-orb__atmosphere,
.clinic-hero .hero-orb__atmosphere{
  position:absolute;
  z-index:1;
  inset:-4.5%;
  border-radius:50%;
  opacity:.58;
  pointer-events:none;
  background:conic-gradient(from 0deg,transparent 0 7%,rgba(230,240,255,.58) 13%,rgba(190,213,250,.3) 20%,transparent 31% 61%,rgba(106,143,207,.2) 70%,transparent 82% 100%);
  -webkit-mask:radial-gradient(circle,transparent 0 82%,rgba(0,0,0,.18) 87%,#000 93%,rgba(0,0,0,.08) 98%,transparent 100%);
  mask:radial-gradient(circle,transparent 0 82%,rgba(0,0,0,.18) 87%,#000 93%,rgba(0,0,0,.08) 98%,transparent 100%);
  filter:blur(9px) drop-shadow(0 12px 20px rgba(39,65,110,.22));
  transform-origin:50% 50%;
  animation:tempus-orb-rim 44s linear infinite!important;
  will-change:transform;
}

.hero-orb__dna,
.clinic-hero .hero-orb__dna{
  z-index:2;
}

@keyframes tempus-orb-drift{
  from{transform:translate3d(-.28%,-.34%,0) scale(1)}
  to{transform:translate3d(.34%,.38%,0) scale(1.012)}
}
@keyframes tempus-orb-rotation{
  to{transform:rotate(-360deg)}
}
@keyframes tempus-orb-specular{
  from{transform:rotate(0deg) scale(1.025);opacity:.82}
  50%{opacity:1}
  to{transform:rotate(-360deg) scale(1.025);opacity:.82}
}
@keyframes tempus-orb-rim{
  to{transform:rotate(-360deg)}
}

@media(max-width:767px){
  .hero-orb__sphere,
  .clinic-hero .hero-orb__sphere{
    box-shadow:
      inset 24px 20px 58px rgba(255,255,255,.3),
      inset -38px -46px 78px rgba(26,42,75,.58),
      0 0 28px rgba(177,202,245,.16),
      0 20px 50px rgba(20,38,73,.28);
  }
  .hero-orb__atmosphere,
  .clinic-hero .hero-orb__atmosphere{
    filter:blur(7px) drop-shadow(0 9px 15px rgba(39,65,110,.18));
    animation-duration:44s!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .hero-orb__sphere,
  .hero-orb__sphere::before,
  .hero-orb__sphere::after,
  .hero-orb__atmosphere,
  .clinic-hero .hero-orb__sphere,
  .clinic-hero .hero-orb__sphere::before,
  .clinic-hero .hero-orb__sphere::after,
  .clinic-hero .hero-orb__atmosphere{
    animation:none!important;
  }
}

/* Solo Home (.hero-orb--home): esfera apenas más oscura y reflejos superiores algo atenuados para que el triángulo
   IA / Datos / Impacto se lea mejor (sobre todo "IA" arriba), sin perder el material original. Clínicas y Laboratorios no cambian. */
.hero-orb--home .hero-orb__sphere{
  background:
    radial-gradient(ellipse at 24% 18%,rgba(255,255,255,.87) 0%,rgba(255,255,255,.5) 8%,rgba(255,255,255,.1) 23%,transparent 38%),
    radial-gradient(ellipse at 78% 82%,rgba(40,62,105,.71) 0%,rgba(74,98,146,.37) 29%,transparent 58%),
    radial-gradient(circle at 43% 38%,#f1f5fd 0%,#dbe5f6 18%,#c2d0ec 37%,#a8badc 55%,#8299c2 73%,#506a99 100%);
}
.hero-orb--home .hero-orb__sphere::before{opacity:.75}
.hero-orb--home .hero-orb__sphere::after{
  background:
    radial-gradient(ellipse at 20% 15%,rgba(255,255,255,.72) 0%,rgba(255,255,255,.23) 12%,transparent 30%),
    radial-gradient(ellipse at 76% 86%,rgba(51,73,116,.3),transparent 43%),
    linear-gradient(136deg,rgba(255,255,255,.18),transparent 30% 68%,rgba(141,169,218,.16));
}
.hero-orb--home .hero-orb__dna{opacity:.9;filter:drop-shadow(0 0 3px rgba(12,26,54,.15))}
.hero-orb--home .hero-orb__pulse{filter:drop-shadow(0 0 2px rgba(255,255,255,.5))}
