/* ==== KNOWHUB v2 — klidný, event-first, JSM brand ==== */

/* Globální drobečková navigace — fixed vpravo nahoře, nenápadná */
.g-crumb{
  position:fixed;
  top:24px;
  right:36px;
  z-index:25;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:11px;
  letter-spacing:.08em;
  color:rgba(243,243,243,.5);
  background:rgba(14,14,14,.6);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(243,243,243,.08);
  pointer-events:auto;
}
.g-crumb a{
  color:rgba(243,243,243,.55);
  transition:color .2s;
}
.g-crumb a:hover{color:var(--coral)}
.g-crumb__sep{color:rgba(243,243,243,.3)}
.g-crumb__cur{color:var(--paper)}
@media (max-width:720px){
  .g-crumb{top:16px;right:16px;font-size:10px;padding:6px 10px}
}

/* Sekce-share */
.kh2-eyebrow{
  display:inline-block;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--coral);
  margin-bottom:24px;
}
.kh2-sec-head{
  max-width:780px;
  margin:0 0 64px;
}
.kh2-sec-h{
  font-family:"Hubot Sans";
  font-weight:500;
  font-size:clamp(48px,7vw,96px);
  line-height:.92;
  letter-spacing:-.02em;
  text-transform:uppercase;
  margin:0 0 24px;
}
.kh2-sec-h em{
  font-style:italic;
  font-weight:400;
  color:var(--coral);
}
.kh2-sec-sub{
  font-size:18px;
  line-height:1.5;
  color:rgba(243,243,243,.7);
  max-width:60ch;
  margin:0;
}

/* ─────────── HERO ─────────── */
.kh2-hero{
  position:relative;
  padding:140px 36px 100px;
  background:#0E0E0E;
  color:var(--paper);
}
.kh2-crumb{
  font-size:13px;
  margin-bottom:80px;
  color:rgba(243,243,243,.55);
  display:flex;
  gap:10px;
}
.kh2-crumb a:hover{color:var(--coral)}
.kh2-crumb span:last-child{color:var(--paper)}

.kh2-hero__grid{
  display:grid;
  grid-template-columns:1fr 420px;
  gap:80px;
  align-items:end;
}
.kh2-hero__h{
  font-family:"Hubot Sans";
  font-weight:500;
  font-size:clamp(72px,10vw,160px);
  line-height:.88;
  letter-spacing:-.025em;
  text-transform:uppercase;
  margin:0 0 32px;
}
.kh2-hero__h em{
  font-style:italic;
  font-weight:400;
  color:var(--coral);
}
.kh2-hero__lead{
  font-size:20px;
  line-height:1.5;
  max-width:54ch;
  color:rgba(243,243,243,.78);
  margin:0 0 36px;
}
.kh2-hero__ctas{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.kh2-hero__next{
  border-top:1px solid rgba(243,243,243,.15);
  padding-top:24px;
}
.kh2-hero__next-head{
  display:block;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(243,243,243,.5);
  margin-bottom:20px;
}
.kh2-next{
  display:grid;
  grid-template-columns:64px 1fr 24px;
  gap:20px;
  align-items:center;
  padding:20px 0;
  border-top:1px solid rgba(243,243,243,.1);
  transition:opacity .2s, transform .2s;
}
.kh2-next:first-of-type{border-top:none;padding-top:0}
.kh2-next:hover{transform:translateX(4px)}
.kh2-next:hover .kh2-next__arrow{color:var(--coral)}
.kh2-next__date{
  display:flex;
  flex-direction:column;
  align-items:center;
  border-right:1px solid rgba(243,243,243,.15);
  padding-right:20px;
}
.kh2-next__day{
  font-size:36px;
  font-weight:500;
  line-height:1;
  letter-spacing:-.02em;
}
.kh2-next__mon{
  font-size:11px;
  letter-spacing:.15em;
  color:rgba(243,243,243,.5);
  margin-top:4px;
}
.kh2-next__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.kh2-next__kind{
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--coral);
}
.kh2-next__title{
  font-size:18px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:-.005em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.kh2-next__meta{
  font-size:12px;
  color:rgba(243,243,243,.55);
}
.kh2-next__arrow{
  font-size:20px;
  color:rgba(243,243,243,.4);
  transition:color .2s;
}

/* ─────────── HERO v2 — manifesto + marquee ─────────── */
.kh2-hero--v2{
  padding:120px 36px 0;
  overflow:hidden;
}
.kh2-hero2__stone{
  position:absolute;
  right:-220px;
  top:60px;
  width:680px;
  opacity:.5;
  transform:rotate(18deg);
  pointer-events:none;
  z-index:1;
  filter:drop-shadow(0 60px 120px rgba(0,0,0,.7));
  animation: kh2-stone-drift 14s ease-in-out infinite;
}
.kh2-hero2__stone--sm{
  right:auto;
  left:-160px;
  top:auto;
  bottom:120px;
  width:320px;
  opacity:.25;
  transform:rotate(-22deg);
  animation: kh2-stone-drift2 18s ease-in-out infinite;
}
@keyframes kh2-stone-drift {
  0%, 100% { transform: rotate(18deg) translateY(0); }
  50% { transform: rotate(20deg) translateY(-18px); }
}
@keyframes kh2-stone-drift2 {
  0%, 100% { transform: rotate(-22deg) translateY(0); }
  50% { transform: rotate(-20deg) translateY(14px); }
}

.kh2-hero2__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:80px;
}
.kh2-hero2__index{
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(243,243,243,.4);
}

