/* ============================================================
   ŠUMPERSKÝ MAJÁLES 2027 — 10. ročník
   Čisté, ručně psané CSS. Jedno písmo (Outfit). Světlý základ,
   zlatá jako barva ročníku, černá jen pro akcenty.
   ============================================================ */

@font-face{font-family:'Outfit';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/outfit-latin-ext.woff2) format('woff2');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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Outfit';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/outfit-latin.woff2) format('woff2');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}

/* ---------- Tokens ---------- */
:root{
  --black:#0b0b0b;
  --ink:#161616;
  --white:#fff;
  --gray:#f4f4f2;
  --gold:#e9bd2c;
  --gold-2:#f3cf4a;
  --gold-deep:#8f6f0c;

  /* téma sekce (přepisují .sec--*) */
  --fg:var(--black);
  --muted:rgba(11,11,11,.58);
  --line:rgba(11,11,11,.1);
  --surface:var(--gray);
  --accent:var(--gold-deep);

  --font:'Outfit',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --wrap:1200px;
  --gutter:clamp(1.25rem,4vw,3rem);
  --sec:clamp(5rem,10vw,8.5rem);
  --nav-h:76px;
  --r:14px;
  --r-sm:10px;
  --ease:cubic-bezier(.22,1,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--nav-h);background:var(--white)}
