/* Krótkowzroczność.pl — visual system 2.0
   Layer loaded last. It changes presentation only; application and tracking logic stay untouched. */

:root {
  --v2-page-gutter: clamp(20px, 4vw, 72px);
  --v2-section-gutter: clamp(24px, 4.5vw, 80px);
  --v2-radius: 16px;
  --v2-ease: cubic-bezier(.16, 1, .3, 1);
  --v2-border: rgba(38, 57, 62, .18);
  --v2-shadow-1: 0 12px 30px -24px rgba(23, 35, 42, .34);
  --v2-shadow-2: 0 22px 58px -38px rgba(18, 32, 39, .48);
  --v2-shadow-3: 0 32px 78px -46px rgba(15, 27, 34, .6);
  --v2-nav-light: #9fb1ad;
  --v2-nav-mid: #3f5962;
  --v2-nav-dark: #121e26;
}

html { scroll-padding-top: 112px; }
body { overflow-x: clip; }
html body.rlrl-evidence-body { background: #c8d0ce !important; }
html body :is(.access-page, .archive-page) {
  background: transparent !important;
}
body :where(a, button, input, select, textarea, summary) { -webkit-tap-highlight-color: rgba(80, 126, 147, .22); }
body :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #3d7593;
  outline-offset: 3px;
}
body :where(button, input, select, textarea):not(.mp-page *):disabled,
body :where(button, input, select, textarea):not(.mp-page *)[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .58;
  filter: saturate(.72);
}

/* One continuous navigation field: the black figure sits on the light end,
   while the white wordmark begins where the field is already dark. */
html body .kz-header__inner.kz-wrap {
  border: 1px solid rgba(194, 220, 221, .5) !important;
  background: linear-gradient(105deg,
    var(--v2-nav-light) 0%,
    #809693 7%,
    var(--v2-nav-mid) 15%,
    #263e48 34%,
    #1c3039 64%,
    var(--v2-nav-dark) 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 24px 60px -38px rgba(12,26,33,.72) !important;
}
/* In light mode the gradient above is the complete header surface.
   Keep the outer header transparent so the page canvas remains one continuous field. */
html.kz-theme-light body :is(.kz-header, .site-header) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
html body .kz-header :is(.kz-nav a, .kz-nav__trigger, .kz-brand, .kz-brand__name,
  .kz-brand__title, .kz-logo-text, .kz-logo-wordmark, .kz-logo.kz-brand__wordmark) {
  color: #f8f6ee !important;
}
html.kz-theme-light body .kz-header .kz-logo.kz-brand__wordmark span,
html.kz-theme-light body .kz-header .kz-nav__chevron {
  color: inherit !important;
}
html body .kz-header :is(.kz-a11y-launch, .kz-mobile-menu-toggle) {
  min-width: 44px;
  min-height: 44px;
  border-color: rgba(212, 231, 232, .42) !important;
  background: rgba(13, 29, 37, .26) !important;
  color: #f8f6ee !important;
}
html body .kz-header .kz-a11y-launch--header {
  width: auto;
  height: 44px;
  min-width: 76px;
  min-height: 44px;
  margin-left: auto;
  padding: 0 12px;
  border-radius: 999px;
}
html body .kz-header .kz-a11y-launch--header .kz-a11y-label-full {
  position: static;
  display: inline-block;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  clip-path: none;
  color: #f8f6ee !important;
  white-space: nowrap;
}
html body .kz-header .kz-a11y-launch--header .kz-a11y-label-short {
  display: none;
}
html body .kz-header .kz-nav {
  align-items: center;
  gap: clamp(5px, .72vw, 13px);
  margin-left: 0;
}
html body .kz-header .kz-nav > .kz-nav__dropdown {
  display: inline-flex;
  align-items: center;
  height: 44px;
}
html body .kz-header .kz-nav > a,
html body .kz-header .kz-nav__trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  min-height: 44px;
  padding-top: 0;
  padding-right: 6px;
  padding-bottom: 0;
  padding-left: 6px;
  font-family: Bahnschrift, "Aptos Display", "Segoe UI", Arial, sans-serif;
  line-height: 1;
}
html body .kz-header .kz-mobile-menu-toggle span { background: #f8f6ee !important; }
html body .kz-header .kz-hash {
  min-height: 44px;
  color: #fff1dc !important;
  border: 1px solid rgba(231, 174, 112, .38) !important;
  background: rgba(184, 114, 55, .16) !important;
}
html body .kz-nav__submenu {
  top: calc(100% + 16px);
  padding: 10px;
  border: 1px solid rgba(153, 190, 199, .44) !important;
  border-radius: 14px;
  background: linear-gradient(145deg, #29424d, #1b2d36) !important;
  box-shadow: inset 0 1px 0 rgba(239,250,248,.17), 0 24px 54px -24px rgba(8,19,25,.76) !important;
}
html body .kz-nav__submenu::before {
  content: "";
  position: absolute;
  inset: -8px 16px auto;
  height: 8px;
}
html body .kz-nav__dropdown:last-of-type .kz-nav__submenu {
  right: 0;
  left: auto;
}
html body .kz-nav__submenu a {
  min-height: 44px;
  color: #f4f4ed !important;
  background: transparent !important;
  transition: transform 180ms var(--v2-ease), background-color 180ms ease, color 180ms ease;
}

/* Information pages keep one continuous background plane. */
html body .information-page .information-hero::before,
html body .information-page .information-hero::after {
  border-radius: inherit;
}
html body .information-page .information-hero::before {
  transform: none;
}
@media (min-width: 981px) {
  html body .information-page .information-hero {
    min-height: clamp(650px, 42.35vw, 720px);
    aspect-ratio: auto;
  }

  html body .information-page .information-hero::before {
    background-position: 52% 9%;
  }
}

/* The closing quote receives the September scene as a quiet narrative layer. */
html body #kazdy-listek {
  position: relative;
  display: block;
  isolation: isolate;
  padding-top: 14px;
  padding-bottom: clamp(28px, 4vw, 68px);
}
html body #kazdy-listek > :not(.prak-leaf-illustration) {
  position: relative;
  z-index: 2;
}
html body #kazdy-listek .prak-leaf-illustration {
  position: absolute;
  z-index: 0;
  inset: 0;
  margin: 0;
  overflow: hidden;
  pointer-events: none;
}
html body #kazdy-listek .prak-leaf-illustration img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  opacity: .88;
  filter: saturate(.96) contrast(1.03);
}
html body #kazdy-listek .prak-leaf-illustration::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(20, 37, 33, .98) 0%, rgba(20, 37, 33, .9) 34%, rgba(20, 37, 33, .24) 58%, rgba(20, 37, 33, .04) 74%, transparent 100%),
    linear-gradient(0deg, rgba(20, 37, 33, .25), transparent 42%);
}
html body #kazdy-listek .prak-quote-layout {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  min-height: clamp(900px, 64vw, 1040px);
  padding-top: 0;
}
html body #kazdy-listek .prak-section__heading {
  margin-bottom: 8px;
}
html body #kazdy-listek .prak-quote-layout blockquote {
  align-self: flex-start;
  width: min(64%, 900px);
}
html body #kazdy-listek .prak-quote-layout blockquote footer {
  max-width: 68ch;
  font-size: clamp(.78rem, .82vw, .9rem);
  line-height: 1.55;
}
html body #kazdy-listek .prak-quote-layout > .prak-prose {
  align-self: flex-start;
  justify-self: auto;
  width: min(100%, 420px);
  margin-top: auto;
  padding: 18px 20px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 16px;
  background: rgba(20, 37, 33, .74);
  box-shadow: 0 18px 42px -32px rgba(0, 0, 0, .7);
  backdrop-filter: blur(9px);
}
html body #kazdy-listek .prak-quote-layout > .prak-prose p {
  margin-bottom: .82em;
  font-size: clamp(.84rem, .92vw, .98rem) !important;
  font-weight: 650 !important;
  line-height: 1.5 !important;
}
html body #kazdy-listek .prak-editor-signature {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, .2);
  color: #fffdf8;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(.84rem, .9vw, .96rem);
  font-style: italic;
  letter-spacing: -.01em;
}

