/* Hero bounds remain fixed throughout every animation cycle. */
.hero-stage{position:absolute;inset:0 0 44px;overflow:clip;contain:paint;border-radius:inherit}.hero-stage .wave-art{width:100%;height:100%}.hero-visual{overflow:clip}.landing-grid>.hero-visual{overflow:clip;box-sizing:border-box;border-radius:30px;border:1px solid #7ccddd29;background:radial-gradient(ellipse at 55% 40%,#6543ab20,transparent 70%),linear-gradient(135deg,#193d4826,#17243926);box-shadow:inset 0 1px 0 #c5ffff12,inset 0 -1px 0 #ad91f912;transition:box-shadow .4s,border-color .4s}.landing-grid>.hero-visual:before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#71efec40,transparent 45%,#ac8aef35);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}.landing-grid>.hero-visual:hover{border-color:#86dfe43d;box-shadow:inset 0 1px 0 #c5ffff1c,0 0 25px #7974dc0b}.landing-grid .hero-stage{inset:12px 12px 50px;border-radius:22px}.landing-grid .hero-stage .wave-art{width:100%;height:100%;left:0;top:0}.landing-grid .hero-caption{bottom:21px;padding:0 15px;line-height:1.5;text-align:center}.wave-lines{animation:waveLight 9s ease-in-out infinite}@keyframes waveLight{0%,100%{opacity:.72;filter:drop-shadow(0 0 1px #8eefff22)}50%{opacity:1;filter:drop-shadow(0 0 3px #8eefff88)}}.hero-stage .custom-hero{width:100%;height:100%;object-fit:contain}.no-motion .wave-lines{animation:none}@media(prefers-reduced-motion:reduce){.wave-lines{animation:none}}@media(max-width:520px){.landing-grid>.hero-visual{height:285px}.landing-grid .hero-caption{font-size:10px;bottom:18px}}
