/* ============================================================================
   LOKACE ARTEFAKTŮ z.s. — návrh B „TERÉN“
   Světlý archivní web postavený na mapě, čase a terénním deníku.
   Struktura souboru:
   01 Proměnné a základ
   02 Pomocné třídy, tlačítka, typografie
   03 Živé pozadí (scéna)
   04 Načítací obrazovka
   05 Hlavička, nabídka, hloubkoměr
   06 Úvodní scéna
   06b Případ Nový Falkenburk
   07 Sekce 01 Kdo jsme
   08 Sekce 02 Co děláme
   09 Sekce 03 Naše akce, mapa a časová osa
   10 Sekce 04 Nálezy
   11 Sekce 05 Spolupracujeme
   12 Sekce 06 Pro veřejnost
   13 Sekce 07 Ke stažení
   14 Sekce 08 Kontakt a patička
   15 Detail akce a prohlížeč fotografií
   16 Animace a responzivita
   ========================================================================== */

/* ============================ 01 PROMĚNNÉ A ZÁKLAD ======================== */
:root{
  /* barvy */
  --pergamen:      #EFE7D6;
  --pergamen-tmav: #E4D8BF;
  --kost:          #FAF7F0;
  --inkoust:       #15222E;
  --inkoust-2:     #1D3243;
  --zelen:         #1E3128;
  --zelen-2:       #2B4737;
  --rez:           #AC552A;
  --rez-svetla:    #CE8449;
  --text:          #1A2833;
  --text-slaby:    #5E6D78;
  --linka:         rgba(21,34,46,.14);
  --linka-silna:   rgba(21,34,46,.28);
  --svetly-text:   #EFE7D6;
  --svetly-slaby:  rgba(239,231,214,.62);
  --svetla-linka:  rgba(239,231,214,.18);

  /* písma */
  --serif: "Fraunces", "Iowan Old Style", Georgia, serif;
  --sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono:  "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* rozměry */
  --obal: 1560px;
  --okraj: clamp(20px, 4.2vw, 76px);
  --hlavicka-v: 84px;

  /* křivky */
  --plynule: cubic-bezier(.22,.61,.36,1);
  --mekce:   cubic-bezier(.65,.02,.2,1);
}

*,*::before,*::after{ box-sizing:border-box; }
[hidden]{ display:none !important; }

html{
  scroll-behavior:smooth;
  scroll-padding-top: calc(var(--hlavicka-v) + 24px);
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  font-family:var(--sans);
  font-weight:400;
  font-size:clamp(15.5px,1.02vw,17px);
  line-height:1.62;
  color:var(--text);
  background:var(--pergamen);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  /* Fraunces spojuje dvojice písmen do slitků (hl, fa, kl, st).
     V češtině pak vzniká zbloudilý tah a slovo se čte špatně:
     z Hledáme je Hľedáme, z Josefa Joseřa. Slitky proto vypínáme
     na celém webu, sans i mono je stejně nepotřebují. */
  font-variant-ligatures:none;
  font-feature-settings:"liga" 0,"clig" 0,"dlig" 0,"hlig" 0;
  /* Fraunces je variabilní řez. Osa WONK na nule vypne zatočené „l“,
     které v češtině vypadá jako ľ (Hľedáme místo Hledáme).
     Osy, které Inter ani JetBrains Mono nemají, prohlížeč ignoruje. */
  font-variation-settings:"SOFT" 0,"WONK" 0;
}
/* Zámek stránky. Body se zafixuje a posune o uloženou pozici,
   takže po zavření panelu zůstane návštěvník tam, kde byl. */
body.zamceno{ position:fixed; left:0; right:0; width:100%; overflow:hidden; }

img,svg{ display:block; max-width:100%; }
img{ height:auto; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
ul,ol{ margin:0; padding:0; list-style:none; }
p{ margin:0 0 1.05em; }
h1,h2,h3,h4{ margin:0; font-weight:400; }

::selection{ background:var(--rez); color:var(--kost); }

:focus-visible{
  outline:2px solid var(--rez);
  outline-offset:3px;
  border-radius:2px;
}

.sr{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.preskocit{
  position:fixed; top:-100px; left:16px; z-index:9999;
  background:var(--inkoust); color:var(--kost);
  padding:12px 20px; font-family:var(--mono); font-size:12px;
  letter-spacing:.06em; text-transform:uppercase; transition:top .2s;
}
.preskocit:focus{ top:16px; }


/* =================== 02 POMOCNÉ TŘÍDY A TYPOGRAFIE ====================== */
.obal{
  width:100%;
  max-width:var(--obal);
  margin-inline:auto;
  padding-inline:var(--okraj);
  position:relative;
  z-index:2;
}

.sekce{
  position:relative;
  padding-block:clamp(84px,9.5vw,168px);
  z-index:1;
}
.sekce--kost{ background:rgba(250,247,240,.9); }
.sekce--pergamen{ background:rgba(239,231,214,.88); }
.sekce--inkoust{ background:var(--inkoust); color:var(--svetly-text); }
.sekce--zelen{ background:var(--zelen); color:var(--svetly-text); }

/* Řádky s drobnými popisky jsou flexové. Bez zalomení by na úzkém
   displeji přetekly ven ze stránky, proto se všem zapíná wrap. */
.oko,.znacka__pod,.stitek__p,.meritko__text,.mapkarta__sour,.hero__dolu,
.akce__m,figcaption,.detail__misto,.pata__sour,.citat cite,.pusobnost li,
.stopy__pop,.archiv__hlava,.duvera li,.chystame__hlava,.detail__sdilet{
  flex-wrap:wrap;
}

/* oko = malý popisek nad nadpisem */
.oko{
  display:flex; align-items:center; gap:12px;
  font-family:var(--mono); font-size:11.5px; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--rez); margin:0 0 20px;
}
.oko i{ display:inline-block; width:16px; height:1px; background:currentColor; opacity:.45; }
.oko__c{
  display:inline-grid; place-items:center;
  width:30px; height:30px; border:1px solid currentColor; border-radius:50%;
  font-size:11px; letter-spacing:0;
}
.oko__tecka{
  width:7px; height:7px; border-radius:50%; background:var(--rez);
  box-shadow:0 0 0 0 rgba(172,85,42,.5);
  animation:tep 2.6s infinite;
}
.oko--svetle{ color:var(--rez-svetla); }
/* vedlejší sekce drží stejný kroužek, jen místo čísla mají značku */
.oko__c--znak i{ width:7px; height:7px; border-radius:50%; background:currentColor; display:block; }

@keyframes tep{
  0%{ box-shadow:0 0 0 0 rgba(172,85,42,.5);} 70%{ box-shadow:0 0 0 11px rgba(172,85,42,0);} 100%{ box-shadow:0 0 0 0 rgba(172,85,42,0);}
}

.nadpis{
  font-family:var(--serif);
  font-size:clamp(34px,4.6vw,72px);
  line-height:1.02;
  letter-spacing:-.022em;
  font-weight:600;
}
.nadpis--velky{ font-size:clamp(38px,5.6vw,88px); }
.kurziva{ font-style:italic; font-weight:400; color:var(--rez); }
.sekce--inkoust .kurziva,.sekce--zelen .kurziva{ color:var(--rez-svetla); }

.hlava{ margin-bottom:clamp(44px,5vw,78px); max-width:70ch; }
.hlava--delena{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.86fr);
  gap:clamp(28px,4vw,72px); align-items:end; max-width:none;
}
.hlava__vedle{
  font-size:clamp(15px,1.12vw,18.5px);
  color:var(--text-slaby); max-width:52ch; margin:0;
  padding-left:24px; border-left:1px solid var(--linka);
}
.sekce--inkoust .hlava__vedle,.sekce--zelen .hlava__vedle{
  color:var(--svetly-slaby); border-color:var(--svetla-linka);
}

.lead{ font-size:clamp(16px,1.2vw,19px); color:var(--text-slaby); max-width:56ch; }
.sekce--zelen .lead,.sekce--inkoust .lead{ color:var(--svetly-slaby); }

.odznak{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--mono); font-size:11px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase;
  padding:7px 14px; border:1px solid var(--linka-silna); border-radius:100px;
  color:var(--text);
}
.odznak--rez{ background:var(--rez); border-color:var(--rez); color:var(--kost); }
.odznak--svetly{ border-color:var(--svetla-linka); color:var(--rez-svetla); }

/* tlačítka */
.tl{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:16px 28px; border-radius:100px;
  font-size:14.5px; font-weight:500; letter-spacing:.005em;
  border:1px solid transparent; position:relative; overflow:hidden;
  transition:background .35s var(--plynule), color .35s var(--plynule),
             border-color .35s var(--plynule), transform .35s var(--plynule);
}
.tl--male{ padding:12px 20px; font-size:13px; }
.tl span{ font-family:var(--mono); font-size:11px; opacity:.6; letter-spacing:.1em; text-transform:uppercase; }
.tl svg{ width:17px; height:17px; fill:currentColor; }

.tl--plne{ background:var(--inkoust); color:var(--kost); }
.tl--plne:hover{ background:var(--rez); transform:translateY(-2px); }
.tl--linka{ border-color:var(--linka-silna); color:var(--text); }
.tl--linka:hover{ border-color:var(--inkoust); background:var(--inkoust); color:var(--kost); transform:translateY(-2px); }
.tl--rez{ background:var(--rez); color:#fff; }
.tl--rez:hover{ background:var(--rez-svetla); transform:translateY(-2px); }
.tl--svetle{ background:var(--pergamen); color:var(--inkoust); }
.tl--svetle:hover{ background:var(--rez); color:#fff; transform:translateY(-2px); }
.tl--duch{ border-color:var(--svetla-linka); color:var(--svetly-text); }
.tl--duch:hover{ border-color:var(--rez-svetla); color:var(--rez-svetla); transform:translateY(-2px); }

/* jemné řezy mezi sekcemi */
.rez{ position:absolute; left:0; right:0; pointer-events:none; }
.rez--horni{
  top:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--linka-silna) 12%,var(--linka-silna) 88%,transparent);
}
.rez--vrstevnice{
  top:0; height:64px; opacity:.5;
  background:
    radial-gradient(120% 200% at 50% 100%, transparent 58%, var(--linka) 58.4%, transparent 59.2%),
    radial-gradient(120% 200% at 50% 100%, transparent 68%, var(--linka) 68.4%, transparent 69.2%),
    radial-gradient(120% 200% at 50% 100%, transparent 78%, var(--linka) 78.4%, transparent 79.2%);
}
/* na tmavém podkladu musí být řez světlý, jinak by zmizel */
.sekce--inkoust .rez--horni,.sekce--zelen .rez--horni{
  background:linear-gradient(90deg,transparent,var(--svetla-linka) 12%,var(--svetla-linka) 88%,transparent);
}

/* ---------------------------------------------------------------
   PÁSMO
   Měřická páska s popiskem. Uzavírá sekci a zaplňuje plochu,
   která by jinak zůstala jen holou barvou.
   --------------------------------------------------------------- */
.pasmo{
  display:flex; align-items:center; flex-wrap:wrap;
  gap:10px clamp(14px,2vw,28px);
  margin-top:clamp(38px,4.4vw,72px);
  font-family:var(--mono); font-size:10px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--text-slaby);
}
.pasmo__tiky{
  flex:1 1 140px; height:15px;
  background-image:repeating-linear-gradient(to right, var(--linka-silna) 0 1px, transparent 1px 16px);
  border-bottom:1px solid var(--linka);
}
.pasmo b{ font-weight:400; color:var(--rez); }
.sekce--inkoust .pasmo,.sekce--zelen .pasmo{ color:var(--svetly-slaby); }
.sekce--inkoust .pasmo b,.sekce--zelen .pasmo b{ color:var(--rez-svetla); }
.sekce--inkoust .pasmo__tiky,.sekce--zelen .pasmo__tiky{
  background-image:repeating-linear-gradient(to right, rgba(239,231,214,.34) 0 1px, transparent 1px 16px);
  border-bottom-color:var(--svetla-linka);
}


