:root{
  --grafit:#17191b; --grafit2:#24272a; --ocel:#5b646b; --ocel-sv:#9aa3a9; --beton:#d9d6d0;
  --pisek:#efe8dc; --pisek2:#f7f3ec; --drevo:#a8774a; --cer:#dc0b1c; --cer-t:#b30815;
  --text:#1c1e20; --text2:#4b5157; --bila:#fff;
  --f-nad:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; --f-mono:"Space Grotesk","Archivo",sans-serif;
  --r:4px; --sirka:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--f-nad);color:var(--text);background:var(--pisek2);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--f-nad);line-height:1.08;margin:0 0 .5em;letter-spacing:-.02em}
h1{font-weight:900;font-size:clamp(2.2rem,6vw,4.6rem);text-transform:uppercase}
h2{font-weight:800;font-size:clamp(1.5rem,3vw,2.1rem)}
h3{font-weight:700;font-size:1.2rem}
p{margin:0 0 1em}
mark.dopl{background:#ffe066;color:#3a2f00;padding:0 .25em;border-radius:2px;font-weight:600}
.obal{max-width:var(--sirka);margin:0 auto;padding:0 20px}
.navrh{background:var(--cer);color:#fff;font:600 12.5px/1.4 var(--f-mono);text-align:center;padding:5px 16px;letter-spacing:.02em}
.navrh a{color:#fff}

/* hlavička */
.hlavicka{background:var(--grafit);position:sticky;top:0;z-index:20;border-bottom:3px solid var(--cer)}
.hl{display:flex;align-items:center;justify-content:space-between;min-height:74px;gap:20px}
.logo img{width:190px;height:auto}
.menu{display:flex;align-items:center;gap:22px}
.menu a{color:#e8e6e1;text-decoration:none;font-weight:600;font-size:15px;letter-spacing:.01em;padding:6px 0;border-bottom:2px solid transparent}
.menu a:hover,.menu a.aktivni{border-bottom-color:var(--cer);color:#fff}
.menu a.tl{border:0;padding:10px 18px;color:#fff}
.jazyk{font:500 12px var(--f-mono);color:var(--ocel-sv);letter-spacing:.08em}
.m-prep,.m-tl{display:none}

/* tlačítka */
.tl{display:inline-block;font:700 15px var(--f-nad);text-decoration:none;padding:14px 26px;border-radius:var(--r);letter-spacing:.02em;text-transform:uppercase;transition:background .15s,transform .15s;border:2px solid transparent;cursor:pointer}
.tl-cer{background:var(--cer);color:#fff}
.tl-cer:hover{background:var(--cer-t)}
.tl-obrys{border-color:currentColor;color:#fff}
.tl-obrys:hover{background:rgba(255,255,255,.1)}
.tl-tmavy{background:var(--grafit);color:#fff}
.tl-tmavy:hover{background:var(--ocel)}
.sipka{font-weight:700;color:var(--cer);text-decoration:none;white-space:nowrap}
.sipka:hover{text-decoration:underline}

/* hero */
.hero{position:relative;color:#fff;background:var(--grafit) center/cover no-repeat;padding:clamp(70px,12vw,150px) 0 60px;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,15,16,.94) 0%,rgba(14,15,16,.75) 50%,rgba(14,15,16,.35) 100%);z-index:-1}
.hero h1 span{color:var(--cer)}
.nadt{font:700 13px var(--f-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--cer);margin:0 0 14px;display:flex;align-items:center;gap:12px}
.nadt::before{content:"";width:34px;height:3px;background:currentColor;flex:none}
.perex{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:640px;color:inherit;opacity:.92}
.hero-tl{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 56px}
.cisla{list-style:none;padding:26px 0 0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid rgba(255,255,255,.2)}
.cisla b{display:block;font:700 clamp(2rem,4vw,3.2rem)/1 var(--f-mono);color:#fff}
.cisla span{font-size:14px;color:var(--beton)}

.phero{background:var(--grafit);color:#fff;padding:56px 0 48px;position:relative;isolation:isolate;border-bottom:6px solid var(--drevo)}
.phero.s-fotkou{background-color:var(--grafit);background-position:center 30%;background-size:cover;background-repeat:no-repeat;padding:90px 0 60px}
.phero.s-fotkou::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,15,16,.92),rgba(14,15,16,.55));z-index:-1}
.phero h1{font-size:clamp(2rem,5vw,3.6rem);max-width:950px}
.drob{font:500 13px var(--f-mono);color:var(--ocel-sv);margin-bottom:22px}
.drob a{color:var(--beton);text-decoration:none}
.drob a:hover{color:#fff}

/* sekce */
.sekce{padding:clamp(56px,8vw,100px) 0}
.tmava{background:var(--grafit2);color:#ece9e3}
.tmava .uvod,.tmava p{color:#c9c6c0}
.piskova{background:var(--pisek)}
.velky{font-size:clamp(1.9rem,4.2vw,3.2rem);font-weight:900;text-transform:uppercase;margin-bottom:.6em}
.uvod{max-width:720px;color:var(--text2);font-size:1.1rem;margin-bottom:34px}
.nad-rad{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.stred{text-align:center;margin-top:30px}

/* segmenty */
.segmenty{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.seg{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r);background:var(--grafit)}
.seg img{width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .3s;opacity:.85}
.seg:hover img{transform:scale(1.05);opacity:.6}
.seg span{position:absolute;left:0;bottom:0;right:0;padding:18px 20px;color:#fff;font:900 1.5rem var(--f-nad);text-transform:uppercase;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.seg span::after{content:" →";color:var(--cer)}

/* postup */
.postup{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:k}
.postup li{position:relative;border-top:3px solid var(--cer);padding-top:16px}
.postup figure{margin:0 0 16px;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r)}
.postup figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.cislo{font:700 2.6rem/1 var(--f-mono);color:var(--drevo);display:block;margin-bottom:8px}
.postup h3{color:#fff}
.postup p{font-size:15px}

/* masonry realizací */
.masonry{columns:3 300px;column-gap:16px}
.kr{display:block;break-inside:avoid;margin:0 0 16px;position:relative;overflow:hidden;border-radius:var(--r);background:var(--grafit);text-decoration:none}
.kr img{width:100%;transition:transform .5s}
.kr:hover img{transform:scale(1.04)}
.kr-t{position:absolute;inset:auto 0 0 0;padding:40px 18px 16px;background:linear-gradient(transparent,rgba(10,10,10,.88));color:#fff}
.kr-t small{display:block;font:700 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#ff6b77}
.kr-t b{font-size:1.1rem;line-height:1.25}
.bez-foto{aspect-ratio:4/3;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#2a2d30 0 12px,#232629 12px 24px);color:#5b646b;font:900 2rem var(--f-nad)}
.filtr{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.f{font:600 14px var(--f-nad);padding:9px 16px;border:2px solid var(--grafit);background:transparent;border-radius:40px;cursor:pointer;color:var(--grafit)}
.f.akt,.f:hover{background:var(--grafit);color:#fff}

/* odznaky */
.odznaky{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.odznak{background:#fff;border:1px solid var(--beton);border-left:6px solid var(--drevo);padding:22px;border-radius:var(--r)}
.odznak b{display:block;font:700 1.6rem/1.1 var(--f-mono);color:var(--grafit)}
.odznak span{font:600 13px var(--f-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--cer)}
.odznak small{display:block;margin-top:8px;color:var(--text2);font-size:14px;line-height:1.45}

/* kariéra pruh, dvojsloupce */
.kariera-pruh{background:var(--grafit) linear-gradient(135deg,#1b1d1f,#2b2420);color:#fff}
.kariera-pruh p{color:#d6d1c8}
.kp{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.kp figure{margin:0;border-radius:var(--r);overflow:hidden}
.pozice{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-wrap:wrap;gap:8px}
.pozice li{border:1px solid rgba(255,255,255,.3);padding:6px 12px;border-radius:40px;font-size:14px}

/* aktuality */
.akt-mriz{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.akt{display:flex;flex-direction:column;text-decoration:none;background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--beton);transition:transform .2s}
.akt:hover{transform:translateY(-3px)}
.akt img,.akt .bez-foto{aspect-ratio:16/10;width:100%;object-fit:cover}
.akt b{padding:16px 18px 6px;font-size:1.08rem;line-height:1.3}
.akt small{padding:0 18px 18px;color:var(--text2);font-size:14px;line-height:1.5}

/* CTA */
.cta{background:var(--cer);color:#fff;padding:52px 0}
.cta-in{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.cta h2{font-size:clamp(1.5rem,3vw,2.3rem);font-weight:900;max-width:720px}
.cta p{margin:0;opacity:.92;max-width:640px}
.cta-tl{display:flex;gap:12px;flex-wrap:wrap}
.cta .tl-cer{background:var(--grafit)}
.cta .tl-cer:hover{background:#000}

/* služby */
.sluzby{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sl{text-decoration:none;background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--beton);display:flex;flex-direction:column}
.sl img{aspect-ratio:3/2;object-fit:cover;width:100%}
.sl-t{padding:18px 20px 22px;border-top:4px solid var(--cer)}
.sl-t b{display:block;font-size:1.2rem;margin-bottom:4px}
.sl-t small{color:var(--text2);font-size:15px}
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.tri h3{color:#fff;border-left:4px solid var(--cer);padding-left:12px}
.dilny{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.dilny img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);margin-bottom:14px}

/* článek */
.clanek-mriz{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
.clanek{max-width:760px}
.clanek.uzky{margin:0 auto}
.clanek h2{font-size:1.6rem;margin-top:1.4em}
.clanek h3{margin-top:1.2em}
.clanek p,.clanek li{color:#2e3236}
.odr{padding-left:0;list-style:none;margin:0 0 1.2em}
.odr li{padding-left:22px;position:relative;margin-bottom:6px}
.odr li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:3px;background:var(--cer)}
.bok{position:sticky;top:100px;background:#fff;border:1px solid var(--beton);border-top:5px solid var(--grafit);padding:22px;border-radius:var(--r)}
.bok-nav{display:flex;flex-direction:column}
.bok-nav a{padding:9px 0;border-bottom:1px solid var(--pisek);text-decoration:none;font-weight:600}
.bok-nav a:hover{color:var(--cer)}
.fakta{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 20px;font-size:15px}
.fakta dt{color:var(--text2)}
.fakta dd{margin:0;font-weight:600}
.citat blockquote{margin:0 0 12px;font:600 1.15rem/1.45 var(--f-nad);color:var(--grafit);border-left:4px solid var(--cer);padding-left:14px}
.galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:36px 0 0}
.galerie a{display:block;overflow:hidden;border-radius:var(--r);aspect-ratio:4/3;background:var(--grafit)}
.galerie img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.galerie a:hover img{transform:scale(1.05)}
.upoz{background:#fff6d6;border-left:5px solid #e0b400;padding:12px 16px;font-size:15px}

/* o nás */
.casova{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.casova li{border-top:3px solid var(--drevo);padding-top:14px}
.casova b{font:700 2rem var(--f-mono);color:#fff}
.tym{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:22px}
.clen{background:#fff;border:1px solid var(--beton);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.clen img,.clen .bez-foto{aspect-ratio:1;object-fit:cover;width:100%;filter:grayscale(.2)}
.clen b{padding:14px 16px 0}
.clen small{padding:0 16px;color:var(--text2)}
.clen a{padding:4px 16px 16px;font-size:13px;color:var(--cer);word-break:break-all}

/* kariéra */
.pozice-seznam{display:flex;flex-direction:column;gap:12px}
.pozice-det{background:#fff;border:1px solid var(--beton);border-left:6px solid var(--cer);border-radius:var(--r)}
.pozice-det summary{cursor:pointer;padding:20px 24px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;list-style:none}
.pozice-det summary::-webkit-details-marker{display:none}
.pozice-det summary b{font-size:1.25rem}
.pozice-det summary span{font:500 13px var(--f-mono);color:var(--text2);align-self:center}
.pozice-det summary::after{content:"+";font:700 1.6rem/1 var(--f-mono);color:var(--cer)}
.pozice-det[open] summary::after{content:"–"}
.pozice-det .clanek{padding:0 24px 20px;max-width:none}
.pozn{margin-top:20px;color:var(--text2)}

/* pronájem, kontakt */
.lokality{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.lok img{border-radius:var(--r);aspect-ratio:16/10;object-fit:cover;margin-bottom:16px}
.vyhody{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.vyhody li{background:var(--grafit);color:#fff;padding:10px 16px;border-radius:var(--r);font-weight:600}
.kontakt{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
.kontakt-info{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.kb{border-top:4px solid var(--cer);padding-top:12px}
.kb h2{font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em}
.kb a{color:var(--cer);font-weight:600}
.formular{background:#fff;border:1px solid var(--beton);border-top:6px solid var(--grafit);padding:28px;border-radius:var(--r);display:flex;flex-direction:column;gap:14px}
.formular h2{margin:0}
.formular label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.formular input,.formular select,.formular textarea{font:16px var(--f-nad);padding:12px;border:1.5px solid var(--ocel-sv);border-radius:var(--r);background:var(--pisek2);width:100%}
.formular input:focus,.formular select:focus,.formular textarea:focus{outline:3px solid rgba(220,11,28,.25);border-color:var(--cer)}
.dva{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mala{font-size:13px;color:var(--text2)}

/* patička */
.paticka{background:var(--grafit);color:#c9c6c0;padding:60px 0 0;font-size:15px}
.pat{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
.paticka h3{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.12em}
.paticka a{color:#e8e6e1;text-decoration:none}
.paticka a:hover{color:#fff;text-decoration:underline}
.paticka img{margin-bottom:16px}
.paticka .mala{color:#8d949a}
.site{display:flex;gap:10px;margin-bottom:10px}
.sit{width:40px;height:40px;border-radius:50%;background:var(--grafit2);display:grid;place-items:center;border:1px solid #3a3e42}
.sit svg{width:20px;height:20px;fill:#e8e6e1}
.sit:hover{background:var(--cer)}
.cert{display:flex;gap:8px;flex-wrap:wrap}
.cert span{border:1px solid #4a4f54;padding:4px 10px;font:600 12px var(--f-mono);border-radius:3px}
.copy{border-top:1px solid #33373b;margin-top:40px;padding-top:18px;padding-bottom:22px;font:500 13px var(--f-mono);color:#8d949a}

/* responzivita */
@media (max-width:1080px){
  .menu{gap:16px}.jazyk{display:none}
  .postup,.odznaky{grid-template-columns:repeat(2,1fr)}
  .pat{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .m-tl{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:10px}
  .m-tl span{width:26px;height:3px;background:#fff;border-radius:2px}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--grafit);flex-direction:column;align-items:stretch;padding:10px 20px 20px;gap:0;border-bottom:3px solid var(--cer)}
  .menu a{padding:13px 0;border-bottom:1px solid #2e3236}
  .menu a.tl{margin-top:12px;text-align:center}
  .m-prep:checked~.menu{display:flex}
  .hlavicka .hl{position:relative}
  .segmenty,.sluzby,.akt-mriz,.tri,.dilny,.casova{grid-template-columns:1fr 1fr}
  .kp,.clanek-mriz,.kontakt,.lokality{grid-template-columns:1fr}
  .bok{position:static}
  .cisla{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  body{font-size:16px}
  .obal{padding:0 16px}
  .logo img{width:150px}
  .segmenty,.sluzby,.akt-mriz,.tri,.dilny,.casova,.postup,.odznaky,.kontakt-info,.dva,.pat{grid-template-columns:1fr}
  .masonry{columns:1}
  .hero-tl .tl{width:100%;text-align:center}
  .seg span{font-size:1.2rem}
  .phero{padding:40px 0 34px}.phero.s-fotkou{padding:60px 0 40px}
}
