

@font-face{font-family:"Stick No Bills";src:url(pismo/sticknobills-var-latin.woff2) format("woff2");font-weight:200 800;font-display:swap;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:"Stick No Bills";src:url(pismo/sticknobills-var-latin-ext.woff2) format("woff2");font-weight:200 800;font-display:swap;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:KoHo;src:url(pismo/koho-400-latin.woff2) format("woff2");font-weight:400;font-display:swap;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:KoHo;src:url(pismo/koho-400-latin-ext.woff2) format("woff2");font-weight:400;font-display:swap;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:KoHo;src:url(pismo/koho-600-latin.woff2) format("woff2");font-weight:600;font-display:swap;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:KoHo;src:url(pismo/koho-600-latin-ext.woff2) format("woff2");font-weight:600;font-display:swap;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:KoHo;src:url(pismo/koho-700-latin.woff2) format("woff2");font-weight:700;font-display:swap;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:KoHo;src:url(pismo/koho-700-latin-ext.woff2) format("woff2");font-weight:700;font-display:swap;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}

:root{
  --uhel:#161412;      
  --uhel-2:#211e1a;
  --uhel-3:#2e2a25;
  --papir:#f4efe7;     
  --papir-2:#e9e1d3;
  --karta:#fbf8f3;
  --inkoust:#1b1916;
  --seda:#5a5248;
  --linka:#d9cfbf;
  --linka-pole:#857a6c; 
  --oranz:#f28a1d;     
  --oranz-tm:#944808;  
  --svetla:#f4efe7;
  --svetla-2:#cbc1b3;
  --nadpis:"Stick No Bills",Impact,"Arial Narrow",sans-serif;
  --text:KoHo,"Segoe UI",system-ui,sans-serif;
  --sirka:1180px;
  --okraj:clamp(16px, 4vw, 40px);
  --zaobleni:6px;
  --stin:0 1px 2px rgb(22 20 18 / .06),0 8px 24px -12px rgb(22 20 18 / .22);
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--papir);color:var(--inkoust);font-family:var(--text);font-size:1.1rem;line-height:1.6;overflow-x:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:var(--oranz-tm);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--oranz);outline-offset:3px;border-radius:2px}
p{margin:0 0 1em}
h1,h2,h3{font-family:var(--nadpis);font-weight:800;text-transform:uppercase;line-height:1;letter-spacing:.01em;margin:0 0 .45em;text-wrap:balance}
h1{font-size:clamp(2.6rem, 1.6rem + 4.4vw, 5.2rem)}
h2{font-size:clamp(2rem, 1.4rem + 2.6vw, 3.4rem)}
h3{font-size:clamp(1.45rem, 1.2rem + 1vw, 1.9rem);font-weight:700}
.sirka{width:min(100% - 2 * var(--okraj), var(--sirka));margin-inline:auto}
.preskok{position:absolute;left:12px;top:-60px;z-index:100;background:var(--oranz);color:var(--uhel);padding:10px 14px;font-weight:700;border-radius:4px}
.preskok:focus{top:12px}
.nadtitul{font-family:var(--nadpis);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.98rem;color:var(--oranz-tm);margin:0 0 .8em;display:flex;align-items:center;gap:.6em}
.nadtitul::before{content:"";width:28px;height:3px;background:currentColor;flex:none}
.perex{font-size:clamp(1.12rem, 1rem + .45vw, 1.32rem);color:var(--seda);max-width:40em}

.tmavy{background:var(--uhel);color:var(--svetla)}
.tmavy a{color:var(--oranz)}
.tmavy .perex{color:var(--svetla-2)}
.tmavy .nadtitul{color:var(--oranz)}

.tmavy .karta,.tmavy .formular{color:var(--inkoust)}
.tmavy .karta a,.tmavy .formular a{color:var(--oranz-tm)}