/* ============================ 03 ŽIVÉ POZADÍ ============================= */
.scena{ position:fixed; inset:0; z-index:0; pointer-events:none; }
.scena__barva{
  position:absolute; inset:0;
  background:var(--pergamen);
  transition:background-color 1s var(--mekce);
}
.scena__rastr{
  position:absolute; inset:0; opacity:.5;
  background-image:
    linear-gradient(to right, rgba(21,34,46,.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(21,34,46,.055) 1px, transparent 1px);
  background-size:96px 96px;
  transition:opacity 1s var(--mekce);
}
.scena__vrstevnice{
  position:absolute; inset:-8%;
  opacity:.34;
  transition:opacity 1.1s var(--mekce), transform 1.6s var(--mekce);
}
.scena__vrstevnice svg{ width:100%; height:100%; }
.scena__zrno{
  position:absolute; inset:0; opacity:.5; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E");
}

body[data-scena="kost"]  .scena__barva{ background:#F6F2E8; }
body[data-scena="kost"]  .scena__vrstevnice{ opacity:.2; transform:translateY(-2%) scale(1.04); }
body[data-scena="pergamen"] .scena__barva{ background:var(--pergamen); }
body[data-scena="inkoust"] .scena__barva{ background:var(--inkoust); }
body[data-scena="inkoust"] .scena__rastr{ opacity:.1; }
body[data-scena="inkoust"] .scena__vrstevnice{ opacity:.16; transform:translateY(2%) scale(1.08); }
body[data-scena="zelen"] .scena__barva{ background:var(--zelen); }
body[data-scena="zelen"] .scena__rastr{ opacity:.1; }
body[data-scena="zelen"] .scena__vrstevnice{ opacity:.14; transform:translateY(3%) scale(1.1); }


/* ======================= 04 NAČÍTACÍ OBRAZOVKA =========================== */
.nacitani{
  position:fixed; inset:0; z-index:9000;
  display:grid; place-items:center;
  background:var(--pergamen);
  transition:opacity .62s var(--plynule), visibility .62s;
}
.nacitani::after{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(to right, rgba(21,34,46,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(21,34,46,.05) 1px, transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:radial-gradient(circle at 50% 50%, #000 20%, transparent 72%);
  mask-image:radial-gradient(circle at 50% 50%, #000 20%, transparent 72%);
}
.nacitani.pryc{ opacity:0; visibility:hidden; }

.nacitani__jadro{ position:relative; width:min(520px,86vw); text-align:center; z-index:2; }
.nacitani__mapa{ width:100%; height:auto; }
.nacitani__mapa path{
  fill:none; stroke:var(--inkoust); stroke-width:1.1; opacity:.5;
  stroke-dasharray:var(--delka); stroke-dashoffset:var(--delka);
  animation:kresli 1.15s var(--plynule) forwards;
  animation-delay:var(--zpozdeni);
}
@keyframes kresli{ to{ stroke-dashoffset:0; } }

.nacitani__bod{
  position:absolute; left:50%; top:38%; width:38px; height:50px;
  transform:translate(-50%,-260px); opacity:0;
  fill:var(--rez);
  animation:dopad .68s cubic-bezier(.5,-.3,.35,1.35) .82s forwards;
}
.nacitani__bod circle{ fill:var(--pergamen); }
@keyframes dopad{
  0%{ transform:translate(-50%,-260px) scale(.7); opacity:0; }
  70%{ opacity:1; }
  100%{ transform:translate(-50%,-100%) scale(1); opacity:1; }
}

.nacitani__nazev{
  margin-top:clamp(20px,3vw,34px);
  font-family:var(--serif); font-weight:600;
  font-size:clamp(28px,5.4vw,58px); line-height:.98; letter-spacing:-.02em;
}
.nacitani__radek{ display:block; overflow:hidden; padding-bottom:.18em; margin-bottom:-.18em; }
.nacitani__radek span{
  display:block; transform:translateY(110%);
  animation:vyjed .78s var(--plynule) forwards;
}
.nacitani__radek:nth-child(1) span{ animation-delay:1.06s; }
.nacitani__radek:nth-child(2) span{ animation-delay:1.16s; color:var(--rez); font-style:italic; font-weight:400; }
@keyframes vyjed{ to{ transform:translateY(0); } }

.nacitani__popis{
  margin:16px 0 0; display:flex; align-items:center; justify-content:center; gap:12px;
  font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--text-slaby); opacity:0; animation:zjev .6s ease 1.42s forwards;
}
.nacitani__cara{ width:54px; height:1px; background:var(--linka-silna); }
@keyframes zjev{ to{ opacity:1; } }


/* ================== 05 HLAVIČKA, NABÍDKA, HLOUBKOMĚR ==================== */
.hlavicka{
  position:fixed; top:0; left:0; right:0; z-index:800;
  background:rgba(239,231,214,.82);
  backdrop-filter:saturate(150%) blur(14px);
  -webkit-backdrop-filter:saturate(150%) blur(14px);
  border-bottom:1px solid var(--linka);
  transition:background .6s var(--mekce), border-color .6s var(--mekce), transform .45s var(--plynule);
}
.hlavicka.skryta{ transform:translateY(-100%); }
body[data-scena="kost"] .hlavicka{ background:rgba(250,247,240,.86); }
body[data-scena="inkoust"] .hlavicka,
body[data-scena="zelen"] .hlavicka{
  background:rgba(21,34,46,.8); border-color:var(--svetla-linka); color:var(--svetly-text);
}
body[data-scena="zelen"] .hlavicka{ background:rgba(30,49,40,.82); }

.hlavicka__pas{
  height:var(--hlavicka-v);
  max-width:var(--obal); margin-inline:auto;
  padding-inline:var(--okraj);
  display:flex; align-items:center; gap:clamp(16px,2.4vw,40px);
}

.znacka{ display:flex; align-items:center; gap:12px; flex-shrink:0; }
.znacka__znak{ width:36px; height:36px; }
.znacka__znak .zn-c{ fill:none; stroke:currentColor; stroke-width:1.5; opacity:.42; }
.znacka__znak .zn-b{ fill:var(--rez); }
.znacka__znak .zn-o{ fill:var(--pergamen); }
body[data-scena="inkoust"] .znacka__znak .zn-o,
body[data-scena="zelen"] .znacka__znak .zn-o{ fill:var(--inkoust); }
.znacka__text{ display:flex; flex-direction:column; line-height:1; }
.znacka__jmeno{
  font-family:var(--serif); font-weight:600; font-size:18.5px;
  letter-spacing:-.012em; text-transform:uppercase;
}
.znacka__pod{
  font-family:var(--mono); font-size:9.5px; letter-spacing:.24em;
  text-transform:uppercase; opacity:.55; margin-top:5px;
  display:flex; align-items:center; gap:7px;
}
.znacka__pod i{ width:12px; height:1px; background:currentColor; opacity:.6; }

.nav{ display:flex; gap:clamp(12px,1.6vw,28px); margin-left:auto; }
.nav a{
  position:relative; font-size:13.5px; font-weight:500;
  display:flex; align-items:center; gap:7px; padding:8px 2px;
  opacity:.82; transition:opacity .3s, color .3s;
}
.nav a i{ font-family:var(--mono); font-size:9.5px; opacity:.5; font-style:normal; letter-spacing:.08em; }
/* sekce bez pořadového čísla má místo něj jen značku v barvě rzi */
.nav a i.tecka{
  width:6px; height:6px; border-radius:50%; background:var(--rez);
  opacity:1; flex:0 0 auto;
}
body[data-scena="inkoust"] .nav a i.tecka,
body[data-scena="zelen"] .nav a i.tecka{ background:var(--rez-svetla); }
.nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--rez); transform:scaleX(0); transform-origin:left;
  transition:transform .42s var(--plynule);
}
.nav a:hover,.nav a.aktivni{ opacity:1; }
.nav a:hover::after,.nav a.aktivni::after{ transform:scaleX(1); }
.nav a.aktivni{ color:var(--rez); }
body[data-scena="inkoust"] .nav a.aktivni,
body[data-scena="zelen"] .nav a.aktivni{ color:var(--rez-svetla); }

/* ikony kanálů, klient je chce nahoře a dobře viditelné */
.odkazy{ display:flex; align-items:center; gap:7px; padding-left:clamp(10px,1.5vw,22px); border-left:1px solid var(--linka); }
body[data-scena="inkoust"] .odkazy,body[data-scena="zelen"] .odkazy{ border-color:var(--svetla-linka); }
.odkazy__i{
  position:relative; width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid var(--linka-silna);
  transition:background .3s var(--plynule), border-color .3s var(--plynule), color .3s, transform .3s var(--plynule);
}
body[data-scena="inkoust"] .odkazy__i,body[data-scena="zelen"] .odkazy__i{ border-color:var(--svetla-linka); }
.odkazy__i svg{ width:17px; height:17px; fill:currentColor; }
.odkazy__i:hover{ background:var(--inkoust); color:var(--kost); border-color:var(--inkoust); transform:translateY(-2px); }
.odkazy__i--rez{ background:var(--rez); border-color:var(--rez); color:#fff; }
.odkazy__i--rez:hover{ background:var(--rez-svetla); border-color:var(--rez-svetla); color:#fff; }
.odkazy__i::before{
  content:attr(data-bublina);
  position:absolute; top:calc(100% + 11px); right:0;
  white-space:nowrap; padding:7px 11px;
  background:var(--inkoust); color:var(--kost);
  font-family:var(--mono); font-size:10px; letter-spacing:.09em; text-transform:uppercase;
  opacity:0; transform:translateY(-5px); pointer-events:none;
  transition:opacity .28s, transform .28s;
}
.odkazy__i:hover::before{ opacity:1; transform:translateY(0); }

/* měřická páska pod hlavičkou */
.mira{
  position:relative; height:9px; overflow:hidden;
  background-image:repeating-linear-gradient(to right, var(--linka-silna) 0 1px, transparent 1px 22px);
  opacity:.5;
}
body[data-scena="inkoust"] .mira,body[data-scena="zelen"] .mira{
  background-image:repeating-linear-gradient(to right, rgba(239,231,214,.28) 0 1px, transparent 1px 22px);
}
.mira__postup{
  position:absolute; left:0; top:0; bottom:0; width:0%;
  background:var(--rez); opacity:.85;
  transition:width .12s linear;
}

.burger{ display:none; align-items:center; gap:9px; margin-left:auto; }
.burger span{ display:block; width:22px; height:1.5px; background:currentColor; transition:transform .38s var(--plynule), opacity .25s; }
.burger em{ font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; font-style:normal; }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(3px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ transform:translateY(-3px) rotate(-45deg); }

.mobmenu{
  position:fixed; inset:0; z-index:790;
  background:var(--inkoust); color:var(--svetly-text);
  padding:calc(var(--hlavicka-v) + 36px) var(--okraj) 40px;
  display:flex; flex-direction:column; justify-content:space-between;
  opacity:0; transition:opacity .4s var(--plynule);
}
.mobmenu.otevreno{ opacity:1; }
.mobmenu nav{ display:flex; flex-direction:column; }
.mobmenu nav a{
  display:flex; align-items:baseline; gap:14px;
  font-family:var(--serif); font-size:clamp(26px,7.4vw,36px); font-weight:600;
  padding:14px 0; border-bottom:1px solid var(--svetla-linka);
}
.mobmenu nav a i{ font-family:var(--mono); font-size:11px; font-style:normal; color:var(--rez-svetla); }
/* vedlejší sekce nemají číslo, dostávají jen značku v barvě rzi */
.mobmenu nav a i.tecka{
  width:7px; height:7px; border-radius:50%; background:var(--rez-svetla);
  align-self:center; flex:0 0 auto;
}
.mobmenu__pata{ display:flex; flex-wrap:wrap; gap:10px 22px; padding-top:24px; }
.mobmenu__pata a{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--rez-svetla); }

/* hloubkoměr */
.hloubkomer{
  position:fixed; left:22px; top:50%; transform:translateY(-50%);
  z-index:600; display:flex; flex-direction:column; align-items:center; gap:14px;
  mix-blend-mode:normal; pointer-events:none;
}
.hloubkomer__nadpis,.hloubkomer__hodnota{
  font-family:var(--mono); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--text-slaby); writing-mode:vertical-rl;
}
body[data-scena="inkoust"] .hloubkomer__nadpis,body[data-scena="inkoust"] .hloubkomer__hodnota,
body[data-scena="zelen"] .hloubkomer__nadpis,body[data-scena="zelen"] .hloubkomer__hodnota{ color:var(--svetly-slaby); }
.hloubkomer__hodnota{ color:var(--rez); }
.hloubkomer__osa{
  position:relative; width:1px; height:170px;
  background-image:repeating-linear-gradient(to bottom, var(--linka-silna) 0 5px, transparent 5px 17px);
}
body[data-scena="inkoust"] .hloubkomer__osa,body[data-scena="zelen"] .hloubkomer__osa{
  background-image:repeating-linear-gradient(to bottom, rgba(239,231,214,.3) 0 5px, transparent 5px 17px);
}
.hloubkomer__bod{
  position:absolute; left:50%; top:0; width:9px; height:9px; border-radius:50%;
  background:var(--rez); transform:translate(-50%,-50%);
  box-shadow:0 0 0 4px rgba(172,85,42,.18);
  transition:top .12s linear;
}


/* ========================== 06 ÚVODNÍ SCÉNA ============================== */
.hero{
  position:relative; z-index:1;
  min-height:100svh;
  display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);
  padding-top:var(--hlavicka-v);
  background:rgba(239,231,214,.55);
}

.hero__foto{ position:relative; overflow:hidden; }
.hero__obraz{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transform:scale(1.16);
  animation:panorama 38s linear infinite alternate;
}
@keyframes panorama{
  from{ transform:scale(1.16) translate3d(-3.2%,0,0); }
  to  { transform:scale(1.16) translate3d(3.2%,0,0); }
}
/* Video leží přesně na fotografii, která je zároveň jeho posterem.
   Objeví se teprve ve chvíli, kdy se opravdu rozběhne, takže nikdy
   neprobliskne prázdný černý obdélník. */
.hero__video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .9s var(--plynule);
  pointer-events:none; background:var(--inkoust);
}
.hero__video.hraje{ opacity:1; }
.hero__zavoj{
  position:absolute; inset:0;
  background:
    linear-gradient(to right, rgba(21,34,46,.5), rgba(21,34,46,.08) 45%, rgba(21,34,46,.34)),
    linear-gradient(to top, rgba(21,34,46,.62), transparent 48%);
}

.hero__stitek{
  position:absolute; left:clamp(18px,2.4vw,40px); bottom:clamp(20px,2.6vw,42px);
  display:flex; flex-direction:column; gap:6px;
  color:var(--kost); max-width:min(380px,74%);
  padding-left:16px; border-left:2px solid var(--rez);
}
.stitek__c{ font-family:var(--mono); font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--rez-svetla); }
.stitek__t{ font-family:var(--serif); font-size:clamp(16px,1.3vw,21px); font-weight:600; line-height:1.18; }
.stitek__p{ font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; opacity:.68; display:flex; align-items:center; gap:8px; }
.stitek__p i{ width:12px; height:1px; background:currentColor; }

