@keyframes waveDriftLeft{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes waveDriftRight{0%{transform:translateX(-50%)}to{transform:translateX(0)}}@keyframes waveBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.wave-layer{position:absolute;bottom:0;left:0;width:200%;will-change:transform}.wave-deep{height:180px;opacity:.5;animation:waveDriftLeft 18s linear infinite}.wave-mid{height:140px;opacity:.55;animation:waveDriftRight 13s linear infinite}.wave-surface{height:100px;opacity:.55;animation:waveDriftLeft 9s linear infinite}.wave-foam{height:70px;opacity:.6;animation:waveDriftRight 7s linear infinite}.wave-bob{position:absolute;inset:0;animation:waveBob 4s ease-in-out infinite}.wave-bob:first-child{animation-duration:5s}.wave-bob:nth-child(2){animation-duration:4s;animation-delay:-1s}.wave-bob:nth-child(3){animation-duration:3.5s;animation-delay:-.5s}.wave-bob:nth-child(4){animation-duration:3s;animation-delay:-1.5s}@keyframes mascotFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.mascot-float{animation:mascotFloat 4s ease-in-out infinite}@keyframes textWaterFlow{0%{background-position:200% 50%}to{background-position:0 50%}}.hero-title-gradient{background:linear-gradient(90deg,var(--color-primary) 0,#5ec4d4 25%,var(--color-accent-foreground) 50%,#5ec4d4 75%,var(--color-primary) 100%);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text;animation:textWaterFlow 10s linear infinite}@media(prefers-reduced-motion:reduce){.hero-title-gradient,.mascot-float,.wave-bob,.wave-layer{animation:none!important}}