/* =========================================================
   BIG SUMMER FEST 2027 – style.css
   Farby (fixné): pink #FF3E5C · magenta #FF2884 · yellow #FFDA30
                  mint #1CFFB6 · blue #3FA9F5 · cream #FFF8E2 · ink #101014
   ========================================================= */
:root{
  --pink:#FF3E5C; --magenta:#FF2884; --yellow:#FFDA30; --mint:#1CFFB6; --blue:#3FA9F5;
  --cream:#FFF8E2; --paper:#FFFDF5; --ink:#101014; --ink-2:#26262E; --grass:#B8F7DC;
  --b:3px solid var(--ink);
  --sh:6px 6px 0 var(--ink); --sh-sm:4px 4px 0 var(--ink); --sh-lg:10px 10px 0 var(--ink);
  --f-display:"Archivo Black","Arial Black",Impact,system-ui,sans-serif;
  --f-body:"Rubik",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --f-hand:"Caveat","Comic Sans MS","Segoe Print",cursive;
  --gutter:clamp(16px,4vw,40px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;overflow-x:clip}
body{overflow-x:hidden}
body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.55 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:clip;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
img{display:block;height:auto}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{margin:0;text-wrap:balance}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--magenta);outline-offset:3px;border-radius:6px}
.wrap{width:100%;max-width:1220px;margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--ink);color:var(--yellow);padding:.6em 1em;border-radius:8px}
.skip:focus{left:8px}
.ico{width:1.2em;height:1.2em;flex:none}

/* ---------- ANIMATION LIBRARY ---------- */
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes wiggle{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(.6) rotate(45deg)}}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes letter{0%,55%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-.12em) rotate(-4deg)}}
@keyframes sway{0%,100%{transform:rotate(var(--r,0deg))}50%{transform:rotate(calc(var(--r,0deg) * -1))}}
@keyframes pop-in{0%{transform:scale(.4) rotate(-8deg);opacity:0}70%{transform:scale(1.05) rotate(1deg);opacity:1}100%{transform:scale(1) rotate(-1deg)}}
@keyframes blink{50%{opacity:0}}
@keyframes shimmer{0%{transform:translateX(-120%) skewX(-20deg)}60%,100%{transform:translateX(220%) skewX(-20deg)}}

.deco{position:absolute;width:var(--s,40px);height:var(--s,40px);pointer-events:none;z-index:0;overflow:visible}
.a-spin{animation:spin 9s linear infinite}
.a-spin-rev{animation:spin 11s linear infinite reverse}
.a-bob{animation:bob 3.6s ease-in-out infinite}
.a-wiggle{animation:wiggle 2.4s ease-in-out infinite}
.a-twinkle{animation:twinkle 2.2s ease-in-out infinite}

/* ---------- MARQUEE ---------- */
.marquee{overflow:hidden;width:100%}
.marquee__track{display:flex;width:max-content;animation:marquee var(--dur,30s) linear infinite}
.marquee__track--rev{animation-direction:reverse}
.marquee__group{display:flex;align-items:center;flex:none}
.marquee__group>*{flex:none}