.kh2-hero2__h{
  margin:0;
  display:flex;
  flex-direction:column;
  font-family:"Hubot Sans";
  font-weight:500;
  line-height:.86;
  letter-spacing:-.025em;
}
.kh2-hero2__line{ display:block; }
.kh2-hero2__line--sm{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:13px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(243,243,243,.5);
  margin-bottom:32px;
  font-weight:400;
  line-height:1;
}
.kh2-hero2__line--xl{
  font-size:clamp(110px, 17vw, 260px);
  font-style:italic;
  font-weight:400;
  color:var(--coral);
  line-height:.82;
  text-transform:uppercase;
  letter-spacing:-.03em;
}
.kh2-hero2__line--xl em{
  font-style:italic;
}
.kh2-hero2__line--md{
  font-size:clamp(44px, 6.4vw, 96px);
  text-transform:uppercase;
  margin-top:14px;
  line-height:.92;
}
.kh2-hero2__period{
  color:var(--coral);
}

.kh2-hero2__foot{
  display:grid;
  grid-template-columns: 1.2fr 1fr;
  gap:60px;
  align-items:end;
  margin-top:80px;
  padding-top:36px;
  border-top:1px solid rgba(243,243,243,.12);
  max-width: 1180px;
  padding-bottom:80px;
}
.kh2-hero2__lead{
  font-size:18px;
  line-height:1.55;
  max-width:52ch;
  color:rgba(243,243,243,.75);
  margin:0;
}
.kh2-hero2__lead strong{
  color:var(--paper);
  font-weight:500;
}
.kh2-hero2__ctas{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-self:end;
}

.kh2-hero2__marquee{
  position:relative;
  border-top:1px solid rgba(243,243,243,.12);
  border-bottom:1px solid rgba(243,243,243,.12);
  overflow:hidden;
  background:rgba(0,0,0,.35);
  margin: 0 -36px;
  z-index:2;
}
.kh2-hero2__marquee-track{
  display:flex;
  animation: kh2-marquee 42s linear infinite;
  white-space:nowrap;
  width: max-content;
}
.kh2-hero2__marquee-row{
  display:flex;
  align-items:center;
  flex-shrink:0;
  padding: 24px 0;
}
.kh2-hero2__marquee-cell{
  display:inline-flex;
  align-items:center;
  gap:0;
}
.kh2-hero2__marquee-item{
  font-family:"Hubot Sans";
  font-weight:500;
  font-size:34px;
  text-transform:uppercase;
  letter-spacing:-.005em;
  padding:0 28px;
  line-height:1;
}
.kh2-hero2__marquee-sep{
  color:var(--coral);
  font-size:14px;
}
@keyframes kh2-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ─────────── HERO v3 — editorial s fotokoláží ─────────── */
.kh2-hero--v3{
  padding:120px 36px 0;
  overflow:hidden;
  position:relative;
}
.kh2-hero3__stone{
  position:absolute;
  left:-220px;
  bottom:80px;
  width:560px;
  opacity:.18;
  transform:rotate(-22deg);
  pointer-events:none;
  z-index:1;
  filter:drop-shadow(0 60px 120px rgba(0,0,0,.7));
}
.kh2-hero3__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:60px;
}
.kh2-hero3__index{
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(243,243,243,.4);
}
.kh2-hero3__grid{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:80px;
  align-items:start;
  padding-bottom:100px;
}
.kh2-hero3__left{
  display:flex;
  flex-direction:column;
  gap:36px;
  padding-top:8px;
}
.kh2-hero3__h{
  font-family:"Hubot Sans";
  font-weight:500;
  font-size:clamp(56px, 6.6vw, 96px);
  line-height:.95;
  letter-spacing:-.025em;
  margin:0;
  text-transform:none;
}
.kh2-hero3__h em{
  font-style:italic;
  font-weight:400;
  color:var(--coral);
}
.kh2-hero3__period{ color:var(--coral); }
.kh2-hero3__lead{
  font-size:17px;
  line-height:1.55;
  max-width:48ch;
  color:rgba(243,243,243,.75);
  margin:0;
}
.kh2-hero3__lead strong{
  color:var(--paper);
  font-weight:500;
}
.kh2-hero3__ctas{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* gallery — overlapping editorial tiles */
.kh2-hero3__gallery{
  position:relative;
  min-height:600px;
  aspect-ratio: 1.05 / 1;
}
.kh2-hero3__tile{
  position:absolute;
  margin:0;
  border-radius:14px;
  overflow:hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,.55), 0 2px 0 rgba(255,255,255,.04) inset;
  transition: transform .6s cubic-bezier(.2,.8,.2,1);
}
.kh2-hero3__tile img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.kh2-hero3__tile figcaption{
  position:absolute;
  left:14px; bottom:14px;
  background:rgba(14,14,14,.7);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:6px 11px;
  border-radius:999px;
  font-size:10px;
  letter-spacing:.18em;
  color:var(--paper);
  text-transform:uppercase;
  border:1px solid rgba(243,243,243,.1);
}
.kh2-hero3__tile--t1{ top:0; left:0; width:60%; aspect-ratio:4/3; transform:rotate(-2.5deg); z-index:2; }
.kh2-hero3__tile--t2{ top:6%; right:0; width:44%; aspect-ratio:3/4; transform:rotate(3deg); z-index:1; }
.kh2-hero3__tile--t3{ bottom:0; left:14%; width:42%; aspect-ratio:4/3; transform:rotate(1.5deg); z-index:3; }
.kh2-hero3__tile--t4{ bottom:8%; right:-2%; width:34%; aspect-ratio:4/5; transform:rotate(-4deg); z-index:2; }
.kh2-hero3__tile:hover{ transform: translateY(-6px) rotate(0); z-index:5; }