/* rohové značky jako v archivním negativu */
.hero__ram span{
  position:absolute; width:22px; height:22px; border:1px solid rgba(239,231,214,.5);
}
.hero__ram span:nth-child(1){ top:22px; left:22px; border-right:0; border-bottom:0; }
.hero__ram span:nth-child(2){ top:22px; right:22px; border-left:0; border-bottom:0; }
.hero__ram span:nth-child(3){ bottom:22px; left:22px; border-right:0; border-top:0; }
.hero__ram span:nth-child(4){ bottom:22px; right:22px; border-left:0; border-top:0; }

.hero__meritko{
  position:absolute; right:clamp(18px,2.4vw,40px); top:clamp(46px,5vw,74px);
  display:flex; flex-direction:column; align-items:flex-end; gap:7px; color:rgba(239,231,214,.75);
}
.meritko__cary{
  width:88px; height:12px;
  background-image:repeating-linear-gradient(to right, currentColor 0 1px, transparent 1px 11px);
  border-bottom:1px solid currentColor; opacity:.7;
}
.meritko__text{ font-family:var(--mono); font-size:9.5px; letter-spacing:.18em; display:flex; align-items:center; gap:10px; }
.meritko__text i{ width:26px; height:1px; background:currentColor; }

.hero__text{
  display:flex; flex-direction:column; justify-content:space-between;
  padding:clamp(34px,4vw,64px) var(--okraj) clamp(22px,2.4vw,34px);
  position:relative;
}
.hero__text::before{
  content:""; position:absolute; left:0; top:8%; bottom:8%; width:1px;
  background:linear-gradient(to bottom,transparent,var(--linka-silna) 22%,var(--linka-silna) 78%,transparent);
}
.hero__obsah{ max-width:660px; }

.hero__nadpis{
  font-family:var(--serif); font-weight:600;
  font-size:clamp(38px,4.35vw,74px); line-height:1.0; letter-spacing:-.026em;
  margin:0 0 24px;
}
.hero__nadpis .radek{ display:block; overflow:hidden; padding-bottom:.18em; margin-bottom:-.18em; }
.hero__nadpis .radek span{ display:block; transform:translateY(105%); }
body.nacteno .hero__nadpis .radek span{ animation:vyjed .96s var(--plynule) forwards; }
body.nacteno .hero__nadpis .radek:nth-child(1) span{ animation-delay:.06s; }
body.nacteno .hero__nadpis .radek:nth-child(2) span{ animation-delay:.15s; }
body.nacteno .hero__nadpis .radek:nth-child(3) span{ animation-delay:.24s; }

.hero__lead{
  font-size:clamp(15.5px,1.12vw,18px); color:var(--text-slaby);
  max-width:52ch; margin-bottom:30px;
}
.hero__tlacitka{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:clamp(28px,3.2vw,48px); }

/* mapová karta se vzpomínkovým kamenem */
.mapkarta{
  display:grid; grid-template-columns:minmax(0,190px) minmax(0,1fr);
  gap:22px; align-items:center;
  padding:18px; border:1px solid var(--linka-silna);
  background:rgba(250,247,240,.6);
  backdrop-filter:blur(3px);
  position:relative;
}
.mapkarta::before,.mapkarta::after{
  content:""; position:absolute; width:9px; height:9px; border:1px solid var(--rez);
}
.mapkarta::before{ top:-1px; left:-1px; border-right:0; border-bottom:0; }
.mapkarta::after{ bottom:-1px; right:-1px; border-left:0; border-top:0; }

.mapkarta__mapa{ position:relative; aspect-ratio:5/3; overflow:hidden; background:rgba(228,216,191,.5); }
.mapkarta__mapa svg{ width:100%; height:100%; }
.mapkarta__mapa path{ fill:none; stroke:var(--inkoust); stroke-width:.9; opacity:.34; }
.mapkarta__puls{ position:absolute; left:54%; top:48%; width:0; height:0; }
.mapkarta__puls i,.mapkarta__puls b{
  position:absolute; left:50%; top:50%; border-radius:50%; transform:translate(-50%,-50%);
}
.mapkarta__puls b{ width:9px; height:9px; background:var(--rez); box-shadow:0 0 0 3px rgba(239,231,214,.85); }
.mapkarta__puls i{ width:9px; height:9px; border:1px solid var(--rez); animation:kruh 3s var(--plynule) infinite; }
.mapkarta__puls i:nth-child(2){ animation-delay:1.5s; }
@keyframes kruh{
  0%{ width:9px; height:9px; opacity:.9; }
  100%{ width:74px; height:74px; opacity:0; }
}

.mapkarta__info{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.mapkarta__label{ font-family:var(--mono); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--rez); }
.mapkarta__info strong{ font-family:var(--serif); font-size:17px; font-weight:600; line-height:1.2; margin-top:3px; }
.mapkarta__misto{ font-size:13px; color:var(--text-slaby); }
.mapkarta__sour{ font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; color:var(--text-slaby); display:flex; align-items:center; gap:8px; margin-top:2px; }
.mapkarta__sour i{ width:10px; height:1px; background:currentColor; }
.mapkarta__odkaz{
  display:inline-flex; align-items:center; gap:8px; margin-top:9px;
  font-size:13px; font-weight:500; color:var(--rez);
}
.mapkarta__odkaz svg{ width:16px; height:16px; transition:transform .3s var(--plynule); }
.mapkarta__odkaz:hover svg{ transform:translateX(4px); }

/* Fotografie kamene pod kartou, ať je hned vidět, kam ten bod na mapě vede */
.mapkarta__fotky{
  grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,1fr); gap:10px;
  padding-top:16px; border-top:1px solid var(--linka);
}
.mapkarta__f{ margin:0; cursor:zoom-in; position:relative; overflow:hidden; }
.mapkarta__f img{
  width:100%; aspect-ratio:4/3; object-fit:cover;
  filter:saturate(.92) contrast(1.04);
  transition:transform .7s var(--plynule), filter .5s var(--plynule);
}
.mapkarta__f:hover img{ transform:scale(1.05); filter:saturate(1) contrast(1.02); }
.mapkarta__f figcaption{
  margin-top:7px; font-size:9px; letter-spacing:.09em; line-height:1.5; gap:6px;
}

.hero__dolu{
  display:flex; align-items:center; gap:14px;
  font-family:var(--mono); font-size:10px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--text-slaby);
}
.hero__dolu-cara{ width:52px; height:1px; background:var(--linka-silna); position:relative; overflow:hidden; }
.hero__dolu-cara::after{
  content:""; position:absolute; inset:0; background:var(--rez);
  transform:translateX(-100%); animation:jezdec 2.6s var(--plynule) infinite;
}
@keyframes jezdec{ 0%{transform:translateX(-100%);} 55%{transform:translateX(100%);} 100%{transform:translateX(100%);} }


/* ===================== 06b PŘÍPAD NOVÝ FALKENBURK ======================= */
/* Tmavá sekce hned za úvodní scénou. Chová se jako vitrína: velký záběr
   na depozit, čísla případu, příběh vedle časové osy a protokol o předání.
   Drží stejný jazyk jako zbytek webu, jen v inkoustové barvě.            */
.sekce--poklad{ overflow:hidden; }
.sekce--poklad:focus{ outline:none; }

/* velký záběr na rozložený poklad */
.vitrina{
  margin:0 0 clamp(40px,4.4vw,66px);
  position:relative; overflow:hidden; cursor:zoom-in;
  background:rgba(29,50,67,.5);
}
.vitrina img{
  width:100%; aspect-ratio:3/1; object-fit:cover;
  filter:saturate(.95) contrast(1.05);
  transition:transform 1.1s var(--plynule), filter .6s var(--plynule);
}
.vitrina:hover img{ transform:scale(1.03); filter:saturate(1.04) contrast(1.02); }

