:root{
  --pozadi:#F4F7FC; --plocha:#FFFFFF; --text:#1E2A3A; --tlumeny:#5A6C7E; --jemny:#8A99AB;
  --okraj:#E6ECF5; --modra:#2A5298; --modraTmava:#1E3A5F; --modraSvetla:#EEF3FA;
  --zelenaText:#1E8E3E; --noc:#0F1626;
  --stin:0 1px 0 rgba(255,255,255,.8) inset,0 2px 6px rgba(17,32,74,.05),0 18px 40px rgba(17,32,74,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--plocha);color:var(--text);font-family:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--modra)}
img{max-width:100%;display:block}
.obal{max-width:1180px;margin:0 auto;padding:0 32px}

/* hlavička */
.hlavicka{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--okraj)}
.hlavicka .obal{display:flex;align-items:center;gap:28px;height:68px}
.logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;letter-spacing:-.4px;color:var(--modraTmava);text-decoration:none}
.logo img{width:34px;height:auto}
.menu{display:flex;gap:22px;font-size:15px}
.menu a{color:var(--tlumeny);text-decoration:none}
.menu a:hover,.menu a.ted{color:var(--modraTmava)}
.vpravo{margin-left:auto;display:flex;gap:10px;align-items:center}
.hamb{display:none;margin-left:auto;background:none;border:0;font-size:26px;color:var(--modra);cursor:pointer;width:44px;height:44px}
.panel-menu{display:none;border-top:1px solid var(--okraj);padding:10px 20px 18px;background:#fff}
.panel-menu a{display:block;padding:12px 0;border-bottom:1px solid var(--okraj);color:var(--text);text-decoration:none;font-size:16px}
.panel-menu .tl{margin-top:12px;width:100%}
.panel-menu.otevreno{display:block}

/* tlačítka */
.tl{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:12px;font-size:15px;font-weight:600;border:0;cursor:pointer;font-family:inherit;text-decoration:none;white-space:nowrap;transition:transform .15s,box-shadow .2s}
.tl.plne{background:linear-gradient(135deg,#2A5298,#1E3A5F);color:#fff}
.tl.plne:hover{box-shadow:0 8px 20px rgba(42,82,152,.3);transform:translateY(-1px)}
.tl.bile{background:#fff;color:var(--modra);border:1px solid var(--okraj)}
.tl.velke{height:52px;padding:0 26px;border-radius:14px;font-size:16px}
.tl.svetle{background:#fff;color:var(--modraTmava)}

/* hero */
.hero{background:linear-gradient(180deg,#fff,var(--pozadi));padding:72px 0 64px;overflow:hidden}
.hero .obal{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center}
.hero h1{font-size:52px;line-height:1.05;font-weight:600;letter-spacing:-1.6px;color:var(--modraTmava)}
.hero .pod{font-size:19px;color:var(--tlumeny);margin-top:18px;max-width:520px}
.hero .tlacitka{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.hero .drobne{font-size:14px;color:var(--jemny);margin-top:14px}
.okno{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 6px rgba(17,32,74,.06),0 30px 60px rgba(17,32,74,.18);border:1px solid var(--okraj)}
.okno-lista{background:#EEF1F6;height:30px;display:flex;align-items:center;gap:6px;padding:0 12px}
.okno-lista i{width:9px;height:9px;border-radius:50%;background:#CBD3DE;display:block}
.okno img{width:100%;height:auto}

/* stránka – hlava podstránky */
.hlava{background:linear-gradient(180deg,#fff,var(--pozadi));padding:64px 0 48px}
.hlava h1{font-size:44px;line-height:1.1;font-weight:600;letter-spacing:-1.2px;color:var(--modraTmava)}
.hlava p{font-size:18px;color:var(--tlumeny);margin-top:14px;max-width:680px}

/* pás */
.pas{border-top:1px solid var(--okraj);border-bottom:1px solid var(--okraj);background:#fff}
.pas .obal{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px 24px;padding-top:22px;padding-bottom:22px}
.pas div.p{display:flex;align-items:center;gap:10px;font-size:15px}
.ik{width:36px;height:36px;border-radius:11px;background:var(--modraSvetla);color:var(--modra);display:inline-flex;align-items:center;justify-content:center;font-size:17px;flex:0 0 36px}
.ik svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* sekce */
.sekce{padding:80px 0}
.sekce.sede{background:var(--pozadi)}
.nadtit{font-size:12.5px;letter-spacing:.9px;text-transform:uppercase;color:var(--modra);font-weight:600}
.sekce h2{font-size:36px;line-height:1.15;font-weight:600;letter-spacing:-.9px;color:var(--modraTmava);margin-top:8px}
.sekce .vedle{font-size:17px;color:var(--tlumeny);margin-top:10px;max-width:640px}
.sekce h3{font-size:22px;font-weight:600;letter-spacing:-.3px;color:var(--modraTmava);margin:40px 0 4px}

.mrizka{display:grid;gap:16px;margin-top:32px}
.m2{grid-template-columns:repeat(2,1fr)}.m3{grid-template-columns:repeat(3,1fr)}.m4{grid-template-columns:repeat(4,1fr)}
.karta{background:#fff;border:1px solid var(--okraj);border-radius:18px;padding:22px}
.karta.stin{border:0;box-shadow:var(--stin)}
.karta b.n{display:block;font-size:17px;font-weight:600;margin-top:14px}
.karta p{font-size:15px;color:var(--tlumeny);margin-top:6px}
.karta ul{list-style:none;margin-top:12px}
.karta li{font-size:15px;color:var(--tlumeny);padding:8px 0;border-top:1px solid var(--okraj)}
.karta li:first-child{border-top:0}
a.karta{text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s}
a.karta:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(17,32,74,.10)}
.odkaz{display:inline-block;margin-top:14px;font-size:15px;font-weight:600;text-decoration:none}

/* ukázky – přepínač */
.prepinac{display:inline-flex;background:#fff;border:1px solid var(--okraj);border-radius:999px;padding:4px;gap:4px;margin-top:28px;max-width:100%;overflow-x:auto}
.prepinac button{border:0;background:none;font-family:inherit;font-size:14.5px;font-weight:500;color:var(--tlumeny);padding:9px 16px;border-radius:999px;cursor:pointer;white-space:nowrap}
.prepinac button.aktiv{background:var(--modra);color:#fff}
.ukazka{margin-top:22px;position:relative}
.ukazka .okno{transition:opacity .35s}
.ukazka-popis{font-size:15px;color:var(--tlumeny);margin-top:14px;min-height:24px}

/* funkce – řádek text + snímek */
.radek{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center;margin-top:56px}
.radek.otoc .text{order:2}
.radek h3{margin-top:0}
.seznam{list-style:none;margin-top:14px}
.seznam li{padding:9px 0 9px 28px;position:relative;border-top:1px solid var(--okraj);font-size:15.5px}
.seznam li:first-child{border-top:0}
.seznam li::before{content:"";position:absolute;left:4px;top:17px;width:8px;height:8px;border-radius:50%;background:var(--modra)}

/* ceník */
.kalk{background:#fff;border-radius:22px;padding:28px;box-shadow:var(--stin)}
.kalk label{font-size:15px;color:var(--tlumeny);display:flex;justify-content:space-between;gap:12px}
.kalk label b{color:var(--text);font-weight:600}
.kalk input[type=range]{width:100%;margin:18px 0 6px;accent-color:#2A5298;height:28px}
.cena{font-size:48px;font-weight:600;letter-spacing:-1.2px;color:var(--modraTmava);margin-top:10px;transition:opacity .15s}
.cena small{display:block;font-size:15px;font-weight:400;color:var(--tlumeny);letter-spacing:0;margin-top:2px}
.mesicne{font-size:15px;color:var(--tlumeny)}
.kalk .tl{width:100%;margin-top:22px}
.prechod-sleva{margin-top:14px;font-size:14px;background:var(--modraSvetla);color:var(--modraTmava);border-radius:12px;padding:10px 14px}
.vcene{list-style:none}
.vcene li{font-size:16px;padding:12px 0;border-bottom:1px solid var(--okraj);display:flex;gap:12px}
.vcene li::before{content:"✓";color:var(--zelenaText);font-weight:600}
table.tab{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--stin);font-size:15px}
.tab th,.tab td{padding:13px 18px;text-align:left;border-bottom:1px solid var(--okraj)}
.tab th{font-size:13px;font-weight:500;color:var(--tlumeny);background:#FAFBFD}
.tab td.c{text-align:right;white-space:nowrap;font-weight:600}
.tab tr:last-child td{border-bottom:0}
.tab-obal{overflow-x:auto;margin-top:24px;border-radius:16px}
.pozn{font-size:14px;color:var(--jemny);margin-top:12px}

/* kroky */
.krok .cis{width:38px;height:38px;border-radius:50%;background:var(--modraSvetla);color:var(--modra);font-weight:600;display:flex;align-items:center;justify-content:center}

/* otázky */
details.ot{background:#fff;border:1px solid var(--okraj);border-radius:16px;margin-top:10px;padding:0 20px}
details.ot summary{cursor:pointer;list-style:none;padding:18px 0;font-size:16.5px;font-weight:500;display:flex;justify-content:space-between;gap:16px}
details.ot summary::-webkit-details-marker{display:none}
details.ot summary::after{content:"›";color:var(--modra);font-size:22px;line-height:1;transition:transform .2s}
details.ot[open] summary::after{transform:rotate(90deg)}
details.ot p{padding:0 0 18px;color:var(--tlumeny);font-size:15.5px}

/* formulář */
.formular{background:#fff;border-radius:22px;padding:28px;box-shadow:var(--stin);color:var(--text)}
.pole{margin-bottom:14px}
.pole label{display:block;font-size:13.5px;color:var(--tlumeny);margin-bottom:6px}
.pole input,.pole select,.pole textarea{width:100%;font-family:inherit;font-size:16px;color:var(--text);background:var(--pozadi);border:1px solid var(--okraj);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .2s,box-shadow .2s}
.pole input:focus,.pole select:focus,.pole textarea:focus{border-color:var(--modra);box-shadow:0 0 0 3px rgba(42,82,152,.15);background:#fff}
.pole .chyba{display:none;font-size:13px;color:#B33C34;margin-top:5px}
.pole.spatne input{border-color:#D93025}
.pole.spatne .chyba{display:block}
.formular .tl{width:100%;margin-top:6px}
.napoveda-pole{font-size:13.5px;color:var(--tlumeny);background:var(--modraSvetla);border-radius:12px;padding:11px 14px;margin-top:14px}
.hotovo{display:none;text-align:center;padding:20px 0}
.hotovo .kruh{width:56px;height:56px;border-radius:50%;background:#E6F4EA;color:var(--zelenaText);font-size:28px;display:flex;align-items:center;justify-content:center;margin:0 auto;animation:skok .5s ease}
@keyframes skok{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}

/* stav služby */
.stav-radek{display:flex;align-items:center;gap:14px;padding:18px 0;border-top:1px solid var(--okraj)}
.stav-radek:first-child{border-top:0}
.tecka{width:10px;height:10px;border-radius:50%;background:#9AA5B5;flex:0 0 10px}
.tecka.z{background:#1E8E3E;box-shadow:0 0 0 4px rgba(30,142,62,.15)}
.tecka.c{background:#D93025;box-shadow:0 0 0 4px rgba(217,48,37,.15)}
.tecka.o{background:#E08A00;animation:dych 1.2s infinite}
@keyframes dych{50%{opacity:.35}}
.stav-radek .vpr{margin-left:auto;font-size:14px;color:var(--tlumeny);text-align:right}

/* závěr */
.zaver{background:linear-gradient(135deg,#2A5298,#1E3A5F);color:#fff;padding:72px 0}
.zaver .obal{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.zaver h2{font-size:34px;font-weight:600;letter-spacing:-.8px;line-height:1.15}
.zaver p{color:#C9D6EA;font-size:17px;margin-top:8px}

/* právní texty */
.pravni{max-width:820px}
.pravni h1{font-size:30px;font-weight:600;letter-spacing:-.6px;color:var(--modraTmava);margin:0 0 12px}
.pravni h2{font-size:21px;font-weight:600;color:var(--modraTmava);margin:34px 0 8px}
.pravni h3{font-size:17px;font-weight:600;margin:22px 0 6px}
.pravni p,.pravni li{font-size:15.5px;color:#33445A;margin:8px 0}
.pravni ul,.pravni ol{padding-left:22px}
.pravni table{border-collapse:collapse;width:100%;margin:14px 0;font-size:14.5px;display:block;overflow-x:auto}
.pravni td,.pravni th{border:1px solid var(--okraj);padding:8px 10px;text-align:left;vertical-align:top}
.pravni blockquote{border-left:3px solid var(--okraj);padding-left:14px;color:var(--tlumeny)}
.pravni hr{border:0;border-top:1px solid var(--okraj);margin:24px 0}

/* patička */
.pata{background:var(--noc);color:#A9B8CE;font-size:14px;padding:56px 0 40px}
.pata .obal{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:28px}
.pata b{display:block;color:#fff;font-weight:600;margin-bottom:12px;font-size:15px}
.pata a{color:#A9B8CE;text-decoration:none;display:block;padding:4px 0}
.pata a:hover{color:#fff}
.pata .firma div{padding:3px 0}
.obchody{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.obchody a{border:1px solid #2A3550;border-radius:10px;padding:7px 12px;color:#fff;font-size:13px}
.pata-spodek{max-width:1180px;margin:36px auto 0;padding:20px 32px 0;border-top:1px solid #1F2A40;font-size:13px;color:#7A8AA3}

/* náběh bloků */
.najed{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.najed.videt{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.najed{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

@media (max-width:1020px){
  .menu{display:none}.vpravo{display:none}.hamb{display:block}
  .hero .obal,.radek,.m2{grid-template-columns:1fr}
  .radek.otoc .text{order:0}
  .m3{grid-template-columns:1fr 1fr}.m4{grid-template-columns:1fr 1fr}
  .pata .obal{grid-template-columns:1fr 1fr}
  .hero h1{font-size:42px}
}
@media (max-width:640px){
  .obal{padding:0 18px}
  .hero{padding:44px 0 40px}.hero h1{font-size:34px;letter-spacing:-1px}.hero .pod{font-size:17px}
  .hero .tl.velke{width:100%}
  .hlava{padding:44px 0 32px}.hlava h1{font-size:32px}.hlava p{font-size:16px}
  .sekce{padding:56px 0}.sekce h2{font-size:28px}
  .m3,.m4{grid-template-columns:1fr}
  .pas .obal{gap:12px}
  .cena{font-size:40px}
  .zaver{padding:52px 0}.zaver h2{font-size:27px}.zaver .tl{width:100%}
  .pata .obal{grid-template-columns:1fr}
  .pata-spodek{padding:20px 18px 0}
  .tab th,.tab td{padding:11px 12px}
}

/* položky mřížky se smí zúžit; velká tlačítka se na úzkém displeji zalomí, nikdy neuříznou */
.mrizka>*,.radek>*,.hero .obal>*{min-width:0}
@media (max-width:640px){
  .tl.velke{white-space:normal;height:auto;min-height:52px;padding:12px 18px;text-align:center;line-height:1.25}
  .formular,.kalk{padding:20px}
}
.past{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.chyba-odeslani{display:none;margin-top:12px;padding:10px 14px;border-radius:12px;background:#FCE8E6;color:#B33C34;font-size:14px}
.chyba-odeslani.ukaz{display:block}
.tl[disabled]{opacity:.7;cursor:wait}
.telefony{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:28px;margin-top:28px;justify-items:center}
.telefon{margin:0;max-width:260px;width:100%;text-align:center}
.telefon img{display:block;width:100%;height:auto;border-radius:30px;border:6px solid #141a2e;box-shadow:0 18px 40px rgba(30,58,95,.22)}
.telefon figcaption{margin-top:12px;font-size:14.5px;color:var(--tlumeny);font-weight:500}
.obchody-velke{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:28px}