.kh2-hero3__marquee{
  position:relative;
  border-top:1px solid rgba(243,243,243,.12);
  border-bottom:1px solid rgba(243,243,243,.12);
  overflow:hidden;
  background:rgba(0,0,0,.35);
  margin: 0 -36px;
  z-index:2;
}
.kh2-hero3__marquee-track{
  display:flex;
  animation: kh2-marquee 42s linear infinite;
  white-space:nowrap;
  width: max-content;
}
.kh2-hero3__marquee-row{
  display:flex;
  align-items:center;
  flex-shrink:0;
  padding: 22px 0;
}
.kh2-hero3__marquee-cell{
  display:inline-flex;
  align-items:center;
  gap:0;
}
.kh2-hero3__marquee-item{
  font-family:"Hubot Sans";
  font-weight:500;
  font-size:30px;
  text-transform:uppercase;
  letter-spacing:-.005em;
  padding:0 26px;
  line-height:1;
}
.kh2-hero3__marquee-sep{
  color:var(--coral);
  font-size:13px;
}

@media (max-width:1100px){
  .kh2-hero3__grid{grid-template-columns:1fr; gap:60px}
  .kh2-hero3__gallery{min-height:480px; aspect-ratio: 1.4/1; max-width:640px}
}
@media (max-width:720px){
  .kh2-hero--v3{padding:80px 20px 0}
  .kh2-hero3__head{margin-bottom:36px; flex-direction:column; align-items:flex-start; gap:12px}
  .kh2-hero3__grid{gap:48px; padding-bottom:60px}
  .kh2-hero3__gallery{min-height:380px}
  .kh2-hero3__tile figcaption{font-size:9px; padding:4px 8px}
  .kh2-hero3__marquee{margin:0 -20px}
  .kh2-hero3__marquee-item{font-size:22px; padding:0 16px}
  .kh2-hero3__h{font-size:clamp(40px, 11vw, 64px)}
}

/* Bento variant of flagship */
.kh2-flag__grid--bento{
  grid-template-columns:repeat(4,1fr);
}
.kh2-flag__card--wide{
  grid-column: span 2;
}
.kh2-flag__card--wide .kh2-flag__title{
  font-size:40px;
}
.kh2-flag__card--wide .kh2-flag__lead{
  font-size:16px;
  max-width:46ch;
}
.kh2-flag__card--wide .kh2-flag__img{
  aspect-ratio: 16/9;
}

@media (max-width:1100px){
  .kh2-flag__grid--bento{grid-template-columns:repeat(2,1fr)}
  .kh2-flag__card--wide{grid-column: span 2}
  .kh2-hero2__foot{grid-template-columns:1fr; gap:32px}
  .kh2-hero2__ctas{justify-self:start}
  .kh2-hero2__stone{width:480px; right:-180px; opacity:.35}
  .kh2-hero2__stone--sm{display:none}
}
@media (max-width:720px){
  .kh2-flag__grid--bento{grid-template-columns:1fr}
  .kh2-flag__card--wide{grid-column:span 1}
  .kh2-flag__card--wide .kh2-flag__img{aspect-ratio:4/3}
  .kh2-flag__card--wide .kh2-flag__title{font-size:30px}
  .kh2-hero--v2{padding:80px 20px 0}
  .kh2-hero2__marquee{margin:0 -20px}
  .kh2-hero2__marquee-item{font-size:24px; padding:0 18px}
  .kh2-hero2__line--xl{font-size:clamp(80px, 22vw, 140px)}
  .kh2-hero2__line--md{font-size:clamp(34px, 8vw, 52px)}
  .kh2-hero2__head{margin-bottom:48px}
  .kh2-hero2__foot{margin-top:48px; padding-bottom:48px}
  .kh2-hero2__stone{width:340px; right:-140px; top:120px; opacity:.3}
}

/* ─────────── SUBNAV — sticky, fbar styled ─────────── */
.kh2-subnav{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(14,14,14,.92);
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  border-bottom:1px solid var(--line);
  padding:14px 36px;
}
/* fbar tweak uvnitř sticky subnavu — kompaktnější, jeden řádek */
.kh2-subnav .fbar{
  padding:8px 12px;
  border-radius:12px;
}
.kh2-subnav .fbar__row{
  padding:0;
}
@media (max-width:1024px){
  .kh2-subnav{padding:10px 20px}
  .kh2-subnav .fbar__row{grid-template-columns:56px 1fr}
}

