/* KESTIR na telefonu (31. 10. 2026, Adam: "kestir telefon web vypada jako slop, oprav preryvane texty, spacing, vsechno tohle").
   Načítá se jen do 760 px (media na <link>), desktop se ho netýká. Hero (.o-net) a patičku (.foot) neřeší, ty mají vlastní práci.
   Jeden systém místo desktopu zmenšeného po vrstvách: okraj 20 px, panely 12 px, sekce 56 px, velikosti t1 t2 t3 + text 16 + detail 14 + popisek 12.
   Odsazení je v px, ne ve vh: 16vh dávalo jiný web na každém displeji. */
:root { --m-x: 20px; --m-p: 12px; --m-sec: 56px; --m-t1: clamp(30px, 8.7vw, 36px); --m-t2: clamp(23px, 6.7vw, 28px); --m-t3: 20px; --m-bar: 82px; }
@media (max-width: 340px) { :root { --m-x: 16px; --m-p: 8px; --m-sec: 48px; } }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html, body { scroll-padding-top: calc(var(--m-bar) + 16px); }   /* na dotyku scrolluje body (barlock) */
.o-sheet { --o-mute: #54585B; }   /* šedý text na bílé: kontrast aspoň 7:1 */
body p, body li, body dd, body blockquote, body .lede, body .founder-quote { text-wrap: pretty; hyphens: manual; }
body h1, body h2, body h3 { text-wrap: balance; hyphens: manual; }

/* lišta: nižší, neprůhledná (text pod ní nesmí prosvítat), odkazy mají prostor na palec */
body:not(.o-m) .o-bar { gap: 4px 16px; padding: 8px var(--m-x) 8px; }
html .o-bar.is-on:not(.is-free):not(.is-menu) { background: #fff; }
html .o-bar.on-dark.is-on:not(.is-free):not(.is-menu) { background: #060606; }
body:not(.o-m) .o-bar .o-cta { padding: 8px 18px; font-size: 15px; line-height: 24px; }
body:not(.o-m) .o-bar nav { gap: 20px; }
body:not(.o-m) .o-bar nav a { padding: 10px 0; margin: -10px 0; font-size: 14px; line-height: 20px; }
body:not(.o-m) .o-bar .mark { padding: 10px 0; margin: -10px auto -10px 0; }

/* popisky */
body .mono:not(figcaption) { font-size: 12px; letter-spacing: .05em; }

/* domů: chat */
.o-ask { padding: 56px var(--m-x) calc(var(--m-sec) + var(--o-r)); gap: 28px; }
.o-h3 { font-size: var(--m-t1); line-height: 1.08; letter-spacing: -.022em; }
.o-h3s { margin-top: 12px; font-size: 16px; line-height: 1.45; letter-spacing: 0; opacity: .78; }
.o-ask .uh-btn { margin-top: 20px; font-size: 16px; padding: 14px 24px; }

/* domů: bílý list */
.o-sheet { padding-top: 0; }
.o-sheet .band, body .band { padding: var(--m-sec) var(--m-x); }
.sec-head + *, .sub + * { margin-top: 24px; }
.sec-head .h2, .sec-head .h1, .sec-head h2 { margin-top: 0; max-width: none; font-size: var(--m-t1); line-height: 1.08; }

/* Jak pracujeme: obrázek, pak nadpis s číslem a text na celou šířku (číslo ubíralo sloupci 34 px) */
#roadmap .road { gap: 0; }
#roadmap .road li { display: block; padding: 0; border: 0; }
#roadmap .road li + li { margin-top: 40px; border: 0; }
#roadmap .road .rv { margin: 0 0 16px; }
#roadmap .road li > .mono { display: inline-block; margin-right: 10px; vertical-align: 2px; }
#roadmap .road h3 { display: inline; font-size: var(--m-t3); line-height: 1.25; }
#roadmap .road p { margin-top: 8px; font-size: 16px; line-height: 1.5; }

/* domů: panel Bezpečnost */
.uh-sec { margin: 0 var(--m-p) 40px; padding: 28px var(--m-x); gap: 20px; border-radius: 20px; }
.uh-sec h2 { font-size: var(--m-t2); line-height: 1.14; }
.uh-sec .o-btn { margin-top: 18px; font-size: 16px; padding: 14px 24px; }
.uh-sec li { padding: 12px 0; line-height: 1.35; }

/* domů: zakladatel */
.o-founder { gap: 16px; padding: 0 var(--m-x) var(--m-sec); }
.o-founder img { max-width: none; aspect-ratio: 5 / 4; object-position: 50% 22%; border-radius: 20px; }
.o-founder > div { gap: 20px; padding: 24px var(--m-x); border-radius: 20px; }
.o-founder blockquote { font-size: var(--m-t2); line-height: 1.18; letter-spacing: -.016em; }
.o-founder .o-who { font-size: 16px; line-height: 1.4; }
.o-founder .o-btn { font-size: 16px; padding: 14px 24px; }

/* formulář: bez druhé krabice v krabici, popisky věta, ne mono verzálky */
.page-home #contact.close.final { min-height: 0; margin: 0 var(--m-p); padding: 40px var(--m-x) 32px; justify-items: stretch; text-align: left; border-radius: 20px; }
.close.final .h1, #contact h2 { max-width: none; font-size: var(--m-t1); line-height: 1.08; letter-spacing: -.022em; }
.close.final .lede { max-width: none; margin-top: 12px; font-size: 16px; line-height: 1.45; }
.final-form { width: 100%; margin-top: 24px; }
.page-home #contact .final-form .form.glass, html.t-black .page-home #contact .final-form .form.glass { padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
.form { gap: 16px; }
.form .two { grid-template-columns: 1fr; gap: 16px; }
.form label { gap: 6px; }
.form label .mono { font-family: "Instrument Sans", sans-serif; font-size: 14px; line-height: 1.3; letter-spacing: 0; text-transform: none; }
.form input, .form select, .form textarea { min-height: 50px; border-radius: 12px; }
.form textarea { min-height: 128px; }
.form .send, .form .pill { width: 100%; height: 52px; justify-content: center; font-size: 16px; }

/* otázky: pořadové číslo nic nenese a ubíralo 68 px */
#questions .faq-wrap { gap: 20px; }
#questions .faq .qa { padding: 0; }
#questions .faq summary { grid-template-columns: minmax(0, 1fr) 22px; gap: 0 16px; padding: 18px 0; }
#questions .faq summary .n { display: none; }
#questions .faq summary h3 { font-size: 18px; line-height: 1.28; letter-spacing: -.01em; }
#questions .qa p { margin-left: 0; padding-right: 0; font-size: 16px; line-height: 1.5; }
#questions h2 { font-size: var(--m-t1); line-height: 1.08; }

/* podstránky: užší krabice v krabici, text dostane o 32 px víc */
.uc-stage { margin: 0 var(--m-p); border-radius: 20px; }
.uc-head { padding: 32px var(--m-x) 0; }
.uc-head h1 { font-size: var(--m-t1); line-height: 1.08; }
.uc-head p { margin-top: 12px; font-size: 16px; line-height: 1.45; }
.uc-work { padding: 20px 8px 8px; gap: 12px; }
.uc-list { margin: 0 -8px; padding: 2px var(--m-x); gap: 6px; scroll-padding: 0 var(--m-x); }
.uc-case { min-height: 44px; padding: 10px 16px; font-size: 15px; }
.uc-case[aria-pressed="true"] { padding-left: 16px; }
.uc-win { padding: 16px; border-radius: 16px; }
.uc-in { padding: 12px 14px; border-radius: 12px; }
.uc-doc { padding: 14px; border-radius: 12px; }
.uc-win small { font-size: 13px; line-height: 1.3; }
.uc-doc li { align-items: baseline; padding: 10px 0; line-height: 1.3; }
.uc-doc li span { flex: 0 0 auto; max-width: calc(100% - 3.6em); }
.uc-doc li b { flex: 1 1 0; min-width: 0; }
.sec-p + .sec-p { margin-top: 8px; }
.sec-a { margin: 10px 0 16px; font-size: 16px; line-height: 1.45; }
.sec-p h2 { font-size: var(--m-t3); line-height: 1.2; letter-spacing: -.01em; }
.uc-sec { font-size: var(--m-t1); line-height: 1.08; }
.uc-link { margin: 0 var(--m-p); padding: 24px var(--m-x); }
.uc-link h2 { font-size: var(--m-t3); line-height: 1.22; }
.uc-end { margin: 8px var(--m-p) 0; padding: 40px var(--m-x); }
.uc-end h2 { font-size: var(--m-t2); line-height: 1.14; }
.uc-end p { font-size: 16px; line-height: 1.45; }
.uc-end .o-btn, .uc-link .o-btn { font-size: 16px; padding: 14px 24px; }

/* Kdo jsme (živá verze, nová .ab si řeší telefon sama) */
.o-top { margin-left: var(--m-p); margin-right: var(--m-p); padding: 40px var(--m-x); }
.o-top h1 { font-size: var(--m-t1); line-height: 1.08; }
.o-bel:not(.ab-bel) { padding: 40px var(--m-x) 0; }
.o-bel:not(.ab-bel) li { padding: 16px 0; font-size: var(--m-t2); line-height: 1.18; }
.o-why:not(.ab-why) { gap: 20px; padding: 40px var(--m-x) var(--m-sec); }
.o-why:not(.ab-why) img { max-width: none; aspect-ratio: 5 / 4; object-fit: cover; object-position: 50% 22%; border-radius: 20px; }
.o-why:not(.ab-why) .o-ft { font-size: 17px; line-height: 1.5; letter-spacing: 0; }
.o-why:not(.ab-why) .o-fc { font-size: var(--m-t3); line-height: 1.3; }

/* Začít */
.page-card { padding: calc(var(--m-bar) + 32px) var(--m-x) 40px; }
.page-card .form.glass { padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
.page-card h1, .page-card .h1 { font-size: var(--m-t1); line-height: 1.08; }
.page-card .lede { margin-top: 12px; font-size: 16px; line-height: 1.45; }
