/* Balalaika in a moving field of strings. */
:root{--wave-ink:#584331;--wave-gold:#b18a60;--drift-x:0px;--drift-y:0px;--frame-x:0px;--frame-y:0px;--journey-x:7vw;--journey-y:0px;--journey-tilt:-12deg}
body{overflow-x:clip;padding-bottom:28px}.header{background:rgba(249,248,244,.94);z-index:8}.brand-icon{width:35px;height:47px;object-fit:contain;transform:rotate(-15deg);margin-right:1px}.header-actions{display:flex;align-items:center;gap:30px}.motion-toggle{font-size:12px;border:0;padding:8px 0;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:7px}.motion-toggle:before{content:'Ⅱ';font:13px Georgia,serif}.motion-toggle[aria-pressed=true]:before{content:'▷'}.motion-toggle:disabled{opacity:.7}.hero{min-height:600px;grid-template-columns:49% 51%;overflow:hidden}.hero-copy{padding-top:81px;padding-bottom:65px}.hero-art{min-height:600px;mix-blend-mode:normal;overflow:visible;isolation:isolate}.hero-art .art-label{left:50%;bottom:44px;transform:translateX(-50%);white-space:nowrap;background:none;font-size:11px;z-index:3}.hero-art .art-label b{font-size:12px}.hero-instrument{position:absolute;left:48%;top:48%;width:min(420px,85%);aspect-ratio:1;transform:translate(-50%,-50%);z-index:2}.instrument-drift{width:100%;height:100%;transform:translate3d(var(--drift-x),var(--drift-y),0);will-change:transform}.hero-art .instrument-drift img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none;transform-origin:50% 70%;animation:instrument-rock 7.5s ease-in-out infinite}.hero-ribbon{position:absolute;left:-17%;width:138%;height:245px;pointer-events:none;color:var(--wave-ink);overflow:visible}.hero-ribbon-top{top:-58px;transform:translate3d(calc(var(--frame-x) * -.52),calc(var(--frame-y) * -.2),0) rotate(-10deg)}.hero-ribbon-bottom{bottom:-25px;transform:translate3d(calc(var(--frame-x) * .55),calc(var(--frame-y) * .2),0) rotate(9deg);color:var(--wave-gold)}.ribbon-flow{transform-origin:50% 50%;animation:wave-breathe 11s ease-in-out infinite alternate}.hero-ribbon-bottom .ribbon-flow{animation-name:wave-counter;animation-duration:14s}.ribbon-path{fill:none;stroke:currentColor;stroke-width:1.35;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:2000;stroke-dashoffset:2000;animation:line-arrive 2.5s cubic-bezier(.25,.4,.2,1) forwards;animation-delay:calc(var(--i,0) * 65ms)}.ribbon-path:nth-child(4n){stroke:var(--wave-gold);opacity:.8}.hero-seed{position:absolute;top:51%;left:11%;font:italic 16px Georgia,serif;color:var(--accent);writing-mode:vertical-rl;letter-spacing:3px;z-index:1}.hero-line{display:none}.hero-note{margin-top:35px}.chapter-nav{position:relative;background:var(--paper);z-index:3}.section{position:relative;z-index:2}.lessons-section,.strings-section,.market-section,.blank-section{background:var(--paper)}.sounds-section{background:#efebe3}.wave-frame{position:fixed;inset:0;z-index:6;pointer-events:none;overflow:hidden;isolation:isolate}.frame-wave{position:absolute;overflow:visible;color:var(--wave-ink);opacity:.38;width:120%;height:150px;left:-10%;filter:none}.frame-wave .ribbon-path{stroke-width:.8}.frame-top{top:-84px;transform:translate3d(calc(var(--frame-x) * -1),calc(var(--frame-y) * -.14),0)}.frame-bottom{bottom:-75px;transform:translate3d(var(--frame-x),calc(var(--frame-y) * .14),0);color:var(--wave-gold);opacity:.65}.frame-bottom .ribbon-flow{animation:wave-counter 17s ease-in-out infinite alternate}.frame-side{position:absolute;width:150px;height:125%;top:-12%;color:var(--wave-gold);opacity:.45;overflow:visible}.frame-left{left:-107px;transform:translate3d(calc(var(--frame-y) * -.12),var(--frame-y),0)}.frame-right{right:-108px;transform:translate3d(calc(var(--frame-y) * .12),calc(var(--frame-y) * -1),0)}.frame-side .ribbon-path{stroke-width:.8}.frame-side .ribbon-flow{animation:side-breathe 13s ease-in-out infinite alternate}.frame-right .ribbon-flow{animation-delay:-5s}.journey-instrument{position:absolute;left:0;bottom:7px;width:64px;height:64px;transform:translate3d(var(--journey-x),var(--journey-y),0) rotate(var(--journey-tilt));will-change:transform}.journey-instrument img{width:100%;height:100%;object-fit:contain;transform-origin:50% 80%;animation:small-rock 5s ease-in-out infinite}.footer-sea{position:relative;z-index:2;background:var(--paper);height:245px;overflow:hidden;margin-top:-15px}.footer-sea>svg{position:absolute;left:-10%;bottom:-10px;width:120%;height:240px;color:var(--wave-ink);transform:translate3d(calc(var(--frame-x) * -.4),0,0)}.footer-sea>svg .ribbon-flow{animation:wave-counter 17s ease-in-out infinite alternate}.footer-emblem{position:absolute;left:50%;top:16px;transform:translateX(-50%);width:115px;height:115px;z-index:2}.footer-emblem img{width:100%;height:100%;object-fit:contain;animation:instrument-rock 8s ease-in-out infinite}.footer-sea-label{position:absolute;left:50%;top:137px;transform:translateX(-50%);font:12px Georgia,serif;letter-spacing:4px;background:var(--paper);padding:4px 16px;white-space:nowrap}footer{position:relative;z-index:7;background:var(--paper);padding-bottom:48px}.blank-inner{border-style:solid;border-color:#dfd7c9}.login-art{background:var(--paper);border-color:var(--line);isolation:isolate}.login-art .login-symbol{width:340px;height:340px;max-width:72%;position:absolute;left:50%;top:70px;object-fit:contain;transform:translateX(-50%);animation:login-rock 8s ease-in-out infinite}.login-art-caption{top:auto;bottom:70px;left:0;right:0;text-align:center;background:none;padding:15px 30px}.login-art-caption h1{font-size:35px}.login-art-caption .eyebrow{font-size:11px}.login-art>.hero-ribbon-top{top:0}.login-art>.hero-ribbon-bottom{bottom:-28px}.login-layout{position:relative;z-index:2}.login-panel{position:relative;background:var(--paper);z-index:3}.login-page .journey-instrument{display:none}.motion-paused .ribbon-flow,.motion-paused .instrument-drift img,.motion-paused .journey-instrument img,.motion-paused .footer-emblem img,.motion-paused .login-symbol{animation-play-state:paused!important}.motion-paused .ribbon-path{animation:none;stroke-dashoffset:0}.motion-paused .reveal{opacity:1;transform:none;transition:none}.motion-paused{scroll-behavior:auto}.motion-paused .draw-lines path,.motion-paused .draw-on-view path{animation:none;transition:none;stroke-dashoffset:0}
@keyframes instrument-rock{0%,100%{transform:translate3d(-8px,5px,0) rotate(-15deg)}50%{transform:translate3d(10px,-12px,0) rotate(-5deg)}}
@keyframes login-rock{0%,100%{transform:translateX(-50%) rotate(-13deg)}50%{transform:translateX(-50%) translateY(-12px) rotate(-4deg)}}
@keyframes small-rock{0%,100%{transform:translateY(3px) rotate(-5deg)}50%{transform:translateY(-5px) rotate(5deg)}}
@keyframes wave-breathe{0%{transform:translate(-13px,5px) scaleY(.95) rotate(-1deg)}100%{transform:translate(18px,-8px) scaleY(1.09) rotate(1.5deg)}}
@keyframes wave-counter{0%{transform:translate(20px,7px) scaleY(1.08)}100%{transform:translate(-22px,-10px) scaleY(.94)}}
@keyframes side-breathe{0%{transform:translate(3px,-13px) scaleX(.97)}100%{transform:translate(-7px,18px) scaleX(1.1)}}
@keyframes line-arrive{to{stroke-dashoffset:0}}
.motion-background .ribbon-flow,.motion-background .ribbon-path,.motion-background .instrument-drift img,.motion-background .journey-instrument img,.motion-background .footer-emblem img,.motion-background .login-symbol{animation-play-state:paused!important}
@media(min-width:1600px){.hero,.hero-art{min-height:660px}.hero-copy{padding-top:103px}.hero-instrument{width:470px}.hero-ribbon{height:280px}.hero-art .art-label{bottom:50px}.hero-ribbon-top{top:-48px}.hero-ribbon-bottom{bottom:-20px}}
@media(max-width:1000px){.header-actions{gap:20px}.hero,.hero-art{min-height:570px}.hero-copy{padding-top:70px}.hero-instrument{width:360px;left:49%}.hero-seed{left:8%}.hero-art .art-label{font-size:10px;letter-spacing:2px}.frame-side{opacity:.3}}
@media(max-width:700px){body{padding-bottom:22px}.header{height:82px}.header-actions{gap:12px}.brand-icon{width:28px;height:40px}.motion-toggle{width:26px;height:34px;padding:0;justify-content:center;font-size:0}.motion-toggle:before{font-size:15px}.hero{min-height:0;display:flex}.hero-art{min-height:335px;height:335px;overflow:hidden}.hero-instrument{width:280px;left:50%;top:47%}.hero-art .art-label{bottom:9px;font-size:10px}.hero-art .art-label b{font-size:11px}.hero-ribbon{width:140%;left:-20%;height:190px}.hero-ribbon-top{top:-55px}.hero-ribbon-bottom{bottom:-25px}.hero-seed{top:43%;left:10%;font-size:12px}.hero-copy{padding:28px 7% 38px}.hero h1{font-size:38px}.hero-note{margin-top:27px}.frame-wave{height:110px;opacity:.3}.frame-top{top:-78px}.frame-bottom{bottom:-68px;opacity:.65}.frame-side{width:100px;opacity:.3}.frame-left{left:-81px}.frame-right{right:-81px}.journey-instrument{width:46px;height:46px;bottom:3px}.footer-sea{height:180px}.footer-sea>svg{height:160px;bottom:-14px}.footer-emblem{width:85px;height:85px;top:12px}.footer-sea-label{top:98px;font-size:10px;letter-spacing:3px}footer{padding-bottom:42px}.login-panel{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.ribbon-path{stroke-dashoffset:0}.ribbon-flow,.instrument-drift,.journey-instrument,.hero-ribbon,.frame-wave,.frame-side{will-change:auto}.journey-instrument{display:none}.hero-art .instrument-drift img{transform:rotate(-10deg)}.login-art .login-symbol{transform:translateX(-50%) rotate(-10deg)}}