/* ─────────── KALENDÁŘ ─────────── */
.kh2-cal{
  padding:64px 36px 120px;
  background:#0E0E0E;
  color:var(--paper);
}

/* === Hero category tiles (6 malých dlaždic v hero) === */
.kh-hero__cats{
  margin:48px 0 0;
  padding:18px 18px 18px;
  border-radius:18px;
  background:rgba(243,243,243,.04);
  backdrop-filter:blur(14px) saturate(130%);
  -webkit-backdrop-filter:blur(14px) saturate(130%);
  border:1px solid rgba(243,243,243,.08);
  position:relative;
  overflow:hidden;
}
.kh-hero__cats::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(520px 200px at 8% 0%, rgba(255,116,125,.08), transparent 60%);
}
.kh-hero__cats-lbl{
  position:absolute;top:-9px;left:24px;
  padding:2px 10px;border-radius:999px;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  background:var(--ink);color:var(--coral);
  border:1px solid rgba(255,116,125,.35);
}
.kh-hero__cats-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:10px;
}
.kh-cat-tile{
  position:relative;
  display:flex;flex-direction:column;align-items:flex-start;
  gap:12px;
  padding:14px;
  border-radius:12px;
  background:rgba(14,14,14,.55);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(243,243,243,.08);
  color:var(--paper);
  text-align:left;cursor:pointer;
  transition:background .2s, border-color .2s, transform .2s;
  min-height:120px;
}
.kh-cat-tile:hover{
  background:rgba(255,116,125,.10);
  border-color:rgba(255,116,125,.45);
  transform:translateY(-2px);
}
.kh-cat-tile__ico{
  width:32px;height:32px;border-radius:8px;
  display:grid;place-items:center;
  background:rgba(255,116,125,.10);
  color:var(--coral);
  transition:background .2s, color .2s;
}
.kh-cat-tile__ico svg{ width:18px;height:18px;display:block }
.kh-cat-tile:hover .kh-cat-tile__ico{
  background:var(--coral);color:var(--ink);
}
.kh-cat-tile__num{
  position:absolute;top:14px;right:14px;
  font-size:10px;letter-spacing:.18em;color:var(--muted);
  font-weight:600;
}
.kh-cat-tile__label{
  font-size:14px;font-weight:500;letter-spacing:-.005em;line-height:1.25;
  color:var(--paper);
  margin-top:auto;
  padding-right:18px;
}
.kh-cat-tile__arrow{
  position:absolute;right:12px;bottom:12px;
  font-size:13px;color:var(--muted);
  transition:color .2s, transform .2s;
}
.kh-cat-tile:hover .kh-cat-tile__arrow{
  color:var(--coral);
  transform:translate(2px,-2px);
}
.kh-cat-tile:hover .kh-cat-tile__num{ color:var(--coral) }
@media (max-width:900px){
  .kh-hero__cats-grid{ grid-template-columns:repeat(3, 1fr) }
}
@media (max-width:520px){
  .kh-hero__cats-grid{ grid-template-columns:repeat(2, 1fr) }
  .kh-hero__cats{ padding:14px }
}

/* zjednodušená hlavička kalendáře */
.kh-cal__head{
  display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
  margin-bottom:0;
}
.kh-cal__lbl{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--coral);font-weight:600;
  display:inline-flex;align-items:center;gap:8px;
}
.kh-cal__lbl::before{
  content:"";width:6px;height:6px;border-radius:999px;background:var(--coral);
}
.kh-cal__h{
  font-family:"Hubot Sans",sans-serif;
  font-size:clamp(28px,3vw,40px);
  font-weight:500;font-stretch:75%;
  text-transform:uppercase;letter-spacing:-.015em;line-height:1;
  margin:0;color:var(--paper);
}
.kh-cal__h em{ font-style:italic;font-weight:300;color:var(--coral) }
.kh-cal__count{
  margin-left:auto;
  font-size:11px;letter-spacing:.12em;color:var(--muted);
}

/* subnav už není sticky-section, jen rounded fbar v rámci kalendáře */
.kh2-cal .kh2-subnav{
  position:sticky;top:0;
  padding:8px 0 12px;
  background:rgba(14,14,14,.92);
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  border-bottom:1px solid var(--line);
  margin:0 0 24px;
  z-index:20;
}
.kh2-empty{
  padding:80px 0;
  text-align:center;
  border:1px dashed rgba(243,243,243,.15);
  border-radius:14px;
}
.kh2-empty .mono{color:var(--coral);font-size:13px;letter-spacing:.15em;text-transform:uppercase}
.kh2-empty p{color:rgba(243,243,243,.65);margin:16px 0 0}
.kh2-empty a{color:var(--coral);text-decoration:underline}

.kh2-month{margin-bottom:64px}
.kh2-month:last-child{margin-bottom:0}
.kh2-month__h{
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(243,243,243,.5);
  margin:0 0 24px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(243,243,243,.1);
  font-weight:400;
}
.kh2-month__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:0;
}

