/* Písma hostovaná na vlastním serveru.
   Archivo a IBM Plex jsou pod licencí SIL Open Font License 1.1.
   Vlastní hosting je rychlejší a neposílá IP adresu návštěvníka třetí straně. */
@font-face{
  font-family:'Archivo';
  src:url('pisma/archivo.woff2') format('woff2-variations');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'IBM Plex Sans';
  src:url('pisma/plex-sans.woff2') format('woff2-variations');
  font-weight:100 700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'IBM Plex Mono';
  src:url('pisma/plex-mono.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

:root{
  --paper:#F4F4F1; --card:#FFF; --deep:#141614; --deep2:#1F2320;
  --ink:#141614; --ink2:#565C58; --ink3:#656A66;
  --rule:#DEDFDA; --rule2:#C3C6C1;
  --sig:#F0B429; --sig-d:#7A5300; --sig-bg:#FDF3DA; --sig-h:#DDA31C; --sig-line:#EBD49A; --on-sig:#2A1D00;
  --ok:#1B7A57; --alert:#B33F28; --alert-bg:#FAEAE6; --ok-bg:#E4F2EC;
  --r:10px; --rb:8px;
  --shadow:0 1px 2px rgba(20,22,20,.04);
  --shadow-lift:0 8px 24px rgba(20,22,20,.09);
  --dsp:'Archivo',system-ui,sans-serif; --bdy:'IBM Plex Sans',system-ui,sans-serif; --mn:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--bdy);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--sig);color:var(--on-sig)}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:3px}
.dark :focus-visible,.hero :focus-visible,.band :focus-visible,footer :focus-visible{outline-color:var(--sig)}
.wrap{max-width:1080px;margin:0 auto;padding:0 26px}
a{color:inherit}
img,svg{max-width:100%}
h1,h2,h3{font-family:var(--dsp);letter-spacing:-.025em;margin:0;font-weight:700;text-wrap:balance}
h1{font-size:clamp(32px,7vw,58px);line-height:1.06}
h2{font-size:clamp(25px,4.6vw,40px);line-height:1.12}
h3{font-size:20px;font-weight:600;letter-spacing:-.015em}
p{margin:0 0 1.05em}
.eyebrow{font-family:var(--mn);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);display:block;margin-bottom:16px}
.lede{font-size:clamp(17px,2.4vw,20px);color:var(--ink2);max-width:58ch}
.mn{font-family:var(--mn);font-size:12px;color:var(--ink3)}
.prose{max-width:68ch}
.prose h2{margin:48px 0 16px}
.prose h3{margin:32px 0 10px}
.prose ul{padding-left:20px;color:var(--ink2)}
.prose li{margin-bottom:8px}
.prose a{color:var(--sig-d);text-decoration:underline;text-underline-offset:2px}

/* výčet toho, co je v ceně produktu */
.obsah{list-style:none;margin:0;padding:0;font-size:15px;color:var(--ink2)}
.obsah li{position:relative;padding:5px 0 5px 26px;line-height:1.5}
.obsah li::before{content:'✓';position:absolute;left:0;top:5px;color:var(--ok);font-family:var(--mn);font-size:14px}

/* dvousloupcová sazba u boxu s pevnou cenou, ať výčet nezúží popis */
.fixed{align-items:start}
.fixed>div:last-child{padding-top:4px}

/* kalendář povinností */
.kalk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:36px}
.kalk-blok{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);
  padding:22px 24px 18px;margin:0;box-shadow:var(--shadow)}
.kalk-blok legend{font-family:var(--mn);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink3);padding:0 8px;margin-left:-8px}
.kalk-blok label{display:flex;gap:12px;align-items:flex-start;padding:10px 0;cursor:pointer;
  border-bottom:1px solid var(--rule);font-size:16px;line-height:1.45}
.kalk-blok label:last-child{border-bottom:0}
.kalk-blok input{margin:2px 0 0;width:21px;height:21px;flex:0 0 21px;accent-color:var(--sig);cursor:pointer}
.kalk-blok label:hover span{color:var(--ink)}

