/* Optional white-line geometry. Scale echoes use approximately 1 : .618 : .382. */
.legacy-hero-sky .bauhaus-motion{position:absolute;inset:0;overflow:hidden;pointer-events:none;animation:none}
:where(.bauhaus-motion) .bh-shape{position:absolute;display:block;box-sizing:border-box;aspect-ratio:1;pointer-events:none;--dx:24px;--dy:28px;--turn:45deg;--start:-20deg;animation:bh-float 20s ease-in-out infinite alternate}
.bh-striped{background:repeating-linear-gradient(0deg,transparent 0 10px,rgba(255,255,255,.55) 10px 11.3px)}
.bh-circle{border-radius:50%}.bh-triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}
.bh-outline{border:1.4px solid rgba(255,255,255,.6)}
.bh-outline-triangle svg{display:block;width:100%;height:100%;stroke:rgba(255,255,255,.6);stroke-width:1.4px}
.bh-main-circle{width:180px;left:40%;top:23%;--dx:30px;--dy:45px;--turn:70deg;animation-duration:18s!important}
.bh-main-square{width:111px;left:27%;top:5%;--dx:38px;--dy:18px;--turn:110deg;animation-duration:23s!important}
.bh-main-triangle{width:69px;left:9%;top:8%;--dx:22px;--dy:12px;--turn:35deg;animation-duration:17s!important}
.bh-outline-square{width:69px;left:6%;bottom:8%;--dx:42px;--dy:-24px;--turn:130deg;animation-duration:21s!important}
.bh-outline-circle{width:43px;left:21%;bottom:18%;--dx:15px;--dy:24px;--turn:0deg;animation-duration:15s!important}
.bh-outline-triangle{width:112px;left:35%;bottom:6%;--dx:30px;--dy:-25px;--turn:55deg;animation-duration:26s!important}
.bh-echo-circle{width:43px;left:38%;top:6%;opacity:.5;--dx:18px;--dy:10px;animation-duration:16s!important;background-size:auto}
.bh-echo-square{width:26px;left:30%;bottom:8%;opacity:.5;--dx:10px;--dy:-14px;animation-duration:19s!important}
@keyframes bh-float{from{transform:translate(0,0) rotate(var(--start)) scale(.9)}to{transform:translate(var(--dx),var(--dy)) rotate(var(--turn)) scale(1.08)}}
.legacy-hero-sky.is-paused .bh-shape{animation-play-state:paused}
@media(max-width:760px){
 .bauhaus-motion .bh-shape{--dx:10px;--dy:20px}
 .bh-main-circle{width:112px;left:auto;right:-26px;top:32%}
 .bh-main-square{width:69px;left:auto;right:8%;top:5%}
 .bh-main-triangle{width:43px;left:5%;top:2%;opacity:.65}
 .bh-outline-square{width:43px;left:3%;bottom:42%}
 .bh-outline-circle{width:27px;left:auto;right:8%;bottom:57%}
 .bh-outline-triangle{width:69px;left:5%;bottom:3%}
 .bh-echo-circle{width:27px;left:auto;right:30%;top:3%}
 .bh-echo-square{width:17px;left:27%;bottom:2%}
}
@media(prefers-reduced-motion:reduce){.bauhaus-motion .bh-shape{animation:none!important}}
@media print{.bauhaus-motion{display:none}}
@media(max-width:760px){.bh-main-triangle{left:auto;right:9%;top:22%}.bh-outline-circle{right:32%;bottom:50%}}

/* Three selected forms: striped circle, outline square, solid triangle. */
.bh-filled-triangle{width:76px;left:28%;top:9%;background:rgba(255,255,255,.45);--dx:22px;--dy:20px;--turn:65deg;animation-duration:22s!important}
@media(max-width:760px){.bh-filled-triangle{width:48px;left:auto;right:10%;top:9%}}

/* V3 refinement: quadruple-weight chords, complete circular edge, no viewport/photo clipping. */
.bh-main-circle{
 /* An integer number of periods fits the diameter. Both poles land at
    the centre of a stripe, so rotating never exposes an asymmetric flat cap. */
 --stripe-period:6.25%;
 background:repeating-linear-gradient(to bottom,
   rgba(255,255,255,.55) -2.6px 2.6px,
   transparent 2.6px calc(var(--stripe-period) - 2.6px));
 clip-path:circle(50% at 50% 50%);
 left:calc(50% - 220px);
}
@media(max-width:760px){
 .bh-main-circle{left:auto;right:24px;top:20%;--stripe-period:10%}
}
/* Equilateral triangle: height = width × √3 / 2, slightly smaller. */
.bh-filled-triangle{width:66px;aspect-ratio:2 / 1.732050808}
@media(max-width:760px){.bh-filled-triangle{width:42px}}
/* Soften all three decorative forms to one quarter of their original opacity. */
.bauhaus-motion .bh-main-circle,
.bauhaus-motion .bh-outline-square,
.bauhaus-motion .bh-filled-triangle{opacity:.25}