/* ---------- BUTTONS ---------- */
.btn{--bg:var(--yellow);--fg:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:.55em;font:800 1rem/1.1 var(--f-body);text-transform:uppercase;letter-spacing:.02em;text-decoration:none;padding:.95em 1.35em;border:var(--b);border-radius:12px;background:var(--bg);color:var(--fg);box-shadow:var(--sh-sm);transition:transform .15s ease,box-shadow .15s ease;position:relative;white-space:nowrap}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}
.btn--sm{font-size:.82rem;padding:.7em 1em;border-radius:10px}
.btn--block{width:100%}
.btn--yellow{--bg:var(--yellow)}
.btn--mint{--bg:var(--mint)}
.btn--pink{--bg:var(--pink);--fg:#fff}
.btn--blue{--bg:var(--blue);--fg:var(--ink)}
.btn--ink{--bg:var(--ink);--fg:var(--yellow)}
.btn--breathe{animation:breathe 2.4s ease-in-out infinite}
.btn--breathe:hover{animation:none}

/* ---------- SMALL COMPONENTS ---------- */
.hand{font:700 clamp(22px,2.6vw,30px)/1 var(--f-hand);margin:0 0 .25em;color:var(--ink);transform:rotate(-3deg);display:inline-block}
.hand--pink{color:var(--magenta)} .hand--blue{color:#1473B8} .hand--yellow{color:var(--yellow)}
.sticker{display:inline-flex;align-items:center;gap:.4em;font:800 .82rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.08em;padding:.6em .9em;border:var(--b);border-radius:999px;box-shadow:var(--sh-sm);background:var(--yellow);transform:rotate(-3deg);margin:0 0 18px;animation:wiggle 3s ease-in-out infinite;--r:3deg}
.sticker span{font-family:var(--f-display);font-weight:400;letter-spacing:.02em}
.hl{position:relative;display:inline-block;z-index:0;padding-inline:.12em}
.hl::before{content:"";position:absolute;inset:18% -.08em 4% -.08em;background:var(--c,var(--yellow));border:var(--b);z-index:-1;transform:skew(-8deg) rotate(-1.5deg);box-shadow:var(--sh-sm)}
.badge{position:absolute;top:10px;left:10px;z-index:3;font:800 .66rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.08em;padding:.5em .7em;border:2.5px solid var(--ink);border-radius:999px;background:var(--bb,var(--yellow));box-shadow:2px 2px 0 var(--ink);transform:rotate(-4deg)}
.badge--yellow{--bb:var(--yellow)} .badge--mint{--bb:var(--mint)} .badge--pink{--bb:var(--magenta);color:#fff}

.dots{position:absolute;pointer-events:none;z-index:0;background-image:radial-gradient(var(--dot,var(--blue)) 2px,transparent 2.6px);background-size:14px 14px}

/* ---------- TOPBAR ---------- */
.topbar{background:var(--ink);color:var(--yellow);font:400 .82rem/1 var(--f-display);letter-spacing:.06em;padding-block:.62em;border-bottom:var(--b)}
.topbar .marquee__group span{padding-inline:1.1em}
.topbar .marquee__group i{font-style:normal;color:var(--pink)}

/* ---------- HEADER ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--cream);border-bottom:var(--b);transition:box-shadow .25s}
.site-header.is-scrolled{box-shadow:0 6px 0 rgba(16,16,20,.08)}
.header__inner{display:flex;align-items:center;gap:18px;min-height:78px}
.brand{flex:none;display:block;width:78px;transition:transform .3s}
.brand:hover{transform:rotate(-6deg) scale(1.06)}
.brand img{width:100%}
.nav{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.nav>a{--c:var(--yellow);font:800 .8rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.03em;text-decoration:none;background:var(--c);border:var(--b);border-radius:9px;padding:.62em .85em;box-shadow:3px 3px 0 var(--ink);transition:transform .15s,box-shadow .15s;white-space:nowrap}
.nav>a:hover,.nav>a.is-active{transform:translate(-2px,-2px) rotate(-2deg);box-shadow:5px 5px 0 var(--ink)}
.nav>a.is-active{outline:2px dashed var(--ink);outline-offset:3px}
.nav__social{display:none;gap:10px}
.nav__social a{display:grid;place-items:center;width:48px;height:48px;border:var(--b);border-radius:12px;background:var(--cream);box-shadow:3px 3px 0 var(--ink)}
.nav__social svg{width:24px;height:24px}
.header__cta{display:flex;align-items:center;gap:10px;flex:none}
.burger{display:none;width:48px;height:48px;border:var(--b);border-radius:12px;background:var(--mint);box-shadow:3px 3px 0 var(--ink);padding:0;position:relative}
.burger span{position:absolute;left:11px;right:11px;height:3px;background:var(--ink);border-radius:3px;transition:transform .25s,opacity .25s}
.burger span:nth-child(1){top:14px}.burger span:nth-child(2){top:21.5px}.burger span:nth-child(3){top:29px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

@media (max-width:1100px){
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--cream)}
  .burger{display:block}
  .nav{position:fixed;inset:0;top:0;z-index:-1;flex-direction:column;justify-content:center;align-items:stretch;gap:14px;padding:110px 24px 40px;background:var(--cream);background-image:radial-gradient(rgba(63,169,245,.35) 2px,transparent 2.6px);background-size:16px 16px;transform:translateY(-105%);transition:transform .45s cubic-bezier(.7,0,.2,1);overflow:auto;margin:0}
  .nav.is-open{transform:none}
  .nav>a{font-size:1.25rem;padding:.85em 1em;text-align:center;box-shadow:5px 5px 0 var(--ink)}
  .nav.is-open>a{animation:pop-in .5s both}
  .nav.is-open>a:nth-child(2){animation-delay:.05s}.nav.is-open>a:nth-child(3){animation-delay:.1s}.nav.is-open>a:nth-child(4){animation-delay:.15s}.nav.is-open>a:nth-child(5){animation-delay:.2s}.nav.is-open>a:nth-child(6){animation-delay:.25s}
  .nav__social{display:flex;justify-content:center;margin-top:8px}
  .header__cta{margin-left:auto}
}
@media (max-width:480px){.header__cta .btn span{display:none}.header__cta .btn{padding:.7em}.brand{width:64px}.header__inner{min-height:68px}}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;padding-block:clamp(28px,5vw,64px) clamp(48px,7vw,88px);isolation:isolate}
.dots--hero{width:240px;height:240px;left:-60px;bottom:40px;border-radius:50%;opacity:.55;-webkit-mask:radial-gradient(circle,#000 40%,transparent 70%);mask:radial-gradient(circle,#000 40%,transparent 70%)}
.hero__grid{display:grid;grid-template-columns:1.12fr .88fr;grid-template-areas:"copy art" "buy cd";gap:clamp(18px,2.6vw,30px) clamp(24px,4vw,56px);align-items:center;position:relative;z-index:1}
.hero__copy{grid-area:copy}.hero__art{grid-area:art}.hero__cd{grid-area:cd;justify-self:center;text-align:center}.hero__buy{grid-area:buy;align-self:start}
.hero__cd .countdown{justify-content:center;flex-wrap:nowrap}
.hero__cd .cd{min-width:clamp(64px,7.4vw,92px);padding:10px 6px 8px}
.hero__cd .cd__num{font-size:clamp(28px,3.5vw,46px)}
.hero__title{font-family:var(--f-display);font-weight:400;line-height:.95;position:relative;isolation:isolate;margin-bottom:22px}
.hero__title::before{content:"";position:absolute;inset:4% -4% 20% -6%;background:var(--blue);clip-path:polygon(0 14%,100% 0,94% 100%,4% 86%);z-index:-1}
.t-big{display:block;font-size:clamp(42px,6.8vw,96px);text-transform:uppercase;color:var(--pink);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:5px 5px 0 var(--ink);letter-spacing:-.005em;padding-top:.08em}
.t-small{display:block;font-size:clamp(30px,4.4vw,60px);color:var(--ink);margin-top:.12em;letter-spacing:-.01em}
.w{display:inline-block;white-space:nowrap}
.ch{display:inline-block;animation:letter 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * 65ms)}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.chip{font:400 clamp(15px,1.7vw,20px)/1 var(--f-display);text-transform:uppercase;padding:.55em .75em;border:var(--b);background:var(--c);box-shadow:var(--sh-sm)}
.chip:nth-child(1){transform:rotate(-2deg)}.chip:nth-child(2){transform:rotate(1.5deg)}.chip:nth-child(3){transform:rotate(-1deg)}
.chip--light{color:#fff}
.countdown-wrap .hand{font-size:clamp(22px,2.4vw,28px)}
.countdown{display:flex;gap:clamp(8px,1.4vw,14px);flex-wrap:wrap}
.cd{background:var(--ink);border:var(--b);border-radius:14px;box-shadow:5px 5px 0 var(--c,var(--pink));min-width:clamp(68px,10vw,98px);padding:12px 8px 9px;text-align:center;overflow:hidden}
.cd:nth-child(2){--c:var(--mint)}.cd:nth-child(3){--c:var(--yellow)}.cd:nth-child(4){--c:var(--blue)}
.cd__num{display:block;font:400 clamp(30px,4.6vw,52px)/1 var(--f-display);color:var(--c,var(--pink));font-variant-numeric:tabular-nums}
.cd__num.tick{animation:tick .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes tick{0%{transform:translateY(-45%) scale(.85);opacity:.2}100%{transform:none;opacity:1}}
.cd__lbl{display:block;margin-top:6px;font:800 .68rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--cream)}
.pricebar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:6px;padding:12px;padding-left:22px;border:var(--b);border-radius:16px;background:linear-gradient(100deg,var(--yellow) 0 42%,var(--mint) 42%);box-shadow:var(--sh);max-width:640px}
.pricebar__price{margin:0;display:flex;align-items:baseline;gap:.35em;font-family:var(--f-display)}
.pricebar__price strong{font-weight:400;font-size:clamp(32px,4vw,46px);line-height:1}
.pricebar__price span{font-size:clamp(16px,1.8vw,20px)}
.btn--wave{flex:1;min-width:250px;padding:.7em .9em;gap:.5em;animation:breathe 2.4s ease-in-out infinite}
.btn--wave:hover{animation:none}
.btn__two{display:flex;flex-direction:column;align-items:center;line-height:1.05;font-size:1.02rem}
.btn__two small{font-size:.72rem;letter-spacing:.06em;margin-top:.25em;font-weight:700}
.sw{display:inline-flex;font:400 1.3rem/1 var(--f-display);letter-spacing:-.12em}
.sw i{font-style:normal;animation:blink 1.2s steps(1) infinite}
.sw--l i:nth-child(1),.sw--r i:nth-child(3){animation-delay:.8s}
.sw--l i:nth-child(2),.sw--r i:nth-child(2){animation-delay:.4s}
.hero__note{margin:14px 0 0;font-size:.86rem;color:var(--ink-2);font-weight:500}

.hero__art{position:relative;aspect-ratio:1/1;width:100%;max-width:540px;margin-inline:auto}
.hero__logo-btn{position:absolute;left:12%;top:11%;width:76%;z-index:2;padding:0;border:0;background:none;cursor:pointer;border-radius:24px;-webkit-tap-highlight-color:transparent}
.hero__logo{width:100%;animation:logo 3.4s ease-in-out infinite;filter:drop-shadow(0 10px 0 rgba(16,16,20,.12))}
.hero__logo-btn:hover .hero__logo{animation-duration:1.2s}
.hero__logo-btn.boing .hero__logo{animation:boing .95s cubic-bezier(.3,1.6,.5,1)}
@keyframes logo{0%,100%{transform:translateY(0) rotate(-2deg) scale(1)}50%{transform:translateY(-10px) rotate(2deg) scale(1.03)}}
.orbit{position:absolute;left:3%;right:3%;top:33%;height:34%;border-radius:50%;z-index:1;transform:rotate(-14deg)}
.orbit i{position:absolute;inset:0;border-radius:50%;border:7px solid var(--mint);box-shadow:0 0 14px var(--mint),inset 0 0 12px var(--mint)}
.orbit i::after{content:"";position:absolute;inset:-26px 16px;border-radius:50%;border:5px solid var(--pink);box-shadow:0 0 12px var(--pink);transform:rotate(22deg)}
.orbit--back{animation:orbit 4s ease-in-out infinite}
.orbit-front{position:absolute;inset:0;z-index:3;clip-path:inset(56% 0 0 0);pointer-events:none}
.orbit-front .orbit{animation:orbit 4s ease-in-out infinite}
@keyframes orbit{0%,100%{transform:rotate(-14deg) scale(1)}50%{transform:rotate(-8deg) scale(1.04,.94)}}
.polaroid{margin:0;position:absolute;background:#fff;padding:9px 9px 34px;border:var(--b);box-shadow:var(--sh-sm);width:46%;z-index:1;animation:sway 5s ease-in-out infinite}
.polaroid img{aspect-ratio:4/3;object-fit:cover;width:100%;border:2px solid var(--ink)}
.polaroid figcaption{position:absolute;left:0;right:0;bottom:4px;text-align:center;font:700 22px/1 var(--f-hand)}
.polaroid--a{--r:-7deg;left:-4%;bottom:-2%;transform-origin:80% 0}
.polaroid--b{--r:6deg;right:-4%;top:-2%;transform-origin:20% 0;animation-delay:-2s;width:40%}

/* ---------- TAPES ---------- */
.tapes{position:relative;height:150px;margin-block:-40px -20px;z-index:4;pointer-events:none;overflow-x:clip}
.tape{position:absolute;left:-5%;right:-5%;border-block:var(--b);font:400 clamp(20px,2.6vw,30px)/1 var(--f-display);text-transform:uppercase;padding-block:.5em;box-shadow:0 6px 0 rgba(16,16,20,.15)}
.tape .marquee__group span{padding-inline:.7em}
.tape .marquee__group i{font-style:normal}
.tape--pink{background:var(--pink);color:var(--cream);top:30px;transform:rotate(2deg)}
.tape--pink i{color:var(--yellow)}
.tape--yellow{background:var(--yellow);top:70px;transform:rotate(-2deg)}
.tape--yellow i{color:var(--magenta)}

/* ---------- SECTION BASE ---------- */
.section{position:relative;padding-block:clamp(64px,9vw,120px);isolation:isolate}
.section>.wrap{position:relative;z-index:1}
.sec-head{margin-bottom:clamp(32px,4vw,52px);max-width:760px}
.sec-title{font:400 clamp(40px,6.6vw,84px)/1 var(--f-display);text-transform:uppercase;letter-spacing:-.01em}
.sec-lead{margin:18px 0 0;font-size:clamp(17px,1.6vw,20px);max-width:60ch}
.sec-head--light{color:var(--cream)}

/* reveal (visible by default; animates only when JS marks it) */
.js .reveal{opacity:0;transform:translateY(34px) rotate(-1.5deg);transition:opacity .6s ease,transform .7s cubic-bezier(.2,1.4,.4,1)}
.js .reveal.in{opacity:1;transform:none}

/* ---------- LINE-UP ---------- */
.lineup{padding-top:clamp(80px,10vw,130px)}
.artists{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(22px,3vw,36px) clamp(18px,2.4vw,30px);padding-right:16px}
.artist{position:relative;display:block;text-decoration:none;color:inherit;isolation:isolate;animation:bob 4.5s ease-in-out infinite;animation-delay:calc(var(--i) * -.6s)}
.artist::before,.artist::after{content:"";position:absolute;inset:0;border:var(--b);border-radius:18px;z-index:-1;transition:transform .3s}
.artist::before{background:var(--c2);transform:translate(8px,8px)}
.artist::after{background:var(--c3);transform:translate(16px,16px);z-index:-2}
.artist:hover::before{transform:translate(12px,12px) rotate(2deg)}
.artist:hover::after{transform:translate(22px,22px) rotate(4deg)}
.artist__card{position:relative;background:var(--c);border:var(--b);border-radius:18px;overflow:hidden;padding:10px;display:flex;flex-direction:column;height:100%;transition:transform .3s cubic-bezier(.2,1.6,.4,1)}
.artist:hover .artist__card{transform:rotate(-2.5deg) translateY(-4px)}
.artist__art{aspect-ratio:5/4;border:var(--b);border-radius:12px;background:var(--paper);background-image:radial-gradient(rgba(16,16,20,.13) 1.6px,transparent 2px);background-size:12px 12px;display:grid;place-items:center;overflow:hidden;position:relative}
.art{width:92%;height:auto;overflow:visible}
.artist__name{margin:12px 0 0;background:var(--cream);border:var(--b);border-radius:10px;padding:.5em .4em .45em;text-align:center;font:400 clamp(17px,1.9vw,24px)/1 var(--f-display);text-transform:uppercase;box-shadow:3px 3px 0 var(--ink)}
.artist__hit{margin:10px 0 2px;text-align:center;font:700 clamp(19px,2vw,24px)/1.05 var(--f-hand);color:var(--ink)}
.artist--mystery .artist__hit{color:var(--cream)}
/* artist photos + animated stickers */
.artist__art--photo{display:block;background:var(--ink)}
.artist__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.artist:hover .artist__photo{transform:scale(1.07)}
.artist__art--photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.12) 1.1px,transparent 1.5px);background-size:6px 6px}
.artist__sticker{position:absolute;z-index:2;width:44%;pointer-events:none;filter:drop-shadow(2px 3px 0 rgba(16,16,20,.6))}
.artist__sticker .art{width:100%;display:block}
.artist__sticker--tr{top:0;right:-2%}
.artist__sticker--br{bottom:-4%;right:-2%}
.artist__sticker--fly{top:-4%;left:0;width:54%;animation:fly 6.5s linear infinite;animation-delay:-2s}
@keyframes fly{0%{transform:translateX(-110%)}100%{transform:translateX(210%)}}
/* per-artist loops */
.plane{animation:plane 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes plane{0%,100%{transform:translate(0,0) rotate(-3deg)}50%{transform:translate(6px,-8px) rotate(3deg)}}
.speed{animation:blink .6s steps(1) infinite}
.cloud{animation:cloud 6s linear infinite}
.cloud--2{animation-duration:8s;animation-delay:-3s}
@keyframes cloud{0%{transform:translateX(60px)}100%{transform:translateX(-80px)}}
.moon{animation:wiggle 3.2s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 50%}
.tw{animation:twinkle 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.tw--2{animation-delay:-.6s}.tw--3{animation-delay:-1.2s}
.tomato{animation:squash 1.6s cubic-bezier(.5,0,.5,1) infinite;transform-box:fill-box;transform-origin:50% 100%}
@keyframes squash{0%,100%{transform:translateY(0) scale(1,1)}40%{transform:translateY(-18px) scale(.96,1.05)}80%{transform:translateY(0) scale(1.08,.9)}}
.shadow{animation:shad 1.6s cubic-bezier(.5,0,.5,1) infinite;transform-box:fill-box;transform-origin:center}
@keyframes shad{0%,100%{transform:scale(1)}40%{transform:scale(.7)}}
.hat{animation:hat 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 90%}
@keyframes hat{0%,60%,100%{transform:rotate(0) translateY(0)}20%{transform:rotate(-10deg) translateY(-14px)}40%{transform:rotate(6deg) translateY(-4px)}}
.notes text{font:700 30px var(--f-body);fill:var(--ink);animation:bob 2s ease-in-out infinite}
.notes text:nth-child(2){animation-delay:-1s}
.mic{animation:wiggle 2s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}
.hrt{animation:heart-up 2.8s ease-in infinite;transform-box:fill-box;transform-origin:center}
.hrt--2{animation-delay:-.9s}.hrt--3{animation-delay:-1.8s}
@keyframes heart-up{0%{transform:translateY(20px) scale(.4);opacity:0}20%{opacity:1}100%{transform:translateY(-60px) scale(1.1);opacity:0}}
/* mystery */
.artist--mystery .artist__art{background:var(--ink-2);background-image:radial-gradient(rgba(255,255,255,.12) 1.6px,transparent 2px);background-size:12px 12px}
.qmark{font:400 clamp(70px,9vw,120px)/1 var(--f-display);color:var(--c2);-webkit-text-stroke:3px var(--cream);paint-order:stroke fill;text-shadow:5px 5px 0 var(--c3);animation:qm 2.4s ease-in-out infinite;display:inline-block}
@keyframes qm{0%,100%{transform:rotate(-10deg) scale(1)}25%{transform:rotate(8deg) scale(1.1)}50%{transform:rotate(-4deg) scale(.95)}75%{transform:rotate(12deg) scale(1.05)}}
.artist--mystery .artist__card::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);animation:shimmer 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * .4s);pointer-events:none}
.lineup__cta{margin-top:clamp(40px,5vw,60px);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;padding:20px 24px;border:var(--b);border-radius:16px;background:var(--paper);box-shadow:var(--sh)}
.lineup__cta p{margin:0;font-size:1.1rem}

