/* Komfy cinematic · Ben v6 integration, 16 October 2026.
   Additive sandbox layer. The original shared brand block stays intact.
   Content is readable without JavaScript; native document scrolling is preserved. */
/* Farby (10. 11. 2026): táto vrstva už nemá vlastnú paletu. Úlohy --bg, --ink, --accent a ďalšie sú v komfy-brand.css
   a berú hodnoty z tokenov --komfy-* (komfy-identita.css). Žiara v pozadí je z medi, nie z modrej. */
body.cinematic {
  --cm-edge: clamp(20px, 4.3vw, 72px);
  --cm-space: clamp(80px, 10vw, 160px);
  --cm-ease: cubic-bezier(.22, 1, .36, 1);
  background: radial-gradient(ellipse at 85% 12%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 42%), var(--bg);
  color: var(--ink);
}
body.cinematic :is(main, section, article, figure) { min-width: 0; }
body.cinematic :is(h1,h2,h3,h4,p,li,summary,a,.cat-name,.ps-title,.tier-cell) { overflow-wrap: break-word; }
body.cinematic :is(h1,h2,h3,h4) { text-wrap: balance; }
body.cinematic :is(.wrap,.hero,.section,.editorial,.process,.promise,.faq,.academy-entry) {
  width: calc(100% - 2 * var(--cm-edge));
  max-width: var(--width);
  margin-inline: auto;
}
/* Tlačidlá, fokus, nadtitulky a škála písma sú v komfy-brand.css a komfy-redesign.css; táto vrstva ich neprepisuje. */
body.cinematic .skip { z-index: 100; }

/* Hlavička a päta (.ka-header, .ka-footer) sú v komfy-brand.css, rovnaké ako v akadémii. */