.tl{display:inline-flex;align-items:center;gap:.55em;min-height:48px;padding:.6em 1.25em;border-radius:4px;font-family:var(--nadpis);font-weight:700;font-size:1.22rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.tl svg{width:20px;height:20px;flex:none}
.tl:hover{transform:translateY(-2px)}
.tl-1{background:var(--oranz);color:var(--uhel);border-color:var(--oranz)}
.tl-1:hover{background:#ff9d38;border-color:#ff9d38}
.tl-2{background:transparent;color:var(--inkoust);border-color:var(--inkoust)}
.tl-2:hover{background:var(--inkoust);color:var(--papir)}
.tl-3{background:var(--uhel);color:var(--svetla);border-color:var(--uhel)}
.tl-3:hover{background:var(--uhel-3);border-color:var(--uhel-3)}

.tmavy .tl-1{color:var(--uhel)}
.tmavy .tl-2{color:var(--svetla);border-color:var(--svetla-2)}
.tmavy .tl-2:hover{background:var(--svetla);color:var(--uhel);border-color:var(--svetla)}
.oranzovy .tl-3{color:var(--svetla)}
@media (prefers-reduced-motion:reduce){.tl:hover{transform:none}}

.znacka{display:inline-grid;place-items:center;min-width:2.6em;height:2.1em;padding:0 .55em;background:var(--uhel);color:var(--oranz);font-family:var(--nadpis);font-weight:800;font-size:1rem;letter-spacing:.12em;clip-path:polygon(0 0,100% 0,calc(100% - 8px) 50%,100% 100%,0 100%);padding-right:1em}

.pravitko{height:16px;background:
  repeating-linear-gradient(90deg,var(--oranz) 0 2px,transparent 2px 50px) 0 0/100% 16px no-repeat,
  repeating-linear-gradient(90deg,var(--oranz) 0 1px,transparent 1px 10px) 0 0/100% 8px no-repeat;
  opacity:.9}

.lista{background:var(--uhel);color:var(--svetla-2);font-size:.92rem}
.lista .sirka{display:flex;gap:1.6em;align-items:center;justify-content:flex-end;min-height:36px;flex-wrap:wrap}
.lista a{color:var(--svetla);text-decoration:none}
.lista a:hover{color:var(--oranz)}
.lista span,.lista a{display:inline-flex;align-items:center;gap:.45em}
.lista svg{width:15px;height:15px;color:var(--oranz)}
.lista .misto{margin-right:auto}
@media (max-width:760px){.lista{display:none}}

.hlava{background:var(--papir);border-bottom:1px solid var(--linka);position:sticky;top:0;z-index:40}
.hlava .sirka{display:flex;align-items:center;gap:clamp(12px, 2.4vw, 32px);min-height:84px}
.logo{flex:none;display:block;padding:6px 0}
.logo img{width:auto;height:72px}
.menu{display:flex;gap:clamp(4px, 1.4vw, 22px);margin-left:auto}
.menu a{font-family:var(--nadpis);font-weight:700;font-size:1.18rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--inkoust);padding:.5em .2em;position:relative;white-space:nowrap}
.menu a::after{content:"";position:absolute;left:.2em;right:.2em;bottom:.25em;height:3px;background:var(--oranz);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.menu a:hover::after,.menu a[aria-current="page"]::after{transform:scaleX(1)}
.hlava .tl-tel{padding:.45em 1em;font-size:1.12rem}
.prep{display:none}
@media (max-width:1060px){
  .hlava .tl-tel span{display:none}
  .hlava .tl-tel{padding:.45em .8em}
}
@media (max-width:900px){
  .hlava .sirka{min-height:72px}
  .logo img{height:60px}
  .prep{display:inline-flex;align-items:center;gap:.5em;margin-left:auto;min-height:46px;padding:.4em .9em;border:2px solid var(--inkoust);border-radius:4px;background:none;color:var(--inkoust);font-family:var(--nadpis);font-weight:700;font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
  .prep svg{width:20px;height:20px}
  .hlava .tl-tel{order:3}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--papir);border-bottom:3px solid var(--oranz);padding:8px var(--okraj) 16px;box-shadow:0 12px 24px -12px rgb(0 0 0 / .3)}
  .menu[data-otevreno]{display:flex}
  .menu a{padding:.75em 0;border-bottom:1px solid var(--linka);font-size:1.3rem}
  .menu a::after{display:none}
  .menu a[aria-current="page"]{color:var(--oranz-tm)}
}

.hero{position:relative;display:grid;grid-template-columns:minmax(0, 1.05fr) minmax(0, 1fr);min-height:min(80vh, 720px);overflow:hidden}
.hero-text{padding:clamp(40px, 7vw, 96px) clamp(16px, 4vw, 48px) clamp(40px, 6vw, 80px) max(var(--okraj), calc((100vw - var(--sirka)) / 2));display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.hero h1{margin-bottom:.35em;font-size:clamp(2.6rem, 1.5rem + 3.4vw, 4.2rem)}
@media (min-width:901px){.hero h1 em{white-space:nowrap}}
.hero h1 span{display:block}
.hero h1 em{display:block;font-style:normal;color:var(--oranz)}
.hero .perex{max-width:32em}
.akce{display:flex;flex-wrap:wrap;gap:12px;margin:1.6em 0 0}
.hero-fakta{list-style:none;margin:2.4em 0 0;padding:1.4em 0 0;border-top:1px solid var(--uhel-3);display:grid;grid-template-columns:repeat(3, auto);gap:1em 2.2em;justify-content:start}
.hero-fakta li{font-size:.98rem;color:var(--svetla-2);line-height:1.3}
.hero-fakta b{display:block;font-family:var(--nadpis);font-weight:800;font-size:1.9rem;color:var(--svetla);letter-spacing:.03em;text-transform:uppercase;line-height:1.05}
.hero-foto{margin:0;position:relative;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}
.hero-foto img{width:100%;height:100%;object-fit:cover;object-position:40% 45%}
.hero-foto figcaption{position:absolute;right:16px;bottom:16px;background:rgb(22 20 18 / .82);color:var(--svetla);font-size:.88rem;padding:.35em .8em;border-radius:3px}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-foto{order:-1;clip-path:polygon(0 0,100% 0,100% 86%,0 100%);height:clamp(240px, 58vw, 420px)}
  .hero-foto figcaption{bottom:auto;top:12px}
  .hero-text{padding:28px var(--okraj) 48px}
  .hero-fakta{grid-template-columns:repeat(3, minmax(0, 1fr));gap:1em}
  .hero-fakta b{font-size:1.5rem}
}
@media (max-width:420px){.hero-fakta li{font-size:.9rem}}

.hlavicka-str{padding:clamp(40px, 6vw, 80px) 0 clamp(32px, 5vw, 60px);position:relative;overflow:hidden}
.hlavicka-str h1{max-width:18em}
.hlavicka-str .perex{margin-bottom:0}
.hlavicka-str::after{content:"";position:absolute;right:-60px;top:0;bottom:0;width:min(34vw, 380px);background:var(--uhel-2);clip-path:polygon(40% 0,100% 0,100% 100%,0 100%);z-index:0}
.hlavicka-str .sirka{position:relative;z-index:1}
.kotvy{display:flex;flex-wrap:wrap;gap:8px;margin:1.8em 0 0;padding:0;list-style:none}
.kotvy a{display:inline-block;padding:.35em .9em;border:1px solid var(--uhel-3);border-radius:40px;color:var(--svetla);text-decoration:none;font-size:.98rem;transition:border-color .2s,background-color .2s}
.kotvy a:hover{border-color:var(--oranz);background:var(--uhel-2)}

.sekce{padding:clamp(56px, 8vw, 110px) 0}
.sekce-svetla{background:var(--papir)}
.sekce-2{background:var(--papir-2)}
.hlavicka-sekce{display:flex;justify-content:space-between;align-items:end;gap:24px 40px;flex-wrap:wrap;margin-bottom:clamp(28px, 4vw, 48px)}
.hlavicka-sekce h2{margin:0;max-width:16em}
.hlavicka-sekce p{margin:0;max-width:30em;color:var(--seda)}
.tmavy .hlavicka-sekce p{color:var(--svetla-2)}

.sluzby{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:clamp(14px, 1.8vw, 24px)}
.karta{background:var(--karta);border:1px solid var(--linka);border-radius:var(--zaobleni);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--stin);transition:transform .25s,box-shadow .25s}
.sluzba{position:relative;text-decoration:none;color:inherit}
.sluzba:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgb(22 20 18 / .08),0 18px 36px -16px rgb(22 20 18 / .35)}
.sluzba .foto{aspect-ratio:4 / 3;overflow:hidden;background:var(--papir-2)}
.sluzba .foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.sluzba:hover .foto img{transform:scale(1.04)}
.sluzba .znacka{position:absolute;left:0;top:14px}
.sluzba .telo{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1;border-bottom:4px solid transparent;transition:border-color .25s}
.sluzba:hover .telo{border-bottom-color:var(--oranz)}
.sluzba h3{margin-bottom:.3em;color:var(--inkoust)}
.sluzba p{color:var(--seda);font-size:1.06rem;line-height:1.5;margin-bottom:1em}
.sluzba .dal{margin-top:auto;font-family:var(--nadpis);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--oranz-tm);display:inline-flex;align-items:center;gap:.4em}
.dal svg{width:18px;height:18px;transition:transform .2s}
.sluzba:hover .dal svg{transform:translateX(4px)}
@media (max-width:1040px){.sluzby{grid-template-columns:repeat(2, minmax(0, 1fr))}}
@media (max-width:560px){.sluzby{grid-template-columns:1fr}}

