:root{
  --ink:#232527;
  --body:#4a4f55;
  --cyan:#43c8f5;
  --cyan-soft:#e6f7fe;
  --cyan-hover:#2bb4e3;
  --navy:#1e2e3e;
  --yellow:#ffe17c;
  --paper:#f8fbff;
  --white:#ffffff;
  --line:#e4ebf3;
  --shadow:0 2px 8px rgba(30,46,62,.06);
  --shadow-md:0 8px 24px rgba(30,46,62,.08);
  --shadow-lg:0 18px 48px rgba(30,46,62,.10);
  --r:8px;
  --r-card:16px;
  --font-display:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);font-size:17px;line-height:1.65;color:var(--body);
  background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);line-height:1.18;
  letter-spacing:-0.022em;font-weight:700;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;}
.hidden{display:none !important;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.section{padding:96px 0;}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;}
.reveal.in{opacity:1;transform:none;}
html:not(.js) .reveal{opacity:1;transform:none;}

/* --- tlacitka --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-body);font-weight:600;font-size:16px;letter-spacing:-0.005em;
  padding:14px 26px;border:1px solid transparent;border-radius:var(--r);
  background:var(--white);color:var(--ink);cursor:pointer;
  transition:background .16s ease,box-shadow .16s ease,transform .16s ease;}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);}
.btn:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;}
.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none;}
.btn-cta{background:var(--cyan);color:var(--ink);box-shadow:0 4px 14px rgba(67,200,245,.35);}
.btn-cta:hover{background:var(--cyan-hover);box-shadow:0 8px 22px rgba(67,200,245,.42);}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--body);}
.btn-ghost:hover{background:var(--paper);}
.btn-nav{padding:12px 22px;font-size:15px;}
.btn-block{width:100%;padding:19px 24px;font-size:17.5px;}
.cta-sipka{flex:0 0 auto;width:8px;height:8px;border-right:2.5px solid currentColor;
  border-bottom:2.5px solid currentColor;transform:rotate(-45deg);}

/* --- navigace --- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);}
.nav-inner{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:28px;}
.brand img{height:30px;display:block;}
.nav-links{display:flex;gap:26px;margin-left:auto;font-size:15.5px;font-weight:500;color:var(--body);}
.nav-links a:hover{color:var(--ink);}
@media (max-width:860px){.nav-links{display:none;}}

/* --- hero --- */
.hero{background:linear-gradient(180deg,var(--paper) 0%,var(--white) 100%);padding:76px 0 88px;}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:start;}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:40px;}}
.pill{display:inline-flex;align-items:center;gap:8px;background:var(--cyan-soft);
  color:#146c8c;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  padding:7px 14px;border-radius:100px;margin-bottom:22px;}
.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);}
.hero-title{font-size:clamp(36px,4.9vw,58px);font-weight:800;letter-spacing:-0.035em;}
/* Zvyrazneni musi prezit zalomeni radku - absolutne polohovany pruh by se nakreslil
   jen pres posledni fragment. Proto gradient na pozadi + box-decoration-break. */
.mark{background-image:linear-gradient(transparent 56%,rgba(67,200,245,.6) 56%,
  rgba(67,200,245,.6) 86%,transparent 86%);
  -webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 4px;margin:0 -4px;}
.hero-sub{font-size:18.5px;color:var(--body);margin-top:20px;max-width:560px;line-height:1.62;}
.hero-points{list-style:none;margin:26px 0 0;display:grid;gap:13px;}
.hero-points li{position:relative;padding-left:32px;font-size:16.5px;color:var(--ink);line-height:1.5;}
.hero-points li::before{content:"";position:absolute;left:0;top:.16em;width:21px;height:21px;
  border-radius:50%;background:var(--cyan-soft);}
