@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("./plus-jakarta-sans.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
:root {
  --foreground: rgb(15, 23, 42);
  --body: lab(26.9569 -1.47016 -15.6993);
  --heading: lab(7.78673 1.82345 -15.0537);
  --muted: lab(48.4828 2.20001 5.2648);
  --line: lab(89.6015 0.897288 5.6772);
  --box: oklab(0.959999 0.00207403 0.0118395 / 0.4);
  --box-left: oklab(0.207678 -0.00293915 -0.0397103 / 0.3);
  --background: rgb(253, 250, 243);
  --navy: var(--foreground);
  --soft: var(--box);
  --blue: #1d7392;
}
* { box-sizing: border-box; letter-spacing: 0; }
html { scroll-padding-top: 96px; }
body { margin: 0; background: var(--background); color: var(--foreground); font: 16px/24px "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif; }
a { color: inherit; text-underline-offset: 2px; overflow-wrap: anywhere; }
a:focus-visible, summary:focus-visible, button:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.icon { width: 16px; height: 16px; flex: 0 0 auto; vertical-align: middle; }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); background: #fff; padding: 14px max(24px, calc((100% - 830px)/2)); }
.brand { order: 1; display: block; text-decoration: none; border-left: 3px solid #a12b65; padding-left: 10px; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 14px; line-height: 21px; font-weight: 700; }
.brand small { font-size: 10px; line-height: 16px; color: var(--muted); }
.site-header .main-nav { order: 2; flex: 0 1 auto; display: flex; flex-wrap: wrap; gap: 16px; font-size: 11px; }
.main-nav a { text-decoration: none; }
.site-header .language-bar { order: 3; flex: 0 0 auto; width: auto; border: 0; padding: 0; }
.language-label { display: none; }
.language-picker > summary { min-width: 128px; font-size: 12px; border: 1px solid var(--line); border-radius: 4.2px; }
.language-panel { width: 220px; background: #fff; border-radius: 4.2px; }
.language-options { grid-template-columns: 1fr; }
.language-option { font-size: 13px; }
.language-option[aria-current='page'] { background: var(--box); }
.skip-link { position: fixed; top: -100px; left: 16px; background: white; padding: 12px; z-index: 100; }
.skip-link:focus { top: 8px; }
.article-layout { max-width: 886px; margin: 0 auto; padding: 32px 28px 64px; }
.article-body { min-width: 0; color: var(--body); font-size: 14px; line-height: 24px; }
.article-header { margin-bottom: 32px; }
.breadcrumb { margin-bottom: 28px; font-size: 13px; line-height: 20px; color: var(--muted); }
.breadcrumb a { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.breadcrumb .icon { width: 14px; height: 14px; }
h1 { color: var(--foreground); font-size: 28px; font-weight: 700; line-height: 35px; margin: 0; overflow-wrap: break-word; }
.article-photo { margin: 0 0 24px; }
.article-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; border: 1px solid var(--line); border-radius: 4.2px; }
figcaption { margin-top: 10px; color: var(--muted); font-size: 13px; line-height: 21.125px; text-align: center; }
.article-body p { margin: 0 0 16px; line-height: 22.75px; }
.article-body strong { color: var(--heading); font-weight: 600; }
.article-body h2 { color: var(--heading); font-size: 24px; font-weight: 700; line-height: 33.6px; margin: 38.4px 0 19.2px; scroll-margin-top: 96px; overflow-wrap: break-word; }
.article-body h3 { color: var(--heading); font-size: 18px; font-weight: 700; line-height: 28px; margin: 28px 0 12px; scroll-margin-top: 96px; }
.article-body ul, .article-body ol { margin: 0 0 16px; padding-left: 22px; }
.article-body li { margin: 4px 0; padding-left: 0; }
.article-body li::marker { color: #92989d; }
.article-section { margin: 0; }
.summary-section { display: block; margin: 32px 0; padding: 24px 28px; background: var(--box); border: 1px solid var(--line); border-left: 3px solid var(--box-left); border-radius: 4.2px; }
.summary-section h2 { margin: 0 0 12px; font-size: 11px; line-height: 18.8572px; font-weight: 700; text-transform: uppercase; color: var(--muted); }
.summary-section .summary-points { margin: 0; padding-left: 20px; list-style: disc; }
.summary-points li { margin: 0 0 8px; color: var(--foreground); font-size: 15px; line-height: 24.375px; }
.summary-points li:last-child { margin-bottom: 0; }
.summary-points li::marker { color: var(--muted); }
.facts-block { margin: 32px 0; }
.article-body p.graphic-title { margin: 0 0 16px; font-size: 11px; font-weight: 700; line-height: 18.8572px; text-transform: uppercase; color: var(--muted); }
.article-facts { display: flex; flex-wrap: wrap; gap: 12px; }
.article-facts a { flex: 1 1 176px; min-width: 160px; padding: 20px; border: 1px solid var(--line); border-radius: 4.2px; background: #fff; text-decoration: none; }
.article-facts strong { display: block; color: var(--foreground); font-size: 30px; line-height: 37.5px; font-weight: 700; overflow-wrap: anywhere; }
.article-facts span { display: block; margin-top: 6px; font-size: 14px; line-height: 20px; font-weight: 500; color: var(--muted); }
.article-facts a:hover { border-color: var(--box-left); }
.phase-steps li { margin: 4px 0; }
.phase-steps li > p { margin: 0; }
.practice-photo, .ryze-timeline { margin: 32px 0; }
.practice-photo img, .ryze-timeline img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; border-radius: 4.2px; }
.ryze-callout { margin: 32px 0; border-left: 3px solid var(--box-left); border-radius: 4.2px; background: var(--box); padding: 24px 28px; }
.ryze-callout p { color: var(--foreground); font-size: 18px; font-weight: 500; line-height: 29.25px; margin: 0; }
.table-scroll { overflow: auto; max-width: 100%; margin: 26px 0; }
.table-scroll:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
table { border-collapse: collapse; width: 100%; min-width: 540px; font-size: 13px; line-height: 19.5px; text-align: left; }
thead { border-bottom: 1px solid #c7cbd0; }
th { color: var(--heading); font-weight: 700; padding: 0 13px 8.66667px; vertical-align: bottom; }
td { padding: 8.66667px 13px; vertical-align: top; }
th:first-child, td:first-child { padding-left: 0; }
th:last-child, td:last-child { padding-right: 0; }
tbody tr { border-bottom: 1px solid #e4e5e7; }
tbody tr:last-child { border-bottom: 0; }
.consultation-section { margin: 32px 0; padding: 28px 0; border: 1px solid var(--line); border-radius: 4.2px; background: var(--box); text-align: center; }
.consultation-section h2, .consultation-section > p { padding-left: 28px; padding-right: 28px; }
.consultation-section h2 { font-size: 20px; line-height: 27.5px; margin: 0 0 8px; color: var(--foreground); }
.consultation-section > p { font-size: 15px; line-height: 24.375px; color: var(--muted); }
.consultation-section a[href*='/kontakt/'] { display: inline-block; margin-top: 4px; padding: 10px 20px; border-radius: 4.2px; color: var(--background); background: var(--foreground); font-size: 14px; font-weight: 600; text-decoration: none; }
.consultation-section a[href*='/kontakt/']:hover { opacity: .9; }
.consultation-section > p:last-child { font-size: 12px; line-height: 20px; margin-bottom: 0; }
.ryze-faq { margin: 32px 0; padding: 8px 28px; background: var(--box); border: 1px solid var(--line); border-radius: 4.2px; }
.faq-item { padding: 16px 0; border-bottom: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 0; }
.faq-item h3 { font-size: 16px; line-height: 24px; font-weight: 700; color: var(--foreground); margin: 0 0 6px; }
.faq-answer p { font-size: 15px; line-height: 24.375px; color: var(--muted); margin: 0; }
.site-footer { max-width: 886px; margin: 0 auto; padding: 28px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 24px; font-size: 11px; line-height: 19px; color: var(--muted); }
.site-footer strong, .site-footer span { display: block; }
.site-footer strong { color: var(--foreground); font-size: 12px; }
.site-footer nav { display: flex; flex-wrap: wrap; align-content: start; gap: 15px; }
@media (max-width: 650px) {
  .site-header { padding: 12px 20px; gap: 12px; }
  .brand { flex: 1 1 190px; }
  .site-header .main-nav { order: 4; flex: 1 1 100%; }
  .site-header .language-bar { order: 2; margin-left: auto; }
  .language-picker > summary { min-width: 118px; font-size: 11px; padding: 5px 8px; }
  .article-layout { padding: 24px 20px 40px; }
  .breadcrumb { margin-bottom: 24px; }
  .article-header { margin-bottom: 28px; }
  h1 { font-size: 28px; line-height: 35px; }
  .summary-section { padding: 24px 20px; }
  .article-facts a { min-width: min(160px, 100%); }
  .ryze-callout { padding: 24px 20px; }
  .ryze-faq { padding: 8px 20px; }
  .consultation-section h2, .consultation-section > p { padding-left: 20px; padding-right: 20px; }
  .site-footer { padding: 25px 20px; flex-direction: column; }
}
@media print {
  body { background: white; }
  .site-header, .site-footer, .skip-link, .breadcrumb { display: none !important; }
  .article-layout { max-width: 100%; padding: 0; }
  .article-photo { max-width: 500px; }
  .table-scroll { overflow: visible; }
  table { min-width: 0; }
  h2, h3 { break-after: avoid; }
  .faq-item, .ryze-timeline { break-inside: avoid; }
}
