/* Kdo stojí za JB Akvizice — styly jen pro tuto stránku (navazuje na site.css) */

/* eyebrow v .section-head a .trust-copy přebíjí obecné „p“ pravidlo ze site.css */
.section-head .eyebrow,.trust-copy > p.eyebrow{font-size:11px;line-height:1.2;color:var(--blue);margin-bottom:15px}

/* ÚVOD */
.kdo-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:56px;align-items:center;padding:88px 0 64px}
.kdo-kicker{display:block;font-size:12px;line-height:1.2;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8fb2f5;margin-bottom:22px}
.hero h1.kdo-title{font-size:clamp(42px,5.4vw,76px);line-height:1;letter-spacing:-.052em;margin-bottom:26px}
.kdo-title .w{display:inline-block;opacity:0;transform:translateY(.42em) rotate(2deg);filter:blur(6px);animation:wordIn .7s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i,0) * .09s + .15s)}
.kdo-hero .hero-sub{max-width:600px}
.kdo-visual{position:relative;width:min(100%,400px);justify-self:end}
.kdo-visual .hero-photo{width:100%;margin:0;justify-self:auto}
.kdo-badge{position:absolute;display:flex;align-items:center;gap:11px;background:#fff;color:var(--ink);text-decoration:none;border-radius:14px;padding:11px 16px 11px 12px;box-shadow:0 22px 50px rgba(4,12,34,.35);animation:float 6s ease-in-out infinite;z-index:2}
.kdo-badge b{display:block;font-size:14px;line-height:1.25}
.kdo-badge span.sub{display:block;font-size:12px;color:var(--muted);line-height:1.35}
.kdo-badge--name{left:-34px;top:12%}
.kdo-badge--ico{right:-14px;bottom:14%;animation-delay:-3s;transition:box-shadow .2s}
.kdo-badge--ico:hover{box-shadow:0 22px 50px rgba(4,12,34,.5),0 0 0 3px rgba(143,178,245,.6)}
.kdo-badge .ico{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex:0 0 auto}
.kdo-badge--name .ico{background:var(--navy);color:#fff;letter-spacing:-.02em}
.kdo-badge--ico .ico{background:#16a34a;color:#fff}

.kdo-stats{position:relative;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14)}
.kdo-stat{padding:28px 24px 36px;border-left:1px solid rgba(255,255,255,.14)}
.kdo-stat:first-child{border-left:0;padding-left:0}
.kdo-stat-num{font-size:clamp(38px,4vw,52px);font-weight:700;letter-spacing:-.05em;line-height:1;color:#fff;margin-bottom:10px;font-variant-numeric:tabular-nums}
.kdo-stat-num small{font-size:.4em;letter-spacing:-.01em;color:#9dbcf7;margin-left:5px}
.kdo-stat-num .pre{font-size:.55em;color:#9dbcf7;margin-right:2px;vertical-align:.18em}
.kdo-stat p{font-size:13.5px;color:#aab6cf;line-height:1.55;max-width:230px}

/* PŘÍBĚH — časová osa, která se plní při scrollu */
.tl{position:relative;--rail:174px}
.tl::before,.tl-fill{content:'';position:absolute;left:var(--rail);top:8px;bottom:8px;width:2px;background:var(--line);border-radius:2px}
.tl-fill{background:var(--blue);bottom:auto;height:calc(var(--fill,0) * (100% - 16px));transition:height .12s linear}
.tl-item{position:relative;display:grid;grid-template-columns:150px 48px minmax(0,1fr);padding:0 0 46px}
.tl-item:last-child{padding-bottom:0}
.tl-tag{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);padding-top:7px;text-align:right}
.tl-dot{justify-self:center;width:18px;height:18px;margin-top:6px;border-radius:50%;background:#fff;border:2px solid var(--blue-line);position:relative;z-index:1;transition:background .35s,border-color .35s,box-shadow .35s}
.tl-item.on .tl-dot{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 6px rgba(31,95,214,.14)}
.tl-body{max-width:700px}
.tl-body h3{font-size:clamp(21px,2.2vw,27px);letter-spacing:-.032em;line-height:1.18;margin-bottom:10px}
.tl-body p{color:var(--muted);font-size:15.5px;line-height:1.75}
.tl-take{margin-top:14px;border-left:2px solid var(--blue-line);padding:3px 0 3px 16px;font-size:14px!important;font-weight:600;color:#465064!important;transition:border-color .4s}
.tl-take::before{content:'Co z toho máte vy';display:block;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);margin-bottom:4px;font-weight:800}
.tl-item.on .tl-take{border-color:var(--blue)}
.tl-item--now .tl-body h3{color:var(--navy)}
.tl-item--now .tl-dot{width:22px;height:22px;margin-top:4px}

/* VELKÝ VÝROK — slova se barví při scrollu */
.kdo-say-wrap{max-width:1040px}
.kdo-say{font-size:clamp(30px,4.3vw,56px);line-height:1.12;letter-spacing:-.045em;font-weight:700;color:var(--navy)}
.kdo-say em{font-style:normal;color:var(--blue)}
.kdo-say .sw{color:#cbd2de;transition:color .3s}
.kdo-say .sw.lit{color:var(--navy)}
.kdo-say .sw.lit.hl{color:var(--blue)}
.kdo-say-by{display:flex;align-items:center;gap:14px;margin-top:30px;font-size:14px;color:var(--muted)}
.kdo-say-by::before{content:'';width:40px;height:2px;background:var(--blue)}
.kdo-say-by b{color:var(--ink)}

/* PRAVIDLA */
.rules{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.rule{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);gap:16px;padding:30px 32px 30px 0;border-bottom:1px solid var(--line)}
.rule:nth-child(even){padding:30px 0 30px 32px;border-left:1px solid var(--line)}
.rule::before{content:'';position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--blue);transition:width .9s cubic-bezier(.2,.8,.2,1) .25s}
.rule:nth-child(even)::before{left:32px}
.rule.visible::before{width:56px}
.rule-num{font-size:36px;font-weight:700;letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1.3px var(--blue);transition:color .3s}
.rule:hover .rule-num{color:var(--blue)}
.rule h3{font-size:19px;letter-spacing:-.022em;margin-bottom:7px;line-height:1.25}
.rule p{color:var(--muted);font-size:14.5px;line-height:1.7}

/* ČÍSLA — tmavý pás */
.kdo-proof{background:var(--navy);color:#fff;padding:96px 0;position:relative;overflow:hidden}
.kdo-proof::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 2px,transparent 2px 46px);pointer-events:none}
.kdo-proof .wrap{position:relative}
.kdo-proof .eyebrow,.kdo-proof .section-head .eyebrow{color:#8fb2f5}
.kdo-proof .section-head p{color:#aab6cf}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.proof{padding:34px 28px 32px;border-left:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column}
.proof:first-child{border-left:0;padding-left:0}
.proof-num{font-size:clamp(44px,4.8vw,62px);font-weight:700;letter-spacing:-.05em;line-height:1;margin-bottom:12px;font-variant-numeric:tabular-nums}
.proof-num small{font-size:.38em;letter-spacing:-.01em;color:#9dbcf7;margin-left:5px}
.proof h3{font-size:17px;letter-spacing:-.015em;margin-bottom:4px}
.proof-ctx{font-size:13px;color:#8fa0c2}
.proof p.proof-text{font-size:14px;color:#c6d1e6;line-height:1.65;margin-top:auto}
.bars{display:grid;gap:11px;margin:24px 0 22px}
.bar{display:grid;grid-template-columns:72px minmax(0,1fr) 62px;gap:12px;align-items:center;font-size:12.5px;color:#aab6cf}
.bar b{color:#fff;font-weight:700;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.bar-track{position:relative;height:8px;background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden}
.bar-track i{position:absolute;left:0;top:0;bottom:0;width:0;background:#5b8ff0;border-radius:0 4px 4px 0;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.bar-track i.hi{background:rgba(91,143,240,.45)}
.bar--muted .bar-track i{background:#6f7d99}.bar--muted .bar-track i.hi{background:rgba(111,125,153,.5)}
.proof.visible .bar-track i{width:var(--w)}
.proof.visible .bar:nth-child(2) .bar-track i{transition-delay:.18s}
.proof.visible .bar:nth-child(3) .bar-track i{transition-delay:.36s}
.dots{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;max-width:250px;margin:24px 0 10px}
.dots i{aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.14);transition:background .4s,transform .4s}
.proof.visible .dots i.on{background:#5b8ff0;transform:scale(1.15)}
.dots-legend{font-size:12px;color:#8fa0c2;margin-bottom:22px}
.dots-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#5b8ff0;margin-right:6px;vertical-align:-.05em}
.proof-note{margin-top:18px;font-size:12px;color:#8fa0c2;max-width:820px}

/* OBORY — typografický seznam, ne karty */
.obory{border-top:1px solid var(--line)}
.obor{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1.05fr);gap:28px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line);transition:padding .3s,background .3s}
.obor-num{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--blue)}
.obor h3{font-size:clamp(22px,2.6vw,32px);letter-spacing:-.04em;line-height:1.1;transition:color .25s}
.obor h3 em{font-style:normal;display:inline-block;margin-left:10px;vertical-align:.35em;font-size:10px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:var(--blue);border:1px solid var(--blue-line);background:var(--blue-soft);border-radius:999px;padding:4px 9px}
.obor p{color:var(--muted);font-size:14.5px;line-height:1.7}
.obor:hover{padding-left:14px;padding-right:14px;background:#fff}
.obor:hover h3{color:var(--blue)}
.obory-note{margin-top:16px;font-size:12.5px;color:#6b7280}

/* DŮVĚRA */
.trust-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,470px);gap:72px;align-items:start}
.trust-copy h2{font-size:clamp(34px,4.25vw,54px);line-height:1.04;letter-spacing:-.045em;margin-bottom:22px}
.trust-copy > p{color:var(--muted);font-size:16px;line-height:1.78;max-width:600px;margin-bottom:26px}
.trust-copy .check-list li{font-size:15px}
.trust-copy .check-list strong{color:var(--ink)}
.trust-copy .check-list a{color:var(--blue-deep);font-weight:600}
.vizitka{background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:12px;padding:30px;box-shadow:0 18px 44px rgba(15,35,80,.08);position:sticky;top:100px}
.vizitka-head{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.vizitka-head img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 12%;border:3px solid var(--blue-soft)}
.vizitka-head b{display:block;font-size:19px;letter-spacing:-.02em}
.vizitka-head span{display:block;font-size:13px;color:var(--muted)}
.vizitka dl{display:grid;grid-template-columns:128px minmax(0,1fr)}
.vizitka dt,.vizitka dd{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.vizitka dt{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);padding-top:15px}
.vizitka dd{color:#3d4556}
.vizitka dd a{color:var(--navy);font-weight:700;text-decoration:none}
.vizitka dd a:hover{color:var(--blue)}
.vizitka dd .ares{display:inline-block;margin-left:8px;font-size:12px;font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.vizitka-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:13px}
.vizitka-links a{color:var(--blue-deep);font-weight:600}

/* PARTNER */
.partner-sec{padding:64px 0}
.partner{display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:36px;align-items:center;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.partner-label{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}
.partner-label b{display:block;font-size:22px;letter-spacing:-.03em;text-transform:none;color:var(--ink);margin-top:6px}
.partner p{color:var(--muted);font-size:15px;line-height:1.72;max-width:640px}
.partner a.partner-link{justify-self:start;font-weight:700;color:var(--blue-deep);white-space:nowrap;text-decoration:none;border-bottom:1px solid var(--blue-line);padding-bottom:2px}
.partner a.partner-link:hover{border-color:var(--blue)}

/* ZÁVĚR */
.kdo-cta-photo{width:96px;height:96px;margin:0 auto 26px;position:relative}
.kdo-cta-photo img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 14px 34px rgba(15,35,80,.18);position:relative}
.kdo-cta-photo::after{content:'';position:absolute;right:4px;bottom:6px;width:16px;height:16px;border-radius:50%;background:#16a34a;border:3px solid #fff}
.kdo-cta-note{margin-top:4px;font-size:13px!important;color:#6b7280!important}

@media(max-width:1100px){
  .kdo-hero-grid{grid-template-columns:1fr;gap:40px;padding:72px 0 48px}
  .kdo-visual{justify-self:start;width:min(80%,340px);margin-left:34px}
  .kdo-stats{grid-template-columns:1fr 1fr}
  .kdo-stat:nth-child(3){border-left:0;padding-left:0}
  .kdo-stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14)}
  .trust-grid{grid-template-columns:1fr;gap:44px}
  .vizitka{position:static;max-width:560px}
  .partner{grid-template-columns:1fr auto}.partner-label{grid-column:1/-1}
}
@media(max-width:760px){
  .kdo-hero-grid{padding:52px 0 40px}
  .hero h1.kdo-title{font-size:clamp(38px,10.4vw,54px)}
  .kdo-kicker{font-size:11px;margin-bottom:16px}
  .kdo-visual{width:min(78%,300px);margin-left:30px}
  .kdo-badge{padding:9px 12px 9px 9px;gap:9px}
  .kdo-badge .ico{width:28px;height:28px;font-size:12px}
  .kdo-badge b{font-size:13px}.kdo-badge span.sub{font-size:11px}
  .kdo-badge--name{left:-26px;top:6%}
  .kdo-badge--ico{right:-22px;bottom:8%}
  .kdo-stat{padding:22px 14px 26px}
  .kdo-stat:nth-child(odd){padding-left:0}
  .kdo-stat p{font-size:12.5px}
  .tl{--rail:12px}
  .tl-item{grid-template-columns:26px minmax(0,1fr);grid-template-areas:"dot tag" "dot body";column-gap:16px;padding-bottom:38px}
  .tl-tag{grid-area:tag;text-align:left;padding-top:2px;margin-bottom:6px}
  .tl-dot{grid-area:dot;justify-self:start;margin-top:3px;width:18px;height:18px;margin-left:4px}
  .tl-item--now .tl-dot{width:22px;height:22px;margin-left:2px;margin-top:1px}
  .tl-body{grid-area:body}
  .tl-body p{font-size:15px}
  .rules{grid-template-columns:1fr}
  .rule,.rule:nth-child(even){padding:24px 0;border-left:0;grid-template-columns:48px minmax(0,1fr);gap:12px}
  .rule:nth-child(even)::before{left:0}
  .rule-num{font-size:30px}
  .kdo-proof{padding:72px 0}
  .proof-grid{grid-template-columns:1fr}
  .proof,.proof:first-child{border-left:0;padding:28px 0}
  .proof+.proof{border-top:1px solid rgba(255,255,255,.14)}
  .obor{grid-template-columns:36px minmax(0,1fr);gap:6px 12px;padding:22px 0}
  .obor p{grid-column:2}
  .obor h3 em{display:table;margin:8px 0 0}
  .obor:hover{padding-left:0;padding-right:0;background:none}
  .vizitka{padding:24px 20px}
  .vizitka dl{grid-template-columns:1fr}
  .vizitka dt{padding:12px 0 2px;border-bottom:0}
  .vizitka dd{padding-top:0}
  .partner-sec{padding:52px 0}
  .partner{grid-template-columns:1fr;gap:16px}
}

@media (prefers-reduced-motion:reduce){
  .kdo-title .w{animation:none;opacity:1;transform:none;filter:none}
  .kdo-badge{animation:none}
  .tl-fill,.tl-dot,.tl-take,.rule::before,.bar-track i,.dots i,.kdo-say .sw,.obor{transition:none}
}