/* ---------- STATS ---------- */
.stats{position:relative;background:var(--ink);color:var(--cream);padding-block:clamp(56px,7vw,90px);overflow:hidden;border-block:var(--b);isolation:isolate}
.stats__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32;z-index:-1;animation:kenburns 24s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.14) translate(-2%,-2%)}}
.stats::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,16,20,.85),rgba(16,16,20,.45))}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.stat{display:flex;flex-direction:column;gap:6px}
.stat__n{font:400 clamp(44px,6vw,80px)/1 var(--f-display);color:var(--c);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.stat__l{font-weight:700;font-size:1rem;max-width:18ch}
.stats__claim{margin:34px auto 0;font:700 clamp(24px,3vw,34px)/1.1 var(--f-hand);color:var(--yellow);text-align:center}

/* ---------- TICKETS ---------- */
.tickets{background:var(--paper)}
.ticket-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,36px);align-items:start}
.ticket{position:relative;background:var(--c);border:var(--b);border-radius:20px;box-shadow:var(--sh);padding:26px 24px 24px;transition:transform .3s cubic-bezier(.2,1.6,.4,1)}
.ticket:hover{transform:rotate(-1.5deg) translateY(-6px)}
.ticket__divider{position:relative}
.ticket__divider::before,.ticket__divider::after{content:"";position:absolute;top:-17px;width:30px;height:30px;border-radius:50%;background:var(--paper);border:var(--b)}
.ticket__divider::before{left:-18px;clip-path:inset(0 0 0 50%)}
.ticket__divider::after{right:-18px;clip-path:inset(0 50% 0 0)}
.ticket__kind{margin:0;font:800 .86rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.1em}
.ticket__price{margin:10px 0 4px;font:400 clamp(44px,5vw,60px)/1 var(--f-display);letter-spacing:-.02em}
.ticket__sub{margin:0;font-weight:600;font-size:.95rem}
.ticket__divider{border-top:3px dashed var(--ink);margin:30px -24px 20px;height:0}
.ticket__list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px}
.ticket__list li{position:relative;padding-left:28px;font-weight:500;line-height:1.35}
.ticket__list li::before{content:"";position:absolute;left:0;top:.1em;width:18px;height:18px;border:2.5px solid var(--ink);border-radius:50%;background:var(--cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%23101014' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}
.ticket--hot{transform:rotate(-1.2deg);box-shadow:var(--sh-lg)}
.ticket--hot:hover{transform:rotate(-2.5deg) translateY(-6px)}
.burst{position:absolute;top:-34px;right:-20px;width:108px;height:108px;display:grid;place-items:center;z-index:2}
.burst svg{position:absolute;inset:0;animation:spin 12s linear infinite}
.burst span{position:relative;font:800 .72rem/1.05 var(--f-body);text-transform:uppercase;color:#fff;text-align:center;transform:rotate(12deg);letter-spacing:.04em}
.tickets__notes{margin-top:clamp(34px,4vw,48px);display:grid;gap:6px;font-size:.98rem;max-width:760px}
.tickets__notes p{margin:0}
.tickets__notes a{font-weight:700}
.ps{margin-top:10px!important;font:700 1.35rem/1.15 var(--f-hand);color:var(--magenta)}

/* ---------- ZELENÁ VODA ---------- */
.zv{position:relative;background:var(--blue);color:var(--ink);padding-block:clamp(90px,11vw,150px);overflow:hidden;isolation:isolate}
.waves{position:absolute;left:0;width:200%;max-width:none;height:clamp(40px,6vw,80px);color:var(--cream);animation:marquee 14s linear infinite;z-index:2}
.waves--top{top:-1px;transform:scaleY(-1);color:var(--paper)}
.waves--top{animation-name:wave-top}
@keyframes wave-top{from{transform:scaleY(-1) translateX(0)}to{transform:scaleY(-1) translateX(-50%)}}
.waves--bottom{bottom:-1px;animation-duration:18s;animation-direction:reverse;color:var(--ink)}
.zv__sky{position:absolute;inset:0;z-index:0;pointer-events:none}
.sun{position:absolute;top:70px;right:6%;width:clamp(90px,11vw,150px);animation:bob 5s ease-in-out infinite}
.sun__rays{animation:spin 16s linear infinite;transform-origin:60px 60px}
.cloudy{position:absolute;width:clamp(110px,14vw,190px);animation:drift 40s linear infinite}
.cloudy--1{top:110px;left:-20%}
.cloudy--2{top:46%;left:-20%;animation-duration:55s;animation-delay:-25s;width:clamp(80px,10vw,130px)}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(140vw)}}
.zv>.wrap{position:relative;z-index:1}
.zv__intro{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,5vw,64px);align-items:center}
.zv__title{font:400 clamp(52px,9vw,124px)/.9 var(--f-display);text-transform:uppercase;color:var(--mint);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:6px 6px 0 var(--ink);margin:.05em 0 .3em}
.zv__title .ch{animation-name:float-letter;animation-duration:2.6s}
@keyframes float-letter{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-.1em) rotate(3deg)}}
.zv__lead{font-size:clamp(18px,1.7vw,21px);font-weight:500}
.zv__copy p{max-width:56ch}
.zv__copy a{font-weight:700}
.zv__badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.quality{display:inline-flex;flex-direction:column;gap:2px;background:var(--yellow);border:var(--b);border-radius:14px;padding:.6em .9em;box-shadow:var(--sh-sm);transform:rotate(-2deg)}
.quality--mint{background:var(--mint);transform:rotate(1.5deg)}
.quality b{font:800 .7rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.1em}
.quality span{font:400 1.2rem/1.1 var(--f-display);text-transform:uppercase}
.quality i{font-style:normal;color:var(--magenta);-webkit-text-stroke:1px var(--ink);display:inline-block;animation:breathe 1.6s ease-in-out infinite}
.zv__photo{position:relative;padding:4% 4% 12% 0}
.blob{border:var(--b);box-shadow:var(--sh-lg);border-radius:46% 54% 42% 58% / 52% 40% 60% 48%;overflow:hidden;aspect-ratio:16/11;background:var(--mint)}
.blob img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
@keyframes blob{0%,100%{border-radius:46% 54% 42% 58% / 52% 40% 60% 48%}33%{border-radius:58% 42% 55% 45% / 42% 56% 44% 58%}66%{border-radius:40% 60% 48% 52% / 58% 46% 54% 42%}}
.polaroid--zv{--r:-5deg;width:46%;left:-6%;bottom:0;top:auto;animation-duration:6s;z-index:3}
.ring{position:absolute;right:-2%;bottom:6%;width:clamp(70px,9vw,120px);animation:ring-bob 3s ease-in-out infinite;z-index:3}
@keyframes ring-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(20deg)}}
.features{list-style:none;margin:clamp(56px,7vw,90px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,26px)}
.feature{background:var(--cream);border:var(--b);border-radius:18px;padding:20px 20px 18px;box-shadow:var(--sh);transition:transform .3s cubic-bezier(.2,1.6,.4,1)}
.feature:hover{transform:rotate(-1.5deg) translateY(-4px)}
.feature__ico{width:54px;height:54px;margin-bottom:10px;animation:bob 3s ease-in-out infinite}
.feature:nth-child(2n) .feature__ico{animation-delay:-1.2s}
.feature:nth-child(3n) .feature__ico{animation-delay:-2s}
.feature h3{font:400 1.2rem/1.1 var(--f-display);text-transform:uppercase;margin-bottom:6px}
.feature p{margin:0;font-size:.98rem}
.zv__grid{display:grid;grid-template-columns:1fr;gap:clamp(20px,3vw,34px);margin-top:clamp(40px,5vw,64px);align-items:start}
.mapcard{background:var(--cream);border:var(--b);border-radius:20px;padding:16px;box-shadow:var(--sh-lg)}
.mapcard__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 4px 12px}
.mapcard__head h3{font:400 clamp(26px,3vw,36px)/1 var(--f-display);text-transform:uppercase}
.tag{font:800 .7rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.1em;border:2.5px solid var(--ink);border-radius:999px;padding:.5em .8em;background:var(--yellow)}
.map{display:block;width:100%;height:auto;border:var(--b);border-radius:12px}
.map__lbl{font:400 13px var(--f-display);fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:var(--cream);stroke-width:4px}
.map__lbl--w{fill:#fff;stroke:none;font-size:14px}
.map__lake{font:400 16px var(--f-display);fill:#fff;text-anchor:middle;letter-spacing:.2em}
.map__p{font:400 14px var(--f-display);fill:var(--yellow);text-anchor:middle}
.pin{animation:pin 2.4s ease-in-out infinite;animation-delay:var(--d);transform-box:fill-box;transform-origin:50% 100%}
@keyframes pin{0%,70%,100%{transform:translateY(0)}80%{transform:translateY(-9px)}90%{transform:translateY(0)}}
.ripples{animation:ripple 3s ease-in-out infinite}
@keyframes ripple{0%,100%{transform:translateX(0)}50%{transform:translateX(12px)}}
.entry path{animation:nudge 1.2s ease-in-out infinite}
@keyframes nudge{50%{transform:translateX(6px)}}
.zv__side{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,30px);align-items:start}
.newsbox,.howto{background:var(--cream);border:var(--b);border-radius:20px;padding:22px;box-shadow:var(--sh)}
.newsbox h3{font:400 1.2rem/1.2 var(--f-display);text-transform:uppercase;margin-bottom:16px}
.mark{display:inline-block;background:var(--yellow);border:2.5px solid var(--ink);border-radius:8px;padding:.25em .5em;box-shadow:3px 3px 0 var(--ink);transform:rotate(-1.5deg)}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{position:relative;padding-left:32px;font-weight:600}
.checks li::before{content:"";position:absolute;left:0;top:-1px;width:22px;height:22px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 9 63.5 34.4 91.8 39.4 71.9 60.1 75.9 88.6 50 76 24.1 88.6 28.1 60.1 8.2 39.4 36.5 34.4Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 9 63.5 34.4 91.8 39.4 71.9 60.1 75.9 88.6 50 76 24.1 88.6 28.1 60.1 8.2 39.4 36.5 34.4Z'/%3E%3C/svg%3E") center/contain no-repeat;color:var(--magenta)}
.checks li:nth-child(2n)::before{color:#12C28C}
.howto h3{font:400 1.2rem/1.2 var(--f-display);text-transform:uppercase;margin-bottom:12px}
.howto dl{margin:0;display:grid;gap:12px}
.howto dt{display:inline-block;font:800 .72rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.1em;background:var(--ink);color:var(--mint);padding:.45em .6em;border-radius:6px;margin-bottom:4px}
.howto dd{margin:0;font-size:.95rem;line-height:1.45}
.clothesline{position:relative;margin-top:clamp(50px,6vw,80px);display:flex;justify-content:space-between;gap:12px;padding-top:20px}
.rope{position:absolute;left:-2%;right:-2%;top:0;width:104%;max-width:none;height:60px}
.hang{margin:0;flex:1;max-width:220px;background:#fff;border:var(--b);padding:8px 8px 30px;box-shadow:var(--sh-sm);position:relative;transform-origin:50% -10px;animation:sway 3.6s ease-in-out infinite;animation-delay:var(--d)}
.hang:nth-child(3),.hang:nth-child(5){margin-top:22px}
.hang:nth-child(4){margin-top:30px}
.hang::before{content:"";position:absolute;top:-14px;left:50%;width:12px;height:26px;margin-left:-6px;background:var(--pink);border:2.5px solid var(--ink);border-radius:3px}
.hang:nth-child(odd)::before{background:var(--yellow)}
.hang img{aspect-ratio:1/1;object-fit:cover;width:100%;border:2px solid var(--ink)}
.hang figcaption{position:absolute;left:0;right:0;bottom:3px;text-align:center;font:700 20px/1 var(--f-hand)}

/* ---------- RETRO ---------- */
.retro{background:var(--ink);color:var(--cream);overflow:hidden}
.dots--retro{inset:0;--dot:rgba(255,40,132,.35);-webkit-mask:linear-gradient(135deg,#000,transparent 55%);mask:linear-gradient(135deg,#000,transparent 55%)}
.retro .sec-title{color:var(--cream)}
.retro .hl::before{border-color:var(--cream);box-shadow:4px 4px 0 var(--mint)}
.retro__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:end}
.gadget{position:relative;display:flex;flex-direction:column;align-items:center;gap:26px;text-decoration:none;color:inherit}
.gadget__cta{animation:breathe 2.2s ease-in-out infinite}
.gadget:hover .gadget__cta{animation:none;transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--cream)}
.retro .btn{box-shadow:4px 4px 0 var(--cream);border-color:var(--ink)}
.boombox{width:min(100%,460px);overflow:visible;animation:boom .5s cubic-bezier(.4,0,.6,1) infinite alternate;transform-origin:50% 100%;filter:drop-shadow(8px 10px 0 rgba(28,255,182,.35))}
@keyframes boom{from{transform:translateY(0) scale(1,1)}to{transform:translateY(-14px) scale(.985,1.02)}}
.gadget--radio:hover .boombox{animation-duration:.28s}
.boombox__label{font:400 21px var(--f-display);fill:var(--yellow);text-anchor:middle;letter-spacing:.06em}
.boombox__tape{font:800 8px var(--f-body);fill:var(--ink);text-anchor:middle;letter-spacing:.08em}
.spk{animation:thump .5s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
.spk--r{animation-delay:-.25s}
@keyframes thump{from{transform:scale(1)}to{transform:scale(1.07)}}
.reel{animation:spin 1.6s linear infinite}
.eq rect{transform-box:fill-box;transform-origin:50% 100%;animation:eq .9s ease-in-out infinite alternate}
.eq rect:nth-child(2){animation-delay:-.2s;animation-duration:.7s}.eq rect:nth-child(3){animation-delay:-.5s;animation-duration:1.1s}.eq rect:nth-child(4){animation-delay:-.1s;animation-duration:.6s}.eq rect:nth-child(5){animation-delay:-.7s;animation-duration:.85s}.eq rect:nth-child(6){animation-delay:-.35s;animation-duration:1s}
@keyframes eq{from{transform:scaleY(.15)}to{transform:scaleY(1)}}
.antenna{animation:wiggle 1.4s ease-in-out infinite;transform-origin:330px 64px}
.notes-fly{position:absolute;inset:0 10% 40%;pointer-events:none}
.notes-fly i{position:absolute;bottom:0;font:700 34px/1 var(--f-body);font-style:normal;color:var(--mint);animation:note-up 3.4s ease-out infinite;opacity:0}
.notes-fly i:nth-child(1){left:6%}.notes-fly i:nth-child(2){left:28%;color:var(--yellow);animation-delay:-.7s}.notes-fly i:nth-child(3){left:52%;color:var(--pink);animation-delay:-1.4s}.notes-fly i:nth-child(4){left:74%;color:var(--blue);animation-delay:-2.1s}.notes-fly i:nth-child(5){left:92%;animation-delay:-2.8s}
@keyframes note-up{0%{transform:translateY(40px) rotate(-10deg);opacity:0}15%{opacity:1}100%{transform:translateY(-120px) rotate(20deg);opacity:0}}
/* TV */
.tv{width:min(100%,440px);position:relative;animation:tv-hop 3s ease-in-out infinite}
@keyframes tv-hop{0%,86%,100%{transform:translateY(0) rotate(0)}90%{transform:translateY(-10px) rotate(-2deg)}95%{transform:translateY(0) rotate(1deg)}}
.tv__antenna{height:70px;position:relative}
.tv__antenna i{position:absolute;bottom:0;left:50%;width:6px;height:86px;background:var(--cream);border:2px solid var(--ink);border-radius:4px;transform-origin:50% 100%}
.tv__antenna i::after{content:"";position:absolute;top:-10px;left:-6px;width:14px;height:14px;border-radius:50%;background:var(--pink);border:2px solid var(--ink)}
.tv__antenna i:nth-child(1){animation:ant-l 2.2s ease-in-out infinite}
.tv__antenna i:nth-child(2){animation:ant-r 2.6s ease-in-out infinite}
@keyframes ant-l{0%,100%{transform:rotate(-34deg)}50%{transform:rotate(-24deg)}}
@keyframes ant-r{0%,100%{transform:rotate(30deg)}50%{transform:rotate(42deg)}}
.tv__body{position:relative;display:grid;grid-template-columns:1fr 76px;gap:14px;background:var(--magenta);border:4px solid var(--ink);border-radius:26px;padding:18px;box-shadow:8px 10px 0 rgba(63,169,245,.45)}
.tv__screen{position:relative;aspect-ratio:4/3;border:4px solid var(--ink);border-radius:26px/32px;overflow:hidden;background:#222;box-shadow:inset 0 0 40px rgba(0,0,0,.8)}
.tv__noise{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;opacity:.9}
.tv__scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0 2px,transparent 2px 4px)}
@keyframes scan{to{background-position:0 4px}}
.tv__roll{position:absolute;left:0;right:0;top:0;height:30%;background:linear-gradient(transparent,rgba(255,255,255,.18),transparent);animation:roll 3.5s linear infinite}
@keyframes roll{from{transform:translateY(-100%)}to{transform:translateY(340%)}}
.tv__text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;animation:flicker 4s steps(1) infinite}
.tv__text b{font:400 clamp(22px,3.2vw,34px)/1 var(--f-display);color:#fff;text-shadow:3px 0 0 var(--pink),-3px 0 0 var(--mint);background:rgba(16,16,20,.72);padding:.08em .3em}
.tv__text span{margin-top:10px;display:inline-flex;align-items:center;gap:6px;font:800 .9rem/1 var(--f-body);letter-spacing:.14em;background:var(--yellow);color:var(--ink);padding:.5em .8em;border:2.5px solid var(--ink);border-radius:8px;animation:breathe 1.2s ease-in-out infinite}
@keyframes flicker{0%,100%{opacity:1}42%{opacity:.4;transform:translateX(4px)}43%{opacity:1;transform:none}77%{opacity:.7;transform:skewX(8deg)}78%{opacity:1;transform:none}}
.tv__ch{position:absolute;top:10px;right:14px;font:700 16px/1 ui-monospace,Menlo,Consolas,monospace;color:var(--mint);text-shadow:0 0 6px var(--mint);animation:blink 1.4s steps(1) infinite}
.tv__panel{display:flex;flex-direction:column;align-items:center;gap:16px;padding-top:6px}
.knob{width:46px;height:46px;border-radius:50%;background:var(--cream);border:4px solid var(--ink);position:relative;animation:knob 5s ease-in-out infinite}
.knob::after{content:"";position:absolute;top:3px;left:50%;width:5px;height:14px;margin-left:-2.5px;background:var(--ink);border-radius:3px}
.knob--2{animation-delay:-2s;background:var(--yellow)}
@keyframes knob{0%,100%{transform:rotate(-40deg)}50%{transform:rotate(80deg)}}
.grill{flex:1;width:100%;min-height:60px;background:repeating-linear-gradient(0deg,var(--ink) 0 3px,transparent 3px 8px);border-radius:6px}
.tv__legs{display:flex;justify-content:space-between;padding-inline:18%}
.tv__legs i{width:16px;height:24px;background:var(--ink);border-radius:0 0 6px 6px}
.tv__legs i:first-child{transform:skewX(14deg)}.tv__legs i:last-child{transform:skewX(-14deg)}
.gadget--tv:hover .tv{animation-duration:.8s}

/* ---------- VIDEOS ---------- */
.vhs-grid{display:grid;gap:clamp(20px,2.6vw,34px)}
.vhs{display:flex;flex-direction:column;gap:0;padding:16px 16px 18px;background:var(--ink);border:var(--b);border-radius:14px;box-shadow:6px 6px 0 var(--c);text-align:left;transition:transform .3s cubic-bezier(.2,1.6,.4,1)}
.vhs:not(.is-playing):hover{transform:rotate(-1.2deg) translateY(-6px)}
.vhs__screen{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;border:3px solid var(--cream);display:block;width:100%;padding:0;background:#000;cursor:pointer}
.vhs__screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vhs.is-playing .vhs__screen{cursor:default}
.vhs.is-playing .vhs__screen::after{display:none}
.vhs.is-playing .vhs__rec{color:var(--pink)}
.vhs__screen img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.vhs:hover .vhs__screen img{transform:scale(1.08)}
.vhs__screen::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 2px,transparent 2px 4px);pointer-events:none}
.vhs__rec{position:absolute;top:8px;left:10px;font:700 13px/1 ui-monospace,Menlo,Consolas,monospace;color:#fff;text-shadow:0 0 4px #000;animation:blink 1s steps(1) infinite;z-index:1}
.vhs__time{position:absolute;bottom:8px;right:10px;font:700 13px/1 ui-monospace,Menlo,Consolas,monospace;color:#fff;text-shadow:0 0 4px #000;z-index:1}
.vhs__play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;display:grid;place-items:center;background:var(--c);border:3px solid var(--ink);border-radius:50%;box-shadow:4px 4px 0 var(--ink);animation:breathe 1.4s ease-in-out infinite;z-index:1}
.vhs__play svg{width:30px;height:30px;margin-left:4px}
.vhs__label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;background:var(--c);border:3px solid var(--ink);border-radius:6px;padding:.55em .7em;color:var(--ink)}
.vhs__label b{font:400 1.4rem/1 var(--f-display);text-transform:uppercase}
.vhs__label span{font:700 .8rem/1.1 var(--f-body);text-align:right}

/* ---------- GALLERY ---------- */
.gallery{padding-block:clamp(56px,7vw,90px);background:var(--pink);border-block:var(--b);overflow:hidden}
.gallery__title{font:400 clamp(34px,5vw,64px)/1 var(--f-display);text-transform:uppercase;color:var(--cream);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--ink);margin-bottom:28px}
.marquee--photos{padding-block:14px}
.marquee--photos:hover .marquee__track{animation-play-state:paused}
.shot{flex:none;margin-right:22px;padding:8px;background:#fff;border:var(--b);box-shadow:var(--sh-sm);transform:rotate(-2deg);transition:transform .25s}
.shot:nth-child(even){transform:rotate(2deg)}
.shot:hover{transform:rotate(0) scale(1.06);z-index:2}
.shot img{height:clamp(150px,18vw,220px);width:auto;aspect-ratio:3/2;object-fit:cover;border:2px solid var(--ink)}

/* ---------- NEWS ---------- */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,32px)}
.post-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--paper);border:var(--b);border-radius:18px;overflow:hidden;box-shadow:var(--sh);transition:transform .3s cubic-bezier(.2,1.6,.4,1),box-shadow .3s}
.post-card:hover{transform:rotate(-1.2deg) translateY(-6px);box-shadow:var(--sh-lg)}
.post-card__img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;border-bottom:var(--b)}
.post-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.post-card:hover .post-card__img img{transform:scale(1.07)}
.post-card__body{display:flex;flex-direction:column;gap:10px;padding:18px 20px 20px;flex:1}
.post-card__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:800 .74rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.08em}
.post-card__meta time{background:var(--yellow);border:2px solid var(--ink);padding:.4em .6em;border-radius:6px}
.post-card__meta .src{color:var(--ink-2)}
.post-card__title{font:400 1.18rem/1.2 var(--f-display);text-wrap:balance}
.post-card__ex{font-size:.98rem;line-height:1.5}
.post-card__more{margin-top:auto;display:inline-flex;align-items:center;gap:.4em;font:800 .82rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.06em;color:var(--magenta)}
.post-card:hover .post-card__more .ico{animation:nudge .6s ease-in-out infinite}
.post-card--feat{grid-column:1/-1;flex-direction:row;background:var(--mint)}
.post-card--feat .post-card__img{flex:1.1;aspect-ratio:auto;min-height:320px;border-bottom:0;border-right:var(--b)}
.post-card--feat .post-card__body{flex:1;padding:clamp(22px,3vw,36px);gap:14px;justify-content:center}
.post-card--feat .post-card__title{font-size:clamp(1.4rem,2.4vw,2rem)}
.post-card--feat .post-card__more{margin-top:8px;color:var(--ink)}
.new-sticker{position:absolute;top:12px;left:12px;width:116px;height:116px;display:grid;place-items:center}
.new-sticker svg{position:absolute;inset:0;width:100%;height:100%;color:var(--yellow);animation:spin 8s linear infinite}
.new-sticker b{position:relative;font:400 .9rem/1 var(--f-display);margin-top:8px;animation:breathe 1.2s ease-in-out infinite}

