/* Checkmat Slovakia – hlavné štýly (všetko pod prvou obrazovkou). Kritické štýly sú v critical.css. */

/* ---------- spoločné ---------- */
/* kotvy: rezerva vo výške lišty (72 px) + opasok (6 px) + 16 px, aby sa nadpis pri skoku neurezal */
.sec{position:relative;scroll-margin-top:calc(var(--hdr-h) + var(--belt-h) + 16px);padding:var(--section) var(--gutter);overflow:hidden}
/* sekcie pod prvou obrazovkou sa vykresľujú až pri priblížení k výrezu (rýchlejšie prvé načítanie) */
#treneri,#programy,#rozvrh,#gi-nogi,#detske-treningy,#uspechy,#galeria,#cennik,#faq,#kontakt,.ftr{content-visibility:auto;contain-intrinsic-size:auto 1000px}
.cv-all #treneri,.cv-all #programy,.cv-all #rozvrh,.cv-all #gi-nogi,.cv-all #detske-treningy,.cv-all #uspechy,.cv-all #galeria,.cv-all #cennik,.cv-all #faq,.cv-all #kontakt,.cv-all .ftr{content-visibility:visible}
.sec--dark{background:var(--black);color:var(--white)}
.sec--light{background:var(--white);color:var(--black)}
.sec--tatami{background:var(--tatami);color:var(--black)}
.sec--red{background:var(--red);color:var(--white)}
.sec--flush{padding-left:0;padding-right:0}
.h2{margin:0;font-size:clamp(34px,4.6vw,68px);font-weight:900;font-stretch:75%;line-height:.98;letter-spacing:-.012em;text-wrap:balance}
/* červená linka pod nadpisom – vykreslí sa zľava doprava po dobehnutí animácie nadpisu */
.h2[data-tx]::after,.start__h2[data-tx]::after{content:"";display:block;width:64px;height:3px;margin-top:.32em;background:var(--red);transform:scaleX(0);transform-origin:0 50%;transition:transform 260ms var(--ease)}
.sec--red .h2[data-tx]::after,.start__h2[data-tx]::after{background:var(--white)}
.h2.is-txd::after,.start__h2.is-txd::after,.no-js .h2[data-tx]::after,.no-js .start__h2[data-tx]::after{transform:scaleX(1)}
.h3{margin:0;font-size:clamp(22px,2vw,30px);font-weight:800;font-stretch:74%;line-height:1.1;text-wrap:balance}
.h3--s{font-size:clamp(20px,1.8vw,26px)}
.eyebrow{margin:0;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ash)}
.lead{margin:0;font-size:clamp(17px,1.2vw,18px);line-height:1.55;text-wrap:pretty}
.muted{color:var(--ash)}
.two{display:grid;grid-template-columns:1fr;gap:clamp(32px,4vw,72px);align-items:start}
@media (min-width:1000px){.two{grid-template-columns:1fr 1fr}}
.motif{position:absolute;color:var(--black);opacity:.06;stroke-width:.25;pointer-events:none}
.link-u{display:inline-flex;align-items:center;min-height:48px;color:inherit;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.link-u:hover{color:var(--red)}
.gutter{padding-left:var(--gutter);padding-right:var(--gutter)}

/* chipy (Vyber si cestu) */
.chip{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px;border:0;font-family:var(--f);font-size:16px;font-weight:700;cursor:pointer;transition:background 300ms var(--ease),color 300ms var(--ease)}
.chip--path{background:transparent;color:var(--black);box-shadow:inset 0 0 0 2px var(--black)}
.chip--path:hover{background:rgba(0,0,0,.06)}
.chip--path[aria-pressed="true"],.chip--path[aria-pressed="true"]:hover{background:var(--black);color:var(--white)}
.chip--path:focus-visible{outline:3px solid var(--red);outline-offset:3px}

/* ---------- O nás ---------- */
.about__stats{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:520px;background:var(--black)}
.stat{padding:clamp(20px,2.4vw,30px)}
.stat--dark{background:var(--black);color:var(--white)}
.stat--light{background:var(--tatami);color:var(--black)}
.stat__n{margin:0;font-size:clamp(38px,4.4vw,60px);font-weight:900;font-stretch:64%;line-height:.95;font-variant-numeric:tabular-nums}
.stat__l{margin:6px 0 0;font-size:15px;font-weight:500}
.stat--dark .stat__l{color:var(--ash)}
.stat--light .stat__l{color:var(--graphite)}
.about__note{margin:14px 0 0;font-size:14px;color:var(--graphite)}
/* fotka klubu: zvislo na stred k textu, pod ňou červený blok a v rohu šachovnica (pri skrolovaní sa jemne posúvajú), štítok s názvom */
.about__art{position:relative;align-self:center;margin:clamp(24px,3vw,44px) clamp(12px,2vw,30px) clamp(24px,3vw,44px) clamp(12px,2vw,30px)}
.about__fig{position:relative;z-index:1;margin:0;aspect-ratio:4/3;background:var(--tatami);box-shadow:0 34px 60px -34px rgba(0,0,0,.55)}
.about__fig img{object-position:50% 50%;filter:saturate(.95) contrast(1.06);transition:transform 1400ms var(--expo)}
.about__art:hover .about__fig img{transform:scale(1.04)}
.about__deco{position:absolute;pointer-events:none}
.about__deco--red{right:clamp(-30px,-2vw,-12px);bottom:clamp(-30px,-2vw,-12px);width:64%;height:72%;background:var(--red)}
/* šachovnica 4 × 4: spod fotky vytŕča presne jeden rad a jeden stĺpec políčok (--sq), preto sa neposúva */
.about__deco--board{--sq:clamp(24px,2.8vw,40px);left:calc(var(--sq) * -1);top:calc(var(--sq) * -1);width:calc(var(--sq) * 4);height:calc(var(--sq) * 4);background:repeating-conic-gradient(var(--black) 0 25%,var(--white) 0 50%) 0 0/calc(var(--sq) * 2) calc(var(--sq) * 2);box-shadow:0 0 0 2px var(--black)}
.about__tag{position:absolute;z-index:2;left:clamp(-18px,-1.2vw,-8px);bottom:clamp(18px,2.4vw,34px);margin:0;padding:10px 16px;background:var(--black);color:var(--white);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

/* predeľovací opasok (čierny pás, červené pole, biele prúžky) */
.divider{display:flex;align-items:stretch;height:26px;background:var(--black)}
.divider div{flex:1 1 auto}
.divider__field{flex:0 0 clamp(90px,10vw,150px)!important;background:var(--red);display:flex;align-items:center;justify-content:center;gap:5px}
.divider__field span{width:3px;height:14px;background:var(--white)}
.divider--big{height:clamp(40px,4vw,56px)}
.divider--big .divider__field{flex-basis:clamp(120px,14vw,220px)!important;gap:7px}
.divider--big .divider__field span{width:4px;height:22px}

/* ---------- Tréneri – kompaktné vodorovné karty (fotka vľavo, fakty vpravo); na počítači obe vedľa seba na jednu obrazovku ---------- */
#treneri{padding-top:clamp(45px,5.5vw,88px);padding-bottom:clamp(45px,5.5vw,88px)}
.coaches{display:grid;grid-template-columns:1fr;gap:clamp(16px,2vw,28px);max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
@media (min-width:1000px){.coaches{grid-template-columns:1fr 1fr}}
.coach{position:relative;background:var(--carbon);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform 500ms var(--ease),border-color 500ms var(--ease),box-shadow 500ms var(--ease)}
@media (min-width:600px){.coach{flex-direction:row}}
.coach__fig{position:relative;margin:0;display:flex;flex-direction:column}
@media (min-width:600px){.coach__fig{flex:0 0 40%}}
.coach__photo{aspect-ratio:1/1;background:var(--graphite)}
@media (min-width:600px){.coach__photo{aspect-ratio:auto;flex:1 1 auto;min-height:100%}}
.coach__photo img{object-position:50% 30%;transition:transform 1400ms var(--expo),filter 700ms var(--ease)}
.coach__cap{position:absolute;left:0;right:0;bottom:0;margin:0;padding:28px 14px 12px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.82));font-size:12px;font-weight:600;line-height:1.4;color:var(--white);font-variant-numeric:tabular-nums;pointer-events:none}
.coach__body{padding:clamp(22px,2.2vw,30px);display:flex;flex-direction:column;gap:14px;flex:1 1 auto;min-width:0}
.coach__name{margin:0 0 4px;font-size:clamp(26px,2.4vw,34px);font-weight:900;font-stretch:70%;line-height:1;letter-spacing:-.01em}
.coach__role{margin:0;font-size:15px;color:var(--ash)}
.coach__line{display:block;width:64px;height:2px;background:var(--red);transition:width 600ms var(--ease)}
.coach__facts{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.coach__fact{display:flex;gap:12px;padding:9px 0;font-size:15px;line-height:1.45;box-shadow:inset 0 -1px 0 0 var(--line)}
.coach__dot{flex:0 0 8px;height:8px;margin-top:7px;background:var(--red);transition:transform 500ms var(--ease)}
.coach__fact.is-draft{color:var(--red-dark)}
.coach__fact.is-draft .coach__dot{background:var(--red-dark)}
.coach__ig{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:auto;color:var(--white);font-size:15px;font-weight:600;text-decoration:none;transition:color 300ms var(--ease),gap 300ms var(--ease)}
.coach__ig:hover{color:var(--red-dark);gap:14px}
/* vektorová grafika na pozadí: bodková mriežka, tatami kruhy (pomaly sa otáčajú) a čierny opasok s červeným poľom,
   ktorý sa pri príchode do výrezu vykreslí zľava; celá grafika sa pri skrolovaní jemne posúva (paralaxa) */
.coach-art{position:absolute;left:0;top:-40px;width:100%;height:calc(100% + 80px);pointer-events:none;z-index:0}
#treneri>.wrap,#treneri>.coaches,#treneri>.coaches__cta{position:relative;z-index:1}
.coach-art__rings{transform-box:view-box;transform-origin:1190px 170px;animation:cmSpin 120s linear infinite}
/* jemné oživenie: karta sa nadvihne, fotka sa pomaly priblíži, červená linka sa predĺži, body sa otočia na kosoštvorce */
@media (hover:hover){
  .coach:hover{transform:translateY(-6px);border-color:rgba(225,7,7,.55);box-shadow:0 28px 60px -32px rgba(225,7,7,.55)}
  .coach:hover .coach__photo img{transform:scale(1.06);filter:saturate(.95) contrast(1.1)}
  .coach:hover .coach__line{width:128px}
  .coach:hover .coach__dot{transform:rotate(45deg) scale(.85)}
}
/* fakty naskakujú postupne pri odhalení karty (triedy is-pending / is-in pridáva reveal v app.js;
   bez JS, bez IntersectionObservera a pri obmedzenom pohybe sa triedy nepridajú a fakty sú hneď viditeľné) */
@keyframes cmFactIn{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
.is-pending .coach__fact{opacity:0}
.is-in .coach__fact{animation:cmFactIn 600ms var(--ease) both;animation-delay:calc(var(--i,0) * 90ms + 250ms)}
.coach__fact:nth-child(2){--i:1}.coach__fact:nth-child(3){--i:2}.coach__fact:nth-child(4){--i:3}.coach__fact:nth-child(5){--i:4}
.coaches__cta{max-width:var(--maxw);margin:clamp(24px,2.6vw,40px) auto 0;padding:0 var(--gutter)}

/* ---------- Programy ---------- */
.prog-head{display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,48px);align-items:flex-end;justify-content:space-between;margin-bottom:clamp(26px,3vw,42px)}
.prog-head .h2{max-width:16ch}
.paths__label{margin:0 0 10px;font-size:15px;font-weight:600}
.paths{display:flex;flex-wrap:wrap;gap:8px}
/* mobil: šesť kariet pod sebou, kompaktné (ikona a názov v riadku, časy pod tým) – bez vodorovného posúvania */
.progs{display:grid;grid-template-columns:1fr;gap:2px;background:var(--black)}
.prog{position:relative;background:var(--tatami);padding:16px;display:grid;grid-template-columns:48px 1fr;column-gap:14px;row-gap:8px;align-items:start;transition:opacity 400ms var(--ease),transform 300ms var(--ease),box-shadow 300ms var(--ease)}
.prog.is-dim{opacity:.4}
.prog__piece{position:relative;z-index:1;grid-row:1 / span 3;width:48px;height:48px;color:var(--black);stroke-width:1.1;transition:transform 700ms var(--ease)}
.prog__ghost{position:absolute;right:14px;bottom:14px;width:120px;height:120px;color:var(--black);opacity:.06;stroke-width:.9;pointer-events:none}
.prog__head{position:relative;z-index:1;min-height:48px;display:flex;flex-direction:column;justify-content:center}
.prog__name{margin:0;font-size:clamp(21px,1.8vw,26px);font-weight:800;font-stretch:72%;line-height:1.08;letter-spacing:-.008em}
.prog__times{margin:2px 0 0;font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--graphite)}
.prog__short{position:relative;z-index:1;margin:0;font-size:15px;line-height:1.5;color:var(--graphite);text-wrap:pretty}
.prog__actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media (min-width:620px) and (max-width:999px){.progs{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){
  .progs{grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.4vw,20px);background:transparent}
  .prog{display:flex;flex-direction:column;gap:16px;padding:clamp(20px,2.2vw,30px);min-height:300px;overflow:hidden}
  .prog__ghost{right:-10px;bottom:-10px;width:200px;height:200px}
  .prog__head{min-height:0}
  .prog__name{margin-bottom:6px}
  .prog__actions{margin-top:auto}
  /* pri prejdení myšou sa karta nadvihne o 4 px a spodná hrana zčervenie */
  .prog:hover{transform:translateY(-4px);box-shadow:inset 0 -3px 0 0 var(--red)}
}
.prog__claim{margin:clamp(22px,2.4vw,32px) 0 0;max-width:52ch;font-size:clamp(19px,1.8vw,26px);font-weight:700;font-stretch:80%;line-height:1.25}
.prog-path{position:absolute;left:0;top:clamp(200px,24vw,320px);width:min(760px,80%);height:auto;opacity:.06;pointer-events:none}

/* ---------- Rozvrh ---------- */
.sched-head{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(24px,2.6vw,36px)}
.next{display:flex;align-items:center;gap:14px;background:var(--carbon);border:1px solid var(--line);padding:14px 18px;min-height:64px}
.next__pulse{position:relative;display:flex;align-items:center;justify-content:center;width:12px;height:12px;flex:0 0 auto}
.next__pulse span{position:absolute;inset:0;background:var(--red)}
.next__pulse span:first-child{background:var(--red-dark);animation:cmPulse 2.2s ease-in-out infinite}
.next__t{margin:2px 0 0;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}
.sched{display:grid;grid-template-columns:1fr;gap:2px;background:var(--line)}
@media (min-width:620px) and (max-width:999px){.sched{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.sched{grid-template-columns:repeat(7,1fr)}}
.sched__day{background:var(--black);display:flex;flex-direction:column}
@media (min-width:1000px){.sched__day{min-height:240px}}
/* dnešný deň: červená linka 3 px na vrchu stĺpca, štítok „dnes“, zvyšok stĺpca len jemne presvetlený */
.sched__day.is-today{background:#0b0b0b;box-shadow:inset 0 3px 0 0 var(--red)}
.sched__dayhead{padding:14px 14px 10px;box-shadow:inset 0 -1px 0 0 var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}
.sched__dayname{margin:0;font-size:16px;font-weight:800;font-stretch:78%}
.sched__daynote{margin:0;font-size:13px;color:var(--ash);min-height:1.4em}
.sched__day.is-today .sched__daynote{padding:2px 8px;background:var(--red);color:var(--white);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.4}
.sched__entries{margin:0;padding:10px;list-style:none;display:flex;flex-direction:column;gap:8px;flex:1 1 auto}
.sched__entry{background:var(--carbon);border:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:8px;transition:transform 400ms var(--ease),opacity 400ms var(--ease)}
.sched__entryhead{display:flex;align-items:center;gap:8px}
.sched__entry .i{color:var(--red-dark);stroke-width:1.6}
.sched__time{margin:0;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}
.sched__name{margin:0;font-size:15px;font-weight:500;color:var(--white)}
.sched-foot{margin-top:clamp(28px,3vw,44px);display:grid;grid-template-columns:1fr;gap:clamp(20px,2.4vw,40px);align-items:start}
@media (min-width:1000px){.sched-foot{grid-template-columns:1fr 1fr}}
.sched-foot__addr{margin:0;display:flex;align-items:center;gap:12px;font-size:17px;font-weight:500}
.sched-foot__addr .i{color:var(--red-dark)}
.sched-foot__note{margin:14px 0 0;font-size:15px;color:var(--ash);max-width:56ch}
.maat{background:var(--carbon);border:1px solid var(--line);padding:clamp(20px,2.2vw,28px)}
.maat__h{margin:0 0 16px;font-size:clamp(19px,1.6vw,23px);font-weight:800;font-stretch:76%}
.maat__row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
/* QR kód na aplikáciu MAAT – veľký a ostrý (1-bitový PNG, bez rozmazania pri zväčšení) */
.maat__qr{width:clamp(150px,14vw,200px);height:auto;aspect-ratio:1/1;object-fit:contain;background:var(--white);padding:10px;image-rendering:pixelated;transition:transform 500ms var(--ease)}
.maat:hover .maat__qr{transform:scale(1.03)}

/* ---------- Gi / No-Gi – slider: fotka a text danej položky naraz (záložky, šípky, klávesnica, potiahnutie) ---------- */
.gns__lead{margin:0 0 clamp(26px,3vw,40px);max-width:60ch;font-size:clamp(18px,1.5vw,22px);font-weight:500;line-height:1.45}
.gns__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:clamp(18px,2vw,28px)}
.gns__tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--tatami)}
.gns__tab{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:clamp(136px,14vw,200px);padding:14px 22px;border:0;background:transparent;color:var(--black);font-family:var(--f);font-size:clamp(22px,2vw,28px);font-weight:900;font-stretch:72%;line-height:1;text-align:left;cursor:pointer;transition:color 400ms var(--ease)}
.gns__tab span{font-size:13px;font-weight:600;font-stretch:100%;letter-spacing:.02em;color:var(--graphite);transition:color 400ms var(--ease)}
.gns__tab[aria-selected="true"],.gns__tab[aria-selected="true"] span{color:var(--white)}
.gns__tab:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.gns__ind{position:absolute;top:0;bottom:0;left:0;width:50%;background:var(--black);box-shadow:inset 0 -4px 0 var(--red);transition:transform 600ms var(--expo)}
.gns[data-i="1"] .gns__ind{transform:translateX(100%)}
.gns__ctrl{display:flex;align-items:center;gap:10px}
.gns__count{margin:0 8px 0 0;font-size:15px;font-weight:600;color:var(--graphite);font-variant-numeric:tabular-nums}
.gns__count b{color:var(--black);font-size:24px;font-stretch:70%}
.gns__stage{display:grid;touch-action:pan-y}
.gns__slide{grid-area:1/1;display:grid;grid-template-columns:1fr;gap:clamp(20px,3vw,52px);align-items:center;visibility:hidden;transition:visibility 0s 900ms}
.gns__slide.is-active{z-index:1;visibility:visible;transition:none}
@media (min-width:1000px){.gns__slide{grid-template-columns:7fr 5fr}}
/* nová fotka sa odkryje sprava, pôvodná pod ňou zmizne; text naskočí po riadkoch */
.gns__photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--tatami);clip-path:inset(0 0 0 100%);transition:clip-path 900ms var(--expo)}
.gns__slide.is-active .gns__photo{clip-path:inset(0 0 0 0)}
.gns__photo picture,.gns__photo img{display:block;width:100%;height:100%}
.gns__photo img{object-fit:cover;filter:saturate(.8) contrast(1.08);transform:scale(1.14);transition:transform 1500ms var(--expo)}
.gns__slide.is-active .gns__photo img{transform:none}
.gns__text>*{opacity:0;transform:translateY(26px);transition:opacity 450ms var(--ease),transform 700ms var(--expo)}
.gns__slide.is-active .gns__text>*{opacity:1;transform:none}
.gns__slide.is-active .gns__text>:nth-child(2){transition-delay:70ms}
.gns__slide.is-active .gns__text>:nth-child(3){transition-delay:140ms}
.gns__slide.is-active .gns__text>:nth-child(4){transition-delay:210ms}
.gns__slide.is-active .gns__text>:nth-child(5),.gns__slide.is-active .gns__text>:nth-child(6){transition-delay:280ms}
.gns__num{margin:0;font-size:clamp(64px,7vw,112px);font-weight:900;font-stretch:64%;line-height:.85;color:transparent;-webkit-text-stroke:2px var(--red)}
.gns__eyebrow{margin:12px 0 10px;color:var(--red)}
.gns__text .h3{margin-bottom:14px}
.gns__text p{max-width:60ch}
.no-js .gns__stage{display:flex;flex-direction:column;gap:48px}
.no-js .gns__slide{visibility:visible}
.no-js .gns__photo{clip-path:none}
.no-js .gns__text>*{opacity:1;transform:none}
.no-js .gns__bar{display:none}
.more{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.more p{color:var(--graphite)}
.more-btn{margin-top:18px;min-height:48px;padding:0;border:0;background:transparent;font-family:var(--f);font-size:16px;font-weight:700;color:var(--black);text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.more-btn:hover{color:var(--red)}
.more-btn:focus-visible{outline:3px solid var(--black)}
.no-js .more{display:flex!important}
.no-js .more-btn{display:none}

/* ---------- Detské tréningy ---------- */
.kids__age{margin:0 0 4px;font-size:clamp(56px,9vw,132px);font-weight:900;font-stretch:63%;line-height:.86;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kids__h2{margin:0 0 18px}
.kids__intro{margin:0 0 22px;max-width:60ch}
.kids__facts{margin:0 0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:2px;background:var(--black)}
.kids__fact{background:var(--white);padding:16px}
.kids__fact dt{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--graphite);margin-bottom:6px}
.kids__fact dd{margin:0;font-size:17px;font-weight:600}
.kids__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:2px;background:var(--black);margin-bottom:24px}
.kids__card{background:var(--white);padding:20px;display:flex;flex-direction:column;gap:14px}
.kids__card p{margin:0;font-size:16px;line-height:1.5;text-wrap:pretty}
.kids__icon{color:var(--red);stroke-width:1.6}
.kids__belts{display:flex;height:18px;margin-bottom:24px}
.kids__belts span{flex:1 1 0}
.kids__video{position:relative;aspect-ratio:4/5;background:var(--black);overflow:hidden}
.kids__video video{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.1)}
.kids__video picture{position:absolute;inset:0}
.kids__video .video-btn{position:absolute;left:14px;bottom:14px}
.video-btn{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 16px;border:0;background:var(--black);color:var(--white);font-family:var(--f);font-size:15px;font-weight:600;cursor:pointer}
.video-btn:hover{background:var(--red)}
.video-btn:focus-visible{outline:3px solid var(--white)}
.no-js .video-btn{display:none}
.kids .btn--red:hover{box-shadow:inset 600px 0 0 0 var(--black);color:var(--white)}
.kids .btn--red:focus-visible{outline-color:var(--black)}
/* video detí sa prehráva iba na počítači; na mobile je namiesto neho fotka (video sa vôbec nesťahuje) */
.kids__photo,.kids__photo img{display:block;width:100%;height:100%;object-fit:cover}
@media (min-width:1000px){.kids__photo{display:none}}
@media (max-width:999px){.kids__video video,.kids__video .video-btn{display:none}}

