/*
=============================================================================
  Petr Kuneš – stylopis celého webu, koncept „zvýrazňovač“
  Web se čte jako dokument, přes který Petr přejel fixou: limetka #d8ff3e
  zvýrazní podstatné, inkoust škrtne šum. Limetka je fix, hlavní tlačítko
  a plochy na tmavém; nikdy text na světlém podkladu (kontrast ~1,1 : 1).
  Písmo Outfit (assets/fonts). Mona Sans leží v assets/fonts jako záloha.
=============================================================================
*/
@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/outfit-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/fonts/outfit-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Instrument Serif kurzíva jen pro citát v „O mně“ (obě části dohromady pokrývají češtinu) */
@font-face {
  font-family: "Instrument Serif";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/instrument-serif-italic-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Instrument Serif";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/instrument-serif-italic-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── Základ ── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; -webkit-text-size-adjust: 100%; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

body.pk {
  --pk-paper: #F2F3EE;
  --pk-paper-2: #E7E9E1;
  --pk-sheet: #FCFCF9;
  --pk-ink: #101917;
  --pk-ink-2: #4A5550;
  --pk-ink-3: #7C8681;       /* jen velký text a grafika */
  --pk-rule: #D5D8CE;
  --pk-lime: #D8FF3E;
  --pk-lime-2: #CBF52A;
  --pk-on-ink: #EEF2EC;
  --pk-on-ink-2: #A9B4AE;
  --pk-on-ink-rule: rgba(238, 242, 236, .16);
  /* stopa zvýrazňovače: nedotáhne se až k okrajům řádku */
  --pk-marker: linear-gradient(transparent 14%, var(--pk-lime) 14%, var(--pk-lime) 90%, transparent 90%);
  --pk-paper-shadow: 0 1px 1px rgba(16,25,23,.06), 0 2px 6px rgba(16,25,23,.04), 0 28px 54px -32px rgba(16,25,23,.32);
  --pk-font: "Outfit", "Manrope", system-ui, sans-serif;
  --pk-serif: "Instrument Serif", Georgia, serif;
  --pk-gutter: clamp(20px, 4vw, 48px);
  --pk-shell: min(1320px, calc(100vw - 2 * var(--pk-gutter)));

  background: var(--pk-paper);
  color: var(--pk-ink);
  font-family: var(--pk-font);
  overflow-x: clip;
}
body.pk ::selection { background: var(--pk-lime); color: var(--pk-ink); }
body.pk :focus-visible { outline: 3px solid var(--pk-ink); outline-offset: 3px; border-radius: 4px; }
body.pk mark { color: inherit; background: var(--pk-marker); padding: 0 .12em; margin: 0 -.12em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.pk-shell { width: var(--pk-shell); margin: 0 auto; }
.pk-nw { white-space: nowrap; }

/* ── Hlavička: zůstává viditelná, při scrollu se zúží ── */
.site-header {
  position: fixed; z-index: 90; top: 0; left: 0; right: 0;
  display: flex; align-items: center; justify-content: space-between;
  height: 76px; padding: 0 max(var(--pk-gutter), calc((100vw - 1320px) / 2));
  color: var(--pk-ink); background: rgba(242, 243, 238, .92); border-bottom: 1px solid transparent;
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  transition: height .25s, background-color .25s, border-color .25s;
}
.site-header.is-scrolled { height: 64px; background: rgba(242, 243, 238, .96); border-bottom-color: var(--pk-rule); }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark {
  display: grid; place-items: center; width: 36px; height: 36px; border-radius: 4px; transform: rotate(-5deg);
  font: 700 13px/1 var(--pk-font); letter-spacing: -.02em; color: var(--pk-ink); background: var(--pk-lime);
  transition: width .25s, height .25s;
}
.site-header.is-scrolled .brand-mark { width: 32px; height: 32px; }
.brand-name { font-size: 17px; font-weight: 700; letter-spacing: -.01em; }
.main-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; margin-right: 28px; }
.main-nav a { position: relative; color: var(--pk-ink-2); font-size: 15px; font-weight: 500; transition: color .18s; }
.main-nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--pk-ink);
  transform: scaleX(0); transform-origin: right; transition: transform .2s ease;
}
.main-nav a:hover { color: var(--pk-ink); }
.main-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.main-nav .nav-contact { display: none; }
.header-phone { margin-right: 20px; color: var(--pk-ink); font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.header-phone:hover { text-decoration: underline; text-underline-offset: 4px; }
.header-cta {
  display: inline-flex; align-items: center; padding: 11px 20px; border-radius: 999px;
  background: var(--pk-lime); color: var(--pk-ink); box-shadow: inset 0 0 0 1.5px rgba(16,25,23,.14);
  font-size: 15px; font-weight: 600; white-space: nowrap;
  transition: background-color .2s, transform .25s cubic-bezier(.2,.8,.2,1);
}
.header-cta:hover { background: var(--pk-lime-2); transform: translateY(-1px); }
.header-cta .s { display: none; }
.menu-toggle { display: none; }
@media (max-width: 1180px) { .header-phone { display: none; } }
@media (max-width: 980px) { .main-nav { gap: 20px; margin-right: 22px; } .main-nav a { font-size: 14px; } }
@media (max-width: 740px) {
  .site-header { height: 68px; }
  .site-header.is-scrolled { height: 60px; }
  .brand-mark { width: 34px; height: 34px; }
  .brand { order: 1; }
  .header-cta { order: 2; margin-left: auto; margin-right: 6px; padding: 9px 16px; font-size: 14px; }
  .header-cta .l { display: none; }
  .header-cta .s { display: inline; }
  .menu-toggle {
    order: 3; display: grid; align-content: center; gap: 5px; width: 44px; height: 44px; margin-right: -8px; padding: 0 8px;
    border: 0; background: transparent; cursor: pointer;
  }
  .menu-toggle span:not(.sr-only) { display: block; height: 2px; border-radius: 1px; background: var(--pk-ink); transition: transform .22s ease, opacity .22s ease; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .main-nav {
    position: absolute; top: 100%; left: 0; right: 0; display: grid; gap: 0; margin: 0;
    padding: 4px var(--pk-gutter) 20px; background: var(--pk-paper); border-bottom: 1px solid var(--pk-rule);
    box-shadow: 0 30px 40px -30px rgba(16,25,23,.35);
    opacity: 0; pointer-events: none; transform: translateY(-8px); transition: opacity .22s ease, transform .22s ease;
  }
  .main-nav.is-open { opacity: 1; pointer-events: auto; transform: none; }
  .main-nav a { padding: 15px 0; color: var(--pk-ink); font-size: 18px; border-bottom: 1px solid var(--pk-rule); }
  .main-nav a::after { display: none; }
  .main-nav .nav-contact {
    display: flex; justify-content: center; margin-top: 16px; padding: 16px 20px; border: 0; border-radius: 999px;
    background: var(--pk-lime); font-weight: 600;
  }
}

/* ── Tlačítka a odkazy ── */
.pk-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 58px; padding: 0 28px; border-radius: 999px; white-space: nowrap;
  font: 650 17px/1.2 var(--pk-font); text-decoration: none;
  transition: background-color .2s, color .2s, box-shadow .25s, transform .25s cubic-bezier(.2,.8,.2,1);
}
.pk-btn:hover { transform: translateY(-2px); }
/* nezalomitelný úsek (e-shop) ve flexu nesmí být samostatná položka: dostal by mezeru, nebo by zmizela mezera před ním (nowrap se dědí dál) */
.pk-btn .pk-nw, .pk-chip-opt .pk-nw { display: contents; }
.pk-btn:active { transform: translateY(0) scale(.98); }
.pk-btn--lime { background: var(--pk-lime); color: var(--pk-ink); box-shadow: inset 0 0 0 1.5px rgba(16,25,23,.14); }
.pk-btn--lime:hover { background: var(--pk-lime-2); color: var(--pk-ink); box-shadow: inset 0 0 0 1.5px rgba(16,25,23,.14), 0 12px 24px -14px rgba(16,25,23,.45); }
.pk-btn--ink { background: var(--pk-ink); color: #fff; }
.pk-btn--ink:hover { background: #26352F; color: #fff; box-shadow: 0 12px 24px -14px rgba(16,25,23,.6); }
/* odkaz: pod kurzorem ho přejede fix */
.pk-link {
  position: relative; color: var(--pk-ink); font-weight: 600; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px;
  background: var(--pk-marker) no-repeat 0 0 / 0% 100%; transition: background-size .35s cubic-bezier(.6,0,.2,1);
}
.pk-link:hover { color: var(--pk-ink); background-size: 100% 100%; text-decoration-color: transparent; }
.pk-link::after { content: ""; position: absolute; inset: -12px -6px; }
.pk-link--ink { color: #fff; }
.pk-link--ink:hover { color: var(--pk-ink); }

/* ── Úvod ── */
.pk-hero { padding: calc(76px + clamp(32px, 5vw, 72px)) 0 clamp(56px, 7vw, 96px); }
.pk-hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px 56px; align-items: center; }
.pk-h1 { margin: 0; color: var(--pk-ink); font: 700 clamp(3.25rem, 1rem + 7.6vw, 9rem)/.9 var(--pk-font); letter-spacing: -.05em; }
.pk-h1 .ln { display: block; overflow: hidden; padding: .1em 0 .07em; margin: -.1em 0 -.07em; }
.pk-h1 .ln > span { display: block; }
.pk-lead { margin: 32px 0 0; max-width: 38ch; font-size: clamp(1.125rem, 1rem + .4vw, 1.375rem); line-height: 1.5; color: var(--pk-ink-2); text-wrap: pretty; }
.pk-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 30px; }
.pk-byline { display: flex; align-items: center; gap: 16px; margin-top: 36px; }
.pk-byline img { flex: none; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: 50% 22%; }
.pk-byline p { margin: 0; font-size: 15px; line-height: 1.45; color: var(--pk-ink-2); }
.pk-byline strong { display: block; margin-bottom: 2px; font-size: clamp(1.25rem, 1.1rem + .4vw, 1.5rem); font-weight: 600; letter-spacing: -.02em; color: var(--pk-ink); }

/* list papíru, přes který jde fix */
.pk-note {
  position: relative; margin: 0; padding: 26px 28px 20px; border-radius: 3px;
  background: var(--pk-sheet); color: var(--pk-ink);
  box-shadow: 0 1px 1px rgba(16,25,23,.06), 0 2px 6px rgba(16,25,23,.04), 0 32px 60px -34px rgba(16,25,23,.35);
  transform: rotate(-1.2deg);
}
.pk-note-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 16px; padding-bottom: 14px; border-bottom: 2px solid var(--pk-ink); }
.pk-note-head strong { font-size: 20px; font-weight: 600; }
.pk-note-head span { font-size: 14px; color: var(--pk-ink-2); }
.pk-note-list { margin: 0; padding: 0; list-style: none; }
.pk-note-list li { position: relative; min-height: 50px; padding: 13px 80px 13px 0; border-bottom: 1px solid var(--pk-rule); font-size: 17px; line-height: 1.4; }
.pk-note-list .t { position: relative; transition: color .4s var(--d, 0ms); }
/* teď: stopa fixu */
.pk-note-list [data-mark="now"] .t {
  padding: 0 .15em; margin: 0 -.15em; -webkit-box-decoration-break: clone; box-decoration-break: clone;
  background: var(--pk-marker) no-repeat 0 0 / 0% 100%;
  transition: background-size .55s cubic-bezier(.6,0,.2,1) var(--d, 0ms);
}
.pk-note.is-marked [data-mark="now"] .t { background-size: 100% 100%; font-weight: 600; }
/* vůbec: tah propiskou */
.pk-note-list [data-mark="never"] .t { display: inline-block; }
.pk-note-list [data-mark="never"] .t::after {
  content: ""; position: absolute; left: -.2em; right: -.2em; top: 54%; height: 2.5px; border-radius: 2px;
  background: var(--pk-ink); transform: scaleX(0) rotate(-2deg); transform-origin: 0 50%;
  transition: transform .45s cubic-bezier(.6,0,.2,1) var(--d, 0ms);
}
.pk-note.is-marked [data-mark="never"] .t { color: var(--pk-ink-2); }
.pk-note.is-marked [data-mark="never"] .t::after { transform: scaleX(1) rotate(-2deg); }
/* poznámky na okraji */
.pk-note-list li::after {
  position: absolute; right: 0; top: 50%;
  font-size: 14px; font-weight: 600; color: var(--pk-ink-2); opacity: 0; transform: translate(-6px, -50%);
  transition: opacity .35s var(--d, 0ms), transform .35s var(--d, 0ms);
}
.pk-note-list [data-mark="now"]::after {
  content: attr(data-rank); display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
  background: var(--pk-ink); color: #fff; font-size: 13px; font-weight: 700;
}
.pk-note-list [data-mark="later"]::after { content: "později"; }
.pk-note-list [data-mark="never"]::after { content: "vůbec"; color: var(--pk-ink-2); }
.pk-note.is-marked li::after { opacity: 1; transform: translate(0, -50%); }
.pk-note-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-top: 16px; }
.pk-note-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0; font-size: 14px; color: var(--pk-ink-2); }
.pk-note-legend .k--now { background: var(--pk-marker); padding: 0 .2em; color: var(--pk-ink); font-weight: 600; }
.pk-note-legend .k--never { text-decoration: line-through; text-decoration-thickness: 2px; }
.pk-note-btn {
  min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--pk-paper-2); color: var(--pk-ink); font: 600 14px var(--pk-font); transition: background-color .18s, transform .2s;
}
.pk-note-btn:hover { background: var(--pk-rule); }
.pk-note-btn:active { transform: scale(.97); }
.pk-note.is-resetting * { transition-delay: 0ms !important; transition-duration: .2s !important; }

@media (max-width: 1060px) {
  .pk-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .pk-note { transform: none; max-width: 640px; }
}
@media (min-width: 761px) and (max-width: 1060px) {
  .pk-hero-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); grid-template-rows: auto auto auto auto 1fr; gap: 0 36px; align-items: start; }
  .pk-hero-copy { display: contents; }
  .pk-h1 { grid-column: 1 / -1; margin-bottom: 36px; }
  .pk-lead { grid-column: 1; margin-top: 0; }
  .pk-actions, .pk-byline { grid-column: 1; }
  .pk-note { grid-column: 2; grid-row: 2 / span 4; max-width: none; }
  .pk-note-list li { font-size: 16px; }
}
/* mobil: kompaktní úvod, na listu pět položek místo devíti */
@media (max-width: 640px) {
  .pk-hero { padding: calc(68px + 28px) 0 40px; }
  .pk-hero-grid { gap: 28px; }
  .pk-h1 { font-size: clamp(2.875rem, 1rem + 11vw, 3.5rem); }
  .pk-lead { margin-top: 18px; font-size: 17px; }
  .pk-actions { gap: 14px 24px; margin-top: 22px; }
  .pk-actions .pk-btn { flex: 1 1 100%; min-height: 54px; }
  .pk-byline { gap: 12px; margin-top: 22px; }
  .pk-byline img { width: 52px; height: 52px; }
  .pk-byline strong { font-size: 19px; }
  .pk-note { padding: 18px 16px 14px; }
  .pk-note-head { padding-bottom: 10px; }
  .pk-note-head strong { font-size: 18px; }
  .pk-note-list [data-hide-m] { display: none; }
  .pk-note-list li { min-height: 46px; padding: 11px 68px 11px 0; font-size: 16px; }
  .pk-note-foot { justify-content: flex-end; margin-top: 12px; }
  .pk-note-legend { display: none; }
  /* zalomené škrtnuté položky přeškrtnout po řádcích */
  .pk-note-list [data-mark="never"] .t { display: inline; text-decoration: line-through; text-decoration-thickness: 2px; text-decoration-color: transparent; transition: color .4s var(--d, 0ms), text-decoration-color .4s var(--d, 0ms); }
  .pk-note-list [data-mark="never"] .t::after { display: none; }
  .pk-note.is-marked [data-mark="never"] .t { text-decoration-color: var(--pk-ink); }
}