/* ---------- FAQ ---------- */
.faq{background:var(--paper);border-top:var(--b)}
.faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,70px);align-items:start}
.faq__side{position:sticky;top:110px}
.faq__filters{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}
.fchip{font:800 .8rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.04em;padding:.7em 1em;border:var(--b);border-radius:999px;background:var(--cream);box-shadow:3px 3px 0 var(--ink);transition:transform .15s,background .2s}
.fchip:hover{transform:translate(-1px,-1px) rotate(-2deg)}
.fchip.is-on{background:var(--ink);color:var(--yellow);box-shadow:3px 3px 0 var(--pink)}
.faq__help{border:var(--b);border-radius:16px;padding:18px;background:var(--yellow);box-shadow:var(--sh);transform:rotate(-1deg)}
.faq__help p{margin-bottom:12px}
.faq__help-btns{display:flex;flex-wrap:wrap;gap:10px}
.faq__list{display:grid;gap:14px}
.qa{border:var(--b);border-radius:16px;background:var(--cream);box-shadow:var(--sh-sm);transition:box-shadow .2s,transform .2s,background .2s}
.qa[hidden]{display:none!important}
.qa.open{background:#fff;box-shadow:6px 6px 0 var(--mint),6px 6px 0 3px var(--ink)}
.qa h3{font:inherit}
.qa__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;background:none;border:0;padding:18px 20px;font:700 1.06rem/1.35 var(--f-body)}
.qa__ico{flex:none;width:34px;height:34px;border:var(--b);border-radius:10px;background:var(--mint);position:relative;transition:transform .35s cubic-bezier(.2,1.6,.4,1),background .2s}
.qa__ico::before,.qa__ico::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:3px;margin:-1.5px 0 0 -7px;background:var(--ink);border-radius:2px}
.qa__ico::after{transform:rotate(90deg)}
.qa.open .qa__ico{transform:rotate(135deg);background:var(--pink)}
.qa__q:hover .qa__ico{animation:wiggle .5s ease-in-out}
.qa__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
.qa.open .qa__a{grid-template-rows:1fr}
.qa__a>div{overflow:hidden;padding-inline:20px}
.qa__a>div>:first-child{margin-top:0}
.qa__a>div>:last-child{margin-bottom:20px}
.qa__a ul{margin:0 0 1em;padding-left:1.2em}
.qa__a li{margin-bottom:.3em}
.qa__a a{font-weight:700;color:#0F6FB5}
.sched{display:grid;gap:8px;margin:0 0 1em}
.sched div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:10px 12px;border:2px solid var(--ink);border-radius:10px;background:var(--cream)}
.sched b{font-weight:800}

