/* ============================================================================
   KONCEPT 3 — „PLAGÁT"
   Art direction: plagát zápasu. Všetko je vycentrované na jednu zvislú os,
   oddelené vlasovými linkami a posadené na zrnitý papier — tak sa sádžu
   plagáty na bojové večery. Sadzba na stred je tu zámer, nie reflex:
   je to nosný princíp formátu, nie výplň prázdneho miesta.
   Písmo: Anton (displej, len verzálky) + Figtree (text).
   ========================================================================== */

:root{
  --ink:#0A0A0C;
  --ink-2:#121215;
  --panel:#17171B;
  --line:#33302B;
  --line-soft:#232227;
  --paper:#F2EFE9;
  --muted:#9A9287;
  --muted-2:#7E776C;
  --aqua:#00A1E3;
  --ok:#3FBF7F;
  --warn:#E8B04B;
  --rail:min(72rem, 90vw);
  --nav-h:4.5rem;
}

html{font-size:clamp(15px,.42vw + 12.4px,20px);-webkit-text-size-adjust:100%;
  scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 1rem)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--ink);color:var(--paper);
  font-family:'Figtree',system-ui,sans-serif;font-size:1rem;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative}
/* zrno cez celú stránku — drží papierový, tlačený pocit */
body::after{content:'';position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.14;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0 0 1rem}
:focus-visible{outline:3px solid var(--aqua);outline-offset:3px}

h1,h2,h3{font-family:'Anton',Impact,sans-serif;font-weight:400;margin:0;
  text-transform:uppercase;line-height:.86;letter-spacing:.005em}

.rail{width:var(--rail);margin-inline:auto}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  clip-path:inset(50%);white-space:nowrap}
.rule{height:1px;border:0;margin:0;
  background:linear-gradient(90deg,transparent,var(--line) 15%,var(--line) 85%,transparent)}
.eyebrow{font-size:.7rem;letter-spacing:.34em;text-transform:uppercase;color:var(--muted);margin:0}
.tracked{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:60;height:var(--nav-h);
  background:rgba(10,10,12,.88);color:var(--paper);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft)}
.nav__in{width:var(--rail);margin-inline:auto;height:100%;display:flex;align-items:center;gap:1.4rem}
.nav__logo{margin-right:auto;display:flex;align-items:center;text-decoration:none;padding-block:.3rem}
.nav__logo img{height:2.7rem;width:auto;
  filter:drop-shadow(0 0 1px rgba(255,255,255,.5)) drop-shadow(0 1px 6px rgba(0,161,227,.25))}
.nav__links{display:flex;gap:1.5rem;align-items:center}
.nav__links a{text-decoration:none;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--paper);padding:.6rem 0;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.nav__links a:hover,.nav__links a[aria-current]{border-bottom-color:var(--aqua);color:var(--aqua)}
.nav__cta{display:inline-flex;align-items:center;background:var(--paper);color:var(--ink);
  text-decoration:none;font-weight:800;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.75rem 1.15rem;min-height:3rem;transition:background .2s,color .2s}
.nav__cta:hover{background:var(--aqua);color:var(--ink)}
.burger{display:none;background:transparent;color:var(--paper);border:1px solid var(--line);
  width:3rem;height:3rem;cursor:pointer;align-items:center;justify-content:center}
.burger span{display:block;width:1.2rem;height:2px;background:var(--paper);position:relative}
.burger span::before,.burger span::after{content:'';position:absolute;left:0;width:1.2rem;height:2px;background:var(--paper)}
.burger span::before{top:-.4rem}.burger span::after{top:.4rem}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:calc(100svh - var(--nav-h));display:flex;overflow:hidden;
  background:var(--ink);color:var(--paper)}
.hero__bg{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.3;filter:grayscale(1) contrast(1.15)}
.hero__bg::after{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 42%,rgba(10,10,12,.28) 0%,rgba(10,10,12,.9) 66%,var(--ink) 100%)}
.hero__in{position:relative;z-index:5;margin:auto;width:var(--rail);text-align:center;
  padding-block:4rem 3rem}
.hero h1 .s1{display:block;font-size:clamp(1.4rem,4.2vw,3rem);color:var(--muted);
  margin-bottom:.28em;letter-spacing:.06em}
