
:root:is(.typo-a, .typo-b, .typo-c) {
  --f: var(--ty-text);
  --t-text: var(--ty-text-v);
  --t-mal: var(--ty-mal);
  --t-lead: var(--ty-perex);
  --t-h1: var(--ty-h1);
  --t-h2: var(--ty-h2);
  --t-h2s: var(--ty-h2);
  --t-h4: var(--ty-h3);
}
:is(.typo-a, .typo-b, .typo-c) body { line-height: var(--ty-text-lh); }

:is(.typo-a, .typo-b, .typo-c) :is(h1, h2, h3) { font-family: var(--ty-nadpis); font-weight: var(--ty-nadpis-w); }
:is(.typo-a, .typo-b, .typo-c) .uvod-hlava h1 { letter-spacing: var(--ty-h1-ls); line-height: var(--ty-h1-lh); }
:is(.typo-a, .typo-b, .typo-c) :is(.pulka, .pas, .sekce-hlava) h2 { letter-spacing: var(--ty-h2-ls); line-height: var(--ty-h2-lh); }
:is(.typo-a, .typo-b, .typo-c) .obor h3 { font-family: var(--ty-nadpis-m); font-weight: var(--ty-nadpis-m-w); letter-spacing: var(--ty-h3-ls); line-height: 1.12; }
:is(.typo-a, .typo-b, .typo-c) .paticka h2 { font-family: var(--ty-text); }
:is(.typo-a, .typo-b, .typo-c) .kino-hlava h2 { font: 600 16px/1.2 var(--ty-text); letter-spacing: 0; }

.ty-stitek { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; font: var(--ty-stitek-w) var(--ty-stitek-v)/1.25 var(--ty-stitek);
  text-transform: var(--ty-stitek-tt); letter-spacing: var(--ty-stitek-ls); color: var(--ink-3); white-space: nowrap; }
.ty-stitek::before { content: ''; flex: none; width: 24px; height: 2px; background: var(--amber); }

:is(.typo-a, .typo-b, .typo-c) .uvod-perex { font-size: var(--ty-perex); line-height: var(--ty-perex-lh); }
:is(.typo-a, .typo-b, .typo-c) .uvod-perex-m { line-height: var(--ty-perex-lh); }
:is(.typo-a, .typo-b, .typo-c) .panel-kicker { font: var(--ty-stitek-w) var(--ty-stitek-v)/1 var(--ty-stitek); text-transform: var(--ty-stitek-tt); letter-spacing: var(--ty-stitek-ls); }
:is(.typo-a, .typo-b, .typo-c) .panel-cislo { font-family: var(--ty-udaj); font-weight: var(--ty-tel-w); letter-spacing: 0; }
:is(.typo-a, .typo-b, .typo-c) .panel-titul { font: var(--ty-nadpis-m-w) var(--ty-titul-v)/1.3 var(--ty-nadpis-m); letter-spacing: -.005em; }
:is(.typo-a, .typo-b, .typo-c) .panel-titul-3d strong { font-weight: var(--ty-nadpis-m-w); }
:is(.typo-a, .typo-b, .typo-c) .panel-titul-3d span { font-family: var(--ty-text); font-weight: 400; font-size: .9em; letter-spacing: 0; }
:is(.typo-a, .typo-b, .typo-c) .tl-prehrat-delka { font-family: var(--ty-udaj); font-variant-numeric: proportional-nums; }
.typo-b .tl-prehrat-delka { font-family: var(--ty-text); }
:is(.typo-a, .typo-b, .typo-c) :is(.z-n, .obor-n) { font-family: var(--ty-udaj); font-weight: var(--ty-tel-w); }

