@font-face{font-family:"DynaPuff";src:url(../font/DynaPuff-latin-ext.woff2) format("woff2");font-weight:400 700;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap}
@font-face{font-family:"DynaPuff";src:url(../font/DynaPuff-latin.woff2) format("woff2");font-weight:400 700;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap}
@font-face{font-family:"Sour Gummy";src:url(../font/SourGummy-latin-ext.woff2) format("woff2");font-weight:100 900;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap}
@font-face{font-family:"Sour Gummy";src:url(../font/SourGummy-latin.woff2) format("woff2");font-weight:100 900;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap}
:root{--ink:#1d2540;--navy:#0042A7;--blue:#0081FC;--pop:#FD6C5B;--bh:clamp(76px,17dvh,150px);--lh:clamp(100px,20dvh,180px)}
*{box-sizing:border-box}
html,body{height:100%;margin:0;overflow:hidden}
body{color:var(--ink);font:17px/1.4 "Sour Gummy",ui-rounded,system-ui,sans-serif;background:#bfe6ff url(../img/zemin.webp) center/cover no-repeat}
h1,strong,.brand{margin-top:auto;font-family:"DynaPuff","Sour Gummy",ui-rounded,sans-serif}
:focus-visible{outline:4px solid #fff;outline-offset:3px;border-radius:20px}
.stage{position:relative;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;padding:12px clamp(12px,3vw,40px) 10px;gap:clamp(6px,1.6vh,18px)}
.bar{width:100%;max-width:1400px;display:flex;justify-content:flex-end;align-items:center;position:absolute;top:12px;right:clamp(12px,3vw,40px);width:auto}
.brand{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:#fff;font-size:1.7rem;font-weight:700;text-shadow:0 3px 0 #0042a7}
.brand b{color:#FEC530}
.pill{display:inline-flex;align-items:center;gap:.5rem;padding-left:.4rem!important;background:#fff;color:var(--navy);font-weight:800;text-decoration:none;padding:.35rem 1rem;border-radius:999px;box-shadow:0 3px 0 #9ab8e6}
h1{margin:0;color:#fff;text-align:center;font-size:clamp(1.3rem,min(4.2vh,7vw),2.8rem);text-shadow:0 4px 0 #0042a7,0 8px 14px #0042a755}
.grid{list-style:none;margin:0;padding:0;width:100%;max-width:min(1400px,calc((100dvh - 190px - var(--bh) - var(--lh))*3/4*4 + 72px));display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.6vw,24px)}
.grid li{min-width:0;aspect-ratio:3/4}
.card{position:relative;display:block;height:100%;border-radius:28px;overflow:hidden;border:5px solid #fff;box-shadow:0 8px 0 #0042a7aa,0 16px 30px #0042a755;text-decoration:none;transition:transform .18s,box-shadow .18s;background:#fff}
.card:hover,.card:focus-visible{transform:translateY(-8px) scale(1.02);box-shadow:0 14px 0 #0042a7aa,0 26px 40px #0042a766}
.card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.card__cap{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.2rem .6rem .8rem;background:linear-gradient(transparent,#0a2a6bd9 70%);color:#fff}
.card__cap strong{font-size:clamp(1.2rem,2.6vh,1.8rem);text-shadow:0 2px 0 #0042a7}
.card__cap em{font-style:normal;font-size:clamp(.85rem,1.8vh,1.05rem);opacity:.95}

@media(max-width:820px){.grid{grid-template-columns:repeat(2,1fr);max-width:min(100%,calc((100dvh - 200px - var(--bh) - var(--lh))/2*3/4*2 + 14px))}.card{border-width:4px;border-radius:22px}.foot span:nth-child(n+3){display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.foot{margin-top:auto;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem .9rem;font-size:.9rem;color:var(--navy);background:#ffffffe6;border:3px solid #fff;border-radius:999px;padding:.45rem 1.4rem;box-shadow:0 4px 0 #0042a7aa}.foot span::before{content:"✓ ";color:#17a34a}.foot a{color:var(--blue);font-weight:800}

.pill img{border-radius:50%}
.music{position:relative;flex:none;height:var(--bh);aspect-ratio:3/1;max-width:100%;padding:0;border:4px solid #fff;border-radius:24px;overflow:hidden;cursor:pointer;background:#fff;box-shadow:0 6px 0 #0042a7aa,0 12px 24px #0042a755;transition:transform .18s}
.music:hover,.music:focus-visible{transform:translateY(-4px) scale(1.02)}
.music img{display:block;width:100%;height:100%;object-fit:cover}
.pop{border:0;padding:0;background:none;width:min(92vw,880px);max-height:92dvh;overflow:visible}
.pop::backdrop{background:#0a2a6bcc;backdrop-filter:blur(4px)}
.pop__box{aspect-ratio:16/9;background:#000;border:5px solid #fff;border-radius:22px;overflow:hidden;display:grid;place-items:center;box-shadow:0 10px 0 #0042a7aa}
.pop__box iframe{width:100%;height:100%;border:0}
.pop__soon{color:#fff;font-family:"DynaPuff",sans-serif;font-size:1.4rem;margin:0;text-align:center;padding:1rem}
.pop__x{position:absolute;top:-16px;right:-12px;z-index:2;width:44px;height:44px;border-radius:50%;border:3px solid #fff;background:var(--pop);color:#fff;font-size:1.2rem;font-weight:800;cursor:pointer;box-shadow:0 3px 0 #b8402f}

.brand img{display:block;height:var(--lh);width:auto;filter:drop-shadow(0 3px 0 #0042a755)}
.card__cap strong{text-shadow:0 2px 0 #0042a7,0 3px 8px #000a}
.card__cap em{text-shadow:0 2px 0 #0042a7,0 2px 6px #0008}
.music__t{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;padding:1.6rem .5rem .35rem;background:linear-gradient(transparent,#0a2a6bcc 75%);color:#fff;line-height:1.1}
.music__t strong{font-size:clamp(1.1rem,3.4dvh,1.9rem);text-shadow:0 2px 0 #0042a7,0 3px 8px #000a}
.music__t em{font-style:normal;font-weight:700;font-size:clamp(.75rem,1.9dvh,1rem);text-shadow:0 2px 0 #0042a7,0 2px 6px #0008}
.sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
