/* Legal-page atmosphere: footer-inspired waves around a quiet reading column. */
.bkk-legal-stage { position: relative; isolation: isolate; width: 100%; flex: 1; }
.bkk-legal-stage > .bkk-legal { position: relative; z-index: 1; }
.bkk-legal-atmosphere {
    position: absolute; inset: 0; z-index: 0;
    pointer-events: none; user-select: none;
}
.bkk-legal-wave-window {
    position: sticky; top: 89px;
    width: 100%; height: calc(100vh - 89px); height: calc(100svh - 89px);
    overflow: hidden; contain: paint;
    background: radial-gradient(ellipse at 0% 24%, #153d511f, transparent 48%),
                radial-gradient(ellipse at 100% 76%, #12364b24, transparent 48%);
}
.bkk-legal-waves {
    display: block; width: 100%; height: 100%;
    fill: none; stroke: #38bdf8; stroke-linecap: round;
    -webkit-mask-image: linear-gradient(transparent, #000 9%, #000 89%, transparent);
    mask-image: linear-gradient(transparent, #000 9%, #000 89%, transparent);
}
.bkk-legal-waves use { vector-effect: non-scaling-stroke; }
.bkk-legal-waves__routes { opacity: .18; stroke-width: .8; }
.bkk-legal-waves__currents { display: none; }
.bkk-legal-wave-window.bkk-motion-ready .bkk-legal-waves__currents { display: block; }
.bkk-legal-waves__currents use {
    stroke: #8bdefa; stroke-width: 1.25; stroke-dasharray: 12 88; opacity: 0;
    animation: bkk-legal-wave-flow 26s linear -8s infinite;
    animation-play-state: var(--bkk-animation-state, paused);
}
.bkk-legal-waves__currents use:nth-child(2) { animation-duration: 31s; animation-delay: -19s; }
.bkk-legal-waves__currents use:nth-child(3) { animation-duration: 29s; animation-delay: -5s; }
.bkk-legal-waves__currents use:nth-child(4) { animation-duration: 34s; animation-delay: -25s; }
/* Fade the artwork behind the article without placing a layer over its text. */
.bkk-legal-wave-window::after {
    content: ''; position: absolute; inset-block: 0; left: 50%;
    width: min(100%, 64rem); transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, #050509e6 14%, #050509f2 38%, #050509f2 62%, #050509e6 86%, transparent);
}
@keyframes bkk-legal-wave-flow {
    0% { stroke-dashoffset: 100; opacity: 0; }
    20% { opacity: .2; }
    50% { opacity: .34; }
    80% { opacity: .2; }
    100% { stroke-dashoffset: 0; opacity: 0; }
}
@media (max-width: 767px) {
    .bkk-legal-wave-window { top: 81px; height: calc(100vh - 81px); height: calc(100svh - 81px); }
    .bkk-legal-waves__routes { opacity: .14; }
    .bkk-legal-wave-window::after { background: linear-gradient(90deg, #05050933, #05050999 18%, #050509b3 50%, #05050999 82%, #05050933); }
}
@media (prefers-reduced-motion: reduce) {
    .bkk-legal-wave-window.bkk-motion-ready .bkk-legal-waves__currents { display: none; }
    .bkk-legal-waves__currents use { animation: none; }
}
@media (forced-colors: active), print {
    .bkk-legal-atmosphere { display: none !important; }
}