.kalk-vysledek{margin-top:44px}
.kalk-shrnuti{background:var(--deep);color:#fff;border-radius:var(--r);padding:26px 28px;margin-bottom:26px}
.kalk-shrnuti b{font-family:var(--dsp);font-size:30px;font-weight:700;letter-spacing:-.03em;display:block}
.kalk-shrnuti p{color:#AFB5B0;margin:8px 0 0;font-size:16px}
.souhrn{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:18px;
  margin-top:20px;padding-top:18px;border-top:1px solid #2D322E}
.souhrn div b{font-family:var(--dsp);font-size:26px;font-weight:700;letter-spacing:-.02em;color:#fff;display:block;line-height:1}
.souhrn div span{font-size:13px;color:#8A918C;display:block;margin-top:5px;line-height:1.35}
.kalk-shrnuti .dalsi{margin-top:18px;padding-top:16px;border-top:1px solid #2D322E;font-size:15px;color:#AFB5B0}
.kalk-shrnuti .dalsi strong{color:var(--sig);font-weight:600}

.pov{background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--rule2);
  border-radius:var(--r);padding:20px 22px;margin-bottom:12px}
.pov.blizko{border-left-color:var(--sig)}
.pov h3{font-size:18px;margin-bottom:6px}
.pov p{margin:0;font-size:15px;color:var(--ink2);line-height:1.55}
.pov-hlava{display:flex;justify-content:space-between;gap:16px;align-items:baseline;flex-wrap:wrap}
.pov-kdy{font-family:var(--mn);font-size:12px;color:var(--sig-d);background:var(--sig-bg);
  padding:4px 10px;border-radius:99px;white-space:nowrap}
.pov.zbytek{background:#EAEBE6;border-left-color:var(--rule2)}
.pov.zbytek ul{margin:12px 0 0;padding-left:20px;color:var(--ink2);font-size:15px;line-height:1.9}
.pov.vyzva{border-left-color:var(--ink);border-color:var(--rule2);margin-top:26px}
.pov.vyzva p{margin-bottom:.8em}
.pov.vyzva p:last-of-type{margin-bottom:0}

@media (max-width:860px){
  .kalk{grid-template-columns:minmax(0,1fr);gap:14px}
  .kalk-blok{padding:20px 20px 16px}
  .kalk-shrnuti{padding:22px}
  .pov{padding:18px 20px}
  .pov-hlava{flex-direction:column;gap:8px}
}
@media print{
  header,.notice,.band,footer,.kalk,.crumb,.cta-row{display:none!important}
  .kalk-vysledek{margin-top:0}
  .kalk-shrnuti{background:#fff;color:#000;border:1px solid #000}
  .kalk-shrnuti p,.souhrn{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:18px;
  margin-top:20px;padding-top:18px;border-top:1px solid #2D322E}
.souhrn div b{font-family:var(--dsp);font-size:26px;font-weight:700;letter-spacing:-.02em;color:#fff;display:block;line-height:1}
.souhrn div span{font-size:13px;color:#8A918C;display:block;margin-top:5px;line-height:1.35}
.urady{list-style:none;margin:14px 0 0;padding:0}
.urady li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--rule);font-size:15px}
.urady li:last-child{border-bottom:0}
.urady li span{color:var(--ink2)}
.urady li b{font-family:var(--mn);font-size:14px}
.kalk-shrnuti .dalsi{color:#333}
  .pov{break-inside:avoid;box-shadow:none}
}

/* stránka s ukázkami nástrojů */
.ukazka{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:34px;
  align-items:center;padding:34px 0;border-top:1px solid var(--rule)}
.ukazka:last-child{border-bottom:1px solid var(--rule)}
.ukazka.obracene>div{order:2}
.ukazka.obracene>a{order:1}
.ukazka h3{font-size:21px;margin-bottom:10px}
.ukazka p{font-size:16px;color:var(--ink2)}
.ukazka p:last-child{margin-bottom:0}
.ukazka a{display:block;border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;
  box-shadow:var(--shadow);transition:box-shadow .2s ease,transform .2s ease;background:var(--card)}
.ukazka a:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.ukazka img{display:block;width:100%;height:auto}

@media (max-width:860px){
  .ukazka{grid-template-columns:minmax(0,1fr);gap:20px;padding:28px 0}
  .ukazka.obracene>div{order:1}
  .ukazka.obracene>a{order:2}
}

/* návrh systému na stránce Nástroje */
.snimek{display:block;margin-top:30px;border:1px solid var(--rule);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--shadow);background:var(--card);
  transition:box-shadow .2s ease,transform .2s ease}
.snimek:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.snimek img{display:block;width:100%;height:auto}
.dvojice{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;margin-top:32px}
.dvojice h3{font-size:19px;margin-bottom:12px}
.dvojice p{font-size:16px;color:var(--ink2)}
.dvojice p+p{margin-top:.8em}
@media (max-width:760px){.dvojice{grid-template-columns:minmax(0,1fr);gap:26px}}

/* odkaz na profil, karta místo obyčejného tlačítka */
.li-karta{display:inline-flex;align-items:center;gap:13px;text-decoration:none;background:var(--card);
  border:1px solid var(--rule);border-radius:var(--r);padding:11px 16px 11px 11px;box-shadow:var(--shadow);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;max-width:100%}
.li-karta:hover{border-color:var(--rule2);box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.li-ikona{width:40px;height:40px;flex:0 0 40px;border-radius:8px;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center}
.li-ikona svg{width:19px;height:19px;display:block;flex:0 0 19px}
.li-text{display:flex;flex-direction:column;gap:1px;min-width:0}
.li-popis{font-family:var(--mn);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);line-height:1.6}
.li-adresa{font-size:15px;font-weight:500;color:var(--ink);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.li-sipka{margin-left:auto;padding-left:14px;color:var(--ink3);font-size:17px;line-height:1;transition:transform .18s ease,color .18s ease}
.li-karta:hover .li-sipka{transform:translateX(3px);color:var(--ink)}
@media (max-width:560px){.li-karta{display:flex;width:100%}}

/* stejný odkaz v patičce, jen tlumeně */
.li-pata{display:inline-flex;align-items:center;gap:8px;margin-top:4px}
.li-pata svg{width:15px;height:15px;flex:0 0 15px;display:block}

/* hlídač novinek z ERÚ a OTE */
.novinky{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid var(--rule)}
.novinky li{border-bottom:1px solid var(--rule)}
.novinky a{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:18px;align-items:baseline;
  text-decoration:none;padding:18px 0;transition:background .15s ease}
.novinky a:hover{background:#EAEBE6}
.novinky a:hover .nov-nadpis{color:var(--sig-d)}
.nov-kdy{font-family:var(--mn);font-size:12px;color:var(--ink3);white-space:nowrap}
.nov-nadpis{font-size:17px;line-height:1.45;font-weight:500;transition:color .15s ease}
.nov-zdroj{font-family:var(--mn);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink3);border:1px solid var(--rule2);border-radius:99px;padding:3px 9px;white-space:nowrap}
.novinky .vlastni .nov-zdroj{background:var(--sig-bg);border-color:var(--sig-line);color:var(--sig-d)}
@media (max-width:640px){
  .novinky a{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:16px 0}
  .nov-kdy{grid-column:1;grid-row:1}
  .nov-zdroj{grid-column:2;grid-row:1;justify-self:end}
  .nov-nadpis{grid-column:1 / -1;grid-row:2}
}

/* objevování při scrollu */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1)}
.reveal.in{opacity:1;transform:none}

/* oznámení o přípravě webu */
.notice{background:var(--sig-bg);border-bottom:1px solid var(--sig-line);color:var(--sig-d);font-size:15px;line-height:1.5}
.notice .wrap{padding-top:13px;padding-bottom:13px;display:flex;gap:6px 14px;flex-wrap:wrap;align-items:baseline}
.notice b{font-weight:600;color:var(--on-sig)}
.notice a{color:var(--sig-d);font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.notice a:hover{color:var(--on-sig)}
@media (max-width:560px){.notice{font-size:14px}.notice .wrap{padding-top:11px;padding-bottom:11px}}

/* logo a hlavička */
.mark{width:34px;height:34px;flex:0 0 34px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none}
.logo .wm{font-family:var(--dsp);font-weight:700;font-size:14px;line-height:1.02;text-transform:uppercase}
.logo .wm i{display:block;font-style:normal;color:var(--sig-d)}

header{position:sticky;top:0;z-index:60;background:rgba(244,244,241,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:18px;height:70px}
nav{display:flex;gap:2px}
nav a{font-family:var(--mn);font-size:12px;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;color:var(--ink2);padding:9px 12px;border-radius:var(--rb)}
nav a:hover{background:#E7E8E3;color:var(--ink)}
nav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--sig)}

.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--bdy);font-weight:600;font-size:15px;text-decoration:none;padding:13px 24px;min-height:48px;border-radius:var(--rb);background:var(--sig);color:var(--on-sig);border:1px solid var(--sig);cursor:pointer;line-height:1.2;transition:background .16s,border-color .16s,transform .12s}
.btn:hover{background:var(--sig-h);border-color:var(--sig-h)}
.btn:active{transform:translateY(1px)}
.btn.dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn.dark:hover{background:#000;border-color:#000}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule2)}
.btn.ghost:hover{background:#E7E8E3}
.btn.on-dark{border-color:#3A403B;color:#EDEEEA;background:transparent}
.btn.on-dark:hover{background:#262B27}
.btn.sm{font-size:13px;padding:10px 16px;min-height:42px;white-space:nowrap}
.menu-btn{display:none;align-items:center;justify-content:center;background:none;border:1px solid var(--rule2);border-radius:var(--rb);min-width:48px;min-height:44px;padding:0 14px;font-family:var(--mn);font-size:12px;cursor:pointer;color:var(--ink)}

.sec{padding-top:78px;padding-bottom:78px}
.sec-tight{padding-top:56px;padding-bottom:56px}
.dark{background:var(--deep);color:#EDEEEA}
.dark h1,.dark h2,.dark h3{color:#fff}
.dark p{color:#AFB5B0}
.dark .eyebrow{color:#7E857F}

.crumb{font-family:var(--mn);font-size:12px;color:var(--ink3);padding-top:18px}
.crumb a{text-decoration:none}
.crumb a:hover{color:var(--ink)}

/* hero */
.hero{padding-top:76px;padding-bottom:64px}
.hero h1{max-width:15ch}
.hero .lede{margin-top:26px;color:#B4BAB5}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px;align-items:center}
.hero-note{font-family:var(--mn);font-size:12px;color:#7E857F}
.trust{display:flex;gap:34px;flex-wrap:wrap;margin-top:52px;padding-top:26px;border-top:1px solid #2D322E}
.trust div{font-size:14px;color:#AFB5B0;max-width:24ch;line-height:1.45}
.trust b{display:block;font-family:var(--dsp);font-weight:700;font-size:15px;color:#fff;margin-bottom:3px;letter-spacing:0}

.pains{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:36px}
.pain{background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--alert);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow)}
.pain p{margin:0;font-size:17px;font-weight:500;line-height:1.45}
.pain span{display:block;margin-top:9px;font-size:15px;color:var(--ink2);font-weight:400}

/* test */
.test{background:var(--card);border:1px solid var(--rule2);border-radius:var(--r);padding:30px 32px;max-width:760px;margin:34px auto 0;box-shadow:var(--shadow)}
.q{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--rule);align-items:flex-start}
.q:last-of-type{border-bottom:0}
.q input{margin:3px 0 0;width:22px;height:22px;accent-color:var(--sig);flex:0 0 22px;cursor:pointer}
.q label{font-size:16px;line-height:1.5;cursor:pointer;padding:2px 0}
.q label em{display:block;font-style:normal;font-family:var(--mn);font-size:11px;color:var(--ink3);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;line-height:1.5}
.verdict{margin-top:22px;padding:22px 24px;border-radius:var(--rb);background:var(--ok-bg);border:1px solid #BCDCCE}
.verdict.warn{background:var(--sig-bg);border-color:var(--sig-line)}
.verdict.bad{background:var(--alert-bg);border-color:#EDC6BC}
.verdict b{font-family:var(--dsp);font-size:22px;font-weight:700;display:block;margin-bottom:6px;letter-spacing:-.02em}
.verdict p{margin:0;font-size:16px;color:var(--ink2)}
.verdict .btn{margin-top:16px}

.case{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);display:grid;grid-template-columns:280px minmax(0,1fr);overflow:hidden;box-shadow:var(--shadow)}
.case-n{background:var(--deep);color:#fff;padding:34px 30px;display:flex;flex-direction:column;justify-content:center}
.case-n b{font-family:var(--dsp);font-size:52px;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--sig)}
.case-n span{font-size:15px;color:#AFB5B0;margin-top:10px;line-height:1.45}
.case-b{padding:34px}
.case-b p:last-child{margin-bottom:0}

.prepo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;margin-top:34px}
.prepo>div{padding:28px 30px}
.prepo>div:first-child{background:#EAEBE6;border-right:1px solid var(--rule)}
.prepo>div:last-child{background:var(--card)}
.prepo h3{margin-bottom:16px}
.prepo ul{margin:0;padding:0;list-style:none;font-size:16px}
.prepo li{padding:9px 0 9px 28px;position:relative;color:var(--ink2);line-height:1.5}
.prepo li::before{position:absolute;left:0;top:9px;font-family:var(--mn);font-size:15px}
.prepo .no li::before{content:'✕';color:var(--alert)}
.prepo .yes li::before{content:'✓';color:var(--ok)}

.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:34px}
.svc{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:26px;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease}
.svc:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.svc h3{margin-bottom:8px}
.svc h3 a{text-decoration:none}
.svc h3 a:hover{color:var(--sig-d)}
.svc p{font-size:16px;color:var(--ink2);margin:0 0 .8em}
.svc p:last-of-type{margin-bottom:0}
.svc .tag{font-family:var(--mn);font-size:12px;color:var(--sig-d);background:var(--sig-bg);padding:4px 10px;border-radius:99px;display:inline-block;margin-top:16px}

/* regulační rok: osa pro velké displeje */
.axis{position:relative;height:104px;border-bottom:1px solid var(--rule2);margin-top:26px}
.months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));height:100%}
.mo{border-left:1px solid var(--rule);position:relative}
.mo:first-child{border-left:0}
.mo span{position:absolute;bottom:-23px;left:0;font-family:var(--mn);font-size:11px;color:var(--ink3)}
.tick{position:absolute;bottom:0;width:9px;height:9px;background:var(--ink);border-radius:50%;transform:translateX(-50%);cursor:pointer;border:0;padding:0;transition:transform .15s}
.tick:hover,.tick.sel{transform:translateX(-50%) scale(1.7);background:var(--sig)}
.tick:focus-visible{outline:2px solid var(--sig);outline-offset:3px}
.tick::after{content:'';position:absolute;left:50%;bottom:4px;width:1px;height:var(--h);background:var(--rule2);transform:translateX(-50%)}
.now{position:absolute;top:0;bottom:0;width:2px;background:var(--sig)}
.now::after{content:'dnes';position:absolute;top:-7px;left:7px;font-family:var(--mn);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--sig-d);background:var(--sig-bg);padding:2px 6px;border-radius:99px;white-space:nowrap}
.detail{margin-top:48px;background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--sig);border-radius:var(--r);padding:24px 26px;min-height:120px;box-shadow:var(--shadow)}
.detail h3{margin-bottom:6px}
.detail .meta{display:flex;gap:26px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--rule)}
.detail .meta div{font-family:var(--mn);font-size:12px;color:var(--ink2)}
.detail .meta b{display:block;color:var(--ink3);font-weight:400;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}

/* regulační rok: seznam pro mobil */
.ledger-list{display:none;margin:26px 0 0;padding:0;list-style:none;border-top:1px solid var(--rule)}
.ledger-list li{border-bottom:1px solid var(--rule)}
.ledger-list details{border:0;padding:0}
.ledger-list summary{padding:16px 0;font-family:var(--bdy);font-size:16px;font-weight:500;letter-spacing:0;gap:12px;align-items:flex-start;min-height:56px}
.ledger-list summary>span{display:block}
.ledger-list summary::after{align-self:center}
.lg-when{font-family:var(--mn);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--sig-d);background:var(--sig-bg);padding:3px 9px;border-radius:99px;display:inline-block;margin-bottom:7px}
.ledger-list li.next .lg-when{background:var(--ink);color:var(--sig)}
.ledger-list details p{margin:0 0 14px;font-size:15px}
.ledger-list .lg-meta{font-family:var(--mn);font-size:12px;color:var(--ink2);line-height:1.8;padding:12px 0 18px;border-top:1px solid var(--rule)}
.ledger-list .lg-meta b{color:var(--ink3);font-weight:400;font-size:10px;letter-spacing:.12em;text-transform:uppercase;display:block;margin-top:10px}
.ledger-list .lg-meta b:first-child{margin-top:0}

.anchor{background:var(--deep2);color:#EDEEEA;padding:32px;border-radius:var(--r);margin-top:34px}
.anchor .row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:26px;align-items:center}
.anchor .num{font-family:var(--dsp);font-size:clamp(28px,4.4vw,34px);font-weight:700;letter-spacing:-.03em;color:#fff}
.anchor .num.hi{color:var(--sig)}
.anchor .lbl{font-size:15px;color:#AFB5B0;margin-top:6px;line-height:1.45}
.anchor .vs{font-family:var(--mn);font-size:12px;color:#7E857F;letter-spacing:.14em}
.anchor .src{font-family:var(--mn);font-size:11px;color:#7E857F;margin-top:24px;padding-top:16px;border-top:1px solid #333833;line-height:1.7}

.driver{border-top:1px solid var(--rule);padding:22px 0;display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px}
.driver:last-of-type{border-bottom:1px solid var(--rule)}
.driver h3{font-size:18px}
.driver p{margin:0;font-size:16px;color:var(--ink2)}
.fixed{border:2px solid var(--ink);border-radius:var(--r);background:var(--card);padding:32px;margin-top:44px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center}
.fixed .pr{font-family:var(--dsp);font-size:clamp(38px,6vw,44px);font-weight:700;letter-spacing:-.035em;line-height:1}
.fixed .per{font-family:var(--mn);font-size:11px;color:var(--ink3);margin-top:4px}
.fixed p:last-child{margin-bottom:0}

table{width:100%;border-collapse:collapse;font-size:16px;margin-top:26px}
th{font-family:var(--mn);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);font-weight:400;text-align:left;padding:0 0 10px;border-bottom:1px solid var(--ink)}
td{padding:15px 0;border-bottom:1px solid var(--rule);vertical-align:top}
td:last-child,th:last-child{text-align:right;white-space:nowrap;font-family:var(--mn);font-size:14px}
td small{display:block;color:var(--ink2);font-size:15px;line-height:1.5;margin-top:5px;font-weight:400}
td strong{font-weight:600}

details{border-bottom:1px solid var(--rule);padding:18px 0}
summary{font-family:var(--dsp);font-weight:600;font-size:19px;cursor:pointer;list-style:none;letter-spacing:-.015em;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';font-family:var(--mn);font-size:22px;color:var(--ink3);flex:0 0 auto}
details[open] summary::after{content:'-'}
details p{margin:13px 0 0;color:var(--ink2);font-size:16px;max-width:70ch}

.guar{border:2px solid var(--ink);border-radius:var(--r);background:var(--card);padding:32px 34px;display:grid;grid-template-columns:56px minmax(0,1fr);gap:22px;align-items:start}
.guar svg{width:56px;height:56px}
.guar p:last-child{margin-bottom:0}

.cv{border-top:1px solid var(--rule);padding:24px 0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:26px}
.cv .yr{font-family:var(--mn);font-size:13px;color:var(--ink3)}
.cv p{font-size:16px;color:var(--ink2);margin:6px 0 0}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px}
.field{margin-bottom:18px}
label.fl{display:block;font-family:var(--mn);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}
input[type=text],input[type=email],input[type=tel],textarea,select{width:100%;font-family:var(--bdy);font-size:16px;padding:14px;border:1px solid var(--rule2);background:var(--card);border-radius:var(--rb);color:var(--ink);min-height:50px}
input:focus,textarea:focus,select:focus{outline:2px solid var(--ink);outline-offset:-1px}
textarea{min-height:130px;resize:vertical}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg{font-size:16px;padding:15px 17px;border-radius:var(--rb);margin:0 0 22px}
.msg.ok{background:var(--ok-bg);border:1px solid #BCDCCE;color:#14513B}
.msg.err{background:var(--alert-bg);border:1px solid #EDC6BC;color:#8A3020}

.band{background:var(--sig);padding:64px 0;color:var(--on-sig)}
.band h2{color:var(--on-sig);max-width:20ch}
.band p{color:var(--sig-d);max-width:54ch;margin-top:14px;font-size:18px}
.band a.btn.ghost{border-color:var(--sig-h)}
.cap{font-family:var(--mn);font-size:12px;letter-spacing:.1em;text-transform:uppercase;background:var(--on-sig);color:var(--sig);padding:7px 13px;border-radius:99px;display:inline-block;margin-bottom:20px}

footer{background:var(--deep);color:#8A918C;padding:52px 0 30px;font-size:15px}
footer h4{font-family:var(--mn);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8A918C;margin:0 0 12px;font-weight:400}
footer a{color:#C3C8C3;text-decoration:none}
footer a:hover{color:#fff;text-decoration:underline}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:34px}
.fgrid ul{list-style:none;margin:0;padding:0;line-height:2.1}
.fbot{margin-top:38px;padding-top:22px;border-top:1px solid #2D322E;font-family:var(--mn);font-size:12px;color:#8A918C;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}


/* ═══════════════ MOBIL ═══════════════ */
@media (max-width:860px){
  .wrap{padding:0 20px}
  .sec{padding-top:52px;padding-bottom:52px}
  .sec-tight{padding-top:42px;padding-bottom:42px}
  .hero{padding-top:52px;padding-bottom:46px}
  .hero h1{max-width:none}

  nav{display:none}
  nav.open{display:flex;position:absolute;top:70px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--rule);flex-direction:column;padding:8px 20px 20px;box-shadow:0 12px 24px rgba(20,22,20,.08)}
  nav.open a{padding:15px 6px;font-size:14px;border-bottom:1px solid var(--rule)}
  nav.open a:last-child{border-bottom:0}
  .menu-btn{display:inline-flex}
  .bar{gap:10px}
  .btn.sm{padding:10px 14px}

  .two,.prepo,.case,.cv,.driver,.fixed,.guar{grid-template-columns:minmax(0,1fr)}
  .prepo>div:first-child{border-right:0;border-bottom:1px solid var(--rule)}
  .two{gap:38px}
  .case-b,.prepo>div,.anchor,.guar,.fixed{padding:24px 22px}
  .case-n{padding:26px 22px}
  .test{padding:24px 20px}
  .cv{padding:20px 0;gap:6px}
  .driver{gap:8px;padding:20px 0}

  .trust{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:38px;padding-top:24px}
  .trust div{max-width:none;font-size:13.5px}

  .anchor .row{grid-template-columns:minmax(0,1fr);gap:0}
  .anchor .vs{padding:16px 0;border-top:1px solid #333833;border-bottom:1px solid #333833;margin:18px 0;text-align:center}

  .fixed>div:last-child{text-align:left!important}
  .fixed .btn{width:100%}

  .axis,.detail{display:none}
  .ledger-list{display:block}
}

@media (max-width:560px){
  h3{font-size:19px}
  .cta-row{gap:10px;width:100%}
  .cta-row .btn{width:100%}
  .hero-note{width:100%;text-align:center;padding-top:2px}
  .trust{grid-template-columns:minmax(0,1fr);gap:16px}
  .pains{gap:12px}
  .pain{padding:20px}
  .svc{padding:22px}
  .svc:hover{transform:none;box-shadow:var(--shadow)}
  .band{padding:48px 0}
  .band p{font-size:17px}
  .case-n b{font-size:44px}
  .detail .meta{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
  .fgrid{gap:28px}
  summary{font-size:17px}

  table{margin-top:20px}
  table caption{padding-bottom:6px}
  thead{position:absolute;left:-9999px}
  tbody tr{display:block;padding:14px 0;border-bottom:1px solid var(--rule)}
  tbody td{display:block;border:0;padding:0;font-size:16px}
  tbody td:last-child{text-align:left;font-family:var(--dsp);font-weight:700;font-size:19px;letter-spacing:-.02em;color:var(--ink);margin-top:6px;white-space:normal}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1!important;transform:none!important}
}

@media (max-width:460px){
  .logo .wm{display:none}
  .bar{gap:8px}
  .btn.sm{font-size:12.5px;padding:10px 12px}
}

/* ── stránka Nástroj: čísla, funkce, postup ───────────────── */
.cisla{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:var(--r);
  overflow:hidden;margin-top:36px}
.cisla div{background:var(--card);padding:24px 22px}
.cisla b{display:block;font-family:var(--dsp);font-size:38px;font-weight:700;
  letter-spacing:-.035em;line-height:1;margin-bottom:9px}
.cisla span{display:block;font-size:14.5px;color:var(--ink2);line-height:1.45}
.cisla em{display:block;font-style:normal;font-family:var(--mn);font-size:10.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--ink3);margin-top:9px}
.dark .cisla{background:#2D322E;border-color:#2D322E}
.dark .cisla div{background:var(--deep2)}
.dark .cisla b{color:var(--sig)}
.dark .cisla span{color:#AFB5B0}
.dark .cisla em{color:#7E857F}
@media (max-width:560px){.cisla b{font-size:32px}.cisla div{padding:20px 18px}}

.hrb{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;
  margin-top:34px}
.hrb>div{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);
  padding:24px 26px;box-shadow:var(--shadow)}
.hrb h3{font-size:18px;margin-bottom:9px}
.hrb p{font-size:15.5px;color:var(--ink2);margin:0 0 .7em;line-height:1.55}
.hrb p:last-child{margin-bottom:0}
.hrb .zdroj{font-family:var(--mn);font-size:11.5px;color:var(--ink3);
  display:block;margin-top:12px;line-height:1.5}

.kroky{counter-reset:k;margin-top:34px;margin-bottom:34px;border-top:1px solid var(--rule)}
.kroky>div{counter-increment:k;display:grid;grid-template-columns:52px minmax(0,1fr);
  gap:20px;padding:24px 0;border-bottom:1px solid var(--rule);align-items:start}
.kroky>div::before{content:counter(k);font-family:var(--dsp);font-size:22px;
  font-weight:700;color:var(--sig-d);background:var(--sig-bg);border-radius:50%;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  letter-spacing:-.02em}
.kroky h3{font-size:18px;margin-bottom:6px;grid-column:2}
.kroky p{font-size:16px;color:var(--ink2);margin:0;grid-column:2}
.kroky p+p{margin-top:.6em}
@media (max-width:560px){.kroky>div{grid-template-columns:38px minmax(0,1fr);gap:14px}
  .kroky>div::before{width:34px;height:34px;font-size:17px}}

.dukaz{background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--ok);
  border-radius:var(--r);padding:24px 26px;margin-top:26px;box-shadow:var(--shadow)}
.dukaz p{margin:0 0 .7em;font-size:16px;color:var(--ink2)}
.dukaz p:last-child{margin-bottom:0}
.dukaz b{color:var(--ink)}

/* ── B8: dvojjazyčné stránky ──────────────────────────────────────────
   Cizí jazyk nese sdělení, čeština pod ním je kontrola. Musí být čitelná,
   ale nesmí soupeřit o pozornost, jinak stránka vypadá jako dva weby
   přes sebe. Odtud menší stupeň a tlumená barva, ne kurzíva a ne šeď
   pod hranicí kontrastu. */
.jz-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:2px;max-width:74ch}
.jz-list li{padding:14px 0;border-bottom:1px solid var(--line);line-height:1.65}
.jz-list small{display:block;margin-top:6px;color:var(--ink2);font-size:14px;line-height:1.6}
.jz-ne li{border-left:3px solid var(--sig,#6b7280);padding-left:14px;border-bottom:0;
  margin-bottom:10px}
.jz-h2cs{display:block;margin-top:6px;color:var(--ink2);font-size:15px;font-weight:400;
  line-height:1.5}
.jz-ledecs{margin-top:10px;color:var(--ink2);font-size:15.5px}
.jz-prep-cs{padding-bottom:4px}
@media print{.jz-list small{color:#444}}

/* ── B7: přepínač jazyka a dvojjazyčné otázky ─────────────────────────
   Přepínač je nad nadpisem, ne v patičce: kdo dostane odkaz přeposlaný
   ve špatném jazyce, musí ho najít hned, ne po odrolování stránky. */
.jz-prep{display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  padding:14px 0 0;font-size:15px}
.jz-prep a,.jz-prep .jz-akt{display:inline-flex;align-items:center;min-height:44px;
  padding:11px 18px;border-radius:999px;border:1px solid var(--line);text-decoration:none;
  font-size:16px}
.jz-prep a{color:var(--ink2)}
.jz-prep a:hover,.jz-prep a:focus-visible{border-color:var(--ink);color:var(--ink)}
.jz-prep .jz-akt{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:600}
.jz-ot li{padding-top:13px;padding-bottom:13px}
.jz-ot small{display:block;margin-top:5px;color:var(--ink2);font-size:13.5px;line-height:1.55}
@media print{.jz-prep{display:none}}

/* ── B6: segmenty podle typu provozu ──────────────────────────────────
   Karty na titulce (.pv-karty), blok „co povinnost není" (.gs-p-ne)
   a seznam na obhlídku (.gs-check), který se tiskne. Tisk je tu vážně
   míněný: ten seznam vzniká proto, aby se s ním dalo jít do dílny. */
.pv-karty{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
  gap:14px;margin-top:20px}
.pv-karta{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--line);
  border-radius:14px;background:var(--card);text-decoration:none;color:inherit;
  transition:border-color .15s,transform .15s}
.pv-karta:hover,.pv-karta:focus-visible{border-color:var(--ink);transform:translateY(-2px)}
.pv-karta b{font-size:18px;line-height:1.3}
.pv-karta span{color:var(--ink2);font-size:15px;line-height:1.6}
.pv-karta em{font-style:normal;font-weight:600;font-size:14px;margin-top:auto;padding-top:6px}
.gs-p-ne{border-left:3px solid var(--sig,#6b7280);padding-left:14px}
.gs-p-ne span{display:block;line-height:1.75}
.gs-check{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:2px;max-width:70ch}
.gs-check li{position:relative;padding:11px 0 11px 40px;border-bottom:1px solid var(--line);
  line-height:1.6}
.gs-check li::before{content:"";position:absolute;left:6px;top:12px;width:18px;height:18px;
  border:2px solid var(--ink2);border-radius:4px}
.gs-tisk{margin-top:20px}
@media print{
  .gs-obhl{page-break-before:always}
  .gs-tisk,.pv-karty{display:none}
  .gs-check li{border-bottom:1px solid #999}
}

/* ── B5: odkaz z citace předpisu do Sbírky ────────────────────────────
   Citace uvnitř věty. Podtržení tečkované, aby se nepletlo s běžným
   odkazem a zároveň bylo vidět, že tam něco je. Výjimka „Inline" v SC
   2.5.8 platí, protože je to odkaz uvnitř textu odstavce. */
.zdroj-p{color:inherit;text-decoration:underline;text-decoration-style:dotted;
  text-decoration-thickness:1px;text-underline-offset:3px;
  text-decoration-color:var(--sig,#6b7280)}
.zdroj-p:hover,.zdroj-p:focus-visible{text-decoration-style:solid;color:var(--ink)}
@media print{.zdroj-p{text-decoration:none}}


/* ═══════════ rodina Paušální tým: rozcestník a sestavovač ═══════════ */
.oborgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:14px;margin-top:34px}
.obor-karta{display:flex;flex-direction:column;gap:7px;background:var(--card);border:1px solid var(--rule);
  border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow);text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.obor-karta:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);border-color:var(--rule2)}
.obor-karta-h{font-family:var(--dsp);font-weight:700;font-size:19px;letter-spacing:-.015em;color:var(--ink)}
.obor-karta-p{font-size:15px;color:var(--ink2);line-height:1.5;flex:1}
.obor-karta-s{color:var(--ink3);font-size:18px;line-height:1;align-self:flex-start;
  transition:transform .18s ease,color .18s ease}
.obor-karta:hover .obor-karta-s{transform:translateX(3px);color:var(--ink)}
.obor-badge{font-family:var(--mn);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  padding:3px 9px;border-radius:99px;display:inline-block;width:max-content}
.obor-badge.live{background:var(--sig-bg);color:var(--sig-d);border:1px solid var(--sig-line)}
.obor-badge.brzy{background:#EAEBE6;color:var(--ink3);border:1px solid var(--rule2)}

.volby{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:30px}
.volby fieldset{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);
  padding:20px 22px;margin:0;box-shadow:var(--shadow)}
.volby legend{font-family:var(--mn);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink3);padding:0 8px;margin-left:-8px}
.volby label{display:flex;gap:11px;align-items:flex-start;padding:9px 0;cursor:pointer;
  font-size:16px;line-height:1.45;border-bottom:1px solid var(--rule)}
.volby label:last-child{border-bottom:0}
.volby input{margin:2px 0 0;width:20px;height:20px;flex:0 0 20px;accent-color:var(--sig);cursor:pointer}
/* textová pole uvnitř skupin voleb nesmí dostat rozměry zaškrtávátka */
.kalk-blok input:not([type=checkbox]):not([type=radio]),
.volby input:not([type=checkbox]):not([type=radio]),
.q input:not([type=checkbox]):not([type=radio]){width:100%;height:auto;min-height:50px;
  flex:0 0 auto;margin:0;padding:14px;accent-color:auto;cursor:text}
.nastroj-shrnuti{background:var(--deep);color:#fff;border-radius:var(--r);padding:24px 26px}
.nastroj-shrnuti b{font-family:var(--dsp);font-size:26px;font-weight:700;letter-spacing:-.02em;display:block}
.nastroj-shrnuti p{color:#AFB5B0;margin:8px 0 0;font-size:16px}
@media (max-width:700px){.volby{grid-template-columns:minmax(0,1fr)}}

.partnergrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:30px}
.partner{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow)}
.partner h3{font-size:18px;margin-bottom:8px}
.partner p{font-size:15px;color:var(--ink2);margin:0 0 14px;line-height:1.55}
.partner .tag{font-family:var(--mn);font-size:11px;color:var(--ink3);border:1px dashed var(--rule2);
  border-radius:99px;padding:4px 10px;display:inline-block}

/* ── zastřešující web: pruh ikon oborů v hero a barevný rozcestník ── */
.heroicon-del{display:inline-block;width:1px;height:34px;background:rgba(255,255,255,.16);margin:0 8px;flex:0 0 auto;align-self:center}
.heroicons{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.heroicon{width:52px;height:52px;flex:0 0 52px;border-radius:13px;display:flex;align-items:center;
  justify-content:center;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.heroicon svg{width:30px;height:30px;display:block}
.heroicon:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 10px 22px rgba(0,0,0,.35)}

.oborshow{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:36px}
.oborshow-card{position:relative;display:flex;flex-direction:column;gap:14px;background:var(--card);
  border:1px solid var(--rule);border-radius:16px;padding:28px 26px 22px;box-shadow:var(--shadow);
  text-decoration:none;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.oborshow-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--c)}
.oborshow-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift);border-color:var(--c)}
.oborshow-head{display:flex;align-items:center;gap:16px}
.oborshow-ico{width:58px;height:58px;flex:0 0 58px;border-radius:15px;display:flex;align-items:center;
  justify-content:center;background:var(--ct)}
.oborshow-ico svg{width:40px;height:40px;display:block}
.oborshow-name{font-family:var(--dsp);font-weight:700;font-size:21px;letter-spacing:-.02em;
  color:var(--ink);line-height:1.1}
.oborshow-tag{font-size:15.5px;color:var(--ink2);line-height:1.55;flex:1;margin:0}
.oborshow-foot{display:flex;justify-content:space-between;align-items:center;margin-top:4px;gap:12px}
.oborshow-go{font-family:var(--mn);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--c);display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.oborshow-card:hover .oborshow-go{gap:11px}
.oborshow-card.brzy-card{border-style:dashed;box-shadow:none}
@media (max-width:560px){.oborshow-card{padding:22px}}

/* ── Hlídač povinností (aplikace na pausalnitym.cz/hlidac.html) ── */
.hz-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 26px;border-bottom:1px solid var(--rule)}
.hz-tab{font-family:var(--bdy);font-size:15px;font-weight:600;color:var(--ink3);background:none;border:0;
  border-bottom:2px solid transparent;padding:10px 14px;cursor:pointer;margin-bottom:-1px}
.hz-tab:hover{color:var(--ink)}
.hz-tab-on{color:var(--sig-d);border-bottom-color:var(--sig)}
.hz-h2{font-family:var(--dsp);font-size:23px;font-weight:700;letter-spacing:-.02em;margin:28px 0 6px}
.hz-h2:first-child{margin-top:0}
.hz-lede{color:var(--ink2);font-size:16px;line-height:1.6;margin:0 0 18px;max-width:62ch}
.hz-card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:26px 28px;box-shadow:var(--shadow);margin-bottom:8px}
.hz-grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 18px}
.hz-span2{grid-column:1/-1}
.hz-field{display:flex;flex-direction:column;gap:8px}
.hz-field label{font-family:var(--bdy);font-size:13px;font-weight:600;color:var(--ink2);line-height:1.35}
.hz-field input,.hz-field select{width:100%;font-family:var(--bdy);font-size:16px;padding:12px 14px;border:1px solid var(--rule2);
  background:var(--paper);border-radius:var(--rb);color:var(--ink);min-height:48px}
.hz-fset{margin-top:18px}
.hz-leg{display:block;font-family:var(--bdy);font-size:13px;font-weight:600;color:var(--ink2);line-height:1.35;margin-bottom:10px}
.hz-radio,.hz-check{display:flex;gap:10px;align-items:flex-start;padding:8px 0;cursor:pointer;font-size:16px;line-height:1.4}
.hz-radio input,.hz-check input{margin-top:3px;width:18px;height:18px;flex:0 0 18px;accent-color:var(--sig-d);cursor:pointer}
.hz-btnrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:20px}
.hz-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:10px}
.hz-stat{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:18px 16px;text-align:center;box-shadow:var(--shadow)}
.hz-stat b{font-family:var(--dsp);font-size:30px;font-weight:700;display:block;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.hz-stat span{font-size:13px;color:var(--ink3)}
.hz-stat-soon{border-color:var(--sig-line);background:var(--sig-bg)}
.hz-stat-soon b{color:var(--sig-d)}
.hz-stat-over{border-color:#F3B7B7;background:#FBEBEB}
.hz-stat-over b{color:#B3261E}
.hz-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.hz-item{background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--rule2);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}
.hz-item.hz-over{border-left-color:#B3261E}
.hz-item.hz-soon{border-left-color:var(--sig)}
.hz-item.hz-done{opacity:.6}
.hz-item-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.hz-item-top b{font-size:17px}
.hz-item-meta{margin-top:6px;font-size:14px;color:var(--ink2)}
.hz-date{font-weight:600;color:var(--ink)}
.hz-item-text{margin:8px 0 0;font-size:15px;color:var(--ink2);line-height:1.5}
.hz-item-foot{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:12px}
.hz-b{font-family:var(--mn);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:99px;white-space:nowrap}
.hz-b.hz-over{background:#FBEBEB;color:#B3261E;border:1px solid #F3B7B7}
.hz-b.hz-soon{background:var(--sig-bg);color:var(--sig-d);border:1px solid var(--sig-line)}
.hz-b.hz-done{background:#E7F3EA;color:#256B36;border:1px solid #BBE0C4}
.hz-b.hz-ok{background:#EEF0EC;color:var(--ink3);border:1px solid var(--rule2)}
.hz-obor{font-family:var(--mn);font-size:12px;color:var(--sig-d);text-decoration:none;border-bottom:1px solid var(--sig-line)}
.hz-obor:hover{border-bottom-color:var(--sig)}
.hz-link{font-family:var(--mn);font-size:12px;letter-spacing:.03em;color:var(--ink3);background:none;border:0;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}
.hz-link:hover{color:var(--ink)}
.hz-link.hz-del{color:#B3261E}
.hz-znac{display:inline-block;font-family:var(--mn);font-size:11px;color:#8a5a00;background:#fbf1d9;border-radius:4px;padding:1px 6px}
.hz-mut{color:var(--ink3);font-size:13px}
.hz-podklad table{width:100%;border-collapse:collapse;margin:0 0 6px}
.hz-podklad td{border-bottom:1px solid var(--rule);padding:9px 4px;font-size:15px;vertical-align:top}
.hz-podklad td:first-child{color:var(--ink3);width:42%}
.hz-sec{font-family:var(--mn);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin:18px 0 4px}
.hz-modal{position:fixed;inset:0;background:rgba(20,22,20,.55);display:none;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:100;overflow:auto}
.hz-modal-box{background:var(--paper);border-radius:var(--r);padding:28px;max-width:640px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.hz-zdroj{font-family:var(--mn);font-size:12px;color:var(--ink3)}
.hz-zdroj.hz-zdroj{border:0}
.hz-podk-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:16px}
.hz-podk-btn{text-align:left;background:var(--paper);border:1px solid var(--rule2);border-radius:var(--r);padding:16px 18px;cursor:pointer;display:flex;flex-direction:column;gap:4px;font-family:var(--bdy);transition:border-color .15s,box-shadow .15s}
.hz-podk-btn:hover{border-color:var(--sig);box-shadow:var(--shadow)}
.hz-podk-btn b{font-size:16px;color:var(--ink)}
.hz-podk-btn span{font-size:13px;color:var(--ink3)}
.ot-mount{margin-top:26px}
.ot-intro{margin-top:14px;font-size:13px;color:var(--ink3)}
.kk-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:22px}
.kk-grid.kk-solo{grid-template-columns:minmax(0,1fr);max-width:760px}
.kk-solo .kk-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:640px){.kk-solo .kk-form{grid-template-columns:minmax(0,1fr)}}

.kk-card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow)}
.kk-h3{font-family:var(--dsp);font-size:19px;font-weight:700;letter-spacing:-.01em;margin:0 0 6px}
.kk-popis{font-size:14px;color:var(--ink2);line-height:1.55;margin:0 0 16px}
.kk-form{display:flex;flex-direction:column;gap:12px}
.kk-field{display:flex;flex-direction:column;gap:8px}
.kk-field label{font-family:var(--bdy);font-size:13px;font-weight:600;color:var(--ink2);line-height:1.35}
.kk-field input,.kk-field select{width:100%;font-family:var(--bdy);font-size:16px;padding:12px 14px;border:1px solid var(--rule2);border-radius:var(--rb);background:var(--paper);color:var(--ink);min-height:48px}
.hz-field input:focus,.hz-field select:focus,.kk-field input:focus,.kk-field select:focus,.fk-block input:focus,.fk-pol input:focus,.fk-pol select:focus,.dg-field input:focus,.dg-field select:focus,.ck-field input:focus,.ck-field select:focus,.ck-field textarea:focus{outline:none;border-color:var(--sig-d);box-shadow:0 0 0 3px var(--sig-bg)}
.kk-znac{display:inline-block;font-family:var(--mn);font-size:10px;color:#8a5a00;background:#fbf1d9;border-radius:4px;padding:1px 5px;margin-left:6px;letter-spacing:0}
.kk-checks{display:flex;flex-direction:column;gap:6px}
.kk-check{display:flex;gap:9px;align-items:flex-start;font-size:15px;line-height:1.4;cursor:pointer}
.kk-check input{margin-top:3px;width:18px;height:18px;flex:0 0 18px;accent-color:var(--sig-d);cursor:pointer}
.kk-out{margin-top:16px;padding-top:16px;border-top:1px solid var(--rule)}
.kk-out-head b{font-family:var(--dsp);font-size:22px;font-weight:700;color:var(--sig-d);display:block;line-height:1.2;font-variant-numeric:tabular-nums}
.kk-out-head p{font-size:14px;color:var(--ink2);margin:6px 0 0;line-height:1.5}
.kk-hint{font-size:14px;color:var(--ink3);margin:0}
.kk-tab{width:100%;border-collapse:collapse;margin:14px 0 0}
.kk-tab td{border-bottom:1px solid var(--rule);padding:8px 4px;font-size:14px}
.kk-tab td:first-child{color:var(--ink3)}
.kk-tab td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}
.kk-tab tr:last-child td{border-bottom:0;font-size:15px}
.kk-warn{font-size:12px;color:var(--ink3);line-height:1.55;margin:14px 0 0;padding:10px 12px;background:var(--sig-bg);border-radius:8px}
/* blok „moment rizika" pod výsledkem, nabídka lidského kontaktu */
.kk-risk{margin:16px 0 0;padding:16px 18px;border:1px solid var(--sig-line);border-left:3px solid var(--sig);border-radius:10px;background:var(--sig-bg)}
.kk-risk-h{display:block;font-family:var(--dsp);font-size:17px;font-weight:700;color:var(--sig-d);line-height:1.25}
.kk-risk-p{font-size:14px;color:var(--ink2);line-height:1.55;margin:6px 0 0}
.kk-risk-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.kk-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--rule2);border-radius:999px;background:var(--paper);font-size:13px;color:var(--ink2);cursor:pointer;line-height:1.2}
.kk-chip input{width:15px;height:15px;accent-color:var(--sig-d);cursor:pointer;margin:0}
.kk-chip:has(input:checked){border-color:var(--sig-d);background:var(--card);color:var(--ink);box-shadow:0 0 0 2px var(--sig-bg)}
.kk-cta{display:inline-block;margin:14px 0 0;padding:12px 20px;background:var(--sig-d);color:#fff;font-family:var(--mn);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border-radius:10px;min-height:44px;line-height:20px}
.kk-cta:hover{background:var(--ink)}
.kk-risk-note{font-size:11px;color:var(--ink3);margin:10px 0 0;line-height:1.5}
.svc-vic{display:block;margin:12px 0 0;font-family:var(--mn);font-size:12px;color:var(--sig-d);text-decoration:none;border-bottom:1px solid var(--sig-line);width:max-content;max-width:100%}
.svc-vic:hover{border-bottom-color:var(--sig-d)}
.rejstrik{font-size:13px;color:var(--ink3);line-height:2;margin:18px 0 0;padding-top:14px;border-top:1px solid var(--rule)}
.rejstrik b{color:var(--ink2);display:block;margin-bottom:4px;font-size:13px}
.rejstrik a{color:var(--sig-d);text-decoration:none;border-bottom:1px solid var(--sig-line);white-space:nowrap}
.rejstrik a:hover{border-bottom-color:var(--sig-d)}
.kk-zarid{font-size:13px;color:var(--ink3);margin:14px 0 0;padding-top:12px;border-top:1px solid var(--rule)}
.kk-zarid a{color:var(--sig-d);font-weight:600;text-decoration:none;border-bottom:1px solid var(--sig-line)}
.kk-zarid a:hover{border-bottom-color:var(--sig-d)}
.pv-zarid{margin:12px 0 0}
.pv-zarid a{font-family:var(--mn);font-size:12px;color:var(--sig-d);text-decoration:none;border-bottom:1px solid var(--sig-line)}
.pv-zarid a:hover{border-bottom-color:var(--sig-d)}
/* statická stránka povinností (indexovatelný obsah, dřív jen v JS) */
.pv-list{display:grid;gap:14px;margin-top:20px}
.pv-item{border:1px solid var(--rule);border-left:3px solid var(--sig);border-radius:10px;padding:18px 20px;background:var(--card)}
.pv-item h3{font-family:var(--dsp);font-size:19px;font-weight:700;margin:0;line-height:1.25}
.pv-meta{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}
.pv-cet{font-family:var(--mn);font-size:12px;color:var(--sig-d);background:var(--sig-bg);border:1px solid var(--sig-line);border-radius:999px;padding:3px 10px}
.pv-znac{font-family:var(--mn);font-size:12px;color:var(--ink3);border:1px dashed var(--rule2);border-radius:999px;padding:3px 10px}
.pv-item p{font-size:15px;color:var(--ink2);line-height:1.65;margin:10px 0 0}
.pv-komu{font-size:13px;color:var(--ink3)}
.pv-kdo{margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--ink2)}
.pv-zdroj{font-family:var(--mn);font-size:12px;color:var(--ink3);margin-top:8px}
.pv-lbl{display:inline-block;font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:10.5px;margin-right:.7em;color:var(--ink2)}
/* lepicí lišta akcí na mobilu: menu se na telefonu skoro neotevírá, hlavní
   akce proto musí být dosažitelné pořád, v palcové zóně u spodní hrany */
.mobillista{display:none}
@media (max-width:760px){
  .mobillista{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;
    background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(8px);
    border-top:1px solid var(--rule2);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px}
  .ml-i{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;
    min-height:46px;padding:6px 8px;border-radius:10px;border:1px solid var(--rule2);
    background:var(--paper);color:var(--ink);font-family:var(--mn);font-size:12px;
    font-weight:700;letter-spacing:.02em;text-decoration:none;line-height:1.2}
  .ml-hlavni{background:var(--sig-d);border-color:var(--sig-d);color:#fff}
  .ml-zde{opacity:.45}
  body{padding-bottom:74px}
  footer{padding-bottom:18px}
  /* poptávka je teď v liště dole, v hlavičce zabírala místo názvu webu */
  header .bar > .btn.sm{display:none}
  header .logo .wm{display:inline}
}
/* síťový proužek nad hlavičkou: návrat na rozcestník z každé stránky */
.sitpruh{background:#0E100E;color:#8A918C;font-family:var(--mn);font-size:12px;line-height:1.2;border-bottom:1px solid #23261F}
.sitpruh .wrap{display:flex;align-items:center;gap:8px;min-height:34px;padding-top:0;padding-bottom:0;position:relative}
.sp-home{color:#C3C8C3;text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
a.sp-home:hover{color:#fff;border-bottom-color:var(--sig)}
.sp-sep{color:#565C58}
.sp-cur{color:#8A918C}
.sp-vic{margin-left:auto;background:none;border:0;color:#8A918C;font-family:var(--mn);font-size:12px;cursor:pointer;padding:8px 0;min-height:34px}
.sp-vic:hover{color:#fff}
.sp-vic::after{content:" ▾"}
.sp-list{position:absolute;right:0;top:34px;z-index:60;background:var(--paper);border:1px solid var(--rule2);border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.18);padding:6px;min-width:290px;max-width:min(94vw,360px);max-height:70vh;overflow:auto}
.sp-i{display:block;padding:9px 12px;border-radius:8px;text-decoration:none;color:var(--ink);font-family:var(--bdy);font-size:14px;font-weight:600;line-height:1.3}
.sp-i i{display:block;font-style:normal;font-weight:400;font-size:12px;color:var(--ink3);margin-top:2px}
a.sp-i:hover{background:var(--sig-bg)}
.sp-i-zde{color:var(--ink3);background:var(--card)}
.sp-i-hub{border-top:1px solid var(--rule);margin-top:4px;padding-top:11px;color:var(--sig-d)}
@media (max-width:640px){.sp-cur{display:none}.sp-sep{display:none}.sp-home::before{content:"‹ "}}
/* poctivý teaser placené vrstvy Hlídače (snímek vs. hlídání za vás) */
.hz-prem{margin:14px 0 4px;padding:14px 16px;border:1px dashed var(--rule2);border-radius:10px;background:var(--card);font-size:13px;color:var(--ink2);line-height:1.6}
.hz-prem b{color:var(--ink)}
.hz-prem a{color:var(--sig-d);font-weight:600;text-decoration:none;border-bottom:1px solid var(--sig-line)}
.hz-prem a:hover{border-bottom-color:var(--sig-d)}
/* moment rizika v Hlídači (obor_tool), povinnosti po termínu */
.hz-risk{margin:18px 0 4px;padding:16px 18px;border:1px solid var(--sig-line);border-left:3px solid var(--sig);border-radius:10px;background:var(--sig-bg)}
.hz-risk-h{display:block;font-family:var(--dsp);font-size:17px;font-weight:700;color:var(--sig-d);line-height:1.25}
.hz-risk-p{font-size:14px;color:var(--ink2);line-height:1.55;margin:6px 0 0}
.hz-cta{display:inline-block;margin:14px 0 0;padding:12px 20px;background:var(--sig-d);color:#fff;font-family:var(--mn);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border-radius:10px;min-height:44px;line-height:20px}
.hz-cta:hover{background:var(--ink)}
.hz-risk-note{font-size:11px;color:var(--ink3);margin:10px 0 0;line-height:1.5}
/* generátor faktur */
.fk-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;margin-top:22px;align-items:start}
.fk-form{display:flex;flex-direction:column;gap:16px}
.fk-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.fk-block{border:1px solid var(--rule);border-radius:var(--r);padding:16px 18px;background:var(--card);min-width:0}
.fk-block legend{font-family:var(--mn);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);padding:0 6px}
.fk-field{display:flex;flex-direction:column;gap:8px;margin-top:10px;min-width:0}
.fk-field label{font-family:var(--bdy);font-size:13px;font-weight:600;color:var(--ink2);line-height:1.35}
.fk-block input{width:100%;font-family:var(--bdy);font-size:16px;padding:12px 14px;border:1px solid var(--rule2);border-radius:var(--rb);background:var(--paper);color:var(--ink);min-height:48px}
.fk-radio{display:flex;gap:9px;align-items:center;margin-top:10px;font-size:15px;cursor:pointer}
.fk-radio input{width:18px;height:18px;accent-color:var(--sig-d)}
.fk-mut{color:var(--ink3);font-size:12px;margin:8px 0 0}
.fk-doplnit{background:#fff3c4;color:#5a4300;padding:0 3px;border-radius:3px;font-weight:600}
.fk-pol{display:grid;grid-template-columns:minmax(0,1fr) 70px 100px 74px 32px;gap:8px;align-items:center;margin-bottom:8px}
.fk-pol input,.fk-pol select{font-family:var(--bdy);font-size:15px;padding:9px 10px;border:1px solid var(--rule2);border-radius:var(--rb);background:var(--paper);color:var(--ink);min-width:0}
.fk-pol-head{font-family:var(--mn);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3)}
.fk-pol-head span:nth-child(2),.fk-pol-head span:nth-child(3),.fk-pol-head span:nth-child(4){text-align:right}
.fk-pol-num{text-align:right}
.fk-pol-del{background:none;border:1px solid var(--rule2);border-radius:7px;color:#B3261E;cursor:pointer;font-size:13px;padding:7px 0}
.fk-pol-del:hover{background:#FBEBEB}
.fk-nahled-lbl{display:block;font-family:var(--mn);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:10px}
.fk-doklad{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.fk-dok-head h3{font-family:var(--dsp);font-size:22px;margin:0}
.fk-dok-two{display:flex;gap:26px;margin:18px 0}
.fk-dok-two>div{flex:1;font-size:14px;line-height:1.6}
.fk-lbl{display:block;font-family:var(--mn);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3);margin-bottom:3px}
.fk-dok-meta{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:13px;color:var(--ink2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:11px 0;margin:6px 0 16px}
.fk-dok-tab{width:100%;border-collapse:collapse}
.fk-dok-tab th,.fk-dok-tab td{border-bottom:1px solid var(--rule);padding:8px 5px;font-size:14px;text-align:left}
.fk-r{text-align:right!important}
.fk-dok-sum{display:flex;justify-content:flex-end;margin-top:12px}
.fk-dok-sum table{width:auto;min-width:260px;border-collapse:collapse}
.fk-dok-sum td{padding:5px 6px;font-size:14px}
.fk-total td{font-weight:700;font-size:16px;border-top:2px solid var(--ink)}
.fk-note{font-size:12px;color:var(--ink3);margin-top:22px}
.fk-qr-wrap{display:flex;justify-content:flex-end;margin-top:14px}
.fk-qr{display:flex;flex-direction:column;align-items:center;gap:3px}
.fk-qr .fk-qr-img svg{width:120px;height:120px;display:block}
.fk-qr-lbl{font-family:var(--mn);font-size:10px;color:var(--ink3);max-width:160px;text-align:center;line-height:1.4}
/* generátor dokumentů */
.dg-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:22px 0 4px;border-bottom:1px solid var(--rule)}
.dg-tab{font-family:var(--bdy);font-size:14px;font-weight:600;color:var(--ink3);background:none;border:0;border-bottom:2px solid transparent;padding:10px 14px;cursor:pointer;margin-bottom:-1px}
.dg-tab:hover{color:var(--ink)}
.dg-tab-on{color:var(--sig-d);border-bottom-color:var(--sig)}
.dg-popis{color:var(--ink2);font-size:15px;margin:8px 0 4px;max-width:62ch}
.dg-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;margin-top:14px;align-items:start}
.dg-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.dg-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.dg-field.dg-wide{grid-column:1/-1}
.dg-field label{font-family:var(--bdy);font-size:13px;font-weight:600;color:var(--ink2);line-height:1.35}
.dg-field input,.dg-field select{width:100%;font-family:var(--bdy);font-size:16px;padding:12px 14px;border:1px solid var(--rule2);border-radius:var(--rb);background:var(--paper);color:var(--ink);min-height:48px}
.dg-checks{display:flex;flex-direction:column;gap:6px}
.dg-check{display:flex;gap:9px;align-items:flex-start;font-size:14px;line-height:1.4;cursor:pointer}
.dg-check input{margin-top:3px;width:18px;height:18px;flex:0 0 18px;accent-color:var(--sig-d)}
.dg-nahled-lbl{display:block;font-family:var(--mn);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:10px}
.dg-doklad{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);padding:26px 28px;box-shadow:var(--shadow);max-height:640px;overflow:auto}
.dg-title{font-family:var(--dsp);font-size:21px;margin:0 0 8px}
.dg-uvod{color:var(--ink2);font-size:14px;line-height:1.6;margin:0 0 8px}
.dg-h4{font-size:15px;margin:18px 0 5px}
.dg-doklad p{font-size:14px;line-height:1.65;margin:0 0 8px;color:var(--ink)}
.dg-ul{margin:6px 0 8px;padding-left:20px}
.dg-ul li{font-size:14px;line-height:1.6;margin-bottom:3px}
.dg-doplnit{background:#fbf1d9;color:#8a5a00;padding:0 5px;border-radius:3px;font-family:var(--mn);font-size:.82em}
.dg-date{margin-top:24px!important;color:var(--ink2)}
.dg-note{margin-top:22px!important;font-size:12px;color:var(--ink3);line-height:1.55;padding-top:12px;border-top:1px solid var(--rule)}
/* generátor cookie lišty */
.ck-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;margin-top:22px;align-items:start}
.ck-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-content:start}
.ck-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.ck-field.ck-wide{grid-column:1/-1}
.ck-field label{font-family:var(--bdy);font-size:13px;font-weight:600;color:var(--ink2);line-height:1.35}
.ck-field input,.ck-field select,.ck-field textarea{width:100%;font-family:var(--bdy);font-size:16px;padding:12px 14px;border:1px solid var(--rule2);border-radius:var(--rb);background:var(--paper);color:var(--ink);min-height:48px}
.ck-field input[type=color]{padding:4px;height:42px}
.ck-lbl{display:block;font-family:var(--mn);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:10px}
.ck-preview{position:relative;height:150px;background:var(--card);border:1px dashed var(--rule2);border-radius:var(--r);overflow:hidden}
.ck-bar{position:absolute;left:0;right:0;bottom:0;background:#141614;color:#fff;padding:12px 14px;font-size:12px;line-height:1.45;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:center}
.ck-bar-txt{flex:1;min-width:160px}
.ck-bar a{color:#fff;text-decoration:underline}
.ck-bar button{font-family:var(--bdy);font-size:12px;font-weight:600;border-radius:7px;padding:7px 12px;cursor:default;border:1px solid #fff;background:transparent;color:#fff}
.ck-code{width:100%;font-family:var(--mn);font-size:12px;line-height:1.5;padding:12px;border:1px solid var(--rule2);border-radius:10px;background:var(--card);color:var(--ink);resize:vertical}
/* rozcestník nástrojů */
.nh-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:34px}
.nh-card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow)}
.nh-h{font-family:var(--dsp);font-size:19px;font-weight:700;letter-spacing:-.015em;margin:0 0 12px}
.nh-h a{color:var(--ink);text-decoration:none}
.nh-h a:hover{color:var(--sig-d);text-decoration:underline}
.nh-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.nh-list a{display:block;padding:10px 0;border-top:1px solid var(--rule);text-decoration:none}
.nh-list li:first-child a{border-top:0}
.nh-list b{display:block;font-size:15px;color:var(--ink);font-weight:600}
.nh-list a:hover b{color:var(--sig-d)}
.nh-list span{display:block;font-size:13px;color:var(--ink3);line-height:1.5;margin-top:2px}
@media (max-width:900px){.fk-grid{grid-template-columns:minmax(0,1fr)}.dg-grid{grid-template-columns:minmax(0,1fr)}.ck-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.dg-fields{grid-template-columns:minmax(0,1fr)}.ck-form{grid-template-columns:minmax(0,1fr)}}
@media print{body.dg-tisk *{visibility:hidden}body.dg-tisk #dg-doklad,body.dg-tisk #dg-doklad *{visibility:visible}body.dg-tisk #dg-doklad{position:absolute;left:0;top:0;width:100%;max-height:none;overflow:visible;border:0;box-shadow:none;padding:0}}
@media (max-width:640px){.hz-grid2{grid-template-columns:minmax(0,1fr)}.hz-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hz-podk-list{grid-template-columns:minmax(0,1fr)}.kk-grid{grid-template-columns:minmax(0,1fr)}.fk-two{grid-template-columns:minmax(0,1fr)}.fk-pol{grid-template-columns:minmax(0,1fr) 56px 84px 32px}.fk-pol .fk-pol-sazba{grid-column:2/4}}
/* ══════════════════════════════════════════════════════════════════════
   REVIZE A, závěry panelu expertů (design / konverze / oponent / trh)
   Vše ověřeno měřením, ne odhadem. Viz _review/design_panel.md
   ══════════════════════════════════════════════════════════════════════ */

/* A1) PŘÍSTUPNOST, .band p propadal WCAG AA u všech 9 oborů (2,85 až 3,80:1
   při potřebě 4,5). Je to text v závěrečné výzvě, tedy v okamžiku
   rozhodnutí. --on-sig dává 4,70 až 8,84:1 napříč všemi paletami. */
.band p{color:var(--on-sig);opacity:.88}

/* A2) PŘÍSTUPNOST, indikátor aktuální stránky propadal SC 1.4.11 (3:1)
   u 7 z 9 oborů: --sig na --paper je 1,69 až 2,78. --sig-d dává 6,22 až 10,14.
   Tučný řez přidává druhý, nebarevný signál. */
nav a[aria-current=page]{color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--sig-d)}
.hz-tab-on,.dg-tab-on{border-bottom-color:var(--sig-d)}

/* A3) PŘÍSTUPNOST, rámečky formulářových polí: --rule2 vs papír je 1,57:1
   při potřebě 3:1, a výplň pole se od karty liší jen 1,06:1. Rámeček byl
   tedy jediný signál, že tam pole je, a nebyl vidět. Týkalo se to všech
   kalkulaček, Hlídače i poptávkového formuláře. --rule3 = 3,11 / 3,43:1.
   Dekorativní --rule2 u karet zůstává beze změny. */
:root{--rule3:#878C86}
.hz-field input,.hz-field select,.kk-field input,.kk-field select,
.fk-block input,.fk-pol input,.fk-pol select,.dg-field input,.dg-field select,
.ck-field input,.ck-field select,.ck-field textarea,
input[type=text],input[type=email],input[type=tel],input[type=number],
input[type=date],textarea,select{border-color:var(--rule3)}

/* A4) MÍRA SAZBY, hlavní nález měření. Na povinnosti.html vycházelo
   127 znaků na řádek, na titulce 102. Optimum je 50 až 75 (Baymard),
   WCAG 1.4.8 doporučuje strop 80. Sekundární limity (.lede 58ch,
   .prose 68ch) chránily jen část textu; běžné odstavce v kartách
   a seznamech nechráněné. Pozn.: jednotka ch je šířka číslice 0,
   která je užší než průměrný znak, naměřený poměr je 1,25×,
   takže 60ch ≈ 75 skutečných znaků. */
:where(.wrap) :where(p,li,.kk-risk,.hz-risk,.hz-prem){max-width:62ch}
.pv-item p,.pv-item li,.guar p,.driver p,.dvojice p,.krok p,
.hrb p,.prepo li,.oborshow-card p,.nh-list span,.fixed p,.test p{max-width:60ch}
details p{max-width:58ch}
/* výjimky: co skutečně potřebuje plnou šířku */
:where(.wrap) :where(td,th,.fk-pol,.dg-doklad,.hz-tabs) *{max-width:none}
/* tabulky s prózou ve druhém sloupci: buňka je 968 px = 121 znaků na řádek.
   Tabulkový layout nectí max-width na buňce spolehlivě, proto se omezuje
   celá tabulka. Číselné tabulky tím netrpí, ty jsou úzké tak jako tak. */
.kk-tab td,.pv-tab td{max-width:62ch}

/* A5) ŠÍŘKA, teprve po A4 je bezpečná. Stylopis neměl jediný
   min-width dotaz, takže nad 1080 px se nedělo nic; podle Statcounteru
   je ~45 % českého desktopového provozu na 1536 px a víc. */
/* POZOR: jen padding-left/right, nikdy zkratka `padding`. Základní
   .wrap je ve stylopisu na řádku 43, ale .sec (78px) a .crumb (18px)
   svislé odsazení nastavují až na řádcích 238 a 245 na týchž prvcích
   (<div class="wrap sec">). Tenhle blok se přikládá na konec, takže
   zkratka `padding` by jim svislé odsazení vynulovala a stránky by se
   slily. Chyceno vizuální kontrolou, testy na odkazy a kotvy to nevidí. */
.wrap{max-width:1180px;padding-left:30px;padding-right:30px}
@media (min-width:1500px){.wrap{max-width:1260px}}
@media (max-width:860px){.wrap{padding-left:20px;padding-right:20px}}
/* mřížky přepočítané na novou šířku, aby nepřibyl čtvrtý úzký sloupec */
.grid3,.hrb{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.pains{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}

/* A6) NADPISY, h1 byl zaškrcený na 15ch, takže zabíral polovinu
   sloupce a vpravo od něj zbývalo prázdno. Clamp navíc narážel na strop
   už při 829 px, takže na širokých monitorech nadpisy nerostly vůbec. */
.hero h1{max-width:17ch}
h1{font-size:clamp(32px,5vw,66px)}
h2{font-size:clamp(25px,3.4vw,44px)}
@media (max-width:860px){.hero h1{max-width:none}}

/* A7) KARTY, stín 4 % krytí při 2px rozostření je na papíru #F4F4F1
   pod prahem vnímatelnosti a --rule vs papír je 1,22:1. Karta se tedy
   od pozadí lišila třemi neměřitelnými signály najednou.
   Vědomě NEpřidávám barevný okraj karty, to je dnes rozpoznávaný
   znak generované šablony (viz oponent). */
:root{--shadow:0 1px 3px rgba(20,22,20,.07),0 6px 16px rgba(20,22,20,.05);
      --rule:#D4D6D0}
/* štítky služeb na spodní hranu, ať karty nemají mrtvé místo uvnitř */
.svc{display:flex;flex-direction:column}
.svc .svc-vic{margin-top:auto}

/* A8) MOBIL, naměřeno na 390×844: síťový proužek 35 + hlavička 71
   + oznamovací pruh 140 = 246 px, tedy 29 % obrazovky spotřebováno,
   než začne hero. Se spodní lištou 38 %. Na mobilu proto z pruhu
   zůstane jen tučná věta a odkaz. */
@media (max-width:640px){
  .notice .nt-detail{display:none}
  .notice .wrap{padding-top:9px;padding-bottom:9px}
}
/* Druhé tlačítko v hero mířilo na nastroj.html, tedy na stejný cíl jako
   „Nástroj zdarma" ve spodní liště, 60 px pod ním, jen jinak pojmenované.
   Vyřešeno v deepsite.py přeskládáním výzev, ne skrýváním: primární
   výzva teď vede na poptávku, sekundární na test na téže stránce. */
/* Sjednocená primární barva: lišta používala --sig-d, hero --sig. */
.ml-hlavni{background:var(--sig);border-color:var(--sig);color:var(--on-sig)}

/* A9) CENA, blok .fixed .pr byl ve stylopisu připravený a nepoužitý
   na žádné stránce žádného webu. Cena přitom byla schovaná uprostřed
   odstavce. Doplňuji obal, aby šel použít v hero i na stránce Cena. */
.cenovka{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:6px 0 0}
.cenovka .pr{font-family:var(--dsp);font-size:clamp(34px,5vw,46px);font-weight:700;
  letter-spacing:-.035em;line-height:1;color:var(--ink)}
.dark .cenovka .pr{color:#fff}
.cenovka .per{font-size:15px;color:var(--ink2)}
.dark .cenovka .per{color:#AFB5B0}
.cen-pod{font-size:14px;color:var(--ink3);margin:10px 0 0;max-width:52ch}
.dark .cen-pod{color:#8A918C}

/* A13) PŘEKRYV, rozbalený přepínač oborů měl z-index 60, stejně jako
   lepicí hlavička. Při shodě rozhoduje pořadí v DOM a hlavička je později,
   takže se kreslila přes první dvě položky seznamu: „Hlavní energetik"
   a „Hlavní metrolog" byly v DOM, ale schované pod bílou hlavičkou.
   Testy to nechytily, protože počítaly položky v DOM, ne to, co je vidět.
   Seznam patří nad hlavičku, je to překryvná vrstva vyvolaná kliknutím. */
.sitpruh{position:relative;z-index:80}
.sp-list{z-index:80}

/* A11) TÉMATA, rejstřík podrobných stránek byl jedna rozběhlá řádka 13px
   textu s tečkami mezi odkazy. Kontrolor dosažitelnosti ho bral jako platný
   odkaz (1 klik), ale cíl 189×18 px v drobném písmu nikdo nenajde. Teď mají
   ty odkazy stejnou plochu i váhu jako ostatní karty na stránce. */
.temata-blok{margin-top:30px;padding-top:24px;border-top:1px solid var(--rule)}
.temata{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:14px}
.tema-karta{position:relative;display:block;background:var(--card);border:1px solid var(--rule);
  border-radius:var(--r);padding:18px 42px 18px 20px;text-decoration:none;box-shadow:var(--shadow);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.tema-karta:hover{border-color:var(--sig);box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.tema-karta b{display:block;font-family:var(--dsp);font-size:16px;font-weight:600;color:var(--ink);
  letter-spacing:-.01em;line-height:1.3}
.tema-karta span{display:block;font-size:13.5px;color:var(--ink2);line-height:1.5;margin-top:6px}
.tema-karta .tema-go{position:absolute;right:18px;top:18px;margin:0;font-family:var(--mn);
  font-size:15px;color:var(--sig-d)}
@media (prefers-reduced-motion:reduce){.tema-karta:hover{transform:none}}

/* Odkaz „Podrobně: …" v kartě služby byl 12px mono s vlasovou linkou.
   Zvětšeno na velikost, která je vidět, a s viditelným cílem kliknutí. */
.svc-vic{display:block;margin:14px 0 0;font-family:var(--bdy);font-size:14px;font-weight:600;
  color:var(--sig-d);text-decoration:none;border-bottom:1px solid var(--sig-line);
  width:max-content;max-width:100%;padding-bottom:2px;letter-spacing:0}

/* A12) SEZNAMY ODKAZŮ, rozběhlá řádka odkazů oddělených „·" dávala cíl
   kliknutí kolem 190×18 px v 13px písmu. Platný odkaz, nenalezitelný cíl.
   Teď má každá položka vlastní řádek, ohraničený cíl a šipku. */
.odkazy-blok{margin-top:26px;padding-top:20px;border-top:1px solid var(--rule)}
.odk-nadpis{display:block;font-family:var(--dsp);font-size:15px;font-weight:600;color:var(--ink)}
.odk-popis{font-size:13.5px;color:var(--ink3);margin:4px 0 0;max-width:56ch}
.odk-seznam{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px;margin-top:14px}
.odk-radek{display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--card);border:1px solid var(--rule);border-radius:var(--rb);
  padding:12px 14px;text-decoration:none;min-height:46px;
  transition:border-color .15s ease,background .15s ease}
.odk-radek>span:first-child{font-size:14.5px;color:var(--ink);line-height:1.35}
.odk-radek .odk-go{font-family:var(--mn);font-size:14px;color:var(--sig-d);flex:0 0 auto}
.odk-radek:hover{border-color:var(--sig);background:var(--sig-bg)}
.hubdet .odk-seznam{margin-top:10px}

/* A10) PORTRÉT, jediný obrázek, který na weby patří, a jen na „O nás"
   a „Kontakt". Styl je připravený, i když fotka zatím není: jakmile se
   vyplní content.FOTO, obrázek se objeví na všech devíti webech naráz. */
.portret{margin:32px 0 0}
.portret img{width:140px;height:140px;border-radius:50%;object-fit:cover;
  border:1px solid var(--rule);box-shadow:var(--shadow);display:block}
.port-popis{font-family:var(--mn);font-size:12px;color:var(--ink3);margin:10px 0 0;max-width:26ch;line-height:1.5}
@media (max-width:560px){.portret img{width:112px;height:112px}}
@media print{body.fk-tisk *{visibility:hidden}body.fk-tisk #fk-doklad,body.fk-tisk #fk-doklad *{visibility:visible}body.fk-tisk #fk-doklad{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none;padding:0}}

/* ═══════════════════════════════════════════════════════════════════════
   REVIZE B, MOBILNÍ RYTMUS
   Panel (mobilni_rytmus_panel.md) měřil na 390×844: chrom nad ohybem
   146 px (17 %), hero 1039 px (přeteče obrazovku), test až na 5,2 obrazovce.
   NN/G přitom naměřilo, že 74 % pozornosti padne do prvních dvou obrazovek
   a 81 % do prvních tří. Nástroj, který je nejsilnější věc na webu, tedy
   dnes vidí zlomek lidí. Cíl: chrom ≤ 60 px, hero do jedné obrazovky,
   nástroj do třetí.
   ═══════════════════════════════════════════════════════════════════════ */

/* B1) CHROM NAD OHYBEM. Na mobilu se síťový proužek slévá do lišty „stopa"
   (objeví se za hero) a oznamovací pruh mizí, protože totéž je v hero
   pod tlačítky. Zůstane jen hlavička. */
@media (max-width:860px){
  .sitpruh{display:none}
  .notice{display:none}
  .bar{height:54px}                 /* 70 → 54, hlavička je jediný chrom nad ohybem */
  .logo svg{width:26px;height:26px}
  .wm{font-size:12.5px;line-height:1.15}
}

/* B2) HERO DO JEDNÉ OBRAZOVKY.
   100svh, ne 100vh: vh na mobilu počítá se schovaným adresním řádkem,
   takže hero vždycky přeteče a tlačítko spadne pod ohyb. */
/* Pořadí prvků v hero se řídí `order`, aby se dalo na mobilu přeskládat bez
   zásahu do HTML. Na širokém displeji je pořadí totožné se zápisem v HTML,
   na mobilu se z něj vysouvá jen druhá půlka úvodního odstavce. */
.hero{display:flex;flex-direction:column}
.hero>*{order:5}                    /* záchytná hodnota: nic nesmí vyskočit nad H1 */
.hero .eyebrow{order:1}
.hero h1{order:2}
.hero .lede{order:3}
.hero .lede-vic{order:4;margin-top:12px}
.hero .cenovka{order:5}
.hero .cen-pod{order:6}
.hero .cta-row{order:7}
.hero .hero-stopa{order:8}
.hero .trust{order:9}
@media (max-width:860px){
  .dark:has(.hero){position:relative}
  .hero{padding-top:30px;padding-bottom:34px}
  .hero .eyebrow{margin-bottom:10px}
  .hero .lede{margin-top:16px}
  .hero .cta-row{margin-top:22px}
  /* Na 390 px má úvodní odstavec osm řádků a odsune cenu i tlačítka pod ohyb.
     Nic se neskrývá, jen se jeho druhá půlka čte až za blokem důkazů. */
  .hero .lede-vic{order:10;margin-top:20px;font-size:16px}
  .hero .hero-stopa{order:8}
  .hero .trust{order:9;margin-top:22px;padding-top:18px;border-top:0}
}
/* „ochutnávka" další sekce: obrazovka nikdy nekončí na čisté hraně,
   jinak stránka vypadá jako hotová a člověk nescrolluje */
.hero-stopa{display:none}
@media (max-width:860px){
  .hero-stopa{display:flex;align-items:center;gap:8px;margin-top:26px;padding-top:16px;
    border-top:1px solid #2D322E;font-family:var(--mn);font-size:12.5px;color:#8B918C;
    text-decoration:none}
  .hero-stopa i{font-style:normal;color:var(--sig)}
}

/* B3) ROZSAH, druhá obrazovka je důkaz, ne výplň.
   Devět karet služeb má na mobilu 2 233 px (2,6 obrazovky) a titulka
   z nich stejně ukazovala jen šest. Seznam unese všech devět na 500 px,
   každá položka je vlastní odkaz s vlastním cílem. Karty zůstávají
   na sluzby.html, kde na ně je místo. */
.rozsah{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:8px;margin-top:22px}
.rz{display:flex;align-items:center;gap:12px;background:var(--card);
  border:1px solid var(--rule);border-radius:var(--rb);padding:13px 15px;
  min-height:52px;text-decoration:none;transition:border-color .15s ease,background .15s ease}
.rz b{font-family:var(--dsp);font-weight:600;font-size:15.5px;color:var(--ink);
  letter-spacing:0;flex:1 1 auto;line-height:1.3}
.rz .rz-tag{font-family:var(--mn);font-size:11.5px;color:var(--ink3);flex:0 0 auto;
  white-space:nowrap;max-width:40%;overflow:hidden;text-overflow:ellipsis}
.rz .rz-go{font-family:var(--mn);font-size:14px;color:var(--sig-d);flex:0 0 auto}
.rz:hover{border-color:var(--sig);background:var(--sig-bg)}
.rz-vic{border-style:dashed}
.rz-vic b{color:var(--sig-d)}

/* B4) LIŠTA „STOPA", signalizace rozcestníku během scrollování.
   NN/G, 179 osob na 6 webech: samotný hamburger se na mobilu použije
   v 57 % případů, kombo (viditelný pojmenovaný cíl + skrytý zbytek)
   v 86 %. Proto ne „zrušit menu", ale odkrýt jednu položku, která navíc
   říká, kde jsem. Zároveň sem přebírá přepínač oborů ze síťového proužku. */
.stopa{position:sticky;top:54px;z-index:75;background:var(--paper);
  border-bottom:1px solid var(--rule)}
.stopa[hidden]{display:none}
@media (min-width:861px){.stopa{display:none}}
.stopa-in{display:flex;align-items:stretch;gap:10px;padding-top:0;padding-bottom:0;min-height:46px}
.stopa-kde{flex:1 1 auto;display:flex;align-items:center;gap:9px;min-height:46px;
  padding:0;border:0;background:none;font-family:var(--bdy);font-size:14px;
  color:var(--ink);text-align:left;cursor:pointer}
.stopa-bod{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--sig)}
.stopa-lbl{flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:600}
.stopa-sip{flex:0 0 auto;width:8px;height:8px;margin-right:2px;
  border-right:2px solid var(--ink3);border-bottom:2px solid var(--ink3);
  transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}
.stopa-kde[aria-expanded="true"] .stopa-sip{transform:rotate(-135deg) translateY(1px)}
.stopa-panel:not([hidden]){display:block}   /* mobilní `nav{display:none}` platí i sem */
.stopa-panel{position:absolute;left:0;right:0;top:100%;max-height:calc(100svh - 122px);overflow-y:auto;
  -webkit-overflow-scrolling:touch;background:var(--card);border-bottom:1px solid var(--rule);
  box-shadow:var(--shadow-lift);padding:2px 20px 16px;z-index:76}
.stopa-panel[hidden]{display:none}
.stopa-nad{margin:14px 0 2px;font-family:var(--mn);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink3)}
.stopa-panel ul{list-style:none;margin:0;padding:0}
/* pozor: `nav a` v hlavičce je mono, verzálky a prostrkané. Tady je to
   seznam k rychlému čtení, ne navigační štítky, takže se to musí přebít celé. */
.stopa-panel a,.stopa-panel .stopa-zde{display:flex;align-items:center;justify-content:space-between;
  gap:12px;min-height:48px;padding:0;border-radius:0;text-decoration:none;color:var(--ink);
  font-family:var(--bdy);font-size:15px;letter-spacing:0;text-transform:none;
  border-bottom:1px solid var(--rule)}
.stopa-panel a>span:first-child,.stopa-panel .stopa-zde{min-width:0}
.stopa-panel a:hover{background:none;color:var(--sig-d)}
.stopa-panel a i,.stopa-panel .stopa-zde i{font-style:normal;font-family:var(--mn);
  font-size:11px;line-height:1.3;color:var(--ink3);text-align:right;flex:0 1 auto;
  max-width:44%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stopa-panel .stopa-zde{color:var(--ink3)}
.stopa-panel a[aria-current="true"]{font-weight:700;color:var(--sig-d)}
.stopa-panel li:last-child a{border-bottom:0}
body:has(.stopa-panel:not([hidden])) .mobillista{display:none}

/* B4b) DVOJJAZYČNÝ DOKUMENT, druhý jazyk pod českou větou, ne místo ní.
   Závazné je české znění, druhý jazyk je informativní překlad, a musí to být
   vidět na první pohled: proto odsazení, jiná barva a svislá linka. Chybějící
   překlad se nikdy nenahrazuje potichu češtinou, jinak by dokument vypadal
   hotově a v provozu by si toho nikdo nevšiml. */
.dg-cizi{margin:2px 0 0 0;padding-left:12px;border-left:2px solid var(--sig-line);
  color:var(--ink2);font-style:italic}
h3.dg-cizi,h4.dg-cizi{font-style:normal;font-weight:600;color:var(--ink2)}
.dg-chybi{border-left-color:#B0552B;color:#8A4522;font-family:var(--mn);font-size:12px;font-style:normal}
.dg-varovani{color:#8A4522;font-weight:600}
.dg-dvoj p:not(.dg-cizi):not(.dg-note){margin-top:14px}
.dg-zarid{margin:14px 0 0}
.dg-zarid a{font-size:14px;font-weight:600;color:var(--sig-d);text-decoration:none;
  border-bottom:1px solid var(--sig-line);padding-bottom:2px}

.segodkaz{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;
  padding:22px 26px;border:1px dashed var(--rule2);border-radius:var(--rb);background:var(--sig-bg)}
.segodkaz b{display:block;font-family:var(--dsp);font-size:17px;font-weight:600;color:var(--ink);letter-spacing:0}
.segodkaz span{display:block;margin-top:4px;font-size:14.5px;line-height:1.6;color:var(--ink2);max-width:56ch}

/* B4i) SEGMENTOVÁ STRÁNKA pro provozovny s jídlem. Není to jazyková mutace,
   je to segment, který se dá obsloužit česky a jehož povinnosti jsou z většiny
   administrativa: hlídat lhůtu, objednat technika, založit protokol. */
.gs-cisla{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin-top:34px;
  padding-top:26px;border-top:1px solid var(--rule)}
.gs-cis b{display:block;font-family:var(--dsp);font-size:26px;font-weight:700;color:var(--ink);letter-spacing:-.02em}
.gs-cis span{display:block;margin-top:5px;font-size:13.5px;line-height:1.5;color:var(--ink2);max-width:30ch}
.dark .gs-cisla{border-top-color:#2D322E}
.dark .gs-cis b{color:#fff}
.dark .gs-cis span{color:#AFB5B0}
.gs-blok{border:1px solid var(--rule);border-radius:var(--rb);padding:26px 28px;background:var(--card)}
.gs-hlav{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 18px;
  padding-bottom:16px;border-bottom:1px solid var(--rule)}
.gs-hlav h2{font-size:22px;margin:0;max-width:22ch}
.gs-obor{font-family:var(--mn);font-size:12.5px;color:var(--sig-d);text-decoration:none;
  display:inline-block;min-height:26px;line-height:24px;border-bottom:1px solid var(--sig-line)}
.gs-obor-off{color:var(--ink3);border-bottom:0}
.gs-list{display:grid;gap:14px;margin-top:18px}
.gs-p b{display:block;font-family:var(--dsp);font-size:15.5px;font-weight:600;color:var(--ink);letter-spacing:0}
.gs-p span{display:block;margin-top:3px;font-size:14.5px;line-height:1.6;color:var(--ink2);max-width:66ch}
.gs-poradi{margin:18px 0 20px;padding-left:22px}
.gs-poradi li{font-size:15.5px;line-height:1.6;color:var(--ink2);margin-bottom:8px;max-width:62ch}
@media (max-width:560px){.gs-blok{padding:20px}.gs-cis b{font-size:23px}}

/* B4h) CO V PAUŠÁLU NENÍ. Otevřené vymezení rozsahu, ne trik s přiznanou vadou:
   Ein-Gar a spol. (JCR 2012) ukazují, že u vysoce zapojeného kupujícího se přiznaná
   nevýhoda obrací proti. Vymezený rozsah je něco jiného a podle NN/g je to jeden
   ze čtyř faktorů důvěryhodnosti. */
.neni{display:grid;gap:12px;margin-top:24px}
.neni-p{display:grid;gap:4px;padding:16px 18px;border-left:3px solid var(--rule2);background:var(--card);border-radius:0 var(--rb) var(--rb) 0}
.neni-p b{font-family:var(--dsp);font-size:16px;font-weight:600;color:var(--ink);letter-spacing:0}
.neni-p span{font-size:14.5px;color:var(--ink2);line-height:1.6;max-width:62ch}

/* rozcestník nástrojů: odkazy na obory v nadpisech karet byly 21 px vysoké */
main ul li > a:only-child,.nh-h a,.nh-card h2 a,
main h2 > a:only-child,main h3 > a:only-child{display:inline-block;min-height:26px;line-height:24px}

/* datumové pole dědilo výchozí velikost prohlížeče (13,3 px) a iOS Safari
   kvůli tomu při klepnutí zvětší celou stránku */
input[type=date],input[type=number],input[type=month],input[type=time]{font-size:16px}

/* náhled cookie lišty je ukázka cizí lišty, ale i tam má být cíl klikatelný */
.ck-bar-txt a,.ptcb-txt a{display:inline-block;min-height:24px;line-height:22px}

/* náhled cookie lišty je ukázka cizí lišty, ale i tam má být cíl klikatelný */
.ck-bar-txt a,.ptcb-txt a{display:inline-block;min-height:24px;line-height:22px}

/* B4g) ŠIROKÉ VÝSLEDKOVÉ TABULKY. Tabulka výsledku kalkulačky měla na 768 px
   1 066 px a její obal měl overflow-x: visible, takže roztáhla celý dokument
   o 343 px. Na desktopu to nebylo vidět, na tabletu se vodorovně scrollovala
   celá stránka. Široký obsah se má rolovat sám v sobě, ne táhnout stránku. */
.kk-out,.pv-out,.hz-out,.dg-nahledwrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.kk-tab,.pv-tab{min-width:0}
.kk-card,.kk-grid>*{min-width:0}
/* zaškrtávátka a přepínače v nástrojích: WCAG 2.5.8 */
input[type=checkbox],input[type=radio]{min-width:24px;min-height:24px}
.kk-check input,.kk-risk input{width:24px;height:24px;flex:0 0 24px}
.ot-situace label,.sit-check{min-height:26px}
main .mn a{display:inline-block;min-height:24px;line-height:22px}

/* B4f) DOTYKOVÉ CÍLE. WCAG 2.2 SC 2.5.8 (úroveň AA) žádá nejméně 24 × 24 CSS px
   včetně okolního odstupu. Prohlídka všech stránek na 390 px našla pod mezí:
   drobečkovou navigaci (28 × 15), zaškrtávátka testu (22 × 22), odkaz
   „Zařídíme to za vás" (140 × 16), odkaz na zpracování údajů a mailto v kontaktu.
   Ten třetí je mimochodem nejcennější odkaz na webu, protože měří, o kterou
   úlohu je zájem. */
.crumb a{display:inline-block;min-height:24px;line-height:24px;text-decoration:none}
.crumb{padding-bottom:2px}
.q input[type=checkbox]{width:24px;height:24px;flex:0 0 24px;margin:2px 0 0}
.pv-zarid a{display:inline-block;min-height:24px;line-height:22px;font-size:13px;padding-bottom:2px}
.mn a{display:inline-block;min-height:24px;line-height:22px}
/* kontaktní odkazy: mailto a tel jsou na mobilu to hlavní, ne dekorace */
main a[href^="mailto:"],main a[href^="tel:"]{display:inline-block;min-height:26px;line-height:26px}
.hz-radio input,.hz-check input,.ot-check input,.kk-check input,
.dg-check input,.ck-check input{width:24px;height:24px;flex:0 0 24px;margin-top:1px}
.ck-field textarea,.ck-code{font-size:16px}
.pv-zarid a,a[data-zajem]{display:inline-block;min-height:26px;line-height:24px;font-size:13px}
.odk-radek,.rz,.tema-karta{min-height:48px}
/* pole nástrojů: pod 16 px si iOS Safari stránku sám zvětší a rozhodí layout */
.kk-field input,.kk-field select,.hz-field input,.hz-field select,
.dg-field input,.dg-field select,.dg-field textarea,.fk-pol input,.fk-pol select,
.ck-field input,.ck-field select,.ck-field textarea{font-size:16px}

/* B4e) ODKAZY NA ÚŘADY. V celém buildu dřív nevedl ven jediný odkaz, přestože
   se úřady citují desítkykrát. Vedle důvěryhodnosti (NN/g: propojení se zbytkem
   webu je jeden ze čtyř faktorů) to hraje i pro generativní vyhledávače: podle
   práce GEO (KDD 2024, 10 000 dotazů) zvyšuje uvádění zdrojů viditelnost
   o 30 až 40 %. */
.urady{margin-top:34px;padding:24px 26px;border:1px solid var(--rule);border-radius:var(--rb);background:var(--card)}
.urady-nad{display:block;font-family:var(--dsp);font-size:16px;font-weight:600;color:var(--ink)}
.urady-pop{margin:6px 0 0;font-size:13.5px;color:var(--ink3);max-width:60ch}
.urady-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.urady-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.urady-list a{font-size:15px;font-weight:600;color:var(--sig-d);text-decoration:none;
  border-bottom:1px solid var(--sig-line);padding-bottom:1px;min-height:24px;display:inline-block}
.urady-list a:hover{border-bottom-color:var(--sig)}
.urady-list span{font-family:var(--mn);font-size:12px;color:var(--ink3)}
@media (max-width:560px){.urady{padding:20px}.urady-list li{display:block}.urady-list span{display:block;margin-top:2px}}

/* B4d) POLE FORMULÁŘE: proč ho chci. Baymard na 1 026 nakupujících: 14 % lidí
   telefon online nikdy nedá a 39 % webů si o něj řekne bez vysvětlení. */
.fl-pozn{font-family:var(--mn);font-size:11px;color:var(--ink3);font-weight:400;text-transform:none;letter-spacing:0}
.fl-hint{display:block;margin-top:6px;font-size:12.5px;line-height:1.45;color:var(--ink3);max-width:46ch}

/* B4c) KLEPNUTELNÉ ČÍSLO. Na telefonu je zavolání jediná akce, kterou jde
   dokončit mezi dvěma jednáními, a je to nejnižší úroveň závazku. NN/g měřilo,
   že důležité úkoly lidé z telefonu odsouvají na počítač (4,03 vs 3,61 na
   důležitosti), takže mobilní titulka nemá získat vyplněný formulář, ale
   telefonát. Na desktopu se tlačítko skrývá, tam je číslo v hlavičce i patičce. */
.jen-mobil{display:none}
@media (max-width:860px){
  .jen-mobil{display:inline-flex}
  .hero .cta-row .jen-mobil{width:100%}
}

/* B10) ZMĚNY V PŘEDPISECH. Jeden proud pro všech devět webů (zmeny.py).
   Na titulce tři řádky s datem, na zmeny.html články s časem, štítkem,
   koho se to týká, co udělat a zdrojem. Cíle klepnutí 48 px, řádek na
   mobilu pod sebe. */
.zm-list{display:grid;gap:14px;margin-top:22px}
.zm-skupina{margin:44px 0 0;font-size:clamp(19px,2.1vw,23px)}
.zm-skupina:first-of-type{margin-top:34px}
.zm-pocet{display:inline-block;margin-left:8px;padding:2px 9px;border:1px solid var(--rule);border-radius:999px;font-size:13px;font-weight:600;color:var(--muted);vertical-align:middle}
.zm-skupina-p{margin:8px 0 0;max-width:56ch}
.zm-skupina+.zm-skupina-p+.zm-list{margin-top:16px}
.zm-kratke{gap:0;border-top:1px solid var(--rule)}
.zm-row{display:grid;grid-template-columns:150px 1fr;gap:6px 18px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);min-height:48px}
.zm-row time{font-family:var(--mn);font-size:12px;letter-spacing:.05em;color:var(--ink3);text-transform:uppercase}
.zm-row b{font-family:var(--dsp);font-size:17px;font-weight:600;line-height:1.35}
.zm-row span{grid-column:2;font-size:14px;color:var(--ink2);line-height:1.5}
.zm-row:hover b{color:var(--sig-d)}
.zm-item{background:var(--card);border:1px solid var(--rule);border-radius:var(--rb);padding:22px 24px}
.zm-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:8px;font-family:var(--mn);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3)}
.zm-typ{background:var(--sig-bg);color:var(--sig-d);border-radius:4px;padding:2px 8px;letter-spacing:.04em}
.zm-obor{display:inline-flex;align-items:center;min-height:24px;padding:0 2px;color:var(--ink2);text-decoration:underline;text-underline-offset:3px;text-transform:none;letter-spacing:0;font-family:var(--bdy);font-size:13px}
.zm-h3{font-family:var(--dsp);font-size:20px;line-height:1.3;margin:0 0 10px;max-width:34ch}
.zm-item p{margin:0 0 8px;line-height:1.6;max-width:66ch}
.zm-lbl{display:inline-block;min-width:96px;font-family:var(--mn);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-right:6px}
.zm-zdroj a{text-decoration:underline;text-underline-offset:3px}
/* Podle čeho to vedu. Blok, který doloží, že za službou stojí konkrétní
   předpisy, a přitom nezahltí stránku. Vidět jsou tři příklady a číslo,
   zbytek je za odkazem. */
.podle{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 34px;align-items:start;
  background:var(--card);border:1px solid var(--rule);border-radius:var(--rb);padding:26px 30px;margin-top:26px}
.podle-cislo{font-family:var(--dsp);font-weight:800;font-size:60px;line-height:.95;letter-spacing:-.04em;
  color:var(--sig-d);font-variant-numeric:tabular-nums}
.podle-cislo span{display:block;font-family:var(--mn);font-size:11px;font-weight:400;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink3);margin-top:8px;max-width:14ch;line-height:1.5}
.podle-txt{min-width:0}
.podle-txt>p{margin:0 0 16px;font-size:16px;line-height:1.6;max-width:60ch}
.podle-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.podle-list li{padding:11px 0;border-bottom:1px solid var(--rule);display:grid;
  grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;align-items:baseline}
.podle-list b{font-weight:600;font-size:15px;line-height:1.45}
.podle-list em{font-style:normal;font-family:var(--mn);font-size:12px;color:var(--ink3);white-space:nowrap}
.podle-list span{grid-column:1/-1;font-family:var(--mn);font-size:12px;line-height:1.6;color:var(--ink2)}
.podle-vice{display:inline-block;margin-top:16px;font-size:15px;text-decoration:underline;text-underline-offset:3px}
@media (max-width:700px){
  .podle{grid-template-columns:minmax(0,1fr);gap:18px;padding:22px 20px}
  .podle-cislo{font-size:46px}
  .podle-cislo span{max-width:none}
  .podle-list li{grid-template-columns:minmax(0,1fr)}
  .podle-list em{white-space:normal}
}
/* slovníček pojmů na stránce Služby */
.pojmy{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px 30px;margin-top:24px}
.pojem{padding-top:16px;border-top:2px solid var(--sig-line)}
.pojem h3{font-family:var(--dsp);font-size:18px;line-height:1.3;margin:0 0 7px;letter-spacing:-.01em}
.pojem p{margin:0;font-size:15px;line-height:1.62;color:var(--ink2);max-width:56ch}
/* nabídka tvorby webů */
.wb-pruh{margin:0;padding:14px 16px;border-radius:var(--rb);background:var(--sig-bg);color:var(--sig-d);font-size:15px;line-height:1.55;max-width:60ch}
.wb-mrizka{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:18px}
.wb-box{background:var(--card);border:1px solid var(--rule);border-radius:var(--rb);padding:22px 24px;display:flex;flex-direction:column}
.wb-h3{font-family:var(--dsp);font-size:20px;line-height:1.3;margin:0 0 12px}
.wb-cena{margin:0 0 4px;font-size:15px;line-height:1.5}
.wb-cena b{font-family:var(--dsp);font-size:22px;letter-spacing:-.01em}
.wb-cena span{color:var(--ink3);font-size:13px}
.wb-popis{margin:12px 0 0;font-size:15px;line-height:1.6;color:var(--ink2);max-width:58ch}
.wb-termin{margin:12px 0 0;font-family:var(--mn);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3)}
.wb-sprava{background:var(--bg)}
.wb-duvod{margin:18px 0 0;max-width:60ch;font-size:15px;line-height:1.65}
.wb-odkazy{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.wb-odkaz{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--rule);border-radius:999px;background:var(--card);text-decoration:none;color:var(--ink);font-size:15px}
.wb-odkaz:hover{border-color:var(--sig-d);color:var(--sig-d)}
.wb-hranice{background:var(--card);border:1px solid var(--rule);border-radius:var(--rb);padding:20px 24px;max-width:62ch}
.wb-hranice p{margin:0;font-size:16px;line-height:1.65;max-width:58ch}
/* devátý web sítě: prodává vzhled, takže ho musí ukázat, ne popsat.
   Hero je dvousloupcové, vpravo je vzorník značek rodiny. Je to jediný
   důkaz řemesla, který je vidět dřív, než někdo něco přečte. */
.mk-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:start}
.mk-hero-text{min-width:0}
.mk-vzornik{min-width:0;padding-top:6px}
.mk-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.mk-tile{position:relative;aspect-ratio:1;border-radius:12px;background:#1C1E1C;border:1px solid rgba(255,255,255,.09);
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.mk-tile svg{width:58%;height:58%;display:block}
.mk-tile i{position:absolute;left:0;right:0;bottom:0;height:4px;display:block}
.mk-vzornik-pop{margin:16px 0 0;font-family:var(--mn);font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;color:rgba(255,255,255,.62);line-height:1.7}
/* Vizitka do tisku je druhý produkt, který se dá ukázat, ne popsat. Poměr
   90 x 50 mm je skutečný formát, ve kterém se vizitky tisknou. */
.mk-vizitky{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:34px}
.mk-viz{aspect-ratio:90/50;border-radius:9px;padding:14px 15px;display:flex;flex-direction:column;
  justify-content:space-between;box-shadow:0 14px 30px rgba(0,0,0,.34)}
.mk-viz-a{background:#141614;border:1px solid rgba(255,255,255,.11)}
.mk-viz-b{background:var(--paper);border:1px solid rgba(0,0,0,.10)}
.mk-viz-mark{display:flex;align-items:center;gap:9px}
.mk-viz-mark svg{width:26px;height:26px;flex:0 0 auto;display:block}
.mk-viz-wm{font-family:var(--dsp);font-weight:800;font-size:11px;line-height:1.15;letter-spacing:.02em;
  text-transform:uppercase;color:#fff}
.mk-viz-wm i{display:block;font-style:normal;color:var(--sig)}
.mk-viz-role{font-family:var(--mn);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.55);margin:0}
.mk-viz-b .mk-viz-jm{font-family:var(--dsp);font-weight:700;font-size:13px;letter-spacing:-.01em;color:#141614;margin:0}
.mk-viz-b .mk-viz-kont{font-family:var(--mn);font-size:8.5px;line-height:1.7;color:#5A5F59;margin:0}
.mk-viz-lin{height:3px;width:38px;border-radius:2px;background:var(--sig)}
.mk-vizitky-pop{margin:12px 0 0;font-family:var(--mn);font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;color:rgba(255,255,255,.58);line-height:1.7}
@media (max-width:900px){.mk-vizitky{max-width:460px}}
/* pruh „připravuje se" musí vypadat záměrně, ne jako rozbitá stránka.
   Šedý text na tmavém se čte jako vypnutá funkce. */
.mk-pruh{margin:26px 0 0;padding:16px 20px;border-radius:var(--rb);max-width:58ch;
  background:rgba(255,255,255,.05);border-left:3px solid var(--sig);color:rgba(255,255,255,.86);
  font-size:15px;line-height:1.6}
.mk-pruh b{display:block;font-family:var(--mn);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sig);margin-bottom:6px;font-weight:400}
/* ukázky: skutečné snímky devíti webů, ne odrážky s doménami */
/* tři sloupce, ne čtyři. Devět náhledů se rozdělí na 3 x 3 a nezůstane
   osamocená karta na posledním řádku. */
.mk-galerie{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:24px}
.mk-karta{display:block;text-decoration:none;color:inherit;border-radius:var(--rb);overflow:hidden;
  border:1px solid var(--rule);background:var(--card);transition:border-color .18s,transform .18s,box-shadow .18s}
.mk-karta:hover,.mk-karta:focus-visible{border-color:var(--sig-d);transform:translateY(-3px);
  box-shadow:0 10px 26px rgba(20,22,20,.10)}
.mk-karta img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top center;
  border-bottom:1px solid var(--rule);background:var(--bg)}
.mk-karta-t{padding:14px 16px 16px}
.mk-karta-d{display:flex;align-items:center;gap:8px;font-family:var(--mn);font-size:13px;color:var(--ink);margin:0}
.mk-karta-d span{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.mk-karta-p{margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--ink2)}
/* web mimo síť. Stojí zvlášť pod mřížkou vlastních webů, protože dokládá
   něco jiného, totiž práci pro cizí firmu a cizí obor. */
.mk-mimo{margin-top:26px;padding-top:22px;border-top:2px solid var(--sig-line)}
.mk-mimo-h{font-family:var(--mn);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink3);margin:0 0 14px;font-weight:400}
/* Náhled vedle textu, ne pod ním. Jedna karta v mřížce vlastních webů by
   nechala vedle sebe dvě prázdná místa a vypadala by jako nedodělek. Široký
   pruh se čte jako samostatná položka, což to je. */
.mk-mimo-kus{display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr);gap:0;
  align-items:stretch;text-decoration:none;color:inherit;border-radius:var(--rb);overflow:hidden;
  border:1px solid var(--rule);background:var(--card);
  transition:border-color .18s,transform .18s,box-shadow .18s}
.mk-mimo-kus:hover,.mk-mimo-kus:focus-visible{border-color:var(--sig-d);transform:translateY(-3px);
  box-shadow:0 10px 26px rgba(20,22,20,.10)}
.mk-mimo-obr{display:block;background:var(--bg);border-right:1px solid var(--rule)}
.mk-mimo-obr img{display:block;width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;
  object-position:top center}
.mk-mimo-txt{display:block;padding:18px 20px 20px}
.mk-mimo-d{display:block;margin:0 0 6px;font-family:var(--dsp);font-size:19px;letter-spacing:-.01em}
.mk-mimo-d span{display:block;font-family:var(--bdy);font-size:15px;font-weight:400;color:var(--ink3);letter-spacing:0}
.mk-mimo-p{display:block;margin:0;font-size:15px;line-height:1.62;color:var(--ink2)}
.mk-mimo-mn{display:block;margin:10px 0 0;font-family:var(--mn);font-size:12px;line-height:1.5;color:var(--ink3)}
@media (max-width:720px){
  .mk-mimo-kus{grid-template-columns:1fr}
  .mk-mimo-obr{border-right:0;border-bottom:1px solid var(--rule)}
  .mk-mimo-obr img{height:auto}
}
/* tmavý pás uprostřed stránky, aby dlouhý světlý sloupec dostal rytmus */
.mk-pas{background:var(--ink);color:var(--paper);padding:56px 0;margin:56px 0}
.mk-pas h2{color:var(--paper)}
.mk-pas p{color:rgba(255,255,255,.82)}
.mk-pas .mn{color:rgba(255,255,255,.55)}
@media (max-width:900px){
  .mk-hero{grid-template-columns:minmax(0,1fr);gap:34px}
  .mk-vzornik{order:2}
  .mk-tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
}
@media (max-width:520px){.mk-tiles{gap:7px}.mk-vzornik-pop{font-size:11px}}
/* odběr přehledu e-mailem, dotykové cíle drží 48 px kvůli palci na mobilu */
.od-form{margin:26px 0 0;max-width:640px;background:var(--card);border:1px solid var(--rule);border-radius:var(--rb);padding:22px 24px}
.od-lbl{display:block;font-family:var(--mn);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.od-mail{width:100%;box-sizing:border-box;min-height:48px;padding:12px 14px;font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:8px}
.od-mail:focus-visible{outline:2px solid var(--sig-d);outline-offset:2px}
.od-nadpis{font-family:var(--mn);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin:20px 0 4px}
.od-obory{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 18px}
.od-vol{display:flex;gap:10px;align-items:flex-start;min-height:48px;padding:11px 2px;font-size:15px;line-height:1.45;cursor:pointer}
.od-vol input{width:22px;height:22px;flex:0 0 auto;margin-top:1px;accent-color:var(--sig-d)}
.od-partner{margin-top:14px;padding-top:14px;border-top:1px solid var(--rule);font-size:14px;color:var(--ink2)}
.od-past{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.od-vysledek{margin:0 0 16px;padding:12px 14px;border-radius:var(--rb);font-size:15px;line-height:1.55}
.od-vysledek.od-ok{background:#eef3ea;border:1px solid #cfe0c6;color:#20351f}
.od-vysledek.od-chyba{background:#fdf4e8;border:1px solid #efd8b8;color:#5c3410}
.od-form .btn{margin-top:18px}
.od-pravni{margin:16px 0 0;font-size:13px;line-height:1.6;color:var(--ink2);max-width:62ch}
.od-pravni a{text-decoration:underline;text-underline-offset:3px}
.od-hlas{margin:0 0 18px;padding:12px 14px;border-radius:8px;background:var(--sig-bg);color:var(--sig-d);font-size:15px}
.od-hlas.chyba{background:#fdeaea;color:#8a1f1f}
.hz-zmeny{margin:0 0 22px}
.hz-zmeny .zm-row{padding:12px 0}
@media (max-width:640px){.zm-row{grid-template-columns:1fr}.zm-row span{grid-column:1}.zm-item{padding:18px 16px}.zm-lbl{display:block;min-width:0;margin:0 0 2px}}

/* B11) UKÁZKA PŘEHLEDU (ukazka.py). První strana zprávy ze smyšleného klienta,
   vykreslená jako dokument na kartě, s pruhem „Ukázka" nahoře. */
.uk-zprava{background:var(--card);border:1px solid var(--rule);border-radius:var(--rb);padding:0 0 18px;margin-top:22px;max-width:760px;overflow:hidden}
.uk-banner{background:var(--sig-bg);color:var(--sig-d);font-family:var(--mn);font-size:12px;letter-spacing:.04em;padding:9px 20px;border-bottom:1px solid var(--rule);max-width:64ch;line-height:1.5}
.uk-hlava{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 20px 10px;border-bottom:1px solid var(--rule)}
.uk-h{display:block;font-family:var(--dsp);font-size:19px;font-weight:700;line-height:1.25}
.uk-mn{display:block;color:var(--ink3);font-size:12.5px;line-height:1.5;margin-top:3px}
.uk-shrn,.uk-kdo{padding:12px 20px 0;margin:0;line-height:1.6;font-size:14.5px;max-width:62ch}
.uk-po{color:var(--err,#B33F28);font-weight:600}.uk-brzy{color:#7A5300;font-weight:600}
.uk-tab{width:100%;border-collapse:collapse;margin:12px 0 0;font-size:13.5px}
.uk-tab th{text-align:left;font-family:var(--mn);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding:8px 20px 6px;border-bottom:1px solid var(--rule);font-weight:600}
.uk-tab td{padding:9px 20px;border-bottom:1px solid var(--rule2);vertical-align:top;line-height:1.45;max-width:36ch}
.uk-tab .uk-d{white-space:nowrap;font-variant-numeric:tabular-nums}
.uk-zprava p.uk-mn{padding:10px 20px 0;max-width:62ch}
@media (max-width:640px){.uk-tab{display:block;overflow-x:auto}.uk-tab thead{display:none}.uk-tab tr{display:block;padding:8px 0;border-bottom:1px solid var(--rule2)}.uk-tab td{display:block;border:0;padding:2px 20px}.uk-tab td.uk-d{font-family:var(--mn);font-size:12px;color:var(--ink3)}}

/* B9) MENU NA MOBILU vede i na rozcestník. Proužek se sítí je na mobilu
   schovaný kvůli místu, takže z titulky oborového webu nebylo vidět, že
   existuje Paušální tým. Položka je jen v otevřeném menu. */
nav a.nav-sit{display:none}
@media (max-width:860px){
  nav.open a.nav-sit{display:block;margin-top:6px;padding-top:15px;border-top:1px solid var(--rule);color:var(--sig-d);font-weight:600}
}

/* B5) UKAZATEL POSTUPU, 2px vlásek. Dekorace, ne funkce: kdo ji neuvidí,
   o nic nepřijde. Čistým CSS tam, kde to jde (iOS Safari až od 26). */
.postup{position:fixed;inset:0 0 auto 0;height:2px;z-index:95;pointer-events:none}
.postup i{display:block;height:100%;background:var(--sig);transform-origin:0 50%;
  transform:scaleX(var(--p,0))}
@supports (animation-timeline:scroll()){
  .postup i{transform:scaleX(0);animation:postup-roste linear both;animation-timeline:scroll(root block)}
}
@keyframes postup-roste{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.postup{display:none}}
@media (min-width:861px){.postup{display:none}}

/* B6) KOTVY nesmí mizet pod lepicími lištami (hlavička + stopa) */
html{scroll-padding-top:110px}
@media (min-width:861px){html{scroll-padding-top:90px}}
@media print{body.hz-tisk *{visibility:hidden}body.hz-tisk #hz-modal,body.hz-tisk #hz-modal *{visibility:visible}
  body.hz-tisk #hz-modal{position:absolute;background:none;inset:0;padding:0;display:block}body.hz-tisk .hz-btnrow{display:none}}