.hero h1 .s2{display:block;font-size:clamp(4rem,14.5vw,11rem);color:var(--paper);
  text-shadow:0 0 4rem rgba(0,161,227,.22)}
.hero__disc{font-size:clamp(.66rem,1.5vw,.84rem);letter-spacing:.3em;text-transform:uppercase;
  color:#B8B0A4;margin:1.4rem 0 0}
.hero__ctas{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin-top:2.2rem}
.hero__meta{margin-top:2.2rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2)}
.hero .rule{margin:1.2rem 0}

.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  font-weight:800;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.9rem 1.6rem;min-height:3rem;border:1px solid transparent;
  transition:transform .18s,background .2s,color .2s,border-color .2s}
.btn--fill{background:var(--paper);color:var(--ink)}
.btn--fill:hover{background:var(--aqua);color:var(--ink);transform:translateY(-2px)}
.btn--ghost{border-color:var(--line);color:var(--paper)}
.btn--ghost:hover{border-color:var(--aqua);color:var(--aqua);transform:translateY(-2px)}

/* stav otvorenia */
.pill{display:inline-flex;align-items:center;gap:.5rem;font-size:.68rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;padding:.45rem .85rem;
  border:1px solid var(--line);background:var(--ink-2);color:var(--paper)}
.pill .dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--muted)}
.pill[data-stav="otvorene"]{border-color:rgba(63,191,127,.5);color:#CDF3E0;background:rgba(63,191,127,.09)}
.pill[data-stav="otvorene"] .dot{background:var(--ok);box-shadow:0 0 0 4px rgba(63,191,127,.16)}
.pill[data-stav="zatvorene"] .dot{background:#E06C5A}
.pill[data-stav="nezname"]{border-color:rgba(232,176,75,.45);color:#F3DDAF;background:rgba(232,176,75,.08)}
.pill[data-stav="nezname"] .dot{background:var(--warn)}

/* ---------- SEKCIE ---------- */
.sec{padding-block:clamp(3.5rem,7vw,6.5rem);background:var(--ink);color:var(--paper)}
.sec--alt{background:var(--ink-2);color:var(--paper)}
/* Titulok sekcie ako hlavička plagátu: linka — nadpis — linka, všetko na osi. */
.sec__head{text-align:center;margin-bottom:2.8rem}
.sec__head .eyebrow{margin-bottom:1rem}
.sec__head h2{font-size:clamp(2.2rem,6vw,4.4rem)}
.sec__head h2 em{font-style:normal;color:var(--aqua)}
.sec__head p{color:var(--muted);max-width:52ch;margin:1.1rem auto 0;font-size:.95rem}
.sec__head .rule{margin:1.2rem 0}

/* dvojica hál */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2.5vw,2rem)}
.hall{background:var(--panel);color:var(--paper);border:1px solid var(--line-soft);
  text-align:center;transition:border-color .3s}
.hall:hover{border-color:var(--line)}
.hall figure{margin:0;aspect-ratio:16/10;overflow:hidden;background:var(--ink-2)}
.hall figure img{width:100%;height:100%;object-fit:cover;filter:grayscale(.75) contrast(1.08);
  transition:filter .6s,transform .8s cubic-bezier(.2,.7,.2,1)}
.hall:hover figure img{filter:grayscale(0) contrast(1.08);transform:scale(1.04)}
.hall__b{padding:clamp(1.4rem,2.6vw,2.2rem)}
.hall h3{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:.4rem}
.hall .eyebrow{color:var(--aqua);margin-bottom:1.1rem}
.hall ul{list-style:none;margin:0;padding:0}
.hall li{padding:.55rem 0;border-top:1px solid var(--line-soft);font-size:.9rem;color:#D7D1C7}

/* zoznam ponuky ako menovky na plagáte */
.tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}
.tags span{border:1px solid var(--line);background:var(--ink-2);color:#D7D1C7;
  padding:.55rem .95rem;font-size:.78rem;font-weight:600;letter-spacing:.04em}

/* cenník — riadky plagátu, cena vpravo v Antone */
.price{border-top:1px solid var(--line)}
.price__r{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:baseline;
  padding:1.1rem .4rem;border-bottom:1px solid var(--line-soft);
  background:transparent;color:var(--paper);transition:background .25s,padding-left .25s}
.price__r:hover{background:var(--ink-2);padding-left:1rem}
.price__r .n{font-weight:700;font-size:1.02rem}
.price__r .s{display:block;color:var(--muted);font-size:.8rem;font-weight:400;margin-top:.15rem}
.price__r .v{font-family:'Anton',sans-serif;font-size:clamp(1.8rem,4vw,2.6rem);
  color:var(--aqua);line-height:1;font-variant-numeric:tabular-nums}
.price__r--hi{background:var(--panel);color:var(--paper);padding-left:1rem;padding-right:1rem}
.price__r--hi:hover{background:#1E1E23}
.price__r--hi .v{color:var(--paper)}
.note{color:var(--muted);font-size:.82rem;max-width:56ch;margin-inline:auto;text-align:center}

/* galéria */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.grid4 figure{margin:0;aspect-ratio:1;overflow:hidden;background:var(--ink-2)}
.grid4 img{width:100%;height:100%;object-fit:cover;filter:grayscale(.6) contrast(1.06);
  transition:filter .55s,transform .8s cubic-bezier(.2,.7,.2,1)}
.grid4 figure:hover img{filter:grayscale(0) contrast(1.06);transform:scale(1.06)}

/* kontakt */
.two-c{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3vw,2.5rem)}
.kv{border:1px solid var(--line-soft);background:var(--panel);color:var(--paper)}
.kv__r{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:.9rem 1.1rem;
  border-bottom:1px solid var(--line-soft);align-items:baseline;font-size:.92rem}
.kv__r:last-child{border-bottom:0}
.kv__r .k{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.kv__r a{color:var(--aqua);text-decoration:none}
.kv__r a:hover{text-decoration:underline}
.hours{border:1px solid var(--line-soft);background:var(--panel);color:var(--paper)}
.hours__r{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 1.1rem;
  border-bottom:1px solid var(--line-soft);font-size:.92rem}
.hours__r:last-child{border-bottom:0}
.hours__r .d{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.hours__r .t{font-variant-numeric:tabular-nums}
.hours__r--now{background:rgba(0,161,227,.12);color:var(--paper)}
.hours__r--now .d{color:var(--aqua)}
.hours__r--unknown .t{color:var(--warn)}
.map{border:1px solid var(--line-soft);aspect-ratio:16/10;background:var(--ink-2)}
.map iframe{width:100%;height:100%;border:0;display:block;
  filter:grayscale(1) invert(.92) hue-rotate(180deg) contrast(.9)}

/* formulár */
.form{display:grid;gap:.85rem}
.form label{display:grid;gap:.3rem;font-size:.66rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted)}
.form input,.form textarea{background:var(--ink);color:var(--paper);border:1px solid var(--line);
  padding:.8rem .9rem;font:inherit;font-size:.95rem;min-height:3rem;width:100%}
.form textarea{min-height:6.5rem;resize:vertical}
.form input:focus,.form textarea:focus{border-color:var(--aqua);outline:none}
.form label.consent{display:flex;gap:.75rem;align-items:flex-start;font-size:.82rem;
  letter-spacing:normal;text-transform:none;color:var(--muted);line-height:1.5}
.form label.consent input{width:1.25rem;height:1.25rem;min-height:0;flex:none;margin-top:.15rem;accent-color:var(--aqua)}
.form label.consent a{color:var(--aqua)}

/* obe strany kontaktu končia na rovnakej linke */
#kontakt .two-c{align-items:stretch}
#kontakt .two-c > div{display:flex;flex-direction:column}
#kontakt .two-c .hours{flex:1}
#kontakt .two-c .map{flex:1;aspect-ratio:auto;min-height:16rem}

/* ---------- HODNOTENIE: jeden riadok, číslo vedľa nadpisu ---------- */
.hodn{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.2rem,4vw,3rem);
  align-items:center}
.hodn__t h2{margin:0;font-size:clamp(2.2rem,6vw,4.4rem)}
.hodn__v{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}
.hodn__c{line-height:.85}
.hodn__s{letter-spacing:.14em}
.hodn__p{font-size:.85rem}
@media (max-width:760px){.hodn{grid-template-columns:1fr;gap:1.2rem}}

.hodn{text-align:center;justify-items:center}
.hodn__t{text-align:center}
.hodn__c{font-family:'Anton',sans-serif;font-size:clamp(3.4rem,7vw,5.2rem);color:var(--aqua)}
.hodn__s{color:var(--aqua);font-size:1.05rem}
.hodn__p{color:var(--muted)}
.hodn__p a{color:var(--aqua);text-decoration:none}
.hodn__p a:hover{text-decoration:underline}
@media (max-width:760px){.hodn{justify-items:center}}

/* ---------- VIDEO PÁS ----------
   Video beží ticho v slučke ako pozadie; iframe sa vloží až keď sa sekcia
   priblíži k obrazovke (video-pozadie.js). Pod ním leží fotka, takže pás
   vyzerá dobre aj kým sa video nenačíta, aj keď ho návštevník má vypnuté. */
.vpas{position:relative;overflow:hidden;isolation:isolate;
  min-height:clamp(30rem,70vh,44rem);display:flex;align-items:center}
.vpas__bg{position:absolute;inset:0;z-index:0}
.vpas__bg img{width:100%;height:100%;object-fit:cover}
/* Prehrávač si svoje ovládanie (pauza, šípky) kreslí do STREDU rámu a robí to
   aj vtedy, keď hlási, že video beží — po pretočení slučky to preblikne. Preto
   rám nielen zväčšíme, ale aj posunieme nabok, takže jeho stred leží mimo
   viditeľnej plochy. Šírka 260 % (a aspoň 178 vh, aby to krylo aj vysoké úzke
   displeje) so stredom posunutým o 24 % vlastnej šírky doľava znamená, že
   viditeľné okno ukazuje vždy len ľavú časť záberu — ovládanie sa doň nedostane. */
.vpas__bg iframe{position:absolute;top:50%;left:50%;
  width:max(260%,178vh);aspect-ratio:16/9;height:auto;
  transform:translate(-74%,-50%);border:0;pointer-events:none;
  opacity:0;transition:opacity .09s linear}
.vpas__bg.bezi iframe{opacity:1;transition:opacity 1.1s ease}
.vpas__in{position:relative;z-index:2;width:var(--rail);margin-inline:auto;padding-block:3.5rem}
.vpas__credit{position:absolute;right:1rem;bottom:.7rem;z-index:2;font-size:.62rem;
  letter-spacing:.1em;text-transform:uppercase}

.vpas{background:var(--ink);color:var(--paper);text-align:center;justify-content:center}
.vpas__bg img{filter:grayscale(1) contrast(1.1)}
.vpas__bg iframe{filter:grayscale(1) contrast(1.1)}
.vpas__bg::after{content:'';position:absolute;inset:0;z-index:1;
  background:radial-gradient(ellipse at 50% 50%,rgba(10,10,12,.55) 0%,rgba(10,10,12,.9) 72%,var(--ink) 100%)}
.vpas .eyebrow{margin-bottom:1.2rem}
.vpas h2{font-size:clamp(2rem,5.4vw,3.8rem)}
.vpas p{color:#B8B0A4;max-width:44ch;margin:1.1rem auto 0}
.vpas__credit{color:var(--muted-2)}

/* footer */
.foot{background:var(--ink-2);color:var(--paper);border-top:1px solid var(--line-soft);
  padding-block:3rem 1.6rem;font-size:.87rem;text-align:center}
.foot img{height:3.2rem;width:auto;margin:0 auto 1rem}
.foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.6rem;margin:1.4rem 0}
.foot nav a{color:var(--muted);text-decoration:none;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}
.foot nav a:hover{color:var(--aqua)}
.foot__b{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line-soft);
  color:var(--muted-2);font-size:.72rem;letter-spacing:.1em}
