.abstract-composition{position:relative;margin:0;min-width:0;isolation:isolate}.abstract-stage{position:relative;width:100%;aspect-ratio:720/760}.abstract-ribbon{position:absolute;inset:7% 19% 5% 19%;mix-blend-mode:multiply;animation:ribbon-drift 18s ease-in-out infinite alternate;transform-origin:50% 50%}.abstract-ribbon img{width:100%;height:100%;object-fit:contain}.abstract-contours{position:absolute;inset:0;width:100%;height:100%;animation:contour-breathe 16s ease-in-out infinite alternate}.abstract-orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-18deg)}.abstract-words{transform-origin:360px 380px;animation:phrase-orbit 65s linear infinite}.abstract-words text{fill:#263845;font:400 18px var(--serif);letter-spacing:1.4px}.abstract-note{position:absolute;left:36%;top:45%;font:500 clamp(18px,2.1vw,30px)/1.15 var(--serif);color:#143c55;letter-spacing:-.02em;pointer-events:none}.abstract-note em{font-weight:400}
.abstract-composition figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;font:400 9px var(--sans);text-transform:uppercase;letter-spacing:.15em;color:#626d76}.abstract-composition figcaption>span{display:flex;align-items:center;gap:8px}.abstract-composition figcaption i{width:5px;height:5px;border-radius:50%;background:#246a9b}.abstract-composition figcaption button{border:0;border-bottom:1px solid #d6dce1;padding:10px 0;background:none;color:#44525e;font:inherit;letter-spacing:.08em;cursor:pointer}.abstract-composition figcaption button:disabled{cursor:default}.is-still .abstract-words,.is-still .abstract-ribbon,.is-still .abstract-contours{animation-play-state:paused}
@keyframes ribbon-drift{from{transform:translate(-2%,-1%) rotate(-7deg) scale(.95)}to{transform:translate(3%,2%) rotate(9deg) scale(1.05)}}
@keyframes contour-breathe{from{transform:translateY(-2%) rotate(-5deg) scale(.94)}to{transform:translateY(2%) rotate(5deg) scale(1.03)}}
@keyframes phrase-orbit{to{transform:rotate(360deg)}}
@media(max-width:760px){.abstract-composition{margin:0 -10px}.abstract-stage{aspect-ratio:1/1.08}.abstract-note{font-size:22px}.abstract-composition figcaption{padding:4px 10px;font-size:8px}.abstract-words text{font-size:22px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.abstract-words,.abstract-ribbon,.abstract-contours{animation:none!important}}