/* ---------- FOLLOW ---------- */
.follow{position:relative;background:var(--mint);border-top:var(--b);padding-block:clamp(64px,8vw,110px);overflow:hidden;text-align:center;isolation:isolate}
.follow::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(16,16,20,.14) 2px,transparent 2.6px);background-size:18px 18px}
.follow__inner{position:relative;z-index:1}
.follow__title{font:400 clamp(34px,6vw,76px)/1 var(--f-display);text-transform:uppercase;color:var(--pink);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:5px 5px 0 var(--ink);margin-bottom:.35em}
.follow p{font-size:1.15rem;font-weight:500;max-width:48ch;margin-inline:auto}
.follow__btns{display:flex;justify-content:center;flex-wrap:wrap;gap:22px;margin-top:28px}
.social-big{display:flex;align-items:center;gap:16px;padding:16px 26px 16px 18px;background:var(--c);border:var(--b);border-radius:18px;box-shadow:var(--sh);text-decoration:none;color:var(--ink);transition:transform .2s cubic-bezier(.2,1.6,.4,1)}
.social-big:hover{transform:rotate(-3deg) scale(1.05)}
.social-big svg{width:54px;height:54px;padding:8px;background:var(--cream);border:var(--b);border-radius:14px;animation:bob 2s ease-in-out infinite}
.social-big:nth-child(2) svg{animation-delay:-1s}
.social-big span{display:flex;flex-direction:column;align-items:flex-start;font:400 1.5rem/1 var(--f-display);text-transform:uppercase}
.social-big small{font:700 .9rem/1.2 var(--f-body);text-transform:none;margin-top:4px}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--ink);color:var(--cream);border-top:var(--b)}
.footer__grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;gap:36px;padding-block:clamp(50px,6vw,80px)}
.footer__brand img{width:min(240px,100%);animation:logo 4s ease-in-out infinite}
.footer__col h3{font:400 1.1rem/1 var(--f-display);text-transform:uppercase;color:var(--yellow);margin-bottom:16px}
.footer__col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.footer__col a{text-decoration:none;font-weight:500}
.footer__col a:hover{color:var(--mint);text-decoration:underline}
.footer__col p{font-size:.95rem}
.footer__social a{display:inline-flex;align-items:center;gap:10px}
.footer__social .ico{width:22px;height:22px;color:var(--mint)}
.footer__legal{margin-top:14px!important;font-size:.9rem}
.footer__bottom{border-top:var(--b);border-color:#2c2c36}
.footer__bottom .marquee{background:var(--yellow);color:var(--ink);font:400 1rem/1 var(--f-display);padding-block:.7em;border-bottom:var(--b)}
.footer__bottom .marquee span{padding-inline:1em}
.footer__bottom .marquee i{font-style:normal;color:var(--magenta)}
.footer__copy{margin-block:0;padding-block:18px calc(18px + env(safe-area-inset-bottom,0px));font-size:.85rem;opacity:.75}

/* ---------- MODALS ---------- */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px;overflow-y:auto}
.modal[hidden]{display:none!important}
.modal__backdrop{position:fixed;inset:0;background:rgba(16,16,20,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade .3s ease}
@keyframes fade{from{opacity:0}}
.modal__x{position:absolute;top:-16px;right:-16px;z-index:3;width:48px;height:48px;border:var(--b);border-radius:50%;background:var(--cream);box-shadow:3px 3px 0 var(--ink);display:grid;place-items:center;padding:0;transition:transform .2s}
.modal__x:hover{transform:rotate(90deg)}
.modal__x svg{width:22px;height:22px}
body.is-modal-open{overflow:hidden}
/* promo */
.promo{position:relative;width:min(100%,500px);margin-block:24px;background:var(--yellow);border:4px solid var(--ink);border-radius:26px;box-shadow:12px 12px 0 var(--ink);padding:44px clamp(20px,5vw,40px) 26px;text-align:center;animation:pop-in .6s cubic-bezier(.2,1.6,.4,1) both;transform:rotate(-1deg)}
.promo::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:22px;background-image:radial-gradient(rgba(16,16,20,.12) 1.8px,transparent 2.3px);background-size:14px 14px;pointer-events:none}
.promo__ribbon{position:absolute;top:-22px;left:50%;margin:0;transform:translateX(-50%) rotate(-3deg);background:var(--pink);color:#fff;border:3px solid var(--ink);border-radius:10px;padding:.5em 1.1em;font:400 1.15rem/1 var(--f-display);text-transform:uppercase;white-space:nowrap;box-shadow:4px 4px 0 var(--ink);animation:wiggle 2s ease-in-out infinite}
.promo__wave{margin:0 0 0;padding-top:4px;font:700 1.7rem/1 var(--f-hand)}
.promo__burst{position:relative;width:190px;height:190px;margin:6px auto 4px;display:grid;place-items:center}
.promo__burst svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 14s linear infinite}
.promo__burst span{position:relative;display:flex;flex-direction:column;align-items:center;color:#fff;animation:breathe 1.3s ease-in-out infinite}
.promo__burst b{font:400 2.3rem/1 var(--f-display);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink);white-space:nowrap}
.promo__burst small{font:800 .95rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.14em;margin-top:6px;color:var(--ink);background:var(--cream);border:2px solid var(--ink);padding:.3em .6em;border-radius:6px}
.promo__title{font:400 clamp(1.6rem,4.4vw,2.1rem)/1 var(--f-display);text-transform:uppercase}
.promo__date{margin:8px 0 12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem}
.promo__text{font-size:1rem;max-width:36ch;margin-inline:auto}
.promo__btns{display:grid;gap:12px;margin-top:6px}
.promo .btn{white-space:normal}
.promo__later{margin-top:14px;background:none;border:0;font-weight:700;text-decoration:underline;font-size:.92rem}
.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.confetti i{position:absolute;top:-20px;width:10px;height:16px;border:1.5px solid var(--ink);animation:confetti var(--t,3s) cubic-bezier(.3,.6,.6,1) var(--dl,0s) forwards}
@keyframes confetti{0%{transform:translateY(0) rotate(0)}100%{transform:translateY(110vh) rotate(720deg)}}
/* reader */
.reader{position:relative;width:min(100%,780px);margin-block:30px;background:var(--paper);border:4px solid var(--ink);border-radius:22px;box-shadow:12px 12px 0 var(--ink);animation:pop-in .5s cubic-bezier(.2,1.4,.4,1) both;transform:rotate(0)}
.reader__hero{aspect-ratio:21/9;overflow:hidden;border-bottom:4px solid var(--ink);border-radius:18px 18px 0 0}
.reader__hero img{width:100%;height:100%;object-fit:cover}
.reader__body{padding:clamp(22px,4vw,44px)}
.reader__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.reader__meta span{font:800 .75rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.08em;background:var(--yellow);border:2px solid var(--ink);padding:.45em .6em;border-radius:6px}
.reader h2{font:400 clamp(1.6rem,3.6vw,2.4rem)/1.1 var(--f-display);margin-bottom:.6em}
.reader h3{font:400 1.2rem/1.2 var(--f-display);text-transform:uppercase;margin:1.6em 0 .6em}
.reader .lead{font-size:1.15rem;font-weight:500}
.reader ul{padding-left:1.2em}
.reader li{margin-bottom:.35em}
.reader .note{background:var(--mint);border:2px solid var(--ink);border-radius:10px;padding:.8em 1em;font-weight:600}
.post-ext{margin-top:1.6em}
.post-ext .btn{white-space:normal}
/* media */
.media{position:relative;width:min(100%,1000px);animation:pop-in .45s cubic-bezier(.2,1.4,.4,1) both;transform:none}
.media__inner{border:4px solid var(--ink);border-radius:16px;overflow:hidden;background:var(--ink);box-shadow:10px 10px 0 var(--pink)}
.media__inner iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
.media__inner img{width:100%;max-height:82vh;object-fit:contain}
.media__fallback{padding:clamp(24px,5vw,50px);text-align:center;color:var(--cream)}
.media__fallback p{font:400 1.4rem/1.2 var(--f-display);margin-bottom:18px}