body{margin:0;font-family:var(--font);font-size:1rem;line-height:1.6;color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,video{display:block;max-width:100%;height:auto}
img{font-style:italic;color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p,ul,ol,dl,figure,blockquote{margin:0}
ul[role=list],ol{padding:0;list-style:none}
b{font-weight:600}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
::selection{background:var(--gold);color:var(--black)}
body:has(dialog[open]),body.is-locked{overflow:hidden}

.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ico{width:1.25em;height:1.25em;flex:none}

/* ---------- Typography ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:.5em;font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.eyebrow .ico{width:1.1em;height:1.1em}
.h-display{font-size:clamp(2.4rem,5.4vw,4.5rem);font-weight:800;line-height:.98;letter-spacing:-.025em;text-transform:uppercase;color:var(--fg);text-wrap:balance}
.lead{font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.6;color:var(--muted);max-width:36rem;text-wrap:pretty}
.sec__head{margin-bottom:clamp(2.5rem,5vw,4rem)}
.sec__head .lead{margin-top:1.25rem}
.sec__head--row{display:grid;gap:1.25rem;align-items:end}
@media(min-width:900px){
  .sec__head--row{grid-template-columns:1fr auto}
  .sec__head--row .lead{margin-top:0;max-width:24rem;text-align:right}
}
.note{display:inline-flex;align-items:center;gap:.6em;margin-top:2.5rem;padding:.8rem 1.1rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.9rem}
.note .ico{color:var(--accent)}

/* ---------- Sections & themes ---------- */
.sec{position:relative;padding-block:var(--sec);color:var(--fg)}
.sec--white{background:var(--white);--fg:var(--black);--muted:rgba(11,11,11,.58);--line:rgba(11,11,11,.1);--surface:var(--gray);--accent:var(--gold-deep)}
.sec--gray{background:var(--gray);--fg:var(--black);--muted:rgba(11,11,11,.58);--line:rgba(11,11,11,.1);--surface:var(--white);--accent:var(--gold-deep)}
.sec--dark{background:var(--black);--fg:#fff;--muted:rgba(255,255,255,.62);--line:rgba(255,255,255,.12);--surface:var(--ink);--accent:var(--gold)}
.sec--gold{background:var(--gold);--fg:var(--black);--muted:rgba(11,11,11,.7);--line:rgba(11,11,11,.18);--surface:rgba(255,255,255,.35);--accent:var(--black)}
.sec--dark+.sec--dark{padding-top:0}

/* ---------- Buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.9rem 1.4rem;border-radius:999px;font-weight:600;font-size:.95rem;line-height:1;white-space:nowrap;border:1.5px solid transparent;transition:transform .35s var(--ease),background-color .25s,color .25s,border-color .25s;will-change:transform}
.btn .ico{width:1.15em;height:1.15em}
.btn__arrow{transition:transform .35s var(--ease)}
.btn:hover .btn__arrow{transform:translateX(3px)}
.btn:hover .btn__arrow--up{transform:translate(2px,-2px)}
.btn:hover .btn__arrow--down{transform:translateY(3px)}
.btn:active{transform:scale(.97)}
.btn--lg{padding:1.05rem 1.7rem;font-size:1rem}
.btn--sm{padding:.65rem 1.05rem;font-size:.85rem}
.btn--block{width:100%}
.btn--black{background:var(--black);color:var(--white);border-color:var(--black)}
.btn--black:hover{background:#262626;border-color:#262626}
.btn--white{background:var(--white);color:var(--black);border-color:var(--white)}
.btn--white:hover{background:#ededed;border-color:#ededed}
.btn--gold{background:var(--gold);color:var(--black);border-color:var(--gold)}
.btn--gold:hover{background:var(--gold-2);border-color:var(--gold-2)}
.btn--ghost{background:transparent;color:currentColor;border-color:rgba(11,11,11,.35)}
.btn--ghost:hover{border-color:currentColor}
.btn--ghost-light{background:transparent;color:var(--white);border-color:rgba(255,255,255,.3)}
.btn--ghost-light:hover{border-color:var(--white)}
.btn--link{padding:.4rem 0;border-radius:0;font-weight:500;opacity:.85}
.btn--link:hover{opacity:1;transform:none}
.btn--link span{border-bottom:1px solid currentColor}

/* ---------- Top bar ---------- */
.topbar{background:var(--black);color:var(--white);font-size:.84rem;font-weight:500;text-align:center}
.topbar__inner{display:flex;align-items:center;justify-content:center;gap:.6em;padding:.55rem var(--gutter);min-height:40px}
.topbar__ico{color:var(--gold);width:1.15em;height:1.15em}

/* ---------- Nav ---------- */
.nav{position:sticky;top:0;z-index:70;height:var(--nav-h);margin-bottom:calc(-1*var(--nav-h));color:var(--black)}
.nav::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.86);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid rgba(11,11,11,.08);opacity:0;transition:opacity .3s;pointer-events:none}
.nav.is-solid::before{opacity:1}
.nav.is-menu-open::before{opacity:0}
.nav__inner{position:relative;width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.nav__brand{display:flex;align-items:center;height:100%}
.nav__brand img{height:30px;width:auto}
.nav__links{display:none;gap:clamp(1.25rem,2.4vw,2.25rem);font-size:.92rem;font-weight:500}
.nav__links a{position:relative;padding:.35rem 0;opacity:.8;transition:opacity .2s}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav__links a:hover{opacity:1}
.nav__links a:hover::after,.nav__links a.is-active::after{transform:scaleX(1)}
.nav__links a.is-active{opacity:1}
.nav__right{display:flex;align-items:center;gap:.5rem}
.nav__cta{padding:.55rem .85rem;font-size:.8rem}
@media(min-width:1024px){.nav__cta{padding:.65rem 1.05rem;font-size:.85rem}}
.nav__burger{position:relative;width:44px;height:44px;margin-right:-10px;display:grid;place-items:center}
.nav__burger span{position:absolute;width:22px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .4s var(--ease),opacity .25s}
.nav__burger span:nth-child(1){transform:translateY(-6px)}
.nav__burger span:nth-child(3){transform:translateY(6px)}
.nav__burger[aria-expanded=true] span:nth-child(1){transform:rotate(45deg)}
.nav__burger[aria-expanded=true] span:nth-child(2){opacity:0}
.nav__burger[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg)}
@media(min-width:1024px){
  .nav__links{display:flex}
  .nav__burger{display:none}
}

/* ---------- Mobile menu ---------- */
.menu{position:fixed;inset:0;z-index:65;background:var(--gold);color:var(--black);visibility:hidden;opacity:0;clip-path:circle(0 at calc(100% - 42px) 40px);transition:clip-path .65s var(--ease),opacity .3s,visibility 0s .65s}
.menu.is-open{visibility:visible;opacity:1;clip-path:circle(150% at calc(100% - 42px) 40px);transition:clip-path .75s var(--ease),opacity .2s,visibility 0s}
.menu__inner{display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--nav-h) + 1rem) var(--gutter) max(1.5rem,env(safe-area-inset-bottom));height:100%;overflow:auto}
.menu__links{display:grid}
.menu__links a{display:flex;align-items:baseline;gap:.7em;padding:.1em 0;font-size:clamp(2.2rem,9.5vw,3.8rem);font-weight:800;line-height:1.1;text-transform:uppercase;letter-spacing:-.03em;opacity:0;transform:translateY(20px);transition:opacity .45s var(--ease),transform .55s var(--ease);transition-delay:calc(.12s + var(--i)*.045s)}
.menu__links a em{font-style:normal;font-size:.28em;font-weight:600;letter-spacing:.18em;opacity:.55}
.menu.is-open .menu__links a{opacity:1;transform:none}
.menu__foot{display:grid;gap:1.25rem;margin-top:2rem}
.menu__social{display:flex;gap:.5rem}
.menu__social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(11,11,11,.3)}
.menu__social .ico{width:1.2rem;height:1.2rem}
.menu__meta{font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.65}
@media(min-width:1024px){.menu{display:none}}