.foot__b a{color:var(--aqua)}

/* reveal */
.rise{opacity:0;transform:translateY(1.2rem)}
.js .rise{transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rise.in{opacity:1;transform:none}
html:not(.js) .rise{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rise,.js .rise{opacity:1!important;transform:none!important;transition:none}}

/* ---------- MOBIL ---------- */
@media (max-width:900px){
  #kontakt .two-c .map{flex:none;min-height:0;aspect-ratio:16/10}
  #kontakt .two-c .hours{flex:none}
  :root{--rail:min(72rem, 88vw)}
  .nav__links{position:fixed;top:var(--nav-h);left:0;right:0;
    background:rgba(10,10,12,.97);color:var(--paper);backdrop-filter:blur(16px);
    flex-direction:column;gap:0;padding:1rem 0 1.6rem;border-bottom:1px solid var(--line-soft);
    display:none;text-align:center}
  .nav__links.open{display:flex}
  .nav__links a{padding:.95rem 0;width:100%;font-size:.9rem;border-bottom:0}
  .burger{display:inline-flex}
  .nav__cta{display:none}
  .two,.two-c{grid-template-columns:1fr}
  .grid4{grid-template-columns:repeat(2,1fr)}
  /* pravidlo /design č. 8 — na mobile najviac 4 fotky */
  .grid4 figure:nth-child(n+5){display:none}
  .kv__r{grid-template-columns:6rem 1fr}
}
@media (max-width:560px){
  .hero h1 .s2{font-size:clamp(3.4rem,17vw,5.2rem)}
  .price__r{grid-template-columns:1fr auto}
}

/* ============================================================================
   MODERNIZÁCIA — 2026
   Plagátový register ostáva, ale plagát prestáva byť obrázok a stáva sa
   tlačiarňou: meno klubu je vytlačené fotkou haly, na okrajoch sedia
   pasovacie značky, za každou sekciou stojí obrovské duté slovo, ktoré sa
   pri rolovaní posúva inak než obsah — a cenník končí odtrhávacími
   ústrižkami s telefónnym číslom, ako plagát na nástenke.
   ========================================================================== */

/* ---------- pasovacie značky a bočné popisky (tlačiarenský register) ---------- */
.znacky{position:fixed;inset:0;z-index:180;pointer-events:none;display:none}
@media (min-width:1180px){.znacky{display:block}}
.znacky i{position:absolute;width:1.4rem;height:1.4rem;opacity:.4}
.znacky i::before,.znacky i::after{content:'';position:absolute;background:var(--muted-2)}
.znacky i::before{left:50%;top:0;bottom:0;width:1px}
.znacky i::after{top:50%;left:0;right:0;height:1px}
.znacky i:nth-child(1){left:1rem;top:1rem}
.znacky i:nth-child(2){right:1rem;top:1rem}
.znacky i:nth-child(3){left:1rem;bottom:1rem}
.znacky i:nth-child(4){right:1rem;bottom:1rem}
.znacky b{position:absolute;font-weight:400;font-size:.58rem;letter-spacing:.34em;
  text-transform:uppercase;color:var(--muted-2);opacity:.55;white-space:nowrap}
.znacky b:nth-of-type(1){left:1.5rem;top:50%;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg)}
.znacky b:nth-of-type(2){right:1.5rem;top:50%;writing-mode:vertical-rl;transform:translateY(-50%)}

