.kf-longform {
    --reader-top: 20px;
    --reader-rules: var(--line);
    margin: 0 auto;
    color: var(--ink);
}
.kf-reading-hero {
    display: grid;
    grid-template-columns: minmax(0,1.13fr) minmax(0,.87fr);
    align-items: center;
    gap: clamp(22px,4.4vw,76px);
    padding: 12px 0 clamp(34px,4vw,66px);
    border-bottom: 1px solid var(--reader-rules);
}
.kf-reading-hero.kf-no-cover {display:block}
.kf-reading-head {max-width: 840px}
.kf-reading-head h1 {
    font-size: clamp(36px,4.2vw,69px);
    line-height: 1.07;
    letter-spacing: -.05em;
    text-wrap: pretty;
    overflow-wrap: anywhere;
}
.kf-reading-head .eyebrow {margin:0 0 14px}
.kf-deck {max-width: 59ch; margin: 19px 0 0; color:var(--muted); font-size:clamp(17px,1.42vw,22px); line-height:1.57}
.kf-reading-meta {display:flex; gap:12px; align-items:center; margin-top:25px; color:var(--muted); font-size:14px}
.kf-reading-meta span {padding-left:12px; border-left:1px solid var(--line)}
.kf-reading-cover {margin:0; min-width:0}
.kf-reading-cover>img {width:100%; height:auto; max-height:430px; aspect-ratio:1.54; object-fit:cover; object-position:center; border-radius:5px}
.kf-reading-cover.kf-original-art>img {object-fit:contain}
.kf-reading-cover :is(.kf-intro-player,.kf-intro-file) {
    width:100%; aspect-ratio:16/9; border-radius:5px; background:#101a22;
}
.kf-reading-cover .kf-intro-file {display:block; height:auto; object-fit:contain}
.kf-reading-cover.kf-original-art .kf-intro-player>img {object-fit:contain}
.kf-reading-cover figcaption {margin-top:7px; font-size:13px; color:var(--muted)}
.kf-reading-cover figcaption a {text-decoration:underline; text-underline-offset:.18em}
.kf-program-caption {display:flex; flex-wrap:wrap; gap:4px 18px}
.kf-reading-grid {
    display:grid;
    grid-template-columns: minmax(200px,262px) minmax(0,755px);
    align-items:start;
    justify-content:center;
    gap:clamp(38px,6.5vw,112px);
    padding-block:clamp(38px,5vw,86px) clamp(50px,6vw,96px);
}
.kf-reading-grid.kf-without-outline {grid-template-columns:minmax(0,755px)}
.kf-reading-column {min-width:0}
.kf-program-inquiry {border-bottom:1px solid var(--reader-rules);}
.kf-program-inquiry > summary {
    display:flex; justify-content:space-between; align-items:center; gap:16px;
    padding:15px clamp(16px,2.5vw,34px); min-height:58px;
    color:var(--ink); background:var(--paper); font-size:clamp(16px,1.22vw,19px); font-weight:700;
    cursor:pointer; list-style:none;
}
.kf-program-inquiry > summary::-webkit-details-marker {display:none}
.kf-program-inquiry > summary:hover {text-decoration:underline; text-underline-offset:.2em}
.kf-program-inquiry > summary svg {flex:none}
.kf-program-inquiry[open] .kf-inquiry-plus {display:none}
.kf-program-inquiry > .kfo {margin:clamp(14px,2.3vw,30px) auto;}
.kf-reading-enhanced .kf-program-inquiry #konzultace {scroll-margin-top:calc(var(--kf-header-h) + var(--kf-admin-h) + 12px);}
.kf-outline {align-self:start; position:sticky; top:var(--reader-top); min-width:0}
.kf-outline-box {border-block-start:3px solid var(--blue); padding-top:15px}
.kf-outline-label,.kf-outline-toggle {font-size:16px; font-weight:760; margin:0 0 10px; letter-spacing:-.025em; color:var(--ink)}
.kf-outline-toggle[hidden] {display:none}
.kf-outline-list {list-style:none; margin:0; padding:0; max-height: min(66vh,calc(100vh - var(--reader-top) - 85px)); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin}
.kf-outline-list li {margin:0; padding:0; border-block-end:1px solid var(--reader-rules)}
.kf-outline-list a {
    display:block;
    padding:9px 8px 9px 12px;
    border-inline-start:3px solid transparent;
    color:var(--muted);
    font-size:14px;
    line-height:1.45;
    overflow-wrap:anywhere;
}
.kf-outline-list a:hover,.kf-outline-list a:focus-visible {color:var(--blue); text-decoration:underline; text-underline-offset:.2em}
.kf-outline-list a[aria-current] {color:var(--blue); font-weight:750; border-inline-start-color:var(--blue)}
.kf-outline-list a:focus-visible {outline-offset:-3px}
.kf-prose {
    color:var(--ink);
    font-size:clamp(17px,1.3vw,20px);
    line-height:1.8;
    overflow-wrap:anywhere;
    display:flow-root;
}
.kf-prose p,.kf-prose ul,.kf-prose ol,.kf-prose blockquote,.kf-prose figure,.kf-prose table {margin:0 0 1.05em}
.kf-prose > :first-child {margin-top:0}
.kf-prose :is(h2,h3,h4,h5,h6) {font-size:1.1em; line-height:1.35; letter-spacing:-.023em; margin:1.75em 0 .45em; text-wrap:pretty}
.kf-prose h2 {font-size:clamp(25px,2.3vw,36px); margin-top:1.7em; letter-spacing:-.035em}
.kf-prose h3 {font-size:clamp(21px,1.65vw,26px)}
.kf-prose p a,.kf-prose li a,.kf-prose figcaption a,.kf-prose table a,.kf-prose :is(h2,h3,h4,h5,h6) a {color:var(--blue); text-decoration:underline; text-underline-offset:.17em}
.kf-prose :is(ul,ol) {padding-inline-start:1.65em}
.kf-prose li+li {margin-top:.26em}
.kf-prose li :is(ul,ol) {margin:.4em 0}
.kf-prose blockquote,.kf-read-quote {border-inline-start:3px solid var(--blue); margin-inline:0; padding-inline-start:clamp(16px,2.1vw,30px)}
.kf-prose hr {border:0; border-block-start:1px solid var(--reader-rules); margin:clamp(22px,2.2vw,36px) 0}
.kf-prose :is(img,video,iframe,figure,table,pre) {max-width:100%}
.kf-prose :is(img,video) {height:auto}
.kf-prose figcaption,.kf-read-quote figcaption {color:var(--muted); font-size:14px; margin-top:10px}
.kf-prose table {border-collapse:collapse; display:block; overflow-x:auto}
.kf-prose td,.kf-prose th {border:1px solid var(--reader-rules); padding:.45em .7em}
.kf-prose .wp-caption {max-width:100% !important}
.kf-prose pre {overflow-x:auto}
.kf-chapter,.kf-read-form #konzultace {scroll-margin-top:calc(var(--reader-top) + 10px)}
.kf-chapter:focus:not(:focus-visible) {outline:0}
.kf-supplement,.kf-reading-next {margin-top:clamp(38px,5vw,70px); padding-top:clamp(22px,3vw,36px); border-top:1px solid var(--reader-rules)}
.kf-supplement>h2,.kf-reading-next h2 {margin:0 0 16px; font-size:clamp(25px,2.3vw,36px)}
.kf-program-gallery {display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr)); gap:10px; list-style:none; padding:0; margin:0}
.kf-program-gallery a,.kf-program-gallery img {display:block; width:100%}
.kf-program-gallery img {aspect-ratio:4/3; object-fit:cover; border-radius:3px}
.kf-reading-next h2 a {color:var(--blue)}
.kf-reading-next h2 a:hover {text-decoration:underline;text-underline-offset:.18em}
.kf-read-quote {margin-block:18px 0}
.kf-read-quote blockquote {margin:0; font-size:clamp(22px,2vw,32px); line-height:1.45}
.kf-reading-next .kf-backlink {display:block; width:fit-content; margin-top:18px; font-size:14px; color:var(--muted); text-decoration:underline; text-underline-offset:.2em}
.kf-read-form {margin-top:clamp(38px,5vw,70px)}
@media (max-width:780px) {
    .kf-reading-hero,.kf-reading-grid {grid-template-columns:minmax(0,1fr)}
    .kf-reading-hero {padding-top:4px; gap:22px}
    .kf-reading-head h1 {font-size:clamp(34px,7.8vw,52px)}
    .kf-reading-cover>img {aspect-ratio:1.8; max-height:330px}
    .kf-reading-grid {gap:22px; padding-top:23px}
    .kf-outline {position:static; top:auto}
    .kf-reading-enhanced .kf-outline {position:sticky; top:var(--reader-top); z-index:4; background:var(--paper)}
    .kf-reading-enhanced :is(.kf-chapter,#konzultace) {scroll-margin-top:calc(var(--reader-top) + 62px)}
    .kf-outline-box {border-block:1px solid var(--reader-rules); padding:0}
    .kf-outline-label {margin:12px 0}
    .kf-outline-box[data-enhanced] .kf-outline-label {display:none}
    .kf-outline-toggle:not([hidden]) {display:flex; width:100%; align-items:center; justify-content:space-between; background:transparent; border:0; text-align:start; margin:0; min-height:48px; padding:8px 6px; cursor:pointer}
    .kf-outline-chevron {width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin-right:5px}
    .kf-outline-toggle[aria-expanded="true"] .kf-outline-chevron {transform:rotate(225deg)}
    .kf-outline-list {max-height:55vh}
    .kf-outline-list li:last-child {border-bottom:0}
    .kf-outline-list a {min-height:44px; display:flex; align-items:center}
    .kf-outline-box[data-enhanced] .kf-outline-toggle[aria-expanded="false"]+.kf-outline-list {display:none}
    .kf-read-form .kfo {padding-inline:clamp(14px,4vw,25px)}
}
@media (max-width: 380px) {
    .kf-long-program a.btn[href="#konzultace"] { padding-inline: 13px; }
}
@media print {
    .kf-outline,.kf-reading-next,.kf-program-inquiry,.kf-reading-hero .actions {display:none}
    .kf-reading-grid,.kf-reading-hero {display:block; padding:1em 0}
    .kf-reading-cover img {max-height:180px; width:auto}
}

