/* Movement remains decorative: content is visible even if scripts do not run. */
.hero-particles{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.hero-particles i{position:absolute;width:5px;height:5px;border-radius:50%;background:#b6efff;box-shadow:0 0 12px #6ad9ff;opacity:.35}
.hero-particles i:nth-child(1){left:12%;top:56%}.hero-particles i:nth-child(2){left:26%;top:74%;width:3px;height:3px}.hero-particles i:nth-child(3){left:42%;top:59%;width:3px;height:3px}.hero-particles i:nth-child(4){left:64%;top:70%}.hero-particles i:nth-child(5){left:78%;top:52%;width:3px;height:3px}.hero-particles i:nth-child(6){left:90%;top:76%;width:4px;height:4px}
.living-image{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:-1}
.chat-avatar{display:block;overflow:hidden;flex:none}
.chat-avatar img{display:block;width:100%;height:100%;object-fit:cover}

@media (prefers-reduced-motion:no-preference){
  .hero.wrap{isolation:isolate;background-image:none}
  .hero.wrap::before{content:'';position:absolute;inset:-3%;z-index:-1;background:linear-gradient(180deg,rgba(2,8,14,.72) 0%,rgba(2,8,14,.72) 37%,rgba(2,8,14,.25) 64%,rgba(2,8,14,.04) 100%),url('/avenvo-voice-hero.png') center bottom/cover no-repeat;animation:hero-drift 16s ease-in-out infinite alternate}
  .has-living-image .living-image{display:block}
  .hero.has-living-image::before{z-index:0;inset:0;background:linear-gradient(180deg,rgba(2,8,14,.72) 0%,rgba(2,8,14,.72) 37%,rgba(2,8,14,.25) 64%,rgba(2,8,14,.04) 100%);animation:none;pointer-events:none}
  .feature-main.has-living-image::before{z-index:0;background:linear-gradient(180deg,rgba(3,10,18,.15),rgba(4,11,19,0) 42%,rgba(3,9,16,.91));animation:none;pointer-events:none}
  .feature-main.has-living-image > :not(.living-image){position:relative;z-index:1}
  .feature-soft.has-living-image::before,.feature-light.has-living-image::before{z-index:0;background:linear-gradient(180deg,rgba(3,10,18,.16),rgba(4,11,19,.08) 42%,rgba(3,9,16,.94));animation:none;pointer-events:none}
  .feature-soft.has-living-image > :not(.living-image),.feature-light.has-living-image > :not(.living-image){position:relative;z-index:1}
  .diff-right{isolation:isolate}
  .diff-right.has-living-image::after{display:block;content:'';position:absolute;inset:0;border:0;border-radius:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,10,18,.38),rgba(3,10,18,.08) 55%,rgba(3,10,18,.45))}
  .connection-story.has-living-image::after{display:none}
  .connection-story .living-image{z-index:-2}
  .diagnosis-orb,.chat-mark,.chat-avatar,.thinking-halo{position:relative}
  .chat-avatar{display:block;overflow:hidden;flex:none}
  .chat-avatar img{display:block;width:100%;height:100%;object-fit:cover}
  .avatar-motion{z-index:1;border-radius:50%}
  .thinking-halo img{animation-duration:18s}
  .thinking-halo{animation-duration:3.2s}
  .hero-particles i{animation:particle-float 10s ease-in-out infinite alternate}
  .hero-particles i:nth-child(2n){animation-duration:7s;animation-delay:-3s}.hero-particles i:nth-child(3n){animation-duration:8s;animation-delay:-5s}
  .feature-main::before,.feature-soft::before,.feature-light::before{animation:image-drift 24s ease-in-out infinite alternate;transform-origin:50% 45%}
  .feature-soft::before{animation-duration:30s;animation-delay:-7s}.feature-light::before{animation-duration:36s;animation-delay:-12s}
  .feature-icon{display:inline-block;animation:arrow-float 6s ease-in-out infinite}
  .diagnosis-orb{overflow:visible;animation:orb-hover 10s ease-in-out infinite;position:relative}
  .diagnosis-orb img{border-radius:50%;animation:orb-breathe 14s ease-in-out infinite}
  .diagnosis-orb::before{content:'';position:absolute;inset:-12px;border:1px solid #8ccbad;border-radius:50%;opacity:.45;animation:orbit-ring 8s ease-in-out infinite}
  .connection-story{background-image:none}
  .connection-story::after{content:'';position:absolute;inset:-3%;z-index:-2;background:url('/avenvo-human-connection.png') center/cover no-repeat;animation:image-drift 25s ease-in-out infinite alternate}
  .contact-star{animation:star-hover 7s ease-in-out infinite}
  .motion-enter{animation:reveal-up .8s cubic-bezier(.2,.7,.2,1) backwards}
  .motion-delay-1{animation-delay:.08s}.motion-delay-2{animation-delay:.16s}
  @keyframes hero-drift{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.07) translate3d(-.7%,-.5%,0)}}
  @keyframes particle-float{from{transform:translate3d(0,8px,0);opacity:.18}to{transform:translate3d(9px,-20px,0);opacity:.7}}
  @keyframes image-drift{from{transform:scale(1.01) translate3d(0,0,0)}to{transform:scale(1.09) translate3d(-.7%,-.5%,0)}}
  @keyframes arrow-float{0%,100%{transform:translate(0,0)}50%{transform:translate(3px,-3px)}}
  @keyframes orb-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
  @keyframes orb-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
  @keyframes orbit-ring{0%,100%{transform:scale(.98);opacity:.35}50%{transform:scale(1.05);opacity:.7}}
  @keyframes star-hover{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(18deg)}}
  @keyframes reveal-up{from{opacity:.35;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
  @media(max-width:680px){.hero.wrap::before{background-size:auto 106%;background-position:center bottom}.connection-story::after{background-size:auto 106%;background-position:center}}
}