.kh2-row{
  display:grid;
  grid-template-columns:120px 1fr 240px;
  gap:40px;
  align-items:start;
  padding:32px 0;
  border-bottom:1px solid rgba(243,243,243,.08);
  transition:padding-left .25s ease, background .2s;
}
.kh2-row:hover{
  padding-left:16px;
  background:linear-gradient(90deg, rgba(255,116,125,.04), transparent 60%);
}
.kh2-row:hover .kh2-row__cta{color:var(--coral)}
.kh2-row:hover .kh2-row__arrow{transform:translate(2px,-2px)}

.kh2-row__date{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding-right:24px;
  border-right:1px solid rgba(243,243,243,.1);
  min-height:80px;
}
.kh2-row__day{
  font-family:"Hubot Sans";
  font-size:56px;
  font-weight:500;
  line-height:.9;
  letter-spacing:-.03em;
}
.kh2-row__mon{
  font-size:11px;
  letter-spacing:.18em;
  color:rgba(243,243,243,.55);
  margin-top:6px;
}
.kh2-row__time{
  font-size:12px;
  color:rgba(243,243,243,.45);
  margin-top:12px;
}

.kh2-row__main{display:flex;flex-direction:column;gap:8px;min-width:0}
.kh2-row__top{
  display:flex;
  gap:20px;
  align-items:center;
  margin-bottom:4px;
}
.kh2-row__kind{
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.kh2-row__rel{
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(243,243,243,.45);
}
.kh2-row__title{
  font-family:"Hubot Sans";
  font-size:28px;
  font-weight:500;
  line-height:1.15;
  letter-spacing:-.01em;
  margin:0;
}
.kh2-row__sub{
  color:rgba(243,243,243,.55);
  font-weight:400;
}
.kh2-row__short{
  font-size:15px;
  line-height:1.5;
  color:rgba(243,243,243,.7);
  margin:0;
  max-width:60ch;
}
.kh2-row__meta{
  font-size:12px;
  color:rgba(243,243,243,.5);
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:4px;
}

.kh2-row__side{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
  text-align:right;
}
.kh2-row__price{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
}
.kh2-row__price-val{
  font-family:"Hubot Sans";
  font-size:22px;
  font-weight:500;
  letter-spacing:-.005em;
}
.kh2-row__price-early{
  font-size:11px;
  color:var(--coral);
  letter-spacing:.05em;
}
.kh2-row__seats{
  width:180px;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-end;
}
.kh2-row__seats-bar{
  width:100%;
  height:4px;
  background:rgba(243,243,243,.1);
  border-radius:999px;
  overflow:hidden;
}
.kh2-row__seats-bar span{
  display:block;
  height:100%;
  background:var(--coral);
  border-radius:999px;
}
.kh2-row__seats-txt{
  font-size:11px;
  color:rgba(243,243,243,.5);
}
.kh2-row__cta{
  font-size:14px;
  font-weight:500;
  color:rgba(243,243,243,.85);
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:color .2s;
  margin-top:4px;
}
.kh2-row__arrow{
  display:inline-block;
  transition:transform .25s;
}

/* ─────────── VLAJKOVÉ PROGRAMY (legacy — neaktivní, ponecháno pro fallback) ─────────── */
.kh2-flag{
  padding:120px 36px;
  background:var(--paper);
  color:var(--ink);
}

/* === Knowhub Flagship v2 — editorial mosaic ============================
   6 dlaždic 3×2, photo-as-background, vrstvená typografie.
   Pravý horní roh: tag pill. Levý horní: editorial number.
   Body se na hoveru zvedne; lead text se schová pod fold.
*/
.khf-head{
  display:grid;grid-template-columns:1fr 380px;gap:64px;
  align-items:end;
  padding-bottom:64px;
  border-bottom:1px solid var(--line-ink);
  margin-bottom:48px;
}
.khf-head__l{ display:flex;flex-direction:column;gap:16px }
.khf-eyebrow{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--coral);font-weight:600;
  display:inline-flex;align-items:center;gap:10px;
}
.khf-eyebrow::before{
  content:"";width:6px;height:6px;border-radius:999px;background:var(--coral);
}
.khf-h{
  font-family:"Hubot Sans",sans-serif;
  font-size:clamp(48px,6vw,88px);
  font-weight:500;font-stretch:75%;
  text-transform:uppercase;
  letter-spacing:-.03em;line-height:.92;
  color:var(--ink-2);margin:0;
  max-width:14ch;
}
.khf-h em{ font-style:italic;font-weight:300;color:var(--coral) }
.khf-sub{
  font-size:16px;line-height:1.55;color:var(--muted-2);margin:0;
  max-width:38ch;padding-bottom:8px;
}

.khf-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.khf-tile{
  position:relative;
  aspect-ratio:3 / 4;
  border-radius:14px;
  overflow:hidden;
  display:block;
  text-decoration:none;color:var(--paper);
  isolation:isolate;
  background:var(--ink-2);
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.khf-tile:hover{ transform:translateY(-6px) }

/* media wrapper */
.khf-tile__media{
  position:absolute;inset:0;z-index:0;overflow:hidden;
}
.khf-tile__media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1s cubic-bezier(.2,.8,.2,1);
  filter:saturate(.95);
}
.khf-tile:hover .khf-tile__media img{ transform:scale(1.06) }

