@font-face{font-family:'Archivo';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/archivo-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:'Archivo';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/archivo-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:'IBM Plex Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/ibm-plex-sans-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:'IBM Plex Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/ibm-plex-sans-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:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-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:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-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}
/* ==========================================================================
   lis-laser.cz – styly
   Barvy a pismo jsou stejne jako na mikroudery.cz, odsavej.cz a
   ekonomickelasery.cz (packages/ui/src/styles/tokens.css), aby vsechny
   weby pusobily jako jedna firma.
   ========================================================================== */
:root{
  --ink-50:#f6f7fa;--ink-100:#edeff4;--ink-200:#dfe3ec;--ink-300:#c4cad9;--ink-400:#969eb4;
  --ink-500:#69718a;--ink-600:#4a5169;--ink-700:#24396b;--ink-800:#16264a;--ink-900:#0b1730;--ink-950:#060e20;
  --accent:#be185d;--accent-hover:#9d174d;--accent-soft:#fce7f3;--accent-bright:#f472b6;
  --ok:#15803d;--err:#b42318;

  /* Pismo: Archivo na nadpisy a tlacitka (groteska, pevna, uzsi),
     IBM Plex Sans na text (humanisticka, cte se v delsich odstavcich lip),
     IBM Plex Mono VYHRADNE na namerene hodnoty, kody a protokoly.
     Mono se nepouziva na popisky sekci: z toho vznika ten dojem sablony. */
  --display:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;

  --wrap:1320px;--gutter:clamp(16px,4vw,40px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);

  /* Hairline: jedina cara, kterou web pouziva k deleni obsahu */
  --cara:1px solid var(--ink-200);
  --cara-tma:1px solid rgba(255,255,255,.13);

  /* Vrstveni podle vyznamu, ne nahodna cisla */
  --z-sticky:50;--z-actbar:90;--z-menu:99;--z-header:100;--z-dialog:300;--z-skip:400;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--ink-900);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
/* Bez prodlevy 300 ms pri klepnuti na dotykovych displejich */
a,button,input,label,summary{touch-action:manipulation}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
ul,ol{list-style:none}
::selection{background:var(--accent-soft);color:var(--ink-950)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.dark :focus-visible,.hero :focus-visible,.header :focus-visible,.footer :focus-visible{outline-color:var(--accent-bright)}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:fixed;top:-60px;left:12px;z-index:999;background:#fff;border:2px solid var(--accent);padding:10px 16px;font-weight:600}
.skip:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

h1,h2,h3,h4{font-family:var(--display);color:var(--ink-950);letter-spacing:-.02em;line-height:1.1;font-weight:700;text-wrap:balance}
h1{font-size:clamp(2.3rem,4.6vw,4.1rem);letter-spacing:-.032em;line-height:1.03}
h2{font-size:clamp(1.9rem,3.4vw,2.9rem);letter-spacing:-.028em;line-height:1.06}
h3{font-size:1.22rem;line-height:1.28;font-weight:600;letter-spacing:-.015em}
p{color:var(--ink-600);font-size:1.0625rem;line-height:1.7;text-wrap:pretty}

/* Popisek nad nadpisem. Drive to byl mono verzalkami s prostrkanim a
   pomlckou - presne ten "kicker", ktery ma dnes kazdy generovany web.
   Ted je to tiche metadata: normalni pismo, normalni velikost pismen. */
.label{display:block;font-family:var(--sans);font-size:.9rem;font-weight:500;letter-spacing:0;
  text-transform:none;color:var(--ink-600);margin-bottom:14px}
.on-dark .label,.label.lt,.dark .label{color:var(--ink-400)}
/* Kategorie (studie, clanky) - jedine misto, kde popisek nese barvu */
.label.kat{color:var(--accent);font-weight:600}
.on-dark .label.kat,.dark .label.kat{color:var(--accent-bright)}

.lead{font-size:clamp(1.1rem,1.35vw,1.28rem);line-height:1.6;letter-spacing:-.005em}
/* Namerena hodnota, kod, oznaceni dilu */
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;
  font-family:var(--display);font-weight:600;font-size:.97rem;letter-spacing:-.01em;
  border:1px solid transparent;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease);white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none;transition:transform .18s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-hover)}