/* rohové značky jako v archivním negativu, stejné jako v úvodní scéně */
.vitrina__ram span{
  position:absolute; width:22px; height:22px; border:1px solid rgba(239,231,214,.5);
}
.vitrina__ram span:nth-child(1){ top:18px; left:18px; border-right:0; border-bottom:0; }
.vitrina__ram span:nth-child(2){ top:18px; right:18px; border-left:0; border-bottom:0; }
.vitrina__ram span:nth-child(3){ bottom:18px; left:18px; border-right:0; border-top:0; }
.vitrina__ram span:nth-child(4){ bottom:18px; right:18px; border-left:0; border-top:0; }

.vitrina__razitko{
  position:absolute; top:clamp(16px,2vw,30px); right:clamp(16px,2vw,30px);
  display:flex; flex-direction:column; align-items:center; gap:2px;
  padding:12px 16px; border:1px solid rgba(206,132,73,.65);
  background:rgba(21,34,46,.58); backdrop-filter:blur(3px);
  color:var(--rez-svetla); text-align:center;
}
.vitrina__razitko b{ font-family:var(--serif); font-size:24px; font-weight:600; line-height:1; letter-spacing:-.02em; }
.vitrina__razitko i{ font-family:var(--mono); font-style:normal; font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.vitrina__razitko em{ font-family:var(--mono); font-style:normal; font-size:9px; letter-spacing:.14em; opacity:.72; }

.vitrina figcaption{
  position:absolute; left:0; right:0; bottom:0;
  display:flex; flex-direction:column; align-items:flex-start; gap:5px;
  padding:clamp(48px,6vw,84px) clamp(18px,2.4vw,40px) clamp(16px,1.8vw,28px);
  margin:0; text-transform:none; letter-spacing:normal;
  background:linear-gradient(to top, rgba(10,18,26,.92), rgba(10,18,26,.5) 52%, transparent);
  color:var(--svetly-text);
}
.vitrina__c{ font-family:var(--mono); font-size:10.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--rez-svetla); }
.vitrina__t{ font-family:var(--serif); font-size:clamp(16px,1.5vw,24px); font-weight:600; line-height:1.2; }
.vitrina__p{
  font-family:var(--mono); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
  opacity:.7; display:flex; align-items:center; gap:8px;
}
.vitrina__p i{ width:12px; height:1px; background:currentColor; }
.jen-na-strance{ display:inline-flex; align-items:center; gap:8px; }
#lbPopis .jen-na-strance{ display:none; }

/* čísla případu v tmavé sekci */
.cisla--poklad{
  border-color:var(--svetla-linka);
  margin-bottom:clamp(48px,5.4vw,88px);
}
.cisla--poklad .cislo{ border-right-color:var(--svetla-linka); }
.cisla--poklad .cislo span{ color:var(--svetly-slaby); }
.cisla--poklad .cislo:nth-child(1) strong{ color:var(--rez-svetla); }

/* příběh vedle časové osy případu */
.pripad{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:clamp(34px,4.6vw,86px); align-items:start;
  margin-bottom:clamp(48px,5.4vw,88px);
}
.pripad__text .velky{
  font-family:var(--serif); font-size:clamp(19px,1.62vw,25px);
  line-height:1.42; font-weight:400; color:var(--svetly-text); margin-bottom:1.1em;
}
.pripad__text p{ color:var(--svetly-slaby); }
.pripad__text .podpis{
  font-family:var(--serif); font-style:italic; font-size:clamp(19px,1.6vw,25px);
  color:var(--rez-svetla); margin-top:1.4em; padding-top:1.2em; margin-bottom:0;
  border-top:1px solid var(--svetla-linka);
}
/* Osa případu je po doplnění celé cesty delší než text vedle ní.
   Na širokém displeji se proto sloupec s textem roztáhne na její výšku
   a věta na závěr klesne k patě osy, aby vlevo nezbyla hluchá plocha. */
@media (min-width:1041px){
  .pripad__text{ align-self:stretch; display:flex; flex-direction:column; }
  .pripad__text .podpis{ margin-top:auto; }
}

.pripad__osa{
  position:relative; padding-left:clamp(22px,2.4vw,34px);
  border-left:1px solid var(--svetla-linka);
}
.pripad__osa li{
  position:relative; display:grid;
  grid-template-columns:minmax(92px,auto) minmax(0,1fr);
  gap:6px clamp(16px,1.8vw,28px);
  padding:clamp(16px,1.6vw,22px) 0;
  border-bottom:1px solid rgba(239,231,214,.1);
}
.pripad__osa li:last-child{ border-bottom:0; padding-bottom:0; }
.pripad__osa li::before{
  content:""; position:absolute;
  left:calc(-1 * clamp(22px,2.4vw,34px) - 4.5px); top:calc(clamp(16px,1.6vw,22px) + 7px);
  width:8px; height:8px; border-radius:50%;
  background:var(--inkoust); border:1px solid var(--rez-svetla);
}
.pripad__kdy{
  font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--rez-svetla); font-variant-numeric:tabular-nums; padding-top:2px;
}
.pripad__co strong{
  display:block; font-family:var(--serif); font-size:clamp(16px,1.24vw,20px);
  font-weight:600; line-height:1.24; letter-spacing:-.008em; color:var(--svetly-text);
}
.pripad__co p{ margin:6px 0 0; font-size:14.5px; line-height:1.6; color:var(--svetly-slaby); }

/* zlomový den případu dostane zvýraznění */
.pripad__osa .pripad__zlom::before{
  background:var(--rez); border-color:var(--rez);
  box-shadow:0 0 0 5px rgba(172,85,42,.22);
}
.pripad__zlom .pripad__co strong{ color:var(--rez-svetla); }

/* Připravené místo pro záznam tiskové konference.
   .pripad__ceka je vidět teď, .pripad__video čeká v komentáři v HTML
   na den, kdy spolek video zveřejní. */
.pripad__ceka{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  margin:11px 0 0; font-family:var(--mono); font-size:10px;
  letter-spacing:.08em; text-transform:uppercase;
  color:rgba(239,231,214,.42);
}
.pripad__ceka i{
  display:block; flex:none; width:6px; height:6px; border-radius:50%;
  border:1px solid var(--rez-svetla); opacity:.7;
}
.pripad__video{
  display:inline-flex; align-items:center; gap:9px; margin-top:13px;
  padding:9px 17px; border:1px solid var(--svetla-linka); border-radius:100px;
  font-size:13px; color:var(--svetly-text);
  transition:border-color .35s var(--plynule), color .35s var(--plynule), background .35s var(--plynule);
}
.pripad__video svg{ width:13px; height:13px; fill:var(--rez-svetla); flex:none; }
.pripad__video:hover{ border-color:var(--rez-svetla); color:var(--rez-svetla); background:rgba(172,85,42,.12); }

/* doprovodné záběry */
.poklad__pas{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:clamp(14px,1.6vw,28px);
  margin-bottom:clamp(48px,5.4vw,88px);
}
.poklad__f{ margin:0; position:relative; overflow:hidden; cursor:zoom-in; }
.poklad__f img{
  width:100%; aspect-ratio:16/10; object-fit:cover;
  filter:saturate(.94) contrast(1.04);
  transition:transform .8s var(--plynule), filter .5s var(--plynule);
}
.poklad__f:hover img{ transform:scale(1.045); filter:saturate(1) contrast(1.02); }

/* plakát spolku uzavírá sekci, drží vlastní proporci, aby se neořízl */
.plakat{ margin:0 0 clamp(26px,2.8vw,42px); cursor:zoom-in; overflow:hidden; }
.plakat img{
  width:100%; aspect-ratio:2.72/1; object-fit:cover;
  transition:transform .9s var(--plynule);
}
.plakat:hover img{ transform:scale(1.025); }

/* krátký záběr, který se stáhne až po kliknutí */
.klip{ margin:0; }
.klip__ram{
  position:relative; overflow:hidden; background:#000;
  aspect-ratio:16/10; display:grid; place-items:center;
}
.klip__poster,.klip__video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.klip__video{ z-index:1; }
.klip__ram--hraje .klip__poster{ opacity:0; }
.klip__tl{
  position:relative; z-index:2;
  display:inline-flex; align-items:center; gap:11px;
  padding:13px 22px 13px 18px; border-radius:100px;
  background:rgba(21,34,46,.72); border:1px solid rgba(239,231,214,.34);
  backdrop-filter:blur(4px);
  color:var(--svetly-text);
  font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  transition:background .35s var(--plynule), border-color .35s var(--plynule), transform .35s var(--plynule);
}
.klip__tl svg{ width:15px; height:15px; fill:var(--rez-svetla); transition:fill .3s; }
.klip__tl:hover{ background:var(--rez); border-color:var(--rez); transform:translateY(-2px); }
.klip__tl:hover svg{ fill:#fff; }
.klip__tl--stop svg{ opacity:.55; }

/* protokol o předání nálezu muzeu */
.predani{
  border:1px solid var(--svetla-linka);
  padding:clamp(24px,3vw,44px);
  background:rgba(29,50,67,.42);
  margin-bottom:clamp(34px,3.6vw,56px);
}
.predani__hlava{ display:flex; align-items:center; gap:18px; margin-bottom:22px; flex-wrap:wrap; }
.predani__cara{ flex:1; height:1px; background:var(--svetla-linka); min-width:30px; }
.predani__stav{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--svetly-slaby);
}
.predani__lead{
  font-family:var(--serif); font-size:clamp(17px,1.4vw,22px); line-height:1.45;
  color:var(--svetly-text); max-width:62ch; margin-bottom:clamp(24px,2.6vw,36px);
}
.predani__lide{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:clamp(18px,2.2vw,34px);
  padding-top:clamp(20px,2.2vw,30px); border-top:1px solid var(--svetla-linka);
}
.predani__lide li{ display:flex; flex-direction:column; gap:5px; }
.predani__role{
  font-family:var(--mono); font-size:9.5px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--rez-svetla);
}
.predani__lide strong{ font-family:var(--serif); font-size:17px; font-weight:600; line-height:1.24; }
.predani__pozice{ font-size:13px; line-height:1.55; color:var(--svetly-slaby); }
.predani__tl{
  display:flex; flex-wrap:wrap; gap:12px;
  margin-top:clamp(24px,2.6vw,36px);
  padding-top:clamp(20px,2.2vw,30px); border-top:1px solid var(--svetla-linka);
}


/* ========================= 07 KDO JSME ================================== */
.onas{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.62fr) minmax(0,.62fr);
  gap:clamp(22px,2.8vw,48px);
  align-items:start;
  margin-bottom:clamp(56px,6vw,96px);
}
.onas__text .velky{
  font-family:var(--serif); font-size:clamp(19px,1.62vw,25px);
  line-height:1.42; font-weight:400; color:var(--text); margin-bottom:1.1em;
}
.onas__text p{ color:var(--text-slaby); }
.onas__text .podpis{
  font-family:var(--serif); font-style:italic; font-size:clamp(19px,1.6vw,25px);
  color:var(--rez); margin-top:1.4em; padding-top:1.2em;
  border-top:1px solid var(--linka);
}
.onas__foto{ margin:0; }
.onas__foto--b{ margin-top:clamp(28px,4vw,72px); }
.onas__foto img{ width:100%; aspect-ratio:4/5; object-fit:cover; filter:saturate(.92) contrast(1.04); }
.onas__foto--a img{ aspect-ratio:4/3; }
figcaption{
  display:flex; align-items:baseline; gap:9px; margin-top:10px;
  font-family:var(--mono); font-size:10px; letter-spacing:.11em; text-transform:uppercase;
  color:var(--text-slaby);
}
figcaption i{ font-style:normal; color:var(--rez); }
.sekce--inkoust figcaption,.sekce--zelen figcaption{ color:var(--svetly-slaby); }
.sekce--inkoust figcaption i,.sekce--zelen figcaption i{ color:var(--rez-svetla); }