/* zrno mierne „dýcha" — tlačený papier, nie statická textúra */
body::after{animation:zrno 6s steps(6,end) infinite}
@keyframes zrno{
  0%{transform:translate(0,0)}     16%{transform:translate(-2%,1%)}
  33%{transform:translate(1%,-2%)} 50%{transform:translate(-1%,2%)}
  66%{transform:translate(2%,1%)}  83%{transform:translate(-2%,-1%)}
  100%{transform:translate(0,0)}}
@media (prefers-reduced-motion:reduce){body::after{animation:none}}

/* ---------- HERO: meno vytlačené fotkou haly ----------
   Výplň písma je fotka + gradient, takže sa nikde nestratí do čierna;
   obrys drží písmeno čitateľné aj nad najtmavším miestom fotky. */
.hero h1 .s2{
  /* Meno je vytlačené fotkou haly s vrecami. Fotka je predpripravená ako
     duotón (assets/img/vypln-mena.jpg) — v origináli sú vrecia čierne a
     v písme by sa stratili do čierneho pozadia. Duotón má aj v tieňoch
     dosť svetla, takže meno drží kontrast a textúra ostane vidieť. */
  background-image:url(assets/img/vypln-mena.jpg);
  background-size:150% auto;
  background-position:center 46%;
  background-repeat:no-repeat;
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  animation:dych 28s ease-in-out infinite alternate}
@keyframes dych{from{background-size:150% auto}to{background-size:178% auto}}
@media (prefers-reduced-motion:reduce){.hero h1 .s2{animation:none}}