/* ── Výsledky: report klienta s poznámkami fixou ── */
.pk-proof { padding: clamp(24px, 4vw, 48px) 0 0; }
.pk-proof-grid { display: grid; gap: 36px; }
.pk-proof-copy { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 14px 56px; align-items: start; padding-top: 28px; border-top: 2px solid var(--pk-ink); }
.pk-proof-copy h2 { grid-row: span 3; margin: 0; font: 600 clamp(2.125rem, 1.2rem + 2.8vw, 4rem)/1 var(--pk-font); letter-spacing: -.035em; }
.pk-proof-copy p { margin: 0; max-width: 58ch; font-size: 18px; line-height: 1.55; color: var(--pk-ink-2); }
.pk-proof-copy .pk-proof-small { font-size: 15px; }
.pk-proof-copy .pk-link { justify-self: start; }
.pk-sheet { position: relative; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: 0 48px; margin: 0; }
.pk-sheet-img { position: relative; padding: 10px; border-radius: 3px; background: #fff; box-shadow: 0 1px 1px rgba(16,25,23,.06), 0 2px 6px rgba(16,25,23,.04), 0 36px 64px -36px rgba(16,25,23,.4); }
.pk-sheet-img img { display: block; width: 100%; height: auto; }
.pk-pin {
  position: absolute; left: calc(10px + (100% - 20px) * var(--x)); top: calc(10px + (100% - 20px) * var(--y));
  display: grid; place-items: center; width: 30px; height: 30px; margin: -15px 0 0 -15px; border-radius: 50%;
  background: var(--pk-lime); box-shadow: 0 0 0 2px var(--pk-ink), 0 0 0 7px rgba(216,255,62,.45);
  font: 700 13px/1 var(--pk-font); color: var(--pk-ink);
}
.pk-pin::after { content: attr(data-n); }
.pk-sheet-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.pk-sheet-lines path { fill: none; stroke: var(--pk-ink); stroke-width: 1.5; }
.pk-notes { position: relative; margin: 0; padding: 0; list-style: none; }
.pk-notes li { position: absolute; left: 0; right: 0; top: var(--y); transform: translateY(-50%); }
.pk-notes mark { display: inline-block; font: 700 clamp(1.875rem, 1.2rem + 1.4vw, 2.75rem)/1.05 var(--pk-font); letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.pk-notes span { display: block; margin-top: 6px; max-width: 24ch; font-size: 15px; line-height: 1.4; color: var(--pk-ink-2); }
.pk-notes .is-key mark { font-size: clamp(2.5rem, 1.4rem + 2.4vw, 4rem); }
.pk-notes .is-key span { color: var(--pk-ink); font-weight: 500; }
/* animace, jen když ji JS zapne (bez JS je vše vidět) */
.pk-sheet.is-armed .pk-pin { transform: scale(0); }
.pk-sheet.is-armed .pk-notes mark { background-size: 0% 100%; background-repeat: no-repeat; }
.pk-sheet.is-armed .pk-notes span { opacity: 0; }
.pk-sheet.is-in .pk-pin { transform: scale(1); transition: transform .45s cubic-bezier(.3,1.5,.5,1) var(--d); }
.pk-sheet.is-in .pk-notes mark { background-size: 100% 100%; transition: background-size .55s cubic-bezier(.6,0,.2,1) calc(var(--d) + .35s); }
.pk-sheet.is-in .pk-notes span { opacity: 1; transition: opacity .4s calc(var(--d) + .6s); }
@media (max-width: 900px) {
  .pk-proof-copy { grid-template-columns: minmax(0, 1fr); }
  .pk-proof-copy h2 { grid-row: auto; }
  .pk-sheet { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .pk-sheet-lines { display: none; }
  .pk-notes { display: grid; gap: 18px; }
  .pk-notes li { position: static; transform: none; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 0 12px; align-items: start; }
  .pk-notes li::before { content: attr(data-n); grid-row: span 2; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--pk-lime); box-shadow: 0 0 0 2px var(--pk-ink); font-weight: 700; font-size: 13px; }
  .pk-notes span { max-width: none; }
  .pk-notes mark { justify-self: start; }
  .pk-pin { left: calc(10px + (100% - 20px) * var(--mx, var(--x))); width: 20px; height: 20px; margin: -10px 0 0 -10px; font-size: 10px; box-shadow: 0 0 0 1.5px var(--pk-ink); }
}

/* =============================================================================
   Sekce
============================================================================= */
.pk-sec { padding: clamp(80px, 11vw, 150px) 0; }
.pk-sec--tint { background: var(--pk-paper-2); }
.pk-sec--ink { background: var(--pk-ink); color: var(--pk-on-ink); }
.pk-sec h2, .pk-final h2 {
  margin: 0; color: var(--pk-ink); text-wrap: balance;
  font: 600 clamp(2.125rem, 1.1rem + 4.2vw, 5.25rem)/.98 var(--pk-font); letter-spacing: -.045em;
}
.pk-sec--ink h2 { color: #fff; }
.pk-sec-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 20px 56px; align-items: end; margin-bottom: clamp(40px, 5vw, 64px); }
.pk-sec-head p, .pk-split-head p { margin: 0; max-width: 44ch; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.55; color: var(--pk-ink-2); text-wrap: pretty; }
.pk-sec--ink .pk-sec-head p { color: var(--pk-on-ink-2); }
.pk-price--sheet { background: var(--pk-sheet); border-radius: 3px; box-shadow: var(--pk-paper-shadow); }

/* Služby */
.pk-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px 72px; align-items: start; }
.pk-split-head { position: sticky; top: 104px; display: grid; gap: 20px; justify-items: start; }
.pk-split-head p a { color: var(--pk-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pk-split-head p strong { color: var(--pk-ink); }
.pk-sec--ink .pk-split-head p strong { color: #fff; }
.pk-services { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--pk-ink); }
.pk-services li { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 6px 32px; padding: 24px 0; border-bottom: 1px solid var(--pk-rule); }
.pk-services h3 { margin: 0; font: 600 22px/1.2 var(--pk-font); letter-spacing: -.02em; }
.pk-services p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--pk-ink-2); }
.pk-services small { grid-column: 2; font-size: 14px; font-weight: 500; color: var(--pk-ink); }

/* Ceny na tmavém: doporučený audit leží jako světlý list */
.pk-prices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; align-items: stretch; }
.pk-price { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 24px 0 0; border-top: 2px solid var(--pk-on-ink-rule); }
.pk-price h3 { margin: 0; font: 600 22px/1.2 var(--pk-font); letter-spacing: -.02em; color: #fff; }
.pk-price-num { margin: 0; font: 600 clamp(2.25rem, 1.6rem + 1.6vw, 3.5rem)/1 var(--pk-font); letter-spacing: -.04em; font-variant-numeric: tabular-nums; color: #fff; }
.pk-price-num small { font-size: 16px; font-weight: 500; letter-spacing: 0; color: var(--pk-on-ink-2); }
.pk-price > p:not(.pk-price-num):not(.pk-price-flag) { margin: 0 0 8px; font-size: 16px; line-height: 1.55; color: var(--pk-on-ink-2); }
.pk-price .pk-link { margin-top: 4px; color: #fff; }
.pk-price .pk-link:hover { color: var(--pk-ink); }
.pk-price--sheet {
  padding: 28px 28px 30px; border-top: 0; color: var(--pk-ink);
  box-shadow: 0 40px 80px -30px rgba(0,0,0,.6); transform: rotate(-1deg) translateY(-14px);
  transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s;
}
.pk-price--sheet h3, .pk-price--sheet .pk-price-num { color: var(--pk-ink); }
.pk-price--sheet > p:not(.pk-price-num):not(.pk-price-flag) { color: var(--pk-ink-2); }
.pk-price--sheet .pk-btn { margin-top: auto; white-space: normal; text-align: center; min-height: 54px; padding: 12px 24px; }
.pk-price-flag { margin: 0; font-size: 14px; font-weight: 600; }
.pk-prices-note { margin: 40px 0 0; font-size: 15px; color: var(--pk-on-ink-2); }
@media (hover: hover) and (min-width: 1061px) {
  .pk-price--sheet:hover { transform: rotate(0) translateY(-18px); box-shadow: 0 50px 90px -30px rgba(0,0,0,.7); }
}
.pk-sec--ink :focus-visible { outline-color: var(--pk-lime); }
.pk-sec--ink .pk-price--sheet :focus-visible { outline-color: var(--pk-ink); }

/* Práce */
.pk-own { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px 56px; align-items: center; margin-bottom: clamp(56px, 7vw, 96px); }
.pk-own-img {
  position: relative; display: block; padding: 10px; background: #fff; border-radius: 3px;
  box-shadow: 0 1px 1px rgba(16,25,23,.06), 0 36px 64px -36px rgba(16,25,23,.4);
  transform: rotate(-.8deg); transition: transform .4s cubic-bezier(.2,.8,.2,1);
}
.pk-own-img:hover { transform: rotate(0) translateY(-4px); }
.pk-own-img img { display: block; width: 100%; height: auto; }
.pk-sticker {
  position: absolute; z-index: 1; top: -16px; right: 28px; padding: 9px 16px; border-radius: 3px;
  background: var(--pk-lime); color: var(--pk-ink); font-size: 15px; font-weight: 700;
  box-shadow: 0 10px 20px -10px rgba(16,25,23,.45); transform: rotate(4deg);
}
.pk-own-kind { margin: 0 0 10px; font-size: 15px; font-weight: 600; color: var(--pk-ink-2); }
.pk-own-copy h3 { margin: 0; font: 600 clamp(2.5rem, 1.4rem + 2.6vw, 4.25rem)/1 var(--pk-font); letter-spacing: -.045em; }
.pk-own-copy p:not(.pk-own-kind) { margin: 18px 0 22px; max-width: 44ch; font-size: 17px; line-height: 1.6; color: var(--pk-ink-2); }
.pk-works { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; margin: 0 0 44px; padding: 0; list-style: none; }
.pk-works a { display: grid; gap: 4px; color: var(--pk-ink); }
.pk-works img {
  width: 100%; height: auto; aspect-ratio: 1440 / 1000; object-fit: cover; object-position: top; margin-bottom: 14px;
  border-radius: 3px; box-shadow: 0 0 0 1px var(--pk-rule); transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
}
.pk-works a:hover img { transform: translateY(-4px); box-shadow: 0 0 0 1px var(--pk-rule), 0 24px 40px -24px rgba(16,25,23,.35); }
.pk-works strong { justify-self: start; font-size: 22px; font-weight: 600; letter-spacing: -.02em; background: var(--pk-marker) no-repeat 0 0 / 0% 100%; padding: 0 .12em; margin: 0 -.12em; transition: background-size .35s cubic-bezier(.6,0,.2,1); }
.pk-works a:hover strong { background-size: 100% 100%; }
.pk-works span { font-size: 15px; line-height: 1.45; color: var(--pk-ink-2); }

/* O mně */
.pk-about { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px 72px; align-items: center; }
.pk-about-photo { margin: 0; overflow: hidden; border-radius: 3px; }
.pk-about-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 30%; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.pk-about-photo:hover img { transform: scale(1.03); }
.pk-about-copy > p { margin: 22px 0 0; max-width: 54ch; font-size: 18px; line-height: 1.6; color: var(--pk-ink-2); }
.pk-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 28px; margin: 36px 0 32px; }
.pk-facts div { padding-top: 14px; border-top: 2px solid var(--pk-ink); }
.pk-facts dt { font: 600 clamp(1.5rem, 1.2rem + .8vw, 2rem)/1.1 var(--pk-font); letter-spacing: -.03em; }
.pk-facts dd { margin: 6px 0 0; font-size: 15px; line-height: 1.45; color: var(--pk-ink-2); }

/* Nejsem na to sám: specialisté za Petrem, Petr navrchu jako kontakt */
.pk-team-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px 72px; align-items: center; }
.pk-team-copy > p { margin: 24px 0 0; max-width: 52ch; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.55; color: var(--pk-on-ink-2); }
.pk-team-list { display: grid; gap: 0; margin: 32px 0 30px; padding: 0; list-style: none; border-top: 1px solid var(--pk-on-ink-rule); }
.pk-team-list li { padding: 16px 0; border-bottom: 1px solid var(--pk-on-ink-rule); font-size: 16px; line-height: 1.5; color: var(--pk-on-ink-2); }
.pk-team-list strong { display: block; margin-bottom: 2px; font-size: 18px; font-weight: 600; color: #fff; }
/* Kde jste teď: zaškrtnutí situace ukáže plán, čím začneme */

.pk-sec-head p a { color: var(--pk-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pk-pick { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-rows: auto auto auto 1fr; column-gap: 64px; align-items: start; }
.pk-opt { grid-column: 1; position: relative; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 18px; align-items: start; padding: 24px 0; border-bottom: 1px solid var(--pk-rule); cursor: pointer; }
.pk-opt:first-of-type { border-top: 2px solid var(--pk-ink); }
.pk-opt input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.pk-box { display: grid; place-items: center; width: 30px; height: 30px; margin-top: 1px; border: 2px solid var(--pk-ink); border-radius: 50%; background: var(--pk-sheet); transition: background-color .2s; }
.pk-box svg { width: 18px; height: 18px; fill: none; stroke: var(--pk-ink); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 26; stroke-dashoffset: 26; transition: stroke-dashoffset .35s cubic-bezier(.6,0,.2,1); }
.pk-opt:hover input:not(:checked) + .pk-box { background: var(--pk-paper-2); }
.pk-opt input:checked + .pk-box { background: var(--pk-lime); }
.pk-opt input:checked + .pk-box svg { stroke-dashoffset: 0; }
.pk-opt input:focus-visible + .pk-box { outline: 3px solid var(--pk-ink); outline-offset: 3px; }
.pk-opt-txt b { display: block; font: 600 clamp(1.25rem, 1.05rem + .6vw, 1.625rem)/1.2 var(--pk-font); letter-spacing: -.02em; }
.pk-opt-txt small { display: block; margin-top: 5px; font-size: 16px; line-height: 1.45; color: var(--pk-ink-2); }
.pk-plan-card { grid-column: 2; grid-row: 1 / span 4; display: none; padding: 38px 38px 36px; border-radius: 3px; background: var(--pk-sheet); box-shadow: var(--pk-paper-shadow); transform: rotate(-.8deg); }
.pk-pick:has(input[value="start"]:checked) .pk-plan-card[data-for="start"],
.pk-pick:has(input[value="audit"]:checked) .pk-plan-card[data-for="audit"],
.pk-pick:has(input[value="partner"]:checked) .pk-plan-card[data-for="partner"] { display: block; }
@supports not selector(:has(a)) {
  .pk-pick[data-sel="start"] .pk-plan-card[data-for="start"],
  .pk-pick[data-sel="audit"] .pk-plan-card[data-for="audit"],
  .pk-pick[data-sel="partner"] .pk-plan-card[data-for="partner"] { display: block; }
}
.pk-plan-kicker { margin: 0 0 10px; font-size: 15px; font-weight: 600; color: var(--pk-ink-2); }
.pk-plan-card h3 { margin: 0; font: 600 clamp(2.125rem, 1.3rem + 2.2vw, 3.5rem)/1.02 var(--pk-font); letter-spacing: -.045em; }
.pk-plan-card > p:not(.pk-plan-kicker):not(.pk-plan-price) { margin: 20px 0 0; max-width: 48ch; font-size: 18px; line-height: 1.6; color: var(--pk-ink-2); }
.pk-plan-price { margin: 24px 0 26px; padding-top: 16px; border-top: 1px solid var(--pk-rule); font-size: 16px; font-weight: 600; }

/* Nejsem na to sám: balíček papírů se specialisty, Petr navrchu jako kontakt */
.pk-stack { position: relative; height: 290px; }
.pk-stack-card {
  position: absolute; left: 50%; top: 66%; width: min(320px, 90%); padding: 22px; border-radius: 3px;
  background: var(--pk-sheet); color: var(--pk-ink); font-size: 17px; font-weight: 600;
  box-shadow: 0 30px 50px -24px rgba(0,0,0,.7);
  transform: translate(-50%, calc(-50% - var(--i) * 52px)) rotate(calc((var(--i) - 1.5) * 3deg)) scale(calc(1 - var(--i) * .04));
  transition: transform .5s cubic-bezier(.2,.8,.2,1);
}
.pk-stack-card--me { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 0 14px; align-items: center; background: var(--pk-lime); transform: translate(-50%, -22%) rotate(-2deg); }
.pk-stack-card--me img { grid-row: span 2; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: 50% 22%; }
.pk-stack-card--me b { font-size: 18px; }
.pk-stack-card--me small { font-size: 14px; font-weight: 500; }
@media (hover: hover) {
  .pk-stack:hover .pk-stack-card:not(.pk-stack-card--me),
  .pk-stack.pk-r.is-in:hover .pk-stack-card:not(.pk-stack-card--me) {
    transform: translate(-50%, calc(-50% - var(--i) * 62px)) rotate(calc((var(--i) - 1.5) * 4deg)) scale(calc(1 - var(--i) * .04));
    transition-delay: 0s; transition-duration: .5s;
  }
}

/* Citát v „O mně“ */
.pk-pull { margin: 30px 0 0; padding-left: 22px; border-left: 3px solid var(--pk-ink); }
.pk-pull p { margin: 0; font: italic 400 clamp(1.75rem, 1.3rem + 1.2vw, 2.5rem)/1.15 var(--pk-serif); color: var(--pk-ink); }

@media (max-width: 1060px) {
  /* plán se rozbalí přímo pod zvolenou možností */
  .pk-pick { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .pk-opt, .pk-plan-card { grid-column: 1; grid-row: auto; }
  .pk-plan-card { transform: none; max-width: 680px; margin: 4px 0 20px; }
  .pk-stack { width: 100%; max-width: 460px; }
}
@media (max-width: 560px) {
  .pk-plan-card { padding: 26px 22px 24px; }
  .pk-plan-card .pk-btn { width: 100%; white-space: normal; text-align: center; }
  .pk-opt { gap: 14px; padding: 20px 0; }
  .pk-stack { height: 230px; }
  .pk-stack-card { top: 70%; padding: 16px 18px; font-size: 16px; transform: translate(-50%, calc(-50% - var(--i) * 42px)) rotate(calc((var(--i) - 1.5) * 3deg)) scale(calc(1 - var(--i) * .04)); }
}

/* Časté otázky */
.pk-faq { border-top: 2px solid var(--pk-ink); }
.pk-faq details { overflow: hidden; border-bottom: 1px solid var(--pk-rule); }
.pk-faq summary {
  position: relative; display: block; padding: 22px 48px 22px 0; cursor: pointer; list-style: none;
  font: 600 clamp(1.125rem, 1rem + .4vw, 1.375rem)/1.3 var(--pk-font); letter-spacing: -.015em; transition: color .18s;
}
.pk-faq summary::-webkit-details-marker { display: none; }
.pk-faq summary:hover { color: #2E3B37; }
.pk-faq summary:focus-visible { outline-offset: -3px; }
.pk-faq summary::after {
  content: ""; position: absolute; right: 6px; top: 50%; width: 16px; height: 16px; margin-top: -8px;
  background: linear-gradient(var(--pk-ink), var(--pk-ink)) center / 16px 2px no-repeat, linear-gradient(var(--pk-ink), var(--pk-ink)) center / 2px 16px no-repeat;
  transition: transform .3s cubic-bezier(.2,.8,.2,1);
}
.pk-faq details[open] summary::after { transform: rotate(45deg); }
.pk-faq details.is-closing summary::after { transform: rotate(0); }
.pk-faq details p { margin: -6px 0 22px; max-width: 60ch; font-size: 17px; line-height: 1.6; color: var(--pk-ink-2); transition: opacity .3s ease .05s, translate .3s ease .05s; }
.pk-faq details:not([open]) p, .pk-faq details.is-closing p { opacity: 0; translate: 0 -4px; }

/* Finále na limetce */
.pk-final { padding: clamp(72px, 10vw, 136px) 0; background: var(--pk-lime); color: var(--pk-ink); }
.pk-final-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px 56px; align-items: end; }
.pk-final h2 { font-size: clamp(2.375rem, 1.2rem + 4.6vw, 5.75rem); }
.pk-final p { margin: 22px 0 0; max-width: 46ch; font-size: 19px; line-height: 1.55; color: #26332E; }
.pk-final-actions { display: grid; gap: 18px; justify-items: start; }
.pk-final-actions p { margin: 0; font-size: 16px; line-height: 1.7; }
.pk-final-actions a:not(.pk-btn) { color: var(--pk-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* Patička: klasická, tmavá */
.pk-footer { padding: clamp(56px, 7vw, 88px) 0 28px; color: rgba(238,242,236,.72); background: var(--pk-ink); font-size: 15px; }
.pk-footer-top { display: grid; grid-template-columns: minmax(0, 4fr) repeat(3, minmax(0, 2fr)); gap: 40px 48px; padding-bottom: clamp(40px, 5vw, 64px); }
.pk-footer .brand { color: #fff; }
.pk-footer-brand p { margin: 18px 0 0; max-width: 34ch; line-height: 1.6; }
.pk-footer-brand p + p { margin-top: 10px; color: rgba(238,242,236,.5); }
.pk-footer-col h2 { margin: 6px 0 16px; font: 600 15px/1.2 var(--pk-font); color: #fff; }
.pk-footer-col ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pk-footer a { transition: color .18s; }
.pk-footer a:hover { color: var(--pk-lime); }
.pk-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 28px; padding-top: 24px; border-top: 1px solid rgba(238,242,236,.12); font-size: 14px; color: rgba(238,242,236,.5); }
.pk-footer-bottom div { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.pk-footer .cookie-reopen { padding: 0; border: 0; background: none; color: rgba(238,242,236,.72); font: inherit; cursor: pointer; transition: color .18s; }
.pk-footer .cookie-reopen:hover { color: var(--pk-lime); }
.pk-footer :focus-visible { outline-color: var(--pk-lime); }

/* Cookie lišta: velký pruh přes celou šířku, souhlas barevně vede, odmítnutí zůstává na první vrstvě */
.cookie-bar {
  position: fixed; z-index: 95; left: 0; right: 0; bottom: 0; max-height: 100dvh; overflow-y: auto; overscroll-behavior: contain;
  color: var(--pk-ink); background: var(--pk-sheet); border-top: 4px solid var(--pk-lime);
  box-shadow: 0 -24px 60px -20px rgba(16,25,23,.35);
  opacity: 0; transform: translateY(16px); transition: opacity .3s ease, transform .3s ease;
}
.cookie-bar.is-visible { opacity: 1; transform: none; }
.cookie-bar[hidden], .cookie-main[hidden], .cookie-settings[hidden] { display: none !important; }
.cookie-bar-inner { width: var(--pk-shell); margin: 0 auto; padding: clamp(24px, 3vw, 36px) 0; }
.cookie-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px 48px; }
.cookie-title { margin: 0 0 8px; font: 600 clamp(1.5rem, 1.2rem + .9vw, 2rem)/1.1 var(--pk-font); letter-spacing: -.02em; color: var(--pk-ink); }
.cookie-copy p:not(.cookie-title) { margin: 0; max-width: 62ch; font-size: 16px; line-height: 1.55; color: var(--pk-ink-2); }
.cookie-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.pk-cbtn {
  min-height: 56px; padding: 0 26px; border: 0; border-radius: 999px; cursor: pointer;
  background: transparent; color: var(--pk-ink); box-shadow: inset 0 0 0 1.5px var(--pk-ink); font: 600 16px var(--pk-font);
  transition: background-color .2s, transform .25s cubic-bezier(.2,.8,.2,1);
}
.pk-cbtn:hover { background: var(--pk-paper-2); }
.pk-cbtn:active { transform: scale(.98); }
.pk-cbtn--lime { min-width: 200px; background: var(--pk-lime); box-shadow: inset 0 0 0 1.5px rgba(16,25,23,.14); font-size: 17px; }
.pk-cbtn--lime:hover { background: var(--pk-lime-2); transform: translateY(-2px); }
.pk-cbtn--text { box-shadow: none; text-decoration: underline; text-underline-offset: 4px; padding: 0 10px; }
.pk-cbtn--text:hover { background: none; }
.cookie-settings .cookie-title { margin-bottom: 4px; }
.cookie-cats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; margin: 12px 0 18px; padding: 0; list-style: none; }
.cookie-cats li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--pk-rule); }
.cookie-cat-text strong { display: block; font-size: 16px; color: var(--pk-ink); }
.cookie-cat-text span { display: block; font-size: 14px; color: var(--pk-ink-2); }
.cookie-switch { position: relative; flex-shrink: 0; width: 44px; height: 26px; cursor: pointer; }
.cookie-switch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.cookie-switch span { position: absolute; inset: 0; border-radius: 999px; background: var(--pk-rule); transition: background-color .2s; }
.cookie-switch span::before { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(16,25,23,.25); transition: transform .2s ease; }
.cookie-switch input:checked + span { background: var(--pk-ink); }
.cookie-switch input:checked + span::before { transform: translateX(18px); }
.cookie-switch input:focus-visible + span { outline: 3px solid var(--pk-ink); outline-offset: 2px; }
.cookie-switch.is-locked { cursor: not-allowed; opacity: .6; }
.cookie-switch.is-locked input { cursor: not-allowed; }
.cookie-settings-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
@media (max-width: 900px) {
  .cookie-main, .cookie-cats { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .cookie-bar-inner { padding: 22px 0 18px; }
  .cookie-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .cookie-actions .pk-cbtn--lime { grid-column: 1 / -1; }
  .cookie-settings-actions .pk-cbtn { flex: 1; }
}

/* =============================================================================
   PODSTRÁNKY – stejné komponenty jako homepage
============================================================================= */
.main-nav a[aria-current="page"] { color: var(--pk-ink); }
.main-nav a[aria-current="page"]::after { transform: scaleX(1); }

/* úvod podstránky */
.pk-page-hero { padding: calc(76px + clamp(40px, 6vw, 88px)) 0 clamp(56px, 7vw, 96px); }
.pk-page-hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px 64px; align-items: end; }
.pk-page-hero h1 { margin: 0; color: var(--pk-ink); text-wrap: balance; font: 700 clamp(2.75rem, 1.2rem + 5.4vw, 6.5rem)/.94 var(--pk-font); letter-spacing: -.05em; }
.pk-page-hero h1 .pk-h1-sub { display: block; color: var(--pk-ink-2); }
.pk-page-lead { margin: 28px 0 0; max-width: 44ch; font-size: clamp(1.125rem, 1rem + .4vw, 1.375rem); line-height: 1.5; color: var(--pk-ink-2); text-wrap: pretty; }
.pk-page-hero .pk-actions { margin-top: 30px; }
.pk-page-hero .pk-pull { margin: 0 0 6px; }
.pk-page-hero .pk-pull p { font-size: clamp(1.625rem, 1.2rem + 1.1vw, 2.25rem); }

.pk-hero-photo { margin: 0; padding: 10px; border-radius: 3px; background: #fff; box-shadow: var(--pk-paper-shadow); transform: rotate(1.2deg); }
.pk-hero-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 28%; }
.pk-hero-photo figcaption { padding: 12px 4px 4px; font-size: 14px; color: var(--pk-ink-2); }

/* číslované kroky (skutečné pořadí) */
.pk-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin: 0; padding: 0; list-style: none; counter-reset: pkstep; }
.pk-steps li { counter-increment: pkstep; padding-top: 18px; border-top: 2px solid var(--pk-ink); }
.pk-steps li::before { content: counter(pkstep); display: block; margin-bottom: 18px; font: 600 3rem/1 var(--pk-font); letter-spacing: -.04em; }
.pk-steps h3 { margin: 0; font: 600 21px/1.25 var(--pk-font); letter-spacing: -.015em; }
.pk-steps p { margin: 8px 0 0; font-size: 16px; line-height: 1.55; color: var(--pk-ink-2); }
.pk-steps--stack { grid-template-columns: minmax(0, 1fr); gap: 0; }
.pk-steps--stack li { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: baseline; padding: 14px 0; border-top: 1px solid var(--pk-rule); }
.pk-steps--stack li::before { margin: 0; font-size: 1.75rem; }
.pk-steps--stack p { margin: 0; color: var(--pk-ink); font-size: 17px; }

/* sloupce s tématy (principy, rozsah) */
.pk-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 32px; margin: 0; padding: 0; list-style: none; }

.pk-cols li { padding-top: 18px; border-top: 2px solid var(--pk-ink); }
.pk-cols h3 { margin: 0; font: 600 22px/1.2 var(--pk-font); letter-spacing: -.02em; }
.pk-cols p { margin: 10px 0 0; font-size: 16px; line-height: 1.55; color: var(--pk-ink-2); }
.pk-sec--ink .pk-cols li { border-top-color: var(--pk-on-ink-rule); }
.pk-sec--ink .pk-cols h3 { color: #fff; }
.pk-sec--ink .pk-cols p { color: var(--pk-on-ink-2); }

/* list papíru s pořadím (prioritizace) */
.pk-split--center { align-items: center; }

/* formulář poptávky */
.pk-form-wrap { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px 56px; align-items: start; }
.pk-form { padding: clamp(24px, 3vw, 40px); border-radius: 3px; background: var(--pk-sheet); box-shadow: var(--pk-paper-shadow); }
.pk-form fieldset { min-width: 0; margin: 0 0 30px; padding: 0; border: 0; }
.pk-form legend { display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: baseline; width: 100%; margin: 0 0 16px; padding: 0 0 12px; border-bottom: 2px solid var(--pk-ink); }
.pk-form legend span { font-size: 20px; font-weight: 700; }
.pk-form legend strong { font-size: 20px; font-weight: 600; }
.pk-form legend small { grid-column: 2; font-size: 14px; color: var(--pk-ink-2); }
.pk-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
.pk-field { display: grid; gap: 7px; }
.pk-field--wide { grid-column: 1 / -1; }
.pk-field > span { font-size: 15px; font-weight: 600; }
.pk-field > span small { margin-left: 6px; font-weight: 400; color: var(--pk-ink-2); }
.pk-field input, .pk-field select, .pk-field textarea {
  width: 100%; min-height: 52px; padding: 12px 15px; border: 0; border-radius: 10px; background: var(--pk-paper);
  color: var(--pk-ink); font: 400 16px/1.4 var(--pk-font); box-shadow: inset 0 0 0 1.5px var(--pk-rule);
  transition: box-shadow .18s, background-color .18s; -webkit-appearance: none; appearance: none;
}
.pk-field select {
  padding-right: 44px; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, var(--pk-ink) 50%), linear-gradient(135deg, var(--pk-ink) 50%, transparent 50%);
  background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; background-size: 6px 6px; background-repeat: no-repeat;
}
.pk-field textarea { min-height: 140px; resize: vertical; }
.pk-field input::placeholder, .pk-field textarea::placeholder { color: #8A938E; }
.pk-field input:focus, .pk-field select:focus, .pk-field textarea:focus { outline: 0; background-color: #fff; box-shadow: inset 0 0 0 2px var(--pk-ink); }
.pk-field input:user-invalid, .pk-field textarea:user-invalid { box-shadow: inset 0 0 0 2px #B42318; }
.pk-honey { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.pk-form-submit { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.pk-form-submit p { margin: 0; font-size: 15px; color: var(--pk-ink-2); }
.pk-form button[type="submit"] { border: 0; cursor: pointer; }
.pk-form button[type="submit"]:disabled { opacity: .6; cursor: progress; transform: none; }
.pk-form-privacy { margin: 18px 0 0; font-size: 14px; line-height: 1.5; color: var(--pk-ink-2); }
.pk-form-privacy a { color: var(--pk-ink); text-decoration: underline; text-underline-offset: 3px; }
.form-status:empty { display: none; }
.form-status { margin: 16px 0 0; padding: 12px 14px; border-radius: 10px; font-size: 15px; line-height: 1.5; }
.form-status.is-error { background: #FDECEC; color: #912018; }
.pk-side { display: grid; gap: 24px; }

.pk-side-next h2 { margin: 0 0 6px; font: 600 22px/1.2 var(--pk-font); letter-spacing: -.02em; }

/* právní text */
.pk-prose { max-width: 72ch; }
.pk-prose h2 { margin: 48px 0 12px; font: 600 clamp(1.375rem, 1.2rem + .5vw, 1.75rem)/1.25 var(--pk-font); letter-spacing: -.02em; }
.pk-prose h2:first-child { margin-top: 0; }
.pk-prose p, .pk-prose li { font-size: 17px; line-height: 1.7; color: #2B3531; }
.pk-prose p { margin: 0 0 14px; }
.pk-prose ul { margin: 0 0 14px; padding-left: 22px; }
.pk-prose a { color: var(--pk-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pk-prose .pk-inline-btn { padding: 0; border: 0; background: none; color: var(--pk-ink); font: 600 17px var(--pk-font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

@media (max-width: 1100px) {

  .pk-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1060px) {
  .pk-page-hero-grid, .pk-form-wrap { grid-template-columns: minmax(0, 1fr); }
  .pk-hero-photo { max-width: 460px; transform: none; }

  
}
@media (max-width: 900px) {
  .pk-cols { grid-template-columns: minmax(0, 1fr); gap: 28px; }

  

  

}
@media (max-width: 640px) {
  .pk-page-hero { padding: calc(68px + 36px) 0 48px; }
  .pk-steps { grid-template-columns: minmax(0, 1fr); }

  .pk-fields { grid-template-columns: minmax(0, 1fr); }
  .pk-form-submit .pk-btn { width: 100%; }

  

}

/* ── Kontakt ── */
.pk-contact-hero .pk-page-hero-grid { align-items: center; }
.pk-contact-hero .pk-byline { margin-top: 34px; }
.pk-contact-hero .pk-byline p { max-width: 42ch; }
.pk-direct { padding: 28px 30px 26px; border-radius: 3px; background: var(--pk-sheet); box-shadow: var(--pk-paper-shadow); transform: rotate(1.2deg); }
.pk-direct h2 { margin: 0 0 6px; font: 600 20px/1.2 var(--pk-font); }
.pk-direct-link { display: block; padding: 14px 0; border-bottom: 1px solid var(--pk-rule); color: var(--pk-ink); }
.pk-direct-link > span { display: block; margin-bottom: 4px; font-size: 14px; font-weight: 500; color: var(--pk-ink-2); }
.pk-direct-link b {
  font: 600 clamp(1.375rem, 1.1rem + .9vw, 2rem)/1.2 var(--pk-font); letter-spacing: -.02em; white-space: nowrap;
  padding: 0 .1em; margin: 0 -.1em; background: var(--pk-marker) no-repeat 0 0 / 0% 100%; transition: background-size .35s cubic-bezier(.6,0,.2,1);
}
.pk-direct-link:hover b, .pk-direct-link:focus-visible b { background-size: 100% 100%; }
.pk-direct p { margin: 16px 0 0; font-size: 15px; line-height: 1.5; color: var(--pk-ink-2); }

.pk-sec--form { padding-top: 0; }
.pk-sec .pk-form-title { margin: 0; font: 600 clamp(1.875rem, 1.3rem + 1.4vw, 2.75rem)/1.05 var(--pk-font); letter-spacing: -.035em; }
.pk-form-intro { margin: 10px 0 30px; max-width: 56ch; font-size: 16px; line-height: 1.55; color: var(--pk-ink-2); }
.pk-form .form-status { margin: -10px 0 26px; }
.pk-form fieldset { margin-bottom: 34px; }
.pk-form fieldset > .pk-field + .pk-field { margin-top: 22px; }
.pk-field > span em { font-style: normal; color: var(--pk-ink-2); }
.pk-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pk-chip-opt { position: relative; }
.pk-chip-opt input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.pk-chip-opt > span {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; cursor: pointer;
  background: var(--pk-paper); box-shadow: inset 0 0 0 1.5px var(--pk-rule); font-size: 15px; font-weight: 500; line-height: 1.25;
  transition: background-color .18s, box-shadow .18s, transform .18s;
}
.pk-chip-opt:hover input:not(:checked) + span { box-shadow: inset 0 0 0 1.5px var(--pk-ink-3); }
/* zvolená volba se pozná jen barvou: stejná šířka, řádek se nepřeskládá */
.pk-chip-opt input:checked + span { background: var(--pk-lime); box-shadow: inset 0 0 0 1.5px rgba(16,25,23,.22); }
.pk-chip-opt input:focus-visible + span { outline: 3px solid var(--pk-ink); outline-offset: 2px; }
.pk-chip-opt:active > span { transform: scale(.97); }
.pk-form-submit { margin-top: 6px; padding-top: 24px; border-top: 1px solid var(--pk-rule); }
.pk-form-wrap > .pk-side { position: sticky; top: 100px; }
.pk-side { gap: 36px; }
.pk-side-next h2 { margin: 0 0 12px; }
.pk-side-price { padding-top: 20px; border-top: 2px solid var(--pk-ink); }
.pk-side-price p { margin: 0 0 16px; font-size: 16px; line-height: 1.6; color: var(--pk-ink-2); }
.pk-side-price strong { display: block; margin-bottom: 4px; font-size: 17px; color: var(--pk-ink); }
@media (max-width: 1060px) {
  .pk-direct { transform: none; max-width: 520px; }
  .pk-form-wrap > .pk-side { position: static; }
  .pk-form, .pk-side { max-width: 760px; }
}
@media (max-width: 640px) {
  .pk-direct { padding: 20px 20px 18px; }
  .pk-chip-opt > span { min-height: 42px; padding: 0 14px; font-size: 14.5px; }
}

/* ── Poptávka jako průvodce ve třech krocích (bez JS se ukáže celá) ── */
.pk-form-head { margin-bottom: 26px; }
.pk-form-head .pk-form-intro { margin-bottom: 0; }
.pk-progress { display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 24px 0 0; padding: 0; list-style: none; counter-reset: pkprog; }
.pk-form.is-stepped .pk-progress { display: grid; }
.pk-progress li { counter-increment: pkprog; padding-top: 10px; border-top: 4px solid var(--pk-rule); font-size: 14px; font-weight: 500; color: var(--pk-ink-2); transition: border-color .3s, color .3s; }
.pk-progress li::before { content: counter(pkprog) ". "; }
.pk-progress li.is-done { border-top-color: var(--pk-ink); color: var(--pk-ink); }
.pk-progress li.is-current { border-top-color: var(--pk-lime); color: var(--pk-ink); font-weight: 700; }
.pk-step { min-width: 0; margin: 0 0 40px; padding: 0; border: 0; }
.pk-form.is-stepped .pk-step { margin-bottom: 0; }
.pk-form.is-stepped .pk-step:not(.is-active) { display: none; }
.pk-step-title { margin: 0; font: 600 clamp(1.375rem, 1.15rem + .6vw, 1.75rem)/1.2 var(--pk-font); letter-spacing: -.02em; }
body.pk .pk-step-title:focus, body.pk .pk-step-title:focus-visible { outline: none; }
.pk-step-hint { margin: 6px 0 20px; font-size: 15px; line-height: 1.5; color: var(--pk-ink-2); }
.pk-step-picked { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 8px 0 20px; font-size: 15px; color: var(--pk-ink-2); }
.pk-step-picked strong { color: var(--pk-ink); }
.pk-step .pk-field + .pk-field, .pk-step .pk-field + .pk-fields, .pk-step .pk-fields + .pk-field { margin-top: 20px; }
.pk-step > .pk-field:first-of-type { margin-top: 0; }
.pk-step-nav { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--pk-rule); }
.pk-form:not(.is-stepped) [data-next], .pk-form:not(.is-stepped) [data-prev] { display: none; }
.pk-textbtn { min-height: 44px; padding: 0 2px; border: 0; background: none; color: var(--pk-ink); font: 600 16px var(--pk-font); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.pk-textbtn:hover { text-decoration-thickness: 2px; }
.pk-step-picked .pk-textbtn { min-height: 0; font-size: 15px; }

/* dlaždice témat */
.pk-topics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pk-topic {
  position: relative; display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 12px; align-items: start;
  padding: 14px 16px; border-radius: 12px; background: var(--pk-paper); box-shadow: inset 0 0 0 1.5px var(--pk-rule); cursor: pointer;
  transition: box-shadow .18s, background-color .18s, transform .18s;
}
.pk-topic:hover { box-shadow: inset 0 0 0 1.5px var(--pk-ink-3); }
.pk-topic:active { transform: scale(.985); }
.pk-topic input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.pk-topic-mark { display: grid; place-items: center; width: 24px; height: 24px; margin-top: 1px; border: 2px solid var(--pk-ink); border-radius: 50%; background: var(--pk-sheet); transition: background-color .2s; }
.pk-topic-mark svg { width: 15px; height: 15px; fill: none; stroke: var(--pk-ink); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 22; stroke-dashoffset: 22; transition: stroke-dashoffset .3s cubic-bezier(.6,0,.2,1); }
.pk-topic-txt b { display: block; font-size: 16px; font-weight: 600; line-height: 1.3; }
.pk-topic-txt small { display: block; margin-top: 2px; font-size: 14px; line-height: 1.4; color: var(--pk-ink-2); }
.pk-topic:has(input:checked) { background: var(--pk-sheet); box-shadow: inset 0 0 0 2px var(--pk-ink); }
.pk-topic input:checked + .pk-topic-mark { background: var(--pk-lime); }
.pk-topic input:checked + .pk-topic-mark svg { stroke-dashoffset: 0; }
.pk-topic input:focus-visible + .pk-topic-mark { outline: 3px solid var(--pk-ink); outline-offset: 3px; }

/* chyby u polí */
.pk-err { font-size: 14px; font-weight: 500; line-height: 1.4; color: #B42318; }
.pk-field [aria-invalid="true"] { box-shadow: inset 0 0 0 2px #B42318; }
@media (prefers-reduced-motion: no-preference) {
  .pk-form.is-stepped .pk-step.is-active { animation: pk-step-in .4s cubic-bezier(.2,.8,.2,1) both; }
}
@keyframes pk-step-in { from { opacity: 0; translate: 12px 0; } }
@media (max-width: 640px) {
  .pk-topics { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .pk-topic { padding: 12px 14px; }
  .pk-step-nav .pk-btn { flex: 1; }
  /* první krok: tlačítko Pokračovat zůstává po ruce u spodního okraje */
  .pk-form.is-stepped .pk-step[data-step="1"] .pk-step-nav {
    position: sticky; bottom: 0; z-index: 2; margin: 20px -24px 0; padding: 14px 24px calc(14px + env(safe-area-inset-bottom));
    background: var(--pk-sheet); border-top: 1px solid var(--pk-rule); box-shadow: 0 -12px 24px -18px rgba(16,25,23,.35);
  }
  .pk-progress li { font-size: 13px; }
}

/* ── O mně ── */
.pk-sec--flush { padding-top: 0; }
.pk-about-hero .pk-page-hero-grid { align-items: center; }
.pk-about-hero .pk-hero-photo { position: relative; justify-self: end; width: min(100%, 420px); }
.pk-about-hero .pk-sticker { top: -14px; right: 22px; }
/* cesta: linka se při scrollu dotahuje a milníky přejede fix */
.pk-journey { --p: 1; position: relative; margin: 0; padding: 4px 0 0 48px; list-style: none; }
.pk-journey::before, .pk-journey::after { content: ""; position: absolute; left: 11px; top: 12px; width: 2px; }
.pk-journey::before { bottom: 12px; background: var(--pk-rule); }
.pk-journey::after { height: calc((100% - 24px) * var(--p)); background: var(--pk-ink); }
.pk-journey li { position: relative; padding-bottom: 46px; }
.pk-journey li:last-child { padding-bottom: 0; }
.pk-journey li::before {
  content: ""; position: absolute; z-index: 1; left: -48px; top: 6px; width: 24px; height: 24px; border-radius: 50%;
  background: var(--pk-paper-2); box-shadow: inset 0 0 0 2px var(--pk-ink); transition: background-color .3s ease;
}
.pk-journey li.is-reached::before, .pk-journey:not(.is-armed) li::before { background: var(--pk-lime); }
.pk-journey-when { margin: 0 0 8px; font: 600 clamp(1.625rem, 1.2rem + 1.2vw, 2.5rem)/1.1 var(--pk-font); letter-spacing: -.035em; }
.pk-journey-when mark { background-repeat: no-repeat; background-size: 100% 100%; transition: background-size .6s cubic-bezier(.6,0,.2,1); }
.pk-journey.is-armed li:not(.is-reached) .pk-journey-when mark { background-size: 0% 100%; }
.pk-journey h3 { margin: 0; font: 600 21px/1.25 var(--pk-font); letter-spacing: -.015em; }
.pk-journey li > p:not(.pk-journey-when) { margin: 8px 0 0; max-width: 52ch; font-size: 16px; line-height: 1.55; color: var(--pk-ink-2); }
@media (max-width: 1060px) {
  .pk-about-hero .pk-hero-photo { justify-self: start; }
}
@media (max-width: 640px) {
  .pk-about-hero .pk-hero-photo img { aspect-ratio: 1 / 1; object-position: 50% 20%; }
  .pk-journey { padding-left: 40px; }
  .pk-journey li::before { left: -40px; }
  .pk-journey li { padding-bottom: 36px; }
}

/* O mně: rozevřený zápisník „z obou stran stolu“ */
.pk-spread { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: 3px; background: var(--pk-sheet); box-shadow: var(--pk-paper-shadow); }
.pk-spread-page { padding: clamp(28px, 4vw, 56px) clamp(24px, 4vw, 56px) clamp(24px, 3vw, 36px); }
.pk-spread-page:first-child { background: linear-gradient(90deg, transparent 72%, rgba(16,25,23,.05)); box-shadow: inset -1px 0 0 rgba(16,25,23,.1); }
.pk-spread-page:nth-child(2) { background: linear-gradient(270deg, transparent 72%, rgba(16,25,23,.05)); }
.pk-spread-label { display: inline-block; margin: 0 0 16px; padding: 4px 12px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--pk-ink); font-size: 14px; font-weight: 600; }
.pk-spread-page h3 { margin: 0; font: 600 clamp(1.625rem, 1.2rem + 1.2vw, 2.375rem)/1.1 var(--pk-font); letter-spacing: -.03em; }
.pk-spread-page > p:not(.pk-spread-label) { margin: 16px 0 0; max-width: 44ch; font-size: 18px; line-height: 1.6; color: var(--pk-ink-2); }
.pk-spread-page a { color: var(--pk-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pk-spread-foot {
  grid-column: 1 / -1; margin: 0 clamp(24px, 4vw, 56px); padding: 26px 0 clamp(28px, 4vw, 48px); border-top: 2px solid var(--pk-ink);
  font: 600 clamp(1.25rem, 1.05rem + .7vw, 1.75rem)/1.4 var(--pk-font); letter-spacing: -.015em; text-wrap: balance;
}
.pk-spread-foot mark { background-repeat: no-repeat; background-size: 100% 100%; transition: background-size .7s cubic-bezier(.6,0,.2,1) .45s; }

/* Méně divadla: škrtnout divadlo, zvýraznit, co místo něj */
.pk-vs { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--pk-ink); }
.pk-vs li { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 14px 64px; align-items: center; padding: 34px 0; border-bottom: 1px solid var(--pk-rule); }
.pk-vs-no { margin: 0; font: 600 clamp(2rem, 1.2rem + 2.4vw, 3.5rem)/1.08 var(--pk-font); letter-spacing: -.04em; color: var(--pk-ink-3); text-wrap: balance; }
.pk-vs-no s {
  text-decoration: none; padding: 0 .04em; margin: 0 -.04em; -webkit-box-decoration-break: clone; box-decoration-break: clone;
  background: linear-gradient(var(--pk-ink), var(--pk-ink)) no-repeat 0 60% / 100% .075em;
  transition: background-size .55s cubic-bezier(.6,0,.2,1) .15s;
}
.pk-vs-label { margin: 0 0 6px; font-size: 14px; font-weight: 600; color: var(--pk-ink-2); }
.pk-vs-yes h3 {
  display: inline; margin: 0; padding: 0 .12em; margin-left: -.12em; font: 600 clamp(1.375rem, 1.15rem + .6vw, 1.75rem)/1.35 var(--pk-font); letter-spacing: -.02em;
  -webkit-box-decoration-break: clone; box-decoration-break: clone; background: var(--pk-marker) no-repeat 0 0 / 100% 100%;
  transition: background-size .55s cubic-bezier(.6,0,.2,1) .7s;
}
.pk-vs-yes > p:last-child { margin: 10px 0 0; font-size: 16px; line-height: 1.55; color: var(--pk-ink-2); }

/* konec stránky jako osobní dopis */
.pk-letter-sec { padding: clamp(72px, 10vw, 136px) 0; background: var(--pk-lime); }
.pk-letter { max-width: 720px; margin: 0 auto; padding: clamp(30px, 5vw, 64px); border-radius: 3px; background: var(--pk-sheet); box-shadow: 0 40px 80px -40px rgba(16,25,23,.5); transform: rotate(-.6deg); }
.pk-letter h2 { margin: 0 0 22px; font: 600 clamp(2rem, 1.3rem + 2vw, 3.25rem)/1.05 var(--pk-font); letter-spacing: -.04em; }
.pk-letter > p { margin: 0 0 16px; font-size: 18px; line-height: 1.65; color: #2B3531; }
.pk-letter .pk-pull { margin: 26px 0; }
.pk-letter-sign { display: flex; align-items: center; gap: 14px; margin-top: 30px; }
.pk-letter-sign img { flex: none; width: 56px; height: 56px; border-radius: 50%; object-fit: cover; object-position: 50% 22%; }
.pk-letter-sign p { margin: 0; font-size: 15px; color: var(--pk-ink-2); }
.pk-sign { display: block; margin-bottom: 2px; font: italic 400 2rem/1.1 var(--pk-serif); color: var(--pk-ink); }
.pk-letter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--pk-rule); }
.pk-letter-actions p { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; font-size: 16px; }
.pk-letter-actions p a { color: var(--pk-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pk-letter :focus-visible { outline-color: var(--pk-ink); }

@media (max-width: 860px) {
  .pk-spread { grid-template-columns: minmax(0, 1fr); }
  .pk-spread-page:first-child { background: none; box-shadow: inset 0 -1px 0 rgba(16,25,23,.1); }
  .pk-spread-page:nth-child(2) { background: none; }
  .pk-vs li { grid-template-columns: minmax(0, 1fr); padding: 26px 0; }
  .pk-letter { transform: none; }
}
@media (max-width: 560px) {
  .pk-letter-actions .pk-btn { width: 100%; }
  .pk-spread-page > p:not(.pk-spread-label), .pk-letter > p { font-size: 17px; }
}
@media (prefers-reduced-motion: no-preference) {
  .pk-spread.pk-r .pk-spread-foot mark { background-size: 0% 100%; }
  .pk-spread.pk-r.is-in .pk-spread-foot mark { background-size: 100% 100%; }
  .pk-vs li.pk-r .pk-vs-no s { background-size: 0% .075em; }
  .pk-vs li.pk-r .pk-vs-yes h3 { background-size: 0% 100%; }
  .pk-vs li.pk-r.is-in .pk-vs-no s { background-size: 100% .075em; }
  .pk-vs li.pk-r.is-in .pk-vs-yes h3 { background-size: 100% 100%; }
}

/* ── Služby ── */
/* deska s nástroji: cíl vybere, co dává smysl */
.pk-svc-hero .pk-page-hero-grid { align-items: center; }
.pk-toolbox { margin: 0; padding: 26px 26px 22px; border-radius: 3px; background: var(--pk-sheet); box-shadow: var(--pk-paper-shadow); transform: rotate(1deg); }
.pk-toolbox-title { margin: 0 0 12px; font: 600 20px/1.2 var(--pk-font); }
.pk-toolbox:not(.is-armed) .pk-toolbox-head { display: none; }
.pk-goals { display: flex; flex-wrap: wrap; gap: 8px; }
.pk-goals button {
  min-height: 40px; padding: 0 14px; border: 0; border-radius: 999px; cursor: pointer;
  background: transparent; box-shadow: inset 0 0 0 1.5px var(--pk-ink); color: var(--pk-ink); font: 600 14.5px var(--pk-font);
  transition: background-color .2s, color .2s, transform .2s;
}
.pk-goals button:hover { background: var(--pk-paper-2); }
.pk-goals button:active { transform: scale(.97); }
.pk-goals button[aria-pressed="true"] { background: var(--pk-ink); color: #fff; }
.pk-tools { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 18px 0 0; border-top: 1px solid var(--pk-rule); list-style: none; }
.pk-toolbox:not(.is-armed) .pk-tools { margin-top: 0; padding-top: 0; border-top: 0; }
.pk-tools li {
  padding: 6px 12px; border-radius: 4px; background: var(--pk-paper-2); font-size: 14px; font-weight: 600; line-height: 1.3;
  transform: rotate(var(--r, 0deg));
  transition: background-color .35s ease var(--d, 0ms), opacity .35s ease, transform .35s cubic-bezier(.2,.8,.2,1) var(--d, 0ms), box-shadow .35s;
}
.pk-tools li:nth-child(3n) { --r: -2deg; }
.pk-tools li:nth-child(3n+1) { --r: 1.5deg; }
.pk-tools li:nth-child(5n+2) { --r: -1deg; }
.pk-toolbox.has-goal .pk-tools li { opacity: .3; }
.pk-toolbox.has-goal .pk-tools li.is-match { opacity: 1; background: var(--pk-lime); box-shadow: inset 0 0 0 1.5px rgba(16,25,23,.18); transform: rotate(0deg) scale(1.05); }
.pk-toolbox-note { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--pk-rule); font-size: 16px; line-height: 1.5; color: var(--pk-ink-2); }
.pk-toolbox-note strong { color: var(--pk-ink); }
.pk-toolbox-note .pk-link { margin-left: 6px; }

/* kartotéka služeb */
.pk-files { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 60px 28px; margin: 0; padding: 26px 0 0; list-style: none; }
.pk-file {
  position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 28px 28px 26px;
  border-radius: 6px; background: var(--pk-sheet); box-shadow: 0 1px 1px rgba(16,25,23,.06), 0 22px 40px -30px rgba(16,25,23,.4);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
}
.pk-file-tab {
  position: absolute; bottom: calc(100% - 1px); left: calc(18px + var(--tab) * 31%); padding: 7px 16px 6px; border-radius: 7px 7px 0 0;
  background: var(--pk-sheet); box-shadow: 0 -2px 3px -1px rgba(16,25,23,.06); font-size: 13px; font-weight: 700; transition: background-color .25s;
}
.pk-file:hover { transform: translateY(-4px); box-shadow: 0 1px 1px rgba(16,25,23,.06), 0 34px 56px -30px rgba(16,25,23,.45); }
.pk-file:hover .pk-file-tab, .pk-file:focus-within .pk-file-tab { background: var(--pk-lime); }
.pk-file h3 { margin: 0; font: 600 22px/1.2 var(--pk-font); letter-spacing: -.02em; }
.pk-file p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--pk-ink-2); }
.pk-file .pk-file-tags { font-size: 14px; font-weight: 500; color: var(--pk-ink); }
.pk-file .pk-link { margin-top: auto; padding-top: 4px; }
.pk-file-more { font-size: 15px; font-weight: 600; color: var(--pk-ink); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.pk-file-more:hover { color: var(--pk-ink); text-decoration-thickness: 2.5px; }

/* ceník jako účtenka */
.pk-receipt {
  position: relative; justify-self: center; width: min(100%, 500px); margin: 0 0 24px; padding: 30px 30px 32px;
  background: var(--pk-sheet); filter: drop-shadow(0 20px 26px rgba(16,25,23,.16)); transform: rotate(1deg);
}
.pk-receipt::after {
  content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 12px;
  background: linear-gradient(135deg, var(--pk-sheet) 50%, transparent 50%) 0 0 / 16px 12px repeat-x,
              linear-gradient(225deg, var(--pk-sheet) 50%, transparent 50%) 0 0 / 16px 12px repeat-x;
}
.pk-receipt-head { display: grid; justify-items: center; gap: 4px; padding-bottom: 18px; border-bottom: 2px dashed var(--pk-rule); text-align: center; }
.pk-receipt-head strong { font: 700 22px/1.2 var(--pk-font); }
.pk-receipt-head span { font-size: 14px; color: var(--pk-ink-2); }
.pk-receipt-items { margin: 0; padding: 4px 0 0; list-style: none; }
.pk-receipt-items li { display: grid; grid-template-columns: auto minmax(16px, 1fr) auto; align-items: baseline; gap: 0 8px; padding: 14px 0 12px; border-bottom: 1px dashed var(--pk-rule); }
.pk-ri-name { font-size: 17px; font-weight: 600; }
.pk-ri-dots { align-self: end; margin-bottom: 6px; border-bottom: 2px dotted var(--pk-ink-3); }
.pk-receipt-items strong { font-size: 17px; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pk-receipt-items strong small { font-size: 13px; font-weight: 500; color: var(--pk-ink-2); }
.pk-ri-desc { grid-column: 1 / -1; margin-top: 4px; font-size: 14px; line-height: 1.45; color: var(--pk-ink-2); }
.pk-receipt-foot { display: grid; justify-items: center; gap: 14px; margin-top: 22px; text-align: center; }
.pk-receipt-foot p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--pk-ink-2); }
.pk-receipt-foot strong { color: var(--pk-ink); }

/* schody spolupráce */
.pk-stairs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 12px; margin: 0; padding: 0; list-style: none; }
.pk-stairs li { display: flex; flex-direction: column; min-height: calc(150px + var(--s) * 60px); padding: 22px 22px 20px; border-radius: 3px; background: var(--pk-sheet); color: var(--pk-ink); }
.pk-stairs li:last-child { background: var(--pk-lime); }
.pk-stairs h3 { margin: 0; font: 600 21px/1.2 var(--pk-font); letter-spacing: -.015em; color: var(--pk-ink); }
.pk-stairs p { margin: 8px 0 0; font-size: 15px; line-height: 1.5; color: var(--pk-ink-2); }
.pk-stairs strong { margin-top: auto; padding-top: 16px; font: 600 clamp(1.375rem, 1.1rem + .8vw, 1.875rem)/1.1 var(--pk-font); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.pk-stairs strong small { font-size: 14px; font-weight: 500; letter-spacing: 0; color: var(--pk-ink-2); }
.pk-stairs-cta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 18px 32px; margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--pk-on-ink-rule); }
.pk-stairs-cta p { margin: 0; max-width: 56ch; font-size: 18px; line-height: 1.55; color: var(--pk-on-ink); }

@media (max-width: 1060px) {
  .pk-toolbox { transform: none; max-width: 620px; }
  .pk-files { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pk-receipt { justify-self: start; }
}
@media (max-width: 760px) {
  .pk-stairs { grid-template-columns: minmax(0, 1fr); gap: 10px; align-items: start; }
  .pk-stairs li { min-height: 0; width: calc(52% + var(--s) * 12%); }
}
@media (max-width: 640px) {
  .pk-files { grid-template-columns: minmax(0, 1fr); gap: 50px; }
  .pk-toolbox { padding: 20px 18px 18px; }
  .pk-receipt { padding: 24px 20px 26px; transform: none; }
  .pk-stairs li { padding: 18px; }
  .pk-stairs-cta .pk-btn { width: 100%; }
}
@media (prefers-reduced-motion: no-preference) {
  /* účtenka se vytiskne, schody vyrostou */
  .pk-receipt.pk-r { opacity: 1; translate: 0 0; clip-path: inset(-40px -40px 100% -40px); transition: clip-path 1.1s cubic-bezier(.45,0,.2,1); }
  .pk-receipt.pk-r.is-in { clip-path: inset(-40px -40px -40px -40px); }
  .pk-stairs li.pk-r { opacity: 1; translate: 0 0; clip-path: inset(100% 0 0 0); transition: clip-path .7s cubic-bezier(.3,.7,.2,1) var(--rd, 0s); }
  .pk-stairs li.pk-r.is-in { clip-path: inset(0 0 0 0); }
}

/* ── S čím pomáhám ── */
/* úvod: marketing se škrtne, výsledek se zvýrazní */
.pk-help-hero .pk-page-hero-grid { align-items: end; row-gap: clamp(28px, 3vw, 44px); }
.pk-help-hero h1 { grid-column: 1 / -1; }
.pk-h-line { display: block; }
.pk-help-hero .pk-page-lead { margin-top: 0; }
.pk-h-strike {
  color: var(--pk-ink-3);
  background: linear-gradient(var(--pk-ink), var(--pk-ink)) no-repeat 0 58% / 100% .075em;
}
.pk-help-quote { justify-self: end; max-width: 30ch; }

/* nástěnka se situacemi */
.pk-board { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 26px; margin: 0; padding: 14px 0 0; list-style: none; }
.pk-sticky {
  position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-height: 100%;
  padding: 32px 24px 22px; border-radius: 2px; background: var(--pk-sheet);
  box-shadow: 0 1px 1px rgba(16,25,23,.07), 0 18px 30px -22px rgba(16,25,23,.42);
  transform: rotate(var(--r, 0deg)); transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
}
.pk-sticky::before {
  content: ""; position: absolute; top: -13px; left: 50%; width: 92px; height: 26px; margin-left: -46px;
  background: rgba(216, 255, 62, .78); box-shadow: 0 1px 2px rgba(16,25,23,.1);
  transform: rotate(var(--t, -3deg)); pointer-events: none;
}
.pk-sticky:nth-child(4n+1) { --r: -1.2deg; --t: -4deg; }
.pk-sticky:nth-child(4n+2) { --r: .8deg; --t: 3deg; }
.pk-sticky:nth-child(4n+3) { --r: -.4deg; --t: -2deg; }
.pk-sticky:nth-child(4n+4) { --r: 1.1deg; --t: 4deg; }
.pk-sticky-tag { margin: 0; font-size: 14px; font-weight: 600; color: var(--pk-ink-2); }
.pk-sticky h3 { margin: 0; font: 600 clamp(1.25rem, 1.05rem + .5vw, 1.5rem)/1.15 var(--pk-font); letter-spacing: -.025em; text-wrap: balance; }
.pk-sticky > p:not(.pk-sticky-tag) { margin: 0; font-size: 16px; line-height: 1.55; color: var(--pk-ink-2); }
.pk-sticky-go {
  margin-top: auto; padding-top: 8px; color: var(--pk-ink); font-weight: 600;
  text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px;
  background: var(--pk-marker) no-repeat 0 100% / 0% 100%; transition: background-size .35s cubic-bezier(.6,0,.2,1);
}
.pk-sticky-go::after { content: ""; position: absolute; inset: 0; }
.pk-sticky-go:focus-visible { outline: 0; }
.pk-sticky:has(.pk-sticky-go:focus-visible) { outline: 3px solid var(--pk-ink); outline-offset: 4px; }
.pk-sticky:hover, .pk-sticky:focus-within { transform: rotate(0) translateY(-6px); box-shadow: 0 1px 1px rgba(16,25,23,.07), 0 34px 50px -28px rgba(16,25,23,.45); }
.pk-sticky:hover .pk-sticky-go, .pk-sticky:focus-within .pk-sticky-go { background-size: 100% 100%; text-decoration-color: transparent; }

/* pořadí na tmavém: velká čísla */
body.pk .pk-prio-head mark { color: var(--pk-ink); }
.pk-sec--ink .pk-split-head p { color: var(--pk-on-ink-2); }
.pk-bignum { margin: 0; padding: 0; list-style: none; counter-reset: pkbig; border-top: 1px solid var(--pk-on-ink-rule); }
.pk-bignum li {
  counter-increment: pkbig; display: grid; grid-template-columns: clamp(64px, 4rem + 3vw, 128px) minmax(0, 1fr); align-items: center; gap: 12px 24px;
  padding: clamp(18px, 2vw, 26px) 0; border-bottom: 1px solid var(--pk-on-ink-rule);
  font: 500 clamp(1.25rem, 1rem + .9vw, 1.875rem)/1.2 var(--pk-font); letter-spacing: -.02em; color: #fff; text-wrap: balance;
}
.pk-bignum li::before { content: counter(pkbig); font: 700 clamp(3.5rem, 2.4rem + 3.6vw, 6.5rem)/.8 var(--pk-font); letter-spacing: -.06em; color: var(--pk-lime); font-variant-numeric: tabular-nums; }
/* co řešit nemusíte: číslo potlačené, mimo pořadí */
.pk-bignum li:last-child { color: var(--pk-on-ink-2); }
.pk-bignum li:last-child::before { color: rgba(238, 242, 236, .24); }

/* ukázka první domluvy */
.pk-chat { display: grid; gap: 18px; padding: clamp(20px, 2.4vw, 30px); border-radius: 22px; background: var(--pk-sheet); box-shadow: var(--pk-paper-shadow); }
.pk-chat-meta { display: flex; align-items: center; gap: 12px; margin: 0; padding-bottom: 16px; border-bottom: 1px solid var(--pk-rule); font-size: 14px; color: var(--pk-ink-2); }
.pk-chat-meta img { flex: none; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; object-position: 50% 22%; }
.pk-chat-meta b { display: block; font-size: 16px; font-weight: 600; color: var(--pk-ink); }
.pk-chat-list { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.pk-msg { display: grid; gap: 6px; max-width: min(84%, 440px); }
.pk-msg--you { justify-self: end; justify-items: end; }
.pk-msg--me { justify-self: start; justify-items: start; }
.pk-msg-step { margin: 0; padding: 0 6px; font-size: 13px; font-weight: 600; color: var(--pk-ink-2); }
.pk-msg-body { margin: 0; padding: 13px 17px; font-size: 16px; line-height: 1.5; color: var(--pk-ink); }
.pk-msg--you .pk-msg-body { border-radius: 18px 18px 4px 18px; background: var(--pk-paper-2); }
.pk-msg--me .pk-msg-body { border-radius: 18px 18px 18px 4px; background: var(--pk-lime); }
.pk-msg--me + .pk-msg--me .pk-msg-body { border-top-left-radius: 4px; }
.pk-chat-input {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 6px; padding: 6px 6px 6px 20px;
  border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--pk-rule); color: var(--pk-ink-2); font-size: 16px;
  transition: box-shadow .25s;
}
.pk-chat-input span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pk-chat-input b {
  flex: none; padding: 11px 20px; border-radius: 999px; background: var(--pk-ink); color: #fff; font-weight: 600;
  transition: background-color .25s, color .25s;
}
.pk-chat-input:hover, .pk-chat-input:focus-visible { box-shadow: inset 0 0 0 1.5px var(--pk-ink); color: var(--pk-ink); }
.pk-chat-input:hover b, .pk-chat-input:focus-visible b { background: var(--pk-lime); color: var(--pk-ink); }
.pk-chat-input:focus-visible { outline-offset: 4px; border-radius: 999px; }

@media (max-width: 1060px) {
  .pk-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pk-help-quote { justify-self: start; }
}
@media (max-width: 640px) {
  .pk-board { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .pk-sticky { padding: 28px 20px 20px; }
  .pk-sticky:nth-child(n) { --r: 0deg; }
  .pk-sticky:nth-child(odd) { --r: -.6deg; }
  .pk-sticky:nth-child(even) { --r: .5deg; }
  .pk-bignum li { grid-template-columns: 58px minmax(0, 1fr); gap: 10px 14px; }
  .pk-chat { padding: 18px 14px; border-radius: 18px; }
  .pk-msg { max-width: 92%; }
  .pk-chat-input { padding-left: 16px; font-size: 15px; }
  .pk-chat-input b { padding: 10px 16px; }
}
@media (max-width: 380px) {
  .pk-chat-input span { display: none; }
  .pk-chat-input { justify-content: center; padding-left: 6px; }
  .pk-chat-input b { flex: 1; text-align: center; }
}
@media (prefers-reduced-motion: no-preference) {
  /* nejdřív přeškrtnout, potom zvýraznit */
  .pk-h-strike { animation: pk-strike .5s cubic-bezier(.6,0,.2,1) .75s both; }
  .pk-h-mark { background-repeat: no-repeat; animation: pk-mark-in .6s cubic-bezier(.6,0,.2,1) 1.2s both; }
  /* lístky se přilepí */
  .pk-sticky.pk-r { translate: 0 0; transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s; }
  .pk-sticky.pk-r.is-in { animation: pk-stick .7s cubic-bezier(.3,1.3,.5,1) var(--rd, 0s) backwards; }
  /* zprávy přicházejí jedna po druhé */
  .pk-msg.pk-r { translate: 0 12px; transition: opacity .45s ease var(--rd, 0s), translate .55s cubic-bezier(.2,.8,.2,1) var(--rd, 0s); }
  .pk-chat-input:hover span::after { content: ""; display: inline-block; width: 2px; height: 1.05em; margin-left: 2px; vertical-align: -.15em; background: var(--pk-ink); animation: pk-caret 1s steps(1) infinite; }
}
@keyframes pk-strike { from { background-size: 0% .075em; } }
@keyframes pk-stick { from { opacity: 0; transform: translateY(14px) rotate(calc(var(--r, 0deg) * 4)) scale(.95); } }
@keyframes pk-caret { 50% { opacity: 0; } }

/* ── Reference ── */
/* úvod: výtisky rozložené na stole */
.pk-ref-hero .pk-page-hero-grid { align-items: center; }
.pk-fan { position: relative; justify-self: end; width: min(100%, 560px); aspect-ratio: 6 / 5; }
/* výtisk: odkaz drží polohu (stabilní plocha pro myš), karta uvnitř se zvedá */
.pk-print {
  position: absolute; left: 50%; top: 50%; width: 74%; aspect-ratio: 960 / 667; color: var(--pk-ink);
  transform: translate(-50%, -50%) translate(var(--x), var(--y)) rotate(var(--r));
  transition: z-index 0s .35s;
}
.pk-print:nth-child(1) { --x: -17%; --y: -19%; --r: -6deg; }
.pk-print:nth-child(2) { --x: 17%; --y: -5%; --r: 4.5deg; }
.pk-print:nth-child(3) { --x: -3%; --y: 20%; --r: -1.5deg; }
.pk-print-card {
  position: absolute; inset: 0; display: block; padding: 7px; border-radius: 3px; background: #fff;
  box-shadow: 0 1px 1px rgba(16,25,23,.06), 0 30px 50px -30px rgba(16,25,23,.45);
  transition: transform .6s cubic-bezier(.16,1,.3,1), box-shadow .6s cubic-bezier(.16,1,.3,1);
}
.pk-print-card img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; }
.pk-print-tag {
  position: absolute; top: 16px; left: 16px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px 6px 13px;
  border-radius: 999px; background: var(--pk-ink); color: #fff; font-size: 13.5px; font-weight: 600; line-height: 1.2;
  box-shadow: 0 6px 14px -8px rgba(16,25,23,.6); transition: background-color .3s, color .3s;
}
/* štítky v různých rozích, aby se neshlukovaly */
.pk-print:nth-child(2) .pk-print-tag { left: auto; right: 16px; }
.pk-print:nth-child(3) .pk-print-tag { top: auto; bottom: 16px; }
.pk-print-tag svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.pk-print:hover, .pk-print:focus-visible { z-index: 3; transition-delay: 0s; }
.pk-print:hover .pk-print-card, .pk-print:focus-visible .pk-print-card {
  transform: rotate(calc(var(--r) * -1)) scale(1.045);
  box-shadow: 0 1px 1px rgba(16,25,23,.06), 0 46px 70px -30px rgba(16,25,23,.5);
}
.pk-print:hover .pk-print-tag, .pk-print:focus-visible .pk-print-tag { background: var(--pk-lime); color: var(--pk-ink); }
.pk-print:hover .pk-print-tag svg, .pk-print:focus-visible .pk-print-tag svg { transform: translateY(2px); }
body.pk .pk-print:focus-visible { outline: 0; }
.pk-print:focus-visible .pk-print-card { outline: 3px solid var(--pk-ink); outline-offset: 4px; }

/* role u projektu */
.pk-roles { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.pk-roles li { padding: 4px 10px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--pk-ink); font-size: 13.5px; font-weight: 600; line-height: 1.3; white-space: nowrap; }
.pk-roles--ink li { box-shadow: inset 0 0 0 1.5px rgba(238,242,236,.4); color: var(--pk-on-ink); }

/* případové studie */
.pk-case { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 40px 80px; align-items: center; }
.pk-case + .pk-case { margin-top: clamp(88px, 10vw, 140px); }
.pk-case--compare { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.pk-case-kind { margin: 0 0 12px; font-size: 15px; font-weight: 600; color: var(--pk-ink-2); }
.pk-case h3 { margin: 0; font: 600 clamp(2.25rem, 1.4rem + 2.2vw, 3.75rem)/1 var(--pk-font); letter-spacing: -.045em; }
.pk-case-copy > p:not(.pk-case-kind) { margin: 18px 0 0; max-width: 46ch; font-size: 17px; line-height: 1.6; color: var(--pk-ink-2); }
.pk-case-copy > p strong { color: var(--pk-ink); }
.pk-case .pk-roles { margin-top: 20px; }
.pk-case-copy .pk-caveat { margin-top: 22px; max-width: 46ch; }
.pk-case .pk-actions { margin-top: 28px; }
.pk-ref-proof { min-width: 0; margin: 0; }
.pk-ref-proof img { display: block; width: 100%; height: auto; border: 1px solid var(--pk-rule); border-radius: 3px; }
.pk-ref-proof figcaption { margin-top: 12px; font-size: 14px; line-height: 1.45; color: var(--pk-ink-2); }

/* co čísla říkají a co ne */
.pk-caveat { padding: 14px 16px; border: 1.5px dashed var(--pk-ink-3); border-radius: 4px; }
.pk-caveat p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--pk-ink-2); }
.pk-caveat .pk-caveat-label { margin-bottom: 4px; font-weight: 700; color: var(--pk-ink); }

/* výpis z reportu */
.pk-ledger { margin: 0; padding: 26px 28px 26px; border-radius: 3px; background: var(--pk-sheet); box-shadow: var(--pk-paper-shadow); transform: rotate(-.8deg); }
.pk-ledger-head { display: grid; gap: 4px; padding-bottom: 14px; border-bottom: 2px solid var(--pk-ink); }
.pk-ledger-head strong { font: 700 20px/1.2 var(--pk-font); }
.pk-ledger-head span { font-size: 14px; line-height: 1.45; color: var(--pk-ink-2); }
.pk-ledger-rows { margin: 0 0 20px; }
.pk-ledger-rows div { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 16px; padding: 16px 0 14px; border-bottom: 1px solid var(--pk-rule); }
.pk-ledger-rows dt { font-size: 16px; font-weight: 500; color: var(--pk-ink-2); }
.pk-ledger-rows dd { margin: 0; font: 600 clamp(1.75rem, 1.3rem + 1.2vw, 2.5rem)/1.05 var(--pk-font); letter-spacing: -.035em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pk-ledger-rows mark { background-repeat: no-repeat; }

/* před a po */
.pk-compare { margin: 0; }
.pk-compare-frame {
  position: relative; display: block; aspect-ratio: var(--ar, 1440 / 1000); overflow: hidden; border-radius: 4px; background: #fff;
  box-shadow: 0 0 0 7px #fff, var(--pk-paper-shadow); cursor: ew-resize; touch-action: pan-y; user-select: none; -webkit-user-select: none;
}
.pk-compare-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; pointer-events: none; }
.pk-compare-after { clip-path: inset(0 0 0 calc(var(--v) * 1%)); }
.pk-compare-handle { position: absolute; top: 0; bottom: 0; left: calc(var(--v) * 1%); width: 2px; margin-left: -1px; background: var(--pk-ink); pointer-events: none; }
.pk-compare-handle span {
  position: absolute; top: 50%; left: 50%; width: 46px; height: 46px; margin: -23px 0 0 -23px; border-radius: 50%;
  background: var(--pk-lime); box-shadow: 0 0 0 2px var(--pk-ink), 0 10px 20px -8px rgba(16,25,23,.5);
  transition: transform .2s cubic-bezier(.2,.8,.2,1);
}
.pk-compare-handle span::before, .pk-compare-handle span::after {
  content: ""; position: absolute; top: 50%; width: 8px; height: 8px; margin-top: -4px; border: solid var(--pk-ink); border-width: 0 0 2px 2px;
}
.pk-compare-handle span::before { left: 11px; transform: rotate(45deg); }
.pk-compare-handle span::after { right: 11px; transform: rotate(-135deg); }
.pk-compare-frame:hover .pk-compare-handle span, .pk-compare-frame.is-drag .pk-compare-handle span { transform: scale(1.08); }
.pk-compare-tag { position: absolute; top: 14px; padding: 5px 12px; border-radius: 999px; background: var(--pk-ink); color: #fff; font-size: 13px; font-weight: 700; pointer-events: none; transition: opacity .25s; }
.pk-compare-tag--before { left: 14px; }
.pk-compare-tag--after { right: 14px; background: var(--pk-lime); color: var(--pk-ink); }
.pk-compare-frame[data-side="before"] .pk-compare-tag--after, .pk-compare-frame[data-side="after"] .pk-compare-tag--before { opacity: 0; }
.pk-compare-range { position: absolute; inset: auto 0 0; width: 100%; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.pk-compare-frame:has(.pk-compare-range:focus-visible) { outline: 3px solid var(--pk-ink); outline-offset: 10px; }
.pk-compare figcaption { margin-top: 20px; font-size: 14px; line-height: 1.5; color: var(--pk-ink-2); }

/* vlastní podnikání v okně prohlížeče */
.pk-kupe { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px 80px; align-items: center; }
.pk-kupe-copy { display: grid; gap: 20px; justify-items: start; }
.pk-kupe-copy p { margin: 0; max-width: 44ch; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.55; color: var(--pk-on-ink-2); }
.pk-kupe-copy .pk-kupe-role { margin-top: 6px; font-size: 15px; font-weight: 600; color: var(--pk-on-ink); }
.pk-kupe-copy .pk-roles { margin-top: -8px; }
.pk-window {
  display: block; overflow: hidden; border-radius: 10px; background: #1F2B28; color: var(--pk-on-ink-2);
  box-shadow: 0 0 0 1px rgba(238,242,236,.08), 0 44px 80px -34px rgba(0,0,0,.7);
  transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s;
}
.pk-window-bar { display: flex; align-items: center; gap: 12px; padding: 10px 14px 10px 18px; }
.pk-window-url { flex: 1; padding: 6px 14px; border-radius: 999px; background: rgba(238,242,236,.08); font-size: 13.5px; text-align: center; transition: background-color .3s, color .3s; }
.pk-window-bar svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.pk-window img { display: block; width: 100%; height: auto; }
.pk-window:hover { color: var(--pk-on-ink); transform: translateY(-4px); box-shadow: 0 0 0 1px rgba(238,242,236,.14), 0 56px 90px -34px rgba(0,0,0,.75); }
.pk-window:hover .pk-window-url { background: var(--pk-lime); color: var(--pk-ink); }
.pk-window:hover .pk-window-bar svg { transform: translate(2px, -2px); }

/* rejstřík projektů s náhledem */
.pk-index { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 40px 56px; align-items: start; --ix-cols: minmax(0, 3fr) minmax(0, 3.6fr) minmax(0, 3fr) 22px; }
.pk-ix-cols { display: grid; grid-template-columns: var(--ix-cols); gap: 24px; padding-bottom: 12px; border-bottom: 2px solid var(--pk-ink); font-size: 14px; font-weight: 600; color: var(--pk-ink-2); }
.pk-ix-list { margin: 0; padding: 0; list-style: none; }
.pk-ix-row {
  display: grid; grid-template-columns: var(--ix-cols); gap: 8px 24px; align-items: center; padding: 20px 0;
  border-bottom: 1px solid var(--pk-rule); color: var(--pk-ink);
}
.pk-ix-row:hover { color: var(--pk-ink); }
.pk-ix-thumb { display: none; }
.pk-ix-name strong {
  font: 600 clamp(1.25rem, 1.1rem + .4vw, 1.5rem)/1.15 var(--pk-font); letter-spacing: -.025em;
  padding: 0 .12em; margin: 0 -.12em; background: var(--pk-marker) no-repeat 0 0 / 0% 100%; transition: background-size .35s cubic-bezier(.6,0,.2,1);
}
.pk-ix-name small { display: block; margin-top: 4px; font-size: 14px; line-height: 1.4; color: var(--pk-ink-2); }
.pk-ix-what { font-size: 16px; line-height: 1.45; color: var(--pk-ink-2); }
.pk-ix-roles { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.pk-ix-note { padding: 2.5px 8.5px; border: 1.5px dashed var(--pk-ink-3); border-radius: 999px; font-size: 13px; font-weight: 500; line-height: 1.3; color: var(--pk-ink-2); white-space: nowrap; }
.pk-ix-go { display: grid; place-items: center; justify-self: end; width: 22px; height: 22px; }
.pk-ix-go svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.pk-ix-row:hover .pk-ix-name strong, .pk-ix-row:focus-visible .pk-ix-name strong { background-size: 100% 100%; }
.pk-ix-row:hover .pk-ix-go svg, .pk-ix-row:focus-visible .pk-ix-go svg { transform: translate(3px, -3px); }
.pk-ix-yours {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 18px 32px; margin-top: 28px;
  padding: 26px 28px; border: 2px dashed var(--pk-ink-3); border-radius: 6px;
}
.pk-ix-yours-kind { margin: 0 0 6px; font-size: 14px; font-weight: 600; color: var(--pk-ink-2); }
.pk-ix-yours h3 { margin: 0; font: 600 clamp(1.5rem, 1.2rem + .8vw, 2rem)/1.1 var(--pk-font); letter-spacing: -.03em; }
.pk-ix-peek { position: sticky; top: 112px; margin: 0; }
.pk-ix-frame {
  position: relative; display: block; aspect-ratio: 960 / 667; border-radius: 3px; background: #fff;
  box-shadow: 0 0 0 8px #fff, 0 1px 1px 8px rgba(16,25,23,.05), 0 40px 60px -30px rgba(16,25,23,.45); transform: rotate(1.4deg);
}
.pk-ix-shot {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; opacity: 0;
  transform: translateY(10px) rotate(-1.5deg); transition: opacity .3s ease, transform .45s cubic-bezier(.2,.8,.2,1);
}
.pk-ix-shot.is-on { opacity: 1; transform: none; }
.pk-ix-shot--none { display: grid; place-content: center; gap: 6px; background: var(--pk-paper-2); text-align: center; font: 700 clamp(2rem, 1.4rem + 1.6vw, 3rem)/1 var(--pk-font); letter-spacing: -.04em; }
.pk-ix-shot--none small, .pk-ix-thumb--none { font-size: 14px; font-weight: 500; letter-spacing: 0; color: var(--pk-ink-2); }
.pk-ix-cap { margin-top: 24px; font-size: 15px; font-weight: 600; }
@media (min-width: 1061px) {
  .pk-ix-row.is-active .pk-ix-name strong { background-size: 100% 100%; }
}

@media (max-width: 1060px) {
  .pk-fan { justify-self: start; width: min(100%, 460px); }
  .pk-case, .pk-case--compare, .pk-kupe { grid-template-columns: minmax(0, 1fr); }
  /* na úzké obrazovce vizuál hned za popisem, role a odkaz až pod ním */
  .pk-case { row-gap: 0; }
  .pk-case-copy { display: contents; }
  .pk-case-copy > * { order: 5; }
  .pk-case-kind { order: 1; }
  .pk-case h3 { order: 2; }
  .pk-case h3 + p { order: 3; }
  .pk-case .pk-ledger, .pk-case .pk-compare, .pk-case .pk-ref-proof { order: 4; margin-top: 32px; margin-bottom: 8px; }
  .pk-ledger { max-width: 560px; transform: none; }
  .pk-index { grid-template-columns: minmax(0, 1fr); }
  .pk-ix-peek, .pk-ix-cols { display: none; }
  .pk-ix-list { border-top: 2px solid var(--pk-ink); }
  .pk-ix-row { grid-template-columns: 132px minmax(0, 1fr) 22px; grid-template-areas: "thumb name go" "thumb what go" "thumb roles go"; align-items: start; gap: 6px 20px; }
  .pk-ix-thumb { grid-area: thumb; display: block; width: 100%; height: auto; aspect-ratio: 960 / 667; object-fit: cover; object-position: 50% 0; border-radius: 3px; box-shadow: 0 0 0 1px var(--pk-rule); }
  .pk-ix-thumb--none { display: grid; place-items: center; background: var(--pk-paper-2); font-weight: 700; color: var(--pk-ink); }
  .pk-ix-name { grid-area: name; }
  .pk-ix-what { grid-area: what; }
  .pk-ix-roles { grid-area: roles; margin-top: 4px; }
  .pk-ix-go { grid-area: go; }
}
@media (max-width: 640px) {
  .pk-fan { width: 100%; margin-top: 8px; }
  .pk-print-card { padding: 5px; }
  .pk-print { width: 70%; }
  .pk-tag-more { display: none; }
  .pk-print-tag { top: 10px; left: 10px; padding: 5px 9px 5px 11px; font-size: 12.5px; }
  .pk-print:nth-child(2) .pk-print-tag { right: 10px; }
  .pk-print:nth-child(3) .pk-print-tag { bottom: 10px; }
  .pk-ledger { padding: 20px 18px; }
  .pk-ledger-rows div { flex-direction: column; align-items: flex-start; padding: 14px 0 12px; }
  .pk-ledger-rows dt { font-size: 15px; }
  .pk-compare-frame { box-shadow: 0 0 0 5px #fff, var(--pk-paper-shadow); }
  .pk-compare-tag { top: 10px; }
  .pk-compare-tag--before { left: 10px; }
  .pk-compare-tag--after { right: 10px; }
  .pk-ix-row { grid-template-columns: 84px minmax(0, 1fr) 18px; gap: 4px 14px; padding: 18px 0; }
  .pk-ix-what { font-size: 15px; }
  .pk-ix-yours { padding: 22px 18px; }
  .pk-ix-yours .pk-btn { width: 100%; }
}
@media (prefers-reduced-motion: no-preference) {
  /* výtisky se po načtení rozloží z hromádky (fill backwards: po doběhu nic nedrží, hover zůstává plynulý) */
  .pk-ref-hero .pk-page-hero-grid > .pk-fan:last-child { animation: none; }
  .pk-print { animation: pk-print-in 1.1s cubic-bezier(.16,1,.3,1) backwards; }
  .pk-print:nth-child(1) { animation-delay: .3s; }
  .pk-print:nth-child(2) { animation-delay: .42s; }
  .pk-print:nth-child(3) { animation-delay: .54s; }
  /* fix přejede čísla postupně */
  .pk-ledger.pk-r mark { background-size: 0% 100%; transition: background-size .55s cubic-bezier(.6,0,.2,1) calc(.45s + var(--md, 0s)); }
  .pk-ledger div:nth-child(2) mark { --md: .15s; }
  .pk-ledger div:nth-child(3) mark { --md: .3s; }
  .pk-ledger div:nth-child(4) mark { --md: .45s; }
  .pk-ledger.pk-r.is-in mark { background-size: 100% 100%; }
}
@keyframes pk-print-in { from { opacity: 0; transform: translate(-50%, -50%) translateY(40px) rotate(0deg) scale(.94); } }

/* ── Případová studie ── */
.pk-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 22px; font-size: 15px; font-weight: 500; color: var(--pk-ink-2); }
.pk-crumbs a { color: var(--pk-ink); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 4px; padding: 0 .1em; margin: 0 -.1em; background: var(--pk-marker) no-repeat 0 0 / 0% 100%; transition: background-size .35s cubic-bezier(.6,0,.2,1); }
.pk-crumbs a:hover { background-size: 100% 100%; text-decoration-color: transparent; }
.pk-study-hero .pk-page-hero-grid { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: center; }
.pk-study-hero h1 { font-size: clamp(2.5rem, 1.3rem + 4vw, 5.25rem); }
.pk-study-hero h1 .pk-h1-sub { margin-top: .14em; font-size: .62em; line-height: 1.02; letter-spacing: -.04em; }
.pk-window--light { background: #E1E4DB; color: var(--pk-ink-2); box-shadow: 0 1px 1px rgba(16,25,23,.06), 0 40px 70px -36px rgba(16,25,23,.45); transform: rotate(1deg); }
.pk-window--light .pk-window-url { background: rgba(255,255,255,.8); }
.pk-window--light:hover { color: var(--pk-ink); box-shadow: 0 1px 1px rgba(16,25,23,.06), 0 52px 80px -36px rgba(16,25,23,.5); }
.pk-spec { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px 32px; margin: clamp(48px, 6vw, 80px) 0 0; padding-top: 22px; border-top: 2px solid var(--pk-ink); }
.pk-spec dt { font-size: 14px; font-weight: 600; color: var(--pk-ink-2); }
.pk-spec dd { margin: 6px 0 0; font-size: 18px; font-weight: 600; line-height: 1.35; letter-spacing: -.01em; }

/* poznámky z auditu */
.pk-audit { margin: 0; padding: 28px 30px 20px; border-radius: 3px; background: var(--pk-sheet); box-shadow: var(--pk-paper-shadow); transform: rotate(.8deg); }
.pk-audit-head { padding-bottom: 14px; border-bottom: 2px solid var(--pk-ink); font: 700 20px/1.2 var(--pk-font); }
.pk-audit .pk-audit-label { margin: 22px 0 8px; font-size: 14px; font-weight: 600; color: var(--pk-ink-2); }
.pk-audit-good p:not(.pk-audit-label) { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.35; letter-spacing: -.015em; }
.pk-audit-good mark { background-repeat: no-repeat; }
.pk-audit-list { margin: 0; padding: 0; list-style: none; }
.pk-audit-list li { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 2px 16px; align-items: baseline; padding: 13px 0; border-top: 1px solid var(--pk-rule); font-size: 16px; line-height: 1.5; }
.pk-audit-list strong { font-size: 15px; font-weight: 700; }
.pk-audit-list li > span { color: var(--pk-ink-2); }

/* celé stránky před a po, projíždějí souběžně */
.pk-scrub-sec { padding-bottom: clamp(56px, 7vw, 96px); }
.pk-scrub-stage { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 28px; }
.pk-scrub-switch { display: none; }
.pk-scrub-win { display: flex; flex-direction: column; gap: 12px; min-height: 0; margin: 0; }
.pk-scrub-win figcaption { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--pk-on-ink-2); }
.pk-scrub-tag { padding: 4px 12px; border-radius: 999px; background: #fff; color: var(--pk-ink); font-size: 13px; font-weight: 700; }
.pk-scrub-tag--after { background: var(--pk-lime); }
.pk-scrub-view {
  position: relative; height: min(70svh, 760px); overflow-y: auto; border-radius: 6px; background: #fff;
  box-shadow: 0 0 0 1px rgba(238,242,236,.08), 0 30px 60px -30px rgba(0,0,0,.6);
}
.pk-scrub-view img { display: block; width: 100%; height: auto; }
.pk-scrub-view:focus-visible { outline-color: var(--pk-lime); }
.pk-scrub-bar { display: none; }
.pk-scrub-bar span { display: block; height: 100%; background: var(--pk-lime); transform-origin: 0 50%; transform: scaleX(0); }
.pk-scrub-note { margin: 24px 0 0; font-size: 14px; line-height: 1.5; color: var(--pk-on-ink-2); }
.pk-scrub.is-linked { height: calc(100svh - 112px + 170vh); }
.pk-scrub.is-linked .pk-scrub-stage { position: sticky; top: 84px; height: calc(100svh - 112px); grid-template-rows: minmax(0, 1fr) auto; }
.pk-scrub.is-linked .pk-scrub-view { flex: 1; height: auto; min-height: 0; overflow: hidden; overflow: clip; }
.pk-scrub.is-linked .pk-scrub-view img { will-change: transform; }
.pk-scrub.is-linked .pk-scrub-bar { display: block; grid-column: 1 / -1; height: 3px; border-radius: 2px; background: var(--pk-on-ink-rule); overflow: hidden; }

/* postup jako dokončené kroky */
.pk-stepper { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin: 0; padding: 0; list-style: none; }
.pk-stepper li { position: relative; }
.pk-stepper li:not(:last-child)::before, .pk-stepper li:not(:last-child)::after {
  content: ""; position: absolute; top: 22px; left: 58px; right: -20px; height: 2px; background: var(--pk-rule);
}
.pk-stepper li:not(:last-child)::after { background: var(--pk-ink); transform-origin: 0 50%; }
.pk-stepper-dot { position: relative; z-index: 1; display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 22px; border-radius: 50%; background: var(--pk-lime); box-shadow: inset 0 0 0 2px var(--pk-ink); }
.pk-stepper-dot > * { grid-area: 1 / 1; }
.pk-stepper-dot b { font: 700 17px/1 var(--pk-font); opacity: 0; }
.pk-stepper-dot svg, .pk-tick svg { fill: none; stroke: var(--pk-ink); stroke-linecap: round; stroke-linejoin: round; }
.pk-stepper-dot svg { width: 22px; height: 22px; stroke-width: 2.4; }
.pk-stepper h3 { margin: 0; font: 600 21px/1.25 var(--pk-font); letter-spacing: -.015em; }
.pk-stepper p { margin: 8px 0 0; font-size: 16px; line-height: 1.55; color: var(--pk-ink-2); }

/* detail produktu */
.pk-product { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px 72px; align-items: center; }
.pk-product-copy > p { margin: 22px 0 0; max-width: 44ch; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.55; color: var(--pk-ink-2); }
.pk-ticks { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.pk-ticks li { display: flex; align-items: center; gap: 12px; font-size: 18px; font-weight: 600; }
.pk-tick { flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--pk-lime); box-shadow: inset 0 0 0 1.5px rgba(16,25,23,.2); }
.pk-tick svg { width: 15px; height: 15px; stroke-width: 2.6; }

/* výsledek: protokol kontroly */
.pk-split-head .pk-kept { display: grid; gap: 10px; margin-top: 6px; }
.pk-split-head .pk-kept p { font-size: 15px; font-weight: 600; color: var(--pk-ink); }
.pk-result { display: grid; gap: 24px; }
.pk-protocol { margin: 0; padding: 26px 28px 12px; border-radius: 3px; background: var(--pk-sheet); box-shadow: var(--pk-paper-shadow); transform: rotate(-.6deg); }
.pk-protocol-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; padding-bottom: 14px; border-bottom: 2px solid var(--pk-ink); }
.pk-protocol-head strong { font: 700 20px/1.2 var(--pk-font); }
.pk-protocol-head > span { font-size: 14px; color: var(--pk-ink-2); }
.pk-protocol ul { margin: 0; padding: 0; list-style: none; }
.pk-protocol li { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px dashed var(--pk-rule); font-size: 17px; line-height: 1.4; }
.pk-protocol li:last-child { border-bottom: 0; }
.pk-protocol li b { font-size: 1.2em; font-weight: 700; letter-spacing: -.02em; }

/* závěr případovky */
.pk-dashed-cta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px 48px; padding: clamp(26px, 4vw, 48px); border: 2px dashed var(--pk-ink-3); border-radius: 8px; }
.pk-dashed-cta > div { max-width: 660px; }
.pk-dashed-kind { margin: 0 0 10px; font-size: 15px; font-weight: 600; color: var(--pk-ink-2); }
.pk-sec .pk-dashed-cta h2 { font-size: clamp(2rem, 1.3rem + 2.2vw, 3.5rem); }
.pk-dashed-cta p:not(.pk-dashed-kind) { margin: 16px 0 0; max-width: 52ch; font-size: 17px; line-height: 1.6; color: var(--pk-ink-2); }
.pk-next { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px 32px; margin-top: 36px; }
.pk-next-card {
  display: flex; align-items: center; gap: 18px; padding: 10px 26px 10px 10px; border-radius: 8px; background: var(--pk-sheet); color: var(--pk-ink);
  box-shadow: 0 1px 1px rgba(16,25,23,.06), 0 18px 34px -26px rgba(16,25,23,.4); transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
}
.pk-next-card:hover { color: var(--pk-ink); transform: translateY(-3px); box-shadow: 0 1px 1px rgba(16,25,23,.06), 0 28px 44px -26px rgba(16,25,23,.45); }
.pk-next-card img { flex: none; width: 132px; height: auto; aspect-ratio: 960 / 667; object-fit: cover; object-position: 50% 0; border-radius: 4px; }
.pk-next-card small { display: block; font-size: 13px; font-weight: 600; color: var(--pk-ink-2); }
.pk-next-card strong { display: inline-block; margin-top: 2px; padding: 0 .1em; margin-left: -.1em; font-size: 20px; font-weight: 600; letter-spacing: -.02em; background: var(--pk-marker) no-repeat 0 0 / 0% 100%; transition: background-size .35s cubic-bezier(.6,0,.2,1); }
.pk-next-card:hover strong, .pk-next-card:focus-visible strong { background-size: 100% 100%; }
.pk-next-card > span > span { display: block; margin-top: 2px; font-size: 14px; color: var(--pk-ink-2); }

@media (max-width: 1060px) {
  .pk-study-hero .pk-page-hero-grid, .pk-product { grid-template-columns: minmax(0, 1fr); }
  .pk-study-hero .pk-window { justify-self: start; width: min(100%, 620px); }
  .pk-spec { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pk-audit, .pk-protocol { transform: none; max-width: 620px; }
}
@media (max-width: 760px) {
  .pk-stepper { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .pk-stepper li { padding-left: 66px; min-height: 46px; }
  .pk-stepper-dot { position: absolute; left: 0; top: 0; margin: 0; }
  .pk-stepper li:not(:last-child)::before, .pk-stepper li:not(:last-child)::after { top: 52px; bottom: -22px; left: 22px; right: auto; width: 2px; height: auto; }
  .pk-stepper li:not(:last-child)::after { transform-origin: 50% 0; }
  .pk-stepper h3 { padding-top: 10px; }
}
@media (max-width: 640px) {
  .pk-spec dd { font-size: 16px; }
  .pk-audit { padding: 22px 18px 14px; }
  .pk-audit-list li { grid-template-columns: minmax(0, 1fr); }
  .pk-scrub-stage { grid-template-columns: minmax(0, 1fr); }
  .pk-scrub.is-linked .pk-scrub-stage { top: 80px; height: calc(100svh - 100px); grid-template-rows: auto minmax(0, 1fr) auto; }
  .pk-scrub-switch { display: inline-flex; justify-self: start; gap: 4px; padding: 4px; border-radius: 999px; background: rgba(238,242,236,.1); }
  .pk-scrub-switch button { min-height: 40px; padding: 0 20px; border: 0; border-radius: 999px; background: transparent; color: var(--pk-on-ink); font: 600 15px var(--pk-font); cursor: pointer; transition: background-color .2s, color .2s; }
  .pk-scrub-switch button[aria-pressed="true"] { background: var(--pk-lime); color: var(--pk-ink); }
  .pk-scrub[data-show="after"] .pk-scrub-win--before, .pk-scrub[data-show="before"] .pk-scrub-win--after { display: none; }
  .pk-scrub-tag { display: none; }
  .pk-scrub-win figcaption { display: none; }
  .pk-protocol { padding: 22px 18px 8px; }
  .pk-protocol li { font-size: 16px; }
  .pk-dashed-cta .pk-btn { width: 100%; }
  .pk-next-card { width: 100%; padding-right: 16px; }
  .pk-next-card img { width: 96px; }
}
@media (prefers-reduced-motion: no-preference) {
  /* fix přejede to, co fungovalo */
  .pk-audit.pk-r mark { background-size: 0% 100%; transition: background-size .6s cubic-bezier(.6,0,.2,1) .5s; }
  .pk-audit.pk-r.is-in mark { background-size: 100% 100%; }
  /* kroky se postupně odškrtají */
  .pk-stepper.pk-r { opacity: 1; translate: 0 0; }
  .pk-stepper.pk-r .pk-stepper-dot { background: var(--pk-sheet); transition: background-color .3s ease calc(.4s + var(--i) * .45s); }
  .pk-stepper.pk-r .pk-stepper-dot b { opacity: 1; transition: opacity .15s ease calc(.4s + var(--i) * .45s); }
  .pk-stepper.pk-r .pk-stepper-dot path { stroke-dasharray: 22; stroke-dashoffset: 22; transition: stroke-dashoffset .35s cubic-bezier(.6,0,.2,1) calc(.5s + var(--i) * .45s); }
  .pk-stepper.pk-r li::after { transform: scaleX(0); transition: transform .4s cubic-bezier(.6,0,.2,1) calc(.7s + var(--i) * .45s); }
  .pk-stepper.pk-r.is-in .pk-stepper-dot { background: var(--pk-lime); }
  .pk-stepper.pk-r.is-in .pk-stepper-dot b { opacity: 0; }
  .pk-stepper.pk-r.is-in .pk-stepper-dot path { stroke-dashoffset: 0; }
  .pk-stepper.pk-r.is-in li::after { transform: none; }
  /* protokol: odškrtnutí naskakují */
  .pk-protocol.pk-r .pk-tick { opacity: 0; transform: scale(.4); transition: opacity .2s ease calc(.45s + var(--i) * .16s), transform .45s cubic-bezier(.3,1.5,.5,1) calc(.45s + var(--i) * .16s); }
  .pk-protocol.pk-r.is-in .pk-tick { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 760px) {
  .pk-stepper.pk-r li::after { transform: scaleY(0); }
}

/* ── Případovka Furniture ── */
/* graf: předchozí období = 100 */
.pk-bars { margin: 0; --prev: calc(100 / 620); }
.pk-bars-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 10px 24px; padding-bottom: 16px; border-bottom: 1px solid var(--pk-on-ink-rule); }
.pk-bars-head strong { font: 600 20px/1.2 var(--pk-font); color: #fff; }
.pk-bars-legend { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 14px; color: var(--pk-on-ink-2); }
.pk-key { display: inline-flex; align-items: center; gap: 8px; }
.pk-key::before { content: ""; width: 20px; height: 8px; border-radius: 0 4px 4px 0; background: var(--pk-on-ink-2); }
.pk-key--now::before { height: 12px; background: var(--pk-lime); }
.pk-bars-rows { margin: 0; padding: 0; list-style: none; }
.pk-bars-rows li, .pk-bars-axis { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 7fr) minmax(0, 2fr); gap: 8px 28px; align-items: center; }
.pk-bars-rows li { padding: 18px 0; border-bottom: 1px solid var(--pk-on-ink-rule); transition: opacity .25s; }
.pk-bars-label { margin: 0; }
.pk-bars-label strong { display: block; font-size: 18px; font-weight: 600; line-height: 1.25; color: #fff; }
.pk-bars-label > span { display: block; margin-top: 3px; font-size: 14px; line-height: 1.4; color: var(--pk-on-ink-2); }
.pk-bars-track {
  display: grid; gap: 3px; padding: 10px 0;
  background: linear-gradient(to right, var(--pk-on-ink-rule) 1px, transparent 1px) 0 0 / calc(var(--prev) * 100%) 100% repeat-x;
}
.pk-bar { display: block; height: 8px; border-radius: 0 4px 4px 0; transform-origin: 0 50%; }
.pk-bar--prev { width: calc(var(--prev) * 100%); background: var(--pk-on-ink-2); }
.pk-bar--now { width: calc(var(--now) * 100%); height: 14px; background: var(--pk-lime); }
.pk-bars-val { display: grid; justify-items: end; gap: 2px; margin: 0; text-align: right; }
body.pk .pk-bars-val mark { color: var(--pk-ink); font: 600 clamp(1.375rem, 1.1rem + .8vw, 1.875rem)/1.1 var(--pk-font); letter-spacing: -.03em; white-space: nowrap; font-variant-numeric: tabular-nums; background-repeat: no-repeat; margin-right: 0; }
.pk-bars-val > span { font-size: 13px; color: var(--pk-on-ink-2); font-variant-numeric: tabular-nums; }
.pk-bars-ticks { position: relative; grid-column: 2; height: 26px; }
.pk-bars-ticks span { position: absolute; top: 8px; left: calc(var(--t) * 100%); transform: translateX(-50%); font-size: 12px; color: var(--pk-on-ink-2); font-variant-numeric: tabular-nums; }
@media (hover: hover) { .pk-bars-rows:hover li:not(:hover) { opacity: .45; } }
.pk-caveat--ink { margin-top: 28px; max-width: 760px; border-color: rgba(238,242,236,.32); }
.pk-caveat--ink p { color: var(--pk-on-ink-2); }
.pk-caveat--ink .pk-caveat-label { color: #fff; }

/* oblasti práce */
.pk-areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 32px; margin: 0; padding: 0; list-style: none; }
.pk-areas li { padding-top: 18px; border-top: 2px solid var(--pk-ink); }
.pk-areas h3 { margin: 0; font: 600 22px/1.2 var(--pk-font); letter-spacing: -.02em; }
.pk-areas h3 span { padding: 0 .12em; margin: 0 -.12em; background: var(--pk-marker); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.pk-areas p { margin: 10px 0 0; font-size: 16px; line-height: 1.55; color: var(--pk-ink-2); }

/* matice: na co byl v jakém období důraz */
.pk-matrix { --mx-label: 180px; }
.pk-mx-scroll { overflow-x: auto; }
.pk-matrix table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.pk-matrix thead td { width: var(--mx-label); border-bottom: 2px solid var(--pk-ink); }
.pk-matrix thead th { padding: 0 10px 14px; text-align: left; font-size: 15px; font-weight: 600; color: var(--pk-ink-2); border-bottom: 2px solid var(--pk-ink); transition: color .2s; }
.pk-mx-short { display: none; }
.pk-matrix tbody th { padding: 16px 16px 16px 0; text-align: left; font: 600 18px/1.2 var(--pk-font); border-bottom: 1px solid var(--pk-rule); }
.pk-matrix tbody td { position: relative; height: 62px; padding: 0; border-bottom: 1px solid var(--pk-rule); transition: background-color .2s; }
.pk-matrix td.is-on::before {
  content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 22px; margin-top: -11px;
  background: var(--pk-lime); transform-origin: 0 50%;
}
.pk-matrix td.is-start::before { left: 10px; border-radius: 3px 0 0 3px; }
.pk-matrix td.is-end::before { right: 10px; border-radius: 0 3px 3px 0; }
.pk-periods { display: grid; grid-template-columns: var(--mx-label) repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.pk-periods li { padding: 18px 10px 20px; border-radius: 0 0 4px 4px; transition: background-color .2s, box-shadow .2s; }
.pk-periods li:first-child { grid-column: 2; }
.pk-period-when { display: none; }
.pk-periods h3 { margin: 0; font: 600 17px/1.25 var(--pk-font); letter-spacing: -.01em; }
.pk-periods p { margin: 6px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--pk-ink-2); }
.pk-matrix[data-hl="0"] [data-col="0"], .pk-matrix[data-hl="1"] [data-col="1"], .pk-matrix[data-hl="2"] [data-col="2"],
.pk-matrix[data-hl="3"] [data-col="3"], .pk-matrix[data-hl="4"] [data-col="4"] { background-color: var(--pk-sheet); }
.pk-matrix[data-hl="0"] th[data-col="0"], .pk-matrix[data-hl="1"] th[data-col="1"], .pk-matrix[data-hl="2"] th[data-col="2"],
.pk-matrix[data-hl="3"] th[data-col="3"], .pk-matrix[data-hl="4"] th[data-col="4"] { color: var(--pk-ink); }
.pk-matrix td[data-col="1"], .pk-matrix li[data-col="1"] { --c: 1; }
.pk-matrix td[data-col="2"], .pk-matrix li[data-col="2"] { --c: 2; }
.pk-matrix td[data-col="3"], .pk-matrix li[data-col="3"] { --c: 3; }
.pk-matrix td[data-col="4"], .pk-matrix li[data-col="4"] { --c: 4; }

/* reporty jako záložky prohlížeče */
.pk-reports { overflow: hidden; border-radius: 10px; background: #E1E4DB; box-shadow: 0 1px 1px rgba(16,25,23,.06), 0 40px 70px -40px rgba(16,25,23,.45); }
.pk-reports-bar { padding: 10px 12px 0; }
.pk-reports-tabs { display: flex; gap: 4px; }
.pk-reports-tabs button {
  min-height: 44px; padding: 0 20px; border: 0; border-radius: 10px 10px 0 0; cursor: pointer;
  background: transparent; color: var(--pk-ink-2); font: 600 15px var(--pk-font); transition: background-color .2s, color .2s;
}
.pk-reports-tabs button:hover { background: rgba(255,255,255,.55); color: var(--pk-ink); }
.pk-reports-tabs button[aria-selected="true"] { background: #fff; color: var(--pk-ink); }
.pk-reports-tabs button:focus-visible { outline-offset: -3px; }
.pk-reports-panel { margin: 0; background: #fff; }
.pk-reports-shot { position: relative; display: block; aspect-ratio: 1440 / 860; cursor: zoom-in; }
.pk-reports-zoom {
  position: absolute; right: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px 7px 14px; border-radius: 999px;
  background: var(--pk-ink); color: #fff; font-size: 13.5px; font-weight: 600; opacity: 0; transform: translateY(4px); transition: opacity .25s, transform .25s, background-color .25s, color .25s;
}
.pk-reports-zoom svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.pk-reports-shot:hover .pk-reports-zoom, .pk-reports-shot:focus-visible .pk-reports-zoom { opacity: 1; transform: none; background: var(--pk-lime); color: var(--pk-ink); }
@media (hover: none) { .pk-reports-zoom { opacity: 1; transform: none; } }
.pk-reports-shot:focus-visible { outline-offset: -3px; }
.pk-reports-shot img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: 50% 0; }
.pk-reports-panel figcaption { padding: 16px 22px 20px; border-top: 1px solid var(--pk-rule); font-size: 15px; line-height: 1.5; color: var(--pk-ink-2); }
.pk-reports-panel figcaption strong { color: var(--pk-ink); }

@media (max-width: 900px) {
  .pk-bars-rows li { grid-template-columns: minmax(0, 1fr) auto; }
  .pk-bars-label { grid-column: 1 / -1; }
  .pk-bars-axis { grid-template-columns: minmax(0, 1fr) auto; }
  .pk-bars-ticks { grid-column: 1; }
  .pk-bars-val { min-width: 104px; }
  .pk-areas { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .pk-matrix { --mx-label: 86px; }
  .pk-mx-short { white-space: nowrap; }
  .pk-mx-long { display: none; }
  .pk-mx-short { display: inline; }
  .pk-matrix thead th { padding: 0 0 12px; font-size: 11.5px; text-align: center; }
  .pk-matrix tbody th { font-size: 15px; padding-right: 8px; }
  .pk-matrix tbody td { height: 52px; }
  .pk-matrix td.is-on::before { height: 18px; margin-top: -9px; }
  .pk-matrix td.is-start::before { left: 5px; }
  .pk-matrix td.is-end::before { right: 5px; }
  .pk-periods { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 24px; }
  .pk-periods li:first-child { grid-column: auto; }
  .pk-periods li { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 2px 16px; padding: 14px 0; border-top: 1px solid var(--pk-rule); border-radius: 0; }
  .pk-period-when { display: block; grid-row: 1 / span 2; margin: 2px 0 0; font-size: 14px; font-weight: 600; color: var(--pk-ink-2); }
  .pk-periods p:not(.pk-period-when) { margin-top: 2px; }
}
@media (max-width: 640px) {
  .pk-reports-bar { padding: 8px 8px 0; }
  .pk-reports-tabs button { flex: 1; min-width: 0; padding: 0 4px; font-size: 13.5px; white-space: nowrap; }
  .pk-reports-zoom { right: 8px; bottom: 8px; padding: 5px 10px; font-size: 12.5px; }
  .pk-reports-panel figcaption { padding: 14px 16px 16px; font-size: 14px; }
}
@media (prefers-reduced-motion: no-preference) {
  /* pruhy vyrostou, potom fix přejede hodnoty */
  .pk-bars.pk-r { opacity: 1; translate: 0 0; }
  .pk-bars.pk-r .pk-bar { transform: scaleX(0); transition: transform .9s cubic-bezier(.2,.8,.2,1) calc(.2s + var(--i) * .12s); }
  .pk-bars.pk-r .pk-bar--now { transition-delay: calc(.4s + var(--i) * .12s); }
  .pk-bars.pk-r .pk-bars-val mark { background-size: 0% 100%; transition: background-size .5s cubic-bezier(.6,0,.2,1) calc(1s + var(--i) * .12s); }
  .pk-bars.pk-r.is-in .pk-bar { transform: none; }
  .pk-bars.pk-r.is-in .pk-bars-val mark { background-size: 100% 100%; }
  /* fix projede maticí v čase zleva doprava */
  .pk-matrix.pk-r { opacity: 1; translate: 0 0; }
  .pk-matrix.pk-r td.is-on::before { transform: scaleX(0); transition: transform .3s linear calc(.35s + var(--c, 0) * .3s); }
  .pk-matrix.pk-r.is-in td.is-on::before { transform: none; }
  .pk-reports-panel:not([hidden]) { animation: pk-fade .35s ease both; }
}

/* ── Marketingový partner ── */
.pk-partner-hero .pk-page-hero-grid { align-items: center; }
.pk-partner-price { margin: 18px 0 0; max-width: 46ch; font-size: 17px; line-height: 1.5; color: var(--pk-ink-2); }
.pk-partner-price strong { color: var(--pk-ink); }
/* rozházené lístky svázané jednou páskou */
.pk-slips-fig { margin: 0; justify-self: end; width: min(100%, 440px); }
.pk-slips { position: relative; height: 330px; }
.pk-slip {
  position: absolute; left: 6%; top: calc(20px + var(--i) * 56px); width: 80%; padding: 17px 22px; border-radius: 3px;
  background: var(--pk-sheet); box-shadow: 0 1px 1px rgba(16,25,23,.06), 0 14px 26px -18px rgba(16,25,23,.45);
  font: 600 24px/1 var(--pk-font); letter-spacing: -.02em; transform: rotate(var(--r, 0deg));
}
.pk-slip:nth-child(1) { --r: -1.4deg; --fx: -34%; --fy: -30px; --fr: -14deg; }
.pk-slip:nth-child(2) { --r: .9deg; --fx: 30%; --fy: 26px; --fr: 11deg; }
.pk-slip:nth-child(3) { --r: -.6deg; --fx: -22%; --fy: 50px; --fr: 7deg; }
.pk-slip:nth-child(4) { --r: 1.3deg; --fx: 36%; --fy: -24px; --fr: -9deg; }
.pk-slip:nth-child(5) { --r: -1deg; --fx: -12%; --fy: 34px; --fr: 15deg; }
.pk-slips::after {
  content: ""; position: absolute; z-index: 1; top: 6px; bottom: 6px; right: 24%; width: 30px; border-radius: 3px;
  background: var(--pk-lime); box-shadow: 0 6px 14px -8px rgba(16,25,23,.5), inset 0 0 0 1px rgba(16,25,23,.08);
  transform: rotate(3deg); transform-origin: 50% 0;
}
.pk-clip {
  position: absolute; z-index: 2; top: 50%; right: calc(24% - 52px); padding: 10px 16px; border-radius: 4px;
  background: var(--pk-ink); color: #fff; font-size: 15px; font-weight: 700; white-space: nowrap;
  box-shadow: 0 12px 22px -12px rgba(16,25,23,.6); transform: translateY(-50%) rotate(-5deg);
}
.pk-slips-fig figcaption { margin-top: 22px; }
.pk-slips-fig .pk-pull { margin: 0; }
.pk-slips-fig .pk-pull p { font-size: clamp(1.5rem, 1.2rem + .8vw, 2rem); }

/* co se děje každý měsíc */
.pk-month { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px 72px; align-items: start; }
.pk-cycle { display: grid; margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--pk-ink); }
.pk-cycle li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 4px 18px; padding: 22px 0; border-bottom: 1px solid var(--pk-rule); }
.pk-cycle-n { grid-row: 1 / span 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; box-shadow: inset 0 0 0 2px var(--pk-ink); font-weight: 700; transition: background-color .25s; }
.pk-cycle h3 { margin: 6px 0 0; font: 600 21px/1.25 var(--pk-font); letter-spacing: -.015em; }
.pk-cycle p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--pk-ink-2); }
.pk-cycle-loop { display: flex; align-items: center; gap: 10px; margin: 18px 0 0; font-size: 16px; font-weight: 600; }
.pk-cycle-loop span { font-size: 24px; line-height: 1; }
.pk-planner { margin: 0; padding: 26px 28px 18px; border-radius: 3px; background: var(--pk-sheet); box-shadow: var(--pk-paper-shadow); transform: rotate(.8deg); }
.pk-planner-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 14px; padding-bottom: 14px; border-bottom: 2px solid var(--pk-ink); }
.pk-planner-head strong { font: 700 20px/1.2 var(--pk-font); }
.pk-planner-head span { font-size: 14px; color: var(--pk-ink-2); }
.pk-planner-block { margin: 0 -12px; padding: 16px 12px; border-bottom: 1px dashed var(--pk-rule); border-radius: 4px; transition: background-color .25s; }
.pk-planner-block:last-child { border-bottom: 0; }
.pk-planner .pk-planner-label { margin: 0 0 8px; font-size: 14px; font-weight: 600; color: var(--pk-ink-2); }
.pk-planner-goal { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.35; letter-spacing: -.01em; }
.pk-planner-goal mark { background-repeat: no-repeat; }
.pk-planner-tasks { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pk-planner-tasks li { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.45; }
.pk-planner-tasks .pk-tick { margin-top: -1px; }
.pk-planner-tasks small { display: inline-block; margin-left: 4px; padding: 1px 8px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--pk-rule); font-size: 12.5px; font-weight: 500; color: var(--pk-ink-2); white-space: nowrap; }
.pk-planner-block > p:not([class]) { margin: 0; font-size: 16px; line-height: 1.5; color: var(--pk-ink-2); }
.pk-planner .pk-planner-next { display: inline-flex; margin: 12px 0 0; padding: 6px 14px; border-radius: 999px; background: var(--pk-ink); color: #fff; font-size: 14px; font-weight: 600; }
.pk-month[data-active="1"] [data-hl="1"] .pk-cycle-n, .pk-month[data-active="2"] [data-hl="2"] .pk-cycle-n, .pk-month[data-active="3"] [data-hl="3"] .pk-cycle-n { background: var(--pk-lime); }
.pk-month[data-active="1"] .pk-planner-block[data-hl="1"], .pk-month[data-active="2"] .pk-planner-block[data-hl="2"], .pk-month[data-active="3"] .pk-planner-block[data-hl="3"] { background: rgba(216, 255, 62, .22); }

/* dlouhodobé reference na tmavém */
.pk-longrun { display: grid; gap: 14px; }
.pk-longrun-kind { margin: 0 0 4px; font-size: 15px; font-weight: 600; color: var(--pk-on-ink-2); }
.pk-longrun .pk-next-card { box-shadow: 0 30px 50px -30px rgba(0,0,0,.6); }

/* formulář */
.pk-split-head .pk-partner-direct { font-size: 16px; }
.pk-partner-direct a { color: var(--pk-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pk-stairs li p a { color: var(--pk-ink); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.pk-stairs li p a:hover { text-decoration-thickness: 2.5px; }

@media (max-width: 1060px) {
  .pk-slips-fig { justify-self: start; }
  .pk-month { grid-template-columns: minmax(0, 1fr); }
  .pk-planner { transform: none; max-width: 640px; }
}
@media (max-width: 640px) {
  .pk-slips { height: 300px; }
  .pk-slip { top: calc(18px + var(--i) * 52px); padding: 15px 18px; font-size: 21px; }
  .pk-planner { padding: 22px 18px 14px; }
  .pk-planner-block { margin: 0 -8px; padding: 14px 8px; }
}
@media (prefers-reduced-motion: no-preference) {
  /* lístky se sesypou do balíčku, pak je sváže páska */
  .pk-partner-hero .pk-page-hero-grid > .pk-slips-fig:last-child { animation: none; }
  .pk-slip { animation: pk-slip-in 1s cubic-bezier(.16,1,.3,1) calc(.3s + var(--i) * .09s) backwards; }
  .pk-slips::after { animation: pk-band-in .55s cubic-bezier(.6,0,.2,1) 1.15s backwards; }
  .pk-clip { animation: pk-clip-in .5s cubic-bezier(.3,1.5,.5,1) 1.55s backwards; }
  .pk-slips-fig figcaption { animation: pk-rise .8s cubic-bezier(.2,.8,.2,1) 1.2s backwards; }
  /* plán: fix přejede cíl, úkoly se odškrtají */
  .pk-planner.pk-r .pk-planner-goal mark { background-size: 0% 100%; transition: background-size .6s cubic-bezier(.6,0,.2,1) .5s; }
  .pk-planner.pk-r.is-in .pk-planner-goal mark { background-size: 100% 100%; }
  .pk-planner.pk-r .pk-tick { opacity: 0; transform: scale(.4); transition: opacity .2s ease calc(.9s + var(--i) * .16s), transform .45s cubic-bezier(.3,1.5,.5,1) calc(.9s + var(--i) * .16s); }
  .pk-planner.pk-r.is-in .pk-tick { opacity: 1; transform: none; }
}
@keyframes pk-slip-in { from { opacity: 0; transform: translate(var(--fx), var(--fy)) rotate(var(--fr)); } }
@keyframes pk-band-in { from { transform: rotate(3deg) scaleY(0); } }
@keyframes pk-clip-in { from { opacity: 0; transform: translateY(-50%) rotate(-5deg) scale(.6); } }

/* ── Shoptet landing ── */
.pk-shop-hero .pk-page-hero-grid { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: center; }
.pk-shop-hero h1 { font-size: clamp(2.5rem, 1.3rem + 4vw, 5.25rem); }
.pk-shop-hero h1 .pk-h1-sub { margin-top: .14em; font-size: .62em; line-height: 1.02; letter-spacing: -.04em; }
.pk-shop-note { margin: 18px 0 0; max-width: 46ch; font-size: 15px; line-height: 1.5; color: var(--pk-ink-2); }
.pk-shop-compare figcaption a { color: var(--pk-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pk-spec--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pk-shop-switch { margin: 22px 0 0; font-size: 16px; color: var(--pk-ink-2); }
.pk-shop-switch a { color: var(--pk-ink); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 4px; padding: 0 .1em; margin: 0 -.1em; background: var(--pk-marker) no-repeat 0 0 / 0% 100%; transition: background-size .35s cubic-bezier(.6,0,.2,1); }
.pk-shop-switch a:hover { background-size: 100% 100%; text-decoration-color: transparent; }
.pk-next-ph { flex: none; display: grid; place-items: center; width: 132px; aspect-ratio: 960 / 667; border-radius: 4px; background: var(--pk-paper-2); font-size: 17px; font-weight: 700; letter-spacing: -.02em; }
.pk-shop-notfor { margin-top: 40px; max-width: 720px; }

/* schéma e-shopu: čtyři místa, kde cesta k nákupu drhne (stejná ukázka jako u nového e-shopu) */
.pk-wire-wrap { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px 64px; align-items: center; }
.pk-wire { position: relative; aspect-ratio: 100 / 66; container-type: inline-size; color: var(--pk-ink); line-height: 1.25; }
.pk-wire .b-page { top: 0; width: 70cqw; }
.pk-wire [data-area] { border-radius: .8cqw; outline: 0 solid transparent; outline-offset: .6cqw; transition: outline-color .25s, outline-width .25s; }
.w-detail {
  position: absolute; right: 0; top: 12cqw; width: 30cqw; display: flex; flex-direction: column; gap: .7cqw; padding: 1.6cqw;
  border-radius: 1cqw; background: #fff; box-shadow: 0 30px 60px -24px rgba(0,0,0,.75); font-size: 1.2cqw;
}
.w-detail-img { display: grid; place-items: center; height: 11cqw; border-radius: .7cqw; background: linear-gradient(150deg, #EFEADF, #D8CDB6); }
.w-detail-img i, .w-phone-img i { display: block; width: 7cqw; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #F6F1E6, #B5A383 72%); box-shadow: 0 1.4cqw 2cqw -1cqw rgba(60,45,20,.55); }
.w-detail-name { margin-top: .3cqw; font-size: 1.6cqw; font-weight: 700; letter-spacing: -.01em; }
.w-detail-stock { display: flex; align-items: center; gap: .6cqw; font-weight: 600; color: #3F6B2A; }
.w-detail-stock::before { content: ""; width: .9cqw; height: .9cqw; border-radius: 50%; background: #5E9A3C; }
.w-detail-label { margin-top: .2cqw; font-size: 1.05cqw; font-weight: 600; color: var(--pk-ink-2); }
.w-detail-vars { display: flex; gap: .6cqw; }
.w-detail-vars span { padding: .5cqw 1.1cqw; border-radius: .5cqw; box-shadow: inset 0 0 0 .15cqw #D5D8CE; font-weight: 500; }
.w-detail-vars .is-on { box-shadow: inset 0 0 0 .22cqw var(--pk-ink); font-weight: 600; }
.w-detail-buy { display: flex; align-items: center; justify-content: space-between; gap: 1cqw; margin-top: .4cqw; }
.w-detail-buy b { font-size: 1.8cqw; font-weight: 700; letter-spacing: -.02em; }
.w-detail-buy span { padding: .85cqw 1.8cqw; border-radius: 99px; background: var(--pk-lime); font-weight: 700; }
.w-detail-info { padding-top: .7cqw; border-top: .15cqw solid #E3E6DD; font-size: 1.05cqw; color: var(--pk-ink-2); }
.w-phone {
  position: absolute; left: 4cqw; top: 36cqw; width: 17cqw; height: 29cqw; display: flex; flex-direction: column; gap: .9cqw; padding: 1.4cqw 1.2cqw;
  border-radius: 2.4cqw; background: var(--pk-sheet); box-shadow: 0 0 0 .9cqw #2B3935, 0 30px 50px -20px rgba(0,0,0,.8); font-size: 1cqw;
}
.w-phone-head { display: flex; align-items: center; justify-content: space-between; }
.w-phone-head b { display: grid; place-items: center; width: 2.2cqw; height: 2.2cqw; border-radius: .4cqw; background: var(--pk-lime); font-size: 1.1cqw; transform: rotate(-5deg); }
.w-phone-head i { width: 2cqw; height: .3cqw; border-radius: 1px; background: var(--pk-ink); box-shadow: 0 .6cqw 0 var(--pk-ink), 0 -.6cqw 0 var(--pk-ink); }
.w-phone strong { font-size: 1.55cqw; font-weight: 700; line-height: 1.08; letter-spacing: -.03em; }
.w-phone-img { display: grid; place-items: center; flex: 1; border-radius: .7cqw; background: linear-gradient(150deg, #E9E5D9, #C8C0AC); }
.w-phone-img i { width: 6cqw; }
.w-phone-buy { padding: .8cqw; border-radius: 99px; background: var(--pk-lime); font-size: 1.1cqw; font-weight: 700; text-align: center; }
.pk-hot {
  position: absolute; z-index: 3; left: var(--x); top: var(--y); display: grid; place-items: center; width: 38px; height: 38px; margin: -19px 0 0 -19px;
  border: 0; border-radius: 50%; background: var(--pk-lime); color: var(--pk-ink); font: 700 16px/1 var(--pk-font); cursor: pointer;
  box-shadow: 0 0 0 3px var(--pk-ink), 0 10px 20px -8px rgba(0,0,0,.6); transition: transform .25s cubic-bezier(.2,.8,.2,1);
}
.pk-hot:hover, .pk-hot:focus-visible { transform: scale(1.12); }
.pk-hot:focus-visible { outline: 3px solid var(--pk-lime); outline-offset: 4px; }
.pk-scope { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--pk-on-ink-rule); }
.pk-scope li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 2px 16px; margin: 0 -12px; padding: 16px 12px; border-bottom: 1px solid var(--pk-on-ink-rule); border-radius: 6px; transition: background-color .25s; }
.pk-scope-n { grid-row: 1 / span 3; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; box-shadow: inset 0 0 0 2px var(--pk-on-ink-2); color: var(--pk-on-ink); font-weight: 700; transition: background-color .25s, color .25s, box-shadow .25s; }
.pk-scope .pk-scope-kind { margin: 0; font-size: 13px; font-weight: 600; color: var(--pk-on-ink-2); }
.pk-scope h3 { margin: 2px 0 0; font: 600 20px/1.2 var(--pk-font); letter-spacing: -.015em; color: #fff; }
.pk-scope li > p:last-child { margin: 6px 0 0; font-size: 15px; line-height: 1.5; color: var(--pk-on-ink-2); }
.pk-wire-wrap[data-active="1"] [data-area="1"], .pk-wire-wrap[data-active="2"] [data-area="2"],
.pk-wire-wrap[data-active="3"] [data-area="3"], .pk-wire-wrap[data-active="4"] [data-area="4"] { outline: .5cqw solid var(--pk-lime); }
.pk-wire-wrap[data-active="1"] li[data-hl="1"], .pk-wire-wrap[data-active="2"] li[data-hl="2"],
.pk-wire-wrap[data-active="3"] li[data-hl="3"], .pk-wire-wrap[data-active="4"] li[data-hl="4"] { background: rgba(238, 242, 236, .07); }
.pk-wire-wrap[data-active="1"] li[data-hl="1"] .pk-scope-n, .pk-wire-wrap[data-active="2"] li[data-hl="2"] .pk-scope-n,
.pk-wire-wrap[data-active="3"] li[data-hl="3"] .pk-scope-n, .pk-wire-wrap[data-active="4"] li[data-hl="4"] .pk-scope-n { background: var(--pk-lime); color: var(--pk-ink); box-shadow: none; }
.pk-wire-wrap[data-active="1"] .pk-hot[data-hl="1"], .pk-wire-wrap[data-active="2"] .pk-hot[data-hl="2"],
.pk-wire-wrap[data-active="3"] .pk-hot[data-hl="3"], .pk-wire-wrap[data-active="4"] .pk-hot[data-hl="4"] { transform: scale(1.15); }
.pk-scope-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 40px; margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--pk-on-ink-rule); }
.pk-scope-foot p { margin: 0; max-width: 72ch; font-size: 16px; line-height: 1.55; color: var(--pk-on-ink-2); }

/* přístup a cena */
.pk-shop-photo { justify-self: center; width: min(100%, 380px); }
.pk-split-head .pk-shop-price { margin: 0; font: 600 clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem)/1.15 var(--pk-font); letter-spacing: -.03em; color: var(--pk-ink); }
.pk-shop-price mark { background-repeat: no-repeat; }
.pk-offer { max-width: 560px; justify-self: center; width: 100%; }

@media (max-width: 1060px) {
  .pk-shop-hero .pk-page-hero-grid, .pk-wire-wrap { grid-template-columns: minmax(0, 1fr); }
  .pk-shop-compare { max-width: 640px; }
  .pk-offer { justify-self: start; }
}
@media (max-width: 640px) {
  .pk-spec--3 { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .pk-hot { width: 30px; height: 30px; margin: -15px 0 0 -15px; font-size: 14px; box-shadow: 0 0 0 2px var(--pk-ink), 0 8px 16px -8px rgba(0,0,0,.6); }
  .pk-next-ph { width: 96px; font-size: 14px; }
}
@media (prefers-reduced-motion: no-preference) {
  /* body schématu na sebe krátce upozorní */
  .pk-hot::after { content: ""; position: absolute; inset: -3px; border-radius: 50%; box-shadow: 0 0 0 3px var(--pk-lime); opacity: 0; }
  .pk-wire-wrap.is-in .pk-hot::after, .pk-wire.is-in .pk-hot::after { animation: pk-pulse 1.6s ease-out calc(.4s + var(--d, 0s)) 2; }
  .pk-hot[data-hl="2"] { --d: .15s; }
  .pk-hot[data-hl="3"] { --d: .3s; }
  .pk-hot[data-hl="4"] { --d: .45s; }
  .pk-shop-price.pk-r mark, .pk-split-head.pk-r .pk-shop-price mark { background-size: 0% 100%; transition: background-size .6s cubic-bezier(.6,0,.2,1) .5s; }
  .pk-split-head.pk-r.is-in .pk-shop-price mark { background-size: 100% 100%; }
}
@keyframes pk-pulse { 0% { opacity: .9; transform: scale(1); } 100% { opacity: 0; transform: scale(1.9); } }

/* ── Nový e-shop na Shoptetu ── */
/* list v úvodu: nejdřív tři otázky */
.pk-brief { justify-self: end; width: min(100%, 460px); margin: 0; padding: 26px 28px 22px; border-radius: 3px; background: var(--pk-sheet); box-shadow: var(--pk-paper-shadow); transform: rotate(1.2deg); }
.pk-brief-head { display: grid; gap: 6px; padding-bottom: 14px; border-bottom: 2px solid var(--pk-ink); }
.pk-brief-head span { font-size: 14px; font-weight: 600; color: var(--pk-ink-2); }
.pk-brief-head strong { font: 600 clamp(1.75rem, 1.4rem + 1vw, 2.375rem)/1.05 var(--pk-font); letter-spacing: -.035em; }
.pk-brief-lead { margin: 16px 0 10px; font-size: 15px; color: var(--pk-ink-2); }
.pk-brief-list { display: grid; margin: 0; padding: 0; list-style: none; }
.pk-brief-list li { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px dashed var(--pk-rule); font-size: 20px; font-weight: 600; letter-spacing: -.015em; }
.pk-brief-foot { margin: 16px 0 0; font-size: 15px; line-height: 1.5; color: var(--pk-ink-2); }

/* e-shop po vrstvách: čitelná ukázka, každá vrstva přidá to, co popisuje */
.pk-build-wrap { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 40px 56px; align-items: center; }
.pk-build { position: relative; aspect-ratio: 100 / 61; container-type: inline-size; color: var(--pk-ink); line-height: 1.25; }
.b-page { position: absolute; left: 0; top: 3cqw; width: 72cqw; overflow: hidden; border-radius: 1.2cqw; background: var(--pk-sheet); box-shadow: 0 40px 70px -40px rgba(0,0,0,.7); }
.b-bar { display: flex; align-items: center; gap: .7cqw; height: 3.4cqw; padding: 0 1.6cqw; background: #E1E4DB; }
.b-bar i { width: 1cqw; height: 1cqw; border-radius: 50%; background: #C4C9BD; }
.b-bar span { flex: 1; margin-left: 1.2cqw; padding: .35cqw 1.4cqw; border-radius: 99px; background: rgba(255,255,255,.85); font-size: 1.15cqw; color: var(--pk-ink-2); text-align: center; }
.b-body { display: flex; flex-direction: column; gap: 1.5cqw; padding: 2cqw 2.2cqw 2.4cqw; }
.b-box { position: relative; border-radius: .6cqw; }
.b-lbl {
  position: absolute; inset: 0; display: grid; place-items: center; padding: .4cqw; border-radius: inherit;
  outline: .2cqw dashed #AEB4A7; outline-offset: -.2cqw; font-size: 1.15cqw; font-weight: 600; line-height: 1.2; color: #6A746E; text-align: center;
  transition: opacity .4s ease;
}
.b-fill { display: flex; align-items: center; height: 100%; transition: opacity .45s ease .1s, transform .5s cubic-bezier(.2,.8,.2,1) .1s; }
.pk-build[data-step="1"] .b-fill { opacity: 0; transform: translateY(.6cqw); }
.pk-build:not([data-step="1"]) .b-lbl { opacity: 0; }
.b-head { display: flex; align-items: center; gap: 2cqw; height: 3.6cqw; }
.b-logo { width: 15cqw; height: 100%; }
.b-logo .b-fill { gap: .9cqw; font-size: 1.55cqw; font-weight: 700; letter-spacing: -.02em; white-space: nowrap; }
.b-logo b { display: grid; place-items: center; width: 3cqw; height: 3cqw; border-radius: .6cqw; background: var(--pk-lime); font-size: 1.5cqw; transform: rotate(-5deg); }
.b-search { flex: 1; height: 2.8cqw; }
.b-search .b-fill { padding: 0 1.4cqw; border-radius: 99px; box-shadow: inset 0 0 0 .18cqw #D5D8CE; font-size: 1.2cqw; color: #8A938E; }
.b-cart { width: 4.4cqw; height: 3.2cqw; }
.b-cart .b-fill { position: relative; justify-content: center; }
.b-cart svg { width: 2.5cqw; height: 2.5cqw; fill: none; stroke: var(--pk-ink); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.b-badge { position: absolute; top: -.5cqw; right: 0; display: grid; place-items: center; width: 1.9cqw; height: 1.9cqw; border-radius: 50%; background: var(--pk-lime); font-size: 1.05cqw; font-weight: 700; opacity: 0; transform: scale(.4); transition: opacity .3s ease, transform .4s cubic-bezier(.3,1.5,.5,1); }
.b-nav { height: 2.6cqw; }
.b-nav .b-fill { gap: 2.6cqw; padding: 0 .2cqw; border-bottom: .15cqw solid #E3E6DD; font-size: 1.2cqw; font-weight: 600; }
.b-hero { display: flex; gap: 1.6cqw; height: 17cqw; }
.b-msg { flex: 1; }
.b-msg .b-fill { flex-direction: column; align-items: flex-start; justify-content: center; gap: 1cqw; padding: 0 1cqw 0 .4cqw; }
.b-msg small { font-size: 1.1cqw; font-weight: 600; color: var(--pk-ink-2); }
.b-msg strong { font-size: 2.7cqw; font-weight: 700; line-height: 1.05; letter-spacing: -.04em; }
.b-msg em { margin-top: .4cqw; padding: .9cqw 1.8cqw; border-radius: 99px; background: var(--pk-ink); color: #fff; font-size: 1.2cqw; font-style: normal; font-weight: 600; }
.b-photo { width: 44%; }
.b-photo .b-fill { justify-content: center; overflow: hidden; border-radius: .8cqw; background: linear-gradient(150deg, #E9E5D9, #C8C0AC); }
.b-photo i { width: 52%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #F6F1E6, #B5A383 72%); box-shadow: 0 2cqw 3cqw -1.4cqw rgba(60,45,20,.55); }
.b-usp { height: 2.8cqw; }
.b-usp .b-fill { justify-content: space-between; padding: 0 1.4cqw; border-radius: .6cqw; background: var(--pk-paper-2); font-size: 1.15cqw; font-weight: 600; }
.b-usp .b-fill span::before { content: ""; display: inline-block; width: .9cqw; height: .45cqw; margin-right: .8cqw; border: solid var(--pk-ink); border-width: 0 0 .22cqw .22cqw; transform: translateY(-.25cqw) rotate(-45deg); }
.b-prods { display: flex; gap: 1.4cqw; }
.b-prod { flex: 1; height: 13.4cqw; }
.b-prod .b-fill { flex-direction: column; align-items: flex-start; gap: .5cqw; }
.b-prod i { display: block; width: 100%; height: 8.6cqw; border-radius: .6cqw; background: linear-gradient(150deg, #EEF0E8, #D2D6CA); }
.b-prod:nth-child(2) i { background: linear-gradient(150deg, #EFEADF, #D8CDB6); }
.b-prod:nth-child(3) i { background: linear-gradient(150deg, #E9EDE6, #C5CFC4); }
.b-prod span { font-size: 1.2cqw; font-weight: 600; }
.b-prod b { font-size: 1.3cqw; font-weight: 700; }
/* karty dalších vrstev */
.b-card {
  position: absolute; display: flex; flex-direction: column; gap: .8cqw; padding: 1.8cqw 2cqw; border-radius: 1cqw; background: #fff;
  box-shadow: 0 28px 56px -24px rgba(0,0,0,.75); font-size: 1.2cqw; opacity: 0; transform: translateY(2cqw);
  transition: opacity .45s ease, transform .55s cubic-bezier(.2,.8,.2,1);
}
.pk-build .b-card-title { margin: 0 0 .3cqw; font-size: 1.55cqw; font-weight: 700; letter-spacing: -.01em; }
.b-checkout { right: 0; top: 12cqw; width: 29cqw; }
.b-opt { display: flex; align-items: center; gap: .9cqw; padding: .75cqw 1cqw; border-radius: .6cqw; box-shadow: inset 0 0 0 .15cqw #E0E3DA; font-weight: 500; }
.b-opt::before { content: ""; flex: none; width: 1.3cqw; height: 1.3cqw; border-radius: 50%; box-shadow: inset 0 0 0 .2cqw #B9BEB2; }
.b-opt.is-on { box-shadow: inset 0 0 0 .2cqw var(--pk-ink); font-weight: 600; }
.b-opt.is-on::before { box-shadow: inset 0 0 0 .42cqw var(--pk-ink); }
.b-sep { height: .15cqw; margin: .2cqw 0; background: #E3E6DD; }
.b-order { margin-top: .4cqw; padding: .95cqw; border-radius: 99px; background: var(--pk-lime); font-weight: 700; text-align: center; }
.b-serp { left: 5cqw; top: 45cqw; width: 36cqw; gap: .45cqw; }
.b-url { font-size: 1.05cqw; color: #5A6660; }
.b-serp strong { font-size: 1.6cqw; font-weight: 700; line-height: 1.2; text-decoration: underline; text-decoration-thickness: .12cqw; text-underline-offset: .3cqw; }
.b-desc { font-size: 1.1cqw; line-height: 1.4; color: var(--pk-ink-2); }
.b-check { right: 1cqw; top: 44cqw; width: 25cqw; gap: .7cqw; }
.b-check span { display: flex; align-items: center; gap: .9cqw; font-weight: 600; }
.b-check span::before { content: ""; flex: none; width: 1.8cqw; height: 1.8cqw; border-radius: 50%; background: var(--pk-lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5 10 16.5 18 8' fill='none' stroke='%23101917' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 70% no-repeat; }
.pk-build[data-step="3"] .b-checkout, .pk-build[data-step="4"] .b-checkout,
.pk-build[data-step="3"] .b-badge, .pk-build[data-step="4"] .b-badge,
.pk-build[data-step="4"] .b-serp, .pk-build[data-step="4"] .b-check { opacity: 1; transform: none; }
.pk-build[data-step="4"] .b-check { transition-delay: .15s; }
/* seznam vrstev (ovládání) */
.pk-layers { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--pk-on-ink-rule); }
.pk-layers li { border-bottom: 1px solid var(--pk-on-ink-rule); }
.pk-layer {
  display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 2px 16px; width: calc(100% + 24px); margin: 0 -12px; padding: 16px 12px;
  border: 0; border-radius: 6px; background: transparent; color: var(--pk-on-ink); font: inherit; text-align: left; cursor: pointer; transition: background-color .25s;
}
.pk-layer:hover { background: rgba(238, 242, 236, .05); }
.pk-layer:focus-visible { outline: 3px solid var(--pk-lime); outline-offset: -3px; }
.pk-layer-n { grid-row: 1 / span 3; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; box-shadow: inset 0 0 0 2px var(--pk-on-ink-2); font-weight: 700; transition: background-color .3s, color .3s, box-shadow .3s; }
.pk-layer-kind { font-size: 13px; font-weight: 600; color: var(--pk-on-ink-2); }
.pk-layer strong { margin-top: 2px; font: 600 20px/1.2 var(--pk-font); letter-spacing: -.015em; color: #fff; }
.pk-layer-desc { margin-top: 6px; font-size: 15px; line-height: 1.5; color: var(--pk-on-ink-2); }
.pk-layers li.is-done .pk-layer-n { background: var(--pk-lime); color: var(--pk-ink); box-shadow: none; }
.pk-layer[aria-current="step"] { background: rgba(238, 242, 236, .07); }
.pk-extra-title { margin: 0 0 12px; font-size: 15px; font-weight: 600; color: var(--pk-on-ink); }
.pk-extra-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; }
.pk-extra-list li { padding: 4px 12px; border: 1.5px dashed rgba(238, 242, 236, .4); border-radius: 999px; font-size: 14px; font-weight: 500; color: var(--pk-on-ink); }
.pk-extra p:not(.pk-extra-title) { margin: 0; }

/* cena */
.pk-offer-wrap { display: grid; gap: 16px; justify-items: center; }
.pk-offer-note { max-width: 520px; margin: 0; font-size: 14px; line-height: 1.5; color: var(--pk-ink-2); }

@media (max-width: 1060px) {
  .pk-build-wrap { grid-template-columns: minmax(0, 1fr); }
  .pk-brief { justify-self: start; transform: none; }
  .pk-offer-wrap { justify-items: start; }
}
@media (max-width: 640px) {
  .pk-brief { padding: 22px 18px 18px; }
  .pk-brief-list li { font-size: 18px; }
}
@media (prefers-reduced-motion: no-preference) {
  /* otázky se v úvodu postupně odškrtnou */
  .pk-brief-list .pk-tick { animation: pk-tick-in .45s cubic-bezier(.3,1.5,.5,1) calc(.9s + var(--i) * .22s) backwards; }
}
@keyframes pk-tick-in { from { opacity: 0; transform: scale(.4); } }

/* ── Ochrana údajů, děkovací stránka, 404 ── */
.pk-legal-hero .pk-page-hero-grid { align-items: end; }
.pk-legal-hero h1 { font-size: clamp(2.5rem, 1.3rem + 4vw, 5.25rem); }
.pk-legal-hero h1 .pk-h1-sub { margin-top: .14em; font-size: .62em; line-height: 1.02; letter-spacing: -.04em; }
.pk-legal-date { margin: 16px 0 0; font-size: 15px; font-weight: 600; color: var(--pk-ink-2); }
.pk-legal-sum { justify-self: end; width: min(100%, 470px); padding: 24px 26px 22px; border-radius: 3px; background: var(--pk-sheet); box-shadow: var(--pk-paper-shadow); }
.pk-legal-sum-title { margin: 0 0 14px; padding-bottom: 12px; border-bottom: 2px solid var(--pk-ink); font: 700 18px/1.2 var(--pk-font); }
.pk-legal-sum ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.pk-legal-sum li { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.45; }
.pk-legal-sum .pk-tick { margin-top: -2px; }
.pk-legal { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 8fr); gap: 40px 72px; align-items: start; }
.pk-legal-toc { position: sticky; top: 104px; }
.pk-legal-toc p { margin: 0 0 12px; font-size: 14px; font-weight: 600; color: var(--pk-ink-2); }
.pk-legal-toc ol { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--pk-ink); counter-reset: pktoc; }
.pk-legal-toc li { counter-increment: pktoc; border-bottom: 1px solid var(--pk-rule); }
.pk-legal-toc a { display: grid; grid-template-columns: 26px minmax(0, 1fr); padding: 11px 0; font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--pk-ink-2); transition: color .2s; }
.pk-legal-toc a::before { content: counter(pktoc); color: var(--pk-ink-2); }
.pk-legal-toc a:hover, .pk-legal-toc a[aria-current="true"] { color: var(--pk-ink); }
.pk-legal-toc a[aria-current="true"] span, .pk-legal-toc a:hover span { background-size: 100% 100%; }
.pk-legal-toc a span { justify-self: start; padding: 0 .1em; margin: 0 -.1em; background: var(--pk-marker) no-repeat 0 0 / 0% 100%; transition: background-size .35s cubic-bezier(.6,0,.2,1); }
.pk-legal-body { max-width: 74ch; padding: clamp(24px, 3vw, 44px); border-radius: 3px; background: var(--pk-sheet); box-shadow: var(--pk-paper-shadow); }
.pk-legal-part { margin: 0 0 32px; padding-bottom: 32px; border-bottom: 1px solid var(--pk-rule); scroll-margin-top: 96px; }
.pk-legal-part:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.pk-legal-body.pk-prose h2 { display: flex; align-items: baseline; gap: 14px; margin: 0 0 16px; scroll-margin-top: 96px; }
.pk-legal-body h2 span { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--pk-lime); font-size: 15px; font-weight: 700; transform: translateY(-3px); }
.pk-legal-body strong { color: var(--pk-ink); }
.pk-legal-body li + li { margin-top: 6px; }

.pk-thanks .pk-page-hero-grid { align-items: center; }
.pk-thanks-sign { display: flex; align-items: center; gap: 14px; margin-top: 26px; }
.pk-thanks-sign img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; object-position: 50% 22%; }
.pk-thanks-sign p { margin: 0; display: grid; gap: 2px; font-size: 15px; color: var(--pk-ink-2); }
.pk-thanks-sign a { color: var(--pk-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pk-thanks-receipt { margin-bottom: 36px; }
.pk-thanks-receipt .pk-receipt-head strong::before { content: ""; display: inline-block; width: 22px; height: 22px; margin: 0 8px -4px 0; border-radius: 50%; background: var(--pk-lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5 10 16.5 18 8' fill='none' stroke='%23101917' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 70% no-repeat; }
.pk-thanks-next { margin: 20px 0 4px; font-size: 14px; font-weight: 600; color: var(--pk-ink-2); }

.pk-404-hero .pk-page-hero-grid { align-items: center; }
.pk-404-note {
  position: relative; justify-self: center; display: grid; place-content: center; justify-items: center; gap: 14px; width: min(100%, 380px); aspect-ratio: 1;
  padding: 32px; background: var(--pk-sheet); box-shadow: 0 1px 1px rgba(16,25,23,.07), 0 30px 50px -30px rgba(16,25,23,.45); transform: rotate(-3deg);
}
.pk-404-note::before { content: ""; position: absolute; top: -14px; left: 50%; width: 110px; height: 30px; margin-left: -55px; background: rgba(216, 255, 62, .8); box-shadow: 0 1px 2px rgba(16,25,23,.1); transform: rotate(4deg); }
.pk-404-num { font: 700 clamp(5rem, 3rem + 6vw, 9rem)/.9 var(--pk-font); letter-spacing: -.06em; color: var(--pk-ink-3); }
.pk-404-num s { text-decoration: none; background: linear-gradient(var(--pk-ink), var(--pk-ink)) no-repeat 0 56% / 100% .07em; }
.pk-404-text { padding: 0 .12em; background: var(--pk-marker); font-size: 20px; font-weight: 600; }
.pk-board--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 1060px) {
  .pk-legal { grid-template-columns: minmax(0, 1fr); }
  .pk-legal-toc { position: static; }
  .pk-legal-sum { justify-self: start; }
  .pk-board--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .pk-board--3 { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .pk-404-note { width: min(100%, 300px); justify-self: start; }
}
@media (max-width: 640px) {
  .pk-legal-body { padding: 22px 18px; }
  .pk-legal-body h2 span { width: 28px; height: 28px; font-size: 14px; }
}
@media (prefers-reduced-motion: no-preference) {
  .pk-404-num s { animation: pk-strike .5s cubic-bezier(.6,0,.2,1) .8s both; }
}

/* podmínky dlouhodobé spolupráce (výpis ze smlouvy) */
.pk-terms { margin: 0; padding: 28px 32px 14px; border-radius: 3px; background: var(--pk-sheet); box-shadow: var(--pk-paper-shadow); }
.pk-terms-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 14px; padding-bottom: 14px; border-bottom: 2px solid var(--pk-ink); }
.pk-terms-head strong { font: 700 20px/1.2 var(--pk-font); }
.pk-terms-head > span { font-size: 14px; color: var(--pk-ink-2); }
.pk-terms dl { margin: 0; }
.pk-terms dl div { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 4px 20px; padding: 16px 0; border-bottom: 1px dashed var(--pk-rule); }
.pk-terms dl div:last-child { border-bottom: 0; }
.pk-terms dt { font-size: 15px; font-weight: 700; line-height: 1.5; }
.pk-terms dd { margin: 0; font-size: 16px; line-height: 1.55; color: var(--pk-ink-2); }
.pk-terms dd mark { color: var(--pk-ink); font-weight: 600; background-repeat: no-repeat; }
.pk-faq details p a { color: var(--pk-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
  .pk-terms { padding: 22px 18px 8px; }
  .pk-terms dl div { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: no-preference) {
  .pk-terms.pk-r dd mark { background-size: 0% 100%; transition: background-size .6s cubic-bezier(.6,0,.2,1) .5s; }
  .pk-terms.pk-r.is-in dd mark { background-size: 100% 100%; }
}

/* ── Zlomy sekcí ── */
@media (max-width: 1060px) {
  .pk-split, .pk-about, .pk-own, .pk-final-grid, .pk-sec-head, .pk-team-grid { grid-template-columns: minmax(0, 1fr); }
  .pk-split-head { position: static; }
  .pk-about-photo { max-width: 420px; }
  .pk-footer-top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pk-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .pk-prices { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .pk-works { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pk-price--sheet { transform: none; }
  .pk-price--sheet { margin: 16px 0; }
}
@media (max-width: 640px) {
  .pk-about-photo img { aspect-ratio: 1 / 1; object-position: 50% 20%; }
  .pk-price--sheet .pk-btn { width: 100%; font-size: 16px; padding: 12px 18px; }
  .pk-sticker { top: -12px; right: 16px; font-size: 14px; padding: 7px 12px; }
  .pk-services li { grid-template-columns: minmax(0, 1fr); }
  .pk-services small { grid-column: 1; }
  .pk-works { grid-template-columns: minmax(0, 1fr); }
  .pk-facts { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .pk-final-actions .pk-btn { width: 100%; }
  .pk-footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
  .pk-footer-col ul { gap: 0; }
  .pk-footer-col a { display: inline-block; padding: 10px 0; }
  .pk-footer-bottom a, .pk-footer .cookie-reopen { padding: 10px 0; }
}

/* =============================================================================
   Pohyb: jemně a plynule
============================================================================= */
@media (prefers-reduced-motion: no-preference) {
  /* náběh obsahu při scrollu (zapíná ho skript, bez JS je vše vidět) */
  .pk-r { opacity: 0; translate: 0 22px; transition: opacity .7s ease var(--rd, 0s), translate .9s cubic-bezier(.2,.8,.2,1) var(--rd, 0s); }
  .pk-r.is-in { opacity: 1; translate: 0 0; }
  /* fix na „Začneme:“ a „Doporučený začátek“ přejede až po náběhu */
  .pk-price--sheet.pk-r .pk-price-flag mark { background-size: 0% 100%; background-repeat: no-repeat; transition: background-size .6s cubic-bezier(.6,0,.2,1) calc(var(--rd, 0s) + .45s); }
  .pk-price--sheet.pk-r.is-in .pk-price-flag mark { background-size: 100% 100%; }

  /* plán se při přepnutí položí a fix přejede nadpis */
  .pk-plan-card { animation: pk-plan-in .45s cubic-bezier(.2,.8,.2,1) both; }
  .pk-plan-card h3 mark { animation: pk-mark-in .6s cubic-bezier(.6,0,.2,1) .2s both; background-repeat: no-repeat; }
  /* balíček papírů se při náběhu rozloží */
  .pk-stack.pk-r .pk-stack-card:not(.pk-stack-card--me) { transform: translate(-50%, -50%) rotate(0) scale(.96); }
  .pk-stack.pk-r.is-in .pk-stack-card:not(.pk-stack-card--me) { transform: translate(-50%, calc(-50% - var(--i) * 52px)) rotate(calc((var(--i) - 1.5) * 3deg)) scale(calc(1 - var(--i) * .04)); transition-duration: .8s; transition-delay: calc(.3s + var(--i) * .08s); }

  /* úvod podstránky: stejný rytmus jako na homepage */
  .pk-page-hero h1 { animation: pk-rise .9s cubic-bezier(.2,.8,.2,1) both; }
  .pk-page-lead, .pk-page-hero .pk-byline, .pk-page-hero .pk-actions { animation: pk-rise .8s cubic-bezier(.2,.8,.2,1) .18s both; }
  .pk-page-hero-grid > :last-child:not(:first-child) { animation: pk-drop 1s cubic-bezier(.2,.8,.2,1) .32s both; }

  /* úvodní sekvence: nadpis vyjede, pak text, papír se položí a přejede ho fix */
  .pk-h1 .ln > span { animation: pk-line 1s cubic-bezier(.2,.8,.2,1) both; }
  .pk-h1 .ln:nth-child(2) > span { animation-delay: .08s; }
  .pk-h1 .ln:nth-child(3) > span { animation-delay: .16s; }
  .pk-lead, .pk-actions, .pk-byline { animation: pk-rise .8s cubic-bezier(.2,.8,.2,1) .4s both; }
  .pk-note { animation: pk-drop 1s cubic-bezier(.2,.8,.2,1) .5s both; }
  .site-header { animation: pk-fade .6s ease both; }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 560px) {
  .pk-stack.pk-r.is-in .pk-stack-card:not(.pk-stack-card--me) { transform: translate(-50%, calc(-50% - var(--i) * 42px)) rotate(calc((var(--i) - 1.5) * 3deg)) scale(calc(1 - var(--i) * .04)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
@keyframes pk-line { from { transform: translateY(110%); } }
@keyframes pk-rise { from { opacity: 0; transform: translateY(18px); } }
@keyframes pk-fade { from { opacity: 0; } }
@keyframes pk-plan-in { from { opacity: 0; translate: 0 14px; } }
@keyframes pk-mark-in { from { background-size: 0% 100%; } to { background-size: 100% 100%; } }
@keyframes pk-drop { from { opacity: 0; transform: translateY(28px) rotate(2.5deg); } }