/* ---------- Hero ---------- */
.hero{position:relative;height:calc(100svh - var(--topbar-h,0px));min-height:600px;display:flex;flex-direction:column;overflow:hidden;background:var(--gold);color:var(--black);padding-top:var(--nav-h);isolation:isolate}
.hero__sentinel{position:absolute;top:0;left:0;width:1px;height:100%;pointer-events:none}
.hero__bg{position:absolute;inset:0;z-index:0;background:
  radial-gradient(55% 45% at 60% 15%,rgba(255,246,180,.9) 0%,rgba(248,222,90,.5) 40%,transparent 75%),
  radial-gradient(60% 55% at 8% 95%,rgba(150,98,0,.3) 0%,transparent 70%),
  radial-gradient(50% 50% at 100% 100%,rgba(130,80,0,.22),transparent 70%),
  linear-gradient(180deg,#edc436 0%,#e6b824 55%,#d9a51c 100%)}
.hero__bg::before{content:"";position:absolute;inset:0;background:url(../images/2027/gold-1024.webp) center/cover no-repeat;opacity:.5;mix-blend-mode:soft-light}
.hero__bg::after{content:"";position:absolute;inset:0;opacity:.14;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px}
.hero__content{position:relative;z-index:2;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(.75rem,2.5vh,2rem) var(--gutter) 0}
.hero__badge{width:clamp(44px,6vh,64px);opacity:0;animation:fadeUp .8s var(--ease) .05s forwards}
.hero__badge svg{width:100%;height:auto}
.hero__logo{width:clamp(200px,min(24vw,28vh),300px);margin-top:clamp(.75rem,2.2vh,1.5rem);opacity:0;animation:logoIn 1s var(--ease) .15s forwards}
.hero__place{display:flex;align-items:center;gap:.7em;margin-top:clamp(.75rem,2vh,1.25rem);font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:0;animation:fadeUp .8s var(--ease) .3s forwards}
.hero__place i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.5}
@media(max-width:767px){.hero__place{flex-direction:column;gap:.35em}.hero__place i{display:none}}
.hero__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:clamp(.9rem,2.4vh,1.5rem);opacity:0;animation:fadeUp .8s var(--ease) .45s forwards}
.hero__heads{position:relative;z-index:1;flex:1 1 0;min-height:140px;display:flex;align-items:flex-end;justify-content:center;margin-top:clamp(.75rem,2vh,1.5rem);opacity:0;animation:headsIn 1.2s var(--ease) .25s forwards}
.hero__heads picture{display:flex;justify-content:center;width:100%;height:100%}
.hero__heads img{width:max(100%,480px);max-width:none;height:100%;object-fit:contain;object-position:bottom center}
.hero__scroll{position:absolute;z-index:3;left:50%;bottom:1.25rem;transform:translateX(-50%);width:1px;height:40px;background:rgba(11,11,11,.25);overflow:hidden;display:none}
.hero__scroll::after{content:"";position:absolute;left:0;top:-40px;width:100%;height:40px;background:var(--black);animation:scrollLine 1.8s var(--ease) infinite}
@media(min-width:768px){
  .hero__heads img{width:min(100%,1240px)}
  .hero__scroll{display:block}
}
@media(max-width:767px){.hero__cta .btn--lg{padding:.95rem 1.3rem;font-size:.95rem}}
@supports (animation-timeline:scroll()){
  .hero__heads{animation:headsIn 1.2s var(--ease) .25s forwards,heroParallax linear both;animation-timeline:auto,scroll(root);animation-range:normal,0 100vh}
  .hero__content{animation:heroTopParallax linear both;animation-timeline:scroll(root);animation-range:0 100vh}
}
@keyframes heroParallax{from{translate:0 0}to{translate:0 14vh}}
@keyframes heroTopParallax{from{translate:0 0;opacity:1}to{translate:0 -6vh;opacity:.25}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes logoIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@keyframes headsIn{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes scrollLine{0%{transform:translateY(0)}100%{transform:translateY(80px)}}

/* ---------- Ticker ---------- */
.ticker{position:relative;z-index:2;background:var(--black);color:var(--white);overflow:hidden;padding:.8rem 0}
.ticker__track{display:flex;width:max-content;animation:ticker calc(var(--n,8)*5s) linear infinite;will-change:transform}
.ticker__group{display:flex;align-items:center;gap:2.5rem;padding-right:2.5rem;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.ticker__group i{font-style:normal;color:var(--gold);font-size:.75em}
.ticker:hover .ticker__track{animation-play-state:paused}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ---------- Features (proč přijít) ---------- */
.features{display:grid;gap:1.5rem 2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.feature{display:flex;gap:1rem;align-items:flex-start;padding-top:1.25rem;border-top:1px solid var(--line)}
.feature__icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--surface);color:var(--fg)}
.feature__icon .ico{width:1.35rem;height:1.35rem}
.feature h3{font-size:1.1rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.2rem}
.feature p{color:var(--muted);font-size:.92rem;line-height:1.5}
@media(min-width:1024px){.features{grid-template-columns:repeat(3,1fr)}}

/* ---------- 10 let ---------- */
.ten-sec{isolation:isolate;overflow:hidden}
.ten-sec__bg{position:absolute;inset:0;z-index:-1;background:
  radial-gradient(50% 60% at 80% 20%,rgba(255,246,180,.9) 0%,rgba(248,222,90,.4) 40%,transparent 75%),
  radial-gradient(50% 50% at 5% 100%,rgba(150,98,0,.28) 0%,transparent 70%)}
.ten-sec__bg::before{content:"";position:absolute;inset:0;background:url(../images/2027/gold-1024.webp) center/cover no-repeat;opacity:.45;mix-blend-mode:soft-light}
.ten{display:grid;gap:2.5rem;align-items:center}
.ten__visual{display:flex;align-items:flex-end;gap:.12em;justify-content:center;line-height:.8}
.ten__number{font-size:clamp(7rem,20vw,13rem);font-weight:800;letter-spacing:-.07em;line-height:.8}
.ten__word{font-size:clamp(2rem,6vw,4.5rem);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:1;padding-bottom:.1em}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem 1rem;margin-top:clamp(2.5rem,6vw,4rem);padding-top:clamp(1.5rem,3vw,2rem);border-top:1px solid rgba(11,11,11,.18)}
.stats__item dt{font-size:clamp(2.4rem,5vw,4rem);font-weight:800;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.stats__item dd{margin:.4rem 0 0;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.65}
@media(min-width:768px){.stats{grid-template-columns:repeat(4,1fr)}}
@media(min-width:900px){
  .ten{grid-template-columns:1fr 1.15fr;gap:3rem}
  .ten__visual{justify-content:flex-start}
}

/* ---------- Interpreti ---------- */
.artists{display:grid;gap:1.75rem 1rem;grid-template-columns:repeat(2,1fr)}
.artist__btn{display:block;width:100%;text-align:left}
.artist__media{display:block;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--surface)}
.artist__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.artist__meta{display:flex;align-items:flex-start;gap:.7rem;margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line)}
.artist__num{font-size:.7rem;font-weight:600;letter-spacing:.14em;color:var(--accent);padding-top:.3em}
.artist__name{flex:1;font-size:clamp(1rem,1.5vw,1.2rem);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:1.15;text-wrap:balance}
.artist__more{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);color:var(--fg);transition:background .25s,color .25s,border-color .25s}
.artist__more .ico{width:.9rem;height:.9rem}
.artist__btn:hover .artist__media img{transform:scale(1.04)}
.artist__btn:hover .artist__more{background:var(--black);border-color:var(--black);color:var(--gold)}
.artists-empty{padding:3rem 1.5rem;border:1px dashed var(--line);border-radius:var(--r);text-align:center}
.artists-empty__big{font-size:clamp(1.8rem,5vw,3rem);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1}
.artists-empty__sub{margin-top:.8rem;color:var(--muted)}
@media(min-width:768px){.artists{grid-template-columns:repeat(3,1fr);gap:2.25rem 1.5rem}}