/* písmená nabiehajú po jednom — plagát sa „vytlačí" */
/* meno sa „vytlačí" zľava doprava — jeden ťah tlačiarenského valca */
.js .hero h1 .s2{clip-path:inset(0 100% 0 0);
  animation:dych 28s ease-in-out infinite alternate,
            tlac 1.05s .22s cubic-bezier(.62,.02,.2,1) forwards}
@keyframes tlac{to{clip-path:inset(0 -.06em 0 0)}}
.js .hero h1 .s1,.js .hero__disc,.js .hero__ctas,.js .hero__meta,.js .hero .eyebrow{
  opacity:0;animation:vstup .9s cubic-bezier(.2,.7,.2,1) forwards}
.js .hero .eyebrow{animation-delay:.05s}
.js .hero h1 .s1{animation-delay:.12s}
.js .hero__disc{animation-delay:.6s}
.js .hero__ctas{animation-delay:.72s}
.js .hero__meta{animation-delay:.84s}
@keyframes vstup{from{opacity:0;transform:translateY(.7rem)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .js .hero h1 .s1,.js .hero__disc,.js .hero__ctas,
  .js .hero__meta,.js .hero .eyebrow{animation:none;opacity:1;transform:none}
  .js .hero h1 .s2{animation:none;clip-path:none}}

/* ---------- duté slovo za sekciou ----------
   Beží pomalšie než obsah, takže stránka dostane hĺbku bez toho, aby
   niečo prekrylo text — leží úplne vzadu a je len obrysové. */
.sec{position:relative;overflow:hidden}
.sec > .rail{position:relative;z-index:2}
.duch{position:absolute;left:50%;top:50%;z-index:0;pointer-events:none;user-select:none;
  transform:translate(-50%,-50%);white-space:nowrap;
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;
  font-size:clamp(7rem,22vw,17rem);line-height:.8;letter-spacing:.02em;
  color:transparent;-webkit-text-stroke:1px var(--line);opacity:.5}
@media (max-width:700px){.duch{opacity:.32;-webkit-text-stroke-width:1px}}

/* ---------- nav: kde v plagáte práve stojíte ---------- */
.nav__idx{font-size:.66rem;letter-spacing:.24em;color:var(--muted);
  font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:900px){.nav__idx{display:none}}

/* ---------- fotky ako tlačený rastr ----------
   Bodový rastr nad fotkou drží tlačený charakter; pod kurzorom sa stratí
   a fotka nabehne do plnej farby. */
.hall figure,.grid4 figure{position:relative}
.hall figure::after,.grid4 figure::after{content:'';position:absolute;inset:0;z-index:2;
  background-image:radial-gradient(circle at 50% 50%,rgba(10,10,12,.9) 34%,transparent 36%);
  background-size:3px 3px;opacity:.5;transition:opacity .55s;pointer-events:none}
.hall:hover figure::after,.grid4 figure:hover::after{opacity:0}

/* galéria ako kontaktný list — očíslované okienka s vlasovým popisom */
.grid4{gap:0;border:1px solid var(--line-soft)}
.grid4 figure{aspect-ratio:1;border-right:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft)}
.grid4 figure:nth-child(4n),.grid4 figure:last-child{border-right:0}
.grid4 figure:nth-last-child(-n+4){border-bottom:0}
.grid4 figcaption{position:absolute;left:0;right:0;bottom:0;z-index:3;
  display:flex;justify-content:space-between;gap:.6rem;
  padding:.5rem .6rem;font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--paper);background:linear-gradient(transparent,rgba(10,10,12,.9))}
.grid4 figcaption b{color:var(--aqua);font-weight:400}

/* ---------- hodnotenie: číslo dobehne ---------- */
.hodn__c{font-variant-numeric:tabular-nums}