/* ---------- Úspechy ---------- */
/* medailové odznaky: plný farebný krúžok 44 px s bielou medailou, číslo na spoločnej účiare, popis pod číslom */
.medals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:2px;background:var(--line);margin-bottom:clamp(28px,3vw,48px)}
.medal{background:var(--black);padding:clamp(20px,2.2vw,28px);display:grid;grid-template-columns:44px 1fr;column-gap:14px;row-gap:8px;align-items:baseline}
.medal__badge{grid-row:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--white);color:var(--black);align-self:end}
.medal__badge .i{stroke-width:1.7}
.medal--gold .medal__badge{background:var(--gold);color:var(--white)}
.medal--silver .medal__badge{background:var(--silver);color:var(--white)}
.medal--bronze .medal__badge{background:var(--bronze);color:var(--white)}
.medal__n{grid-row:1;grid-column:2;margin:0;font-size:clamp(40px,4.6vw,64px);font-weight:900;font-stretch:64%;line-height:.92;font-variant-numeric:tabular-nums}
.medal__l{grid-row:2;grid-column:2;margin:0;font-size:15px;font-weight:500;color:var(--white)}
.medal--gold .medal__n{color:var(--gold)}
.medal--silver .medal__n{color:var(--silver)}
.medal--bronze .medal__n{color:var(--bronze)}
.medal--white .medal__n{color:var(--white)}
.team-h{margin:0 0 16px}
.team-btn{display:flex;width:100%;min-height:64px;margin:0 0 12px;padding:16px;border:1px solid var(--line);background:var(--carbon);color:var(--white);font-family:var(--f);font-size:17px;font-weight:800;font-stretch:74%;text-align:left;align-items:center;gap:14px;cursor:pointer}
.team-btn:focus-visible{outline-offset:-3px}
.team-btn span{flex:1 1 auto}
.team-btn .i{transition:transform 400ms var(--ease)}
.team-btn[aria-expanded="true"] .i{transform:rotate(45deg)}
.teams{margin:0 0 clamp(24px,3.4vw,52px);padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:2px;background:var(--line)}
.team{background:var(--black);padding:20px;display:flex;flex-direction:column;gap:6px}
.team__date{font-size:14px;font-weight:600;color:var(--ash);font-variant-numeric:tabular-nums}
.team__event{font-size:18px;font-weight:700;font-stretch:82%}
.team__place{font-size:16px}
@media (min-width:1000px){.team-btn{display:none}.teams{display:grid!important}}
@media (max-width:999px){.team-h{display:none}.js .teams[hidden]{display:none!important}}