/* gradient shade — zajistí čitelnost typografie */
.khf-tile__shade{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,0) 50%, rgba(0,0,0,.85) 100%);
  transition:background .35s ease;
}
.khf-tile:hover .khf-tile__shade{
  background:
    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 30%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.92) 100%);
}

/* number index v levém horním rohu */
.khf-tile__num{
  position:absolute;top:20px;left:22px;z-index:3;
  font-size:11px;letter-spacing:.18em;
  color:rgba(243,243,243,.85);
  display:inline-flex;align-items:center;gap:8px;
}
.khf-tile__num::after{
  content:"";display:inline-block;width:24px;height:1px;
  background:rgba(243,243,243,.5);
}

/* tag chip v pravém horním rohu */
.khf-tile__tag{
  position:absolute;top:16px;right:16px;z-index:3;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-2);font-weight:600;
  padding:6px 10px;border-radius:999px;
  background:var(--coral);
  white-space:nowrap;
}

/* body — drží se dole, lead text se skrývá až do hoveru */
.khf-tile__body{
  position:absolute;left:0;right:0;bottom:0;z-index:3;
  padding:24px 24px 22px;
  display:flex;flex-direction:column;gap:12px;
  color:var(--paper);
}
.khf-tile__title{
  font-family:"Hubot Sans",sans-serif;
  font-size:clamp(26px,2.4vw,34px);
  font-weight:500;font-stretch:75%;
  text-transform:uppercase;
  letter-spacing:-.015em;line-height:.95;
  margin:0;color:var(--paper);
}
.khf-tile__lead{
  font-size:14px;line-height:1.5;
  color:rgba(243,243,243,.85);margin:0;
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height .35s ease, opacity .25s ease, margin .35s ease;
}
.khf-tile:hover .khf-tile__lead{
  max-height:120px;opacity:1;
}

.khf-tile__foot{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:16px;
  padding-top:14px;
  border-top:1px solid rgba(243,243,243,.18);
  margin-top:4px;
}
.khf-tile__meta{
  font-size:11px;letter-spacing:.06em;
  color:rgba(243,243,243,.7);
  line-height:1.4;
  max-width:24ch;
}
.khf-tile__cta{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:500;color:var(--paper);
  white-space:nowrap;
  transition:color .25s;
}
.khf-tile__arrow{
  width:28px;height:28px;border-radius:999px;
  background:var(--paper);color:var(--ink-2);
  display:grid;place-items:center;font-size:12px;
  transition:background .25s, transform .25s;
}
.khf-tile:hover .khf-tile__arrow{
  background:var(--coral);transform:translate(2px,-2px);
}

@media (max-width:1100px){
  .khf-head{ grid-template-columns:1fr;gap:24px;padding-bottom:48px }
  .khf-sub{ padding-bottom:0 }
  .khf-grid{ grid-template-columns:repeat(2,1fr) }
}
@media (max-width:720px){
  .khf-grid{ grid-template-columns:1fr;gap:14px }
  .khf-tile{ aspect-ratio:4 / 5 }
  .khf-tile__lead{ max-height:120px;opacity:1 }
  .khf-tile__shade{
    background:linear-gradient(180deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.15) 25%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.92) 100%);
  }
}
.kh2-flag .kh2-eyebrow{color:var(--coral)}
.kh2-flag .kh2-sec-h em{color:var(--coral)}
.kh2-flag .kh2-sec-sub{color:rgba(26,26,26,.65)}

.kh2-flag__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.kh2-flag__card{
  display:flex;
  flex-direction:column;
  background:var(--ink);
  color:var(--paper);
  border-radius:18px;
  overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.kh2-flag__card:hover{transform:translateY(-6px)}
.kh2-flag__card:hover .kh2-flag__cta{color:var(--coral)}

.kh2-flag__img{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
}
.kh2-flag__img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.8,.2,1);
}
.kh2-flag__card:hover .kh2-flag__img img{transform:scale(1.04)}
.kh2-flag__shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.5));
}
.kh2-flag__tag{
  position:absolute;
  top:18px;left:18px;
  background:rgba(255,255,255,.96);
  color:var(--ink);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:8px 12px;
  border-radius:999px;
}

.kh2-flag__body{
  padding:32px;
  display:flex;
  flex-direction:column;
  gap:14px;
  flex:1;
}
.kh2-flag__title{
  font-family:"Hubot Sans";
  font-size:30px;
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.01em;
  margin:0;
}
.kh2-flag__lead{
  font-size:15px;
  line-height:1.5;
  color:rgba(243,243,243,.75);
  margin:0;
  flex:1;
}
.kh2-flag__meta{
  font-size:12px;
  color:rgba(243,243,243,.5);
  letter-spacing:.05em;
  padding-top:14px;
  border-top:1px solid rgba(243,243,243,.1);
}
.kh2-flag__cta{
  font-size:14px;
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:color .2s;
}

/* ─────────── PODCAST ─────────── */
.kh2-pod{
  padding:120px 36px;
  background:#0E0E0E;
  color:var(--paper);
}