.btn-primary[disabled]{opacity:.7;cursor:progress}
.btn-ghost{border-color:var(--ink-300);color:var(--ink-900);background:#fff}
.btn-ghost:hover{border-color:var(--ink-950);background:var(--ink-50)}
.btn-ghost-lt{border-color:rgba(255,255,255,.34);color:#fff}
.btn-ghost-lt:hover{border-color:#fff;background:rgba(255,255,255,.07)}
.btn-light{background:#fff;color:var(--ink-950)}
.btn-light:hover{background:var(--accent-soft)}
.link{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:600;font-size:.92rem;color:var(--ink-950);border-bottom:1.5px solid var(--accent);padding-bottom:3px}
.link svg{width:15px;height:15px;color:var(--accent);transition:transform .2s;flex:none}
.link:hover svg{transform:translate(2px,-2px)}
.on-dark .link{color:#fff;border-color:var(--accent-bright)}
.on-dark .link svg{color:var(--accent-bright)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}

/* ---------- Horni lista + hlavicka ---------- */
.topbar{background:#030814;color:var(--ink-400);font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.06)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:20px}
.topbar a{color:var(--ink-200);padding:7px 0}
.topbar a:hover{color:#fff}
.topbar .l{display:flex;gap:22px;align-items:center}
.topbar .hodiny{display:inline-flex;align-items:center;gap:7px}
.topbar .hodiny i{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.topbar .r{display:flex;gap:18px}

.header{position:sticky;top:0;z-index:100;background:rgba(6,14,32,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);color:#fff;transition:background .25s}
.header.scrolled{background:rgba(6,14,32,.98)}
.header .wrap{display:flex;align-items:center;gap:28px;height:76px}
/* Logo je schvaleny master z LIS Brand Manualu v1.0 (SVG, krivky, bez pisma).
   Pravidla, ktera tu drzime: v hlavicce kompaktni "LIS" o sirce nejmene 160 px,
   uplna sestava s podpisem LASER nejmene 240 px; rez je pruhledna dira, takze
   na tmave plose bere barvu podkladu; k logu se nic nepridava (zadny stin,
   obrys ani ruzova). Ochranna zona je 1/5 vysky pismen LIS, u hlavicky ~10 px,
   proto mezera k dalsimu textu 20 px. Logo se nikdy neroztahuje jen do jednoho
   rozmeru - vzdy se meni jen width, height zustava auto. */
.brand{display:flex;align-items:center;gap:20px;flex:none}
.brand-logo{display:block;width:160px;height:auto;flex:none}
.footer .brand-logo{width:240px}
.brand-name{font-size:.75rem;font-weight:500;letter-spacing:0;line-height:1.35;color:var(--ink-400)}
.nav{display:flex;align-items:center;margin-left:auto;height:100%}
.nav > a,.nav .dd > button{display:flex;align-items:center;gap:5px;height:100%;padding:0 12px;font-family:var(--display);font-size:.94rem;font-weight:500;color:var(--ink-200);position:relative;transition:color .2s}
.nav > a::after,.nav .dd > button::after{content:"";position:absolute;left:12px;right:12px;bottom:20px;height:2px;background:var(--accent-bright);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nav > a:hover,.nav > a[aria-current],.nav .dd:hover > button,.nav .dd.open > button{color:#fff}
.nav > a:hover::after,.nav > a[aria-current]::after,.nav .dd:hover > button::after,.nav .dd:focus-within > button::after{transform:scaleX(1)}
.nav .dd{height:100%}
.nav .dd svg{width:14px;height:14px;transition:transform .2s}
.nav .dd:hover svg,.nav .dd.open svg{transform:rotate(180deg)}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;color:var(--ink-900);box-shadow:0 40px 80px rgba(3,8,20,.35);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility 0s .2s}
.dd:hover .mega,.dd:focus-within .mega,.dd.open .mega{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}
.mega .wrap{display:grid;grid-template-columns:1fr 1fr 1fr 300px;gap:0;height:auto;padding-block:0}
.mega-col{padding:30px 28px;border-right:1px solid var(--ink-100)}
.mega-col .nadpis{display:block;font-size:.86rem;font-weight:600;color:var(--ink-500);margin-bottom:14px;padding-bottom:12px;border-bottom:var(--cara)}
.mega-col a{display:block;padding:10px 12px;margin:0 -12px;transition:background .15s}
.mega-col a:hover{background:var(--ink-50)}
.mega-col strong{display:flex;align-items:center;gap:8px;font-size:.93rem;color:var(--ink-950)}
.mega-col small{display:block;margin-top:2px;font-size:.8rem;line-height:1.45;color:var(--ink-500)}
.mega-cta{background:var(--ink-950);color:#fff;padding:30px 28px;display:flex;flex-direction:column;gap:14px}
.mega-cta img{width:100%;height:120px;object-fit:contain}
.mega-cta b{font-size:1.05rem}
.mega-cta p{color:var(--ink-300);font-size:.85rem}
.ext{font-size:.78rem;font-weight:600;color:var(--ink-500);white-space:nowrap}
.mobile .ext,.on-dark .ext{color:var(--ink-300)}
.header .cta{margin-left:10px;min-height:44px;padding:0 18px;font-size:.88rem}
.burger{display:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.2);place-items:center;margin-left:auto;color:#fff}
.burger svg{width:22px;height:22px}
.mobile{display:none}

/* ---------- Hero (uvod) ---------- */
/* Uvod je osvetlena tmava scena, ne rastr pres celou plochu.
   Dve mekka svetla: studene nad znackou, teple za strojem. */
.hero{position:relative;background:var(--ink-950);color:#fff;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(620px 440px at 72% 52%,rgba(190,24,93,.26),transparent 68%),
  radial-gradient(700px 420px at 0% -20%,rgba(36,57,107,.42),transparent 70%)}
.hero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center;min-height:min(760px,calc(100svh - 114px));padding-block:64px 72px}
.hero h1{color:#fff;margin-top:20px}
/* Podtrzeni jako stopa laseru. Funguje i pres zlom radku. */
.hero h1 em{font-style:normal;color:#fff;text-decoration:underline;text-decoration-color:var(--accent-bright);
  text-decoration-thickness:.055em;text-underline-offset:.13em;text-decoration-skip-ink:none}
.hero .lead{margin-top:22px;max-width:560px;color:var(--ink-300)}
.ticks{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:30px}
.ticks li{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--ink-200)}
.ticks svg{width:18px;height:18px;color:var(--accent-bright);flex:none}
.stage{position:relative;aspect-ratio:1/1;max-width:600px;justify-self:end;width:100%}
/* Svetelna stopa pod strojem misto dekorativnich kruhu */
.stage::after{content:"";position:absolute;left:12%;right:8%;bottom:7%;height:1px;background:
  linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent)}
.stage .machine{position:absolute;inset:6% 4% 4% 10%;width:86%;height:90%;object-fit:contain;filter:drop-shadow(0 40px 50px rgba(0,0,0,.55))}
.inspect{position:absolute;left:-4%;bottom:6%;width:min(250px,46%);background:#fff;color:var(--ink-900);
  box-shadow:0 24px 48px rgba(0,0,0,.5);outline:1px solid rgba(255,255,255,.14);outline-offset:-1px}
.inspect-img{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--ink-200)}
/* Vsechny ukazky v galerii jsou skladane stejne: fotka dilu a k ni
   nakreslena lupa se sipkou a popiskem. Do karty jde proto JEN samotny
   DataMatrix zevnitr te lupy - x 653-843, y 149-339 ze snimku 1000x1333.
   Je to nejvetsi ctverec, ve kterem po pixelech neni ani kus prstence,
   bileho lemu ani popisku (ten zacina na y 354). Kod ma bbox x 667-806,
   y 178-310; vic doleva vyrez jit nemuze, tam uz zacina prstenec.
   Procenta drzi vyrez i kdyz se karta zmensi (ramecek je ctvercovy,
   takze % sirky = % vysky). Zvetsuje se velka varianta snimku. */
.inspect-img img{position:absolute;width:526.32%;height:auto;max-width:none;left:-343.68%;top:-78.42%}
/* Ctecka projizdi kodem */
.inspect-img .scan{position:absolute;left:0;right:0;height:1px;background:var(--accent-bright);
  box-shadow:0 0 12px 2px rgba(244,114,182,.55);animation:scan 3.4s var(--ease) infinite}
@keyframes scan{0%{top:8%}50%{top:90%}100%{top:8%}}
/* Odecet z kontroly: co se delo + vysledek na prvnim radku, precteny kod pod tim */
.inspect-foot{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;padding:11px 13px;border-top:var(--cara)}
.inspect-foot small{font-size:.78rem;line-height:1.35;color:var(--ink-500)}
/* Precteny kod je hodnota, proto mono s pevnou sirkou cislic */
.inspect-foot b{grid-column:1/-1;font-family:var(--mono);font-size:.76rem;font-weight:500;letter-spacing:-.03em;color:var(--ink-950);font-variant-numeric:tabular-nums}
.inspect-foot .okb{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;color:var(--ok);background:#dcfce7;padding:3px 7px;flex:none;align-self:start}
.chip-tag{position:absolute;top:10%;right:0;background:var(--ink-900);border:var(--cara-tma);padding:12px 16px}
.chip-tag small{display:block;font-family:var(--mono);font-size:.75rem;color:var(--accent-bright)}
.chip-tag b{font-family:var(--display);font-size:.88rem}

/* Uvodka jako rozcestnik oboru (svetla): nadpis, jedna vyzva a pet karet s fotkou znaceni */
.hb{background:linear-gradient(180deg,var(--ink-50),#fff);padding:clamp(40px,5vw,68px) 0 clamp(36px,4vw,56px)}
.hb .lab{display:block;font-size:.9rem;font-weight:500;color:var(--ink-600);margin-bottom:14px}
.hb h1{font-size:clamp(2.3rem,4.2vw,3.8rem);letter-spacing:-.032em;line-height:1.04;color:var(--ink-950)}
.hb h1 em{font-style:normal;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:.055em;text-underline-offset:.13em;text-decoration-skip-ink:none}
.hb .hlava{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,5vw,72px);align-items:end}
.hb .lead{margin-top:0;max-width:54ch}
.hb .akce{margin-top:22px}
.hb .karty5{margin-top:38px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.hb .karty5 a{display:flex;flex-direction:column;border-top:2px solid var(--ink-950);padding-top:14px;color:inherit}
.hb .karty5 .f{aspect-ratio:3/4;overflow:hidden;background:var(--ink-100)}
.hb .karty5 .f img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.hb .karty5 a:hover .f img{transform:scale(1.04)}
.hb .karty5 h3{margin-top:14px;font-size:1.1rem}
.hb .karty5 p{margin-top:4px;font-size:.88rem;line-height:1.45;color:var(--ink-600)}
.hb .karty5 .sip{margin-top:10px;display:inline-flex;gap:6px;align-items:center;min-height:24px;font-family:var(--display);font-weight:600;font-size:.9rem;color:var(--ink-950)}
.hb .karty5 .sip svg{width:15px;height:15px;color:var(--accent)}
.hb .karty5 a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media (max-width:980px){
  .hb .hlava{grid-template-columns:1fr}
  .hb .karty5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hb .karty5 a:last-child{grid-column:1/-1;max-width:calc(50% - 8px)}
}
@media (prefers-reduced-motion:reduce){.hb .karty5 a:hover .f img{transform:none}}
/* ---------- Hero podstranky ---------- */
.phero{position:relative;background:var(--ink-950);color:#fff;overflow:hidden;isolation:isolate}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(680px 420px at 88% 24%,rgba(190,24,93,.18),transparent 62%),
  radial-gradient(820px 520px at 4% 0%,rgba(36,57,107,.5),transparent 60%)}
/* Podstranka konci vlasovou carou v akcentu, ne dalsim prechodem */
.phero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent)}
.phero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding-block:40px 64px}
.phero.bez-obrazku .wrap{grid-template-columns:1fr}
.phero h1{color:#fff;margin-top:18px;font-size:clamp(2.2rem,4.2vw,3.7rem)}
.phero .lead{color:var(--ink-300);margin-top:20px;max-width:640px}
.phero-img{justify-self:end;max-width:520px;width:100%}
.phero-img img{width:100%;max-height:380px;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5))}
.drobky{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;color:var(--ink-400);margin-bottom:28px}
.drobky a{color:var(--ink-300)}
.drobky a:hover{color:#fff}
.drobky li+li::before{content:"/";margin-right:8px;color:var(--ink-500)}

/* ---------- Loga ---------- */
/* ---------- Pas log (zakaznici a reference) ---------- */
.proofbar{border-bottom:var(--cara);padding-block:clamp(30px,4vw,46px)}
.proofbar p{font-size:.95rem;line-height:1.5;color:var(--ink-600);max-width:68ch}
.proofbar p b{font-family:var(--display);color:var(--ink-950)}
.proofbar .pas-popis{margin-top:clamp(30px,4vw,48px)}

/* Stopa jede v nekonecne smycce. Bez JS zustane jako obycejna zalamovana
   rada, takze obsah je videt vzdy. Okraje se vytraci, aby loga
   nekoncila useknuta o hranu. */
.pas{overflow:hidden;margin-top:clamp(18px,2vw,26px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.pas-stopa{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:clamp(26px,3vw,38px) clamp(30px,4vw,56px);padding-inline:var(--gutter)}
.js .pas-stopa.jede{flex-wrap:nowrap;justify-content:flex-start;width:max-content;
  animation:pas var(--doba,60s) linear infinite}
.js .pas[data-smer=vpravo] .pas-stopa.jede{animation-direction:reverse}
@keyframes pas{to{transform:translateX(calc(-1 * var(--posun,0px)))}}
/* Aby si clovek mohl logo v klidu prohlednout */
.pas:hover .pas-stopa.jede,.pas:focus-within .pas-stopa.jede{animation-play-state:paused}
.pas li{display:grid;place-items:center;flex:none}
/* Vysku je u SVG nutne zadat, jinak nema vlastni rozmer a nezobrazi se. */
/* Svetle firemni barvy (thyssenkrupp, Outokumpu) po odbarveni skoro zmizi,
   proto se drzi vyssi krytí nez bezne u pruhu log. */
.pas img{width:auto;height:28px;filter:grayscale(1);opacity:.74;transition:filter .25s var(--ease),opacity .25s var(--ease)}
.pas li:hover img{filter:none;opacity:1}

/* Opticke dolazeni. Kazda znacka ma jinou kresbu, stejna vyska v pixelech
   proto neznamena stejnou vahu na strance. Cisla jsou od oka z nahledu. */
.pas img[src*="mann-hummel"]{height:38px}
.pas img[src*="logo-tatra"]{height:38px}
.pas img[src*="thyssenkrupp"]{height:36px}
.pas img[src*="intralox"]{height:34px}
.pas img[src*="logo-kaski"]{height:32px}
.pas img[src*="logo-gerber"]{height:32px}
.pas img[src*="hoeko"]{height:32px}
.pas img[src*="logo-kes"]{height:31px}
.pas img[src*="danfoss"]{height:30px}
.pas img[src*="kovo-koukola"]{height:30px}
.pas img[src*="logo-wavin"]{height:30px}
.pas img[src*="logo-fiskars"]{height:30px}
.pas img[src*="logo-vamak"]{height:32px}
.pas img[src*="azp-brno"]{height:29px}
.pas img[src*="logo-nutrend"]{height:28px}
.pas img[src*="tata-steel"]{height:28px}
.pas img[src*="outokumpu"]{height:28px}
.pas img[src*="logo-ponsse"]{height:26px}
.pas img[src*="logo-romotop"]{height:27px}
.pas img[src*="woikoski"]{height:27px}
.pas img[src*="logo-kemppi"]{height:27px}
.pas img[src*="logo-bekaert"]{height:26px}
.pas img[src*="motherson"]{height:26px}
.pas img[src*="logo-itw"]{height:26px}
.pas img[src*="derutex"]{height:25px}
.pas img[src*="logo-ovako"]{height:23px}
.pas img[src*="sartorius"]{height:22px}
.pas img[src*="haselmeier"]{height:22px}
.pas img[src*="prysmian"]{height:22px}
.pas img[src*="logo-ice"]{height:19px}
.pas img[src*="mectalent"]{height:18px}
.pas img[src*="tactotek"]{height:15px}

/* ---------- Sekce ---------- */
.section{padding:clamp(72px,9vw,124px) 0}
.section.tight{padding:clamp(56px,6vw,88px) 0}
.soft{background:var(--ink-50)}
.dark{background:var(--ink-950);color:#fff}
.dark h2,.dark h3{color:#fff}
.dark p{color:var(--ink-300)}
.intro{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(28px,7vw,110px);align-items:end;margin-bottom:clamp(38px,5vw,60px)}
.intro h2{margin-top:0}
.intro p{font-size:1.1rem;max-width:620px}
/* Bily rez cary na tmavych sekcich */
.dark .karta,.dark .why li,.dark .know article,.on-dark .karta,.on-dark .why li{border-top-color:#fff}
.dark .karta ul,.on-dark .karta ul{border-top:var(--cara-tma)}
.dark .karta li,.on-dark .karta li{color:var(--ink-300)}
.dark .why .big,.on-dark .why .big{color:#fff}
.dark .why .big + small,.on-dark .why .big + small,.dark .kit small{color:var(--ink-400)}

/* ---------- Pruvodce ---------- */
.wizard{display:grid;grid-template-columns:1.25fr .75fr;border:1px solid var(--ink-200);background:#fff}
.wz-q{padding:clamp(24px,3.5vw,44px);border-right:1px solid var(--ink-200)}
.wz-q fieldset{border:0}
.wz-q fieldset + fieldset{margin-top:30px}
.wz-q legend{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--ink-950);margin-bottom:14px}
.wz-q legend{font-family:var(--display);font-size:1.05rem}
.wz-q legend span{font-family:var(--mono);font-size:.74rem;color:#fff;background:var(--ink-950);width:24px;height:24px;display:grid;place-items:center;flex:none}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{position:relative;cursor:pointer}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--ink-300);font-size:.9rem;font-weight:500;transition:.15s;background:#fff;color:var(--ink-900)}
.opts label:hover span{border-color:var(--ink-900)}
.opts input:checked + span{background:var(--ink-950);border-color:var(--ink-950);color:#fff}
.opts input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.wz-r{background:var(--ink-950);color:#fff;padding:clamp(24px,3.5vw,40px);display:flex;flex-direction:column;position:relative;overflow:hidden}
.wz-r::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 260px at 100% 0,rgba(190,24,93,.3),transparent 70%);pointer-events:none}
.wz-r > *{position:relative}
.wz-r small{font-size:.88rem;color:var(--ink-400);font-weight:500}
.wz-r h3{color:#fff;font-size:1.5rem;margin-top:10px;line-height:1.2}
.wz-r p{color:var(--ink-300);font-size:.92rem;margin-top:12px}
.wz-r .meta{margin-top:18px;display:grid;gap:8px}
.wz-r .meta div{display:flex;justify-content:space-between;gap:12px;font-size:.85rem;border-top:1px solid rgba(255,255,255,.12);padding-top:8px}
.wz-r .meta span{color:var(--ink-400)}
.wz-r .meta b{text-align:right}
.wz-r .btn{margin-top:auto;width:100%}
.wz-r .spacer{flex:1;min-height:24px}
.wz-r .empty{color:var(--ink-400);font-size:.95rem}
.wz-note{margin-top:14px;font-size:.82rem;color:var(--ink-500)}

/* ---------- Konfigurator ---------- */
/* Stejny princip jako pruvodce na uvodu, jen delsi. Vsech pet otazek je
   videt naraz, takze se da kterakoli odpoved zmenit bez proklikavani zpet
   - proto zadny stepper, zadny ukazatel postupu a zadne tlacitko Dalsi.
   Vysledek vpravo se drzi na obrazovce a prepise se pri kazde zmene. */
.kfg{display:grid;grid-template-columns:1.34fr .66fr;border:1px solid var(--ink-200);background:#fff}
.kfg-q{padding:clamp(24px,3.5vw,44px);border-right:1px solid var(--ink-200);min-width:0}
.kfg-q fieldset{border:0}
.kfg-q fieldset + fieldset{margin-top:clamp(26px,3vw,36px);padding-top:clamp(26px,3vw,36px);border-top:var(--cara)}
.kfg-q legend{display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:1.05rem;font-weight:600;color:var(--ink-950)}
.kfg-q legend span{font-family:var(--mono);font-size:.74rem;color:#fff;background:var(--ink-950);width:24px;height:24px;display:grid;place-items:center;flex:none}
.kfg-hint{font-size:.88rem;line-height:1.55;color:var(--ink-500);margin-top:10px;max-width:64ch}
.kfg-q .opts,.volby{margin-top:14px}

/* Prvni otazka nese seznam materialu, proto karta misto stitku.
   Vybrana karta ztmavne uplne stejne jako vybrany stitek - jedno pravidlo
   pro celou stranku, at se to nemusi ucit dvakrat. */
.volby{display:grid;grid-template-columns:repeat(auto-fit,minmax(208px,1fr));gap:12px}
.volba{position:relative;display:block;cursor:pointer}
.volba input{position:absolute;opacity:0;pointer-events:none}
.volba-in{height:100%;border:1px solid var(--ink-300);background:#fff;padding:18px 18px 20px;
  transition:background .15s var(--ease),border-color .15s var(--ease)}
.volba:hover .volba-in{border-color:var(--ink-900)}
.volba input:checked + .volba-in{background:var(--ink-950);border-color:var(--ink-950)}
.volba input:focus-visible + .volba-in{outline:2px solid var(--accent);outline-offset:2px}
.volba-in b{display:block;font-family:var(--display);font-size:1.02rem;font-weight:600;letter-spacing:-.015em;color:var(--ink-950)}
.volba-in > p{font-size:.88rem;line-height:1.5;margin-top:5px}
.volba-in ul{margin-top:14px;padding-top:12px;border-top:var(--cara);display:grid;gap:7px}
.volba-in li{position:relative;padding-left:15px;font-size:.85rem;line-height:1.45;color:var(--ink-600)}
.volba-in li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:2px;background:var(--accent)}
.volba input:checked + .volba-in b{color:#fff}
.volba input:checked + .volba-in > p,.volba input:checked + .volba-in li{color:var(--ink-300)}
.volba input:checked + .volba-in ul{border-top-color:rgba(255,255,255,.16)}
.volba input:checked + .volba-in li::before{background:var(--accent-bright)}

/* Stitek se dvema radky: nazev a pod nim rozmer nebo cena */
.opts.radky span{flex-direction:column;align-items:flex-start;justify-content:center;min-height:54px;padding-block:8px;line-height:1.3}
.opts.radky small{font-family:var(--mono);font-size:.73rem;font-weight:400;color:var(--ink-500);font-variant-numeric:tabular-nums;margin-top:3px}
.opts.radky input:checked + span small{color:var(--ink-300)}
.kfg-reset{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;margin-top:clamp(24px,3vw,32px);
  border:1px solid var(--ink-300);font-family:var(--display);font-size:.9rem;font-weight:600;color:var(--ink-700)}
.kfg-reset:hover{border-color:var(--ink-950);color:var(--ink-950);background:var(--ink-50)}

.kfg-r{background:var(--ink-950);color:#fff;position:relative;min-width:0}
.kfg-r::before{content:"";position:absolute;inset:0;background:radial-gradient(420px 280px at 100% 0,rgba(190,24,93,.3),transparent 70%);pointer-events:none}
/* Pri nizkem okne muze byt panel vyssi nez obrazovka. Prilepeny prvek uz
   se pak doscrollovat neda, takze by tlacitko zustalo pod hranou - proto
   vlastni posuv uvnitr panelu misto oriznuti. */
.kfg-in{position:sticky;top:96px;max-height:calc(100vh - 116px);overflow-y:auto;
  padding:clamp(24px,3vw,34px);display:flex;flex-direction:column;min-height:min(480px,calc(100vh - 116px));
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}
.kfg-in::-webkit-scrollbar{width:6px}
.kfg-in::-webkit-scrollbar-track{background:transparent}
.kfg-in::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3)}
.kfg-r p{color:var(--ink-300);font-size:.92rem;margin-top:10px}
.kfg-r h3{color:#fff;font-size:1.42rem;line-height:1.18;margin-top:16px}
.kfg-foto{margin-top:16px;background:rgba(255,255,255,.05);border:var(--cara-tma);display:grid;place-items:center;padding:12px;min-height:134px}
.kfg-foto img{max-height:118px;width:auto;object-fit:contain}
.kfg-meta{margin-top:18px;display:grid;border-top:var(--cara-tma)}
.kfg-meta div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.85rem;padding:9px 0;border-bottom:var(--cara-tma)}
.kfg-meta span{color:var(--ink-400)}
.kfg-meta b{text-align:right;font-weight:600}
.kfg-meta b.num{font-size:.82rem;font-weight:500}
.kfg-r p.kfg-spec{color:var(--ink-400);font-size:.85rem;line-height:1.55;margin-top:14px}
.kfg-r p.kfg-pozn{color:#fff;font-size:.85rem;line-height:1.55;margin-top:14px;background:rgba(190,24,93,.22);padding:11px 13px}
.kfg-r .link{margin-top:16px}
.kfg-spacer{flex:1;min-height:22px}
/* Tlacitko zustane videt i kdyz se obsah panelu posouva */
.kfg-in .btn{width:100%;margin-top:auto;position:sticky;bottom:0}

/* ---------- Galerie ---------- */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.filters button{min-height:40px;padding:0 16px;border:1px solid var(--ink-300);font-size:.88rem;font-weight:500;background:#fff}
.filters button[aria-pressed=true]{background:var(--ink-950);border-color:var(--ink-950);color:#fff}
.filters button{font-family:var(--display)}
.filters button small{font-family:var(--mono);font-size:.74rem;opacity:.7;margin-left:5px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery button{position:relative;display:block;width:100%;text-align:left;background:var(--ink-100);overflow:hidden;aspect-ratio:3/4}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gallery button:hover img{transform:scale(1.05)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px 14px 12px;background:linear-gradient(transparent,rgba(6,14,32,.55) 30%,rgba(6,14,32,.94) 62%);color:#fff}
.gallery figcaption b{display:block;font-family:var(--display);font-size:.92rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.gallery figcaption small{font-family:var(--mono);font-size:.75rem;color:var(--accent-bright)}
.gallery .hide{display:none}
.gallery-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px;font-size:.88rem;color:var(--ink-500)}
dialog.lb{border:0;padding:0;background:transparent;max-width:min(92vw,760px);max-height:92vh;margin:auto;overflow:visible}
dialog.lb::backdrop{background:rgba(3,8,20,.88)}
dialog.lb img{max-height:80vh;width:auto;margin:0 auto}
dialog.lb p{color:#fff;text-align:center;margin-top:12px;font-size:.92rem}
dialog.lb .zavrit{position:absolute;top:8px;right:8px;width:44px;height:44px;background:#fff;color:var(--ink-950);font-size:1.4rem;line-height:1}
dialog.lb .sipka{position:absolute;top:40%;width:44px;height:56px;background:rgba(255,255,255,.9);color:var(--ink-950);font-size:1.3rem}
dialog.lb .pred{left:-56px}
dialog.lb .dalsi{right:-56px}

/* ---------- Produktove zalozky (uvod) ---------- */
.ptabs{display:flex;gap:0;border-bottom:1px solid var(--ink-200);overflow-x:auto;scrollbar-width:none}
.ptabs::-webkit-scrollbar{display:none}
.ptabs button{padding:16px 22px;font-family:var(--display);font-weight:600;font-size:.97rem;color:var(--ink-500);white-space:nowrap;position:relative;text-align:left}
.ptabs button small{display:block;font-family:var(--sans);font-size:.8rem;color:var(--ink-500);font-weight:400;margin-top:2px}
.ptabs button[aria-selected=true]{color:var(--ink-950)}
.ptabs button[aria-selected=true]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--accent)}
.ppanel{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,70px);align-items:center;padding-top:44px}
.ppanel[hidden]{display:none}
.pimg{background:var(--ink-50);aspect-ratio:5/4;display:grid;place-items:center;padding:28px;position:relative}
.pimg img{max-height:100%;width:auto;object-fit:contain}
.pimg .badge{position:absolute;top:18px;left:18px;font-size:.78rem;font-weight:600;background:#fff;border:var(--cara);padding:5px 10px;color:var(--ink-700)}
.ppanel h3{font-size:clamp(1.6rem,2.6vw,2.2rem);letter-spacing:-.025em;line-height:1.08}
.for{display:block;font-size:.9rem;color:var(--ink-500);font-weight:500;margin-bottom:10px}
.ppanel p{margin-top:14px}
/* Parametry jsou tabulka udaju: popis normalne, hodnota mono s pevnou sirkou cislic */
.specs{display:grid;grid-template-columns:1fr 1fr;border-top:var(--cara);margin-top:24px}
.specs div{padding:14px 0;border-bottom:var(--cara)}
.specs div:nth-child(odd){padding-right:16px}
.specs dt{font-size:.85rem;color:var(--ink-500)}
.specs dd{font-family:var(--mono);font-weight:500;font-size:.93rem;color:var(--ink-950);margin-top:3px;font-variant-numeric:tabular-nums}

/* ---------- Produkty (podstranka) ---------- */
.subnav{position:sticky;top:76px;z-index:50;background:#fff;border-bottom:1px solid var(--ink-200)}
.subnav .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{padding:16px 14px;font-size:.88rem;font-weight:600;color:var(--ink-500);white-space:nowrap;border-bottom:2px solid transparent}
.subnav a:hover,.subnav a.on{color:var(--ink-950);border-color:var(--accent)}
.skupina + .skupina{border-top:1px solid var(--ink-200)}
.skupina-head{max-width:760px;margin-bottom:44px}
.skupina-head h2{margin-top:14px}
.skupina-head p{margin-top:16px;font-size:1.04rem}
.produkt{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:start;padding:44px 0;border-top:1px solid var(--ink-200);scroll-margin-top:150px}
.produkt:first-of-type{border-top:0;padding-top:0}
.produkt .pimg{position:sticky;top:150px}
.produkt h3{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.03em;line-height:1.12;margin-top:8px}
.produkt p{margin-top:14px}
.produkt .brozura{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:5px 0;font-size:.88rem;font-weight:600;color:var(--ink-800)}
.produkt .brozura svg{width:18px;height:18px;color:var(--accent)}
.produkt .brozura:hover{color:var(--accent)}
.kotva{display:block;position:relative;top:-150px;visibility:hidden}
/* Ne karty v ramecku, ale sloupce oddelene vlasovou carou.
   Stejny obsah, o jednu vrstvu min. */
.karty{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px)}
.karty.dve{grid-template-columns:1fr 1fr}
.karta{border-top:2px solid var(--ink-950);padding-top:22px}
.karta > img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:18px}
.karta .ikona{width:28px;height:28px;display:grid;place-items:center;color:var(--ink-400)}
.karta .ikona svg{width:26px;height:26px}
.karta h3{margin-top:14px}
.karta p{margin-top:10px;font-size:.97rem}
.karta ul{margin-top:14px;display:grid;gap:8px;border-top:var(--cara);padding-top:12px}
.karta li{position:relative;padding-left:16px;font-size:.93rem;color:var(--ink-600)}
.karta li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:2px;background:var(--accent)}
.karta .link{margin-top:16px}

/* ---------- Integrace (tok) ---------- */
.flow{display:grid;grid-template-columns:repeat(5,1fr);margin-top:56px;position:relative}
.flow::before{content:"";position:absolute;left:10%;right:10%;top:34px;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2) 10%,rgba(255,255,255,.2) 90%,transparent)}
.flow::after{content:"";position:absolute;top:31px;left:10%;width:8px;height:8px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 16px 4px rgba(244,114,182,.6);animation:pulse 4s linear infinite}
@keyframes pulse{0%{left:10%;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:90%;opacity:0}}
.flow li{text-align:center;padding:0 10px;position:relative}
.flow .ico{width:68px;height:68px;margin:0 auto;border:1px solid rgba(255,255,255,.18);background:var(--ink-900);display:grid;place-items:center;position:relative;z-index:1}
.flow .ico svg{width:26px;height:26px;color:var(--accent-bright)}
.flow b{display:block;margin-top:16px;font-family:var(--display);font-size:1.02rem;letter-spacing:-.01em}
.flow span{display:block;font-size:.88rem;color:var(--ink-400);margin-top:4px;line-height:1.45}
.protocols{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:48px}
/* Nazvy protokolu jsou skutecne oznaceni, proto mono */
.protocols span{font-family:var(--mono);font-size:.78rem;font-weight:500;border:var(--cara-tma);padding:7px 12px;color:var(--ink-200)}
.integ-foot{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:40px}

/* ---------- Proc LIS ---------- */
/* Ctyri duvody. Kazdy konci cislem, ktere se da overit - proto cislo dole
   jako zaver, ne poradove cislo nahore. */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,44px)}
.why li{display:flex;flex-direction:column;border-top:2px solid var(--ink-950);padding-top:22px}
.why h3{font-size:1.15rem}
.why p{margin-top:10px;font-size:.95rem;flex:1}
.why .big{display:block;font-family:var(--display);font-size:2.6rem;font-weight:700;letter-spacing:-.035em;color:var(--ink-950);line-height:1;margin-top:26px;font-variant-numeric:tabular-nums}
.why .big + small{display:block;font-size:.85rem;color:var(--ink-500);margin-top:6px}

/* ---------- Zakladatel ---------- */
.founder{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,90px);align-items:center}
.founder figure{position:relative}
.founder figure img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:60% 30%}
.founder figcaption{position:absolute;right:-18px;bottom:28px;background:var(--accent);color:#fff;padding:14px 18px;font-size:.84rem;line-height:1.35}
.founder figcaption b{display:block;font-size:.98rem}
.founder blockquote{font-family:var(--display);font-size:clamp(1.4rem,2.3vw,1.95rem);line-height:1.25;letter-spacing:-.025em;color:var(--ink-950);font-weight:600;margin-top:20px;text-wrap:balance}
.founder .sig{margin-top:26px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.founder .sig b{display:block;color:var(--ink-950)}
.founder .sig span{font-size:.86rem;color:var(--ink-500)}
.founder .sig a{margin-left:auto}
.founder p.body{margin-top:20px}

/* ---------- Studie (uvod) ---------- */
.cases{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}
.case{position:relative;min-height:400px;overflow:hidden;background:var(--ink-900);display:flex;align-items:flex-end}
.case img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;transition:transform .6s var(--ease),opacity .3s}
.case:hover img{transform:scale(1.04);opacity:.65}
.case div{position:relative;padding:26px;width:100%;background:linear-gradient(transparent,rgba(6,14,32,.95) 42%)}
.case span{font-size:.84rem;color:var(--accent-bright);font-weight:500}
.case h3{color:#fff;margin-top:6px;font-size:1.22rem}
.case p{color:var(--ink-300);font-size:.9rem;margin-top:6px}
.cases-note{margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:.84rem;color:var(--ink-500)}

/* ---------- Studie (podstranka) ---------- */
.rejstrik{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:48px}
.rejstrik a{font-size:.84rem;font-weight:600;border:1px solid var(--ink-300);padding:8px 12px;background:#fff}
.rejstrik a:hover{border-color:var(--accent);color:var(--accent)}
.studie{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,64px);padding:48px 0;border-top:1px solid var(--ink-200);scroll-margin-top:100px}
.studie:first-of-type{border-top:0;padding-top:0}
.studie-img{background:var(--ink-100);aspect-ratio:16/10;overflow:hidden}
.studie-img img{width:100%;height:100%;object-fit:cover}
.studie-img.logo{background:#fff;border:1px solid var(--ink-200);display:grid;place-items:center;padding:40px}
.studie-img.logo img{object-fit:contain;height:auto;max-height:100%}
.studie-meta{display:grid;gap:0;margin-top:16px;border-top:1px solid var(--ink-200)}
.studie-meta div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--ink-200);font-size:.86rem}
.studie-meta dt{color:var(--ink-500)}
.studie-meta dd{font-weight:600;color:var(--ink-950);text-align:right;font-variant-numeric:tabular-nums}
.studie h2{font-size:clamp(1.4rem,2.2vw,1.9rem);letter-spacing:-.03em;margin-top:10px;line-height:1.15}
.studie p{margin-top:14px}
.studie .vysledky{margin-top:20px;display:grid;gap:8px}
.studie .vysledky li{display:flex;gap:10px;font-size:.95rem;color:var(--ink-800)}
.studie .vysledky svg{width:18px;height:18px;color:var(--accent);flex:none;margin-top:.2em}
.studie blockquote{margin-top:22px;padding:20px 24px;background:var(--ink-50);font-size:1.02rem;line-height:1.6;color:var(--ink-800)}
.studie blockquote cite{display:block;margin-top:10px;font-style:normal;font-size:.86rem;color:var(--ink-500)}
.studie details{margin-top:18px}
.studie summary{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--ink-950);list-style:none;display:inline-flex;gap:8px;align-items:center}
.studie summary::-webkit-details-marker{display:none}
.studie summary::after{content:"+";color:var(--accent);font-size:1.2rem;line-height:1}
.studie details[open] summary::after{content:"−"}

/* ---------- Postup ---------- */
.steps{display:grid;grid-template-columns:repeat(6,1fr)}
.steps li{position:relative;padding:30px 20px 0 0;border-top:2px solid var(--ink-200)}
.steps li::before{content:"";position:absolute;top:-2px;left:0;width:0;height:2px;background:var(--accent);transition:width 1s var(--ease)}
.steps.in li::before{width:100%}
.steps li:nth-child(2)::before{transition-delay:.15s}.steps li:nth-child(3)::before{transition-delay:.3s}.steps li:nth-child(4)::before{transition-delay:.45s}.steps li:nth-child(5)::before{transition-delay:.6s}.steps li:nth-child(6)::before{transition-delay:.75s}
/* Cisla tady davaji smysl: je to skutecna posloupnost kroku */
.steps span{font-family:var(--mono);font-size:.8rem;color:var(--accent);font-weight:500}
.steps h3{font-size:1.05rem;margin-top:8px}
.steps p{font-size:.9rem;margin-top:6px;line-height:1.55}
.steps .t{display:inline-block;margin-top:12px;font-style:normal;font-size:.8rem;color:var(--ink-500);border-bottom:1px solid var(--ink-300);padding-bottom:2px}

/* ---------- Pracoviste (odkazy na dalsi weby) ---------- */
.kit{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kit a{display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:center;padding:26px;border:var(--cara);background:#fff;transition:border-color .2s var(--ease),background .2s var(--ease)}
.kit a:hover{border-color:var(--ink-950);background:var(--ink-50)}
.kit img{width:150px;height:130px;object-fit:contain}
.kit small{font-size:.86rem;color:var(--ink-500);font-weight:500}
.kit h3{margin-top:6px}
.kit p{font-size:.9rem;margin-top:8px}
.kit .link{margin-top:14px}

/* ---------- Rozdeleny blok (text + obrazek) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}
.split.obracene > :first-child{order:2}
.split h2{margin-top:16px}
.split p{margin-top:18px}
.split .obr{background:var(--ink-50);display:grid;place-items:center;overflow:hidden}
.split .obr img{width:100%;height:100%;object-fit:cover}
.split .obr.volne{padding:32px;background:transparent}
.split .obr.volne img{object-fit:contain;max-height:460px}
.checks{margin-top:22px;display:grid;gap:10px}
.checks li{display:flex;gap:10px;align-items:flex-start;color:var(--ink-800);font-size:.97rem}
.checks svg{width:20px;height:20px;color:var(--accent);flex:none;margin-top:.1em}
.dark .checks li{color:var(--ink-200)}
.dark .checks svg{color:var(--accent-bright)}
.cisla{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ink-200);margin-top:28px;background:#fff}
.cisla div{padding:20px}
.cisla div + div{border-left:1px solid var(--ink-200)}
.cisla b{display:block;font-family:var(--display);font-size:1.9rem;font-weight:700;letter-spacing:-.035em;color:var(--ink-950);line-height:1;font-variant-numeric:tabular-nums}
.cisla span{display:block;font-size:.85rem;color:var(--ink-500);margin-top:6px}

/* ---------- Znalosti ---------- */
.know{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,48px)}
.know article{border-top:2px solid var(--ink-950);padding-top:22px}
.know h3{font-size:1.15rem}
.know p{margin-top:12px;font-size:.93rem}
.know ul{margin-top:14px;display:grid;gap:8px}
.know li{display:grid;grid-template-columns:80px 1fr;gap:12px;font-size:.88rem;padding-bottom:8px;border-bottom:1px solid var(--ink-100)}
.know li b{font-family:var(--mono);font-size:.8rem;color:var(--accent);padding-top:2px}
.know li span{color:var(--ink-600)}
.cmp{width:100%;border-collapse:collapse;margin-top:14px;font-size:.9rem}
.cmp th,.cmp td{text-align:left;padding:9px 6px;border-bottom:1px solid var(--ink-100);vertical-align:top}
.cmp th{font-size:.84rem;color:var(--ink-500);font-weight:600}
.cmp td:first-child{color:var(--ink-600)}
.cmp td b{color:var(--ink-950);font-weight:600}

/* ---------- FAQ ---------- */
.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(36px,7vw,100px)}
.faq h2{margin-top:16px}
.faq > div > p{margin:20px 0 28px}
.faq-list{border-top:1px solid var(--ink-200)}
.faq-list details{border-bottom:1px solid var(--ink-200)}
.faq-list summary{list-style:none;cursor:pointer;padding:22px 48px 22px 0;font-family:var(--display);font-size:1.05rem;font-weight:600;letter-spacing:-.012em;color:var(--ink-950);position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:6px;top:16px;font-size:1.5rem;font-weight:400;color:var(--accent);transition:transform .2s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{padding:0 48px 24px 0;font-size:.95rem}

/* ---------- Poptavka ---------- */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,6vw,90px)}
.contact h2{margin-top:16px}
.contact-grid > div > p{margin-top:18px}
.promise{margin-top:30px;display:grid;gap:0;border-top:1px solid rgba(255,255,255,.12)}
.promise li{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:14px 0;border-bottom:var(--cara-tma);font-size:.97rem;color:var(--ink-200)}
.promise b{font-family:var(--mono);font-size:.82rem;font-weight:500;color:var(--accent-bright);padding-top:2px}
.person{display:flex;gap:16px;align-items:center;margin-top:30px}
.person img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:62% 18%;border:2px solid rgba(255,255,255,.2)}
.person b{display:block;color:#fff}
.person span{display:block;font-size:.84rem;color:var(--ink-400)}
.person a{display:inline-block;color:#fff;font-weight:600;margin-top:2px}
.person a:hover{color:var(--accent-bright)}
.sk{margin-top:14px;font-size:.88rem;color:var(--ink-400)}
/* Vetsi plocha pro prst, aniz by se roztrhla veta */
.sk a{color:var(--ink-200);padding-block:6px}
.form{background:#fff;color:var(--ink-900);padding:clamp(24px,4vw,44px);scroll-margin-top:100px}
.form h3{font-size:1.4rem;color:var(--ink-950)}
.form p{color:var(--ink-600)}
.form > .fbody > p{font-size:.9rem;margin-top:6px}
.wz-sum{display:none;margin-top:18px;background:var(--accent-soft);padding:14px 16px;font-size:.92rem;color:var(--ink-800)}
.wz-sum.on{display:block}
.wz-sum b{color:var(--ink-950)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;margin-top:24px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label,.field .lbl{font-size:.88rem;font-weight:600;color:var(--ink-800)}
.field i{font-style:normal;color:var(--accent)}
/* 1rem = 16px: mensi pismo by na iPhonu pri kliknuti do pole priblizilo stranku */
.field input,.field textarea{width:100%;border:1px solid var(--ink-300);background:#fff;padding:13px 14px;font-size:1rem;border-radius:0;transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.field [aria-invalid=true]{border-color:var(--err)}
.err{font-size:.78rem;color:var(--err)}
.field .opts span{min-height:44px;font-size:.86rem;padding:0 14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px}
.form-foot small{font-size:.78rem;color:var(--ink-500);max-width:320px;line-height:1.5}
.form-foot small a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.form-error{display:none;margin-top:16px;padding:12px 14px;background:#fef3f2;border:1px solid #f9c9c4;color:var(--err);font-size:.92rem}
.form-error.on{display:block}
.done{display:none;text-align:center;padding:48px 10px}
.done svg{width:52px;height:52px;color:var(--ok);margin:0 auto}
.done h3{margin-top:14px}
.done p{margin-top:8px}
.form.sent .fbody{display:none}
.form.sent .done{display:block}

/* ---------- Kontakt (podstranka) ---------- */
.kontakty{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.kontakt-karta{border:1px solid var(--ink-200);padding:26px;background:#fff}
.kontakt-karta small{font-size:.88rem;color:var(--ink-500);font-weight:500}
.kontakt-karta h3{margin-top:10px}
.kontakt-karta p{margin-top:8px;font-size:.93rem}
.kontakt-karta a{display:block;font-weight:600;color:var(--ink-950);margin-top:6px}
.kontakt-karta a:hover{color:var(--accent)}
.kontakt-karta img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:62% 18%;float:right;margin-left:12px}

/* ---------- Pravni text ---------- */
.prose{max-width:62ch}
.prose h2{font-size:clamp(1.3rem,2vw,1.6rem);margin-top:44px;letter-spacing:-.02em}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.05rem;margin-top:24px}
.prose p,.prose li{color:var(--ink-700);font-size:.97rem;line-height:1.7}
.prose p{margin-top:12px}
.prose ol.clanky{counter-reset:c}
.prose ol.odst{margin-top:12px;display:grid;gap:10px}
.prose ol.odst > li{display:grid;grid-template-columns:48px 1fr;gap:6px}
.prose ol.odst > li > .c{font-family:var(--mono);font-size:.8rem;color:var(--accent);font-weight:600;padding-top:.2em}
.prose ul.body{margin:10px 0 0 0;display:grid;gap:6px}
.prose ul.body li{display:flex;gap:10px}
.prose ul.body li::before{content:"–";color:var(--ink-400)}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.prose dl{margin-top:16px;display:grid;gap:10px}
.prose dl div{display:grid;grid-template-columns:170px 1fr;gap:12px;font-size:.95rem}
.prose dt{color:var(--ink-500)}
.prose dd{color:var(--ink-800)}
.prose .box{margin-top:18px;padding:18px 22px;background:var(--ink-50);border:1px solid var(--ink-200)}

/* ---------- Pruvodce: rozcestnik ---------- */
.kategorie{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.kategorie section{border:1px solid var(--ink-200);background:#fff;padding:28px 28px 22px;display:flex;flex-direction:column}
.kategorie h2{font-size:1.25rem;letter-spacing:-.02em;margin-top:14px}
.kategorie > section > p{font-size:.9rem;margin-top:8px}
.kategorie ul{margin-top:16px;border-top:1px solid var(--ink-100)}
.kategorie li a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--ink-100);font-weight:600;font-size:.93rem;color:var(--ink-950)}
.kategorie li a:hover{color:var(--accent)}
.kategorie li a svg{width:15px;height:15px;color:var(--accent);flex:none}
.kategorie li small{display:block;font-weight:400;font-size:.8rem;color:var(--ink-500);margin-top:2px}
.kategorie .brzy{padding:12px 0;border-bottom:1px solid var(--ink-100);font-size:.93rem;color:var(--ink-500)}

/* ---------- Pruvodce: clanek ---------- */
.clanek .wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,6vw,80px);align-items:start}
.clanek-telo{max-width:68ch;min-width:0}
.clanek-telo > * + *{margin-top:18px}
.clanek-telo h2{font-size:clamp(1.45rem,2.3vw,1.9rem);letter-spacing:-.03em;margin-top:56px;scroll-margin-top:110px}
.clanek-telo h3{font-size:1.15rem;margin-top:34px}
.clanek-telo p,.clanek-telo li{color:var(--ink-700);font-size:1.02rem;line-height:1.75}
.clanek-telo strong{color:var(--ink-950)}
.clanek-telo a:not(.btn){color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.clanek-telo ul{display:grid;gap:8px}
/* Odrazka absolutne, ne flexem - flex by text s <strong> rozdelil do sloupcu */
.clanek-telo ul li{position:relative;padding-left:20px}
.clanek-telo ul li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;background:var(--accent)}
.clanek-telo ol{counter-reset:k;display:grid;gap:10px}
.clanek-telo ol li{counter-increment:k;display:grid;grid-template-columns:30px 1fr;gap:6px}
.clanek-telo ol li::before{content:counter(k);font-family:var(--mono);font-size:.78rem;font-weight:600;color:#fff;background:var(--ink-950);width:24px;height:24px;display:grid;place-items:center;margin-top:.2em}
/* Odpoved na otazku clanku. Cely blok nese akcent, necha se jen vysadit. */
.odpoved{background:var(--accent-soft);padding:22px 26px}
.odpoved b{display:block;font-size:.9rem;color:var(--accent-hover);font-weight:600;margin-bottom:8px}
.odpoved p{color:var(--ink-900)!important;font-size:1.08rem!important;line-height:1.6!important}
.tip{border:1px solid var(--ink-200);background:var(--ink-50);padding:18px 22px}
.tip b{color:var(--ink-950)}
.tab{width:100%;border-collapse:collapse;font-size:.93rem;display:block;overflow-x:auto}
.tab th,.tab td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--ink-200);vertical-align:top}
.tab thead th{font-size:.88rem;color:var(--ink-600);font-weight:600;border-bottom:2px solid var(--ink-950);white-space:nowrap}
.tab tbody th{font-weight:600;color:var(--ink-950)}
.tab td{color:var(--ink-700)}
.clanek-telo figure{margin-top:28px}
.clanek-telo figure img{width:100%;background:var(--ink-100)}
.clanek-telo figcaption{font-size:.85rem;color:var(--ink-500);margin-top:8px}
.obr-rada{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.obr-rada img{aspect-ratio:3/4;object-fit:cover}
.clanek-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.84rem;color:var(--ink-400);margin-top:18px}
.bocni{position:sticky;top:110px;display:grid;gap:16px}
.toc{border:1px solid var(--ink-200);padding:20px 22px;background:#fff}
.toc b{display:block;font-family:var(--display);font-size:.92rem;color:var(--ink-950);margin-bottom:12px;padding-bottom:10px;border-bottom:var(--cara)}
.toc a{display:block;padding:6px 0;font-size:.88rem;color:var(--ink-700);border-left:2px solid transparent;padding-left:10px;margin-left:-12px}
.toc a:hover,.toc a.on{color:var(--ink-950);border-color:var(--accent)}
.bocni-cta{background:var(--ink-950);color:#fff;padding:22px}
.bocni-cta b{display:block;font-size:1.05rem}
.bocni-cta p{color:var(--ink-300);font-size:.88rem;margin-top:8px}
.bocni-cta .btn{width:100%;margin-top:16px;min-height:46px}
.souvisejici{margin-top:64px;padding-top:28px;border-top:2px solid var(--ink-950)}
.souvisejici h2{margin-top:0!important;font-size:1.2rem!important}
.souvisejici ul{grid-template-columns:1fr 1fr;gap:10px!important;margin-top:16px}
.souvisejici li{display:block!important;padding-left:0!important}
.souvisejici li::before{display:none!important}
.souvisejici a{display:block;border:1px solid var(--ink-200);padding:14px 16px;font-weight:600;font-size:.93rem;text-decoration:none!important;color:var(--ink-950)!important;transition:border-color .2s}
.souvisejici a:hover{border-color:var(--accent)}
.souvisejici a small{display:block;font-weight:400;color:var(--ink-500);font-size:.8rem;margin-top:2px}

/* ---------- Slovnik ---------- */
.abeceda{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:36px}
.abeceda a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--ink-300);font-weight:600;font-size:.9rem}
.abeceda a:hover{border-color:var(--accent);color:var(--accent)}
.hesla{border-top:1px solid var(--ink-200)}
.hesla > div{display:grid;grid-template-columns:240px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--ink-200);scroll-margin-top:110px}
.hesla dt{font-family:var(--display);font-weight:600;color:var(--ink-950);font-size:1.08rem;letter-spacing:-.015em}
.hesla dt small{display:block;font-family:var(--sans);font-size:.85rem;font-weight:400;color:var(--ink-500);margin-top:3px}
.hesla dd{color:var(--ink-700);font-size:.97rem;line-height:1.7}
.hesla dd a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}

/* ---------- CTA pruh ---------- */
.ctaband{background:var(--ink-950);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.ctaband::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(700px 300px at 80% 0,rgba(190,24,93,.3),transparent 70%)}
.ctaband .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;padding-block:clamp(56px,7vw,96px)}
.ctaband h2{color:#fff;margin-top:14px}
.ctaband p{color:var(--ink-300);margin-top:16px;max-width:620px}
.ctaband .actions{justify-content:flex-end;margin-top:0}

/* ---------- Paticka ---------- */
.footer{background:#030814;color:var(--ink-300);padding:72px 0 28px}
.fcols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1)}
.fabout p{color:var(--ink-400);font-size:.92rem;margin-top:18px;max-width:330px}
/* Drive mono verzalky s prostrkanim ("NABÍDKA", "FIRMA"). Ted obycejny nadpis. */
.footer .fh{font-family:var(--display);font-size:.95rem;font-weight:600;letter-spacing:-.01em;color:#fff;
  margin-bottom:14px;padding-bottom:12px;border-bottom:var(--cara-tma);line-height:1.3}
.footer li{padding:4px 0}
.footer li a,.footer li button{font-size:.92rem;color:var(--ink-300);text-align:left}
.footer li a:hover,.footer li button:hover{color:#fff}
.footer address{font-style:normal;font-size:.92rem;line-height:1.75}
.footer address a{color:#fff}
.footer li a,.footer address a{display:inline-block;padding:3px 0;min-height:24px}
.fbottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font-size:.82rem;color:var(--ink-400)}

/* ---------- Mobilni lista akci ---------- */
.actbar{display:none}

/* ---------- Cookies ---------- */
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:300;background:var(--ink-950);color:var(--ink-300);border-top:1px solid var(--ink-700);padding:16px 0 calc(16px + env(safe-area-inset-bottom))}
.cookie[hidden]{display:none}
.cookie-in{display:flex;gap:32px;align-items:center;justify-content:space-between}
.cookie-txt{max-width:44rem}
.cookie h2{font-family:var(--display);font-size:1.05rem;color:#fff;letter-spacing:-.01em}
.cookie p{font-size:.94rem;line-height:1.55;margin-top:6px;color:var(--ink-300)}
.cookie a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.cookie .row{display:flex;gap:12px;flex:none}
/* Obe tlacitka vypadaji stejne a jsou stejne velka (metodika UOOU, EDPB): souhlas nesmi byt vyraznejsi nez odmitnuti. */
.cookie button{min-height:44px;min-width:11rem;padding:0 20px;border:1px solid var(--ink-500);border-radius:4px;background:var(--ink-900);color:#fff;font-family:var(--sans);font-size:.94rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
.cookie button:hover{background:var(--ink-800);border-color:var(--ink-400)}
/* ---------- 404 ---------- */
.nenalezeno{min-height:60vh;display:grid;place-items:center;text-align:center}
.nenalezeno b{display:block;font-family:var(--mono);font-size:.95rem;color:var(--accent)}
.on-dark .nenalezeno b,.dark .nenalezeno b{color:var(--accent-bright)}
.nenalezeno .actions{justify-content:center}

/* ---------- Odhaleni ---------- */
.js .rv{opacity:0;transform:translateY(14px);
  transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);
  transition-delay:calc(var(--i,0) * 55ms)}
.js .rv.in{opacity:1;transform:none}
/* Uvodni blok je videt hned. Kdyby najizdel, Google by stranku bral jako
   pomalou (LCP se pocita az od chvile, kdy je nadpis viditelny). */
.js .hero .rv,.js .phero .rv{opacity:1;transform:none;transition:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv{opacity:1;transform:none;transition:none}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  .steps li::before{width:100%}
}

/* ---------- Responzivita ---------- */
@media (max-width:1180px){
  .nav > a,.nav .dd > button{padding:0 9px;font-size:.86rem}
  .brand-name{display:none}
  .mega .wrap{grid-template-columns:1fr 1fr 1fr}
  .mega-cta{display:none}
  .why{grid-template-columns:1fr 1fr}
  .fcols{grid-template-columns:1fr 1fr 1fr}
  .fabout{grid-column:1/-1}
  .steps{grid-template-columns:repeat(3,1fr);row-gap:36px}
  .karty{grid-template-columns:1fr 1fr}
}
@media (max-width:980px){
  .topbar .r{display:none}
  .nav,.header .cta{display:none}
  .burger{display:grid}
  /* Top dopocita JS podle spodni hrany hlavicky (lista nahore se da odscrollovat) */
  .mobile{display:block;position:fixed;left:0;right:0;bottom:0;top:var(--menu-top,114px);z-index:99;background:var(--ink-950);color:#fff;padding:8px var(--gutter) 40px;overflow:auto;transform:translateX(100%);visibility:hidden;transition:transform .3s,visibility 0s .3s}
  .mobile.open{transform:none;visibility:visible;transition:transform .3s}
  .mobile a{display:flex;justify-content:space-between;align-items:center;padding:16px 2px;border-bottom:1px solid rgba(255,255,255,.1);font-weight:600}
  .mobile a[aria-current]{color:var(--accent-bright)}
  .mobile .grp{font-size:.88rem;color:var(--ink-400);padding:26px 2px 8px}
  .mobile .btn{width:100%;margin-top:24px;border:0}
  .hero .wrap{grid-template-columns:1fr;min-height:0;padding-block:44px 56px;gap:28px}
  .stage{justify-self:center;max-width:520px}
  .phero .wrap{grid-template-columns:1fr;gap:28px;padding-block:28px 48px}
  .phero-img{justify-self:start;max-width:420px}
  .intro,.founder,.faq,.contact-grid,.ppanel,.split,.produkt,.studie,.ctaband .wrap{grid-template-columns:1fr}
  .split.obracene > :first-child{order:0}
  .produkt .pimg{position:static}
  .ctaband .actions{justify-content:flex-start}
  .intro{gap:16px}
  .wizard,.kfg{grid-template-columns:1fr}
  .wz-q,.kfg-q{border-right:0;border-bottom:1px solid var(--ink-200)}
  .kfg-in{position:static;min-height:0}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .flow{grid-template-columns:1fr;gap:0;max-width:440px;margin-inline:auto}
  .flow::before{left:34px;right:auto;top:10%;bottom:10%;width:2px;height:auto;background:rgba(255,255,255,.18)}
  .flow::after{display:none}
  .flow li{display:grid;grid-template-columns:68px 1fr;gap:18px;text-align:left;align-items:center;padding:12px 0}
  .flow .ico{margin:0}
  .flow b{margin-top:0}
  .cases{grid-template-columns:1fr 1fr}
  .cases .case:first-child{grid-column:1/-1}
  .kit,.know,.kontakty,.karty.dve,.kategorie{grid-template-columns:1fr}
  .clanek .wrap{grid-template-columns:1fr}
  .bocni{position:static}
  .toc{display:none}
  .hesla > div{grid-template-columns:1fr;gap:6px}
  .founder figcaption{right:12px}
  .subnav{top:66px}
  dialog.lb .pred{left:4px}
  dialog.lb .dalsi{right:4px}
  .actbar{display:grid;grid-template-columns:1fr 1.4fr;position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:1px solid var(--ink-200);box-shadow:0 -8px 24px rgba(11,23,48,.08);padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));gap:10px;transform:translateY(110%);transition:transform .3s var(--ease)}
  .actbar.on{transform:none}
  .actbar .btn{min-height:48px;padding:0 12px}
  .footer{padding-bottom:100px}
}
@media (max-width:640px){
  .topbar .l a:first-child{display:none}
  .header .wrap{height:66px}
  .actions .btn{width:100%}
  /* 56 % delalo z karty vysoky blok, do ktereho stitek zasahoval rohem */
  .inspect{left:0;width:46%}
  .chip-tag{right:0;top:2%}
  /* Na mobilu se loga zmensi, ale zadne se neschovava: prave pocet jmen dela duveryhodnost */
  .pas img{height:23px}
  .pas img[src*="mann-hummel"],.pas img[src*="logo-tatra"]{height:30px}
  .pas img[src*="thyssenkrupp"],.pas img[src*="intralox"]{height:28px}
  .pas img[src*="haselmeier"],.pas img[src*="prysmian"],.pas img[src*="sartorius"]{height:18px}
  .pas img[src*="logo-ice"],.pas img[src*="mectalent"]{height:15px}
  .pas img[src*="tactotek"]{height:13px}
  .gallery{grid-template-columns:1fr 1fr;gap:10px}
  .ptabs button{padding:14px 16px}
  .specs{grid-template-columns:1fr}
  .specs div:nth-child(odd){padding-right:0}
  .why,.cases,.fgrid,.karty,.cisla{grid-template-columns:1fr}
  .cisla div + div{border-left:0;border-top:1px solid var(--ink-200)}
  .steps{grid-template-columns:1fr 1fr}
  .kit a{grid-template-columns:1fr;gap:12px}
  .kit img{width:100%;height:150px}
  .founder figcaption{right:0;bottom:0}
  .fcols{grid-template-columns:1fr 1fr}
  .prose dl div{grid-template-columns:1fr;gap:2px}
  .souvisejici ul{grid-template-columns:1fr}
  .prose ol.odst > li{grid-template-columns:40px 1fr}
  .cookie-in{flex-direction:column;align-items:stretch;gap:14px}
  .cookie .row{flex-direction:column}
}
