.video-wave-divider {
    position: relative;
    z-index: 2;
    height: 88px;
    margin-top: -88px;
    pointer-events: none;
    overflow: hidden;
}

.video-wave-divider svg {
    display: block;
    width: 100%;
    height: 100%;
}

.video-wave-divider .wave-fade {
    fill: url(#waveEdgeFade);
}

.video-wave-divider .wave-fill {
    fill: #f5f5f7;
}

.column-scene::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: 0.13;
    background-repeat: no-repeat;
    background-position: left bottom, center bottom, right 6% bottom 12%, right 20% top 18%;
    background-size: 42% 44%, 62% 36%, 26% 34%, 220px 160px;
    background-image:
        url("data:image/svg+xml,%3Csvg width='620' height='330' viewBox='0 0 620 330' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 214c72-60 143-83 214-69s117 65 196 47 123-78 210-57v195H0z' fill='%238fb7d8'/%3E%3Cpath d='M0 260c92-43 182-46 269-10s172 28 251-22 116-54 100 102H0z' fill='%239ad8c1'/%3E%3C/svg%3E"),
        url("data:image/svg+xml,%3Csvg width='760' height='260' viewBox='0 0 760 260' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 164c86-42 158-43 216-3s122 41 191 0 140-52 214-13 126 45 139 34v78H0z' fill='%23a9d6ef'/%3E%3C/svg%3E"),
        url("data:image/svg+xml,%3Csvg width='280' height='260' viewBox='0 0 280 260' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 218L144 30l104 188z' fill='%23ffe7a6'/%3E%3Ccircle cx='88' cy='88' r='42' fill='none' stroke='%23bba7ff' stroke-width='14'/%3E%3C/svg%3E"),
        url("data:image/svg+xml,%3Csvg width='220' height='160' viewBox='0 0 220 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff'%3E%3Cellipse cx='62' cy='98' rx='58' ry='28'/%3E%3Cellipse cx='112' cy='86' rx='48' ry='34'/%3E%3Cellipse cx='158' cy='102' rx='48' ry='25'/%3E%3C/g%3E%3C/svg%3E");
}

.content-grid::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        radial-gradient(circle at 8% 36%, rgba(255,255,255,0.52) 0 4px, transparent 5px),
        radial-gradient(circle at 18% 70%, rgba(183,223,255,0.16) 0 14px, transparent 16px),
        radial-gradient(circle at 56% 22%, rgba(255,255,255,0.42) 0 5px, transparent 6px),
        radial-gradient(circle at 78% 58%, rgba(205,197,255,0.16) 0 18px, transparent 20px);
}

.right-placeholder::before {
    content: "";
    position: absolute;
    inset: 20px 0 auto auto;
    width: 190px;
    height: 250px;
    opacity: 0.12;
    background: url("data:image/svg+xml,%3Csvg width='190' height='250' viewBox='0 0 190 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M118 25a44 44 0 1 0 0 88a34 34 0 1 1 0-88z' fill='none' stroke='%23667eea' stroke-width='7'/%3E%3Cpath d='M36 176c32-18 64-18 96 0s32 18 64 0' fill='none' stroke='%2396cfdc' stroke-width='6' stroke-linecap='round'/%3E%3Ccircle cx='42' cy='58' r='5' fill='%23667eea'/%3E%3Ccircle cx='156' cy='132' r='4' fill='%2396cfdc'/%3E%3C/svg%3E") center / contain no-repeat;
}

.corner-bubbles {
    position: fixed;
    bottom: 0;
    width: min(260px, 26vw);
    height: min(360px, 42vh);
    pointer-events: none;
    overflow: hidden;
    z-index: 2;
}

.corner-bubbles--left {
    left: 0;
}

.corner-bubbles--right {
    right: 0;
}

.corner-bubbles span {
    position: absolute;
    left: var(--x);
    bottom: -52px;
    width: var(--s);
    height: var(--s);
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    background:
        radial-gradient(circle at 30% 24%, rgba(255, 255, 255, 0.98) 0 8%, rgba(220, 248, 255, 0.82) 9% 18%, transparent 22%),
        radial-gradient(circle at 68% 72%, rgba(58, 182, 255, 0.34) 0 16%, transparent 42%),
        radial-gradient(circle at 50% 50%, rgba(166, 229, 255, 0.42) 0 50%, rgba(105, 205, 255, 0.68) 56% 66%, rgba(244, 253, 255, 0.82) 68% 72%, transparent 76%);
    border: 1.4px solid rgba(166, 232, 255, 0.88);
    box-shadow: inset 0 0 8px rgba(255, 255, 255, 0.88), inset -5px -8px 14px rgba(51, 176, 255, 0.26), 0 0 14px rgba(106, 210, 255, 0.38);
    animation: cornerBubbleRise var(--d) ease-in infinite;
    animation-delay: var(--delay);
}

.corner-bubbles span::before {
    content: "";
    position: absolute;
    left: 22%;
    top: 18%;
    width: 34%;
    height: 24%;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    filter: blur(1px);
    transform: rotate(-18deg);
}

.corner-bubbles span::after {
    content: "";
    position: absolute;
    inset: 12%;
    border-radius: 50%;
    border: 1px solid rgba(220, 248, 255, 0.62);
}

.corner-goldfish {
    position: fixed;
    left: 24px;
    bottom: 34px;
    width: 164px;
    height: 116px;
    z-index: 2;
    pointer-events: none;
    opacity: 0.88;
    filter: drop-shadow(0 10px 18px rgba(255, 155, 55, 0.18));
    animation: goldfishSwim 9s ease-in-out infinite;
}

.corner-goldfish svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
}

.goldfish-tail {
    transform-box: fill-box;
    transform-origin: 88% 50%;
    animation: goldfishTailWag 1.8s ease-in-out infinite;
}

.goldfish-fin {
    transform-box: fill-box;
    transform-origin: 38% 24%;
    animation: goldfishFinWave 2.4s ease-in-out infinite;
}

@keyframes cornerBubbleRise {
    0% { transform: translate3d(0, 0, 0) scale(0.58); opacity: 0; }
    10% { opacity: 0.68; }
    52% { transform: translate3d(var(--drift), -170px, 0) scale(0.96); opacity: 0.56; }
    82% { opacity: 0.36; }
    100% { transform: translate3d(var(--drift-end), -340px, 0) scale(1.18); opacity: 0; }
}

@keyframes goldfishSwim {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(-3deg); }
    25% { transform: translate3d(42px, -16px, 0) rotate(2deg); }
    52% { transform: translate3d(82px, -5px, 0) rotate(-1deg); }
    76% { transform: translate3d(34px, -24px, 0) rotate(3deg); }
}

@keyframes goldfishTailWag {
    0%, 100% { transform: rotate(7deg) scaleX(1); }
    50% { transform: rotate(-11deg) scaleX(0.94); }
}

@keyframes goldfishFinWave {
    0%, 100% { transform: rotate(4deg) translateY(0); }
    50% { transform: rotate(-8deg) translateY(2px); }
}

@media (prefers-reduced-motion: reduce) {
    .corner-bubbles,
    .corner-goldfish {
        display: none;
    }

    .poem-lotus,
    .lotus-ripple {
        animation: none;
    }
}