/* ---------- Program ---------- */
.lineup{margin-top:clamp(3rem,6vw,5rem);padding-top:2.5rem;border-top:1px solid var(--line)}
.lineup__title{font-size:1.8rem;font-weight:800;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:1.5rem}
.lineup__days{display:grid;gap:2rem}
.lineup__day h4{font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:.8rem}
.lineup__day li{display:flex;gap:1rem;align-items:baseline;padding:.6rem 0;border-bottom:1px solid var(--line);color:var(--muted)}
.lineup__day li time{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600;color:var(--accent);min-width:3.2rem}
.lineup__day li.is-act span{color:var(--fg);font-weight:700;font-size:1.1rem;text-transform:uppercase}
@media(min-width:768px){.lineup__days{grid-template-columns:1fr 1fr;gap:3rem}}

/* ---------- Vstupenky ---------- */
.capacity{max-width:860px;margin:0 0 1.5rem;padding:1.1rem 1.3rem;border-radius:var(--r);background:var(--black);color:var(--white)}
.capacity__row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:.7rem;font-size:.95rem}
.capacity__row em{margin-left:auto;font-style:normal;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.capacity__dot{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:ping 1.8s ease-out infinite}
.capacity__bar{height:8px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}
.capacity__bar i{display:block;height:100%;width:var(--pct);background:var(--gold);border-radius:99px}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(233,189,44,.6)}to{box-shadow:0 0 0 10px rgba(233,189,44,0)}}
.waves{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));max-width:860px}
.wave{position:relative;display:flex;flex-direction:column;gap:.45rem;padding:clamp(1.5rem,3vw,2.25rem);border-radius:var(--r);background:var(--white);color:var(--black);overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s}
.wave::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(260px 200px at var(--mx,50%) var(--my,50%),rgba(255,255,255,.12),transparent 70%);transition:opacity .35s}
.wave:hover{transform:translateY(-3px);box-shadow:0 30px 60px -30px rgba(0,0,0,.35)}
.wave:hover::before{opacity:1}
.wave__head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.wave__name{display:inline-flex;align-items:center;gap:.4em;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.wave__pill{display:inline-flex;align-items:center;gap:.35em;padding:.35rem .65rem;border-radius:999px;background:var(--black);color:var(--gold);font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.wave__pill .ico{width:.95em;height:.95em}
.wave__pill--muted{background:rgba(11,11,11,.06);color:rgba(11,11,11,.6)}
.wave__pill--urgent{background:var(--gold);color:var(--black)}
.wave__trust{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-top:.9rem;font-size:.8rem;color:rgba(255,255,255,.62)}
.wave__trust span{display:inline-flex;align-items:center;gap:.4em}
.wave__trust .ico{width:1em;height:1em;color:var(--gold)}
.wave__price{font-size:clamp(2.6rem,5vw,3.6rem);font-weight:800;line-height:1;letter-spacing:-.04em;margin-top:.75rem}
.wave__note{font-size:.92rem;color:rgba(11,11,11,.6);flex:1}
.wave .btn{margin-top:1.1rem}
.wave--active{background:var(--black);color:var(--white)}
.wave--active .wave__pill{background:var(--gold);color:var(--black)}
.wave--active .wave__note{color:rgba(255,255,255,.62)}
.wave--active .wave__price{color:var(--gold)}
.wave--upcoming .wave__price{color:rgba(11,11,11,.5)}
.wave--sold,.wave--past{opacity:.55}
.wave--sold .wave__price,.wave--past .wave__price{text-decoration:line-through}
.wave--vip{background:var(--gold)}
.wave--vip .wave__pill{background:var(--black);color:var(--gold)}
.wave--vip .wave__note{color:rgba(11,11,11,.7)}
.wave__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.2rem;margin-top:1.1rem}
.wave__actions .btn{margin-top:0}
.soon{display:grid;gap:1rem;max-width:960px}
.soon__card{padding:clamp(1.75rem,5vw,3rem);border-radius:var(--r);background:var(--black);color:var(--white)}
.soon__big{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;line-height:.98;text-transform:uppercase;letter-spacing:-.03em;color:var(--gold)}
.soon__text{margin-top:1rem;max-width:34rem;color:rgba(255,255,255,.62)}
.soon__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.soon__vip{display:flex;flex-direction:column;padding:clamp(1.5rem,4vw,2.25rem);border-radius:var(--r);background:var(--white)}
.soon__vip-title{display:inline-flex;align-items:center;gap:.5em;font-size:1.2rem;font-weight:700;margin-bottom:.5rem}
.soon__vip-title .ico{color:var(--accent)}
.soon__vip p{color:var(--muted);flex:1}
.soon__vip .btn{margin-top:1rem;align-self:flex-start}
@media(min-width:900px){.soon{grid-template-columns:1.4fr 1fr}}
.tnote{display:flex;align-items:flex-start;gap:.6em;margin-top:1.5rem;max-width:860px;font-size:.88rem;color:var(--muted)}
.tnote .ico{flex:none;margin-top:.2em;color:var(--fg)}
.tnote a{color:var(--fg);border-bottom:1px solid var(--line)}

/* ---------- Praktické info ---------- */
.infos{display:grid;gap:2.5rem 2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.info-item{display:flex;flex-direction:column;padding-top:1.5rem;border-top:1px solid var(--line)}
.info-item__icon{color:var(--accent);margin-bottom:1.1rem}
.info-item__icon .ico{width:1.75rem;height:1.75rem}
.info-item h3{font-size:1.2rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.4rem}
.info-item p{color:var(--muted);font-size:.95rem;flex:1}
.info-item p a{color:var(--fg);border-bottom:1px solid var(--line)}
.info-item__link{display:inline-flex;align-items:center;gap:.4em;margin-top:1rem;font-weight:600;font-size:.9rem;color:var(--fg)}
.info-item__link .ico{transition:transform .3s var(--ease)}
.info-item__link:hover .ico{transform:translate(2px,-2px)}
@media(min-width:1024px){.infos{grid-template-columns:repeat(3,1fr)}}

.faq{margin-top:clamp(3rem,6vw,4.5rem);padding-top:2.5rem;border-top:1px solid var(--line);display:grid;gap:1.5rem}
.faq__title{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;text-transform:uppercase;letter-spacing:-.02em}
.faq__lead{margin-top:.5rem;color:var(--muted);font-size:.95rem}
.faq__lead a{color:var(--fg);border-bottom:1px solid var(--line)}
.faq__list{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0;font-size:1.05rem;font-weight:600;cursor:pointer;list-style:none;transition:color .2s}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary i{position:relative;flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);transition:background .25s,border-color .25s,transform .35s var(--ease)}
.faq__item summary i::before,.faq__item summary i::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.faq__item summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__item summary:hover i{background:var(--black);border-color:var(--black);color:var(--white)}
.faq__item[open] summary i{transform:rotate(45deg);background:var(--black);border-color:var(--black);color:var(--white)}
.faq__body{padding:0 0 1.25rem;max-width:44rem;color:var(--muted);font-size:.97rem;line-height:1.6}
@media(min-width:900px){.faq{grid-template-columns:1fr 2fr;gap:3rem}.faq__head{position:sticky;top:calc(var(--nav-h) + 1rem);align-self:start}}

/* ---------- Video ---------- */
.video{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--ink)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video__facade{position:absolute;inset:0;width:100%;display:grid;place-items:center;cursor:pointer}
.video__facade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.82);transition:transform 1s var(--ease)}
.video__facade:hover img{transform:scale(1.02)}
.video__btn{position:relative;display:grid;place-items:center;width:clamp(64px,8vw,88px);aspect-ratio:1;border-radius:50%;background:var(--gold);color:var(--black);transition:transform .4s var(--ease)}
.video__btn .ico{width:36%;height:36%;margin-left:6%}
.video__facade:hover .video__btn{transform:scale(1.06)}
.video__hint{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);padding:.4rem .8rem;border-radius:999px;background:rgba(11,11,11,.6);color:var(--white);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(6px)}