.hero-points li::after{content:"";position:absolute;left:7px;top:.42em;width:5px;height:9px;
  border:solid #146c8c;border-width:0 2px 2px 0;transform:rotate(45deg);}
.hero-points .hi{font-weight:600;}
.hero-trust{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:28px;
  font-size:14.5px;color:var(--body);}
.trust-item{font-weight:600;color:var(--ink);}
.stars{color:#f5b400;letter-spacing:1px;}
.trust-chip{font-weight:600;color:var(--ink);}
.gads-lockup{display:flex;align-items:center;gap:14px;margin-top:26px;padding:14px 18px;
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);}
.gads-mark{flex:0 0 auto;}
.gl-text{display:flex;flex-direction:column;gap:2px;}
.gl-brand{font-family:var(--font-display);font-size:14.5px;color:var(--ink);}
.gl-note{font-size:12.5px;color:#7b838c;line-height:1.45;}
/* Veta pro neinzerenty stoji v levem sloupci pod odznaky, ne osamocene pod mrizkou.
   Odsazena linkou, at je videt, ze je to poznamka stranou, ne dalsi argument. */
.hero-outro{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);
  font-size:14px;color:#7b838c;line-height:1.55;}
.hero-outro a{color:#146c8c;font-weight:600;text-decoration:underline;}

/* --- formularova karta --- */
/* Formular je jedina vec, kterou po navstevnikovi chceme, takze musi byt nejsilnejsi
   povrch na strance. Bila karta na skoro bilem podkladu byla naopak nejmene kontrastni
   prvek ze vsech. Kartu proto drzi tyrkysovy podklad a hlavne vyrazny tyrkysovy obrys -
   ten dela praci, kterou driv delala tmava hlavicka, aniz by prebijel obsah. */
.form-card{position:relative;background:var(--cyan-soft);border:3px solid var(--cyan);
  border-radius:20px;box-shadow:0 18px 44px rgba(30,46,62,.14);overflow:hidden;}
.form-card-head{background:var(--cyan-soft);padding:24px 30px 8px;}
.form-paska{background:var(--yellow);color:#5c4d12;text-align:center;
  font-family:var(--font-display);font-size:12.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;padding:10px 16px;}
.form-card h3{font-size:23px;margin:0 0 6px;letter-spacing:-0.028em;color:var(--ink);}
.form-card .form-lede{font-size:14.5px;color:#3f5b68;margin:0;}
.form-card-body{background:var(--cyan-soft);padding:18px 30px 28px;}
.form-card-body .field label{color:#3f5b68;}
.form-card-body .field input{border-color:#bfe4f6;}
.form-card-body .field input:focus{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(67,200,245,.28);}
.form-card-body .gdpr{color:#3f5b68;}
.form-card-body .gdpr input{border-color:#9fd4ec;}
.form-card-body .form-note{color:#5c7482;}
.pocitadlo{display:flex;align-items:baseline;justify-content:center;gap:8px;
  margin-top:16px;padding-top:16px;border-top:1px solid #bfe4f6;}
.pocitadlo-emoji{font-size:18px;line-height:1;margin-right:-3px;}
.pocitadlo-cislo{font-family:var(--font-display);font-weight:800;font-size:22px;
  color:var(--ink);letter-spacing:-0.02em;}
.pocitadlo-text{font-size:13.5px;color:#3f5b68;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:7px;}
/* Pole je jedina vec, kterou po navstevnikovi chceme - musi na prvni pohled cist
   jako pole, ne jako svetly obdelnik. Proto 2px obrys a tmavsi linka nez u karet. */
.field input[type=text],.field input[type=email],.field select{width:100%;
  font-family:var(--font-body);font-size:16.5px;padding:15px 16px;color:var(--ink);
  border:2px solid #d7e2ee;border-radius:var(--r);background:var(--white);
  transition:border-color .14s ease,box-shadow .14s ease,background .14s ease;}
.field select{cursor:pointer;}
.field input::placeholder{color:#a6aeb6;}
.field input:focus,.field select:focus{outline:none;background:var(--white);
  border-color:var(--cyan);box-shadow:0 0 0 4px rgba(67,200,245,.22);}
.field-hint{font-size:12.5px;color:#8b939b;line-height:1.45;margin:7px 0 0;}
.gdpr{display:flex;align-items:flex-start;gap:11px;margin:8px 0 20px;font-size:13.5px;
  color:var(--body);line-height:1.5;cursor:pointer;}
.gdpr a{color:#146c8c;font-weight:600;text-decoration:underline;}
.gdpr input{appearance:none;-webkit-appearance:none;width:21px;height:21px;min-width:21px;
  border:1.5px solid #c8d3de;border-radius:5px;background:var(--white);cursor:pointer;
  position:relative;margin-top:1px;transition:background .12s ease,border-color .12s ease;}
.gdpr input:checked{background:var(--cyan);border-color:var(--cyan);}
.gdpr input:checked::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;
  border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(45deg);}
.gdpr input:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;}
.turnstile-wrap{display:flex;justify-content:center;margin:0 0 16px;}
.formerr{color:#d13b3b;font-size:13px;font-weight:600;text-align:center;margin-top:12px;min-height:16px;}
.form-note{text-align:center;font-size:12.5px;color:#8b939b;margin-top:14px;}

/* --- duveryhodnostni prvky --- */
/* Lockup Google Ads a odznak Google Partner stoji vedle sebe v jedne rade.
   Na uzsim okne se zalomi pod sebe a kazdy zabere celou sirku. */
.duvery-radek{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.duvery-radek > *{flex:1 1 260px;margin-top:0;}

.gpartner{display:inline-flex;align-items:center;gap:14px;background:var(--white);
  border:1px solid var(--line);border-radius:var(--r-card);padding:12px 18px;
  box-shadow:var(--shadow);}
.gpartner .gp-logo{height:36px;width:auto;display:block;flex:0 0 auto;}
.gpartner .gp-div{width:1px;height:34px;background:var(--line);flex:0 0 auto;}
.gpartner .gp-title{font-family:var(--font-display);font-size:15.5px;font-weight:700;
  color:var(--ink);line-height:1.2;letter-spacing:-0.015em;}
.gpartner .gp-sub{font-size:12.5px;color:#7b838c;line-height:1.45;margin-top:2px;}

/* Podpis pod formularem. Zamerne bez ramecku - karta pod kartou by rvala o pozornost
   s formularem, ktery ma zustat nejsilnejsim prvkem sloupce. */
.zaruka{display:flex;align-items:flex-start;gap:16px;margin-top:24px;padding:0 6px;}
.zaruka-foto{flex:0 0 auto;width:64px;height:64px;border-radius:50%;object-fit:cover;
  border:3px solid var(--white);box-shadow:var(--shadow-md);}
.zaruka-text b{font-family:var(--font-display);font-size:16px;color:var(--ink);
  letter-spacing:-0.015em;}
.zaruka-role{font-size:13.5px;color:#8b939b;margin-left:8px;}
.zaruka-text p{font-size:14.5px;color:var(--body);line-height:1.6;margin-top:5px;}

/* --- hlavicky sekci --- */
.sec-head{margin-bottom:48px;max-width:660px;}
.eyebrow{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:#146c8c;padding-left:14px;margin-bottom:14px;
  border-left:3px solid var(--cyan);line-height:1.1;}
.sec-head h2{font-size:clamp(28px,3.9vw,44px);letter-spacing:-0.032em;}
.sec-head p{font-size:17px;color:var(--body);margin-top:14px;}


/* --- blok 2: co uvidite --- */
.ukazka{background:var(--paper);}
.ukazka-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
@media (max-width:1000px){.ukazka-grid{grid-template-columns:1fr;gap:44px;}}
.ukazka-kicker{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:#146c8c;padding-left:14px;margin-bottom:14px;
  border-left:3px solid var(--cyan);line-height:1.1;}
.ukazka-copy h2{font-size:clamp(28px,3.7vw,42px);letter-spacing:-0.032em;}
.ukazka-sub{font-size:17px;color:var(--body);margin:16px 0 28px;}
.ukazka-stack{list-style:none;display:grid;gap:14px;}
.ukazka-stack li{position:relative;display:grid;grid-template-columns:auto 1fr;gap:15px;
  align-items:start;background:var(--white);border:1px solid var(--line);
  border-radius:var(--r-card);padding:18px 20px;box-shadow:var(--shadow);
  font-size:15.5px;line-height:1.55;}
.ukazka-stack li.hot-yellow,.ukazka-stack li.hot-blue{border-color:#cfe9f7;}
.ukazka-num{display:flex;align-items:center;justify-content:center;width:28px;height:28px;
  border-radius:50%;background:var(--cyan-soft);color:#146c8c;
  font-family:var(--font-display);font-weight:700;font-size:14px;}
.ukazka-stack b{color:var(--ink);font-weight:600;}
.ukazka-chip{position:absolute;top:-9px;right:18px;background:var(--paper);
  color:#146c8c;font-size:11px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;padding:0 8px;}
.ukazka-copy .btn{margin-top:28px;}
.ukazka-risk{font-size:13px;color:#8b939b;margin-top:14px;}

/* --- vejir nahledu reportu --- */
.ukazka-visual{position:relative;}
/* Vysky listu se ridi pomerem stran nahledu, ne CSS. Kdyz se vymeni obrazky,
   je nutne pozice znovu proverit - jinak ve vejiri zustane dira. */
.ukazka-fan{position:relative;height:430px;}
@media (max-width:1000px){.ukazka-fan{height:auto;}}
.ukazka-sheet{position:absolute;background:var(--white);border:1px solid var(--line);
  border-radius:12px;overflow:hidden;box-shadow:var(--shadow-lg);
  transition:transform .28s ease,box-shadow .28s ease;}
.ukazka-sheet img{display:block;width:100%;height:auto;}
.sheet-page{width:70%;top:0;left:0;transform:rotate(-2.5deg);}
.sheet-reco{width:58%;top:24%;right:0;transform:rotate(2.5deg);}
.sheet-cmp{width:92%;top:47%;left:4%;transform:rotate(-1deg);z-index:2;}
.ukazka-sheet:hover{transform:rotate(0) scale(1.015);z-index:5;box-shadow:0 26px 60px rgba(30,46,62,.16);}
.ukazka-sticker{position:absolute;z-index:6;top:40%;right:-2%;background:var(--yellow);
  color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:13px;
  padding:8px 14px;border-radius:6px;box-shadow:var(--shadow-md);transform:rotate(3deg);}
.ukazka-ilu{font-size:12.5px;color:#8b939b;text-align:center;margin-top:18px;}
@media (max-width:1000px){
  .ukazka-sheet{position:static;transform:none;margin-bottom:18px;width:100%;}
  .ukazka-sticker{display:none;}
}

/* --- blok 5: kdo za tim stoji --- */
.stats{background:var(--white);padding:88px 0;border-top:1px solid var(--line);}
.kdo{display:flex;align-items:center;gap:26px;margin-bottom:44px;}
.kdo-podpis{flex:0 0 auto;width:104px;height:104px;border-radius:50%;object-fit:cover;
  border:4px solid var(--white);box-shadow:var(--shadow-md);}
.kdo-text h2{font-size:clamp(26px,3.4vw,38px);margin-bottom:10px;}
.kdo-text h2 em{font-style:normal;
  background-image:linear-gradient(transparent 56%,rgba(67,200,245,.6) 56%,
  rgba(67,200,245,.6) 86%,transparent 86%);
  -webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 4px;margin:0 -4px;}
.kdo-text p{font-size:17px;color:var(--body);}
@media (max-width:640px){.kdo{flex-direction:column;align-items:flex-start;gap:20px;}}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:760px){.stat-grid{grid-template-columns:1fr;}}
.stat{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);
  padding:28px;box-shadow:var(--shadow);}
.stat .num{font-family:var(--font-display);font-weight:800;font-size:40px;color:var(--ink);
  letter-spacing:-0.035em;line-height:1;}
.stat .lab{font-size:14.5px;color:#7b838c;margin-top:10px;}

/* --- blok 6: caste otazky --- */
.faq-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media (max-width:860px){.faq-list{grid-template-columns:1fr;}}
.faq-item{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);
  padding:28px;box-shadow:var(--shadow);}
.faq-item h3{font-size:18.5px;margin-bottom:10px;letter-spacing:-0.024em;}
.faq-item p{font-size:15.5px;color:var(--body);line-height:1.65;}

/* --- zaverecna vyzva --- */
.final{background:var(--paper);padding:96px 0;border-top:1px solid var(--line);}
.final-inner{max-width:800px;margin:0 auto;background:var(--white);border:1px solid var(--line);
  border-radius:24px;box-shadow:var(--shadow-lg);padding:56px 40px;text-align:center;}
.final-inner h2{font-size:clamp(27px,3.7vw,42px);letter-spacing:-0.032em;}
.final-inner p{font-size:17px;color:var(--body);margin-top:16px;}
.final-inner .btn{margin-top:28px;}
.microcopy{font-size:13px;color:#8b939b;margin-top:16px;}
@media (max-width:640px){.final-inner{padding:38px 24px;}}

/* --- paticka --- */
.footer{background:var(--navy);color:#c3ccd6;padding:64px 0 28px;font-size:14.5px;}
.footer-logo{display:inline-block;transition:opacity .14s ease;}
.footer-logo:hover{opacity:.75;}
.footer img{height:28px;margin-bottom:16px;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr;gap:28px;}}
.footer h4{color:var(--white);font-size:15px;margin-bottom:12px;}
.footer a{color:#c3ccd6;}
.footer a:hover{color:var(--cyan);}
.footer .about{line-height:1.65;max-width:380px;}
.footer-bottom a{color:var(--cyan);text-decoration:underline;}
.footer-bottom a:hover{color:var(--white);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding-top:22px;
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:13px;color:#8b98a6;}
.footer-legal{max-width:760px;line-height:1.6;}

/* --- obrazovky mimo landing --- */
.screen-center{min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:40px 20px;background:linear-gradient(180deg,var(--paper) 0%,var(--white) 100%);}
.centercard{width:100%;max-width:560px;background:var(--white);border:1px solid var(--line);
  border-radius:24px;box-shadow:var(--shadow-lg);padding:48px 40px;text-align:center;}
@media (max-width:640px){.centercard{padding:34px 24px;}}
.centercard h2{font-size:26px;margin:6px 0 14px;letter-spacing:-0.03em;}
.centercard .sub{font-size:16px;color:var(--body);line-height:1.65;}
.centercard .sub+.sub{margin-top:12px;}
.centercard .btn{margin-top:22px;}
.done-emoji{font-size:42px;line-height:1;margin-bottom:10px;}
.centercard form{margin-top:22px;}
.zpet{margin-top:20px;}
.zpet a{color:#146c8c;font-weight:600;text-decoration:underline;}
.ring-track{stroke:#e4ebf3;}
#ringFg{stroke:var(--cyan);}
.ring{position:relative;width:170px;height:170px;margin:0 auto 22px;}
.pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:800;font-size:34px;color:var(--ink);}
.pct small{font-size:16px;margin-left:2px;color:#8b939b;}
.loadmsg{font-size:17px;font-weight:600;color:var(--ink);}
.steps{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px;}
.step{font-size:12.5px;color:#8b939b;background:var(--paper);border:1px solid var(--line);
  border-radius:6px;padding:5px 12px;}
.step.done{color:#146c8c;background:var(--cyan-soft);border-color:#cfe9f7;}
.note{font-size:13px;color:#8b939b;margin-top:20px;line-height:1.6;}

/* --- dve otazky na obrazovce cekani --- */
.doplneni{margin-top:32px;padding-top:28px;border-top:1px solid var(--line);text-align:left;}
.doplneni h3{font-size:19px;margin:0 0 8px;letter-spacing:-0.025em;}
.doplneni-lede{font-size:14.5px;color:var(--body);line-height:1.6;margin:0 0 20px;}
.doplneni .btn{margin-top:8px;}
.doplneni-diky{margin-top:32px;padding-top:28px;border-top:1px solid var(--line);
  font-size:15.5px;color:var(--body);line-height:1.65;}

/* --- cookie lista --- */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--white);
  border-top:1px solid var(--line);box-shadow:0 -8px 28px rgba(30,46,62,.10);padding:18px 0;}
.cookie-inner{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;flex-wrap:wrap;
  align-items:center;gap:18px;}
.cookie-text{flex:1 1 340px;font-size:14px;color:var(--body);line-height:1.55;}
.cookie-text a{color:#146c8c;font-weight:600;text-decoration:underline;}
.cookie-actions{display:flex;gap:10px;margin-left:auto;}
.cookie-actions .btn{padding:11px 20px;font-size:14.5px;}