.cisla{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--linka-silna); border-bottom:1px solid var(--linka-silna);
}
.cislo{
  padding:clamp(24px,2.8vw,40px) clamp(14px,1.8vw,30px);
  border-right:1px solid var(--linka);
  display:flex; flex-direction:column; gap:7px;
}
.cislo:last-child{ border-right:0; }
.cislo strong{
  font-family:var(--serif); font-size:clamp(30px,3.6vw,56px);
  font-weight:600; line-height:1; letter-spacing:-.022em;
  font-variant-numeric:tabular-nums;
}
.cislo:nth-child(1) strong{ color:var(--rez); }
.cislo span{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.13em;
  text-transform:uppercase; color:var(--text-slaby); line-height:1.6;
}


/* ========================= 08 CO DĚLÁME ================================= */
.sluzby{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--linka-silna);
  margin-bottom:clamp(38px,4vw,62px);
}
.sluzba{
  padding:clamp(26px,2.6vw,40px) clamp(18px,1.8vw,32px) clamp(30px,3vw,46px);
  border-right:1px solid var(--linka);
  position:relative;
  transition:background .45s var(--plynule);
}
.sluzba:last-child{ border-right:0; }
.sluzba::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:var(--rez); transform:scaleX(0); transform-origin:left;
  transition:transform .55s var(--plynule);
}
.sluzba:hover{ background:rgba(250,247,240,.6); }
.sluzba:hover::after{ transform:scaleX(1); }
.sluzba__c{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.2em;
  color:var(--rez); display:block; margin-bottom:22px;
}
.sluzba__ikona{
  width:48px; height:48px; margin-bottom:20px;
  fill:none; stroke:var(--inkoust); stroke-width:1.35;
  stroke-linecap:round; stroke-linejoin:round; opacity:.85;
  transition:stroke .4s, transform .5s var(--plynule);
}
.sluzba:hover .sluzba__ikona{ stroke:var(--rez); transform:translateY(-3px); }
.sluzba h3{
  font-family:var(--serif); font-size:clamp(18px,1.42vw,23px); font-weight:600;
  line-height:1.2; margin-bottom:12px; letter-spacing:-.01em;
}
.sluzba p{ font-size:14.5px; color:var(--text-slaby); margin:0; }

.sluzby__pata{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:20px; padding:clamp(22px,2.4vw,34px) 0;
  border-top:1px solid var(--linka); border-bottom:1px solid var(--linka);
  margin-bottom:clamp(44px,5vw,78px);
}
.sluzby__pata p{
  margin:0; font-family:var(--serif); font-size:clamp(17px,1.5vw,24px);
  font-style:italic; color:var(--text);
}
.sluzby__kontakt{ display:flex; flex-wrap:wrap; gap:10px; }

.pruh3{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,1.6vw,28px); }
.pruh3 figure{ margin:0; }
.pruh3 img{ width:100%; aspect-ratio:3/2; object-fit:cover; filter:saturate(.92) contrast(1.04); }
.pruh3 figure:nth-child(2){ transform:translateY(clamp(14px,2.4vw,40px)); }

/* mezititulek nad pásem s technikou */
.technika__hlava{
  display:grid; grid-template-columns:auto 1fr; align-items:center;
  gap:12px 18px; margin:clamp(52px,5.4vw,84px) 0 clamp(26px,2.8vw,40px);
}
.technika__cara{ height:1px; background:var(--linka-silna); }
.technika__hlava p{
  grid-column:1 / -1; margin:0; max-width:64ch;
  font-size:clamp(15px,1.12vw,18.5px); color:var(--text-slaby);
}

/* stejný pás, jen s devíti fotografiemi. Odsazuje se každá druhá ve trojici,
   aby rytmus zůstal stejný jako u původní trojice. */
.pruh3--vic{ row-gap:clamp(22px,2.6vw,44px); }
.pruh3--vic figure{ cursor:zoom-in; overflow:hidden; }
.pruh3--vic figure:nth-child(2){ transform:none; }
.pruh3--vic figure:nth-child(3n+2){ transform:translateY(clamp(14px,2.4vw,40px)); }
.pruh3--vic img{ transition:transform .8s var(--plynule), filter .5s var(--plynule); }
.pruh3--vic figure:hover img{ transform:scale(1.045); filter:saturate(1) contrast(1.02); }


/* ================= 09 NAŠE AKCE, MAPA A ČASOVÁ OSA ====================== */
.chystame{ margin-bottom:clamp(50px,5.4vw,86px); }
.chystame__hlava{ display:flex; align-items:center; gap:18px; margin-bottom:22px; }
.chystame__cara{ flex:1; height:1px; background:var(--linka-silna); }
.chystame__stav{
  font-family:var(--mono); font-size:10px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--text-slaby);
}
.chystame__telo{
  display:grid; grid-template-columns:minmax(0,.62fr) minmax(0,1fr);
  align-items:center; gap:clamp(22px,3vw,48px);
  padding:clamp(18px,1.8vw,26px);
  border:1px dashed var(--linka-silna);
  background:rgba(239,231,214,.42);
}
.chystame__foto{ margin:0; }
.chystame__foto img{
  width:100%; aspect-ratio:4/3; object-fit:cover;
  filter:saturate(.92) contrast(1.04);
}
.chystame__foto figcaption{
  display:flex; margin-top:10px;
  font-family:var(--mono); font-size:9.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--text-slaby);
}
.chystame__text{ display:flex; flex-direction:column; align-items:flex-start; gap:20px; padding-right:clamp(0px,1.4vw,22px); }
.chystame__prazdno{
  margin:0; max-width:52ch;
  font-family:var(--serif); font-size:clamp(17px,1.5vw,23px); line-height:1.38;
}
.chystame__parametry{
  display:flex; flex-wrap:wrap; gap:10px 34px; margin:0; width:100%;
  padding:14px 0; border-top:1px solid var(--linka); border-bottom:1px solid var(--linka);
}
.chystame__parametry div{ display:flex; align-items:baseline; gap:10px; }
.chystame__parametry dt{
  font-family:var(--mono); font-size:9.5px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--rez);
}
.chystame__parametry dd{
  margin:0; font-family:var(--mono); font-size:11.5px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--text-slaby);
}

.archiv{
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(28px,3.6vw,72px); align-items:stretch;
}
.archiv__mapa{ position:relative; }
.archiv__lepka{ position:sticky; top:calc(var(--hlavicka-v) + 34px); }
.mapaCR{
  position:relative; padding:20px 20px 14px;
  border:1px solid var(--linka-silna); background:rgba(239,231,214,.5);
}
.mapaCR__label{
  font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--rez); display:block; margin-bottom:10px;
}
.mapaCR svg{ width:100%; height:auto; overflow:visible; }
.mapaCR .podklad{ fill:rgba(250,247,240,.9); stroke:none; }
.mapaCR .hranice{ fill:none; stroke:var(--inkoust); stroke-width:2.2; stroke-linejoin:round; opacity:.82; }
.mapaCR .mrizka{ stroke:rgba(21,34,46,.12); stroke-width:1; }
.mapaCR .vrst{ fill:none; stroke:var(--inkoust); stroke-width:1; opacity:.13; }
.mapaCR .smerovka circle{ fill:none; stroke:var(--linka-silna); stroke-width:1; }
.mapaCR .smerovka__sip{ fill:var(--rez); }
.mapaCR .smerovka__s{ font-family:var(--mono); font-size:24px; fill:var(--text-slaby); letter-spacing:.1em; }
.mapaCR .bod{ fill:var(--inkoust); opacity:.42; cursor:pointer; transition:opacity .3s, fill .3s; }
.mapaCR .bod:hover{ opacity:1; }
.mapaCR .bod.svit{ fill:var(--rez); opacity:1; }
.mapaCR .krouzek{ fill:none; stroke:var(--rez); stroke-width:2; opacity:0; transition:opacity .3s; }
.mapaCR .krouzek.svit{ opacity:1; }
.mapaCR__pata{
  display:flex; align-items:center; justify-content:space-between; margin-top:12px;
  font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--text-slaby);
}
.mapaCR__meritko{ display:flex; align-items:center; gap:8px; }
.mapaCR__meritko i{ width:44px; height:6px; border:1px solid currentColor; border-top:0; }
.archiv__napoveda{
  margin:14px 0 12px; font-size:13px; color:var(--text-slaby); max-width:46ch;
}
.archiv__legenda{
  display:flex; flex-wrap:wrap; gap:8px 22px;
  padding-top:12px; border-top:1px solid var(--linka);
  font-family:var(--mono); font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--text-slaby);
}
.archiv__legenda li{ display:flex; align-items:center; gap:9px; }
/* žebříček nejčastějších lokalit pod mapou */
.mista{ margin-top:22px; padding-top:18px; border-top:1px solid var(--linka); }
.mista__l{
  display:block; margin-bottom:12px;
  font-family:var(--mono); font-size:10px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--rez);
}
.mista__s{ display:flex; flex-direction:column; gap:9px; }
.mista__s li{
  display:grid; grid-template-columns:18px minmax(0,1fr) auto;
  align-items:center; gap:12px;
  font-size:13.5px; color:var(--text-slaby); cursor:default;
}
.mista__t{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.mista__s li b{ font-weight:500; color:var(--text); transition:color .3s; }
.mista__c{ font-family:var(--mono); font-size:10px; letter-spacing:.06em; color:var(--rez); opacity:.8; }
.mista__pruh{
  display:block; height:3px; background:var(--linka-silna); position:relative; overflow:hidden;
}
.mista__pruh i{
  position:absolute; inset:0 auto 0 0; display:block;
  background:var(--rez); width:var(--podil,20%);
  transform:scaleX(0); transform-origin:left;
  transition:transform .9s var(--plynule) var(--zpoz,0s);
}
.vidim .mista__pruh i,.mista.vidim .mista__pruh i{ transform:scaleX(1); }
.mista__n{ font-family:var(--mono); font-size:11px; color:var(--text-slaby); letter-spacing:.06em; }
.mista__s li:hover b{ color:var(--rez); }

.leg{ display:inline-block; border-radius:50%; background:var(--inkoust); opacity:.42; }
.leg--mala{ width:8px; height:8px; }
.leg--velka{ width:14px; height:14px; }

.archiv__hlava{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding-bottom:16px; margin-bottom:6px; border-bottom:1px solid var(--linka-silna);
}
.archiv__pocet{ font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--text-slaby); }

.osa{ position:relative; }
.osa::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:1px;
  background:linear-gradient(to bottom,var(--linka-silna),var(--linka) 70%,transparent);
}
.rok{
  position:relative; padding:clamp(28px,3vw,44px) 0 10px 30px;
  font-family:var(--serif); font-size:clamp(26px,2.6vw,40px); font-weight:600;
  letter-spacing:-.02em; color:var(--rez);
}
.rok::before{
  content:""; position:absolute; left:-4px; top:calc(50% + 4px); width:9px; height:9px;
  border-radius:50%; background:var(--rez);
}
.rok span{ font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; color:var(--text-slaby); margin-left:12px; text-transform:uppercase; }