/* ---------- Galerie ---------- */
.gallery{position:relative;overflow:hidden}
.gallery__track{display:flex;width:max-content;animation:ticker 75s linear infinite;will-change:transform}
.gallery__group{display:flex;gap:.75rem;padding-right:.75rem}
.gallery__item{flex:none;height:clamp(220px,30vw,400px);aspect-ratio:3/2;border-radius:var(--r-sm);overflow:hidden;background:var(--surface)}
.gallery__item.is-portrait{aspect-ratio:2/3}
.gallery__item img{width:100%;height:100%;object-fit:cover}
.gallery:hover .gallery__track{animation-play-state:paused}
@media(hover:none){
  .gallery{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .gallery::-webkit-scrollbar{display:none}
  .gallery__track{animation:none;padding-inline:var(--gutter)}
  .gallery__group:last-child{display:none}
  .gallery__item{scroll-snap-align:center;height:clamp(220px,56vw,380px)}
}

/* ---------- Partneři (mřížka s tenkými linkami jako v roce 2026) ---------- */
.partners{display:grid;gap:clamp(3rem,6vw,4.5rem)}
.partners__title{text-align:center;font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.partners__wrap{overflow:hidden}
.partners__grid{display:grid;grid-template-columns:repeat(3,1fr);margin-right:-1px;margin-bottom:-1px}
.partners__grid--xl,.partners__grid--lg{grid-template-columns:repeat(2,1fr)}
.partner{min-width:0;border-right:1px solid #e4e4e1;border-bottom:1px solid #e4e4e1}
.partner__link{display:flex;align-items:center;justify-content:center;height:120px;padding:1.25rem}
.partners__grid--xl .partner__link,.partners__grid--lg .partner__link{height:140px;padding:1.5rem}
.partner__link img{max-height:100%;max-width:88%;width:auto;object-fit:contain;transition:transform .4s var(--ease)}
a.partner__link:hover img{transform:scale(1.1)}
@media(min-width:768px){
  .partners__grid{grid-template-columns:repeat(4,1fr)}
  .partners__grid--xl{grid-template-columns:repeat(2,1fr)}
  .partners__grid--lg{grid-template-columns:repeat(3,1fr)}
  .partners__grid--md{grid-template-columns:repeat(4,1fr)}
  .partner__link{height:160px;padding:2rem}
  .partners__grid--xl .partner__link,.partners__grid--lg .partner__link{height:180px;padding:2rem 2.5rem}
}
@media(min-width:1024px){
  .partners__grid{grid-template-columns:repeat(6,1fr)}
  .partners__grid--xl{grid-template-columns:repeat(3,1fr)}
  .partners__grid--lg{grid-template-columns:repeat(4,1fr)}
  .partners__grid--md{grid-template-columns:repeat(5,1fr)}
  .partner__link{height:180px;padding:2.5rem}
  .partners__grid--xl .partner__link{height:220px;padding:2.5rem 3rem}
  .partners__grid--lg .partner__link{height:200px;padding:2.5rem 3rem}
}

/* ---------- Merch ---------- */
.merch{display:grid;gap:3rem;align-items:center}
.merch__text .btn{margin-top:1.75rem}
.merch__stack{position:relative;height:clamp(280px,56vw,420px);display:grid;place-items:center}
.merch__card{position:absolute;width:46%;aspect-ratio:1;padding:.5rem;border-radius:var(--r-sm);background:var(--white);box-shadow:0 30px 60px -30px rgba(0,0,0,.35);transition:transform .55s var(--ease);transform:rotate(var(--r)) translateX(var(--x));--r:0deg;--x:0}
.merch__card:nth-child(1){--r:-7deg;--x:-62%;z-index:1}
.merch__card:nth-child(2){--r:3deg;--x:0;z-index:2;width:50%}
.merch__card:nth-child(3){--r:7deg;--x:62%;z-index:1}
.merch__card img{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--r-sm) - 4px)}
.merch__card span{position:absolute;left:50%;bottom:-2rem;transform:translateX(-50%);white-space:nowrap;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);opacity:0;transition:opacity .3s}
.merch__card:hover{transform:rotate(0) translateX(var(--x)) scale(1.06);z-index:5}
.merch__card:hover span{opacity:1}
@media(min-width:1024px){.merch{grid-template-columns:1fr 1fr;gap:4rem}}