.kh2-pod__feat{
  display:grid;
  grid-template-columns:380px 1fr;
  gap:48px;
  align-items:start;
  padding:32px;
  border:1px solid rgba(243,243,243,.1);
  border-radius:18px;
  background:rgba(255,255,255,.02);
  margin-bottom:48px;
}
.kh2-pod__feat-cover{
  position:relative;
  aspect-ratio:1;
  border-radius:12px;
  overflow:hidden;
}
.kh2-pod__feat-cover img{
  width:100%;height:100%;object-fit:cover;
}
.kh2-pod__play{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background:rgba(0,0,0,.3);
  cursor:pointer;
  transition:background .2s;
}
.kh2-pod__play span{
  width:72px;height:72px;
  border-radius:999px;
  background:var(--coral);
  color:var(--ink);
  display:grid;place-items:center;
  font-size:22px;
  padding-left:4px;
}
.kh2-pod__play:hover{background:rgba(0,0,0,.45)}

.kh2-pod__feat-body{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.kh2-pod__feat-num{
  font-size:11px;
  letter-spacing:.15em;
  color:rgba(243,243,243,.5);
}
.kh2-pod__feat-title{
  font-family:"Hubot Sans";
  font-size:36px;
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.015em;
  margin:0;
}
.kh2-pod__feat-guest{
  font-size:14px;
  color:rgba(243,243,243,.65);
  margin:0;
}
.kh2-pod__feat-desc{
  font-size:15px;
  line-height:1.55;
  color:rgba(243,243,243,.7);
  margin:0;
  max-width:60ch;
}
.kh2-pod__plats{
  display:flex;
  gap:10px;
  margin-top:8px;
  flex-wrap:wrap;
}
.kh2-pod__plat{
  padding:8px 14px;
  border:1px solid rgba(243,243,243,.15);
  border-radius:999px;
  font-size:13px;
  transition:background .2s,color .2s,border-color .2s;
}
.kh2-pod__plat:hover{
  background:var(--coral);
  border-color:var(--coral);
  color:var(--ink);
}

.kh2-pod__list{
  list-style:none;
  margin:0 0 32px;
  padding:0;
  display:flex;
  flex-direction:column;
}
.kh2-pod__item{
  display:grid;
  grid-template-columns:80px 1fr 40px;
  gap:24px;
  align-items:center;
  padding:20px 0;
  border-bottom:1px solid rgba(243,243,243,.08);
  transition:padding-left .2s, background .2s;
}
.kh2-pod__item:hover{
  padding-left:12px;
  background:linear-gradient(90deg, rgba(255,116,125,.04), transparent 50%);
}
.kh2-pod__item:hover .kh2-pod__item-play{background:var(--coral);color:var(--ink)}
.kh2-pod__item-num{
  font-size:18px;
  font-weight:500;
  color:rgba(243,243,243,.4);
}
.kh2-pod__item-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.kh2-pod__item-title{
  font-family:"Hubot Sans";
  font-size:18px;
  font-weight:500;
  letter-spacing:-.005em;
  margin:0;
}
.kh2-pod__item-meta{
  font-size:12px;
  color:rgba(243,243,243,.5);
}
.kh2-pod__item-play{
  width:40px;height:40px;
  border-radius:999px;
  background:rgba(243,243,243,.08);
  color:rgba(243,243,243,.7);
  display:grid;place-items:center;
  font-size:13px;
  padding-left:2px;
  transition:background .2s,color .2s;
}

.kh2-pod__foot{display:flex;justify-content:center}

/* === Justask CTA (sidebar v Newsletteru) =================== */
.kh-justcta{
  display:flex;flex-direction:column;gap:18px;
}
.kh-justcta__lbl{
  display:inline-block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--coral);font-weight:600;
}
.kh-justcta__h{
  font-family:"Hubot Sans",sans-serif;
  font-size:clamp(28px,2.4vw,36px);
  font-weight:500;font-stretch:75%;
  text-transform:uppercase;letter-spacing:-.015em;line-height:.95;
  color:var(--paper);margin:0;
}
.kh-justcta__h em{ font-style:italic;font-weight:300;color:var(--coral) }
.kh-justcta__lede{
  font-size:14px;line-height:1.55;color:rgba(243,243,243,.75);margin:0;
}
.kh-justcta__meta{
  list-style:none;margin:8px 0 0;padding:0;
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;
  border-top:1px solid rgba(243,243,243,.12);
  border-bottom:1px solid rgba(243,243,243,.12);
  padding:14px 0;
}
.kh-justcta__meta li{
  display:flex;flex-direction:column;gap:4px;
}
.kh-justcta__meta .mono{
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(243,243,243,.5);
}
.kh-justcta__meta strong{
  font-size:14px;font-weight:500;color:var(--paper);letter-spacing:-.005em;
}
.kh-justcta__person{
  display:flex;align-items:center;gap:14px;
  padding:4px 0;
}
.kh-justcta__avatar{
  width:56px;height:56px;border-radius:999px;overflow:hidden;flex-shrink:0;
  background:var(--coral);
}
.kh-justcta__avatar img{ width:100%;height:100%;object-fit:cover;display:block }
.kh-justcta__name{
  font-size:15px;font-weight:500;color:var(--paper);letter-spacing:-.005em;line-height:1.2;
}
.kh-justcta__role{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(243,243,243,.55);margin-top:4px;
}
.kh-justcta__cta{
  display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin-top:4px;
}
.kh-justcta__next{
  font-size:11px;letter-spacing:.06em;color:rgba(243,243,243,.55);
}
.kh-justcta__next::before{
  content:"";display:inline-block;width:6px;height:6px;border-radius:999px;
  background:#34d27a;margin-right:8px;vertical-align:middle;
  box-shadow:0 0 0 0 rgba(52,210,122,.6);animation:khdotpulse 2.4s infinite;
}
@keyframes khdotpulse{
  0%{box-shadow:0 0 0 0 rgba(52,210,122,.6)}
  70%{box-shadow:0 0 0 8px rgba(52,210,122,0)}
  100%{box-shadow:0 0 0 0 rgba(52,210,122,0)}
}
@media (max-width:1100px){
  .kh-justcta__meta{ grid-template-columns:repeat(3,auto);gap:24px }
}