.az{display:grid;grid-template-columns:minmax(0, 1.15fr) minmax(0, .85fr);gap:clamp(28px, 5vw, 72px);align-items:start}

.stavba-obal{margin:0;position:sticky;top:104px;background:var(--uhel-2);border:1px solid var(--uhel-3);border-radius:var(--zaobleni);padding:clamp(12px, 2vw, 22px) clamp(12px, 2vw, 22px) 14px;z-index:1}
.stavba{width:100%;height:auto;overflow:visible}
.stavba-obal figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;min-height:44px}
.stavba-popis{font-family:var(--nadpis);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--oranz);font-size:1.15rem}
.stavba-znovu{font:inherit;font-size:.95rem;color:var(--svetla);background:none;border:1px solid #5c544a;border-radius:40px;padding:.4em 1em;min-height:40px;cursor:pointer;transition:border-color .2s,color .2s}
.stavba-znovu:hover{border-color:var(--oranz);color:var(--oranz)}
.zem{stroke:#6f665b;stroke-width:2;fill:none}
.stavba .cara{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s cubic-bezier(.5,0,.2,1)}
.zed{stroke:var(--svetla);stroke-width:4}
.okno{stroke:var(--svetla-2);stroke-width:2.5}
.kota{stroke:var(--oranz);stroke-width:1.6}
.kota-pismeno{font:800 28px var(--nadpis);fill:var(--oranz)}
.kota-text{font:600 15px var(--text);fill:var(--svetla-2);letter-spacing:.12em;text-transform:uppercase}
.k2 text{opacity:0;transition:opacity .5s .6s}
.auto-tvar{fill:#3a342e;stroke:var(--svetla);stroke-width:2.5;stroke-linejoin:round}
.auto-napis{font:800 15px var(--nadpis);letter-spacing:.2em;fill:var(--oranz)}
.auto-okno{fill:#6b8190;opacity:.7}
.kolo{fill:var(--uhel);stroke:var(--svetla);stroke-width:3}
.tram{fill:#d69a5c;stroke:#8a5a2b;stroke-width:1}
.ruka-cara{fill:none;stroke:var(--oranz);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.lano{stroke:var(--svetla-2);stroke-width:1.5}
.auto{transform:translateX(-300px);opacity:0;transition:transform 1.4s cubic-bezier(.3,.7,.2,1),opacity .4s}
.ruka{transform-box:view-box;transform-origin:154px 372px;transform:rotate(14deg);transition:transform 1s .9s cubic-bezier(.3,.7,.2,1)}
.les{stroke:#8f857a;stroke-width:2.2}
.leseni{transition:opacity .6s}
.krov{stroke:var(--oranz);stroke-width:6}
.krov.tenky{stroke-width:4}
.k4 .krov{transition-delay:.35s}
.stit{fill:#2b2621;stroke:var(--svetla);stroke-width:2}
.stit-okno{fill:#6b8190;stroke:var(--svetla);stroke-width:2;opacity:.8}
.komin{fill:#3a342e;stroke:var(--svetla);stroke-width:2}
.strecha{fill:var(--oranz);stroke:#c96d0f;stroke-width:1}
.tasky{fill:none;stroke:var(--uhel);stroke-width:3;stroke-dasharray:7 9;opacity:.55}
.k5 .stit,.k5 .stit-okno,.k5 .komin,.k5 .strecha,.k5 .tasky{opacity:0;transition:opacity .7s}
.k5 .strecha,.k5 .tasky{transform:translateY(-14px);transition:opacity .7s .15s,transform .7s .15s cubic-bezier(.3,.7,.2,1)}
.razitko{transform:scale(1.6);opacity:0;transition:transform .45s .7s cubic-bezier(.2,1.4,.4,1),opacity .3s .7s}
.razitko rect{fill:none;stroke:var(--oranz);stroke-width:4}
.razitko text{font:800 34px var(--nadpis);letter-spacing:.14em;fill:var(--oranz)}

.f1 .k1 .cara,.f2 .k2 .cara,.f4 .k4 .cara{stroke-dashoffset:0}
.f2 .k2 text{opacity:1}
.f3 .auto{transform:none;opacity:1}
.f3 .ruka{transform:none}
.f5 .auto{transform:translateX(-340px);opacity:0;transition:transform 1.2s ease-in,opacity .5s .7s}
.f5 .leseni{opacity:0}
.f5 .k5 .stit,.f5 .k5 .stit-okno,.f5 .k5 .komin,.f5 .k5 .strecha,.f5 .k5 .tasky{opacity:1;transform:none}
.f5 .k5 .tasky{opacity:.55}
.f5 .razitko{transform:none;opacity:1}
@media (prefers-reduced-motion:reduce){.stavba *{transition:none !important}.stavba-znovu{display:none}}
[data-bez-animaci] .stavba *{transition:none !important}

.kroky{list-style:none;margin:0;padding:0;counter-reset:krok;position:relative}
.kroky::before{content:"";position:absolute;left:21px;top:10px;bottom:10px;width:4px;background:repeating-linear-gradient(180deg,var(--oranz) 0 14px,transparent 14px 22px)}
.kroky li{counter-increment:krok;position:relative;padding:0 0 1.6em 70px;transition:opacity .4s}
.kroky li:last-child{padding-bottom:0}
.kroky li::before{content:counter(krok, upper-roman);position:absolute;left:0;top:-2px;width:46px;height:40px;display:grid;place-items:center;background:var(--oranz);color:var(--uhel);font-family:var(--nadpis);font-weight:800;font-size:1.15rem;letter-spacing:.06em;clip-path:polygon(0 0,100% 0,calc(100% - 7px) 50%,100% 100%,0 100%);transition:background-color .3s,transform .3s}
.kroky b{display:block;font-family:var(--nadpis);font-weight:700;text-transform:uppercase;font-size:1.5rem;letter-spacing:.03em;line-height:1.1;margin-bottom:.15em}
.kroky span{color:var(--svetla-2)}

.kroky[data-hraje] li{opacity:.38;cursor:pointer}
.kroky[data-hraje] li[data-hotovo]{opacity:.75}
.kroky[data-hraje] li[data-aktivni]{opacity:1}
.kroky[data-hraje] li[data-aktivni]::before{transform:scale(1.12)}

@media (min-width:861px){.kroky{padding:12vh 0 18vh}.kroky li{padding-bottom:0;margin-bottom:16vh}.kroky li:last-child{margin-bottom:0}}
.hodnoty{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1px;background:var(--uhel-3);margin-top:clamp(40px, 6vw, 72px);border:1px solid var(--uhel-3)}
.hodnoty div{background:var(--uhel);padding:22px 24px;display:flex;gap:14px;align-items:flex-start}
.hodnoty svg{width:30px;height:30px;color:var(--oranz);flex:none;margin-top:2px}
.hodnoty b{display:block;font-family:var(--nadpis);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:1.35rem;line-height:1.1}
.hodnoty span{color:var(--svetla-2);font-size:.98rem}
@media (max-width:860px){.az{grid-template-columns:1fr}.hodnoty{grid-template-columns:1fr}
  .stavba-obal{top:78px;padding:8px 10px 6px}.stavba-obal figcaption{margin-top:0}.stavba-znovu{font-size:.85rem;min-height:36px}
  .kroky{padding:8px 0 4vh}.kroky li{padding-bottom:0;margin-bottom:30vh}.kroky li:last-child{margin-bottom:0}}

.galerie{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));grid-auto-rows:clamp(150px, 17vw, 230px);grid-auto-flow:dense;gap:10px;margin:0;padding:0;list-style:none}
.galerie li{position:relative;overflow:hidden;border-radius:4px;background:var(--papir-2)}
.galerie li.na-vysku{grid-row:span 2}
.galerie li.siroka{grid-column:span 2}
.galerie a{display:block;width:100%;height:100%;position:relative}
.galerie img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .3s}
.galerie a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgb(22 20 18 / .55));opacity:0;transition:opacity .3s}
.galerie a:hover img{transform:scale(1.05)}
.galerie a:hover::after,.galerie a:focus-visible::after{opacity:1}
.galerie .stitek{position:absolute;left:10px;bottom:10px;z-index:1;background:var(--uhel);color:var(--svetla);font-family:var(--nadpis);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.86rem;padding:.25em .6em;border-radius:2px;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}
.galerie a:hover .stitek,.galerie a:focus-visible .stitek{opacity:1;transform:none}
.galerie a:focus-visible{outline-offset:-4px}
@media (max-width:860px){.galerie{grid-template-columns:repeat(2, minmax(0, 1fr));grid-auto-rows:clamp(130px, 38vw, 220px)}.galerie li.siroka{grid-column:span 2}}
@media (hover:none){.galerie .stitek{opacity:1;transform:none}}
.pod-galerii{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.pod-galerii p{margin:0;color:var(--seda)}

.filtr{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;padding:0;list-style:none}
.filtr button{font:inherit;font-size:1rem;cursor:pointer;border:1.5px solid var(--linka-pole);background:var(--karta);color:var(--inkoust);padding:.4em .95em;border-radius:40px;min-height:44px;transition:background-color .2s,border-color .2s,color .2s}
.filtr button small{font-size:.82em;color:var(--seda);margin-left:.3em}
.filtr button:hover{border-color:var(--inkoust)}
.filtr button[aria-pressed="true"]{background:var(--uhel);border-color:var(--uhel);color:var(--svetla)}
.filtr button[aria-pressed="true"] small{color:var(--oranz)}
.pocet-fotek{color:var(--seda);margin:-10px 0 20px;font-size:.98rem}

.oblast{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1.25fr);gap:clamp(28px, 5vw, 64px);align-items:center}
.mapa{margin:0;border-radius:var(--zaobleni);overflow:hidden;border:1px solid var(--linka);box-shadow:var(--stin)}
.mapa-svg{width:100%;height:auto}
.m-pozadi{fill:#efe8dc}
.m-mrizka{fill:none;stroke:#ddd3c3;stroke-width:1}
.m-pl{fill:#e3dacb;stroke:#9c907f;stroke-width:1.4;stroke-dasharray:6 4}
.m-stat{font:600 17px var(--text);letter-spacing:.3em;fill:#8a7f70}
.m-bod{fill:var(--karta);stroke:var(--inkoust);stroke-width:2}
.m-jm{font:600 19px var(--text);fill:var(--inkoust);paint-order:stroke;stroke:#efe8dc;stroke-width:4px;stroke-linejoin:round}
.m-ostrava{fill:var(--inkoust)}
.m-ostrava-jm{font:800 32px var(--nadpis);letter-spacing:.06em;fill:var(--inkoust);paint-order:stroke;stroke:#efe8dc;stroke-width:5px;stroke-linejoin:round}
.m-sidlo-bod{fill:var(--oranz);stroke:var(--uhel);stroke-width:3}
.m-sidlo-vlna{fill:none;stroke:var(--oranz);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:vlna 2.6s ease-out infinite}
.m-sidlo-jm{font:700 20px var(--text);fill:var(--uhel);paint-order:stroke;stroke:#efe8dc;stroke-width:5px;stroke-linejoin:round}
@media (max-width:600px){
  .m-male{display:none}
  .m-jm{font-size:34px;stroke-width:6px}
  .m-bod{r:7px}
  .m-ostrava-jm{font-size:50px}
  .m-sidlo-jm{font-size:32px;text-anchor:middle}
  .m-stat{font-size:28px}
}
@keyframes vlna{from{transform:scale(1);opacity:.9}to{transform:scale(3.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.m-sidlo-vlna{animation:none;opacity:0}}
[data-bez-animaci] .m-sidlo-vlna{animation:none;opacity:0}
.fakta-oblast{list-style:none;margin:1.4em 0 1.6em;padding:0;display:grid;gap:.7em}
.fakta-oblast li{display:flex;gap:.7em;align-items:flex-start}
.fakta-oblast svg{width:22px;height:22px;color:var(--oranz-tm);flex:none;margin-top:.2em}
@media (max-width:860px){.oblast{grid-template-columns:1fr}}

.site{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.sit{display:inline-flex;align-items:center;gap:.55em;padding:.45em .95em .45em .6em;border:1.5px dashed var(--linka-pole);border-radius:40px;font-size:.98rem;color:var(--seda)}
.sit svg{width:22px;height:22px;color:var(--inkoust)}
.sit b{color:var(--inkoust);font-weight:600}

.tmavy .sit,.pata .sit,.kontakt-karta .sit{border-color:#6f665b;color:var(--svetla-2)}
.tmavy .sit svg,.tmavy .sit b,.pata .sit svg,.pata .sit b,.kontakt-karta .sit svg,.kontakt-karta .sit b{color:var(--svetla)}

.oranzovy{background:var(--oranz);color:var(--uhel)}
.vyzva{display:grid;grid-template-columns:minmax(0, 1.4fr) auto;gap:24px 48px;align-items:center;padding:clamp(40px, 6vw, 72px) 0}
.vyzva h2{margin:0 0 .25em}
.vyzva p{margin:0;font-size:1.15rem;max-width:34em}
.vyzva .akce{margin:0;justify-content:flex-end}
.vyzva .tl-2{border-color:var(--uhel);color:var(--uhel)}
.vyzva .tl-2:hover{background:var(--uhel);color:var(--oranz)}
@media (max-width:860px){.vyzva{grid-template-columns:1fr}.vyzva .akce{justify-content:flex-start}}

.blok{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1.1fr);gap:clamp(28px, 5vw, 72px);align-items:center;padding:clamp(40px, 6vw, 72px) 0;border-top:1px solid var(--linka)}
.blok:first-child{border-top:0;padding-top:0}
.blok:nth-child(even) .blok-fotky{order:-1}
.blok h2{font-size:clamp(1.9rem, 1.4rem + 2vw, 3rem);margin-top:.35em}
.blok p{color:var(--seda)}
.blok .dal{font-family:var(--nadpis);font-weight:700;text-transform:uppercase;letter-spacing:.08em;display:inline-flex;align-items:center;gap:.4em;text-decoration:none}
.blok .dal:hover svg{transform:translateX(4px)}
.blok-fotky{display:grid;grid-template-columns:1.35fr 1fr;gap:10px;margin:0;padding:0;list-style:none;align-items:end}
.blok-fotky li{border-radius:4px;overflow:hidden;background:var(--papir-2)}
.blok-fotky li:first-child{aspect-ratio:4 / 3.4}
.blok-fotky li:last-child{aspect-ratio:3 / 3.6;margin-bottom:-28px}
.blok-fotky a{display:block;width:100%;height:100%}
.blok-fotky img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.blok-fotky a:hover img{transform:scale(1.05)}
.seznam{list-style:none;margin:0 0 1.2em;padding:0;display:grid;gap:.45em}
.seznam li{padding-left:1.4em;position:relative}
.seznam li::before{content:"";position:absolute;left:0;top:.62em;width:.7em;height:.7em;background:var(--oranz);clip-path:polygon(0 0,100% 50%,0 100%)}
@media (max-width:860px){
  .blok{grid-template-columns:1fr}
  .blok:nth-child(even) .blok-fotky{order:0}
  .blok-fotky li:last-child{margin-bottom:0}
}

.radky{list-style:none;margin:0 0 1.4em;padding:0;border-top:1px solid var(--linka)}
.radky li{display:flex;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--linka);font-size:1.12rem;font-weight:600}
.radky svg{width:28px;height:28px;color:var(--oranz-tm);flex:none}
.poznamka{font-size:.98rem;color:var(--seda);border-left:4px solid var(--oranz);padding:.2em 0 .2em 1em}

.kontakt-mriz{display:grid;grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr);gap:clamp(24px, 4vw, 48px);align-items:start}
.kontakt-karta{background:var(--uhel);color:var(--svetla);border-radius:var(--zaobleni);padding:clamp(24px, 3.4vw, 40px);position:sticky;top:110px}
.kontakt-karta a{color:var(--svetla);text-decoration:none}
.kontakt-karta a:hover{color:var(--oranz)}
.velky-tel{display:block;font-family:var(--nadpis);font-weight:800;font-size:clamp(2.3rem, 1.6rem + 2.6vw, 3.3rem);letter-spacing:.03em;line-height:1;margin:.1em 0 .35em}
.kontakt-karta a.velky-tel{color:var(--oranz)}
.kontakt-karta a.velky-tel:hover{color:#ff9d38}
.kontakt-radky{list-style:none;margin:0 0 1.6em;padding:0}
.kontakt-radky li{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--uhel-3)}
.kontakt-radky svg{width:22px;height:22px;color:var(--oranz);flex:none;margin-top:3px}
.kontakt-radky small{display:block;color:var(--svetla-2);font-size:.88rem}
.fakturace{font-size:.92rem;color:var(--svetla-2);margin:1.4em 0 0;padding-top:1em;border-top:1px solid var(--uhel-3)}
@media (max-width:900px){.kontakt-mriz{grid-template-columns:1fr}.kontakt-karta{position:static}}

.formular{background:var(--karta);border:1px solid var(--linka);border-radius:var(--zaobleni);padding:clamp(22px, 3.4vw, 40px);box-shadow:var(--stin);color:var(--inkoust)}
.formular h2{font-size:clamp(1.9rem, 1.5rem + 1.6vw, 2.6rem)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.pole{display:flex;flex-direction:column;gap:6px}
.siroke{grid-column:1 / -1}
.pole label,.popisek{font-weight:600;font-size:1rem;color:var(--inkoust)}
.nepovinne{font-weight:400;color:var(--seda)}
.pole input,.pole select,.pole textarea{font:inherit;font-size:1.05rem;color:var(--inkoust);background:#fff;border:1.5px solid var(--linka-pole);border-radius:4px;padding:.65em .8em;min-height:50px;width:100%;transition:border-color .2s,box-shadow .2s}
.pole textarea{resize:vertical;min-height:120px}
.pole input:focus,.pole select:focus,.pole textarea:focus{outline:none;border-color:var(--uhel);box-shadow:0 0 0 3px rgb(242 138 29 / .45)}
.pole [aria-invalid="true"]{border-color:#b3261e;box-shadow:0 0 0 3px rgb(179 38 30 / .15)}
.chyba-hl{margin:0;color:#b3261e;font-weight:600;font-size:.98rem}
.nahrat{position:relative;border:2px dashed var(--linka-pole);border-radius:6px;padding:22px 18px;text-align:center;background:#fff;transition:border-color .2s,background-color .2s;display:flex;flex-direction:column;align-items:center;gap:4px}
.nahrat[data-nad],.nahrat:hover{border-color:var(--oranz-tm);background:#fff8ef}
.nahrat input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.nahrat:focus-within{outline:3px solid var(--oranz);outline-offset:2px}
.nahrat svg{width:28px;height:28px;color:var(--oranz-tm);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nahrat strong{font-weight:600}
.nahrat small{color:var(--seda)}
.nahledy{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill, minmax(92px, 1fr));gap:8px}
.nahledy li{position:relative;border-radius:4px;overflow:hidden;background:var(--papir-2)}
.nahledy img{width:100%;aspect-ratio:1;object-fit:cover}
.nahledy small{display:block;font-size:.72rem;padding:2px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--seda)}
.nahledy button{position:absolute;top:4px;right:4px;width:28px;height:28px;border-radius:50%;border:0;background:var(--uhel);color:#fff;font-size:18px;line-height:1;cursor:pointer}
.past{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.odeslat{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center}
.odeslat p{margin:0;font-size:.92rem;color:var(--seda);flex:1;min-width:14em}
.hotovo{background:#eef6e9;border:1px solid #9cc28a;border-radius:6px;padding:16px 18px;color:#1f3d14}
.hotovo b{display:block;font-size:1.1rem}
@media (max-width:600px){.form{grid-template-columns:1fr}}

.pata{background:var(--uhel);color:var(--svetla-2);font-size:1rem}
.pata a{color:var(--svetla);text-decoration:none}
.pata a:hover{color:var(--oranz);text-decoration:underline}
.pata-mriz{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:32px;padding:clamp(48px, 6vw, 72px) 0 36px}
.pata h2{font-size:1.35rem;color:var(--svetla);letter-spacing:.08em;margin-bottom:.8em}
.pata-jmeno{font-family:var(--nadpis);font-weight:800;font-size:2.1rem;text-transform:uppercase;color:var(--svetla);line-height:1;margin:0 0 .35em}
.pata-jmeno span{color:var(--oranz)}
.pata ul{list-style:none;margin:0;padding:0;display:grid;gap:.45em}
.pata-spodek{border-top:1px solid var(--uhel-3);padding:20px 0 28px;font-size:.9rem;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.form .poznamka{margin:0}
.pata-mriz-3{grid-template-columns:1.6fr 1fr 1fr}
@media (max-width:900px){.pata-mriz{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pata-mriz{grid-template-columns:1fr}}

.plovouci{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;justify-content:center;box-shadow:0 10px 30px -8px rgb(0 0 0 / .55)}
@media (min-width:761px){.plovouci{display:none !important}}

.lupa{position:fixed;inset:0;z-index:200;background:rgb(14 12 10 / .94);display:grid;grid-template-columns:64px minmax(0, 1fr) 64px;align-items:center;padding:16px 8px}
.lupa figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;max-height:100%;min-width:0}
.lupa img{max-width:100%;max-height:calc(100vh - 110px);width:auto;height:auto;border-radius:3px;box-shadow:0 20px 60px rgb(0 0 0 / .5)}
.lupa figcaption{color:var(--svetla-2);font-size:.98rem;text-align:center}
.lupa button{background:none;border:0;color:var(--svetla);cursor:pointer;font:inherit}
.lupa .lupa-s{font-size:3rem;line-height:1;width:56px;height:72px;border-radius:4px}
.lupa-s:hover{background:rgb(255 255 255 / .08);color:var(--oranz)}
.lupa .lupa-x{position:absolute;top:10px;right:12px;font-size:2.4rem;width:52px;height:52px;border-radius:50%}
.lupa-x:hover{background:rgb(255 255 255 / .08)}
@media (max-width:600px){.lupa{grid-template-columns:1fr;padding:56px 6px 16px}.lupa .lupa-s{position:absolute;bottom:14px;background:rgb(22 20 18 / .7)}.lupa-p{left:12px}.lupa-d{right:12px}}

.chyba-404{padding:clamp(60px, 10vw, 130px) 0;text-align:left}
.chyba-404 .cislo{font-family:var(--nadpis);font-weight:800;font-size:clamp(6rem, 3rem + 14vw, 13rem);line-height:.85;color:var(--oranz);margin:0}
.chyba-404 ul{list-style:none;padding:0;margin:1.6em 0 0;display:flex;flex-wrap:wrap;gap:10px}

.text-str{max-width:46em}
.text-str h2{font-size:1.7rem;margin-top:1.6em}

.js .odkryj{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.js .odkryj[data-vidno]{opacity:1;transform:none}
.js .hero .odkryj:nth-child(2){transition-delay:.08s}
.js .hero .odkryj:nth-child(3){transition-delay:.16s}
.js .hero .odkryj:nth-child(4){transition-delay:.24s}
.js .hero .odkryj:nth-child(5){transition-delay:.32s}
.js .sluzby .odkryj:nth-child(2){transition-delay:.07s}
.js .sluzby .odkryj:nth-child(3){transition-delay:.14s}
.js .sluzby .odkryj:nth-child(4){transition-delay:.21s}
@media (prefers-reduced-motion:reduce){.js .odkryj{opacity:1;transform:none;transition:none}}
[data-bez-animaci] .odkryj{opacity:1 !important;transform:none !important;transition:none !important}