/* ---------- Tým ---------- */
.team{display:grid;gap:2.5rem 2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));max-width:860px;margin-inline:auto;text-align:center}
.member__photo{width:min(56vw,170px);aspect-ratio:1;margin:0 auto 1.1rem;border-radius:50%;overflow:hidden;background:var(--surface)}
.member__photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.member:hover .member__photo img{transform:scale(1.06)}
.member h3{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}
.member p{color:var(--muted);font-size:.9rem;margin-top:.15rem}
.member__links{display:flex;justify-content:center;gap:.4rem;margin-top:.8rem}
.member__links a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);color:var(--fg);transition:background .25s,color .25s,border-color .25s}
.member__links a:hover{background:var(--black);color:var(--gold);border-color:var(--black)}
.member__links .ico{width:1rem;height:1rem}

/* ---------- Kontakt ---------- */
.mail{display:inline-flex;align-items:center;gap:.35em;max-width:100%;font-size:clamp(1.5rem,5.5vw,4.25rem);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--fg);overflow-wrap:anywhere}
.mail__text{background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 2px;transition:background-size .5s var(--ease)}
.mail:hover .mail__text{background-size:100% 2px}
.mail__ico{display:grid;place-items:center;width:.75em;height:.75em;border-radius:50%;background:var(--black);color:var(--gold);flex:none;transition:transform .4s var(--ease)}
.mail__ico .ico{width:50%;height:50%}
.mail:hover .mail__ico{transform:rotate(45deg)}
.contact{display:grid;gap:2.5rem;margin-top:clamp(2.5rem,6vw,4rem);padding-top:2.5rem;border-top:1px solid var(--line)}
.contact__label{font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.socials{display:flex;flex-wrap:wrap;gap:.5rem}
.socials a{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;border:1px solid var(--line);background:var(--surface);transition:background .25s,color .25s,border-color .25s}
.socials a:hover{background:var(--black);color:var(--gold);border-color:var(--black)}
.socials .ico{width:1.25rem;height:1.25rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{display:inline-flex;align-items:center;gap:.5em;padding:.7rem 1.05rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-weight:500;font-size:.9rem;transition:background .25s,color .25s,border-color .25s}
.chip:hover{background:var(--black);color:var(--white);border-color:var(--black)}
@media(min-width:768px){.contact{grid-template-columns:1fr 1fr}}

/* ---------- EU ---------- */
.eu{padding:2.5rem 0;background:var(--white);color:var(--black);border-top:1px solid rgba(11,11,11,.08)}
.eu__logos{max-width:520px;margin:0 auto 1.5rem;opacity:.85}
.eu__projects{display:grid;gap:1rem;max-width:860px;margin-inline:auto;font-size:.74rem;line-height:1.5;color:rgba(11,11,11,.58)}
.eu__projects b{display:block;margin-bottom:.15rem;color:var(--black)}
@media(min-width:768px){.eu__projects{grid-template-columns:1fr 1fr;gap:2rem}}

/* ---------- Footer ---------- */
.footer{background:var(--black);color:#f3f3f1;padding:clamp(3.5rem,8vw,6rem) 0 max(2rem,env(safe-area-inset-bottom))}
.footer__top{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:3rem}
.footer__logo{width:min(48vw,170px)}
.footer__badge{width:clamp(48px,6vw,64px);color:var(--gold)}
.footer__badge svg{width:100%;height:auto}
.footer__grid{display:grid;gap:2rem;padding-top:2.5rem;border-top:1px solid rgba(255,255,255,.12);font-size:.95rem;color:rgba(255,255,255,.62);line-height:1.8}
.footer__label{font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.footer__grid a{transition:color .2s}
.footer__grid a:hover{color:var(--white)}
.footer__years{display:flex;flex-wrap:wrap;gap:.2rem .9rem}
.footer__social{display:flex;gap:.4rem;margin-top:.3rem}
.footer__social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.15);color:#f3f3f1;transition:background .25s,color .25s,border-color .25s}
.footer__social a:hover{background:var(--gold);color:var(--black);border-color:var(--gold)}
.footer__social .ico{width:1rem;height:1rem}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:rgba(255,255,255,.62)}
@media(min-width:768px){.footer__grid{grid-template-columns:1.2fr .8fr 1fr 1.4fr}}

/* ---------- Modal (dialog) ---------- */
.modal{position:fixed;inset:0;margin:auto;width:min(100% - 1.5rem,620px);max-height:min(92svh,100%);padding:0;border:0;border-radius:var(--r);background:var(--white);color:var(--black);overflow:auto;box-shadow:0 50px 100px -40px rgba(0,0,0,.6);opacity:0;transform:translateY(24px) scale(.98);transition:opacity .3s var(--ease),transform .45s var(--ease),overlay .45s allow-discrete,display .45s allow-discrete}
.modal:not([open]){display:none}
.modal[open]{opacity:1;transform:none}
@starting-style{.modal[open]{opacity:0;transform:translateY(24px) scale(.98)}}
.modal::backdrop{background:rgba(11,11,11,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .3s,overlay .3s allow-discrete,display .3s allow-discrete}
.modal[open]::backdrop{opacity:1}
@starting-style{.modal[open]::backdrop{opacity:0}}
.modal__close{position:absolute;z-index:3;top:.85rem;right:.85rem;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(11,11,11,.7);color:var(--white);backdrop-filter:blur(8px);transition:background .2s,color .2s}
.modal__close:hover{background:var(--gold);color:var(--black)}
.modal__media{aspect-ratio:1;background:var(--gray)}
.modal__media img{width:100%;height:100%;object-fit:cover}
.modal__body{padding:clamp(1.5rem,4vw,2.25rem)}
.modal__title{font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:-.03em;margin-bottom:1rem}
.modal__bio{font-size:1.1rem;line-height:1.55;color:rgba(11,11,11,.62);margin-bottom:1.5rem}
.modal__bio:empty{display:none}
.modal__list{display:grid;gap:.65rem;margin:1.25rem 0 1.75rem}
.modal__list li{display:flex;gap:.7rem;align-items:flex-start;color:rgba(11,11,11,.7);font-size:.97rem}
.modal__list .ico{color:var(--gold-deep);margin-top:.2em}
@media(min-width:640px){
  #artist-modal[open]{display:grid;grid-template-columns:1fr 1.1fr;width:min(100% - 2rem,860px)}
  #artist-modal .modal__media{aspect-ratio:auto;min-height:100%}
  #artist-modal .modal__body{display:flex;flex-direction:column;justify-content:center}
}

/* ---------- Výzva „další jména přidáme“ pod interprety ---------- */
.more{position:relative;display:grid;gap:2rem;align-items:center;margin-top:clamp(2.5rem,5vw,4rem);padding:clamp(1.75rem,4vw,3.25rem);border-radius:var(--r);background:var(--gold);color:var(--black);--accent:var(--black);--muted:rgba(11,11,11,.72);overflow:hidden;isolation:isolate}
.more::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 80% at 85% 50%,rgba(255,250,200,.55),transparent 70%);pointer-events:none}
.more__eyebrow{opacity:.8}
.more__dot{width:8px;height:8px;border-radius:50%;background:var(--black);animation:morePing 1.8s ease-out infinite}
@keyframes morePing{0%{box-shadow:0 0 0 0 rgba(11,11,11,.45)}to{box-shadow:0 0 0 10px rgba(11,11,11,0)}}
.more__title{font-size:clamp(1.9rem,3.8vw,3.1rem);font-weight:800;line-height:.96;letter-spacing:-.025em;text-transform:uppercase;text-wrap:balance}
.more__lead{margin-top:1rem;max-width:34rem;color:var(--muted);font-size:clamp(1rem,1.2vw,1.1rem);text-wrap:pretty}
.more__cta{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;margin-top:1.6rem}
.more__handle{font-size:.78rem;font-weight:600;letter-spacing:.04em;color:rgba(11,11,11,.65)}
.more__tiles{display:flex;justify-content:center;align-items:center;padding:1rem 0 .5rem}
.more__tile{position:relative;display:grid;place-items:center;width:clamp(104px,11vw,150px);aspect-ratio:1;border-radius:18px;background:var(--black);color:var(--gold);box-shadow:0 24px 40px -22px rgba(0,0,0,.7);transform:rotate(var(--r)) translateY(var(--y));transition:transform .55s var(--ease);--r:0deg;--y:0}
.more__tile:nth-child(1){--r:-9deg;--y:12px;margin-right:-14px;z-index:1}
.more__tile:nth-child(2){--r:0deg;--y:-8px;z-index:2}
.more__tile:nth-child(3){--r:9deg;--y:12px;margin-left:-14px;z-index:1}
.more__tile::before{content:"";position:absolute;top:.7rem;left:.75rem;width:16px;height:16px;background:url(../images/znak.svg) center/contain no-repeat;filter:invert(1);opacity:.55}
.more__tile i{font-style:normal;font-size:clamp(2.6rem,4.6vw,4.2rem);font-weight:800;line-height:1;margin-top:-.2em}
.more__tile b{position:absolute;bottom:.7rem;left:0;right:0;text-align:center;font-size:.5rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:rgba(255,255,255,.7)}
.more:hover .more__tile{transform:rotate(calc(var(--r)*.4)) translateY(calc(var(--y)*.4))}
@media(min-width:900px){
  .more{grid-template-columns:1.35fr 1fr;gap:3rem}
  .more__tiles{padding:0}
}

/* ---------- Odkazy v modalu interpreta ---------- */
.modal__links{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.modal__links[hidden]{display:none}
.modal__links .btn .ico{width:1.2em;height:1.2em}
.modal__cta{display:flex;flex-wrap:wrap;gap:.5rem}

/* ---------- Upoutávka na další ročník (admin → SM27 Banner) ---------- */
.teaser{background:var(--black);color:var(--white);border-bottom:2px solid var(--gold)}
.teaser__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2rem;padding-block:1rem}
.teaser .btn{padding:.75rem 1.2rem;font-size:.9rem}
.teaser__badge{display:inline-flex;align-items:center;gap:.4em;font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.teaser__badge .ico{width:1em;height:1em}
.teaser__title{font-size:clamp(1.05rem,2vw,1.4rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;text-transform:uppercase}
.teaser__title b{color:var(--gold);font-weight:800}
.teaser__sub{margin-top:.25rem;font-size:.85rem;color:rgba(255,255,255,.65)}

/* ---------- Aftermovie jako Short (na výšku) ---------- */
.reel{display:grid;gap:2.5rem;align-items:center}
.reel__text .lead{margin-top:1.25rem}
.reel__text .btn{margin-top:1.5rem}
.video--vertical{aspect-ratio:9/16;width:min(100%,340px);margin-inline:auto;border-radius:24px;box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.video--vertical .video__btn{width:72px}
@media(min-width:900px){
  .reel{grid-template-columns:1fr auto;gap:4rem}
  .video--vertical{width:360px;margin-inline:0}
}

/* ---------- Reveal on scroll ---------- */
.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms)}
.js [data-reveal].is-in{opacity:1;transform:none}

/* ---------- Perf ---------- */
#partneri,#galerie,#merch,#tym,#kontakt,#eu-projekty{content-visibility:auto;contain-intrinsic-size:auto 800px}

/* ---------- Motion preferences ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hero__badge,.hero__logo,.hero__place,.hero__cta,.hero__heads{opacity:1;animation:none}
  .js [data-reveal]{opacity:1;transform:none}
  .ticker__track,.gallery__track{animation:none}
}
@media print{.nav,.menu,.fab,.ticker,.topbar{display:none}}