/* ---------- CURSOR SPARKLES ---------- */
.spark{position:fixed;left:0;top:0;width:var(--sz,18px);height:var(--sz,18px);pointer-events:none;z-index:120;opacity:0;will-change:transform,opacity}
.spark.go{animation:spark .75s ease-out forwards}
@keyframes spark{0%{opacity:1;transform:translate(var(--x),var(--y)) scale(.4) rotate(0)}15%{opacity:1;transform:translate(var(--x),var(--y)) scale(1.15) rotate(40deg)}100%{opacity:0;transform:translate(calc(var(--x) + var(--dx)),calc(var(--y) + var(--dy,50px))) scale(.2) rotate(260deg)}}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1000px){
  .artists{grid-template-columns:repeat(2,1fr)}
  .stats__grid{grid-template-columns:repeat(2,1fr)}
  .ticket-grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto}
  .zv__intro{grid-template-columns:1fr}
  .zv__grid{grid-template-columns:1fr}
  .features{grid-template-columns:repeat(2,1fr)}
  .faq__grid{grid-template-columns:1fr}
  .faq__side{position:static}
  .footer__grid{grid-template-columns:1fr 1fr}
  .news-grid{grid-template-columns:1fr 1fr}
  .post-card--feat{flex-direction:column}
  .post-card--feat .post-card__img{min-height:0;aspect-ratio:16/9;border-right:0;border-bottom:var(--b)}
}
@media (max-width:900px){
  .hero__grid{grid-template-columns:1fr}
  .hero__grid{grid-template-areas:"art" "copy" "cd" "buy"}
  .hero__art{max-width:440px;margin-bottom:-10px}
  .hero__cd{justify-self:start;text-align:left}
  .hero__cd .countdown{justify-content:flex-start}
  .retro__grid{grid-template-columns:1fr;gap:70px}
  .vhs-grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto}
}
@media (max-width:640px){
  body{font-size:16px}
  .t-big{-webkit-text-stroke:2px var(--ink);text-shadow:3px 3px 0 var(--ink)}
  .features{grid-template-columns:1fr}
  .news-grid{grid-template-columns:1fr}
  .artists{gap:26px 22px}
  .artist__card{padding:7px}
  .badge{font-size:.52rem;top:6px;left:6px;letter-spacing:.03em;white-space:nowrap;padding:.45em .55em}
  .pricebar{padding:12px}
  .btn--wave{min-width:0;flex:1 1 100%}
  .burst{right:-6px;top:-40px;width:96px;height:96px}
  .clothesline{flex-wrap:wrap;justify-content:center;gap:26px 14px}
  .hang{flex:0 0 calc(50% - 10px);margin-top:0!important}
  .hang:nth-child(5){display:none}
  .rope{display:none}
  .zv__photo{padding:0 0 16% 0}
  .polaroid--zv{left:-2%;width:52%}
  .tapes{height:120px}
  .footer__grid{grid-template-columns:1fr}
  .stats__grid{gap:24px 14px}
  .tv__body{grid-template-columns:1fr 54px;padding:12px;gap:10px}
  .knob{width:36px;height:36px}
  .social-big{width:100%;justify-content:center}
  .modal__x{top:-12px;right:-6px}
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
}

/* =========================================================
   v3 – doplnky
   ========================================================= */
/* hero – veľký dátum a miesto */
.bigchips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 14px}
.bigchip{font:400 clamp(26px,3.3vw,44px)/1 var(--f-display);text-transform:uppercase;padding:.2em .32em .16em;border:3px solid var(--ink);box-shadow:var(--sh);letter-spacing:-.01em}
.bigchip--date{background:var(--yellow);transform:rotate(-1.5deg);animation:chip-a 4s ease-in-out infinite}
.bigchip--place{background:var(--mint);transform:rotate(1deg);animation:chip-b 4s ease-in-out infinite}
.bigchip--city{background:var(--magenta);color:#fff;font-size:clamp(17px,2vw,24px);padding:.45em .6em .4em;transform:rotate(-.8deg)}
@keyframes chip-a{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(-.3deg) translateY(-3px)}}
@keyframes chip-b{0%,100%{transform:rotate(1deg)}50%{transform:rotate(2.2deg) translateY(-3px)}}
.t-big{font-size:clamp(42px,6.2vw,88px)}
.hero__title::before{inset:0 -4% 2% -6%}
.hero__title{margin-bottom:26px}

/* logo – interakcia */
@keyframes boing{0%{transform:scale(1)}15%{transform:scale(1.25,.75) rotate(-6deg)}30%{transform:scale(.85,1.2) rotate(8deg) translateY(-24px)}50%{transform:scale(1.08,.94) rotate(-360deg)}70%{transform:scale(.97,1.04) rotate(-362deg)}100%{transform:scale(1) rotate(-360deg)}}
.logo-hint{position:absolute;right:0;top:-2%;z-index:4;font:700 clamp(20px,2.2vw,26px)/1 var(--f-hand);color:var(--magenta);background:var(--cream);border:2.5px solid var(--ink);border-radius:14px;padding:.25em .55em;box-shadow:3px 3px 0 var(--ink);transform:rotate(6deg);animation:hint 2.4s ease-in-out infinite;pointer-events:none}
.logo-hint::after{content:"";position:absolute;left:18px;bottom:-11px;width:16px;height:16px;background:var(--cream);border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:rotate(45deg)}
@keyframes hint{0%,100%{transform:rotate(6deg) translateY(0)}50%{transform:rotate(3deg) translateY(-8px)}}
.logo-fx{position:absolute;left:50%;top:45%;width:0;height:0;z-index:5;pointer-events:none}
.logo-fx .p{position:absolute;left:-14px;top:-14px;width:28px;height:28px;animation:burst .9s cubic-bezier(.15,.7,.3,1) forwards}
@keyframes burst{0%{transform:translate(0,0) scale(.3) rotate(0);opacity:1}80%{opacity:1}100%{transform:translate(var(--tx),var(--ty)) scale(1) rotate(var(--rot));opacity:0}}
.logo-fx .bubble{position:absolute;left:50%;bottom:120px;transform:translateX(-50%);white-space:nowrap;font:400 clamp(16px,1.8vw,22px)/1 var(--f-display);text-transform:uppercase;background:var(--yellow);border:3px solid var(--ink);border-radius:14px;padding:.45em .7em;box-shadow:4px 4px 0 var(--ink);animation:bubble 1.8s cubic-bezier(.2,1.6,.4,1) forwards}
@keyframes bubble{0%{transform:translateX(-50%) scale(0) rotate(-10deg)}15%{transform:translateX(-50%) scale(1.1) rotate(3deg)}25%,80%{transform:translateX(-50%) scale(1) rotate(-2deg);opacity:1}100%{transform:translateX(-50%) translateY(-30px) scale(.9);opacity:0}}
.hero__art .polaroid{padding-bottom:22px}

