@font-face{font-family:'Fira XC';font-style:normal;font-weight:600;font-display:swap;src:url(pismo/firaxc-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fira XC';font-style:normal;font-weight:600;font-display:swap;src:url(pismo/firaxc-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fira XC';font-style:normal;font-weight:700;font-display:swap;src:url(pismo/firaxc-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fira XC';font-style:normal;font-weight:700;font-display:swap;src:url(pismo/firaxc-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Atkinson';font-style:normal;font-weight:200 800;font-display:swap;src:url(pismo/atkinson-var-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Atkinson';font-style:normal;font-weight:200 800;font-display:swap;src:url(pismo/atkinson-var-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Noto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(pismo/notomono-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Noto Mono';font-style:normal;font-weight:500;font-display:swap;src:url(pismo/notomono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cisla';font-style:normal;font-weight:400;font-display:swap;src:url(pismo/cisla-400.woff2) format('woff2');unicode-range:U+0030-0039}
@font-face{font-family:'Cisla';font-style:normal;font-weight:700;font-display:swap;src:url(pismo/cisla-700.woff2) format('woff2');unicode-range:U+0030-0039}
:root{
  --papir:#F4F3EE;
  --papir-2:#EBE9E1;
  --karta:#FAF9F6;
  --bila:#fff;
  --inkoust:#16202A;
  --text:#2B3540;
  --sed:#56606B;
  --linka:#D8D5CB;
  --pole:#77808A;
  --grafit:#18222C;
  --grafit-2:#23303C;
  --tm-text:#C5CED7;
  --tm-sed:#9DADBB;
  --cervena:#B42318;
  --cervena-tm:#8E1B13;
  --zelena:#0A7444;
  --zelena-tm:#075A35;
  --zelena-sv:#1E9E5E;
  --zelena-bg:#E6F2EA;
  --modra:#1B57A0;
  --zluta:#F6D53B;
  --oranzova:#EE7A22;
  --f-nad:'Fira XC','Arial Narrow','Roboto Condensed',sans-serif;
  --f-text:'Cisla','Atkinson',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --f-mono:'Noto Mono',ui-monospace,'Cascadia Mono',Consolas,monospace;
  --stin:0 24px 56px -28px rgba(22,32,42,.38);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--papir);color:var(--text);font:400 1.0625rem/1.6 var(--f-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:var(--zelena-tm)}
a:hover{color:var(--zelena)}
:focus-visible{outline:3px solid var(--zelena-sv);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4{margin:0;font-family:var(--f-nad);font-weight:700;color:var(--inkoust);line-height:1.05;letter-spacing:.005em}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0}
.sirka{width:100%;max-width:1200px;margin:0 auto;padding-inline:clamp(16px, 4vw, 32px)}
.ik{width:20px;height:20px;flex:none}
.preskok{position:absolute;left:12px;top:-60px;z-index:100;background:var(--inkoust);color:#fff;padding:10px 16px;border-radius:6px;text-decoration:none}
.preskok:focus{top:12px;color:#fff}
.navrh-lista{background:#0F161D;color:#C9D2DA;font-size:.8rem;line-height:1.4;padding:7px 0}
.navrh-lista .sirka{display:flex;justify-content:space-between;gap:4px 16px;flex-wrap:wrap}
.navrh-lista strong{color:#fff}
.hlava{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--linka);transition:box-shadow .3s}
.hlava.odrolovano{box-shadow:0 10px 28px -18px rgba(22,32,42,.45)}
.hlava-mriz{display:flex;align-items:center;gap:28px;min-height:72px}
.logo{display:inline-flex;flex-direction:column;text-decoration:none;color:var(--inkoust);line-height:1}
.logo:hover{color:var(--inkoust)}
.logo-slovo{font:700 2rem/1 var(--f-nad);letter-spacing:.01em}
.logo-4{background:var(--cervena);color:#fff;padding:0 .12em;margin:0 .05em;border-radius:3px}
.logo-pod{font:500 .62rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.09em;color:var(--sed);margin-top:5px}
.logo-svetle,.logo-svetle:hover{color:#fff}
.logo-svetle .logo-pod{color:var(--tm-sed)}
.menu{margin-left:auto;display:flex;gap:26px}
.menu a{color:var(--inkoust);text-decoration:none;font-weight:600;font-size:.98rem;padding:8px 0;position:relative}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--zelena);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.menu a:hover{color:var(--zelena-tm)}
.menu a:hover::after{transform:scaleX(1)}
.hlava-tel{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 14px;border:2px solid var(--inkoust);border-radius:6px;color:var(--inkoust);text-decoration:none;font:700 1.3rem/1 var(--f-nad);letter-spacing:.02em;transition:background .2s,color .2s}
.hlava-tel:hover{background:var(--inkoust);color:#fff}
.prep{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent;color:var(--inkoust);cursor:pointer;border-radius:6px}
.akce{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.tl{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:50px;padding:0 1.35em;border-radius:6px;border:2px solid transparent;font:600 1.22rem/1.1 var(--f-nad);letter-spacing:.015em;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.tl-1{background:var(--zelena);color:#fff}
.tl-1:hover{background:var(--zelena-tm);color:#fff}
.tl-1 .ik{transition:transform .2s}
.tl-1:hover .ik{transform:translateX(3px)}
.tl-2{background:transparent;color:var(--inkoust);border-color:var(--inkoust)}
.tl-2:hover{background:var(--inkoust);color:#fff}
.tl-tel-velke{display:inline-flex;align-items:center;gap:12px;color:var(--inkoust);text-decoration:none;min-height:50px}
.tl-tel-velke .ik{width:44px;height:44px;padding:11px;border-radius:50%;background:var(--inkoust);color:#fff}
.tl-tel-velke small{display:block;font:500 .68rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--sed);margin-bottom:4px}
.tl-tel-velke b{font:700 1.65rem/1 var(--f-nad);letter-spacing:.02em}
.tl-tel-velke:hover{color:var(--zelena-tm)}
.tl-odkaz{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--inkoust);font:700 1.3rem/1 var(--f-nad);text-decoration:none}
.tl-odkaz:hover{color:var(--zelena-tm)}
.tl.lesk::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);animation:lesk 1s ease-out forwards;pointer-events:none}
.nadtitul{display:flex;align-items:center;gap:10px;font:500 .74rem/1.3 var(--f-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--sed);margin:0 0 18px}
.nadtitul::before{content:"";width:10px;height:10px;background:var(--cervena);border-radius:2px;flex:none}
.sh{background-color:var(--papir);background-image:linear-gradient(rgba(22,32,42,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(22,32,42,.045) 1px,transparent 1px);background-size:24px 24px;padding:clamp(40px, 6vw, 84px) 0 clamp(48px, 7vw, 96px);border-bottom:1px solid var(--linka)}
.sh-mriz{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px, 5vw, 64px);align-items:center}
.sh h1{font-size:clamp(2.75rem, 1.6rem + 3.4vw, 4.6rem);line-height:.98;letter-spacing:0;margin-bottom:24px}
.sh h1 .zvyr{color:var(--zelena-tm)}
.perex{font-size:clamp(1.08rem, 1rem + .3vw, 1.22rem);line-height:1.55;color:var(--text);max-width:34em;margin-bottom:30px}
.sh-obory{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:30px;padding-top:20px;border-top:1px solid var(--linka);font:500 .74rem/1.3 var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--sed)}
.sh-obory li{display:flex;align-items:center;gap:8px}
.ob{width:11px;height:11px;border-radius:2px;display:inline-block}
.ob-m{background:var(--modra);border-radius:50%}
.ob-c{background:var(--cervena)}
.ob-z{background:var(--zelena)}
.ob-g{background:var(--grafit-2)}
.plan{margin:0;background:var(--bila);border:1px solid var(--linka);border-radius:10px;box-shadow:var(--stin);overflow:hidden}
.plan-hlava{display:flex;justify-content:space-between;gap:12px;background:var(--zelena);color:#fff;font:500 .74rem/1.2 var(--f-mono);text-transform:uppercase;letter-spacing:.11em;padding:11px 16px}
.plan-svg{width:100%;height:auto;padding:12px 10px 6px}
.pl-mriz{stroke:#16202A;stroke-opacity:.06;stroke-width:1}
.pl-zdi path{fill:none;stroke:var(--inkoust);stroke-width:4;stroke-linecap:square}
.pl-dvere{fill:none;stroke:var(--sed);stroke-width:1.2;stroke-dasharray:3 3}
.pl-popisky text{font:500 10px var(--f-mono);fill:var(--sed);letter-spacing:.08em;text-anchor:middle}
.pl-chodba,.pl-zluta{fill:var(--zluta)}
.pl-cerv{fill:var(--cervena)}
.pl-zel{fill:var(--zelena)}
.pl-oranz{fill:var(--oranzova)}
.pl-ty-t{font:500 10px var(--f-mono);fill:var(--inkoust);letter-spacing:.08em;text-anchor:middle}
.pl-vlna{fill:none;stroke:var(--oranzova);stroke-width:2;opacity:0}
.pl-pop,.pl-sip,.pl-vychod,.pl-vlna{transform-box:fill-box;transform-origin:center}
.plan-legenda{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;padding:10px 16px 12px;border-top:1px solid var(--linka);font:500 .7rem/1.3 var(--f-mono);color:var(--sed);text-transform:uppercase;letter-spacing:.06em}
.plan-legenda li{display:flex;align-items:center;gap:7px}
.lg{flex:none;width:16px;height:16px}
.pas{padding:clamp(64px, 8vw, 112px) 0}
.pas-bila{background:var(--bila)}
.pas-papir{background:var(--papir)}
.pas-hlava{max-width:780px;margin-bottom:clamp(32px, 4vw, 48px)}
.pas-hlava h2,.ko-text h2,.kt-info h2{font-size:clamp(2.1rem, 1.5rem + 2vw, 3.2rem);margin-bottom:18px}
.pas-uvod{font-size:1.12rem;color:var(--text);max-width:42em;margin:0}
.sl-hlavni{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.sl{background:var(--karta);border:1px solid var(--linka);border-top:5px solid var(--barva);border-radius:10px;padding:clamp(22px, 3vw, 32px);transition:box-shadow .3s,transform .3s}
.sl:hover{box-shadow:var(--stin)}
.sl-bozp{--barva:var(--modra)}
.sl-po{--barva:var(--cervena)}
.sl-hlava{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.stitek{width:64px;height:64px;flex:none}
.st-modra{fill:var(--modra)}
.st-modra-f{fill:var(--modra)}
.st-cervena{fill:var(--cervena)}
.st-zelena{fill:var(--zelena)}
.st-grafit{fill:var(--grafit-2)}
.sl h3{font-size:clamp(1.9rem, 1.5rem + 1vw, 2.4rem)}
.sl-pod{margin:4px 0 0;color:var(--sed);font-size:.98rem}
.sl-kratce{font-size:1.08rem;color:var(--inkoust)}
.sl-body{list-style:none;display:grid;gap:8px;margin-bottom:6px}
.sl-body li{position:relative;padding-left:28px;font-weight:600;color:var(--inkoust)}
.sl-body li::before{content:"";position:absolute;left:0;top:.38em;width:16px;height:9px;border-left:2.5px solid var(--barva);border-bottom:2.5px solid var(--barva);transform:rotate(-45deg) translate(2px,-2px)}
.ukony{margin-top:20px;border-top:1px solid var(--linka)}
.ukony summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 0;cursor:pointer;font:600 1.2rem/1.1 var(--f-nad);color:var(--barva);letter-spacing:.015em}
.ukony summary::-webkit-details-marker{display:none}
.ukony summary:hover .uk-zav,.ukony summary:hover .uk-otv{text-decoration:underline;text-underline-offset:3px}
.uk-plus{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--barva);color:#fff;transition:transform .25s}
.ukony[open] .uk-plus{transform:rotate(45deg)}
.uk-otv{display:none}
.ukony[open] .uk-otv{display:inline}
.ukony[open] .uk-zav{display:none}
.uk-uvod{color:var(--sed);margin:6px 0 16px}
.uk-skupina{margin-bottom:18px}
.uk-skupina h4{font:500 .72rem/1.3 var(--f-mono);text-transform:uppercase;letter-spacing:.11em;color:var(--barva);margin-bottom:8px}
.uk-skupina ul{list-style:none;display:grid;gap:8px}
.uk-skupina li{position:relative;padding:0 0 8px 20px;border-bottom:1px dashed var(--linka);font-size:1rem;line-height:1.5}
.uk-skupina li:last-child{border-bottom:0;padding-bottom:0}
.uk-skupina li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;background:var(--barva);border-radius:1px}
.ukony[open] .uk-skupina{animation:rozbal .35s ease-out both}
.sl-dalsi{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:24px;margin-top:24px}
.sl-maly{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;align-items:start;padding:22px 24px;border-radius:10px}
.sl-maly .stitek{width:52px;height:52px}
.sl-maly h3{font-size:1.7rem;margin-bottom:6px}
.sl-maly p{margin-bottom:8px}
.sl-maly ul{list-style:none;display:grid;gap:6px;color:var(--text);font-size:.98rem}
.sl-maly li{position:relative;padding-left:18px}
.sl-maly li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;background:var(--zelena);border-radius:1px}
.sl-skoleni{background:var(--karta);border:1px solid var(--linka);border-left:5px solid var(--zelena)}
.sl-stavby{border:1.5px dashed var(--linka);background:transparent}
.sl-take{font:500 .7rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--sed);margin:2px 0 8px !important}
.pas-tm{background:var(--grafit);color:var(--tm-text)}
.pas-tm h2,.pas-tm h3{color:#fff}
.pas-tm .nadtitul{color:var(--tm-sed)}
.pas-tm .pas-uvod{color:var(--tm-text)}
.trasa{position:relative;margin-top:8px}
.trasa-cara{position:absolute;left:0;right:14px;top:16px;height:14px;border-radius:2px;background:var(--zelena-sv) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14'%3E%3Cpath d='M10 3l5 4-5 4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") repeat-x 0 0/28px 14px;transform-origin:left center}
.trasa-cara::after{content:"";position:absolute;right:-12px;top:-6px;border-left:14px solid var(--zelena-sv);border-top:13px solid transparent;border-bottom:13px solid transparent}
.kroky{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;position:relative}
.krok{padding-right:8px}
.krok-c{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:56px;height:46px;border-radius:6px;background:var(--grafit-2);border:2px solid var(--zelena-sv);color:#fff;font:700 1.35rem/1 var(--f-nad);letter-spacing:.04em}
.krok:last-child .krok-c{background:var(--zelena-sv);border-color:#fff}
.krok h3{font-size:1.5rem;font-weight:600;margin:20px 0 8px}
.krok p{margin:0;color:var(--tm-text);font-size:1rem;line-height:1.5}
.ko-mriz{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px, 5vw, 64px);align-items:center}
.ko-velky{font-size:1.25rem;line-height:1.5;color:var(--inkoust)}
.ko-text .akce{margin-top:26px}
.kl{position:relative;background:var(--bila);border:1px solid var(--linka);border-radius:10px;padding:30px 28px 22px;box-shadow:var(--stin);color:var(--text)}
.kl::before{content:"";position:absolute;left:50%;top:-11px;width:96px;height:22px;margin-left:-48px;border-radius:6px;background:var(--grafit-2)}
.kl-hlava{display:flex;justify-content:space-between;font:500 .7rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--sed);padding-bottom:12px;margin-bottom:14px;border-bottom:1px dashed var(--linka)}
.kl h3{font-size:1.7rem;margin-bottom:8px}
.kl-karty{display:flex;gap:6px;margin:6px 0 4px;padding:4px;background:#EEECE6;border-radius:8px}
.kl-karta{flex:1 1 0;min-height:44px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--sed);font:600 1.02rem/1.15 var(--f-nad);letter-spacing:.01em;cursor:pointer;transition:background .2s ease,color .2s ease}
.kl-karta:hover{color:var(--inkoust);background:rgba(255,255,255,.6)}
.kl-karta[aria-selected="true"]{color:#fff}
.kl-karta.kl-bozp[aria-selected="true"]{background:var(--modra)}
.kl-karta.kl-po[aria-selected="true"]{background:var(--cervena)}
.kl-karta:focus-visible{outline:3px solid var(--inkoust);outline-offset:2px}
.kl-karty:not(.zapnuto){display:none}
.kl-kdo{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;margin-top:14px;padding:8px 0 6px;font:500 .7rem/1.35 var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--sed);border-bottom:2px solid currentColor}
.kl-kdo.kl-bozp{border-color:var(--modra)}
.kl-kdo.kl-po{border-color:var(--cervena)}
.kl-nazev{color:var(--inkoust)}
.kl-karty.zapnuto~.kl-panely .kl-nazev{display:none}
.kl-karty.zapnuto~.kl-panely{display:grid}
.kl-karty.zapnuto~.kl-panely>.kl-panel{grid-area:1/1}
.kl-karty.zapnuto~.kl-panely>.kl-panel.kl-skryty{visibility:hidden}
.ko-druhy{list-style:none;display:grid;gap:12px;margin:22px 0 20px}
.ko-druhy li{display:flex;align-items:flex-start;gap:12px;line-height:1.5}
.ko-znak{flex:none;min-width:48px;margin-top:2px;padding:4px 7px;border-radius:4px;color:#fff;font:500 .7rem/1.2 var(--f-mono);letter-spacing:.08em;text-align:center}
.ko-bozp{background:var(--modra)}
.ko-po{background:var(--cervena)}
.ko-druhy strong{color:var(--inkoust);font-weight:700}
.kl ol{list-style:none}
.kl li{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #EEECE6;font-size:1rem;color:var(--inkoust)}
.kl li:last-child{border-bottom:0}
.kl-box{flex:none;display:grid;place-items:center;width:22px;height:22px;border:2px solid var(--zelena);border-radius:4px;background:var(--zelena-bg)}
.kl-box svg{width:16px;height:16px}
.kl-box path{fill:none;stroke:var(--zelena-tm);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.kt-mriz{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px, 5vw, 64px);align-items:start}
.kt-osoba{display:flex;flex-direction:column;margin:8px 0 18px}
.kt-osoba b{font:700 1.6rem/1.1 var(--f-nad);color:var(--inkoust)}
.kt-osoba span{color:var(--sed)}
.kt-tel{display:inline-flex;align-items:center;gap:14px;color:var(--inkoust);text-decoration:none;font:700 clamp(2.1rem, 1.6rem + 1.5vw, 2.8rem)/1 var(--f-nad);letter-spacing:.02em;margin-bottom:16px}
.kt-tel .ik{width:52px;height:52px;padding:13px;border-radius:50%;background:var(--zelena);color:#fff}
.kt-tel:hover{color:var(--zelena-tm)}
.kt-radek{display:flex;align-items:center;gap:12px;min-height:44px;margin:0;color:var(--inkoust);text-decoration:none;font-size:1.08rem}
a.kt-radek:hover{color:var(--zelena-tm)}
.kt-radek .ik{color:var(--sed)}
.kt-firma{display:grid;gap:10px;margin:26px 0 0;padding-top:22px;border-top:1px solid var(--linka)}
.kt-firma div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px}
.kt-firma dt{font:500 .7rem/1.9 var(--f-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--sed)}
.kt-firma dd{margin:0;color:var(--inkoust)}
.kt-form{background:var(--papir);border:1px solid var(--linka);border-radius:12px;padding:clamp(20px, 3vw, 32px);color:var(--text)}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.form-nadpis{grid-column:1/-1;font:700 2rem/1 var(--f-nad);color:var(--inkoust);margin:0}
.form-pod{grid-column:1/-1;margin:-6px 0 4px;color:var(--sed)}
.siroke{grid-column:1/-1}
.pole{display:flex;flex-direction:column;gap:6px;min-width:0}
.pole label,.volby legend{font-weight:700;font-size:.95rem;color:var(--inkoust)}
.nepovinne{font-weight:400;color:var(--sed)}
.pole input,.pole select,.pole textarea{width:100%;min-height:48px;padding:10px 12px;border:1.5px solid var(--pole);border-radius:6px;background:#fff;color:var(--inkoust);font:inherit;font-size:1rem}
.pole textarea{resize:vertical;min-height:88px}
.pole input::placeholder{color:#7E8790}
.pole input:focus,.pole select:focus,.pole textarea:focus{outline:3px solid rgba(30,158,94,.35);outline-offset:0;border-color:var(--zelena)}
.pole [aria-invalid="true"]{border-color:var(--cervena);background:#FFF6F5}
.volby{border:0;margin:0;padding:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}
.volby legend{padding:0;margin-bottom:8px;width:100%}
.volba{position:relative;display:inline-flex}
.volba input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.volba span{display:inline-flex;align-items:center;min-height:42px;padding:0 15px;border:1.5px solid var(--pole);border-radius:999px;background:#fff;color:var(--inkoust);font-weight:600;font-size:.95rem;transition:background .2s,color .2s,border-color .2s}
.volba input:checked+span{background:var(--zelena-tm);border-color:var(--zelena-tm);color:#fff}
.volba input:focus-visible+span{outline:3px solid var(--zelena-sv);outline-offset:2px}
.chyba-hl{margin:0;color:var(--cervena-tm);font-weight:700}
.past{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.odeslat{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.odeslat p{margin:0;color:var(--sed);font-size:.9rem}
.hotovo{background:var(--zelena-bg);border:1px solid var(--zelena);border-radius:8px;padding:14px 16px;color:var(--inkoust)}
.pata{background:var(--grafit);color:var(--tm-text);padding:56px 0 0;font-size:.98rem}
.pata-mriz{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.3fr;gap:32px;padding-bottom:36px}
.pata h2{font:500 .72rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--tm-sed);margin-bottom:14px}
.pata ul{list-style:none;display:grid;gap:4px}
.pata a{color:#fff;text-decoration:none}
.pata a:hover{color:#fff;text-decoration:underline}
.pata ul a,.pata p a{display:inline-flex;align-items:center;gap:8px;min-height:32px}
.pata-firma p{margin-top:16px;max-width:22em}
.pata-spodek{position:relative;display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 18px;padding-top:18px;padding-bottom:22px;font-size:.85rem;color:var(--tm-sed)}
.pata-spodek a{text-decoration:underline}
.pata-spodek::before{content:"";position:absolute;top:0;left:clamp(16px, 4vw, 32px);right:clamp(16px, 4vw, 32px);border-top:1px solid rgba(255,255,255,.12)}
.lista-akce{display:none}
.chyba404{text-align:left}
.c404{font:700 clamp(6rem, 4rem + 8vw, 10rem)/.9 var(--f-nad);color:var(--papir-2);-webkit-text-stroke:2px var(--linka);margin:0 0 10px}
.chyba404 h1{font-size:clamp(2.2rem, 1.6rem + 2vw, 3.2rem);margin-bottom:16px}
.k404{list-style:none;display:flex;flex-wrap:wrap;gap:10px 26px;margin:6px 0 28px}
.k404 a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font:600 1.25rem/1 var(--f-nad);color:var(--inkoust);text-decoration:none}
.k404 a:hover{color:var(--zelena-tm)}
.sirka-text{max-width:820px}
.text-str h1{font-size:clamp(2.2rem, 1.6rem + 2vw, 3.2rem);margin-bottom:14px}
.text-str h2{font-size:1.6rem;margin:30px 0 8px}
.text-str p{margin-bottom:12px;max-width:68ch}
.text-str p a:not(.tl){color:var(--zelena-tm);text-decoration:underline}
.text-str .tl{margin-top:18px}
.drobky{font:500 .74rem/1.4 var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--sed);margin-bottom:18px}
.drobky a{color:var(--sed);text-decoration:underline}
.odeslat p a{color:inherit;text-decoration:underline}
.tl[aria-busy="true"]{opacity:.75;cursor:progress}
@media (max-width:1000px){
  .kroky{grid-template-columns:1fr;gap:26px}
  .trasa-cara{left:21px;right:auto;top:0;bottom:0;width:14px;height:auto;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='28'%3E%3Cpath d='M3 10l4 5 4-5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:repeat-y;background-size:14px 28px;transform-origin:center top}
  .trasa-cara::after{right:auto;left:-6px;top:auto;bottom:-12px;border-left:13px solid transparent;border-right:13px solid transparent;border-top:14px solid var(--zelena-sv);border-bottom:0}
  .krok{position:relative;padding-left:78px;min-height:46px}
  .krok-c{position:absolute;left:0;top:0}
  .krok h3{margin-top:8px}
}
@media (max-width:900px){
  .menu{display:none}
  .menu.otevrene{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--linka);padding:6px clamp(16px, 4vw, 32px) 14px;box-shadow:0 18px 30px -20px rgba(22,32,42,.4)}
  .menu.otevrene a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid #EEECE6}
  .menu.otevrene a::after{display:none}
  .prep{display:inline-flex}
  .hlava-mriz{gap:12px;position:relative}
  .hlava-tel{margin-left:auto}
  .sh-mriz,.ko-mriz,.kt-mriz{grid-template-columns:1fr}
  .sl-hlavni,.sl-dalsi{grid-template-columns:1fr}
  .pata-mriz{grid-template-columns:1fr 1fr}
  .pata-firma{grid-column:1/-1}
  .lista-akce{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--linka);box-shadow:0 -10px 24px -16px rgba(22,32,42,.4);transform:translateY(110%);transition:transform .3s ease}
  .lista-akce.ukaz{transform:none}
  .lista-akce .tl{min-height:48px;font-size:1.1rem;padding:0 .8em}
  .tl-tel{background:var(--zelena);color:#fff}
  .tl-tel:hover{background:var(--zelena-tm);color:#fff}
  body{padding-bottom:0}
}
@media (max-width:560px){
  .hlava-tel{padding:0;width:44px;justify-content:center}
  .hlava-tel span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .logo-slovo{font-size:1.75rem}
  .form{grid-template-columns:1fr}
  .pata-mriz{grid-template-columns:1fr}
  .navrh-lista span+span{display:none}
  .akce .tl-1{width:100%}
  .plan-legenda{gap:6px 14px}
}
@keyframes najed{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes kresli{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes objev{from{opacity:0}to{opacity:1}}
@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes chodba{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes vlna{0%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
@keyframes vychod{0%{opacity:.25;transform:scale(1)}55%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}
@keyframes zaskrtni{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes box{from{background:#fff;border-color:var(--pole)}to{background:var(--zelena-bg);border-color:var(--zelena)}}
@keyframes cesta-x{from{clip-path:inset(-20px 100% -20px -20px)}to{clip-path:inset(-20px -20px -20px -20px)}}
@keyframes cesta-y{from{clip-path:inset(-20px -20px 100% -20px)}to{clip-path:inset(-20px -20px -20px -20px)}}
@keyframes rozbal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes lesk{from{left:-60%}to{left:130%}}
@keyframes zvon{0%,100%{transform:rotate(0)}15%{transform:rotate(-16deg)}30%{transform:rotate(14deg)}45%{transform:rotate(-10deg)}60%{transform:rotate(8deg)}75%{transform:rotate(-4deg)}}
html.js .najed{animation:najed .7s cubic-bezier(.2,.7,.2,1) both}
html.js .n0{animation-delay:.05s}
html.js .n1{animation-delay:.15s}
html.js .n2{animation-delay:.3s}
html.js .n3{animation-delay:.42s}
html.js .n4{animation-delay:.58s}
html.js .odkryj{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
html.js .odkryj.videt{opacity:1;transform:none}
html.js .plan .pl-zdi path{stroke-dasharray:1;animation:kresli 1.1s cubic-bezier(.4,0,.2,1) .35s both}
html.js .plan .pl-dvere,html.js .plan .pl-popisky{animation:objev .6s ease 1.1s both}
html.js .plan .pl-chodba{animation:chodba 1s cubic-bezier(.5,0,.3,1) 1.25s both}
html.js .plan .pl-sip{animation:pop .4s cubic-bezier(.3,1.5,.5,1) calc(1.6s + var(--i) * .12s) both}
html.js .plan .pl-sip-m{animation-delay:calc(2.25s + var(--i) * .1s)}
html.js .plan .pl-pop{animation:pop .45s cubic-bezier(.3,1.5,.5,1) calc(1.45s + var(--i) * .13s) both}
html.js .plan .pl-vychod{animation:vychod .8s ease 2.55s both}
html.js .plan .pl-vlna{animation:vlna 1.6s ease-out .9s 3 both}
html.js .plan.plan-hotovo *{animation:none !important}
html.js .trasa-cara{clip-path:inset(-20px 100% -20px -20px)}
html.js .trasa.videt .trasa-cara{clip-path:none;animation:cesta-x 1.8s cubic-bezier(.45,0,.25,1) .1s both}
html.js .trasa .krok{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
html.js .trasa.videt .krok{opacity:1;transform:none}
html.js .trasa.videt .krok:nth-child(2){transition-delay:.3s}
html.js .trasa.videt .krok:nth-child(3){transition-delay:.6s}
html.js .trasa.videt .krok:nth-child(4){transition-delay:.9s}
html.js .trasa.videt .krok:nth-child(5){transition-delay:1.2s}
html.js .kl li .kl-box{animation:box .25s ease calc(.45s + var(--i) * .2s) both;animation-play-state:paused}
html.js .kl li .kl-box path{stroke-dasharray:1;animation:zaskrtni .3s ease calc(.5s + var(--i) * .2s) both;animation-play-state:paused}
html.js .kl.videt li .kl-box,html.js .kl.videt li .kl-box path{animation-play-state:running}
.hlava-tel.zvoni .ik{animation:zvon .9s ease}
@media (max-width:1000px){
  html.js .trasa-cara{clip-path:inset(-20px -20px 100% -20px)}
  html.js .trasa.videt .trasa-cara{animation-name:cesta-y}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
}
html[data-bez-animaci] *,html[data-bez-animaci] *::before,html[data-bez-animaci] *::after{animation:none !important;transition:none !important}
