#kom {
  --navy: #0D1626;
  --navy-900: #131C31;
  --lift: #2B3E63;
  --gold: #B4924A;
  --gold-br: #D8B368;
  --gold-soft: #E7D19B;
  --gold-ink: #8A6D2E;
  --blue: #0A74E0;
  --blue-br: #2E97F5;
  --zelena-lt: #187141;
  --txt-body: #C9D4E4;
  --txt-dim: #8B9CB7;
  --pg: #FFFFFF;
  --pg-alt: #F6F7FA;
  --ink: #16233B;
  --ink-mid: #38455C;
  --ink-dim: #5C6B84;
  --line-lt: rgba(22, 35, 59, .09);
  --sans: "Avenir Next", Avenir, "Segoe UI", system-ui, -apple-system, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
  --fs-lead: 21px;
  --lh-lead: 1.5;
  --fs-body: 18px;
  --lh-body: 1.6;
  --fs-mala: 15px;
  --lh-mala: 1.55;
  --sirka-text: 660px;
  font-family: var(--sans);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}
#kom * { box-sizing: border-box; }
#kom img { max-width: 100%; height: auto; display: block; }
#kom .kom-wrap { max-width: 1180px; margin: 0 auto; padding: 0 30px; }
#kom .kom-stred { text-align: center; }
#kom .kom-h2.kom-stred, #kom .kom-hook.kom-stred { margin-left: auto; margin-right: auto; }
#kom a:focus-visible { outline: 2px solid var(--gold-br); outline-offset: 3px; border-radius: 4px; }
#kom p, #kom li, #kom blockquote, #kom figcaption, #kom dd, #kom dt, #kom td, #kom th {
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}
#kom .kom-lead, #kom .kom-lede, #kom .kom-p--lead {
  font-size: var(--fs-lead);
  line-height: var(--lh-lead);
}
#kom cite,
#kom .kom-mala,
#kom .kom-eyebrow,
#kom .kom-krok-cislo,
#kom .kom-cesta-odkud,
#kom .kom-mvh-label,
#kom .kom-cta-komu,
#kom .kom-rust-eyebrow,
#kom .kom-hero-fakta span,
#kom .kom-foto figcaption,
#kom .kom-kdo em,
#kom .kom-cesta-kdo em,
#kom .kom-video-kdo em,
#kom .kom-cta-vedle {
  font-size: var(--fs-mala);
  line-height: var(--lh-mala);
}
#kom .kom-sec { padding: 98px 0; position: relative; }
#kom .kom-sec--slim { padding: 78px 0; }
#kom .kom-sec--lt { background: var(--pg); }
#kom .kom-sec--alt { background: var(--pg-alt); }
#kom .kom-sec--navy { background: var(--navy); color: var(--txt-body); }
#kom .kom-sec--navy::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(900px 620px at 30% 20%, var(--lift) 0%, transparent 66%);
  pointer-events: none; opacity: .55;
}
#kom .kom-sec--navy > .kom-wrap { position: relative; z-index: 1; }
#kom .kom-sec--navy + .kom-sec--navy { padding-top: 0; }
#kom .kom-sec--navy + .kom-sec--navy::before { content: none; }
#kom .kom-eyebrow {
  font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase; color: var(--gold-ink); margin: 0 0 16px;
}
#kom .kom-navy .kom-eyebrow, #kom .kom-hero .kom-eyebrow { color: var(--gold-br); }
#kom .kom-h2 {
  font-family: var(--sans); font-weight: 500;
  font-size: clamp(27px, 3.2vw, 40px); letter-spacing: -.015em; line-height: 1.16;
  color: var(--ink); margin: 0; text-wrap: balance;
}
#kom .kom-navy .kom-h2 { color: #fff; }
#kom .kom-h2.kom-stred { max-width: 26ch; }
#kom .kom-hook {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(31px, 4.1vw, 50px); letter-spacing: -.01em; line-height: 1.13;
  color: var(--ink); margin: 0 0 34px; text-wrap: balance; max-width: 30ch;
}
#kom .kom-stred .kom-hook { margin-left: auto; margin-right: auto; }
#kom .kom-hook em { font-style: italic; color: var(--gold-ink); }
#kom .kom-navy .kom-hook { color: #fff; }
#kom .kom-navy .kom-hook em { color: var(--gold-soft); }
#kom .kom-h3sec {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(25px, 2.9vw, 34px); line-height: 1.18; letter-spacing: -.01em;
  color: var(--ink); margin: 0 0 16px; max-width: 32ch; text-wrap: balance;
}
#kom .kom-navy .kom-h3sec { color: #fff; }
#kom .kom-h3sec em { font-style: italic; color: var(--gold-ink); }
#kom .kom-navy .kom-h3sec em { color: var(--gold-soft); }
#kom .kom-p { color: var(--ink-mid); margin: 0 0 20px; max-width: var(--sirka-text); }
#kom .kom-navy .kom-p { color: var(--txt-body); }
#kom .kom-p strong { color: var(--ink); font-weight: 600; }
#kom .kom-navy .kom-p strong { color: #fff; }
#kom .kom-p--lead { color: var(--ink); }
#kom .kom-navy .kom-p--lead { color: #fff; }
#kom .kom-stred .kom-p { margin-left: auto; margin-right: auto; }
#kom .kom-hlava {
  display: grid; grid-template-columns: 1.06fr .94fr; gap: 20px 56px;
  align-items: start; margin: 0 0 38px;
}
#kom .kom-hlava .kom-eyebrow { grid-column: 1 / -1; margin-bottom: 4px; }
#kom .kom-hlava .kom-hook { margin: 0; max-width: 20ch; }
#kom .kom-hlava .kom-h3sec { margin: 0; max-width: 22ch; }
#kom .kom-hlava-txt { align-self: end; padding-bottom: 6px; }
#kom .kom-hlava-txt .kom-p:last-child { margin-bottom: 0; }
#kom .kom-hlava-txt .kom-p { max-width: none; }
#kom .kom-vytah {
  font-family: var(--serif);
  font-size: var(--fs-lead); line-height: var(--lh-lead);
}
#kom.kom-anim .kom-a { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
#kom.kom-anim .kom-a.kom-videt { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  #kom.kom-anim .kom-a { opacity: 1; transform: none; transition: none; }
}
#kom .kom-hero {
  background: var(--navy); color: var(--txt-body);
  padding: 62px 0 58px; position: relative; overflow: hidden;
}
#kom .kom-hero-foto {
  position: absolute; inset: 0;
  background: url("https://coachinguniversity.cz/wp-content/uploads/komunita/komunita-hero-certifikace-cm-2048.webp") 60% 26% / cover no-repeat;
}
#kom .kom-hero-foto::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(97deg, var(--navy) 0%, var(--navy) 30%, rgba(13,22,38,.88) 58%, rgba(13,22,38,.34) 100%),
    linear-gradient(0deg, rgba(13,22,38,.62) 0, transparent 42%);
}
#kom .kom-hero > .kom-wrap { position: relative; z-index: 1; }
#kom .kom-hero h1, #kom .kom-hero .kom-lede { text-shadow: 0 2px 22px rgba(13,22,38,.5); }
#kom .kom-hero h1 {
  font-family: var(--serif); font-weight: 400; color: #fff;
  font-size: clamp(34px, 5vw, 60px); line-height: 1.08; letter-spacing: -.015em;
  margin: 0 0 20px; max-width: 24ch; text-wrap: balance;
}
#kom .kom-hero h1 em { font-style: italic; color: var(--gold-soft); }
#kom .kom-hero h1 { max-width: 660px; }
#kom .kom-hero .kom-lede { color: #E4EAF3; margin: 0 0 28px; max-width: 660px; }
#kom .kom-hero .kom-lede strong { color: #fff; font-weight: 600; }
#kom .kom-hero-fakta {
  display: flex; flex-wrap: wrap; gap: 16px 44px; align-items: flex-start;
  padding: 22px 0 0; margin: 0; border-top: 1px solid rgba(255,255,255,.28);
  max-width: 780px;
}
#kom .kom-hero-fakta > * { text-decoration: none; color: inherit; }
#kom .kom-hero-fakta b {
  display: block; font-family: var(--serif); font-weight: 400; color: var(--gold-soft);
  font-size: clamp(26px, 3vw, 34px); line-height: 1.05; letter-spacing: -.01em;
}
#kom .kom-hero-fakta span { display: block; color: #B7C4D6; margin-top: 5px; max-width: 15ch; }
#kom a.kom-fakt-odkaz:hover span { color: var(--gold-soft); }
#kom .kom-hero-foto::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 10%;
  background: linear-gradient(to bottom, rgba(13,22,38,.85) 0%, rgba(13,22,38,0) 100%);
  pointer-events: none;
}
#kom .kom-bolest { display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: start; }
#kom .kom-bolest-txt .kom-p:last-child { margin-bottom: 0; }
#kom .kom-uzel {
  margin: 28px 0 26px; padding: 20px 0 0; border-top: 2px solid var(--gold);
  color: var(--ink); max-width: 30ch;
}
#kom .kom-uzel b { font-weight: 400; color: var(--gold-ink); font-style: italic; }
#kom .kom-obrat {
  background: var(--pg-alt); border-left: 3px solid var(--gold);
  border-radius: 0 16px 16px 0; padding: 30px 30px 28px;
}
#kom .kom-obrat .kom-obrat-label {
  font-size: var(--fs-mala); line-height: var(--lh-mala);
  font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: var(--gold-ink); margin: 0 0 14px;
}
#kom .kom-obrat .kom-vytah { color: var(--ink); margin: 0 0 16px; }
#kom .kom-obrat .kom-p { margin: 0; max-width: none; }
#kom .kom-foto { margin: 0; }
#kom .kom-foto img { width: 100%; border-radius: 14px; }
#kom .kom-foto--siroka img { aspect-ratio: 21 / 9; object-fit: cover; }
#kom .kom-foto figcaption {
  color: var(--ink-dim); margin-top: 14px; padding-left: 16px;
  border-left: 2px solid var(--line-lt);
}
#kom .kom-navy .kom-foto figcaption { color: var(--txt-dim); border-left-color: rgba(255,255,255,.14); }
#kom .kom-foto-pas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 0 0 62px; }
#kom .kom-foto-pas .kom-foto img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
#kom .kom-foto-pas .kom-foto figcaption { margin-top: 12px; }
#kom .kom-foto-pas--dve { grid-template-columns: repeat(2, 1fr); }
#kom .kom-retez { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 44px 0 0; counter-reset: kr; list-style: none; padding: 0; }
#kom .kom-krok { position: relative; padding: 0 28px 0 0; counter-increment: kr; }
#kom .kom-krok + .kom-krok { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.13); }
#kom .kom-krok + .kom-krok::before {
  content: "→"; position: absolute; left: -9px; top: 4px;
  color: var(--gold-br); font-size: 15px; line-height: 1;
  background: var(--navy); padding: 2px 0;
}
#kom .kom-krok-cislo {
  display: block; font-family: var(--serif); letter-spacing: .16em;
  color: var(--gold-br); margin: 0 0 10px; text-transform: uppercase;
}
#kom .kom-krok h3 {
  font-size: 22px; font-weight: 600; line-height: 1.25; color: #fff;
  margin: 0 0 10px; letter-spacing: -.005em;
}
#kom .kom-krok p { color: var(--txt-body); margin: 0; }
#kom .kom-retez-zaver {
  margin: 42px 0 0; padding: 26px 30px; border-radius: 16px;
  background: rgba(255,255,255,.05); border: 1px solid rgba(216,179,104,.25);
  color: #fff; max-width: 46em;
}
#kom .kom-retez-zaver em { font-style: italic; color: var(--gold-soft); }
#kom .kom-retez-zaver strong { color: var(--gold-soft); font-weight: 400; }
#kom .kom-citat-mech {
  margin: 0 0 32px; padding: 4px 0 4px 24px; border-left: 3px solid var(--gold-br);
  color: #fff; max-width: 44em;
}
#kom .kom-citat-mech cite { display: block; font-family: var(--sans); font-style: normal; color: var(--txt-dim); margin-top: 14px; letter-spacing: .03em; }
#kom .kom-bloky { display: grid; gap: 24px; margin: 44px 0 0; }
#kom .kom-blok {
  background: var(--pg); border: 1px solid var(--line-lt); border-radius: 18px;
  padding: 36px 36px 32px; display: grid; grid-template-columns: 290px 1fr; gap: 40px; align-items: start;
}
#kom .kom-blok-hlava h3 {
  font-family: var(--serif); font-weight: 400; font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.2; color: var(--ink); margin: 0 0 12px; letter-spacing: -.01em;
}
#kom .kom-blok-hlava p { color: var(--ink-dim); margin: 0; }
#kom .kom-veci { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; }
#kom .kom-vec { display: grid; grid-template-columns: 38px 1fr; gap: 16px; align-items: start; }
#kom .kom-vec-ico {
  width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center;
  background: rgba(180,146,74,.12); color: var(--gold-ink); flex: none;
}
#kom .kom-vec-ico svg { display: block; }
#kom .kom-vec h4 { font-size: 20px; font-weight: 600; line-height: 1.3; color: var(--ink); margin: 0 0 6px; letter-spacing: -.005em; }
#kom .kom-vec p { color: var(--ink-mid); margin: 0; max-width: var(--sirka-text); }
#kom .kom-vec p a { color: var(--blue); text-decoration: none; border-bottom: 1px solid rgba(10,116,224,.3); }
#kom .kom-vec p a:hover { border-bottom-color: var(--blue); }
#kom .kom-rust-panel {
  margin: 48px 0 0; border-radius: 22px; padding: 44px 40px 38px;
  background: var(--navy); color: var(--txt-body);
  position: relative; overflow: hidden;
}
#kom .kom-rust-panel::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(760px 520px at 24% 12%, var(--lift) 0%, transparent 66%);
  opacity: .6; pointer-events: none;
}
#kom .kom-rust-panel > * { position: relative; z-index: 1; }
#kom .kom-rust { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin: 30px 0 0; }
#kom .kom-rust-karta {
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px; padding: 32px 30px 28px;
}
#kom .kom-rust-karta h4 {
  font-family: var(--serif); font-weight: 400; font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.18; color: #fff; margin: 0 0 14px; letter-spacing: -.01em;
}
#kom .kom-rust-karta .kom-rust-eyebrow {
  display: flex; align-items: center; gap: 10px;
  font-size: var(--fs-mala); line-height: var(--lh-mala);
  font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  color: var(--gold-br); margin: 0 0 14px;
}
#kom .kom-rust-karta .kom-p { margin-bottom: 16px; max-width: none; }
#kom .kom-rust-karta .kom-p:last-child { margin-bottom: 0; }
#kom .kom-rust-karta strong { color: #fff; font-weight: 600; }
#kom .kom-vec-ico--navy { width: 32px; height: 32px; border-radius: 9px; background: rgba(216,179,104,.16); color: var(--gold-soft); }
#kom .kom-oci { list-style: none; counter-reset: oko; margin: 20px 0 18px; padding: 0; display: grid; gap: 10px; }
#kom .kom-oci li {
  counter-increment: oko; position: relative; padding-left: 34px;
  color: var(--txt-body);
}
#kom .kom-oci li::before {
  content: counter(oko); position: absolute; left: 0; top: 3px;
  width: 23px; height: 23px; border-radius: 50%; display: grid; place-items: center;
  background: rgba(216,179,104,.16); color: var(--gold-soft);
  font-size: var(--fs-mala); font-weight: 700; font-family: var(--sans); line-height: 1;
}
#kom .kom-citat-kk {
  margin: 20px 0; padding: 22px 24px; border-radius: 14px;
  background: rgba(216,179,104,.09); border-left: 3px solid var(--gold-br);
  color: #fff;
}
#kom .kom-citat-kk cite { display: block; font-family: var(--sans); font-style: normal; color: var(--txt-dim); margin-top: 12px; letter-spacing: .03em; }
#kom .kom-citace-mriz { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 40px 0 0; }
#kom .kom-citace {
  background: var(--pg); border: 1px solid var(--line-lt); border-radius: 18px;
  padding: 30px 28px 26px; display: flex; flex-direction: column;
}
#kom .kom-citace-titul {
  font-family: var(--serif); font-weight: 400; font-size: 23px; line-height: 1.26;
  color: var(--ink); margin: 0 0 14px; letter-spacing: -.005em;
}
#kom .kom-cit { color: var(--ink-mid); margin: 0 0 22px; flex: 1; }
#kom .kom-zvyra { background: rgba(180,146,74,.16); color: var(--ink); padding: 1px 3px; border-radius: 3px; }
#kom .kom-kdo { display: flex; align-items: center; gap: 13px; margin: 0; text-decoration: none; }
#kom a.kom-kdo:hover b { color: var(--blue); }
#kom a.kom-kdo em { text-decoration: underline; text-decoration-color: rgba(22,35,59,.2); text-underline-offset: 2px; }
#kom .kom-kdo img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: none; }
#kom .kom-kdo span { display: block; }
#kom .kom-kdo b { display: block; font-weight: 600; color: var(--ink); font-size: var(--fs-body); line-height: 1.35; }
#kom .kom-kdo em { display: block; font-style: normal; color: var(--ink-dim); margin-top: 2px; }
#kom .kom-videa { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 36px 0 0; }
#kom .kom-video {
  position: relative; display: block; border-radius: 16px; overflow: hidden;
  background: var(--navy); aspect-ratio: 9 / 16; text-decoration: none;
  border: 1px solid rgba(22,35,59,.12);
}
#kom .kom-video img { width: 100%; height: 100%; object-fit: cover; }
#kom .kom-video::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(13,22,38,.9) 0%, rgba(13,22,38,.18) 48%, transparent 72%);
}
#kom .kom-video-play {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 54px; height: 54px; border-radius: 50%; z-index: 2;
  background: rgba(255,255,255,.92); display: grid; place-items: center;
  box-shadow: 0 6px 22px rgba(0,0,0,.3); transition: transform .2s ease;
}
#kom .kom-video-play svg { margin-left: 3px; color: var(--navy); }
#kom .kom-video:hover .kom-video-play { transform: translate(-50%, -50%) scale(1.08); }
#kom .kom-video-kdo {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 16px 16px 15px;
  color: #fff; font-size: var(--fs-body); font-weight: 600; line-height: 1.3;
}
#kom .kom-video-kdo em { display: block; font-style: normal; font-weight: 400; color: var(--gold-soft); margin-top: 4px; }
#kom .kom-videa-vic { margin: 28px 0 0; }
#kom .kom-videa-vic a { color: var(--blue); font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(10,116,224,.3); }
#kom .kom-videa-vic a:hover { border-bottom-color: var(--blue); }
#kom .kom-cesty-titul { margin-top: 58px; }
#kom .kom-cesty { display: grid; gap: 0; margin: 34px 0 0; border-top: 1px solid var(--line-lt); }
#kom .kom-cesta {
  display: grid; grid-template-columns: 280px 1fr; gap: 40px; align-items: start;
  padding: 30px 0; border-bottom: 1px solid var(--line-lt);
}
#kom .kom-cesta-odkud {
  font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--gold-ink); margin: 0 0 14px;
}
#kom .kom-cesta-citat {
  font-family: var(--serif); color: var(--ink-mid); margin: 0; max-width: var(--sirka-text);
}
#kom .kom-cesta-kdo { display: flex; align-items: center; gap: 13px; margin: 0; text-decoration: none; }
#kom .kom-cesta-kdo img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; flex: none; }
#kom .kom-cesta-kdo b { display: block; font-weight: 600; color: var(--ink); font-size: var(--fs-body); line-height: 1.35; }
#kom .kom-cesta-kdo em { display: block; font-style: normal; color: var(--ink-dim); margin-top: 2px; }
#kom a.kom-cesta-kdo:hover b { color: var(--blue); }
#kom .kom-mvh { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; margin: 40px 0 0; }
#kom .kom-mvh-karta {
  border: 1px solid rgba(255,255,255,.13); border-radius: 18px; padding: 32px 30px 28px;
  background: rgba(255,255,255,.04);
}
#kom .kom-mvh-karta--siroka { grid-column: 1 / -1; }
#kom .kom-mvh-karta .kom-mvh-label {
  font-size: var(--fs-mala); line-height: var(--lh-mala);
  font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  color: var(--gold-br); margin: 0 0 16px;
}
#kom .kom-mvh-karta .kom-mvh-text {
  font-family: var(--serif); font-size: var(--fs-lead); line-height: var(--lh-lead); color: #fff; margin: 0;
}
#kom .kom-mvh-karta .kom-mvh-text strong { font-weight: 400; color: var(--gold-soft); }
#kom .kom-mvh-karta .kom-mvh-zdroj {
  font-family: var(--sans); font-size: var(--fs-mala); line-height: var(--lh-mala);
  color: var(--txt-dim); margin: 16px 0 0;
}
#kom .kom-hodnoty { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 22px 40px; }
#kom .kom-hodnoty li { padding-left: 20px; position: relative; }
#kom .kom-hodnoty li::before { content: ""; position: absolute; left: 0; top: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--gold-br); }
#kom .kom-hodnoty b { display: block; font-family: var(--sans); font-size: var(--fs-body); font-weight: 600; color: #fff; margin-bottom: 5px; }
#kom .kom-hodnoty span { color: var(--txt-body); }
#kom .kom-cta-dve { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin: 40px 0 0; }
#kom .kom-cta-karta {
  background: var(--pg); border: 1px solid var(--line-lt); border-radius: 18px;
  padding: 36px 34px 32px; display: flex; flex-direction: column;
}
#kom .kom-cta-karta--hlavni { border-color: rgba(180,146,74,.5); box-shadow: 0 10px 34px rgba(13,22,38,.07); }
#kom .kom-cta-karta .kom-cta-komu {
  font-size: var(--fs-mala); line-height: var(--lh-mala);
  font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: var(--gold-ink); margin: 0 0 14px;
}
#kom .kom-cta-karta h3 {
  font-family: var(--serif); font-weight: 400; font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.22; color: var(--ink); margin: 0 0 14px; letter-spacing: -.01em;
}
#kom .kom-cta-karta .kom-p { margin: 0 0 26px; max-width: none; flex: 1; }
#kom .kom-btn {
  display: inline-block; padding: 16px 30px; border-radius: 12px; text-decoration: none;
  font-size: var(--fs-body); font-weight: 600; letter-spacing: .01em; text-align: center;
  transition: background-color .2s ease, transform .15s ease;
}
#kom .kom-btn--primar { background: var(--blue); color: #fff; }
#kom .kom-btn--primar:hover { background: #0A6ACF; transform: translateY(-1px); }
#kom .kom-btn--sekundar { background: transparent; color: var(--ink); border: 1px solid rgba(22,35,59,.22); }
#kom .kom-btn--sekundar:hover { border-color: var(--ink); }
#kom .kom-cta-karta .kom-cta-vedle { margin: 16px 0 0; color: var(--ink-dim); }
#kom .kom-cta-vedle a { color: var(--blue); text-decoration: none; border-bottom: 1px solid rgba(10,116,224,.3); }
#kom .kom-cta-vedle a:hover { border-bottom-color: var(--blue); }
@media (max-width: 1100px) {
  #kom .kom-retez { grid-template-columns: 1fr 1fr; gap: 34px 0; }
  #kom .kom-krok + .kom-krok { padding-left: 0; border-left: 0; }
  #kom .kom-krok + .kom-krok::before { content: none; }
  #kom .kom-krok:nth-child(even) { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.13); }
  #kom .kom-krok:nth-child(even)::before { content: "→"; position: absolute; left: -9px; top: 4px; color: var(--gold-br); font-size: 15px; line-height: 1; background: var(--navy); padding: 2px 0; }
  #kom .kom-videa { grid-template-columns: repeat(3, 1fr); }
  #kom .kom-citace-mriz { grid-template-columns: repeat(2, 1fr); }
  #kom .kom-blok { grid-template-columns: 240px 1fr; gap: 30px; }
}
@media (max-width: 991px) {
  #kom .kom-sec { padding: 78px 0; }
  #kom .kom-sec--slim { padding: 68px 0; }
  #kom .kom-hero { padding: 52px 0 46px; }
  #kom .kom-bolest { grid-template-columns: 1fr; gap: 38px; }
  #kom .kom-blok { grid-template-columns: 1fr; gap: 24px; padding: 32px 28px 28px; }
  #kom .kom-rust { grid-template-columns: 1fr; gap: 26px; }
  #kom .kom-rust-panel { padding: 40px 30px 34px; }
  #kom .kom-cesta { grid-template-columns: 1fr; gap: 18px; }
  #kom .kom-mvh { grid-template-columns: 1fr; }
  #kom .kom-hodnoty { grid-template-columns: 1fr; }
  #kom .kom-cta-dve { grid-template-columns: 1fr; max-width: 640px; margin-left: auto; margin-right: auto; }
  #kom .kom-foto-pas { grid-template-columns: repeat(2, 1fr); gap: 18px; margin-bottom: 52px; }
  #kom .kom-hlava { grid-template-columns: 1fr; gap: 6px; }
  #kom .kom-hlava .kom-hook, #kom .kom-hlava .kom-h3sec { max-width: 26ch; }
  #kom .kom-hlava-txt { align-self: start; padding-bottom: 0; }
}
@media (max-width: 720px) {
  #kom .kom-wrap { padding: 0 20px; }
  #kom .kom-sec { padding: 68px 0; }
  #kom .kom-sec--slim { padding: 60px 0; }
  #kom .kom-hero { padding: 44px 0 40px; }
  #kom .kom-hero-foto {
    background-image: url("https://coachinguniversity.cz/wp-content/uploads/komunita/komunita-hero-certifikace-cm-960.webp");
    background-position: 62% 24%;
  }
  #kom .kom-hero-foto::after {
    background:
      linear-gradient(180deg, rgba(13,22,38,.6) 0%, rgba(13,22,38,.63) 30%, rgba(13,22,38,.9) 42%, var(--navy) 100%);
  }
  #kom .kom-retez { grid-template-columns: 1fr; gap: 28px; }
  #kom .kom-krok, #kom .kom-krok + .kom-krok, #kom .kom-krok:nth-child(even) { padding: 0 0 0 24px; border-left: 1px solid rgba(255,255,255,.13); }
  #kom .kom-krok + .kom-krok::before, #kom .kom-krok:nth-child(even)::before { content: none; }
  #kom .kom-citace-mriz { grid-template-columns: 1fr; }
  #kom .kom-videa { grid-template-columns: 1fr 1fr; }
  #kom .kom-hero-fakta { gap: 20px 30px; }
  #kom .kom-hero-fakta span { max-width: 14ch; }
  #kom .kom-uzel, #kom .kom-p, #kom .kom-hook, #kom .kom-h3sec { max-width: none; }
  #kom .kom-foto-pas { grid-template-columns: 1fr; gap: 22px; margin-bottom: 44px; }
  #kom .kom-hlava .kom-hook, #kom .kom-hlava .kom-h3sec { max-width: none; }
}
@media (max-width: 420px) {
  #kom .kom-hero-fakta { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 20px; }
  #kom .kom-hero-fakta span { max-width: none; }
  #kom .kom-blok, #kom .kom-citace, #kom .kom-cta-karta, #kom .kom-rust-karta, #kom .kom-mvh-karta { padding-left: 22px; padding-right: 22px; }
  #kom .kom-rust-panel { padding: 32px 20px 28px; border-radius: 18px; }
  #kom .kom-videa { grid-template-columns: 1fr; max-width: 320px; margin-left: auto; margin-right: auto; }
}
@media print {
  #kom .kom-sec--navy, #kom .kom-hero, #kom .kom-rust-panel { background: #fff !important; color: #000 !important; }
  #kom .kom-sec--navy::before, #kom .kom-hero::before, #kom .kom-rust-panel::before { display: none; }
  #kom .kom-hero h1, #kom .kom-navy .kom-h2, #kom .kom-navy .kom-hook, #kom .kom-navy .kom-h3sec, #kom .kom-krok h3, #kom .kom-rust-karta h3 { color: #000 !important; }
  #kom .kom-video, #kom .kom-foto, #kom .kom-hero-foto { display: none; }
  #kom .kom-hero-foto::after { display: none; }
}