@media (max-width: 1180px) {
  html body #kazdy-listek {
    padding-top: 14px;
    padding-bottom: 12px;
    padding-inline: 12px;
  }
  html body #kazdy-listek .prak-section__heading {
    margin: 0 0 8px;
  }
  html body #kazdy-listek .prak-quote-layout {
    gap: 16px;
    min-height: clamp(900px, 92vw, 1040px);
    padding-top: 0;
  }
  html body #kazdy-listek .prak-quote-layout blockquote {
    width: 100%;
    padding: clamp(22px, 5vw, 34px);
  }
  html body #kazdy-listek .prak-leaf-illustration img {
    object-position: 68% center;
  }
  html body #kazdy-listek .prak-leaf-illustration::after {
    background:
      linear-gradient(90deg, rgba(20, 37, 33, .88) 0%, rgba(20, 37, 33, .66) 42%, rgba(20, 37, 33, .13) 72%, transparent 100%),
      linear-gradient(0deg, rgba(20, 37, 33, .24), transparent 44%);
  }
}

@media (max-width: 979px) {
  html body .kz-header .kz-a11y-launch--header {
    width: 44px;
    min-width: 44px;
    padding: 0;
    border-radius: 50%;
  }
  html body .kz-header .kz-a11y-launch--header .kz-a11y-label-full {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }
  html body .kz-header .kz-nav,
  html body .kz-header .kz-nav > .kz-nav__dropdown {
    height: auto;
  }
  html body .kz-header .kz-nav > a,
  html body .kz-header .kz-nav__trigger {
    justify-content: space-between;
    width: 100%;
    min-height: 48px;
  }
}

@media (max-width: 620px) {
  html body #kazdy-listek .prak-quote-layout {
    min-height: 1120px;
  }
  html body #kazdy-listek .prak-quote-layout > .prak-prose {
    width: min(78%, 260px);
    margin-top: auto;
    padding: 14px 15px;
  }
  html body #kazdy-listek .prak-quote-layout > .prak-prose p {
    font-size: clamp(.74rem, 3.2vw, .82rem) !important;
    line-height: 1.42 !important;
  }
  html body #kazdy-listek .prak-editor-signature {
    margin-top: 10px;
    padding-top: 9px;
    font-size: .78rem;
  }
}
html body .kz-nav__submenu a span,
html.kz-theme-light body .kz-header .kz-nav__submenu a span {
  color: #bfd0d2 !important;
}
html body .kz-nav__submenu a:hover,
html body .kz-nav__submenu a:focus-visible,
html body .kz-nav__submenu a[aria-current="page"] {
  color: #fff !important;
  background: rgba(255,255,255,.09) !important;
  transform: translateY(-1px);
}