/* ---------- Galéria – tri stĺpce, ktoré sa pri skrolovaní posúvajú proti sebe; dlaždice sa odkrývajú striedavo
   zhora a zdola, pri prejdení myšou ostatné fotky stmavnú; kliknutie otvorí zväčšenie (<dialog>) ---------- */
.gallery{padding-bottom:calc(var(--section) + 40px)}
.gallery__ghost{position:absolute;top:clamp(24px,4vw,64px);left:0;margin:0;white-space:nowrap;font-size:clamp(120px,19vw,320px);font-weight:900;font-stretch:62%;line-height:.8;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.1);pointer-events:none;animation:cmGhost 70s linear infinite}
@keyframes cmGhost{to{transform:translateX(-50%)}}
.gallery__head{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:clamp(48px,6vw,104px)}
.gallery__hint{margin:0;font-size:15px;color:var(--ash)}
.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,24px);align-items:start}
.gallery__col{display:flex;flex-direction:column;gap:clamp(12px,1.6vw,24px);will-change:transform}
.gallery__col:nth-child(2){margin-top:clamp(40px,8vw,140px)}
.gtile{position:relative;display:block;width:100%;margin:0;padding:0;border:0;background:var(--carbon);overflow:hidden;cursor:zoom-in;font:inherit;color:var(--white);text-align:left}
.gtile picture,.gtile img{display:block;width:100%;height:auto}
.gtile img{filter:saturate(.8) contrast(1.08);transition:transform 1500ms var(--expo),filter 500ms var(--ease)}
.gtile.is-pending img{transform:scale(1.3)}
.gtile::before{content:"";position:absolute;inset:0;z-index:1;box-shadow:inset 0 0 0 3px var(--red);opacity:0;transition:opacity 400ms var(--ease);pointer-events:none}
.gtile__cap{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:40px 16px 14px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.85));font-size:14px;font-weight:600;line-height:1.35;transform:translateY(101%);transition:transform 500ms var(--ease)}
@media (hover:hover){
  .gallery__grid:hover .gtile:not(:hover) img{filter:grayscale(1) brightness(.45)}
  .gtile:hover img{transform:scale(1.06)}
  .gtile:hover .gtile__cap{transform:none}
  .gtile:hover::before{opacity:1}
}
.gtile:focus-visible{outline:3px solid var(--red-dark);outline-offset:3px}
.gtile:focus-visible .gtile__cap{transform:none}
/* mobil: jeden stĺpec, fotky striedavo pri ľavom a pravom okraji */
@media (max-width:799px){
  .gallery__grid{display:flex;flex-direction:column;gap:14px}
  .gallery__col{display:contents}
  .gtile{width:86%;order:var(--i)}
  .gtile--r{align-self:flex-end}
  .gtile__cap{transform:none}
}
/* zväčšenie fotky */
.lb{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:clamp(64px,6vw,80px) clamp(16px,6vw,96px);border:0;background:rgba(0,0,0,.95);color:var(--white)}
.lb[open]{display:grid;place-items:center}
.lb::backdrop{background:rgba(0,0,0,.6)}
html:has(.lb[open]){overflow:hidden}
.lb__fig{margin:0;display:flex;flex-direction:column;gap:12px;max-width:100%}
.lb__img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 180px);max-height:calc(100dvh - 180px);margin:0 auto;object-fit:contain}
.lb.is-in .lb__img{animation:cmLbIn 600ms var(--expo)}
@keyframes cmLbIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.lb__cap{display:flex;justify-content:space-between;gap:16px;font-size:15px;color:var(--ash)}
.lb__n{flex:0 0 auto;color:var(--white);font-variant-numeric:tabular-nums}
.lb .round-btn{position:absolute;background:rgba(0,0,0,.5);color:var(--white)}
.lb__close{top:16px;right:16px}
.lb__prev{left:12px;top:50%;margin-top:-24px}
.lb__next{right:12px;top:50%;margin-top:-24px}