/* ─────────── NEWSLETTER ─────────── */
.kh2-news{
  padding:120px 36px;
  background:var(--paper);
  color:var(--ink);
}
.kh2-news__inner{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:64px;
  align-items:start;
  padding:64px;
  background:var(--ink);
  color:var(--paper);
  border-radius:24px;
  position:relative;
  overflow:hidden;
}
.kh2-news__inner::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(60% 80% at 100% 0%, rgba(255,116,125,.18), transparent 60%);
  pointer-events:none;
}
.kh2-news__copy,.kh2-news__or{position:relative;z-index:1}

.kh2-news__h{
  font-family:"Hubot Sans";
  font-weight:500;
  font-size:clamp(36px,4.5vw,56px);
  line-height:1;
  letter-spacing:-.015em;
  text-transform:uppercase;
  margin:0 0 20px;
}
.kh2-news__h em{
  font-style:italic;
  font-weight:400;
  color:var(--coral);
  text-transform:none;
  letter-spacing:0;
  font-size:.7em;
}
.kh2-news__lead{
  font-size:16px;
  line-height:1.55;
  color:rgba(243,243,243,.75);
  margin:0 0 28px;
  max-width:54ch;
}
.kh2-news__form{
  display:flex;
  gap:10px;
  margin-bottom:14px;
  flex-wrap:wrap;
}
.kh2-news__form input{
  flex:1;
  min-width:240px;
  padding:14px 20px;
  border-radius:999px;
  border:1px solid rgba(243,243,243,.2);
  background:rgba(243,243,243,.05);
  color:var(--paper);
  font:inherit;
  font-size:15px;
}
.kh2-news__form input:focus{
  outline:none;
  border-color:var(--coral);
  background:rgba(255,116,125,.06);
}
.kh2-news__pp{
  font-size:11px;
  color:rgba(243,243,243,.45);
  letter-spacing:.02em;
  margin:0;
}

.kh2-news__or{
  padding-left:48px;
  border-left:1px solid rgba(243,243,243,.15);
}
.kh2-news__or .mono{
  display:block;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(243,243,243,.5);
  margin-bottom:18px;
}
.kh2-news__or-h{
  font-family:"Hubot Sans";
  font-size:32px;
  font-weight:500;
  line-height:1.05;
  letter-spacing:-.015em;
  text-transform:uppercase;
  margin:0 0 16px;
}
.kh2-news__or p{
  font-size:14px;
  color:rgba(243,243,243,.7);
  line-height:1.5;
  margin:0 0 24px;
}

/* ─────────── RESPONSIVE ─────────── */
@media (max-width:1100px){
  .kh2-hero__grid{grid-template-columns:1fr;gap:60px}
  .kh2-row{grid-template-columns:100px 1fr;gap:24px}
  .kh2-row__side{
    grid-column:1/-1;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    text-align:left;
    padding-top:16px;
    border-top:1px dashed rgba(243,243,243,.1);
  }
  .kh2-row__seats{width:auto}
  .kh2-flag__grid{grid-template-columns:1fr 1fr}
  .kh2-pod__feat{grid-template-columns:1fr;padding:24px}
  .kh2-pod__feat-cover{max-width:280px}
  .kh2-news__inner{grid-template-columns:1fr;padding:40px;gap:40px}
  .kh2-news__or{padding-left:0;padding-top:32px;border-left:none;border-top:1px solid rgba(243,243,243,.15)}
}
@media (max-width:720px){
  .kh2-hero{padding:100px 20px 60px}
  .kh2-cal,.kh2-flag,.kh2-pod,.kh2-news{padding:80px 20px}
  .kh2-flag__grid{grid-template-columns:1fr}
  .kh2-row{grid-template-columns:80px 1fr;gap:16px;padding:24px 0}
  .kh2-row__day{font-size:36px}
  .kh2-row__title{font-size:22px}
  .kh2-row__title .kh2-row__sub{display:block;font-size:15px;margin-top:4px}
  .kh2-subnav{padding:0 20px}
  .kh2-subnav__inner{gap:16px}
  .kh2-news__inner{padding:28px}
}