/* Main page: space and typographic rhythm rather than repeated boxes. */
body.cinematic .academy-entry { position: relative; padding-block: var(--cm-space); grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(40px,7vw,108px); border-block: 0; }
body.cinematic .academy-copy .rd-cap { margin: 0 0 22px; }
body.cinematic .academy-entry h2 { font-size: clamp(2rem,3.5vw,var(--komfy-fs-section)); }
body.cinematic .academy-player { border-radius: var(--radius-card); box-shadow: 0 28px 90px -45px #000b; }
body.cinematic .academy-film figcaption { line-height: 1.65; margin-top: 20px; }
body.cinematic .rd-journey {
  --rd-from: var(--bg);
  --rd-to: var(--work);
  padding: var(--cm-space) 0;
  border-block: 1px solid var(--line);
  background: radial-gradient(ellipse at 12% 25%, color-mix(in srgb, var(--accent) 4%, transparent), transparent 55%), var(--work);
  color: var(--ink);
}
body.cinematic .rd-journey-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(40px,9vw,144px); }
body.cinematic .rd-journey :is(.rd-cap,h2,.rd-journey-lead) { color: var(--ink); }
body.cinematic .rd-journey .rd-cap { color: var(--accent-ink); }
body.cinematic .rd-journey .rd-sub { color: var(--accent-ink); }
body.cinematic .rd-journey-lead { color: var(--muted); }
body.cinematic .rd-steps { gap: 0; counter-reset: steps; }
body.cinematic .rd-step {
  position: relative;
  grid-template-columns: 56px minmax(0,1fr);
  gap: 10px 24px;
  padding: 34px 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.cinematic .rd-step:last-child { border-bottom: 1px solid var(--line); }
body.cinematic .rd-step .rd-tag { grid-row: 1 / span 2; }
body.cinematic .rd-step p { grid-column: 2; color: var(--muted); }
body.cinematic .rd-section { padding-block: var(--cm-space); }
body.cinematic .rd-section-head { max-width: 1080px; margin-bottom: 64px; }
body.cinematic .rd-section-head h2 { max-width: 25ch; }
body.cinematic .rd-duo { gap: clamp(32px,8vw,128px); }
body.cinematic .rd-duo article { padding: 32px 0 0; border: 0; border-top: 1px solid var(--accent-line); border-radius: 0; background: transparent; box-shadow: none; }
body.cinematic .rd-duo h3 { margin-bottom: 20px; }
body.cinematic .rd-duo p { max-width: 50ch; }
body.cinematic .rd-facts { margin-top: 80px; padding-block: 40px; gap: 40px; }
body.cinematic .rd-facts li { align-items: flex-start; gap: 20px; }
body.cinematic .rd-facts strong { font-size: clamp(3.5rem,6vw,var(--komfy-fs-hero)); line-height: 1; }
body.cinematic .rd-facts span { padding-top: 5px; }
body.cinematic .rd-status { margin-block: 32px 24px; }
body.cinematic .rd-access { position: relative; padding-block: var(--cm-space); background: radial-gradient(ellipse at 80% 100%, color-mix(in srgb, var(--accent) 6%, transparent), transparent 60%),var(--work); }
body.cinematic .rd-access-grid { gap: clamp(40px,8vw,128px); align-items: center; }
body.cinematic .rd-access .rd-actions { margin-top: 32px; }
body.cinematic .rd-about { padding-block: var(--cm-space); gap: clamp(40px,9vw,144px); align-items: center; }
body.cinematic .rd-about h2 { max-width: 16ch; }
body.cinematic .rd-contact { position: relative; padding-block: var(--cm-space); text-align: left; }
body.cinematic .rd-contact h2 { margin-bottom: 28px; }
body.cinematic .rd-contact > p { margin: 0 0 36px; max-width: 52ch; }
body.cinematic .rd-contact .cta-email { display: inline-flex; margin: 0 0 0 28px; }
body.cinematic .rd-legacy { padding-block: 32px; }

/* Tri cesty: akadémia, Rada pre maily a hotové veci vedľa seba, s veľkým poradovým číslom. */
body.cinematic .cm-options { padding-block: var(--cm-space); border-block: 1px solid var(--line); }
body.cinematic .cm-options > .wrap { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(32px,4vw,64px); }
body.cinematic .cm-options-head { grid-column: 1 / -1; }
body.cinematic .cm-option { display: grid; grid-template-columns: 1fr; align-content: start; gap: 20px; min-width: 0; }
body.cinematic :is(.cm-option-number,.cm-option-num) { font: 500 clamp(3rem,5vw,5rem)/1 var(--font-display); color: var(--accent-ink); letter-spacing: -.06em; }
body.cinematic .cm-option h2 { font-size: var(--komfy-fs-h2); margin: 16px 0 24px; }
body.cinematic .cm-option p:not(.rd-cap) { color: var(--muted); margin-bottom: 24px; }
body.cinematic .cm-divider { padding-block: 40px; border-block: 1px solid var(--line); color: var(--muted); }

/* Subpages: the same atmosphere, quieter than Ben's introduction. */
body.cinematic:not(.home) .hero { position: relative; padding-block: clamp(80px,10vw,148px) clamp(72px,9vw,132px); }
body.cinematic:not(.home) .hero::before { content: ''; position: absolute; width: min(60vw,700px); aspect-ratio: 1; top: -20%; right: -1%; border: 1px solid var(--accent-line); border-radius: 50%; opacity: .28; z-index: -1; pointer-events: none; }
body.cinematic:not(.home) .hero h1 { max-width: 17ch; margin-bottom: 48px; }
body.cinematic .hero-lede { max-width: 52ch; }
body.cinematic .hero-grid { grid-template-columns: minmax(0,1.3fr) minmax(0,.8fr); gap: clamp(40px,9vw,144px); }
body.cinematic .hero-meta { border-color: var(--line); padding-left: 32px; }
body.cinematic .hero-meta-label { color: var(--soft); }
body.cinematic .hero-meta-value { color: var(--ink); }
body.cinematic .hero-ctas { margin-top: 40px; }
body.cinematic :is(.editorial,.process,.promise,.faq) { padding-block: var(--cm-space); }
body.cinematic .strip { padding: 40px var(--cm-edge); background: var(--work); }
body.cinematic .strip-inner { grid-template-columns: .7fr 2fr; }
body.cinematic .strip-label { margin: 0; }
body.cinematic .ed-head { gap: clamp(40px,8vw,128px); padding-bottom: 72px; }
body.cinematic .ed-row { grid-template-columns: 72px minmax(0,1fr) minmax(0,1.1fr); gap: 40px; padding-block: 48px; }
body.cinematic .ed-numeral { font-size: 44px; }
body.cinematic .ed-row h3 { max-width: 22ch; }
body.cinematic :is(.catalog-section,.services-bg,.products-bg,.case,.final) { padding: var(--cm-space) var(--cm-edge); background: var(--work); border-block: 1px solid var(--line); }
body.cinematic .products-bg { background: transparent; }
body.cinematic .cat-head { gap: clamp(40px,8vw,128px); padding-bottom: 72px; }
body.cinematic :is(.cat-card,.srv-card,.prod-card) { border: 1px solid var(--line); border-radius: var(--radius-card); background: var(--bg); padding: 36px 30px; box-shadow: none; }
body.cinematic :is(.cat-card,.srv-card,.prod-card):hover { border-color: var(--accent-line); }
body.cinematic .cat-card.featured { border-color: var(--accent-line); background: var(--panel); box-shadow: 0 16px 64px -48px var(--accent); }
body.cinematic .cat-badge { top: -17px; left: 26px; padding: 4px 14px; border: 1px solid var(--accent-line); font-weight: 600; }
body.cinematic .cat-code { margin-bottom: 28px; }
body.cinematic .cat-name { font-size: clamp(1.65rem,2.3vw,var(--komfy-fs-h2)); }
body.cinematic .cat-price { font-size: clamp(3.25rem,4.3vw,4.5rem); color: var(--accent-ink); }
body.cinematic .cat-price-wrap { min-height: 110px; align-content: start; }
body.cinematic .cat-time { margin-block: 20px 28px; }
body.cinematic .cat-list { margin-block: 24px 32px; }
body.cinematic .cat-list li { padding-block: 9px; }
body.cinematic .tier-section { margin-top: 88px; padding-top: 64px; }
body.cinematic .tier-head { gap: 64px; margin-bottom: 40px; }
body.cinematic .tier-cell { padding: 24px; }
body.cinematic .tier-cell.label { color: var(--ink); }
body.cinematic .tier-cell.price { font-size: var(--komfy-fs-h3); }
body.cinematic :is(.cat-foot-note,.tier-foot) { margin-top: 32px; }
body.cinematic .process { gap: clamp(40px,8vw,128px); align-items: start; }
body.cinematic .process-grid { gap: 0; }
body.cinematic .process-step { position: static !important; margin: 0 !important; padding: 32px 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
body.cinematic .process-step:last-child { border-bottom: 1px solid var(--line); }
body.cinematic .process-grid::after { content: none !important; }
body.cinematic .process-head { position: static !important; }
body.cinematic .process-step .ps-num { margin-bottom: 20px; }
body.cinematic .process-step .ps-title { font-size: clamp(1.5rem,2vw,var(--komfy-fs-h2)); }
body.cinematic .case-inner { gap: clamp(40px,8vw,128px); }
body.cinematic .case-right { padding: 24px 32px; background: var(--bg); border: 1px solid var(--line); box-shadow: 0 32px 80px -55px #0008; }
body.cinematic .case-finding { padding-block: 28px; }
body.cinematic .case-meta { margin-top: 48px; gap: 28px; }
body.cinematic .promise-inner { border-block: 0; padding-block: 0; gap: 64px; }
body.cinematic .faq { max-width: 1120px; }
body.cinematic .faq-head { max-width: 900px; margin-bottom: 56px; }
body.cinematic .faq-item { border-color: var(--line); }
body.cinematic .faq-item summary { font-size: var(--komfy-fs-h3); padding-block: 28px; gap: 24px; }
body.cinematic .faq-item p { padding-bottom: 32px; }
body.cinematic .final { background: radial-gradient(ellipse at 50% 100%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 65%), var(--work); }
body.cinematic .final-inner { max-width: 1100px; }
body.cinematic .final-ctas { margin-top: 40px; }
body.cinematic .final-contacts { gap: 64px; margin-top: 64px; padding-top: 40px; }
body.cinematic .nf-main { min-height: calc(100svh - 100px); padding-block: var(--cm-space); }
body.cinematic .nf-main h1 { max-width: 14ch; }

body.cinematic .cm-reading-progress { position: fixed; z-index: 90; top: 0; left: 0; width: 100%; height: 2px; background: var(--accent); transform: scaleX(var(--cm-read,0)); transform-origin: left; pointer-events: none; }

@media (max-width: 1000px) {
  body.cinematic .cm-options > .wrap { grid-template-columns: 1fr; gap: 64px; }
  body.cinematic .cm-option + .cm-option { border-top: 1px solid var(--line); padding-top: 48px; }
  body.cinematic .cm-option { grid-template-columns: 72px minmax(0,1fr); gap: 20px; }
  body.cinematic .cm-option h2 { font-size: clamp(1.8rem,6vw,var(--komfy-fs-h1)); }
  body.cinematic .cat-grid { grid-template-columns: 1fr; gap: 32px; }
  body.cinematic .cat-card { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.3fr); gap: 0 40px; padding: 40px; }
  body.cinematic .cat-card > :is(.cat-divider,.cat-list,.cat-cta) { grid-column: 2; }
  body.cinematic .cat-card > .cat-divider { grid-row: 1; border: 0; }
  body.cinematic .cat-card > .cat-list { grid-row: 1 / span 6; margin-top: 0; }
  body.cinematic .cat-card > .cat-cta { grid-row: 7; }
  body.cinematic .cat-card .cat-name { max-width: 17ch; }
  body.cinematic .cat-card .cat-badge { grid-column: auto; }
  body.cinematic .products-grid { grid-template-columns: 1fr; gap: 0; }
  body.cinematic .prod-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(160px,.3fr); gap: 64px; border-radius: 0; padding: 40px 0; border: 0; border-top: 1px solid var(--line); background: transparent; }
  body.cinematic .prod-bottom { margin: 0; padding: 0; border: 0; align-content: center; flex-direction: column; align-items: flex-start; justify-content: center; }
  body.cinematic .prod-card h3 { max-width: 27ch; }
}
@media (max-width: 900px) {
  body.cinematic .rd-journey-grid, body.cinematic .rd-access-grid, body.cinematic .rd-about { grid-template-columns: 1fr; gap: 48px; }
  body.cinematic .rd-journey-head { max-width: 45rem; }
  body.cinematic .rd-journey-lead { max-width: 56ch; }
  body.cinematic .academy-entry { grid-template-columns: 1fr; gap: 40px; }
  body.cinematic .academy-entry h2 { max-width: 24ch; }
  body.cinematic .hero-grid, body.cinematic .ed-head, body.cinematic .cat-head, body.cinematic .case-inner, body.cinematic .tier-head, body.cinematic .promise-inner { grid-template-columns: 1fr; gap: 36px; }
  body.cinematic .hero-meta { padding: 28px 0 0; border: 0; border-top: 1px solid var(--line); max-width: 54ch; }
  body.cinematic .ed-row { grid-template-columns: 64px minmax(0,1fr); gap: 24px; }
  body.cinematic .ed-row > p { grid-column: 2; }
  body.cinematic .process { grid-template-columns: 1fr; gap: 48px; }
  body.cinematic .tier-matrix { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body.cinematic .tier-cell { padding: 20px; }
  body.cinematic .tier-cell.head-segment { display: none; }
  body.cinematic .tier-cell.label { grid-column: 1 / -1; border-right: 0; background: var(--panel); }
  body.cinematic .tier-cell:nth-child(4n+1) { border-right: 0; }
  body.cinematic .tier-cell:nth-child(4n) { border-right: 1px solid var(--line); }
}
@media (max-width: 760px) {
  body.cinematic .cm-option { grid-template-columns: 56px minmax(0,1fr); }
  body.cinematic { --cm-space: 80px; --cm-edge: 24px; }
  body.cinematic .rd-section-head { margin-bottom: 48px; }
  body.cinematic .rd-duo { grid-template-columns: 1fr; gap: 36px; }
  body.cinematic .rd-facts { grid-template-columns: 1fr; gap: 32px; padding-block: 32px; margin-top: 48px; }
  body.cinematic .rd-facts strong { width: 1.3em; font-size: 64px; }
  body.cinematic .rd-facts span { max-width: 28ch; }
  body.cinematic .rd-step { padding-block: 30px; grid-template-columns: 42px minmax(0,1fr); gap: 12px 16px; }
  body.cinematic .rd-contact .cta-email { display: flex; width: fit-content; margin: 20px 0 0; }
  body.cinematic:not(.home) .hero { padding-block: 72px 80px; }
  body.cinematic:not(.home) .hero h1 { margin-bottom: 36px; }
  body.cinematic .hero-grid { gap: 28px; }
  body.cinematic .hero-meta { padding-top: 28px; }
  body.cinematic .hero-ctas, body.cinematic .final-ctas { gap: 16px; align-items: stretch; }
  body.cinematic .hero-ctas > a, body.cinematic .final-ctas > a { max-width: 100%; }
  body.cinematic .strip { padding-block: 32px; }
  body.cinematic .strip-inner { grid-template-columns: 1fr; gap: 20px; }
  body.cinematic .ed-head, body.cinematic .cat-head { padding-bottom: 48px; }
  body.cinematic .ed-row { grid-template-columns: 40px minmax(0,1fr); gap: 16px; padding-block: 36px; }
  body.cinematic .ed-row h3 { font-size: 1.5rem; }
  body.cinematic .ed-numeral { font-size: 30px; }
  body.cinematic .cat-card { display: flex; padding: 32px 24px; gap: 0; }
  body.cinematic .cat-card > .cat-divider { border-top: 1px solid var(--line); }
  body.cinematic .cat-card > .cat-list { margin-top: 24px; }
  body.cinematic .cat-card .cat-name { max-width: none; }
  body.cinematic .cat-price-wrap { min-height: 0; }
  body.cinematic .cat-price { font-size: 56px; }
  body.cinematic .tier-section { margin-top: 64px; padding-top: 48px; }
  body.cinematic .tier-cell { padding: 18px 12px; }
  body.cinematic .case-right { padding: 12px 24px; }
  body.cinematic .case-meta { grid-template-columns: 1fr; }
  body.cinematic .final-contacts { gap: 32px; margin-top: 48px; padding-top: 32px; }
}
@media (max-width: 420px) {
  body.cinematic { --cm-edge: 20px; }
  body.cinematic .cm-option { grid-template-columns: 1fr; gap: 16px; }
  body.cinematic .cm-option-number { font-size: 48px; }
  body.cinematic .prod-card { display: flex; padding-block: 32px; gap: 28px; }
  body.cinematic .prod-bottom { flex-direction: row; justify-content: space-between; align-items: center; width: 100%; }
  body.cinematic .tier-cell { padding: 16px 9px; }
  body.cinematic .tier-price-unit { line-height: 1.5; }
  body.cinematic .academy-play { gap: 8px; padding: 12px 14px; }
  body.cinematic .video-length { padding-left: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  body.cinematic *, body.cinematic *::before, body.cinematic *::after { animation: none !important; transition: none !important; }
  body.cinematic .cm-reading-progress { display: none; }
}
html[data-ka-motion=reduced] body.cinematic *, html[data-ka-motion=reduced] body.cinematic *::before, html[data-ka-motion=reduced] body.cinematic *::after { animation: none !important; transition: none !important; }
html[data-ka-motion=reduced] body.cinematic .cm-reading-progress { display: none; }
@media (forced-colors: active) {
  body.cinematic { background: Canvas; color: CanvasText; }
  body.cinematic .cm-reading-progress { display: none; }
}
@media print {
  body.cinematic { --bg: #fff; --work: #fff; --panel: #fff; --ink: #111; --muted: #333; --soft: #444; --line: #bbb; background: #fff; color: #111; }
  body.cinematic .cm-reading-progress { display: none; }
  body.cinematic :is(.rd-journey,.rd-access,.final) { background: #fff; }
}