/* okrúhle tlačidlá so šípkou (slider Gi / No-Gi, galéria) */
.round-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:background 300ms var(--ease),color 300ms var(--ease),border-color 300ms var(--ease),transform 300ms var(--ease)}
.round-btn .i{stroke-width:2}
.round-btn--prev .i{transform:rotate(180deg)}
.round-btn:hover{background:var(--red);border-color:var(--red);color:var(--white)}
.round-btn:active{transform:scale(.92)}
.round-btn:focus-visible{outline:3px solid var(--red-dark);outline-offset:3px}


/* ---------- Začni / cenník ---------- */
.start__h2{margin:0 0 clamp(30px,3.4vw,52px);padding:.06em 0;font-size:clamp(38px,6vw,96px);font-weight:900;font-stretch:75%;line-height:1;letter-spacing:-.015em;text-wrap:balance;overflow-wrap:anywhere}
.steps{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(16px,2vw,28px);margin-bottom:clamp(34px,4vw,60px)}
.steps[data-count="1"] .step{position:relative;background:var(--red)}
.step__n{display:flex;align-items:center;justify-content:center;width:68px;height:68px;background:var(--white);color:var(--red);font-size:34px;font-weight:900;font-stretch:66%;font-variant-numeric:tabular-nums}
.step__title{margin:18px 0 8px;font-size:clamp(20px,1.8vw,26px);font-weight:800;font-stretch:76%}
.step__text{margin:0;max-width:40ch;font-size:16px;line-height:1.5;text-wrap:pretty}
.step.is-draft{display:block}
html:not([data-draft="true"]) .step.is-draft{display:none}
.prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(16px,2vw,24px);margin-bottom:clamp(28px,3vw,44px)}
.price{position:relative;overflow:hidden;background:var(--white);color:var(--black);padding:clamp(24px,2.6vw,34px);display:flex;flex-direction:column;gap:10px;transition:transform 500ms var(--ease),box-shadow 500ms var(--ease)}
/* jemné oživenie: karta sa nadvihne a zospodu sa vysunie čierna linka */
.price::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--black);transform:scaleX(0);transform-origin:0 50%;transition:transform 600ms var(--ease)}
@media (hover:hover){.price:hover{transform:translateY(-6px);box-shadow:0 26px 50px -28px rgba(0,0,0,.6)}.price:hover::after{transform:scaleX(1)}}
.price__name{margin:0;font-size:17px;font-weight:600}
.price__n{margin:0;font-size:clamp(44px,5vw,72px);font-weight:900;font-stretch:64%;line-height:.92;font-variant-numeric:tabular-nums}
.price__note{margin:0;font-size:15px;color:var(--graphite)}
.start .btn--white{min-height:72px;padding:0 clamp(24px,3vw,48px);font-size:clamp(17px,1.5vw,21px);font-weight:800;font-stretch:84%}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:1000px;margin:0 auto}
.faq-wrap .h2{margin-bottom:clamp(26px,3vw,42px)}
.faqs{margin:0;display:flex;flex-direction:column;gap:2px;background:var(--black)}
.faq{background:var(--white);display:grid;grid-template-columns:1fr;gap:10px;padding:clamp(20px,2.4vw,28px) 0}
@media (min-width:760px){.faq{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,3vw,48px)}}
.faq__q{margin:0;font-size:clamp(17px,1.4vw,20px);font-weight:700;line-height:1.3;text-wrap:balance}
.faq__a{margin:0;max-width:60ch;font-size:clamp(17px,1.2vw,18px);line-height:1.55;color:var(--graphite);text-wrap:pretty}