/* Stable horizontal rhythm. */
html body :is(.about-page, .epi-page, .locations-page) {
  box-sizing: border-box;
  padding-inline: var(--v2-page-gutter);
}
html body :is(.report-breadcrumbs, .report-section, .report-references,
  .access-breadcrumbs, .access-section, .access-boundary, .archive-breadcrumbs, .archive-section) {
  width: min(calc(100% - (2 * var(--v2-page-gutter))), 1460px);
}

/* One breadcrumb system across every editorial route; only the page accent changes. */
html body .evidence-breadcrumbs { --crumb-accent: var(--kz-coral, #e9744a); }
html body .prak-breadcrumbs { --crumb-accent: var(--prak-accent, #d7653e); }
html body .report-breadcrumbs { --crumb-accent: var(--report-coral-dark, #b85232); }
html body .access-breadcrumbs { --crumb-accent: var(--access-coral, #e76f46); }
html body .archive-breadcrumbs { --crumb-accent: var(--archive-coral, #e67147); }
html body .rlrl-breadcrumbs { --crumb-accent: var(--rlrl-coral, #e76f46); }
html body :is(.evidence-breadcrumbs, .prak-breadcrumbs, .report-breadcrumbs,
  .access-breadcrumbs, .archive-breadcrumbs, .rlrl-breadcrumbs) {
  padding-block: 22px 18px;
  color: #2f4449;
}
html body :is(.evidence-breadcrumbs, .prak-breadcrumbs, .report-breadcrumbs,
  .access-breadcrumbs, .archive-breadcrumbs, .rlrl-breadcrumbs) ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin: 0;
  padding: 0;
  color: inherit;
  font-size: .82rem;
  font-weight: 680;
  line-height: 1.45;
  list-style: none;
}
html body :is(.evidence-breadcrumbs, .prak-breadcrumbs, .report-breadcrumbs,
  .access-breadcrumbs, .archive-breadcrumbs, .rlrl-breadcrumbs) li {
  display: inline-flex;
  align-items: center;
}
html body :is(.evidence-breadcrumbs, .prak-breadcrumbs, .report-breadcrumbs,
  .access-breadcrumbs, .archive-breadcrumbs, .rlrl-breadcrumbs) li + li::before {
  content: "/";
  margin-inline: .72rem;
  color: var(--crumb-accent);
  font-weight: 900;
}
html body :is(.evidence-breadcrumbs, .prak-breadcrumbs, .report-breadcrumbs,
  .access-breadcrumbs, .archive-breadcrumbs, .rlrl-breadcrumbs) a {
  color: inherit !important;
  text-decoration-line: underline;
  text-decoration-color: color-mix(in srgb, var(--crumb-accent) 60%, transparent);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
html body :is(.evidence-breadcrumbs, .prak-breadcrumbs, .report-breadcrumbs,
  .access-breadcrumbs, .archive-breadcrumbs, .rlrl-breadcrumbs) a:hover,
html body :is(.evidence-breadcrumbs, .prak-breadcrumbs, .report-breadcrumbs,
  .access-breadcrumbs, .archive-breadcrumbs, .rlrl-breadcrumbs) a:focus-visible,
html body :is(.evidence-breadcrumbs, .prak-breadcrumbs, .report-breadcrumbs,
  .access-breadcrumbs, .archive-breadcrumbs, .rlrl-breadcrumbs) li:last-child {
  color: color-mix(in srgb, var(--crumb-accent) 72%, #22363b) !important;
}

/* Depth is proportional to hierarchy; reading rows remain rows. */
html body :is(.kz-home__card, .kz-when__card, .location-jump a, .article-links a,
  .archive-links a, .access-signals article, .report-evidence-card, .prak-monitoring article,
  .prak-next-links a, .therapy-track, .faq-list section) {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), var(--v2-shadow-1);
}
html body :is(.location-card, .archive-current, .release > article, .report-method,
  .epi-chart-card, .epi-snapshot, .prak-child-grid-card, .prak-expert-card) {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.64), var(--v2-shadow-2) !important;
}
html body :is(.kz-home__card, .location-jump a, .article-links a, .archive-links a,
  .prak-next-links a, .therapy-track) {
  transition: transform 220ms var(--v2-ease), box-shadow 220ms ease, border-color 220ms ease, background-color 220ms ease;
}
html body :is(.kz-home__card, .location-jump a, .article-links a, .archive-links a,
  .prak-next-links a, .therapy-track):hover {
  transform: translateY(-3px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), var(--v2-shadow-2);
}

/* Methods: a dark, internally consistent instrument in both themes. */
html body .therapy-map,
html body .combination-matrix {
  color: #f8f5ed !important;
  border-color: rgba(160, 196, 203, .32) !important;
  background: linear-gradient(135deg, #243c47, #182a33 58%, #14232b) !important;
  box-shadow: inset 0 1px 0 rgba(236,248,247,.17), var(--v2-shadow-3) !important;
}
html.kz-theme-light body :is(.therapy-map, .combination-matrix) {
  color: #f8f5ed !important;
  border-color: rgba(160, 196, 203, .32) !important;
  background: linear-gradient(135deg, #243c47, #182a33 58%, #14232b) !important;
  box-shadow: inset 0 1px 0 rgba(236,248,247,.17), var(--v2-shadow-3) !important;
}
html body .therapy-map :is(h2, h3, strong),
html body .combination-matrix :is(h2, h3, strong) { color: #fffaf1 !important; }
html body .therapy-map :is(p, td, th, caption, .therapy-map__axis),
html body .combination-matrix :is(p, td, th, caption, .matrix-legend) { color: #cbd8da !important; }
html.kz-theme-light body :is(.therapy-map, .combination-matrix) :is(h2, h3, h4, strong, th) { color: #fffaf1 !important; }
html.kz-theme-light body :is(.therapy-map, .combination-matrix) :is(p, li, td, span, caption) { color: #cbd8da !important; }
html.kz-theme-light body :is(.therapy-map__table, .combination-table) {
  border-color: rgba(222,238,238,.14) !important;
  background: transparent !important;
}
html body .therapy-track,
html body .therapy-track:nth-child(even) {
  color: #f8f5ed !important;
  border-color: rgba(222, 238, 238, .16) !important;
  background: linear-gradient(120deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
}
html:not(.kz-theme-light) body .therapy-map .therapy-track:nth-child(even),
html.kz-theme-light body .therapy-map .therapy-track:nth-child(even) {
  color: #f8f5ed !important;
  background: linear-gradient(120deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
}
html.kz-theme-light body :is(.therapy-track, .combo-row) {
  color: #f8f5ed !important;
  border-color: rgba(222,238,238,.16) !important;
  background: linear-gradient(120deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), var(--v2-shadow-1) !important;
}
html body .therapy-track :is(strong, h2, h3, p, a),
html body .therapy-track:nth-child(even) :is(strong, h2, h3, p, a) { color: #f8f5ed !important; }
html body .therapy-track span,
html body .therapy-track:nth-child(even) > span:nth-child(3) {
  color: #d8e4e3 !important;
  background: rgba(5, 18, 24, .56) !important;
}
html.kz-theme-light body .therapy-track span {
  color: #d8e4e3 !important;
  background: rgba(5, 18, 24, .56) !important;
}
html body .therapy-track:hover,
html body .therapy-track:focus-visible {
  border-color: color-mix(in srgb, var(--track-tone) 68%, #d4ecee) !important;
  background: rgba(255,255,255,.1) !important;
}
html body .methods-button { min-height: 48px; box-shadow: var(--v2-shadow-1); }

/* The calculator is an established instrument. Its local stylesheet owns every
   control dimension, focus treatment and state. */
html body .mp-page :where(input, button, select, textarea):focus-visible {
  outline-color: var(--kz-coral);
}
html body .mp-page .mp-device-link {
  border-color: var(--kz-coral);
  background: #fff;
  color: var(--kz-coral-dark);
}
html body .mp-page .mp-device-link:hover,
html body .mp-page .mp-device-link:focus-visible {
  border-color: var(--kz-coral);
  background: var(--kz-coral);
  color: #fff;
}

/* Location hierarchy and OrtoKlaris expertise modules. */
html body .locations-page { max-width: 1800px; }
html body .location-card__header {
  min-height: auto;
  padding: clamp(38px, 5vw, 72px);
}
html body .location-card__header h2 {
  max-width: 1150px;
  font-size: clamp(2.35rem, 4.2vw, 4.8rem);
  line-height: 1.02;
  overflow-wrap: normal;
}
html body .location-card__person { margin-top: 10px; line-height: 1.35; }
html body .location-card__distinction { margin-top: 20px; }
html body .location-card__content { min-height: 0; }
html body .location-button { min-height: 46px; }
.location-qualifications {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 1120px;
  margin-top: 22px;
}
.location-qualification {
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  background: rgba(255,255,255,.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.location-qualification strong,
.location-qualification span { display: block; }
.location-qualification strong {
  color: #ffd0b8;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.location-qualification span { margin-top: 6px; color: rgba(255,248,236,.76); font-size: .84rem; line-height: 1.48; }
html.kz-theme-light body .location-card__header {
  color: #18262d !important;
  background: linear-gradient(125deg, #eef5f2 0%, #f8f3ea 58%, #ece6db 100%) !important;
}
html.kz-theme-light body .location-card__header h2,
html.kz-theme-light body .location-card__person { color: #18262d !important; }
html.kz-theme-light body .location-card__distinction { color: #4f5c5c !important; }
html.kz-theme-light body .location-qualification {
  border-color: rgba(51,77,79,.18);
  background: rgba(255,255,255,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), var(--v2-shadow-1);
}
html.kz-theme-light body .location-qualification strong { color: #914426 !important; }
html.kz-theme-light body .location-qualification span { color: #455453 !important; }
.location-consultations {
  display: grid;
  grid-template-columns: minmax(210px, .62fr) minmax(0, 1.38fr);
  gap: 24px clamp(28px, 5vw, 70px);
  align-items: center;
  margin: 0;
  padding: clamp(28px, 4vw, 52px);
  border-top: 1px solid rgba(38,57,62,.14);
  background: linear-gradient(125deg, #e8efeb, #f8f0e4 58%, #eee2d1);
}
.location-consultations__label { margin: 0; color: #9c482b; font-size: .72rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.location-consultations h3 { margin: 7px 0 0; color: #243239; font-family: inherit; font-size: clamp(1.75rem, 3vw, 2.85rem); font-weight: 850; line-height: 1.05; letter-spacing: -.03em; }
.location-consultations__copy p { margin: 0; color: #3f4d4d; line-height: 1.65; }
.location-consultations__copy p + p { margin-top: 10px; }
.location-consultations__copy strong { color: #172d38; }

/* Epidemiology and About charts scale to the viewport instead of being cropped. */
html body .epi-chart-card { overflow: hidden; }
html body .epi-chart-card__summary { flex-wrap: wrap; }
html body :is(.epi-line-chart, .epi-risk-chart svg) {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 0;
  overflow: hidden;
}
html body .epi-hero { position: relative; z-index: 2; }
html body .epi-body {
  position: relative;
  z-index: 1;
  margin-top: -34px;
  padding-top: calc(clamp(54px, 7vw, 112px) + 34px);
  background: var(--epi-paper);
}
html body .refraction-chart { max-width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; }
html body .chart-shell,
html body .chart-legend,
html body .refraction-chart figcaption { min-width: 720px; }

/* Dense reports keep editorial breathing room without accidental voids. */
html body :is(.report-section, .report-references, .access-section, .archive-section) {
  box-sizing: border-box;
  padding: clamp(48px, 5.5vw, 80px) clamp(28px, 4.5vw, 72px);
}
html body :is(.report-hero, .access-hero, .archive-hero) {
  min-height: auto;
  padding: clamp(42px, 5.5vw, 82px);
}
html body :is(.report-section__head, .access-section__head, .archive-section__head) {
  margin-bottom: clamp(30px, 4vw, 54px);
}
html body .report-conclusions article:nth-child(even),
html body .report-evidence-card:nth-child(even),
html body .access-record:nth-child(even) { background-color: rgba(215, 226, 224, .2); }
html body .report-conclusions article:not(.report-conclusion--lead),
html body .report-conclusions article:nth-child(odd):not(:first-child) {
  padding: clamp(28px, 3vw, 44px);
}
html body :is(.report-conclusions article, .access-record dl div, .therapy-map tr, .combination-matrix tr) {
  font-variant-numeric: tabular-nums;
}
html body .archive-links { gap: 16px; }
html body .archive-links a {
  position: relative;
  min-height: 190px;
  padding: 28px;
  border-color: rgba(73,94,98,.24);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255,252,245,.96), rgba(229,237,234,.82));
}
html body .archive-links a::after {
  content: "";
  position: absolute;
  top: 28px;
  right: 28px;
  width: 20px;
  height: 20px;
  border-top: 1px solid #a64d2e;
  border-right: 1px solid #a64d2e;
  transform: translate(-4px, 4px);
}
html body .archive-links a::before {
  content: "";
  position: absolute;
  top: 37px;
  right: 27px;
  width: 27px;
  height: 1px;
  background: #a64d2e;
  transform: rotate(-45deg);
  transform-origin: right center;
}

/* Version control uses the same wide reading field as its hero. */
html body :is(.archive-breadcrumbs, .archive-section) {
  width: min(calc(100% - 24px), 1620px);
}
html body .archive-hero {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 24px), 1620px);
  min-height: 0;
}
html body .archive-section {
  box-sizing: border-box;
  padding-inline: clamp(28px, 4vw, 68px);
}
html body .archive-section.release-history {
  position: relative;
  z-index: 1;
  margin-top: -54px;
  padding-top: calc(clamp(74px, 9vw, 136px) + 54px);
  border: 0;
  background: var(--archive-paper);
}
html body .archive-section.release-history + .archive-section {
  background: var(--archive-paper);
}
html body .archive-page .archive-hero h1 {
  max-width: 13ch;
  font-size: clamp(3rem, 5.1vw, 5.8rem);
  letter-spacing: -.04em;
}
html body .archive-section__head .archive-kicker { padding-top: 4px; }
html body .archive-section + .archive-section { border-top-color: rgba(42, 33, 26, .12); }

/* RLRL: readable first viewport and the same bounded shell used elsewhere. */
html body .rlrl-main { width: min(calc(100% - 24px), 1620px); }
html body .rlrl-hero {
  z-index: 2;
  min-height: 0;
  padding: clamp(44px, 5vw, 76px);
}
html body .rlrl-hero h1 {
  max-width: 13ch;
  font-size: clamp(3.35rem, 5.4vw, 6rem);
  letter-spacing: -.04em;
  line-height: .94;
}
html body .rlrl-hero__warning { min-height: clamp(340px, 31vw, 470px); }
html body .rlrl-hero + .rlrl-verdict {
  z-index: 1;
  width: 100%;
  margin-top: calc(-54px - clamp(24px, 3.2vw, 48px));
  padding: calc(clamp(30px, 4vw, 56px) + 54px) clamp(30px, 4vw, 56px) clamp(30px, 4vw, 56px);
  border-top: 0;
  border-radius: 0 0 var(--rlrl-radius-lg) var(--rlrl-radius-lg);
  background: var(--rlrl-paper);
}

/* The barometer uses the same dark-cover / light-sheet construction. */
html body .access-hero { position: relative; z-index: 2; }
html body .access-hero + .access-boundary {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: min(calc(100% - 24px), 1620px);
  margin-top: -54px;
  padding: 82px clamp(28px, 4vw, 68px) 28px;
  border: 0;
  border-radius: 0;
  background: var(--access-paper, #fffaf2);
}
html body .access-boundary + .access-section {
  box-sizing: border-box;
  width: min(calc(100% - 24px), 1620px);
  padding-inline: clamp(28px, 4vw, 68px);
  background: var(--access-paper, #fffaf2);
}

/* The floating accessibility control must never be cut by the viewport edge. */
html body .kz-a11y-launch--floating {
  left: clamp(18px, 2.4vw, 34px) !important;
  transform: none !important;
}

/* Practical page: same structural span as the epidemiology article. */
html body .prak-page {
  box-sizing: border-box;
  width: min(100%, 1800px);
  max-width: 1800px;
  margin-inline: auto;
  padding-inline: var(--v2-page-gutter);
  overflow: visible;
  background: transparent;
}
html body .prak-article {
  width: 100%;
  max-width: none;
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 2.4vw, 40px);
}
html body .prak-hero,
html body .prak-toc,
html body .prak-section,
html body .prak-parent-voices,
html body .prak-article-footer {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
html body .prak-hero {
  border-radius: clamp(28px, 4vw, 58px);
  background: linear-gradient(118deg, #142420 0%, #263833 100%);
}
html body .prak-hero::before,
html body .prak-hero::after { display: none; }
html body .prak-toc {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
  gap: 22px;
  margin-block: 0 clamp(16px, 2vw, 28px);
  padding: 18px 22px 13px;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 18px 38px -32px rgba(23, 35, 42, .5);
}
html body .prak-toc__title { padding-top: 2px; }
html body .prak-toc ol {
  width: 100%;
  max-width: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  overflow: visible;
}
html body .prak-toc li { flex: 0 0 auto; }
html body .prak-toc a {
  display: block;
  padding-inline: 20px;
}
html body .prak-section {
  padding-inline: clamp(28px, 4vw, 68px);
}
html body .prak-section--ink,
html body .prak-section--quote,
html body .prak-section--workbench,
html body .prak-section--soft,
html body .prak-section--collaboration,
html body .prak-parent-voices {
  border-radius: var(--prak-radius);
  overflow: hidden;
}
html body .prak-section--ink,
html body .prak-section--quote,
html body .prak-section--workbench {
  padding-inline: clamp(28px, 4vw, 68px);
}
html body .prak-section--workbench {
  background:
    radial-gradient(circle at 82% 18%, rgba(228, 166, 111, .17), transparent 32rem),
    linear-gradient(118deg, #152520 0%, #293833 56%, #172722 100%);
}
html body .prak-parent-voices { margin-block: 0; }

/* Practical editorial module and filing-drawer testimonial stack. */
.prak-therapy-practice {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
  gap: clamp(30px, 6vw, 86px);
  align-items: center;
  padding-block: clamp(58px, 7vw, 98px);
}
.prak-therapy-practice__copy p { max-width: 72ch; color: var(--prak-muted); font-size: clamp(1.02rem, 1.35vw, 1.16rem); line-height: 1.75; }
.prak-book-card {
  display: grid;
  grid-template-columns: minmax(120px, .72fr) minmax(0, 1.28fr);
  gap: clamp(20px, 3vw, 34px);
  align-items: center;
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid rgba(52,76,74,.18);
  border-radius: 16px;
  background: linear-gradient(135deg, #fbf4e9, #e6efea);
  box-shadow: var(--v2-shadow-2);
}
.prak-book-card img { width: 100%; height: auto; aspect-ratio: 600 / 702; object-fit: cover; border-radius: 12px; box-shadow: 0 18px 34px -24px rgba(30,43,43,.58); }
.prak-book-card h3 { margin: 0; color: var(--prak-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.65rem, 3vw, 2.55rem); line-height: 1.05; }
.prak-book-card p { margin: 12px 0 0; color: var(--prak-muted); line-height: 1.58; }
.prak-book-card a { display: inline-flex; min-height: 44px; align-items: center; margin-top: 18px; color: #814326; font-weight: 850; text-underline-offset: 5px; }

/* People and supplied institutional marks are never cropped. */
html body .prak-expert-card .prak-video-thumb,
html body .prak-video-link--local img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center;
}
html body .prak-video-link--local img {
  width: auto;
  max-width: 100%;
  max-height: min(78vh, 820px);
  margin-inline: auto;
}

.prak-testimonials {
  position: relative;
  min-height: 0;
  margin: clamp(34px, 5vw, 64px) auto 28px;
  padding: clamp(18px, 2.4vw, 30px);
  overflow: hidden;
  border: 1px solid rgba(54, 79, 77, .16);
  border-radius: 28px;
  background:
    radial-gradient(ellipse at 24% 34%, rgba(220, 117, 74, .26), transparent 42%),
    radial-gradient(ellipse at 78% 62%, rgba(42, 91, 88, .28), transparent 46%),
    linear-gradient(135deg, #d9e4df 0%, #f4e5d7 48%, #b9cbc6 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), var(--v2-shadow-2);
  touch-action: pan-y;
  user-select: none;
}
.prak-testimonials::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(112deg, transparent 0 16%, rgba(255,255,255,.19) 16% 17%, transparent 17% 44%, rgba(255,255,255,.13) 44% 45%, transparent 45% 100%),
    radial-gradient(circle at 70% 18%, rgba(255,255,255,.36), transparent 22%);
  opacity: .78;
}
.prak-testimonials__tab {
  position: absolute;
  z-index: 2;
  top: 0;
  left: var(--folder-tab-left);
  width: calc(25% - 4px);
  min-width: 0;
  min-height: 70px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 12px 16px 14px;
  border: 1px solid rgba(37, 58, 58, .22);
  border-bottom: 0;
  border-radius: 15px 15px 0 0;
  background: var(--folder-tone, rgba(223,233,228,.78));
  -webkit-backdrop-filter: blur(14px) saturate(112%);
  backdrop-filter: blur(14px) saturate(112%);
  color: var(--folder-ink, #21312f);
  text-align: left;
  cursor: pointer;
  pointer-events: auto;
  transition: background-color 200ms ease, color 200ms ease, filter 200ms ease;
}
.prak-testimonials__tab::after {
  content: "";
  position: absolute;
  right: -1px;
  bottom: -3px;
  left: -1px;
  height: 4px;
  background: inherit;
}
.prak-testimonials__tab strong,
.prak-testimonials__tab span { display: block; }
.prak-testimonials__tab strong { font-size: .83rem; line-height: 1.25; }
.prak-testimonials__tab span { margin-top: 3px; font-size: .7rem; line-height: 1.3; opacity: .72; }
.prak-testimonials__tab[aria-selected="true"] {
  background: rgba(255,250,242,.82);
  color: #243331;
}
.prak-testimonials__tab:hover { filter: brightness(1.04); }
.prak-testimonials__viewport {
  position: relative;
  z-index: 4;
  min-height: clamp(440px, 38vw, 550px);
  margin-top: 12px;
  cursor: grab;
}
.prak-testimonials.is-dragging .prak-testimonials__viewport { cursor: grabbing; }
.prak-testimonial-folder {
  --folder-tab-left: 0%;
  --folder-tone: rgba(231, 238, 234, .74);
  --folder-ink: #21312f;
  position: absolute;
  inset: 0 34px 34px 0;
  z-index: 4;
  pointer-events: none;
  transform-origin: 50% 0;
  transition: transform 480ms var(--v2-ease), opacity 360ms ease;
}
.prak-testimonial-folder:nth-child(2) { --folder-tab-left: 25%; --folder-tone: rgba(199, 216, 209, .72); }
.prak-testimonial-folder:nth-child(3) { --folder-tab-left: 50%; --folder-tone: rgba(142, 165, 159, .7); }
.prak-testimonial-folder:nth-child(4) { --folder-tab-left: 75%; --folder-tone: rgba(54, 80, 79, .76); --folder-ink: #fffaf1; }
.prak-testimonial-folder[data-stack="0"] { z-index: 7; transform: translate(0, 0) scale(1); }
.prak-testimonial-folder[data-stack="1"] { z-index: 6; transform: translate(11px, 11px) scale(.99); }
.prak-testimonial-folder[data-stack="2"] { z-index: 5; transform: translate(22px, 22px) scale(.975); }
.prak-testimonial-folder[data-stack="3"] { z-index: 4; transform: translate(33px, 33px) scale(.96); }
.prak-testimonial {
  position: absolute;
  inset: 69px 0 0;
  display: grid;
  align-content: center;
  margin: 0;
  padding: clamp(34px, 5vw, 68px);
  border: 1px solid rgba(45,66,65,.2);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,250,242,.76), rgba(237,243,239,.66));
  -webkit-backdrop-filter: blur(18px) saturate(118%);
  backdrop-filter: blur(18px) saturate(118%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86), 0 30px 62px -36px rgba(24,45,43,.62);
  opacity: 1;
  pointer-events: none;
  transition: opacity 360ms ease, box-shadow 360ms ease;
}
.prak-testimonial-folder:first-child .prak-testimonial { border-top-left-radius: 0; }
.prak-testimonial-folder[data-stack="0"] .prak-testimonial { pointer-events: auto; }
.prak-testimonial-folder:not([data-stack="0"]) :is(.prak-testimonial__quote, footer) {
  opacity: .24;
  filter: blur(1.2px);
}
.prak-testimonial__quote { margin: 0; color: #243331; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.45rem, 3.1vw, 2.75rem); line-height: 1.27; letter-spacing: -.025em; }
.prak-testimonial footer { margin-top: 26px; }
.prak-testimonials__controls { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 14px; }
.prak-testimonials__nav {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border: 1px solid rgba(34,53,52,.22);
  border-radius: 14px;
  background: #fffaf2;
  color: #243331;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}
.prak-testimonials__nav svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
.prak-testimonials__nav:hover { border-color: #a85135; background: #f4e5d7; color: #8f4027; }
.prak-testimonials__count { min-width: 68px; color: #8b4a34; font-weight: 850; text-align: center; font-variant-numeric: tabular-nums; }

html body .prak-legal-note {
  margin-top: 22px;
  padding: 24px 28px;
  border: 1px solid rgba(168, 81, 53, .22);
  border-radius: 16px;
  background: #fff2ea;
  box-shadow: var(--v2-shadow-1);
}

html body #kazdy-listek .prak-quote-layout > .prak-prose p {
  color: #f0a17e;
  font-size: clamp(1.12rem, 1.55vw, 1.34rem);
  font-weight: 750;
  line-height: 1.58;
}
html body #kazdy-listek .prak-quote-layout > .prak-prose p + p {
  color: #ffc19f;
}

/* Footer: compact evidence, experts and release information. */
html body .site-footer-v2.kz-footer {
  margin-top: clamp(28px, 3vw, 46px);
  padding: clamp(38px, 4.5vw, 62px) 0 48px;
  background: linear-gradient(112deg, #29434d 0%, #203640 36%, #14232c 72%, #0e1820 100%);
}
html body .site-footer-v2 .site-footer-v2__inner { gap: clamp(26px, 3vw, 40px); }
html body .site-footer-v2 .site-footer-v2__legal { grid-template-columns: minmax(210px,.65fr) minmax(240px,.8fr) minmax(360px,1.45fr); }
html body .site-footer-v2 .site-footer-v2__experts,
html body .site-footer-v2 .site-footer-v2__version { grid-column: 1 / -1; }
html body .site-footer-v2 .site-footer-v2__experts { padding-top: 4px; color: rgba(245,244,237,.84); }
html body .site-footer-v2 .site-footer-v2__version { color: #e9bd8f; font-weight: 750; letter-spacing: .035em; }
html body .site-footer-v2 :is(.site-footer-v2__links a, .site-footer-v2__campaign) { min-height: 44px; align-items: center; }

@media (max-width: 1100px) {
  html body .kz-header.is-mobile-menu-open .kz-nav {
    border: 1px solid rgba(162,193,198,.34) !important;
    background: linear-gradient(145deg, #243b45, #15242c) !important;
    box-shadow: var(--v2-shadow-3);
  }
  html body .kz-nav__submenu { top: auto; right: auto; left: auto; margin-block: 8px 12px; box-shadow: inset 0 1px 0 rgba(239,250,248,.12) !important; }
  .location-qualifications { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  :root { --v2-page-gutter: 18px; --v2-section-gutter: 24px; }
  html body .kz-header__inner.kz-wrap {
    background: linear-gradient(105deg, #9fb1ad 0%, #718986 15%, #304b55 34%, #172832 68%, #111d25 100%) !important;
  }
  html body :is(.report-section__head, .access-section__head, .archive-section__head) { grid-template-columns: 1fr; }
  html body :is(.report-section__head, .access-section__head, .archive-section__head) > :last-child { grid-column: 1; }
  html body .report-conclusions { grid-template-columns: 1fr; }
  html body .report-conclusions article,
  html body .report-conclusions article:nth-child(odd):not(:first-child) { padding: 26px 20px; border-left: 0; }
  html body .archive-links { grid-template-columns: 1fr; }
  html body .archive-links a { min-height: 156px; }
  .location-consultations,
  .prak-therapy-practice { grid-template-columns: 1fr; }
  html body .prak-page { padding-inline: var(--v2-page-gutter); }
  html body .epi-body { margin-top: -22px; padding-top: 76px; }
  html body .prak-section { padding-inline: 24px; }
  html body .prak-toc { grid-template-columns: 1fr; gap: 10px; }
  html body .prak-toc ol { width: 100%; max-width: none; }
  .prak-testimonials__viewport { min-height: 480px; }
  .prak-testimonials { padding: 14px; border-radius: 22px; }
  .prak-testimonial-folder { inset: 0 22px 22px 0; }
  .prak-testimonial-folder:nth-child(2) { --folder-tab-left: 18%; }
  .prak-testimonial-folder:nth-child(3) { --folder-tab-left: 36%; }
  .prak-testimonial-folder:nth-child(4) { --folder-tab-left: 54%; }
  .prak-testimonial-folder[data-stack="1"] { transform: translate(7px, 7px) scale(.993); }
  .prak-testimonial-folder[data-stack="2"] { transform: translate(14px, 14px) scale(.985); }
  .prak-testimonial-folder[data-stack="3"] { transform: translate(21px, 21px) scale(.975); }
  .prak-testimonials__tab { width: 46%; min-height: 65px; padding-inline: 12px; }
  .prak-testimonials__tab span { display: none; }
  .prak-testimonial { inset: 64px 0 0; padding: 30px 24px; }
  html body .therapy-map .table-responsive { overflow: visible; }
  html body .therapy-map__table table,
  html body .combination-table,
  html body .therapy-map__table :is(tbody, tr, td),
  html body .combination-table :is(tbody, tr, td) { display: block; width: 100%; }
  html body .therapy-map__table thead,
  html body .combination-table thead { display: none; }
  html body .therapy-map__table tr,
  html body .combination-table tr {
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,248,236,.13);
  }
  html body .therapy-map__table td,
  html body .combination-table td {
    display: grid;
    grid-template-columns: minmax(92px, .42fr) minmax(0, 1fr);
    gap: 12px;
    padding: 6px 0;
    border: 0;
    overflow-wrap: anywhere;
  }
  html body .therapy-map__table td::before,
  html body .combination-table td::before {
    color: #f0b789;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  html body .therapy-map__table td:nth-child(1)::before { content: "Metoda"; }
  html body .therapy-map__table td:nth-child(2)::before { content: "Mechanizm"; }
  html body .therapy-map__table td:nth-child(3)::before { content: "Rola"; }
  html body .combination-table td:nth-child(1)::before { content: "Połączenie"; }
  html body .combination-table td:nth-child(2)::before { content: "Status"; }
  html body .site-footer-v2 .site-footer-v2__legal { grid-template-columns: 1fr; }
  html body .site-footer-v2 .site-footer-v2__experts,
  html body .site-footer-v2 .site-footer-v2__version { grid-column: auto; }
}

@media (max-width: 520px) {
  html body .chart-shell,
  html body .chart-legend,
  html body .refraction-chart figcaption { min-width: 660px; }
  html body .location-card__header { padding: 34px 24px; }
  html body .location-card__header h2 { font-size: clamp(2rem, 11vw, 3.15rem); }
  .prak-book-card { grid-template-columns: 105px minmax(0, 1fr); padding: 18px; }
  .prak-book-card h3 { font-size: 1.55rem; }
  .prak-book-card p { font-size: .9rem; }
  .prak-testimonials__viewport { min-height: 620px; }
  .prak-testimonial__quote { font-size: clamp(1.25rem, 6.6vw, 1.8rem); }
  .prak-testimonials__nav { min-width: 48px; justify-content: center; padding-inline: 12px; }
  .prak-testimonials__nav span { display: none; }
}

@media (hover: none) {
  html body :is(.kz-home__card, .location-jump a, .article-links a, .archive-links a,
    .prak-next-links a, .therapy-track):hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html body *, html body *::before, html body *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