/* karty interpretov – klik */
.artist__open{position:absolute;inset:0;z-index:5;width:100%;height:100%;border:0;background:transparent;cursor:pointer;border-radius:18px}
.artist__open:focus-visible{outline:4px solid var(--magenta);outline-offset:4px}
.artist__more{align-self:center;margin-top:6px;display:inline-flex;align-items:center;gap:.4em;font:800 .7rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.1em;background:var(--ink);color:var(--yellow);padding:.55em .8em;border-radius:999px;transition:transform .2s}
.artist__more b{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:.8rem;animation:breathe 1.2s ease-in-out infinite}
.artist:hover .artist__more{transform:scale(1.08) rotate(-2deg)}
.artist__sticker--drive{bottom:-1%;left:0;width:60%;animation:drive 7s linear infinite;animation-delay:-3s}
@keyframes drive{0%{transform:translateX(-105%)}100%{transform:translateX(175%)}}
.bus{animation:bus-bob .35s ease-in-out infinite alternate}
@keyframes bus-bob{from{transform:translateY(0)}to{transform:translateY(-3px)}}
.wheel{animation:spin .5s linear infinite}
.bus__head{animation:bob .5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.bus__head:nth-of-type(2n){animation-delay:-.25s}
.bus__txt{font:400 10px var(--f-display);fill:var(--yellow);text-anchor:middle;letter-spacing:.08em}
.bus__notes text{font:700 20px var(--f-body);fill:var(--ink);animation:note-bus 1.4s ease-out infinite}
.bus__notes text:nth-child(2){animation-delay:-.5s}.bus__notes text:nth-child(3){animation-delay:-1s}
@keyframes note-bus{0%{transform:translateY(10px);opacity:0}30%{opacity:1}100%{transform:translateY(-14px);opacity:0}}

/* okno interpreta */
.amodal{position:relative;width:min(100%,940px);margin-block:30px;background:var(--paper);border:4px solid var(--ink);border-radius:24px;box-shadow:12px 12px 0 var(--ac,var(--pink));animation:pop-in .5s cubic-bezier(.2,1.4,.4,1) both;transform:none}
.amodal__inner{display:grid;grid-template-columns:.95fr 1.05fr}
.amodal__photo{position:relative;border-right:4px solid var(--ink);background:var(--ac,var(--pink));background-image:radial-gradient(rgba(16,16,20,.18) 2px,transparent 2.6px);background-size:14px 14px;overflow:hidden;border-radius:20px 0 0 20px}
.amodal__photo img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-bottom:4px solid var(--ink)}
.amodal__photo .badge{top:14px;left:14px;font-size:.78rem}
.amodal__body{padding:clamp(22px,3.5vw,40px)}
.amodal__body h2{font:400 clamp(2rem,4.6vw,3.4rem)/1 var(--f-display);text-transform:uppercase;color:var(--ac,var(--pink));-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--ink)}
.amodal__body .bio__meta{display:inline-block;margin:14px 0 16px;font:800 .75rem/1.2 var(--f-body);text-transform:uppercase;letter-spacing:.1em;background:var(--ink);color:var(--mint);padding:.55em .8em;border-radius:8px}
.amodal__body p{font-size:1rem}
.amodal__body h3{font:400 1.1rem/1 var(--f-display);text-transform:uppercase;margin:22px 0 10px}
.hits{list-style:none;counter-reset:hit;margin:0 0 20px;padding:0;display:grid;gap:8px}
.hits li{counter-increment:hit}
.hits a{display:flex;align-items:center;gap:12px;text-decoration:none;background:var(--cream);border:2.5px solid var(--ink);border-radius:10px;padding:.55em .7em;box-shadow:3px 3px 0 var(--ink);font-weight:700;transition:transform .15s,background .2s}
.hits a::before{content:counter(hit,decimal-leading-zero);font:400 .95rem/1 var(--f-display);color:var(--ac,var(--pink));-webkit-text-stroke:1px var(--ink);min-width:1.8em}
.hits a span{flex:1}
.hits a .ico{color:var(--ink);width:1.1em;height:1.1em}
.hits a:hover{transform:translate(-2px,-2px) rotate(-1deg);background:var(--yellow)}
.hits li:first-child a{animation:breathe 2s ease-in-out infinite}
.amodal__cta{display:flex;flex-wrap:wrap;gap:10px}

/* kvalita vody – 5 hviezd */
.quality--water{background:var(--cream);text-decoration:none;color:var(--ink);gap:4px;padding:.8em 1.1em;transition:transform .2s}
.quality--water:hover{transform:rotate(0) scale(1.04)}
.quality__v{font:400 1.6rem/1.1 var(--f-display);text-transform:uppercase}
.stars5{display:flex;gap:3px;margin:2px 0}
.stars5 svg{width:30px;height:30px;color:var(--yellow);overflow:visible;animation:star-pop 2.6s ease-in-out infinite}
.stars5 svg:nth-child(2){animation-delay:.15s}.stars5 svg:nth-child(3){animation-delay:.3s}.stars5 svg:nth-child(4){animation-delay:.45s}.stars5 svg:nth-child(5){animation-delay:.6s}
@keyframes star-pop{0%,60%,100%{transform:scale(1) rotate(0)}10%{transform:scale(1.45) rotate(-18deg);color:var(--magenta)}20%{transform:scale(.9) rotate(8deg)}30%{transform:scale(1.05) rotate(0);color:var(--yellow)}}
.quality--water small{display:inline-flex;align-items:center;gap:4px;font:700 .72rem/1.2 var(--f-body);text-decoration:underline;text-underline-offset:2px}
.quality--water small .ico{width:.95em;height:.95em}