@media (min-width: 900px) {
  :is(.typo-a, .typo-b, .typo-c) .hk-stitek { font: var(--ty-stitek-w) 12.5px/1 var(--ty-stitek); text-transform: var(--ty-stitek-tt); letter-spacing: var(--ty-stitek-ls); }
  .typo-c .hk-stitek { font-size: 13px; color: var(--ink-2); }
  :is(.typo-a, .typo-b, .typo-c) .hk-cislo { font: var(--ty-tel-w) var(--ty-tel-v)/1 var(--ty-udaj); letter-spacing: var(--ty-tel-ls); }
}
:is(.typo-a, .typo-b, .typo-c) :is(.tl-dva b, .pas-tel, .mmenu-tel) { font-family: var(--ty-udaj); font-weight: var(--ty-tel-w); letter-spacing: var(--ty-tel-ls); }
:is(.typo-a, .typo-b, .typo-c) :is(.pas-tel small, .tl-dva small, .mmenu-tel small) { font-family: var(--ty-stitek); font-weight: var(--ty-stitek-w); letter-spacing: var(--ty-stitek-ls); text-transform: var(--ty-stitek-tt); font-size: 12px; }
.typo-c :is(.pas-tel small, .tl-dva small, .mmenu-tel small) { font-size: 13px; }
.typo-b :is(.pocty dd, .hk-cislo, .pas-tel, .tl-dva b, .mmenu-tel, .pat-kontakty a[href^="tel:"], .panel-cislo) { word-spacing: -.34em; }
@media (min-width: 1280px) and (max-width: 1535px) {
  .typo-c .menu > ul { gap: 22px; }
  .typo-c .hk-cislo { font-size: 17px; }
  .typo-c .hk-stitek { font-size: 12.5px; }
  .typo-c .hlavicka { gap: 28px; }
  .typo-c .hlavicka-akce { gap: 20px; }
}
@media (min-width: 1280px) and (max-width: 1439px) {
  .typo-c .menu > ul { gap: 15px; }
  .typo-c .hlavicka { gap: 20px; }
  .typo-c .hlavicka-akce { gap: 14px; }
  .typo-c .hk { padding-left: 11px; }
  .typo-c .poptavka { padding: 0 14px; }
}
@media (min-width: 1280px) and (max-width: 1439px) {
  .typo-b .menu > ul { gap: 16px; }
  .typo-b .hlavicka { gap: 22px; }
  .typo-b .hlavicka-akce { gap: 16px; }
  .typo-b .hk { padding-left: 11px; }
  .typo-b .hk-cislo { font-size: 16px; }
}

:is(.typo-a, .typo-b, .typo-c) .mm { --mm-f: var(--ty-text); --mm-f-titul: var(--ty-nadpis-m); }
:is(.typo-a, .typo-b, .typo-c) .pocty dd { font-family: var(--ty-cislo); font-weight: var(--ty-cislo-w); letter-spacing: var(--ty-cislo-ls); font-size: var(--ty-cislo-v); font-variant-numeric: tabular-nums lining-nums; }
:is(.typo-a, .typo-b, .typo-c) .pocty dt { font-size: 14.5px; line-height: 1.3; }
:is(.typo-a, .typo-b, .typo-c) .odkazy a { font-weight: var(--ty-text-w-silny); }

:is(.typo-a, .typo-b, .typo-c) .pas-text { line-height: var(--ty-perex-lh); }
:is(.typo-a, .typo-b, .typo-c) .pas-tel { font-size: calc(var(--ty-tel-v) + 2px); }

:is(.typo-a, .typo-b, .typo-c) .obor-veta { font-size: var(--ty-mal); line-height: 1.55; }
:is(.typo-a, .typo-b, .typo-c) .obor-ukony li { line-height: 1.45; }
:is(.typo-a, .typo-b) .obor-ukony li::first-letter { text-transform: none; }
.typo-a .obor-ukony li { display: grid; grid-template-columns: 16px minmax(0, 1fr); }
.typo-a .obor-ukony li::before { content: '–'; color: var(--amber); font-weight: 600; }
.typo-b .obor-ukony li { display: grid; grid-template-columns: 22px minmax(0, 1fr); }
.typo-b .obor-ukony li::before { content: ''; width: 8px; height: 8px; margin-top: .5em; border: 1.5px solid var(--ink-3); border-radius: 1px; }

:is(.typo-a, .typo-b, .typo-c) .pat-logo p { font: var(--ty-nadpis-m-w) clamp(19px, .5vw + 13px, 23px)/1.25 var(--ty-nadpis-m); letter-spacing: -.01em; }
:is(.typo-a, .typo-b, .typo-c) .pat-kontakty a[href^="mailto:"] { font-variant-numeric: normal; }
:is(.typo-a, .typo-b, .typo-c) .pat-kontakty a[href^="tel:"] { font-family: var(--ty-udaj); font-weight: var(--ty-tel-w); letter-spacing: var(--ty-tel-ls); }

@media (max-width: 899px) {
  :root:is(.typo-a, .typo-b, .typo-c) { --t-text: 16px; }
  .typo-a .uvod-hlava h1 { font-size: clamp(33px, 9.2vw, 52px); letter-spacing: -.016em; line-height: 1; }
  .typo-b .uvod-hlava h1 { font-size: clamp(31px, 8.4vw, 46px); letter-spacing: -.022em; line-height: 1.06; }
  .typo-c .uvod-hlava h1 { font-size: clamp(31px, 8.4vw, 46px); letter-spacing: -.024em; line-height: 1.04; }
  .typo-a .pocty dd { font-size: clamp(30px, 8.6vw, 46px); }
  .typo-b .pocty dd { font-size: clamp(26px, 7.1vw, 36px); letter-spacing: -.06em; }
  .typo-c .pocty dd { font-size: clamp(25px, 7.4vw, 40px); letter-spacing: -.045em; }
  :is(.typo-a, .typo-b, .typo-c) .pocty dt { font-size: 13.5px; }
  :is(.typo-a, .typo-b, .typo-c) .uvod-perex-m { font-size: 17px; }
  .ty-stitek { font-size: 12px; white-space: normal; }
}