/* ---------- Kontakt / formulár ---------- */
.contact{display:grid;grid-template-columns:1fr;gap:clamp(30px,4vw,72px);align-items:start}
@media (min-width:1000px){.contact{grid-template-columns:1fr 1fr}}
.contact .h2{margin-bottom:clamp(22px,2.4vw,34px)}
.form-alert{display:flex;gap:12px;padding:16px;background:var(--carbon);border:1px solid var(--line);box-shadow:inset 0 0 0 2px var(--red-dark);margin-bottom:22px}
.form-alert .i{color:var(--red-dark);flex:0 0 auto}
.form-alert p{margin:0;font-size:16px}
.form-alert ul{margin:8px 0 0;padding-left:18px;font-size:15px}
.form-alert a{color:var(--red-dark)}
.form{display:flex;flex-direction:column;gap:18px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:15px;font-weight:600}
.field label span{color:var(--ash);font-weight:400}
.field input,.field select,.field textarea{width:100%;height:56px;padding:0 16px;border:1px solid var(--line);background:var(--carbon);color:var(--white);font-family:var(--f);font-size:17px;box-shadow:inset 0 0 0 1px var(--graphite);border-radius:0}
.field textarea{height:auto;padding:14px 16px;line-height:1.5;resize:vertical}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:48px;cursor:pointer}
.field select option{background:var(--carbon);color:var(--white)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--red-dark);outline-offset:2px}
.field [aria-invalid="true"]{box-shadow:inset 0 0 0 2px var(--red-dark)}
.field__err{margin:0;font-size:14px;color:var(--red-dark)}
.consent{display:flex;gap:14px;align-items:flex-start;cursor:pointer}
.consent input{flex:0 0 auto;width:26px;height:26px;margin:2px 0 0;accent-color:var(--red)}
.consent span{font-size:16px;line-height:1.5}
.consent .link-btn,.link-btn{border:0;padding:0;background:transparent;font-family:var(--f);font-size:16px;font-weight:600;color:var(--red-dark);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.submit{align-self:flex-start;min-height:64px;padding:0 30px;gap:12px}
.submit[disabled]{background:var(--graphite);cursor:not-allowed;box-shadow:none;color:var(--white)}
.spinner{width:18px;height:18px;box-shadow:inset 0 0 0 2px var(--ash);border-top:2px solid var(--white);animation:cmSpin .8s linear infinite}
.success{background:var(--carbon);border:1px solid var(--line);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:18px}
.success__king{color:var(--red-dark);stroke-width:1.4;transform-origin:50% 90%;animation:cmFall 900ms var(--ease) forwards}
.success__h{margin:0;font-size:clamp(24px,2.4vw,34px);font-weight:900;font-stretch:70%;line-height:1.05}
.success p{margin:0;max-width:44ch}
.contact-box{display:flex;flex-direction:column;gap:2px;background:var(--line);border:1px solid var(--line)}
.contact-row{background:var(--carbon);padding:20px;display:flex;gap:14px;align-items:center;color:var(--white);font-size:17px;text-decoration:none;line-height:1.5}
.contact-row .i{color:var(--red-dark);flex:0 0 auto}
.contact-row p{margin:0}
a.contact-row:hover{background:var(--black)}
.contact-side{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,32px)}
.socials{display:flex;flex-wrap:wrap;gap:10px}
.soc{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:var(--carbon);border:1px solid var(--line);color:var(--white);text-decoration:none}
.soc:hover{background:var(--red);border-color:var(--red)}
.map{position:relative;aspect-ratio:4/3;background:var(--carbon);border:1px solid var(--line);overflow:hidden}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map__btns{position:absolute;left:16px;bottom:28px;display:flex;flex-wrap:wrap;gap:10px}
.map__link{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;background:var(--black);color:var(--white);font-size:15px;font-weight:600;text-decoration:none}
.map__link:hover{background:var(--graphite)}