/* mapa */
.map-open{position:relative;display:block;width:100%;padding:0;border:var(--b);border-radius:14px;overflow:hidden;background:var(--cream);cursor:zoom-in}
.map-img{width:100%;height:auto;transition:transform .6s}
.map-open:hover .map-img{transform:scale(1.03)}
.map-open__hint{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:.5em;font:800 .85rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:var(--yellow);padding:.8em 1.1em;border-radius:999px;border:3px solid var(--cream);box-shadow:0 0 0 3px var(--ink);animation:breathe 1.6s ease-in-out infinite}
.zoomwrap{max-height:84vh;overflow:auto;background:var(--cream);cursor:zoom-in;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.zoomwrap img{width:100%;max-height:none;object-fit:contain;display:block}
.zoomwrap.is-zoomed{cursor:grab}
.zoomwrap.is-zoomed img{width:250%;max-width:none}
.zoom-hint{position:absolute;left:50%;bottom:-54px;transform:translateX(-50%);white-space:nowrap;font:700 1.25rem/1 var(--f-hand);color:var(--cream)}

/* fotky areálu – klik */
.hang__btn{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.hang__btn img{transition:transform .3s}
.hang__btn:hover img{transform:scale(1.05)}
.hang:hover{animation-play-state:paused}
.bbr{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 22px;width:fit-content;max-width:100%;margin:clamp(40px,5vw,60px) auto 0;padding:10px 24px 10px 14px;background:#FFFDF5;border:var(--b);border-radius:18px;box-shadow:var(--sh);text-decoration:none;color:var(--ink);transition:transform .2s}
.bbr:hover{transform:rotate(-1.5deg) scale(1.03)}
.bbr__logo{display:flex;align-items:center;gap:10px;padding-right:18px;border-right:3px dashed var(--ink)}
.bbr__palm{width:46px;height:46px;animation:wiggle 3s ease-in-out infinite;transform-origin:50% 100%}
.bbr__logo b{display:block;font:400 1.35rem/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.bbr__logo small{display:block;font:800 .66rem/1.2 var(--f-body);text-transform:uppercase;letter-spacing:.14em;margin-top:3px}
.bbr__txt{display:flex;flex-direction:column;font-size:.92rem;font-weight:500}
.bbr__txt strong{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:#0F6FB5}

/* galéria – dva ročníky */
.gallery__row{position:relative}
.gallery__year{position:absolute;left:clamp(10px,3vw,40px);top:-6px;z-index:3;font:400 clamp(20px,2.4vw,28px)/1 var(--f-display);background:var(--yellow);border:3px solid var(--ink);padding:.3em .55em;box-shadow:4px 4px 0 var(--ink);transform:rotate(-6deg);animation:wiggle 3s ease-in-out infinite;--r:6deg}
.gallery__row+.gallery__row .gallery__year{background:var(--mint)}

/* mini FAQ */
.btn--xl{font-size:1.1rem;padding:1.1em 1.5em;margin-top:26px;border-radius:14px;box-shadow:var(--sh);animation:breathe 2.2s ease-in-out infinite;white-space:normal;text-align:left}
.btn--xl:hover{animation:none}
.faq__more{display:flex;align-items:center;justify-content:center;gap:.5em;margin-top:6px;padding:16px;border:3px dashed var(--ink);border-radius:16px;font:800 .95rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.05em;text-decoration:none;transition:background .2s}
.faq__more:hover{background:var(--yellow)}
.faq--mini .faq__side{position:static}

/* plávajúca vstupenka */
.ticket-fab{position:fixed;right:clamp(12px,2vw,26px);bottom:calc(clamp(12px,2vw,24px) + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:stretch;text-decoration:none;color:var(--ink);background:var(--yellow);border:3px solid var(--ink);border-radius:16px;box-shadow:6px 6px 0 var(--ink);overflow:visible;transform:rotate(-3deg);animation:fab-in .8s 1s cubic-bezier(.2,1.6,.4,1) both,fab-wiggle 5s 2s ease-in-out infinite;transition:box-shadow .2s,opacity .2s}
@keyframes fab-in{from{transform:translateY(160%) rotate(-12deg)}to{transform:rotate(-3deg)}}
@keyframes fab-wiggle{0%,86%,100%{transform:rotate(-3deg)}89%{transform:rotate(3deg) scale(1.06)}92%{transform:rotate(-5deg) scale(1.06)}95%{transform:rotate(2deg)}}
.ticket-fab:hover{box-shadow:9px 9px 0 var(--ink);animation-play-state:paused}
.ticket-fab{transition:translate .5s cubic-bezier(.2,1.4,.4,1),opacity .3s,box-shadow .2s}
.ticket-fab.is-away{translate:0 170%;opacity:0;pointer-events:none}
.ticket-fab__body{position:relative;overflow:hidden}
.ticket-fab__body::before{content:"";position:absolute;top:0;bottom:0;left:0;width:60%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.7),transparent);animation:fab-shine 3.2s ease-in-out infinite;pointer-events:none;z-index:1}
@keyframes fab-shine{0%{transform:translateX(-120%) skewX(-20deg)}55%,100%{transform:translateX(320%) skewX(-20deg)}}
.ticket-fab__tag{position:absolute;top:-15px;left:50%;transform:translateX(-50%) rotate(2deg);white-space:nowrap;background:var(--magenta);color:#fff;font:800 .64rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.12em;padding:.45em .7em;border:2.5px solid var(--ink);border-radius:999px;animation:blink-soft 1.4s ease-in-out infinite}
@keyframes blink-soft{50%{background:var(--pink)}}
.ticket-fab__stub{position:relative;display:grid;place-items:center;padding:0 14px;background:var(--pink);border-radius:13px 0 0 13px;border-right:3px dashed var(--ink)}
.ticket-fab__stub svg{width:30px;height:30px;color:#fff;animation:wiggle 1.6s ease-in-out infinite}
.ticket-fab__body{display:flex;flex-direction:column;justify-content:center;padding:12px 10px 12px 16px}
.ticket-fab__body b{font:400 1.45rem/1 var(--f-display);text-transform:uppercase}
.ticket-fab__body small{margin-top:4px;font:800 .92rem/1 var(--f-body);letter-spacing:.02em}
.ticket-fab__go{display:grid;place-items:center;padding:0 14px 0 4px}
.ticket-fab__go svg{width:26px;height:26px;animation:nudge .9s ease-in-out infinite}

/* podstránky */
.page-hero{position:relative;overflow:hidden;padding-block:clamp(44px,7vw,90px) clamp(36px,5vw,60px);border-bottom:var(--b);isolation:isolate}
.page-hero .sec-title{font-size:clamp(46px,8vw,110px)}
.page-hero .sec-lead{max-width:62ch}
.crumbs{display:flex;gap:8px;align-items:center;font:800 .78rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}
.crumbs a{text-decoration:none;background:var(--yellow);border:2.5px solid var(--ink);border-radius:8px;padding:.45em .7em;box-shadow:2px 2px 0 var(--ink)}
.faq-page .faq__side{top:110px}
.partners-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,26px)}
.partner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:140px;padding:20px;text-align:center;background:var(--c,var(--cream));border:var(--b);border-radius:18px;box-shadow:var(--sh);text-decoration:none;color:var(--ink);transition:transform .25s cubic-bezier(.2,1.6,.4,1);animation:bob 5s ease-in-out infinite;animation-delay:calc(var(--i) * -.7s)}
a.partner:hover{transform:rotate(-2deg) scale(1.05)}
.partner b{font:400 clamp(1.2rem,2vw,1.5rem)/1.05 var(--f-display);text-transform:uppercase}
.partner small{font:800 .68rem/1.2 var(--f-body);text-transform:uppercase;letter-spacing:.12em;opacity:.8}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.6vw,30px)}
.offer{background:var(--c);border:var(--b);border-radius:20px;padding:24px;box-shadow:var(--sh);transition:transform .3s cubic-bezier(.2,1.6,.4,1)}
.offer:hover{transform:rotate(-1.5deg) translateY(-5px)}
.offer h3{font:400 1.3rem/1.1 var(--f-display);text-transform:uppercase;margin:12px 0 10px}
.offer p{margin:0}
.offer svg{width:52px;height:52px;animation:bob 3s ease-in-out infinite}
.why{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,34px);margin-top:clamp(36px,5vw,56px)}
.why .newsbox h3{margin-bottom:14px}
.contact-card{margin-top:clamp(36px,5vw,56px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 28px;padding:clamp(22px,3vw,34px);background:var(--ink);color:var(--cream);border:var(--b);border-radius:22px;box-shadow:8px 8px 0 var(--pink)}
.contact-card h3{font:400 clamp(1.5rem,3vw,2.2rem)/1.05 var(--f-display);text-transform:uppercase;color:var(--yellow)}
.contact-card p{margin:.4em 0 0}
.contact-mails{display:grid;gap:10px}
.contact-mails a{display:inline-flex;flex-direction:column;text-decoration:none;background:var(--cream);color:var(--ink);border:3px solid var(--ink);border-radius:12px;padding:.7em 1em;box-shadow:4px 4px 0 var(--mint);transition:transform .15s}
.contact-mails a:hover{transform:translate(-2px,-2px)}
.contact-mails small{font:800 .66rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px;opacity:.75}
.contact-mails b{font-weight:800;font-size:1.05rem}

@media (max-width:1000px){
  .amodal__inner{grid-template-columns:1fr}
  .amodal__photo{border-right:0;border-bottom:4px solid var(--ink);border-radius:20px 20px 0 0}
  .offer-grid{grid-template-columns:1fr}
  .why{grid-template-columns:1fr}
}

@media (max-width:640px){
  .zv__side{grid-template-columns:1fr}
  .bigchip{box-shadow:4px 4px 0 var(--ink)}
  .logo-hint{top:-4%;right:-2%}
  .partners-grid{grid-template-columns:1fr 1fr}
  .ticket-fab__body{padding:8px 6px 8px 10px}
  .ticket-fab__body b{font-size:1rem}
  .ticket-fab__body small{font-size:.8rem}
  .ticket-fab__stub{padding:0 10px}
  .ticket-fab__stub svg{width:24px;height:24px}
  .ticket-fab__go{padding:0 10px 0 2px}
  .bbr__logo{border-right:0;padding-right:0}
  .artist__more{font-size:.58rem;padding:.5em .6em}
  .map-open__hint{left:8px;top:8px;font-size:.7rem;padding:.6em .8em}
}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.amodal__hit{margin:0;padding:clamp(18px,3vw,30px) 20px;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center}
.amodal__hit span{font:700 clamp(30px,4vw,46px)/1 var(--f-hand);background:var(--cream);border:3px solid var(--ink);border-radius:14px;padding:.2em .5em .25em;box-shadow:5px 5px 0 var(--ink);transform:rotate(-3deg);animation:hint 2.6s ease-in-out infinite}
.amodal__hit svg{flex:none;width:44px;height:44px;color:var(--yellow);animation:spin 6s linear infinite}
@media (max-width:1000px){.amodal__hit{display:none}}

/* výkon: animácie mimo obrazovky sú pozastavené */
.is-off,.is-off *,.is-off *::before,.is-off *::after{animation-play-state:paused!important}

/* videá – 2026 v rade, 2025 pod tým */
.vhs-grid--3{grid-template-columns:repeat(3,1fr)}
.vhs-grid--2025{grid-template-columns:2fr 1fr;align-items:center}
.vhs-year{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin:0 0 20px}
.vhs-year--2025{margin-top:clamp(40px,5vw,64px)}
.vhs-year__tag{font:400 clamp(20px,2.4vw,28px)/1 var(--f-display);text-transform:uppercase;background:var(--c);border:3px solid var(--ink);padding:.3em .55em;box-shadow:4px 4px 0 var(--ink);transform:rotate(-2deg)}
.vhs-year__tag[style*="pink"]{color:#fff}
.vhs-year__txt{font:700 .95rem/1.3 var(--f-body)}
.vhs-note{background:var(--paper);border:var(--b);border-radius:18px;padding:22px;box-shadow:var(--sh);transform:rotate(1.5deg)}
.vhs-note p{margin-bottom:14px}
.vhs-note .hand{margin-bottom:.2em}
.vhs-grid--3 .vhs__label b{font-size:1.2rem}

/* retro zóna – fotky */
.retro-photos{margin-top:clamp(56px,7vw,90px)}
.retro-photos__title{display:block;text-align:center;margin-bottom:22px}
.retro-photos__row{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.8vw,22px)}
.rphoto{margin:0;background:#fff;padding:8px 8px 22px;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--pink);transform:rotate(var(--r));transition:transform .25s}
.rphoto:nth-child(even){box-shadow:5px 5px 0 var(--mint)}
.rphoto:hover{transform:rotate(0) scale(1.06);z-index:2}
.js .rphoto.reveal{transform:translateY(34px) rotate(var(--r))}
.js .rphoto.reveal.in{transform:rotate(var(--r))}
.js .rphoto.reveal.in:hover{transform:rotate(0) scale(1.06)}
.rphoto__btn{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.rphoto img{aspect-ratio:1/1;object-fit:cover;width:100%;border:2px solid var(--ink)}

/* napísali o nás */
.press{background:var(--cream);border-top:var(--b)}
.press-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,28px);align-items:stretch}
.clip{position:relative;display:flex;flex-direction:column;gap:12px;min-height:100%;padding:28px 20px 20px;text-decoration:none;color:var(--ink);background:var(--paper);background-image:repeating-linear-gradient(0deg,transparent 0 26px,rgba(16,16,20,.06) 26px 27px);border:var(--b);border-radius:6px;box-shadow:var(--sh);transform:rotate(var(--r));transition:transform .25s cubic-bezier(.2,1.6,.4,1)}
.js .clip.reveal{transform:translateY(34px) rotate(var(--r))}
.js .clip.reveal.in{transform:rotate(var(--r))}
.clip:hover,.js .clip.reveal.in:hover{transform:rotate(0) translateY(-6px)}
.clip__tape{position:absolute;top:-14px;left:50%;width:84px;height:26px;margin-left:-42px;background:var(--c);opacity:.9;border:2px solid var(--ink);transform:rotate(-4deg)}
.clip__media{align-self:flex-start;font:400 1rem/1 var(--f-display);text-transform:uppercase;background:var(--ink);color:var(--cream);padding:.45em .6em;border-radius:4px}
.clip__title{font:400 1.08rem/1.25 var(--f-display);text-wrap:balance}
.clip__more{margin-top:auto;display:inline-flex;align-items:center;gap:.4em;font:800 .78rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.06em;color:var(--magenta)}

@media (max-width:1000px){
  .vhs-grid--3{grid-template-columns:1fr 1fr}
  .vhs-grid--3 .vhs:last-child{grid-column:1/-1;max-width:calc(50% - 14px);justify-self:center;width:100%}
  .vhs-grid--2025{grid-template-columns:1fr}
  .press-grid{grid-template-columns:1fr 1fr}
  .retro-photos__row{grid-template-columns:repeat(3,1fr)}
  .rphoto:nth-child(n+4){display:none}
}
@media (max-width:640px){
  .vhs-grid--3{grid-template-columns:1fr}
  .vhs-grid--3 .vhs:last-child{max-width:none}
  .press-grid{grid-template-columns:1fr}
  .retro-photos__row{grid-template-columns:1fr 1fr}
  .rphoto:nth-child(n+4){display:block}
  .rphoto:nth-child(5){display:none}
}

/* výkon: sekcie mimo obrazovky sa nevykresľujú */
.videos,.gallery,.news,.press,.faq--mini,.follow{content-visibility:auto;contain-intrinsic-size:auto 900px}

/* Beach Bar logo */
.bbr__logo img{width:clamp(180px,22vw,240px);height:auto;display:block;transition:transform .3s}
.bbr:hover .bbr__logo img{transform:rotate(-3deg) scale(1.04)}
.partner__logo{width:100%;max-width:190px;height:auto}

/* poďakovanie partnerom a mestu */
.thanks{background:var(--paper);border-top:var(--b);padding-block:clamp(36px,5vw,56px)}
.thanks__inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px clamp(24px,5vw,64px);text-align:center}
.thanks__col{display:flex;flex-direction:column;align-items:center;gap:8px}
.thanks__col .hand{margin:0}
.thanks__big{margin:0;font:400 clamp(1.3rem,2.4vw,1.8rem)/1.1 var(--f-display);text-transform:uppercase;max-width:18ch;text-wrap:balance}
.thanks__link{margin-top:6px;display:inline-flex;align-items:center;gap:.4em;font:800 .82rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.06em;color:var(--magenta);text-decoration:none}
.thanks__link:hover{text-decoration:underline}
.thanks__amp{font:400 clamp(2.4rem,5vw,3.6rem)/1 var(--f-display);color:var(--yellow);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--ink)}
.thanks__logo{width:clamp(130px,14vw,170px);height:auto;margin-top:4px}
@media (max-width:640px){.thanks__inner{flex-direction:column;gap:14px}}
