/* iOS/mobile repaint stability + modern icon system */
.aix-icon{width:1em;height:1em;display:inline-block;vertical-align:-.12em;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.cart .aix-icon{width:20px;height:20px;vertical-align:middle}
.download-icon .aix-icon{width:23px;height:23px;vertical-align:middle}
.aix-video-play .aix-icon,.play-btn .aix-icon,.video-play .aix-icon,.demo .play .aix-icon{width:22px;height:22px;vertical-align:middle}
.demo .play{display:grid!important;place-items:center!important}
.demo .play .aix-icon{width:18px;height:18px}
.aix-video-play,.play-btn{font-size:0}

/* More current, clean icon/button treatment */
.demo{gap:14px!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.demo .play{background:rgba(255,255,255,.96)!important;color:#111827!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 8px 24px rgba(0,0,0,.24),inset 0 0 0 1px rgba(0,0,0,.03)}
.download-icon{border:1px solid #ffd6d9;box-shadow:0 10px 25px rgba(243,38,49,.10)}
.cart{display:grid!important;place-items:center!important}

@media(max-width:820px){
  /* Safari/iPhone: never animate whole large sections with opacity/filter.
     This prevents black/blank repaint frames when reversing scroll direction. */
  .aix-motion-section,.aix-reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;will-change:auto!important}
  .about-section,.plugins-section,.reviews-section,.video-section,.info-section,.section,.cta-section,.aix-final-cta,.site-footer{opacity:1!important;filter:none!important;will-change:auto!important}
  .about-section{position:relative!important;background:#05090d!important;isolation:isolate}
  .about-bg{display:block!important;position:absolute!important;inset:0!important;z-index:0!important;background:url('about-bg.webp') 37% center/cover no-repeat!important;transform:none!important;filter:none!important;opacity:1!important;will-change:auto!important;backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important}
  .about-overlay{z-index:1!important;transform:none!important;filter:none!important}
  .about-inner{z-index:2!important}
  img,.hero-bg,.product-hero{backface-visibility:hidden;-webkit-backface-visibility:hidden}
  .demo{min-height:54px!important;border-color:rgba(255,255,255,.44)!important;background:rgba(10,15,22,.40)!important;box-shadow:0 14px 35px rgba(0,0,0,.18)!important}
  .demo .play{width:42px!important;height:42px!important;flex:0 0 42px!important}
}

/* Red demo control + subtle sonar/wave animation */
.demo .play{position:relative!important;background:#f32631!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 9px 24px rgba(243,38,49,.28)!important;overflow:visible!important;isolation:isolate}
.demo .play .aix-icon{position:relative;z-index:3}
.demo .play:before,.demo .play:after{content:"";position:absolute;inset:-1px;border:1.5px solid rgba(243,38,49,.58);border-radius:50%;z-index:1;pointer-events:none;animation:aixDemoWave 2.1s ease-out infinite}
.demo .play:after{animation-delay:1.05s}
@keyframes aixDemoWave{0%{transform:scale(1);opacity:.7}70%,100%{transform:scale(1.62);opacity:0}}
@media(prefers-reduced-motion:reduce){.demo .play:before,.demo .play:after{animation:none!important;opacity:0!important}}

/* reviewer photographs */
.review-person .avatar{overflow:hidden!important;background:#111821!important}
.review-person .avatar img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center!important;border-radius:50%!important}

/* iPhone-safe About image: actual image layer, never a composited CSS background */
.about-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block;z-index:0;transform:none!important;filter:none!important;opacity:1!important;backface-visibility:hidden;-webkit-backface-visibility:hidden}
@media(max-width:820px){
  .about-bg{display:none!important}
  .about-bg-img{display:block!important;object-position:31% center!important}
  .about-overlay{background:linear-gradient(90deg,rgba(3,7,11,.22),rgba(3,7,11,.58) 58%,rgba(3,7,11,.76))!important}
}

/* 2026-09 reviewer avatar crop fix - desktop + mobile */
.review-person .avatar{
  padding:0!important;
  overflow:hidden!important;
  border-radius:50%!important;
  background:transparent!important;
  line-height:0!important;
}
.review-person .avatar img,
.review-person .avatar img.trey-photo{
  width:calc(100% + 4px)!important;
  height:calc(100% + 4px)!important;
  max-width:none!important;
  margin:-2px!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
  transform:none!important;
}