.akce{
  position:relative; width:100%; text-align:left;
  display:grid; grid-template-columns:104px minmax(0,1fr) auto;
  gap:16px; align-items:center;
  padding:16px 14px 16px 30px;
  border-bottom:1px solid var(--linka);
  transition:background .34s var(--plynule), padding-left .34s var(--plynule);
}
.akce::before{
  content:""; position:absolute; left:-3.5px; top:50%; width:8px; height:8px;
  border-radius:50%; background:var(--kost); border:1px solid var(--linka-silna);
  transform:translateY(-50%); transition:background .3s, border-color .3s, transform .3s;
}
.akce:hover,.akce.svit{ background:rgba(239,231,214,.66); padding-left:38px; }
.akce:hover::before,.akce.svit::before{ background:var(--rez); border-color:var(--rez); transform:translateY(-50%) scale(1.3); }
.akce__d{ font-family:var(--mono); font-size:11.5px; letter-spacing:.04em; color:var(--text-slaby); font-variant-numeric:tabular-nums; }
.akce__stred{ min-width:0; }
.akce__n{
  font-family:var(--serif); font-size:clamp(16px,1.24vw,20px); font-weight:600;
  line-height:1.24; display:block; letter-spacing:-.008em;
}
/* štítek u akce, která má na webu vlastní sekci s příběhem */
.akce__znacka{
  display:inline-block; vertical-align:middle; margin-left:10px;
  font-family:var(--mono); font-size:9px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  padding:4px 9px; border-radius:100px;
  background:var(--rez); color:var(--kost);
  position:relative; top:-2px;
}
.akce__m{ font-size:12.5px; color:var(--text-slaby); display:flex; align-items:center; gap:7px; margin-top:3px; }
.akce__m svg{ width:12px; height:12px; fill:currentColor; opacity:.6; flex:0 0 auto; }
.akce__znaky{ display:flex; align-items:center; gap:7px; }
.znak{
  display:grid; place-items:center; width:27px; height:27px; border-radius:50%;
  border:1px solid var(--linka); color:var(--text-slaby);
  transition:background .3s, color .3s, border-color .3s;
}
.znak svg{ width:13px; height:13px; fill:currentColor; }
.znak--foto{ color:var(--inkoust); }
.znak--video{ color:var(--rez); border-color:rgba(172,85,42,.4); }
.akce:hover .znak--video{ background:var(--rez); color:#fff; border-color:var(--rez); }
.akce__c{
  font-family:var(--mono); font-size:10px; color:var(--text-slaby);
  opacity:.6; letter-spacing:.1em; margin-left:4px;
  padding-left:10px; border-left:1px solid var(--linka);
}


/* =========================== 10 NÁLEZY ================================== */
.galerie{
  display:grid; grid-template-columns:repeat(4,1fr);
  grid-auto-rows:clamp(150px,14.6vw,260px);
  gap:clamp(12px,1.3vw,22px);
  margin-bottom:clamp(56px,6vw,100px);
}
.gal{ margin:0; position:relative; overflow:hidden; cursor:zoom-in; }
.gal img{
  width:100%; height:100%; object-fit:cover;
  filter:saturate(.9) contrast(1.06) brightness(.97);
  transition:transform .85s var(--plynule), filter .6s;
}
.gal:hover img{ transform:scale(1.045); filter:saturate(1) contrast(1.02) brightness(1.02); }
.gal--siroka{ grid-column:span 2; }

.gal--vysoka{ grid-row:span 2; }

.gal figcaption{
  position:absolute; left:0; right:0; bottom:0;
  padding:26px 16px 14px; margin:0; color:var(--kost);
  background:linear-gradient(to top, rgba(21,34,46,.9), transparent);
  opacity:0; transform:translateY(8px);
  transition:opacity .42s var(--plynule), transform .42s var(--plynule);
  font-size:10px;
}
.gal:hover figcaption{ opacity:1; transform:translateY(0); }
.gal figcaption i{ color:var(--rez-svetla); }

.stopy{ margin-bottom:clamp(44px,5vw,78px); }
.stopy__hlava{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr);
  gap:clamp(20px,3vw,60px); align-items:end;
  margin-bottom:clamp(22px,2.4vw,36px);
  padding-bottom:clamp(18px,2vw,28px); border-bottom:1px solid var(--svetla-linka);
}
.stopy__vedle{ display:flex; flex-direction:column; gap:14px; }
.stopy__tiky{
  display:block; height:14px;
  background-image:repeating-linear-gradient(to right, rgba(239,231,214,.34) 0 1px, transparent 1px 16px);
  border-bottom:1px solid rgba(239,231,214,.2);
}
.stopy__pop{
  display:flex; align-items:center; gap:10px;
  font-family:var(--mono); font-size:10px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--rez-svetla);
}
.stopy__pop i{ width:16px; height:1px; background:currentColor; opacity:.6; }
.stopy__hlava h3{
  font-family:var(--serif); font-size:clamp(23px,2.3vw,36px); font-weight:600;
  margin:14px 0 8px; letter-spacing:-.018em;
}
.stopy__hlava p{ color:var(--svetly-slaby); margin:0; }
.stopy__rada{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(12px,1.3vw,22px); }
.stopa{ margin:0; cursor:zoom-in; }
.stopa img{
  width:100%; aspect-ratio:3/2; object-fit:cover;
  filter:saturate(.88) contrast(1.06);
  transition:filter .5s, transform .8s var(--plynule);
}
.stopa:hover img{ filter:saturate(1) contrast(1.02); transform:scale(1.02); }

.galerie__vic{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px;
  padding-top:clamp(22px,2.4vw,34px); border-top:1px solid var(--svetla-linka);
}
.galerie__tl{ display:flex; flex-wrap:wrap; gap:12px; }
.udaje{ display:flex; margin:0; gap:clamp(18px,2.6vw,48px); }
.udaje div{ display:flex; flex-direction:column; gap:5px; }
.udaje dt{
  font-family:var(--mono); font-size:9.5px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--svetly-slaby);
}
.udaje dd{
  margin:0; font-family:var(--serif); font-size:clamp(20px,1.8vw,29px);
  font-weight:600; letter-spacing:-.02em; color:var(--rez-svetla);
  font-variant-numeric:tabular-nums;
}


/* ======================= 11 SPOLUPRACUJEME ============================== */
.partneri{
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(28px,3.6vw,72px); align-items:start;
}
.partneri__levy{ display:flex; flex-direction:column; }
.partneri__seznam{ border-top:1px solid var(--linka-silna); }
.citat{
  margin:clamp(24px,3vw,44px) 0 0; padding:clamp(22px,2.4vw,32px) 0 0;
  border-top:1px solid var(--linka);
  display:flex; flex-direction:column; gap:12px;
}
.citat p{
  margin:0; font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(19px,1.8vw,28px); line-height:1.3; color:var(--text);
}
.citat cite{
  font-family:var(--mono); font-size:10px; letter-spacing:.18em;
  text-transform:uppercase; font-style:normal; color:var(--rez);
  display:flex; align-items:center; gap:10px;
}
.citat cite::before{ content:""; width:24px; height:1px; background:currentColor; }
.partneri__seznam li{
  display:grid; grid-template-columns:44px minmax(0,1fr);
  gap:4px 14px; padding:clamp(16px,1.7vw,24px) 0;
  border-bottom:1px solid var(--linka);
  transition:padding-left .36s var(--plynule);
}
.partneri__seznam li:hover{ padding-left:12px; }
.p__c{ font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; color:var(--rez); padding-top:6px; }
.p__j{ font-family:var(--serif); font-size:clamp(17px,1.5vw,24px); font-weight:600; line-height:1.18; letter-spacing:-.012em; }
.p__j a{ position:relative; background-image:linear-gradient(var(--rez),var(--rez)); background-size:0 1px; background-repeat:no-repeat; background-position:0 92%; transition:background-size .4s var(--plynule), color .3s; }
.p__j a:hover{ color:var(--rez); background-size:100% 1px; }
.p__r{ grid-column:2; font-size:13.5px; color:var(--text-slaby); }

.partneri__foto figure{ margin:0 0 22px; }
.partneri__foto img{ width:100%; aspect-ratio:3/4; object-fit:cover; filter:saturate(.92) contrast(1.04); }
.duvera{ padding:clamp(22px,2.4vw,32px); border:1px solid var(--linka-silna); background:rgba(250,247,240,.6); }
.duvera__label{
  font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--rez); display:block; margin-bottom:16px;
}
.duvera li{
  display:flex; gap:10px; padding:9px 0; font-size:14px; color:var(--text-slaby);
  border-bottom:1px solid var(--linka);
}
.duvera li:last-child{ border-bottom:0; }
.duvera li::before{ content:""; flex:0 0 auto; width:6px; height:6px; margin-top:8px; border-radius:50%; background:var(--rez); }
.duvera b{ color:var(--text); font-weight:600; }


/* ======================= 12 PRO VEŘEJNOST =============================== */
.verejnost{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  gap:clamp(30px,4vw,80px); align-items:center;
}
.verejnost__text .nadpis{ margin-bottom:20px; }
.formular{ margin-top:clamp(26px,3vw,40px); max-width:460px; }
.pole{ margin-bottom:18px; }
.pole label{
  display:block; font-family:var(--mono); font-size:10.5px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--rez-svetla); margin-bottom:9px;
}
.pole input{
  width:100%; padding:14px 2px; background:transparent; color:var(--svetly-text);
  border:0; border-bottom:1px solid var(--svetla-linka);
  font-family:var(--serif); font-size:clamp(17px,1.4vw,21px); font-weight:400;
  transition:border-color .35s;
}
.pole input::placeholder{ color:rgba(239,231,214,.32); font-family:var(--sans); font-size:15px; }
.pole input:focus{ outline:0; border-color:var(--rez-svetla); }
.pole input.spatne{ border-color:#D2694C; }
.pole__chyba{ display:block; min-height:16px; margin-top:6px; font-size:12px; color:#E9A088; }
.formular button{ margin-top:8px; }
.formular__pozn{ margin:16px 0 0; font-size:12.5px; color:var(--svetly-slaby); }
.fakta{
  display:flex; flex-wrap:wrap; gap:12px 34px;
  margin-top:clamp(28px,3.2vw,46px); padding-top:clamp(20px,2.2vw,30px);
  border-top:1px solid var(--svetla-linka);
}
.fakta li{
  display:flex; align-items:center; gap:10px;
  font-family:var(--mono); font-size:10px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--svetly-slaby);
}
.fakta li::before{
  content:""; width:14px; height:14px; flex:0 0 auto; border-radius:50%;
  border:1px solid var(--rez-svetla);
  background:radial-gradient(circle, var(--rez-svetla) 0 3px, transparent 3.5px);
}

.hotovo{
  display:flex; flex-direction:column; align-items:flex-start; gap:8px;
  margin-top:clamp(26px,3vw,40px); padding:clamp(24px,2.6vw,34px);
  border:1px solid var(--rez-svetla); max-width:460px;
  background:rgba(172,85,42,.1);
}
.hotovo svg{ width:40px; height:40px; fill:none; stroke:var(--rez-svetla); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; margin-bottom:6px; }
.hotovo strong{ font-family:var(--serif); font-size:clamp(19px,1.6vw,25px); font-weight:600; }
.hotovo span{ color:var(--svetly-slaby); font-size:14.5px; }

.verejnost__foto{ display:grid; gap:clamp(14px,1.6vw,26px); }
.verejnost__foto img{ width:100%; aspect-ratio:16/10; object-fit:cover; filter:saturate(.9) contrast(1.05); }
.verejnost__foto figure{ margin:0; }
.verejnost__foto figure:nth-child(2){ margin-left:clamp(18px,3vw,60px); }


/* ========================= 13 KE STAŽENÍ ================================ */
.soubory{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,1.3vw,20px); }
.soubor{
  position:relative; display:flex; flex-direction:column; gap:6px;
  padding:clamp(22px,2.3vw,32px);
  border:1px solid var(--linka-silna);
  background:rgba(250,247,240,.55);
  transition:background .4s var(--plynule), transform .4s var(--plynule), border-color .4s;
}
.soubor:hover{ background:var(--inkoust); color:var(--kost); border-color:var(--inkoust); transform:translateY(-4px); }
.soubor__typ{
  font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--rez); margin-bottom:26px;
}
.soubor:hover .soubor__typ{ color:var(--rez-svetla); }
.soubor__j{ font-family:var(--serif); font-size:clamp(17px,1.35vw,21px); font-weight:600; line-height:1.2; }
.soubor__p{ font-size:13px; color:var(--text-slaby); margin-bottom:18px; }
.soubor:hover .soubor__p{ color:var(--svetly-slaby); }
.soubor svg{ width:22px; height:22px; margin-top:auto; transition:transform .4s var(--plynule); }
.soubor:hover svg{ transform:translateY(3px); }
.soubory__pozn{ margin-top:26px; font-size:14px; color:var(--text-slaby); }
.soubory__pozn a{ color:var(--rez); border-bottom:1px solid currentColor; }


