/* Peces decorativos en capas independientes del parallax. */
.swimming-school{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;user-select:none}
.fish-lane{position:absolute;left:0;bottom:var(--lane-bottom);width:var(--fish-size);opacity:.52;animation:fish-swim var(--swim-duration) linear var(--swim-delay) infinite;animation-play-state:paused;will-change:transform}
.fish-lane img{display:block;width:100%;height:auto;animation:fish-bob 4.8s ease-in-out infinite;animation-play-state:paused;--facing:1}
.fish-right{animation-direction:reverse;opacity:.38}.fish-right img{--facing:-1;filter:hue-rotate(38deg)}
.fish-lane:nth-child(3){opacity:.3}.fish-in-view .fish-lane,.fish-in-view .fish-lane img{animation-play-state:running}
.marine-motion-paused .fish-lane,.marine-motion-paused .fish-lane img{animation-play-state:paused}
.hero-copy,.case-story .story-copy,.case-story .story-visual{position:relative;z-index:1}
@keyframes fish-swim{from{transform:translateX(calc(100vw + 110px))}to{transform:translateX(-110px)}}
@keyframes fish-bob{0%,100%{transform:translateY(0) rotate(-3deg) scaleX(var(--facing))}50%{transform:translateY(-8px) rotate(3deg) scaleX(var(--facing))}}
@media(max-width:700px){.fish-lane{width:calc(var(--fish-size)*.7);opacity:.35}.fish-lane:nth-child(3){display:none}}
@media(prefers-reduced-motion:reduce){.fish-lane,.fish-lane img{animation:none!important;will-change:auto}.fish-lane{left:auto;right:8%;transform:none}.fish-right{right:22%}.fish-right img{transform:scaleX(-1)}.fish-lane:nth-child(3){right:36%}}
