/* fun.css — winter mood, snow, greeting and «Спой со мной!» for the RU public site (kapibarik.ru) */
:root{--snow:#fff;--frost:#e9f6ff;--berry:#ff5d73;--mint:#7fd6c2}
body{font-family:"Nunito",ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold","Trebuchet MS",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a.song{text-decoration:none;color:inherit}
.hero{background:linear-gradient(180deg,#bfe6ff 0%,#dff3ff 55%,#fffaf2 100%)}
.hero h1{text-shadow:0 3px 0 #fff}
.hero h1 .bulk{color:#e8572a}

/* snow */
.snow{position:fixed;inset:0;pointer-events:none;z-index:40;overflow:hidden}
.snow i{position:absolute;top:-24px;color:#fff;text-shadow:0 0 4px rgba(120,180,230,.9);font-style:normal;animation:fall linear infinite;will-change:transform}
@keyframes fall{to{transform:translate3d(var(--dx,20px),110vh,0) rotate(360deg)}}

/* greeting Капибарик */
.hero-art{cursor:pointer;-webkit-tap-highlight-color:transparent}
.hero-art img.capy{transition:transform .2s}
.hero-art.jump img.capy{animation:capyjump .7s cubic-bezier(.3,1.6,.5,1)}
@keyframes capyjump{0%{transform:translateY(0) scale(1,1)}20%{transform:translateY(4%) scale(1.06,.92)}50%{transform:translateY(-14%) scale(.96,1.05)}80%{transform:translateY(0) scale(1.04,.96)}100%{transform:none}}
.hero-art .wave-hand{position:absolute;left:4%;top:38%;font-size:clamp(34px,6vw,58px);transform-origin:70% 90%;animation:wavehand 1.4s ease-in-out infinite;filter:drop-shadow(0 3px 2px rgba(0,0,0,.15))}
@keyframes wavehand{0%,60%,100%{transform:rotate(0)}10%,30%{transform:rotate(-22deg)}20%,40%{transform:rotate(18deg)}}
.say{right:-2%;top:2%;max-width:62%;font-size:clamp(16px,2.2vw,22px);line-height:1.25;transform:rotate(4deg);background:#fff;border:3px solid var(--sun);
  animation:sayin .6s cubic-bezier(.3,1.6,.5,1) both}
.say::after{content:"";position:absolute;left:18%;bottom:-16px;border:9px solid transparent;border-top:12px solid var(--sun)}
.say.again{animation:none}.say.again{animation:sayin .5s cubic-bezier(.3,1.6,.5,1) both}
@keyframes sayin{0%{transform:scale(.4) rotate(-10deg)}100%{transform:scale(1) rotate(4deg)}}
.notes{position:absolute;inset:0;pointer-events:none}
.notes span{position:absolute;bottom:30%;font-size:28px;animation:note 2.6s ease-out forwards}
@keyframes note{0%{opacity:0;transform:translate(0,0) scale(.6)}15%{opacity:1}100%{opacity:0;transform:translate(var(--nx,30px),-160px) scale(1.2) rotate(20deg)}}

/* «Спой со мной!» */
.sing{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.btn.singbtn{background:linear-gradient(180deg,#ff6f91,#e8436a);color:#fff;font-size:20px;animation:pulse 1.8s ease-in-out infinite}
.btn.singbtn.playing{animation:none;background:linear-gradient(180deg,#7fd6c2,#3fb89c)}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.mute{position:fixed;right:16px;bottom:16px;z-index:45;width:56px;height:56px;border-radius:50%;border:3px solid #fff;background:var(--orange);
  color:#fff;font-size:24px;box-shadow:var(--shadow);cursor:pointer;display:none}
.mute.on{display:block}
.eq{display:inline-flex;gap:3px;align-items:flex-end;height:18px}
.eq b{width:4px;background:#fff;border-radius:2px;animation:eq .8s ease-in-out infinite}
.eq b:nth-child(2){animation-delay:.2s}.eq b:nth-child(3){animation-delay:.4s}
@keyframes eq{0%,100%{height:4px}50%{height:18px}}

/* friends get a bounce */
.friend:hover .pic img{animation:hop .6s ease}
@keyframes hop{30%{transform:translateY(-14px)}60%{transform:translateY(0)}80%{transform:translateY(-5px)}}

/* static pages (song / about / order / privacy) */
.page{padding:28px 0 60px;background:linear-gradient(180deg,#e9f6ff,#fffaf2 260px)}
.crumbs{font-size:15px;color:var(--ink-soft);margin-bottom:14px;font-weight:700}.crumbs a{color:var(--ink-soft)}
.songpage{display:grid;grid-template-columns:1fr;gap:26px;align-items:start}
.songpage h1{font-size:clamp(32px,5vw,52px)}
.vplayer{position:relative;width:100%;max-width:380px;aspect-ratio:9/16;border-radius:var(--radius);overflow:hidden;background:#000;margin:0 auto;box-shadow:var(--shadow);border:6px solid #fff}
.vplayer img,.vplayer iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.vplayer button{position:absolute;inset:0;background:transparent;border:0;cursor:pointer}
.vplayer button::after{content:"▶";position:absolute;left:50%;top:50%;width:86px;height:86px;margin:-43px 0 0 -43px;border-radius:50%;background:rgba(255,255,255,.95);
  color:var(--orange);font-size:38px;line-height:86px;text-align:center;box-shadow:var(--shadow);animation:pulse 1.8s ease-in-out infinite}
.lyrbox{background:#fff;border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow);--c:var(--orange)}
.links{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.links a{display:inline-flex;align-items:center;gap:6px;background:#fff;border:2px solid var(--line);border-radius:999px;padding:8px 16px;text-decoration:none;color:var(--ink);font-weight:900}
.links a:hover{border-color:var(--orange)}
.more{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px}
.more a{display:block;background:#fff;border-radius:20px;overflow:hidden;text-decoration:none;color:var(--ink);font-weight:900;box-shadow:var(--shadow)}
.more img{aspect-ratio:4/5;width:100%;object-fit:cover;object-position:top}.more span{display:block;padding:8px 12px}
.heroes{display:grid;grid-template-columns:1fr;gap:16px}
.hcard{display:flex;gap:14px;align-items:center;background:#fff;border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);border-left:8px solid var(--c)}
.hcard img{width:110px;height:110px;object-fit:contain;flex:none;mix-blend-mode:multiply}
.oform{background:#fff;border-radius:var(--radius);padding:20px;display:grid;gap:12px;box-shadow:var(--shadow)}
.oform label{font-weight:800}.oform input,.oform select,.oform textarea{width:100%;padding:12px;border:2px solid var(--line);border-radius:14px;background:#fffdf8;margin-top:4px}
.oform .chk{display:flex;gap:8px;font-weight:600}.oform .chk input{width:auto}
footer.site{background:#fff;border-top:2px solid var(--line);padding:26px 0;color:var(--ink-soft)}
footer.site a{font-weight:800}
.ad{margin:34px auto;max-width:980px;min-height:0}
@media(min-width:820px){.songpage{grid-template-columns:400px 1fr}.heroes{grid-template-columns:1fr 1fr}.more{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.hero-art .wave-hand{left:0}.say{right:0;max-width:70%}}
@media(prefers-reduced-motion:reduce){.snow{display:none}*{animation:none!important}}
@media(max-width:900px){
  .hero{padding-top:18px}
  .hero-art{order:-1;max-width:250px}
  .hero .btns,.sing{justify-content:center}
  .hero h1{font-size:clamp(28px,8.6vw,44px)}
  .say{font-size:15px;right:-8%;top:-2%}
}
.hero .wrap{position:relative;z-index:2}.say{z-index:3}