/* ==================== 14 KONTAKT A PATIČKA ============================== */
.sekce--kontakt{ padding-bottom:clamp(60px,6vw,110px); }
.pusobnost{ border-left:1px solid var(--svetla-linka); padding-left:24px; }
.pusobnost__l{
  font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--rez-svetla); display:block; margin-bottom:14px;
}
.pusobnost li{
  display:flex; align-items:baseline; gap:14px; padding:11px 0;
  border-bottom:1px solid var(--svetla-linka);
  font-family:var(--serif); font-size:clamp(17px,1.4vw,22px); font-weight:600;
  letter-spacing:-.012em;
}
.pusobnost li i{ font-family:var(--mono); font-size:10px; font-style:normal; color:var(--rez-svetla); letter-spacing:.14em; }
.pusobnost p{ margin:16px 0 0; font-size:13.5px; color:var(--svetly-slaby); }
.kontakt{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(28px,3.6vw,72px); align-items:start;
  margin-bottom:clamp(48px,5vw,84px);
}
.kontakt__hlavni{ display:grid; gap:14px; }
.kontakt__velky{
  display:flex; flex-direction:column; gap:5px;
  padding:clamp(22px,2.4vw,34px);
  border:1px solid var(--svetla-linka);
  transition:background .4s var(--plynule), border-color .4s, transform .4s var(--plynule);
}
.kontakt__velky:hover{ background:rgba(239,231,214,.06); border-color:var(--rez-svetla); transform:translateY(-3px); }
.kontakt__velky span{ font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--rez-svetla); }
.kontakt__velky strong{ font-family:var(--serif); font-size:clamp(25px,2.9vw,44px); font-weight:600; letter-spacing:-.022em; line-height:1.1; }
.kontakt__velky em{ font-style:normal; font-size:13px; color:var(--svetly-slaby); }

.kontakt__udaje{ display:grid; gap:2px; }
.ud{ padding:18px 0; border-bottom:1px solid var(--svetla-linka); }
.ud:first-child{ border-top:1px solid var(--svetla-linka); }
.ud__l{ font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--rez-svetla); display:block; margin-bottom:8px; }
.ud p{ margin:0; font-size:14.5px; color:var(--svetly-slaby); line-height:1.7; }
.ud a{ color:var(--svetly-text); border-bottom:1px solid var(--svetla-linka); }
.ud a:hover{ color:var(--rez-svetla); border-color:var(--rez-svetla); }

/* ---------------------------------------------------------------
   PODPOŘTE SPOLEK
   Čtyři QR platby podané jako archivní karty: milimetrový rastr,
   rohové značky a popisek Fig. Stejný jazyk jako vitrína v případu,
   záměrně nic z obchodu.
   --------------------------------------------------------------- */
.podpor{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.46fr);
  gap:clamp(26px,3.2vw,60px); align-items:start;
}
.podpor__hlava{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  margin-bottom:clamp(16px,1.6vw,24px);
}
.podpor__l{
  display:block; font-family:var(--mono); font-size:10px;
  letter-spacing:.2em; text-transform:uppercase; color:var(--rez);
}
.podpor__l--tise{ color:var(--text-slaby); }
.podpor__cara{ flex:1; min-width:22px; height:1px; background:var(--linka-silna); }

.qrmriz{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(10px,1.2vw,18px); }
.qr{ margin:0; }
.qr__karta{
  position:relative; padding:clamp(11px,1.1vw,17px);
  border:1px solid var(--linka-silna);
  background:
    repeating-linear-gradient(to right, var(--linka) 0 1px, transparent 1px 11px),
    repeating-linear-gradient(to bottom, var(--linka) 0 1px, transparent 1px 11px),
    var(--kost);
  transition:border-color .4s var(--plynule), transform .4s var(--plynule);
}
/* rohové značky jako na archivní kartě */
.qr__karta::before,.qr__karta::after{
  content:""; position:absolute; width:9px; height:9px;
  border:1px solid var(--rez); opacity:.5; pointer-events:none;
}
.qr__karta::before{ top:5px; left:5px; border-right:0; border-bottom:0; }
.qr__karta::after{ right:5px; bottom:5px; border-left:0; border-top:0; }
.qr:hover .qr__karta{ border-color:var(--inkoust); transform:translateY(-3px); }
/* násobení propustí rastr karty skrz bílé pozadí kódu, kód pak vypadá
   vytištěný přímo na papíře, černá zůstává černá a kód jde načíst */
.qr__karta img{ width:100%; height:auto; mix-blend-mode:multiply; }
.qr figcaption{
  display:flex; align-items:center; gap:9px; margin-top:10px;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--text-slaby);
}
.qr figcaption i{ font-style:normal; color:var(--rez); }
.qr figcaption b{ font-weight:500; letter-spacing:.1em; color:var(--text); }

.podpor__pozn{
  margin:clamp(18px,1.8vw,26px) 0 0; max-width:62ch;
  font-size:13.5px; color:var(--text-slaby);
}

.podpor__ucet{
  padding:clamp(22px,2.4vw,34px);
  border:1px solid var(--linka-silna);
  background:
    radial-gradient(90% 150% at 100% 0%, rgba(172,85,42,.1), transparent 62%),
    rgba(250,247,240,.62);
}
.podpor__cislo{
  margin:12px 0 2px; font-family:var(--mono); font-weight:500;
  font-size:clamp(20px,1.9vw,28px); font-variant-numeric:tabular-nums;
  color:var(--text); word-break:break-word;
}
.podpor__cislo span{ color:var(--rez); }
.podpor__banka{
  margin:0 0 16px; font-family:var(--mono); font-size:11px;
  letter-spacing:.16em; text-transform:uppercase; color:var(--text-slaby);
}
.podpor__text{
  margin:0 0 20px; padding-top:16px; border-top:1px solid var(--linka);
  font-size:13.5px; color:var(--text-slaby);
}
.podpor__tl{ display:flex; flex-direction:column; gap:9px; }
.podpor__tl .tl{ width:100%; }

.pata{
  position:relative; z-index:1;
  background:var(--inkoust); color:var(--svetly-text);
  padding-block:clamp(48px,5vw,80px) 28px;
  border-top:1px solid var(--svetla-linka);
}
.pata__mriz{
  display:grid; grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));
  gap:clamp(26px,3vw,56px);
  padding-bottom:clamp(34px,3.6vw,56px);
  border-bottom:1px solid var(--svetla-linka);
}
.znacka__znak--pata{ width:44px; height:44px; margin-bottom:18px; }
.znacka__znak--pata .zn-o{ fill:var(--inkoust); }
.pata__blok p{ font-size:14px; color:var(--svetly-slaby); line-height:1.75; margin:0 0 10px; }
.pata__drobne{ font-size:12px !important; opacity:.7; }
.pata__l{
  font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--rez-svetla); display:block; margin-bottom:16px;
}
.pata__blok li{ padding:6px 0; font-size:14px; color:var(--svetly-slaby); }
.pata__blok li a{ transition:color .3s; }
.pata__blok li a:hover{ color:var(--rez-svetla); }
.pata__spodek{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px;
  padding-top:22px;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--svetly-slaby);
}
.pata__sour{ display:flex; align-items:center; gap:10px; }
.pata__sour i{ width:20px; height:1px; background:currentColor; opacity:.5; }


/* ============== 15 DETAIL AKCE A PROHLÍŽEČ FOTOGRAFIÍ =================== */
.detail{ position:fixed; inset:0; z-index:900; }
.detail__kryt{
  position:absolute; inset:0; background:rgba(21,34,46,.62);
  backdrop-filter:blur(3px); opacity:0; transition:opacity .45s var(--plynule);
}
.detail.otevreno .detail__kryt{ opacity:1; }
.detail__panel{
  position:absolute; top:0; right:0; bottom:0;
  width:min(620px,100%);
  background:var(--kost); color:var(--text);
  overflow-y:auto; overscroll-behavior:contain;
  transform:translateX(100%);
  transition:transform .55s var(--mekce);
  box-shadow:-24px 0 60px rgba(21,34,46,.18);
}
.detail.otevreno .detail__panel{ transform:translateX(0); }
.detail__x{
  position:sticky; top:0; margin-left:auto; display:grid; place-items:center;
  width:52px; height:52px; background:var(--kost); z-index:3;
}
/* kroužek fokusu se u tlačítka na kraji panelu kreslí dovnitř,
   jinak by přetekl přes okraj obrazovky */
.detail__x:focus-visible{ outline-offset:-5px; }
.detail__x svg{ width:20px; height:20px; transition:transform .35s var(--plynule); }
.detail__x:hover svg{ transform:rotate(90deg); color:var(--rez); }
.detail__telo{ padding:0 clamp(22px,3.4vw,48px) clamp(34px,4vw,56px); margin-top:-16px; }
.detail__c{ font-family:var(--mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--rez); margin:0 0 14px; }
.detail__datum{ font-family:var(--mono); font-size:13px; color:var(--text-slaby); margin:0 0 8px; letter-spacing:.04em; }
.detail__nazev{ font-family:var(--serif); font-size:clamp(25px,3vw,40px); font-weight:600; line-height:1.08; letter-spacing:-.022em; margin-bottom:10px; }
.detail__misto{ display:flex; align-items:center; gap:8px; font-size:14px; color:var(--text-slaby); margin:0 0 20px; }
.detail__misto svg{ width:14px; height:14px; flex:0 0 auto; fill:currentColor; opacity:.65; }
.detail__popis{ font-size:15.5px; color:var(--text-slaby); margin-bottom:24px; }
/* odkaz z detailu akce do samostatné sekce s příběhem */
.detail__vic{
  display:inline-flex; align-items:center; gap:9px; margin:-6px 0 24px;
  font-size:14px; font-weight:500; color:var(--rez);
  padding-bottom:3px; border-bottom:1px solid rgba(172,85,42,.35);
  transition:border-color .3s var(--plynule);
}
.detail__vic svg{ width:16px; height:16px; transition:transform .3s var(--plynule); }
.detail__vic:hover{ border-color:var(--rez); }
.detail__vic:hover svg{ transform:translateX(4px); }

.detail__mapa{
  position:relative; padding:14px; margin-bottom:26px;
  border:1px solid var(--linka-silna); background:rgba(239,231,214,.45);
}
.detail__mapa svg{ width:100%; height:auto; overflow:visible; }
.detail__mapa .podklad{ fill:rgba(250,247,240,.9); stroke:none; }
.detail__mapa .hranice{ fill:none; stroke:var(--inkoust); stroke-width:2.4; stroke-linejoin:round; opacity:.8; }
.detail__mapa .bod{ fill:var(--rez); }
.detail__mapa .krouzek{ fill:none; stroke:var(--rez); stroke-width:2; }
.detail__mapaL{
  position:absolute; right:14px; bottom:14px;
  font-family:var(--mono); font-size:10px; letter-spacing:.12em; color:var(--text-slaby);
}