/* ---------- pätička ---------- */
.ftr{background:var(--black);color:var(--white)}
.ig{display:grid;grid-template-columns:repeat(3,1fr)}
@media (min-width:1000px){.ig{grid-template-columns:repeat(6,1fr)}}
.ig__tile{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--carbon);text-decoration:none}
.ig__tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.1);transition:transform 700ms var(--ease)}
.ig__tile:hover img{transform:scale(1.05)}
.ftr__follow{padding:18px var(--gutter);border-bottom:1px solid var(--line)}
.ftr__follow a{display:inline-flex;align-items:center;gap:12px;min-height:48px;color:var(--white);font-size:17px;font-weight:600;text-decoration:none}
.ftr__follow a:hover{color:var(--red-dark)}
/* veľký nápis – JS ho zväčší presne na šírku obsahu (64–160 px), bez JS má rozumnú veľkosť */
.ftr__big{padding:clamp(40px,6vw,90px) var(--gutter) clamp(20px,2.4vw,32px);overflow:hidden}
.ftr__big p{margin:0;font-size:clamp(64px,10.4vw,160px);font-weight:900;font-stretch:63%;line-height:.86;letter-spacing:-.02em;text-transform:uppercase;font-kerning:none;font-variant-ligatures:none;text-wrap:balance}
.ftr__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(24px,3vw,48px);padding:clamp(24px,3vw,48px) var(--gutter);border-top:1px solid var(--line)}
.ftr__col{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.ftr__col img{display:block;height:44px;width:auto;margin-bottom:8px}
.ftr__col .eyebrow{font-size:14px;font-weight:700;margin-bottom:4px}
.ftr__col p{margin:0;font-size:16px;line-height:1.55}
.ftr__col a,.ftr__col .link-btn{font-size:16px;color:var(--white);text-decoration:none;font-weight:400;padding:10px 0;margin:-10px 0}
.ftr__col a:hover,.ftr__col .link-btn:hover{color:var(--red-dark)}
.ftr__copy{margin:8px 0 0!important;font-size:15px;color:var(--ash)}
@media (max-width:999px){.js .ftr{padding-bottom:84px}}

/* ---------- spodná lišta (mobil) ---------- */
.bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--carbon);border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px}
@media (max-width:999px){.js .bar{display:flex}}
.bar a{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;color:var(--white);font-size:16px;font-weight:600;text-decoration:none}
.bar__call{box-shadow:inset 0 0 0 2px var(--graphite)}
.bar__cta{background:var(--red);font-weight:700}

/* ---------- modálne okno ---------- */
.modal{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:clamp(20px,4vw,60px)}
@media (max-width:619px){.modal{align-items:stretch;padding:0}}
.modal__bg{position:absolute;inset:0;background:var(--black);opacity:.72;border:0;padding:0;cursor:default}
.modal__box{position:relative;width:min(760px,100%);max-height:86vh;background:var(--carbon);border:1px solid var(--line);color:var(--white);display:flex;flex-direction:column;animation:cmModalIn 700ms var(--ease)}
@media (max-width:619px){.modal__box{width:100%;max-height:100vh;max-height:100dvh}}
.modal__head{display:flex;align-items:flex-start;gap:16px;padding:clamp(20px,2.4vw,32px) clamp(20px,2.4vw,32px) 14px;box-shadow:inset 0 -1px 0 0 var(--line)}
.modal__title{margin:0;flex:1 1 auto;font-size:clamp(24px,2.4vw,36px);font-weight:900;font-stretch:70%;line-height:1.05}
.modal__close{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--line);background:var(--black);color:var(--white);cursor:pointer}
.modal__close:hover{background:var(--red);border-color:var(--red)}
.modal__body{padding:clamp(20px,2.4vw,32px);overflow-y:auto;display:flex;flex-direction:column;gap:20px}
.modal__prog,.modal__pane{display:flex;flex-direction:column;gap:20px}
.modal__proghead{display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.modal__icon{color:var(--red-dark);stroke-width:1.1}
.modal__times{margin:4px 0 0;font-size:clamp(22px,2vw,30px);font-weight:800;font-stretch:76%;font-variant-numeric:tabular-nums}
.modal__text{margin:0;max-width:60ch;font-size:17px;line-height:1.55}
.modal__note{margin:0;padding:16px;background:var(--black);border:1px solid var(--line);font-size:16px;line-height:1.5}
.modal__actions{display:flex;flex-wrap:wrap;gap:12px}
.modal__actions .btn--red{min-height:56px;padding:0 24px;font-size:16px}
.modal__actions .btn--red:hover{box-shadow:inset 400px 0 0 0 var(--white)}
.gdpr__h{margin:26px 0 8px;font-size:18px;font-weight:800;font-stretch:84%;line-height:1.25}
.gdpr__item{padding:12px 0;box-shadow:inset 0 -1px 0 0 var(--line)}
.gdpr__dt{margin:0 0 4px;font-size:16px;font-weight:700}
.ck{display:flex;gap:16px;align-items:flex-start;padding:18px;background:var(--black);border:1px solid var(--line)}
.ck > div{flex:1 1 auto}
.ck__name{margin:0 0 4px;font-size:17px;font-weight:700}
.ck__desc{margin:0;font-size:15px;line-height:1.5;color:var(--ash)}
.switch{position:relative;flex:0 0 auto;width:64px;height:36px;padding:3px;border:0;background:var(--graphite);cursor:pointer;display:flex;align-items:center;justify-content:flex-start;transition:background 300ms var(--ease)}
.switch[aria-checked="true"]{background:var(--red);justify-content:flex-end}
.switch[disabled]{cursor:not-allowed}
.switch::before{content:"";position:absolute;inset:-4px 0}
.switch__knob{width:28px;height:28px;background:var(--white)}
.modal__pane .modal__actions{margin-top:6px}

/* ---------- 404 ---------- */
.nf{background:var(--black);color:var(--white);min-height:100vh;min-height:100dvh;position:relative;overflow:hidden}
.board{position:absolute;inset:0;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);opacity:.16}
.board div{box-shadow:inset 0 0 0 1px var(--graphite);background:var(--black)}
.board div:nth-child(16n+2),.board div:nth-child(16n+4),.board div:nth-child(16n+6),.board div:nth-child(16n+8),.board div:nth-child(16n+9),.board div:nth-child(16n+11),.board div:nth-child(16n+13),.board div:nth-child(16n+15){background:var(--carbon)}
.nf__bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;height:var(--hdr-h);padding:0 var(--gutter);background:var(--black);border-bottom:1px solid var(--line)}
.nf__bar img{height:32px;width:auto}
.nf__in{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;padding:clamp(48px,9vw,140px) var(--gutter);display:grid;grid-template-columns:1fr;gap:clamp(30px,4vw,64px);align-items:center}
@media (min-width:1000px){.nf__in{grid-template-columns:1fr 1fr}}
.nf__code{margin:0 0 clamp(14px,1.6vw,22px);font-size:clamp(110px,22vw,300px);font-weight:900;font-stretch:63%;line-height:.8;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.nf__h1{margin:0 0 12px;font-size:clamp(28px,3.4vw,52px);font-weight:900;font-stretch:70%;line-height:1.02}
.nf__p{margin:0 0 clamp(24px,3vw,38px);max-width:44ch;font-size:clamp(17px,1.3vw,19px);line-height:1.55}
.nf__btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.nf__king{display:flex;align-items:center;justify-content:center}
.nf__king .i{width:100%;height:auto;max-width:min(420px,60vw);color:var(--red-dark);stroke-width:.7;transform-origin:50% 92%;animation:cmFall 1100ms var(--ease) 220ms forwards}
.nf__foot{position:relative;z-index:2;padding:clamp(20px,3vw,40px) var(--gutter);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.nf__foot p{margin:0;font-size:16px;color:var(--ash)}
.wipe{position:fixed;inset:0;z-index:120;display:none;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);pointer-events:none}
.wipe.is-on{display:grid}
.wipe div{transform:scale(0)}

/* stlačený stav tlačidiel */
.chip:active,.video-btn:active,.modal__close:active,.menu__close:active,.soc:active,.map__link:active{transform:translateY(1px)}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .success__king,.nf__king .i{animation:none;transform:rotate(-82deg) translateY(6px)}
  .next__pulse span:first-child{animation:none}
  .ig__tile:hover img{transform:none}
  .prog:hover{transform:none}
}