.detail__volba{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--rez); margin:0 0 14px;
}
.volby{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:22px; }
.volba{
  position:relative; display:block; width:100%; overflow:hidden;
  border:1px solid var(--linka-silna); text-align:left;
  background:rgba(239,231,214,.35); cursor:pointer;
  transition:border-color .35s, transform .35s var(--plynule), background .35s;
}
.volba__obraz,.volba__text{ display:block; }
.volba:hover{ border-color:var(--rez); transform:translateY(-3px); }
.volba__obraz{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--pergamen-tmav); }
.volba__obraz img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--plynule); }
.volba:hover .volba__obraz img{ transform:scale(1.05); }
.volba__obraz::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(21,34,46,.55),transparent 60%); }
.volba__prehrat{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:52px; height:52px; border-radius:50%; background:var(--rez);
  display:grid; place-items:center; z-index:2;
  transition:transform .4s var(--plynule);
}
.volba:hover .volba__prehrat{ transform:translate(-50%,-50%) scale(1.09); }
.volba__prehrat svg{ width:18px; height:18px; fill:#fff; margin-left:2px; }
.volba__prazdno{
  position:absolute; inset:0; display:grid; place-items:center;
  font-family:var(--mono); font-size:30px; color:var(--linka-silna); letter-spacing:.1em;
}
.volba__text{ padding:13px 14px 15px; }
.volba__l{ font-family:var(--mono); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--rez); display:block; margin-bottom:4px; }
.volba__t{ font-size:14px; font-weight:500; line-height:1.3; display:block; }

.prehravac{ margin-bottom:22px; }
.prehravac iframe{ width:100%; aspect-ratio:16/9; border:0; display:block; }

.detail__yt{ padding-bottom:20px; border-bottom:1px solid var(--linka); margin-bottom:20px; }
.detail__sdilet{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.detail__sdilet > span{ font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--text-slaby); width:100%; }
.sdil{
  padding:10px 16px; border:1px solid var(--linka-silna); border-radius:100px;
  font-size:12.5px; transition:background .3s, color .3s, border-color .3s;
}
.sdil:hover{ background:var(--inkoust); color:var(--kost); border-color:var(--inkoust); }

/* prohlížeč fotografií */
.lb{ position:fixed; inset:0; z-index:950; background:rgba(15,24,32,.96); display:grid; place-items:center; opacity:0; transition:opacity .4s var(--plynule); }
.lb.otevreno{ opacity:1; }
.lb__ram{ margin:0; max-width:min(1240px,92vw); max-height:86vh; display:flex; flex-direction:column; gap:14px; }
.lb__ram img{ max-width:100%; max-height:76vh; width:auto; object-fit:contain; margin-inline:auto; }
.lb__ram figcaption{ justify-content:center; color:rgba(239,231,214,.7); }
.lb__x{ position:absolute; top:20px; right:20px; width:46px; height:46px; display:grid; place-items:center; color:var(--kost); border:1px solid rgba(239,231,214,.25); border-radius:50%; }
.lb__x:hover{ background:var(--rez); border-color:var(--rez); }
.lb__x svg{ width:20px; height:20px; }
.lb__sip{ position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; display:grid; place-items:center; color:var(--kost); border:1px solid rgba(239,231,214,.25); border-radius:50%; }
.lb__sip:hover{ background:var(--rez); border-color:var(--rez); }
.lb__sip svg{ width:22px; height:22px; }
.lb__sip--vlevo{ left:20px; }
.lb__sip--vpravo{ right:20px; }


/* ==================== 16 ANIMACE A RESPONZIVITA ========================= */
.anim{ opacity:0; transform:translateY(26px); }
.anim.vidim{
  opacity:1; transform:none;
  transition:opacity .9s var(--plynule), transform .9s var(--plynule);
  transition-delay:var(--zpoz,0s);
}

@media (max-width:1400px){
  .hloubkomer{ display:none; }
}

@media (max-width:1180px){
  .nav a i{ display:none; }
  .odkazy__i{ width:34px; height:34px; }
  .galerie{ grid-template-columns:repeat(3,1fr); }
  .gal--siroka{ grid-column:span 3; }
  .soubory{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:1040px){
  :root{ --hlavicka-v:70px; }
  .nav{ display:none; }
  .burger{ display:flex; }
  .odkazy{ margin-left:auto; border-left:0; padding-left:0; }
  .hero{ grid-template-columns:1fr; min-height:auto; }
  .hero__foto{ height:56svh; min-height:340px; }
  .hero__text::before{ display:none; }
  .hero__text{ padding-block:clamp(30px,5vw,50px); }
  .onas{ grid-template-columns:1fr 1fr; }
  .onas__text{ grid-column:1 / -1; }
  .sluzby{ grid-template-columns:1fr 1fr; }
  .sluzba:nth-child(2n){ border-right:0; }
  .sluzba:nth-child(-n+2){ border-bottom:1px solid var(--linka); }
  .archiv{ grid-template-columns:1fr; }
  .archiv__mapa{ position:static; }
  .partneri,.verejnost,.kontakt,.podpor{ grid-template-columns:1fr; }
  .archiv__lepka{ position:static; }
  .hlava--delena{ grid-template-columns:1fr; align-items:start; }
  .pusobnost{ padding-left:18px; }
  .hlava__vedle{ padding-left:18px; }
  .pata__mriz{ grid-template-columns:1fr 1fr; }
  .pripad{ grid-template-columns:1fr; }
  .predani__lide{ grid-template-columns:1fr 1fr; }
  .vitrina img{ aspect-ratio:5/2; }
}

@media (max-width:760px){
  body{ font-size:15.5px; }
  .odkazy__i::before{ display:none; }
  .hero__foto{ height:48svh; min-height:300px; }
  .hero__meritko{ display:none; }
  .hero__dolu{ display:none; }
  .mapkarta{ grid-template-columns:1fr; gap:16px; }
  .mapkarta__mapa{ aspect-ratio:16/7; }
  .onas{ grid-template-columns:1fr; }
  .onas__foto--b{ margin-top:0; }
  .onas__foto img,.onas__foto--a img{ aspect-ratio:3/2; }
  .cisla{ grid-template-columns:1fr 1fr; }
  .cislo:nth-child(2n){ border-right:0; }
  .cislo:nth-child(-n+2){ border-bottom:1px solid var(--linka); }
  .sluzby{ grid-template-columns:1fr; }
  .sluzba{ border-right:0; border-bottom:1px solid var(--linka); }
  .sluzba:nth-child(-n+2){ border-bottom:1px solid var(--linka); }
  .sluzby__pata{ flex-direction:column; align-items:flex-start; }
  .pruh3{ grid-template-columns:1fr; }
  .pruh3 figure:nth-child(2){ transform:none; }
  .pruh3--vic{ grid-template-columns:1fr 1fr; gap:10px; }
  .pruh3--vic figure:nth-child(3n+2){ transform:none; }
  .pruh3--vic figcaption{ font-size:9px; letter-spacing:.08em; }
  .technika__hlava{ grid-template-columns:1fr; }
  .technika__cara{ display:none; }

  /* Případ Falkenburk */
  .vitrina img{ aspect-ratio:16/9; }
  .vitrina__ram{ display:none; }
  .vitrina__razitko{ padding:9px 12px; }
  .vitrina__razitko b{ font-size:19px; }
  .vitrina__razitko em{ display:none; }
  .vitrina figcaption{ padding-top:56px; }
  .cisla--poklad{ grid-template-columns:1fr 1fr; }
  .cisla--poklad .cislo:nth-child(2n){ border-right:0; }
  .cisla--poklad .cislo:nth-child(-n+2){ border-bottom:1px solid var(--svetla-linka); }
  .pripad__osa li{ grid-template-columns:1fr; gap:2px; }
  .poklad__pas{ grid-template-columns:1fr; }
  .predani__lide{ grid-template-columns:1fr; gap:22px; }
  .predani__tl .tl{ width:100%; }
  .mapkarta__fotky{ gap:8px; }
  .mapkarta__f figcaption{ font-size:8.5px; }
  .chystame__telo{ grid-template-columns:1fr; }
  .chystame__foto img{ aspect-ratio:16/9; }
  .chystame__text .tl{ width:100%; justify-content:center; }
  .akce{ grid-template-columns:1fr auto; gap:8px 12px; padding-left:24px; }
  .akce__d{ grid-column:1 / -1; }
  .akce:hover,.akce.svit{ padding-left:28px; }
  .galerie{ grid-template-columns:1fr 1fr; gap:10px; }
  .gal--siroka{ grid-column:span 2; }
  .gal--vysoka{ grid-row:span 1; }
  .gal--vysoka img{ aspect-ratio:4/3; }
  /* na mobilu je popisek vidět stále, proto potřebuje silnější podklad,
     jinak by se na světlé fotografii ztratil */
  .gal figcaption{
    opacity:1; transform:none; padding:46px 12px 13px;
    background:linear-gradient(to top, rgba(21,34,46,.95) 0%, rgba(21,34,46,.84) 48%, rgba(21,34,46,.38) 78%, transparent 100%);
  }
  .stopy__rada{ grid-template-columns:1fr; }
  .stopy__hlava{ grid-template-columns:1fr; align-items:start; }
  .galerie__vic{ flex-direction:column; align-items:flex-start; }
  .udaje{ gap:26px; }
  .galerie{ grid-auto-rows:clamp(120px,32vw,200px); }
  .verejnost__foto{ grid-template-columns:1fr 1fr; }
  .verejnost__foto figure:nth-child(2){ margin-left:0; }
  .soubory{ grid-template-columns:1fr; }
  .qrmriz{ grid-template-columns:repeat(2,1fr); }
  .pata__mriz{ grid-template-columns:1fr; }
  .detail__panel{ top:auto; width:100%; height:92svh; border-radius:16px 16px 0 0; transform:translateY(100%); }
  .detail.otevreno .detail__panel{ transform:translateY(0); }
  .volby{ grid-template-columns:1fr; }
  .lb__sip{ width:42px; height:42px; }
  .lb__sip--vlevo{ left:10px; }
  .lb__sip--vpravo{ right:10px; }
  .lb__ram img{ max-height:68vh; }
}

/* na malých telefonech musí zůstat vidět všechny čtyři ikony kanálů,
   proto se značka zalomí na dva řádky a podtitul se skryje */
@media (max-width:520px){
  .hlavicka__pas{ gap:12px; }
  .znacka{ gap:8px; }
  .znacka__znak{ width:28px; height:28px; }
  .znacka__jmeno{ font-size:12.5px; line-height:1.08; max-width:92px; letter-spacing:.01em; }
  .znacka__pod{ display:none; }
  .odkazy{ gap:5px; }
  .odkazy__i{ width:31px; height:31px; }
  .odkazy__i svg{ width:15px; height:15px; }
  .burger em{ display:none; }
  .burger span{ width:20px; }
  .stitek__p{ display:none; }
  .hero__stitek{ max-width:88%; }
}

@media (max-width:420px){
  .hero__tlacitka .tl{ width:100%; }
  .galerie{ grid-template-columns:1fr; }
  .gal--siroka{ grid-column:span 1; }
  .verejnost__foto{ grid-template-columns:1fr; }
}

/* ohled na vypnuté animace */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .anim{ opacity:1; transform:none; }
  .hero__obraz{ animation:none; transform:scale(1.08); }
  .hero__nadpis .radek span{ transform:none; }
  .nacitani__radek span{ transform:none; }
}

/* Kde hledáme, koláž od spolku */
.onas__mapa{margin:0 0 clamp(56px,6vw,96px)}
.onas__mapa img{width:100%;aspect-ratio:16/7;object-fit:cover;display:block;filter:saturate(.92) contrast(1.04)}
@media (max-width:700px){.onas__mapa img{aspect-ratio:16/10}}
