/* ==========================================================================
   Planmed — planmed.css
   Jediný stylopis webu. Načítá se v astra-child (functions.php → wp_enqueue_style).
   Všechny selektory pod prefixem .pm-. Vzhled stránek je 1:1 převzatý z návrhu
   (část 12 — generované třídy). Holé značky se stylují jen uvnitř .pm-form-slot.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. Tokeny
   -------------------------------------------------------------------------- */
:root {
  /* barvy — plochy */
  --pm-bg: #f4f6f7;          /* pozadí stránky */
  --pm-surface: #ffffff;     /* karty, tabulky */
  --pm-line: #d9e2e6;        /* rámečky karet, dělicí linky */
  --pm-line-soft: #eef2f4;   /* vnitřní linky v kartách a tabulkách */

  /* barvy — text */
  --pm-ink: #0b1418;         /* hlavní text, nadpisy */
  --pm-ink-2: #33474f;       /* odstavce */
  --pm-ink-3: #4a5f68;       /* popisky, mono labely (AA na --pm-bg i --pm-surface) */

  /* barvy — značka */
  --pm-brand: #007db8;       /* primární tlačítka, aktivní stavy (bílý text = AA) */
  --pm-brand-dark: #005f8c;  /* hover primárních tlačítek */
  --pm-cyan: #00aeef;        /* akcent Planmed — tečky, podtržení v menu, focus ring; nikdy jako podklad textu */
  --pm-mauve: #7f1399;       /* akcent Needle Concept — zvýraznění v nadpisu, odkazy „Detail →", hvězdičky */
  --pm-mauve-soft: #f9f2fb;
  --pm-mauve-line: #e3cdea;
  --pm-brand-soft: #d6ecf7;
  --pm-line-control: #c9d5da;  /* rámečky polí, sekundárních tlačítek a chipů */
  --pm-header-bg: rgba(244, 246, 247, .9); /* poloprůhledná lepicí hlavička */

  /* typografie */
  --pm-font-sans: "Schibsted Grotesk", system-ui, sans-serif;
  --pm-font-mono: "IBM Plex Mono", monospace;

}

/* --------------------------------------------------------------------------
   1. Písma (lokálně, viz fonts/README.md)
   -------------------------------------------------------------------------- */
@font-face { font-family: "Schibsted Grotesk"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/SchibstedGrotesk-Regular.woff2") format("woff2"); }
@font-face { font-family: "Schibsted Grotesk"; font-weight: 500; font-style: normal; font-display: swap; src: url("../fonts/SchibstedGrotesk-Medium.woff2") format("woff2"); }
@font-face { font-family: "Schibsted Grotesk"; font-weight: 600; font-style: normal; font-display: swap; src: url("../fonts/SchibstedGrotesk-SemiBold.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/IBMPlexMono-Regular.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-weight: 500; font-style: normal; font-display: swap; src: url("../fonts/IBMPlexMono-Medium.woff2") format("woff2"); }

/* --------------------------------------------------------------------------
   2. Kořen stránky — přesně to, co měl návrh v globálních stylech (nic navíc).
   .pm-page patří na <body> (astra-child: body_class filtr). :where() drží
   specificitu 0,1,0, aby tyto základy nikdy nepřebily třídy z návrhu níže.
   -------------------------------------------------------------------------- */
.pm-page { margin: 0; font-family: var(--pm-font-sans); color: var(--pm-ink); background: var(--pm-bg); overflow-x: hidden; -webkit-font-smoothing: antialiased; } /* = kořenový obal návrhu */
.pm-page :where(a) { color: #0b1418; text-decoration: none; }
.pm-page :where(a:hover) { color: #005f8c; }
.pm-page :where(input, textarea, select, button) { font-family: inherit; }
.pm-page :where(input, textarea, button, a):focus-visible { outline: 3px solid #00aeef; outline-offset: 2px; }
@keyframes pm-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes pm-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .pm-page, .pm-page * { animation: none !important; transition: none !important; } /* !important: stejně jako v návrhu; přebíjí i přechody Astry/Elementoru */
}

/* --------------------------------------------------------------------------
   3. Chování (JS hooky) — jen to, co v návrhu řešil stav aplikace.
   Zdvojené třídy (.pm-nav.pm-nav) = specificita 0,3,0, aby přebily třídy návrhu (0,2,0).
   -------------------------------------------------------------------------- */
/* hlavička: desktop menu od 1181 px (návrh přepínal na 1180 px), pod tím tlačítko Menu */
@media (max-width: 1180px) { .pm-page .pm-nav.pm-nav { display: none; } }
@media (min-width: 1181px) { .pm-page .pm-header__mobile.pm-header__mobile, .pm-page .pm-mobilenav.pm-mobilenav { display: none; } }
.pm-js .pm-mobilenav.pm-mobilenav:not([data-open="true"]) { display: none; } /* bez JS zůstává mobilní menu rozbalené */
.pm-menubtn[aria-expanded="true"] .pm-menubtn__open, .pm-menubtn:not([aria-expanded="true"]) .pm-menubtn__close { display: none; }
.pm-admin-bar .pm-header.pm-header { top: 32px; } /* WP admin bar přihlášeného uživatele — třídu přidává planmed.js */
/* FAQ: první otevřená, ostatní hidden; bez JS vše viditelné */
.pm-js .pm-faq__a.pm-faq__a[hidden] { display: none; }
.pm-page:not(.pm-js) .pm-faq__a.pm-faq__a { display: block; }
.pm-faq__btn[aria-expanded="true"] .pm-faq__sign::before { content: "−"; }
.pm-faq__btn:not([aria-expanded="true"]) .pm-faq__sign::before { content: "+"; }
/* Průvodce: tlačítka oblastí (barvy z návrhu), panely — aktivní jeden, bez JS všechny */
.pm-page .pm-guide__zone.pm-guide__zone { border: 1px solid #c9d5da; background: #fff; color: #33474f; }
.pm-page .pm-guide__zone.pm-guide__zone[aria-pressed="true"] { border-color: #007db8; background: #007db8; color: #fff; }
.pm-js .pm-guide__panel.pm-guide__panel:not([data-active="true"]) { display: none; }
.pm-page:not(.pm-js) .pm-guide__panel.pm-guide__panel + .pm-guide__panel { margin-top: 24px; }
/* Odkrývání při scrollu — pouze s JS a bez reduced-motion; bez JS je vše viditelné */
@media (prefers-reduced-motion: no-preference) {
  .pm-js .pm-reveal.pm-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1); }
  .pm-js .pm-reveal.pm-reveal.pm-in { opacity: 1; transform: none; }
}
.pm-skip:not(:focus) { left: -9999px; }

/* --------------------------------------------------------------------------
   4. Formulář — WPForms widget uvnitř .pm-form-slot.
   Vzhled polí je opsaný z návrhu; :where() drží specificitu nízko, aby v pages/*.html
   zůstal navržený formulář beze změny a na webu se stejně nastylovalo cizí značkování WPForms.
   Jediná výjimka z pravidla o holých selektorech.
   -------------------------------------------------------------------------- */
.pm-form-inner { display: contents; } /* navržený <form> — mřížku drží obal .pm-form-slot */
.pm-form-slot :where(.wpforms-form) { display: contents; }
.pm-form-slot :where(.wpforms-field) { display: grid; gap: 6px; }
.pm-form-slot :where(label, legend, .wpforms-field-label) { font-size: 13px; font-weight: 600; color: #33474f; }
.pm-form-slot :where(.wpforms-required-label) { color: #7F1399; }
.pm-form-slot :where(.wpforms-field-sublabel, .wpforms-field-description) { font-size: 12.5px; color: #4a5f68; line-height: 1.45; }
.pm-form-slot :where(input[type="text"], input[type="email"], input[type="tel"], select, textarea) { width: 100%; box-sizing: border-box; min-width: 0; min-height: 44px; font: inherit; font-size: 15px; padding: 12px 14px; border: 1px solid #c9d5da; border-radius: 6px; background: #fff; color: #0b1418; }
.pm-form-slot :where(textarea) { resize: vertical; min-height: 120px; }
.pm-form-slot :where(input, select, textarea):focus { border-color: #0b1418; }
.pm-form-slot :where(input[type="checkbox"]) { width: 18px; height: 18px; margin: 2px 0 0; accent-color: #007db8; flex: none; }
.pm-form-slot :where(.wpforms-field-checkbox li, .wpforms-field-gdpr-checkbox li) { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; font-size: 15px; }
.pm-form-slot :where(button[type="submit"], .wpforms-submit) { background: #007db8; color: #fff; border: 0; padding: 16px; border-radius: 6px; font: inherit; font-weight: 600; font-size: 15px; cursor: pointer; transition: background .25s; width: 100%; min-height: 44px; }
.pm-form-slot :where(button[type="submit"], .wpforms-submit):hover { background: #005f8c; }
.pm-form-slot :where(.wpforms-error, label.wpforms-error) { color: #9b1c1c; font-size: 13px; font-weight: 500; }
.pm-form-slot :where(.wpforms-confirmation-container-full) { background: #f4f6f7; border: 1px solid #d9e2e6; border-radius: 6px; padding: 16px; font-size: 15px; }

/* --------------------------------------------------------------------------
   5. Třídy vygenerované 1:1 z inline stylů návrhu (název = hash deklarace).
   Každá třída = jeden vzhledový „atom" z návrhu. Selektor .pm-page .pm-xxx (specificita 0,2,0)
   záměrně přebíjí základní pravidla i Astru. Ladit zde, nebo přes tokeny nahoře.
   -------------------------------------------------------------------------- */
.pm-page .pm-sy73x7o { position: absolute; left: -9999px; top: 12px; z-index: 100; background: var(--pm-ink); color: #fff; padding: 10px 14px; border-radius: 6px; font-size: 14px; }
.pm-page .pm-focusvisible-o0tale:focus-visible { left: 16px; }
.pm-page .pm-s3rcrak { border-bottom: 1px solid var(--pm-line); background: var(--pm-bg); }
.pm-page .pm-s1720pch { max-width: 1280px; margin: 0 auto; padding: 8px 24px; display: flex; justify-content: space-between; gap: 16px; align-items: center; font-family: var(--pm-font-mono); font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-ink-3); }
.pm-page .pm-s8l544s { display: flex; align-items: center; gap: 10px; min-width: 0; }
.pm-page .pm-seaebf0 { width: 6px; height: 6px; background: var(--pm-cyan); flex: none; }
.pm-page .pm-s19ucj6f { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pm-page .pm-sxzdjd4 { display: flex; gap: 14px; flex: none; }
.pm-page .pm-s16af4kp { color: var(--pm-ink); font-weight: 500; }
.pm-page .pm-sgnmk0l { color: var(--pm-ink-3); }
.pm-page .pm-sznb8ax { position: sticky; top: 0; z-index: 40; background: var(--pm-header-bg); backdrop-filter: blur(14px); border-bottom: 1px solid var(--pm-line); }
.pm-page .pm-sre2tao { max-width: 1280px; margin: 0 auto; padding: 16px 24px; display: flex; align-items: center; gap: 32px; }
.pm-page .pm-s12rogxe { display: flex; flex: none; }
.pm-page .pm-seq97ko { height: 26px; width: auto; }
.pm-page .pm-s13ugu9l { display: flex; white-space: nowrap; gap: 26px; margin-left: auto; align-items: center; font-size: 15px; font-weight: 500; }
.pm-page .pm-s1albrsx { color: var(--pm-ink-2); padding: 6px 0; border-bottom: 2px solid transparent; transition: border-color .2s; }
.pm-page .pm-hover-7qnex2:hover { border-color: var(--pm-cyan); color: var(--pm-ink); }
.pm-page .pm-s1ofgv18 { display: inline-flex; align-items: center; gap: 10px; background: var(--pm-brand); color: #fff; padding: 11px 18px; border-radius: 6px; font-weight: 600; font-size: 14px; margin-left: 8px; transition: background .25s cubic-bezier(.2,.8,.2,1); }
.pm-page .pm-hover-1abpd7e:hover { background: var(--pm-brand-dark); }
.pm-page .pm-s1psl1ju { margin-left: auto; display: flex; gap: 10px; align-items: center; }
.pm-page .pm-s1d6nan4 { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--pm-line); border-radius: 6px; background: #fff; }
.pm-page .pm-sg1fc3a { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 44px; padding: 0 16px; border: 1px solid var(--pm-ink); border-radius: 6px; background: var(--pm-ink); color: #fff; font-size: 14px; font-weight: 600; cursor: pointer; }
.pm-page .pm-s16bjx2j { border-top: 1px solid var(--pm-line); background: #fff; padding: 8px 24px 24px; display: grid; gap: 2px; animation: pm-fade .25s ease both; }
.pm-page .pm-s9h7qe1 { padding: 16px 0; border-bottom: 1px solid var(--pm-line-soft); font-size: 20px; font-weight: 500; }
.pm-page .pm-s1qgdxh9 { display: flex; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid var(--pm-line-soft); font-size: 20px; font-weight: 500; }
.pm-page .pm-sgqeege { color: var(--pm-mauve); }
.pm-page .pm-s15rh5zj { margin-top: 18px; display: flex; justify-content: center; background: var(--pm-brand); color: #fff; padding: 16px; border-radius: 6px; font-weight: 600; font-size: 16px; }
.pm-page .pm-skwxuo5 { max-width: 1280px; margin: 0 auto; padding: 64px 24px 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 40px 64px; align-items: center; }
.pm-page .pm-sn5xgwi { min-width: 0; }
.pm-page .pm-s13r0hj7 { font-family: var(--pm-font-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pm-ink-3); display: flex; align-items: center; gap: 14px; margin-bottom: 30px; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) both; }
.pm-page .pm-shkzaq { width: 28px; height: 1px; background: var(--pm-ink); }
.pm-page .pm-s11egz2a { font-size: clamp(42px, 6vw, 84px); line-height: 0.98; letter-spacing: -0.035em; margin: 0 0 28px; font-weight: 600; text-wrap: balance; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .08s both; }
.pm-page .pm-s165ihzk { font-size: clamp(17px, 1.4vw, 20px); line-height: 1.5; color: var(--pm-ink-2); margin: 0 0 36px; max-width: 30em; text-wrap: pretty; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .16s both; }
.pm-page .pm-shjl4ve { font-weight: 600; color: var(--pm-ink); }
.pm-page .pm-snu1vzt { display: flex; flex-wrap: wrap; gap: 12px; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .24s both; }
.pm-page .pm-svazhda { display: inline-flex; align-items: center; gap: 12px; background: var(--pm-brand); color: #fff; padding: 16px 24px; border-radius: 6px; font-weight: 600; font-size: 15px; transition: background .25s cubic-bezier(.2,.8,.2,1); }
.pm-page .pm-s1l0gp2u { display: inline-flex; align-items: center; gap: 12px; border: 1px solid var(--pm-line-control); background: #fff; color: var(--pm-ink); padding: 16px 24px; border-radius: 6px; font-weight: 500; font-size: 15px; transition: border-color .25s; }
.pm-page .pm-hover-ihn3q6:hover { border-color: var(--pm-ink); }
.pm-page .pm-s1gid2mz { min-width: 0; animation: pm-fade .9s ease .2s both; }
.pm-page .pm-s1kihntw { background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; overflow: hidden; }
.pm-page .pm-s59xgq4 { display: flex; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--pm-line-soft); font-family: var(--pm-font-mono); font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-ink-3); }
.pm-page .pm-s95h5us { display: flex; align-items: center; gap: 8px; color: var(--pm-ink); }
.pm-page .pm-s1kuek20 { width: 6px; height: 6px; border-radius: 50%; background: var(--pm-cyan); }
.pm-page .pm-s1s352sk { display: block; width: 100%; height: auto; padding: 12px; box-sizing: border-box; }
.pm-page .pm-s1ead330 { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--pm-line-soft); font-family: var(--pm-font-mono); font-size: 12px; }
.pm-page .pm-s14qujn5 { padding: 14px 16px; border-right: 1px solid var(--pm-line-soft); }
.pm-page .pm-syj2uy { color: var(--pm-ink-3); font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 4px; }
.pm-page .pm-s1tbcjn4 { padding: 14px 16px; }
.pm-page .pm-s1r9f06y { max-width: 1280px; margin: 56px auto 0; padding: 0 24px; }
.pm-page .pm-ssgd2rw { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 20px; border-top: 1px solid var(--pm-ink); border-bottom: 1px solid var(--pm-line); }
.pm-page .pm-sswj5kc { padding: 24px 0; }
.pm-page .pm-snlgttz { font-size: clamp(34px, 3.4vw, 48px); font-weight: 600; letter-spacing: -0.03em; line-height: 1; }
.pm-page .pm-s1hek062 { font-family: var(--pm-font-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-ink-3); margin-top: 10px; }
.pm-page .pm-stf912u { max-width: 1280px; margin: 0 auto; padding: 96px 24px 0; }
.pm-page .pm-sj14tt3 { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 28px; }
.pm-page .pm-s1bmm1tu { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.02; letter-spacing: -0.03em; margin: 0; font-weight: 600; }
.pm-page .pm-s1vf4kui { font-family: var(--pm-font-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-ink-3); }
.pm-page .pm-s1atlwm1 { display: grid; gap: 16px; }
.pm-page .pm-s6klrx { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 0 40px; background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; padding: 28px; align-items: center; transition: border-color .3s cubic-bezier(.2,.8,.2,1), transform .3s cubic-bezier(.2,.8,.2,1); color: var(--pm-ink); }
.pm-page .pm-hover-yjq4on:hover { border-color: var(--pm-mauve); transform: translateY(-2px); }
.pm-page .pm-s1wjpqzr { min-width: 0; display: grid; gap: 18px; }
.pm-page .pm-sl55u1t { height: 30px; width: auto; justify-self: start; }
.pm-page .pm-s2l676i { font-size: clamp(22px, 2.2vw, 30px); line-height: 1.1; letter-spacing: -0.02em; margin: 0; font-weight: 600; text-wrap: balance; }
.pm-page .pm-s177koou { font-size: 16px; line-height: 1.55; color: var(--pm-ink-2); margin: 0; max-width: 34em; text-wrap: pretty; }
.pm-page .pm-s1fgg30e { display: grid; grid-template-columns: max-content 1fr; gap: 8px 20px; margin: 0; font-size: 14px; border-top: 1px solid var(--pm-line-soft); padding-top: 16px; }
.pm-page .pm-s1e6eeny { font-family: var(--pm-font-mono); font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-ink-3); padding-top: 2px; }
.pm-page .pm-s1jhy2x3 { margin: 0; font-weight: 500; }
.pm-page .pm-s1yaatez { font-weight: 600; font-size: 15px; color: var(--pm-mauve); display: inline-flex; gap: 10px; align-items: center; }
.pm-page .pm-s1nobr99 { min-width: 0; background: var(--pm-bg); border-radius: 6px; padding: 16px; margin-top: 8px; }
.pm-page .pm-s55v3a9 { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.pm-page .pm-s79meop { min-width: 0; background: var(--pm-bg); border-radius: 6px; padding: 16px; margin-bottom: 8px; }
.pm-page .pm-s1rvjqh4 { height: 28px; width: auto; justify-self: start; }
.pm-page .pm-s1g8hgj9 { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 8px; }
.pm-page .pm-si7stc9 { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0 20px; border-top: 1px solid var(--pm-ink); margin-top: 24px; }
.pm-page .pm-s1rxnke6 { padding: 26px 0 0; }
.pm-page .pm-szt2oaa { font-family: var(--pm-font-mono); font-size: 12px; color: var(--pm-ink-3); margin-bottom: 14px; }
.pm-page .pm-sphf32u { font-size: 18px; font-weight: 600; margin: 0 0 8px; letter-spacing: -0.01em; }
.pm-page .pm-s5bl366 { font-size: 15px; line-height: 1.55; color: var(--pm-ink-3); margin: 0; }
.pm-page .pm-sfn73na { max-width: 1280px; margin: 96px auto 0; padding: 0 24px; }
.pm-page .pm-sq7an5n { background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; padding: clamp(28px, 4vw, 56px); display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; align-items: center; }
.pm-page .pm-svcrnv7 { font-family: var(--pm-font-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pm-ink-3); margin-bottom: 20px; }
.pm-page .pm-s1f06t1s { font-size: clamp(28px, 3.4vw, 44px); line-height: 1.05; letter-spacing: -0.03em; margin: 0 0 18px; font-weight: 600; text-wrap: balance; }
.pm-page .pm-s1egdi09 { font-size: 17px; line-height: 1.55; color: var(--pm-ink-2); margin: 0 0 28px; max-width: 30em; text-wrap: pretty; }
.pm-page .pm-s144gh3h { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.pm-page .pm-s183b9oz { border: 1px solid var(--pm-line-control); border-radius: 999px; padding: 7px 14px; font-size: 13px; color: var(--pm-ink-2); }
.pm-page .pm-s15vncpb { border: 1px solid var(--pm-brand); background: var(--pm-brand); border-radius: 999px; padding: 7px 14px; font-size: 13px; color: #fff; font-weight: 600; }
.pm-page .pm-s1vrimwh { display: inline-flex; align-items: center; gap: 12px; background: var(--pm-brand); color: #fff; padding: 15px 22px; border-radius: 6px; font-weight: 600; font-size: 15px; transition: background .25s; }
.pm-page .pm-srrbfiq { min-width: 0; background: var(--pm-bg); border-radius: 6px; padding: 10px; }
.pm-page .pm-smmtrg6 { display: block; width: 100%; height: auto; border-radius: 4px; }
.pm-page .pm-snnhs44 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px 56px; align-items: start; }
.pm-page .pm-sabjkp2 { font-size: 18px; line-height: 1.55; color: var(--pm-ink); margin: 0 0 16px; max-width: 32em; text-wrap: pretty; }
.pm-page .pm-s1kpnnpz { font-size: 16px; line-height: 1.6; color: var(--pm-ink-2); margin: 0 0 16px; max-width: 34em; text-wrap: pretty; }
.pm-page .pm-srdptiu { font-size: 16px; line-height: 1.6; color: var(--pm-ink-2); margin: 0 0 24px; max-width: 34em; text-wrap: pretty; }
.pm-page .pm-s135snii { margin: 0; display: grid; font-size: 15px; border-top: 1px solid var(--pm-ink); }
.pm-page .pm-szie39 { display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--pm-line-soft); padding: 12px 0; }
.pm-page .pm-s9t8xl3 { margin: 0; font-family: var(--pm-font-mono); font-size: 13px; text-align: right; }
.pm-page .pm-s1wjlr9o { min-width: 0; display: grid; gap: 20px; }
.pm-page .pm-s7w4br8 { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 20px; border-top: 1px solid var(--pm-ink); margin-top: 48px; }
.pm-page .pm-s1dj524a { padding: 22px 0 0; }
.pm-page .pm-szt2mpg { font-family: var(--pm-font-mono); font-size: 12px; color: var(--pm-ink-3); margin-bottom: 12px; }
.pm-page .pm-s1y64fzk { font-size: 17px; font-weight: 600; margin: 0 0 8px; }
.pm-page .pm-s4byg7z { border-top: 1px solid var(--pm-ink); padding-top: 40px; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 48px; align-items: start; }
.pm-page .pm-s1p57dg { display: flex; align-items: center; gap: 18px; }
.pm-page .pm-sdbtf0m { width: 72px; height: 72px; border-radius: 50%; background: #e3eaed; border: 1px solid var(--pm-line); flex: none; display: flex; align-items: center; justify-content: center; font-family: var(--pm-font-mono); font-size: 10px; color: var(--pm-ink-3); text-align: center; }
.pm-page .pm-s1ykb40v { font-weight: 600; font-size: 17px; }
.pm-page .pm-s12ol4xu { font-size: 14px; color: var(--pm-ink-3); }
.pm-page .pm-ss4fmx0 { min-width: 0; display: grid; border-top: 1px solid var(--pm-line); }
.pm-page .pm-shl7c0z { padding: 20px 0; border-bottom: 1px solid var(--pm-line); display: grid; grid-template-columns: 40px 1fr; gap: 12px; }
.pm-page .pm-s11lel48 { font-family: var(--pm-font-mono); font-size: 12px; color: var(--pm-ink-3); padding-top: 4px; }
.pm-page .pm-s1n8pulm { font-weight: 600; margin-bottom: 4px; }
.pm-page .pm-s4ovgap { font-size: 15px; line-height: 1.55; color: var(--pm-ink-3); }
.pm-page .pm-sgjloz5 { max-width: 1280px; margin: 96px auto 0; padding: 0 24px 96px; }
.pm-page .pm-s1kevu4x { background: #fff; border: 1px solid var(--pm-line); border-top: 3px solid var(--pm-brand); color: var(--pm-ink); border-radius: 8px; padding: clamp(28px, 4vw, 56px); display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 32px; align-items: center; }
.pm-page .pm-s1k9aq1s { font-size: clamp(30px, 3.8vw, 52px); line-height: 1; letter-spacing: -0.035em; margin: 0 0 14px; font-weight: 600; text-wrap: balance; }
.pm-page .pm-s7h5aqd { font-size: 17px; line-height: 1.5; margin: 0; max-width: 30em; color: var(--pm-ink-2); }
.pm-page .pm-s106t747 { min-width: 0; display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.pm-page .pm-s1hr3wb8 { display: inline-flex; align-items: center; gap: 12px; background: var(--pm-brand); color: #fff; padding: 16px 24px; border-radius: 6px; font-weight: 600; font-size: 15px; transition: background .25s; }
.pm-page .pm-sztg9i4 { display: inline-flex; align-items: center; gap: 12px; border: 1px solid var(--pm-line-control); color: var(--pm-ink); padding: 16px 24px; border-radius: 6px; font-weight: 500; font-size: 15px; transition: border-color .25s; }
.pm-page .pm-s1e6f8kd { border-top: 1px solid var(--pm-line); background: #fff; }
.pm-page .pm-segh13j { max-width: 1280px; margin: 0 auto; padding: 48px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; font-size: 14px; color: var(--pm-ink-3); line-height: 1.6; }
.pm-page .pm-s3598do { height: 22px; width: auto; margin-bottom: 14px; }
.pm-page .pm-s1gccbla { display: grid; gap: 8px; align-content: start; }
.pm-page .pm-sho8824 { color: var(--pm-ink-2); }
.pm-page .pm-s1w05250 { font-family: var(--pm-font-mono); font-size: 12px; letter-spacing: 0.04em; }
.pm-page .pm-s1fhgvhx { max-width: 1280px; margin: 0 auto; padding: 48px 24px 0; }
.pm-page .pm-sxyjsat { font-family: var(--pm-font-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--pm-ink-3); margin-bottom: 32px; display: flex; gap: 10px; }
.pm-page .pm-sjc7uub { color: var(--pm-ink); }
.pm-page .pm-s1v5s6fy { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 48px; align-items: center; }
.pm-page .pm-s4axnm2 { height: 48px; width: auto; margin-bottom: 26px; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) both; }
.pm-page .pm-s19alyp1 { font-size: clamp(34px, 4.4vw, 58px); line-height: 1.02; letter-spacing: -0.03em; margin: 0 0 20px; font-weight: 600; text-wrap: balance; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .08s both; }
.pm-page .pm-s1rvo4vu { font-size: 18px; line-height: 1.55; color: var(--pm-ink-2); margin: 0 0 30px; max-width: 34em; text-wrap: pretty; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .16s both; }
.pm-page .pm-hover-1a2znxd:hover { background: var(--pm-mauve); }
.pm-page .pm-s1boq496 { display: inline-flex; align-items: center; border: 1px solid var(--pm-line-control); background: #fff; color: var(--pm-ink); padding: 16px 24px; border-radius: 6px; font-weight: 500; font-size: 15px; transition: border-color .25s; }
.pm-page .pm-hover-ng9xw3:hover { border-color: var(--pm-mauve); }
.pm-page .pm-sd71xgd { min-width: 0; background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; overflow: hidden; animation: pm-fade .9s ease .2s both; }
.pm-page .pm-s8wj1q1 { max-width: 1280px; margin: 0 auto; padding: 88px 24px 0; }
.pm-page .pm-sj14jqj { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 24px; }
.pm-page .pm-ssyllq8 { font-size: clamp(28px, 3.2vw, 40px); letter-spacing: -0.03em; font-weight: 600; margin: 0; line-height: 1.05; }
.pm-page .pm-sa4og0h { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1px; background: var(--pm-line); border: 1px solid var(--pm-line); border-radius: 8px; overflow: hidden; }
.pm-page .pm-s6ndd1w { background: #fff; padding: 26px; }
.pm-page .pm-s1ep9jw7 { font-family: var(--pm-font-mono); font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pm-mauve); margin-bottom: 14px; }
.pm-page .pm-s6yx94n { font-size: 15px; line-height: 1.55; color: var(--pm-ink-2); margin: 0; }
.pm-page .pm-sko3iwb { max-width: 1280px; margin: 0 auto; padding: 88px 24px 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 48px; }
.pm-page .pm-svbehva { font-family: var(--pm-font-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-ink-3); margin-bottom: 18px; }
.pm-page .pm-sicrowv { font-size: clamp(28px, 3.2vw, 40px); letter-spacing: -0.03em; font-weight: 600; margin: 0 0 16px; line-height: 1.05; }
.pm-page .pm-s1412eo0 { font-size: 16px; line-height: 1.55; color: var(--pm-ink-2); margin: 0 0 22px; max-width: 32em; text-wrap: pretty; }
.pm-page .pm-smnhgha { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.pm-page .pm-s1qtaaxc { border: 1px solid var(--pm-line-control); background: #fff; border-radius: 999px; padding: 8px 15px; font-size: 14px; color: var(--pm-ink-2); }
.pm-page .pm-samvx16 { min-width: 0; background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; padding: 32px; }
.pm-page .pm-s1ep5nio { font-family: var(--pm-font-mono); font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pm-mauve); margin-bottom: 20px; }
.pm-page .pm-s1olsxnc { margin: 0; display: grid; font-size: 15px; }
.pm-page .pm-s10s7tf5 { margin: 0; font-family: var(--pm-font-mono); white-space: nowrap; }
.pm-page .pm-s5li3 { display: flex; justify-content: space-between; gap: 18px; padding: 12px 0; }
.pm-page .pm-s1ixnvfn { font-size: 13px; color: var(--pm-ink-3); margin-top: 22px; line-height: 1.5; }
.pm-page .pm-sj10u30 { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 10px; }
.pm-page .pm-sndzqn2 { font-size: 16px; color: var(--pm-ink-2); margin: 0 0 24px; max-width: 44em; }
.pm-page .pm-s2bf4xg { overflow-x: auto; background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; }
.pm-page .pm-s1c9v29n { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 620px; }
.pm-page .pm-s1usuh8l { text-align: left; }
.pm-page .pm-s18w5xix { padding: 14px 20px; font-family: var(--pm-font-mono); font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-ink-3); font-weight: 500; border-bottom: 1px solid var(--pm-ink); }
.pm-page .pm-snfaya5 { transition: background .2s; }
.pm-page .pm-hover-fw7yu9:hover { background: var(--pm-bg); }
.pm-page .pm-surjh70 { padding: 15px 20px; border-bottom: 1px solid var(--pm-line-soft); font-family: var(--pm-font-mono); font-weight: 500; white-space: nowrap; }
.pm-page .pm-s14dg7mw { padding: 15px 20px; border-bottom: 1px solid var(--pm-line-soft); font-family: var(--pm-font-mono); color: var(--pm-ink-2); white-space: nowrap; }
.pm-page .pm-shnjxw4 { padding: 15px 20px; border-bottom: 1px solid var(--pm-line-soft); color: var(--pm-ink-2); }
.pm-page .pm-svgmn01 { font-size: 13px; color: var(--pm-ink-3); margin: 14px 0 0; font-family: var(--pm-font-mono); }
.pm-page .pm-saufrt5 { background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; overflow: hidden; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); align-items: center; }
.pm-page .pm-s189wr4s { min-width: 0; border-bottom: 1px solid var(--pm-line-soft); }
.pm-page .pm-s5oi6dc { min-width: 0; padding: clamp(24px, 3vw, 40px); }
.pm-page .pm-svbe2uw { font-family: var(--pm-font-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-ink-3); margin-bottom: 16px; }
.pm-page .pm-s1hut7nd { font-size: clamp(24px, 2.8vw, 34px); letter-spacing: -0.03em; font-weight: 600; margin: 0 0 14px; line-height: 1.05; }
.pm-page .pm-s17jx2dk { font-size: 16px; line-height: 1.6; color: var(--pm-ink-2); margin: 0 0 18px; text-wrap: pretty; }
.pm-page .pm-s1dks6n7 { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 20px; border-top: 1px solid var(--pm-ink); }
.pm-page .pm-s1ysdnr0 { padding-top: 22px; }
.pm-page .pm-s1k9rzjj { font-family: var(--pm-font-mono); font-size: 12px; color: var(--pm-mauve); margin-bottom: 12px; }
.pm-page .pm-s1n8q4o6 { font-weight: 600; margin-bottom: 8px; }
.pm-page .pm-spueva3 { font-size: 14.5px; line-height: 1.55; color: var(--pm-ink-3); }
.pm-page .pm-s1gf8ai5 { margin: 28px 0 0; font-size: 13px; color: var(--pm-ink-3); max-width: 50em; font-family: var(--pm-font-mono); }
.pm-page .pm-s9n0q7e { max-width: 1280px; margin: 0 auto; padding: 88px 24px 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 40px; }
.pm-page .pm-s1vpn24g { font-size: 16px; line-height: 1.55; color: var(--pm-ink-2); margin: 0 0 24px; max-width: 34em; text-wrap: pretty; }
.pm-page .pm-s1fyrvdd { font-weight: 600; font-size: 15px; color: var(--pm-mauve); }
.pm-page .pm-s1wjplv1 { min-width: 0; display: grid; gap: 12px; }
.pm-page .pm-s1vt7vl7 { background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; padding: 22px; }
.pm-page .pm-s1p4zbhv { font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pm-ink-3); margin-bottom: 10px; }
.pm-page .pm-sazebdr { font-size: 16px; font-weight: 600; margin: 0 0 6px; }
.pm-page .pm-s5fss1i { font-size: 14px; color: var(--pm-ink-2); line-height: 1.55; margin: 0; }
.pm-page .pm-s1i5dri2 { font-size: 13px; color: var(--pm-ink-3); line-height: 1.55; margin: 0; padding: 4px 22px 0; font-family: var(--pm-font-mono); }
.pm-page .pm-sx905du { background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; overflow: hidden; max-width: 880px; }
.pm-page .pm-s1k8hik { border-bottom: 1px solid var(--pm-line-soft); }
.pm-page .pm-s1yht3js { margin: 0; font-size: 16px; }
.pm-page .pm-siavoiz { width: 100%; text-align: left; background: none; border: 0; padding: 20px 22px; font-size: 16px; font-weight: 600; color: var(--pm-ink); cursor: pointer; display: flex; justify-content: space-between; gap: 20px; align-items: center; transition: background .2s; }
.pm-page .pm-s8zq10 { color: var(--pm-mauve); font-size: 20px; flex: none; font-family: var(--pm-font-mono); }
.pm-page .pm-s1ikbesc { padding: 0 22px 20px; font-size: 15px; line-height: 1.6; color: var(--pm-ink-2); max-width: 42em; }
.pm-page .pm-s18z00ge { max-width: 1280px; margin: 0 auto; padding: 88px 24px 96px; }
.pm-page .pm-s15szjkm { background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; padding: clamp(28px, 4vw, 40px); display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 36px; }
.pm-page .pm-s1sjkckj { font-size: 26px; letter-spacing: -0.02em; font-weight: 600; margin: 0 0 12px; }
.pm-page .pm-s1g8ls0x { font-size: 15px; line-height: 1.6; color: var(--pm-ink-2); margin: 0; }
.pm-page .pm-s1ve40fe { min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 12px; }
.pm-page .pm-s1dec75n { background: var(--pm-brand); color: #fff; padding: 16px 24px; border-radius: 6px; font-weight: 600; font-size: 15px; text-align: center; transition: background .25s; }
.pm-page .pm-s163ibg3 { border: 1px solid var(--pm-line-control); color: var(--pm-ink); padding: 16px 24px; border-radius: 6px; font-weight: 500; font-size: 15px; text-align: center; transition: border-color .25s; }
.pm-page .pm-s10512yo { height: 42px; width: auto; margin-bottom: 26px; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) both; }
.pm-page .pm-s7cszli { padding: 15px 20px; border-bottom: 1px solid var(--pm-line-soft); font-family: var(--pm-font-mono); font-weight: 500; }
.pm-page .pm-sx8ixh7 { padding: 15px 20px; border-bottom: 1px solid var(--pm-line-soft); font-family: var(--pm-font-mono); color: var(--pm-ink-3); font-size: 13px; }
.pm-page .pm-s8bblfd { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 20px; border-top: 1px solid var(--pm-ink); }
.pm-page .pm-s1w6i2ok { font-size: 14.5px; line-height: 1.55; color: var(--pm-ink-3); margin: 0; }
.pm-page .pm-s1x9nrql { font-size: clamp(34px, 4.4vw, 58px); line-height: 1.02; letter-spacing: -0.03em; margin: 0 0 18px; font-weight: 600; max-width: 22em; text-wrap: balance; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) both; }
.pm-page .pm-s1f28e7m { font-size: 18px; line-height: 1.55; color: var(--pm-ink-2); margin: 0 0 16px; max-width: 40em; text-wrap: pretty; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .08s both; }
.pm-page .pm-s1yuc0po { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-family: var(--pm-font-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--pm-mauve); animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .16s both; }
.pm-page .pm-s1m9y8d4 { width: 6px; height: 6px; background: var(--pm-mauve); flex: none; }
.pm-page .pm-s61hf25 { max-width: 1280px; margin: 0 auto; padding: 40px 24px 0; }
.pm-page .pm-s1aq34pd { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .24s both; }
.pm-page .pm-sp44as0 { border-radius: 999px; padding: 11px 18px; font-size: 15px; font-weight: 500; cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.pm-page .pm-s1qcu6sd { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; align-items: start; }
.pm-page .pm-s1w19s5w { min-width: 0; background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; overflow: hidden; }
.pm-page .pm-s1gpaflw { background: var(--pm-brand); color: #fff; padding: 22px 28px; }
.pm-page .pm-smqf13w { font-family: var(--pm-font-mono); font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase; color: #fff; margin-bottom: 8px; }
.pm-page .pm-s16adh5h { font-size: 24px; font-weight: 600; letter-spacing: -0.02em; }
.pm-page .pm-s1hxkga4 { padding: 28px; display: grid; gap: 22px; }
.pm-page .pm-s1iojwdg { font-family: var(--pm-font-mono); font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-ink-3); margin-bottom: 12px; }
.pm-page .pm-sagvgw6 { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.pm-page .pm-syz7u4m { background: var(--pm-bg); border: 1px solid var(--pm-line); border-radius: 6px; padding: 10px 14px; font-family: var(--pm-font-mono); font-size: 15px; font-weight: 500; }
.pm-page .pm-srdj3vp { font-family: var(--pm-font-mono); color: var(--pm-ink); }
.pm-page .pm-s18sqi8k { border-top: 1px solid var(--pm-line-soft); padding-top: 20px; }
.pm-page .pm-szy8b3m { display: flex; gap: 8px; flex-wrap: wrap; }
.pm-page .pm-s6tmugq { background: var(--pm-mauve-soft); border: 1px solid var(--pm-mauve-line); border-radius: 6px; padding: 10px 14px; font-family: var(--pm-font-mono); font-size: 15px; font-weight: 500; color: var(--pm-mauve); }
.pm-page .pm-sxxz0f3 { font-family: var(--pm-font-mono); font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-ink-3); margin-bottom: 8px; }
.pm-page .pm-s1oeawke { background: var(--pm-brand); color: #fff; padding: 15px 22px; border-radius: 6px; font-weight: 600; font-size: 15px; text-align: center; transition: background .25s; }
.pm-page .pm-s8dmpag { padding: 12px 16px; border-bottom: 1px solid var(--pm-line-soft); font-family: var(--pm-font-mono); font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-ink-3); }
.pm-page .pm-s1vt7yy7 { background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; padding: 26px; }
.pm-page .pm-s115ued7 { font-weight: 600; margin-bottom: 14px; }
.pm-page .pm-s40p6m3 { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; font-size: 15px; color: var(--pm-ink-2); line-height: 1.55; }
.pm-page .pm-s1p4b9n6 { display: flex; gap: 12px; }
.pm-page .pm-s24zs88 { color: var(--pm-mauve); font-family: var(--pm-font-mono); }
.pm-page .pm-s1c9wltp { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 640px; }
.pm-page .pm-s8xae2b { padding: 15px 20px; border-bottom: 1px solid var(--pm-line-soft); font-weight: 600; }
.pm-page .pm-s1tihz51 { font-size: 13px; color: var(--pm-ink-3); margin: 14px 0 0; font-family: var(--pm-font-mono); line-height: 1.6; }
.pm-page .pm-sm783b2 { max-width: 1280px; margin: 88px auto 0; padding: 0 24px 96px; }
.pm-page .pm-s6rwm8p { background: #fff; border: 1px solid var(--pm-line); border-top: 3px solid var(--pm-brand); color: var(--pm-ink); border-radius: 8px; padding: clamp(28px, 4vw, 48px); display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; align-items: center; }
.pm-page .pm-s5y8jx8 { font-size: clamp(28px, 3.4vw, 44px); letter-spacing: -0.03em; font-weight: 600; margin: 0 0 10px; line-height: 1.02; }
.pm-page .pm-s120jm35 { font-size: 17px; margin: 0; max-width: 34em; line-height: 1.5; color: var(--pm-ink-2); }
.pm-page .pm-s8wl3x3 { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 12px; }
.pm-page .pm-sijtp2d { max-width: 920px; margin: 0 auto; padding: 48px 24px 0; }
.pm-page .pm-s1uvh8re { font-size: clamp(34px, 4.4vw, 56px); line-height: 1.02; letter-spacing: -0.03em; margin: 0 0 24px; font-weight: 600; text-wrap: balance; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) both; }
.pm-page .pm-svd07pr { font-size: 19px; line-height: 1.55; color: var(--pm-ink-2); margin: 0 0 18px; text-wrap: pretty; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .08s both; }
.pm-page .pm-spziz8q { font-size: 19px; line-height: 1.55; color: var(--pm-ink-2); margin: 0 0 56px; text-wrap: pretty; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .16s both; }
.pm-page .pm-s1tctxv7 { font-size: clamp(26px, 3vw, 36px); letter-spacing: -0.03em; font-weight: 600; margin: 0; line-height: 1.05; }
.pm-page .pm-syd9j1h { display: grid; border-top: 1px solid var(--pm-ink); margin-bottom: 56px; }
.pm-page .pm-s1n409c9 { display: grid; grid-template-columns: 48px 1fr; gap: 12px; padding: 22px 0; border-bottom: 1px solid var(--pm-line); }
.pm-page .pm-s1y64hku { font-size: 17px; font-weight: 600; margin: 0 0 6px; }
.pm-page .pm-s1g7bdaa { font-size: 16px; line-height: 1.6; color: var(--pm-ink-2); margin: 0; }
.pm-page .pm-s1ihz89a { font-size: clamp(26px, 3vw, 36px); letter-spacing: -0.03em; font-weight: 600; margin: 0 0 14px; line-height: 1.05; }
.pm-page .pm-sxggias { font-size: 17px; line-height: 1.6; color: var(--pm-ink-2); margin: 0 0 40px; text-wrap: pretty; }
.pm-page .pm-sut844n { background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; padding: 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 28px; margin-bottom: 96px; }
.pm-page .pm-s1iojusm { font-family: var(--pm-font-mono); font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-ink-3); margin-bottom: 10px; }
.pm-page .pm-sq7r1vy { font-size: 15px; color: var(--pm-ink-2); line-height: 1.6; }
.pm-page .pm-sv5cpea { max-width: 920px; margin: 0 auto; padding: 48px 24px 96px; }
.pm-page .pm-s15r04mz { font-size: clamp(34px, 4.4vw, 56px); line-height: 1.02; letter-spacing: -0.03em; margin: 0 0 40px; font-weight: 600; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) both; }
.pm-page .pm-sj110sk { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 18px; }
.pm-page .pm-s9kpxia { font-size: clamp(24px, 2.8vw, 32px); letter-spacing: -0.03em; font-weight: 600; margin: 0; line-height: 1.05; }
.pm-page .pm-s1ojqp47 { overflow-x: auto; background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; margin-bottom: 24px; }
.pm-page .pm-s1c94248 { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 520px; }
.pm-page .pm-s1gj678j { padding: 14px 20px; border-bottom: 1px solid var(--pm-ink); }
.pm-page .pm-s1raa5ck { padding: 15px 20px; border-bottom: 1px solid var(--pm-line-soft); font-weight: 600; text-align: left; }
.pm-page .pm-s16621w2 { padding: 15px 20px; border-bottom: 1px solid var(--pm-line-soft); color: var(--pm-ink-2); font-family: var(--pm-font-mono); }
.pm-page .pm-s1ua4ffe { padding: 15px 20px; font-weight: 600; text-align: left; }
.pm-page .pm-si68rfe { padding: 15px 20px; color: var(--pm-ink-2); }
.pm-page .pm-s10axhnc { font-size: 17px; line-height: 1.6; color: var(--pm-ink-2); margin: 0 0 12px; }
.pm-page .pm-s10b0h7c { font-size: 17px; line-height: 1.6; color: var(--pm-ink-2); margin: 0 0 56px; }
.pm-page .pm-s8vw33j { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin-bottom: 20px; }
.pm-page .pm-sl55ush { font-size: 15px; color: var(--pm-ink-2); line-height: 1.6; margin: 0; }
.pm-page .pm-sfcsmf7 { font-size: 15px; line-height: 1.6; color: var(--pm-ink-3); margin: 0 0 56px; }
.pm-page .pm-sj10qq0 { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 14px; }
.pm-page .pm-s10ay661 { font-size: 17px; line-height: 1.6; color: var(--pm-ink-2); margin: 0 0 20px; }
.pm-page .pm-s1rmi7bb { color: #006a9e; font-weight: 500; }
.pm-page .pm-swzmpb { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1px solid var(--pm-ink); }
.pm-page .pm-s1t4pz84 { display: grid; grid-template-columns: 48px 1fr; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--pm-line); font-size: 17px; color: var(--pm-ink-2); }
.pm-page .pm-s11lequh { font-family: var(--pm-font-mono); font-size: 12px; color: var(--pm-ink-3); padding-top: 5px; }
.pm-page .pm-sc4lmf6 { max-width: 1280px; margin: 0 auto; padding: 48px 24px 96px; }
.pm-page .pm-syt308 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 56px; align-items: start; }
.pm-page .pm-s1u0s5rp { font-size: clamp(34px, 4.4vw, 56px); line-height: 1.02; letter-spacing: -0.03em; margin: 0 0 18px; font-weight: 600; text-wrap: balance; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) both; }
.pm-page .pm-s16jqfmd { font-size: 18px; line-height: 1.55; color: var(--pm-ink-2); margin: 0 0 36px; max-width: 32em; text-wrap: pretty; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .08s both; }
.pm-page .pm-s1k3rqst { margin: 0; display: grid; border-top: 1px solid var(--pm-ink); animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .16s both; }
.pm-page .pm-s1td3l5l { display: grid; grid-template-columns: minmax(120px, 160px) 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--pm-line); }
.pm-page .pm-s1e6ecvs { font-family: var(--pm-font-mono); font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-ink-3); padding-top: 4px; }
.pm-page .pm-s68ob12 { margin: 0; font-size: 16px; color: var(--pm-ink-2); }
.pm-page .pm-sg923zn { font-family: var(--pm-font-mono); font-size: 14px; }
.pm-page .pm-srsudta { min-width: 0; background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; padding: 28px; display: grid; gap: 20px; align-content: start; animation: pm-fade .9s ease .2s both; }
.pm-page .pm-s17vduq9 { border-bottom: 1px solid var(--pm-line-soft); padding-bottom: 16px; }
.pm-page .pm-s18x0q2a { font-size: 22px; font-weight: 600; margin: 0 0 6px; letter-spacing: -0.02em; }
.pm-page .pm-sx6cyfh { margin: 0; font-size: 14px; color: var(--pm-ink-3); }
.pm-page .pm-s12bnpie { display: grid; grid-template-columns: minmax(110px, 140px) 1fr; gap: 16px; }
.pm-page .pm-sghhthk { display: grid; gap: 6px; }
.pm-page .pm-s9ykted { font-size: 13px; font-weight: 600; color: var(--pm-ink-2); }
.pm-page .pm-slqvoux { width: 100%; box-sizing: border-box; min-width: 0; font-size: 15px; padding: 13px 14px; border: 1px solid var(--pm-line-control); border-radius: 6px; background: #fff; color: var(--pm-ink); transition: border-color .2s; }
.pm-page .pm-focusvisible-17roagn:focus-visible { border-color: var(--pm-ink); }
.pm-page .pm-sbgw0op { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.pm-page .pm-sumwptm { display: grid; gap: 4px; min-width: 0; }
.pm-page .pm-sxlr5p8 { font-size: 12.5px; color: var(--pm-ink-3); line-height: 1.45; }
.pm-page .pm-s1bxdu2m { width: 100%; box-sizing: border-box; min-width: 0; font-size: 15px; padding: 13px 14px; border: 1px solid var(--pm-line-control); border-radius: 6px; background: #fff; color: var(--pm-ink); transition: border-color .2s; max-width: 320px; }
.pm-page .pm-stofvot { border: 0; padding: 0; margin: 0; display: grid; gap: 10px; }
.pm-page .pm-ssadctw { font-size: 13px; font-weight: 600; color: var(--pm-ink-2); padding: 0; margin-bottom: 4px; }
.pm-page .pm-s1n0u84w { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; color: var(--pm-ink-2); line-height: 1.5; cursor: pointer; }
.pm-page .pm-s1sasm2v { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--pm-brand); flex: none; }
.pm-page .pm-s1yon13s { width: 100%; box-sizing: border-box; min-width: 0; font-size: 15px; padding: 13px 14px; border: 1px solid var(--pm-line-control); border-radius: 6px; background: #fff; color: var(--pm-ink); transition: border-color .2s; resize: vertical; }
.pm-page .pm-s1a3mruc { border: 0; padding: 0; margin: 0; display: grid; gap: 8px; }
.pm-page .pm-s1cv19h5 { color: var(--pm-ink-2); text-decoration: underline; }
.pm-page .pm-syjf0i7 { background: var(--pm-brand); color: #fff; border: 0; padding: 16px; border-radius: 6px; font-weight: 600; font-size: 15px; cursor: pointer; transition: background .25s; }
.pm-page .pm-smrt8co { font-size: 12.5px; color: var(--pm-ink-3); line-height: 1.45 margin: 0; }
.pm-page .pm-s1cv5by0 { max-width: 1120px; margin: 0 auto; padding: 8px 24px; display: flex; justify-content: space-between; gap: 16px; align-items: center; font-family: var(--pm-font-mono); font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pm-ink-3); }
.pm-page .pm-s1xd0db2 { max-width: 1120px; margin: 0 auto; padding: 16px 24px; display: flex; align-items: center; gap: 24px; }
.pm-page .pm-smi9737 { margin-left: auto; display: inline-flex; align-items: center; gap: 10px; background: var(--pm-brand); color: #fff; padding: 11px 18px; border-radius: 6px; font-weight: 600; font-size: 14px; white-space: nowrap; transition: background .25s; }
.pm-page .pm-s14kscfg { max-width: 1120px; margin: 0 auto; padding: 64px 24px 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 40px 64px; align-items: center; }
.pm-page .pm-s1to9hqo { font-size: clamp(38px, 5.2vw, 68px); line-height: 1; letter-spacing: -0.035em; margin: 0 0 24px; font-weight: 600; text-wrap: balance; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .08s both; }
.pm-page .pm-skld9a0 { font-size: clamp(17px, 1.4vw, 19px); line-height: 1.5; color: var(--pm-ink-2); margin: 0 0 14px; max-width: 32em; text-wrap: pretty; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .16s both; }
.pm-page .pm-sxb94ty { font-size: 15px; line-height: 1.55; color: var(--pm-ink-3); margin: 0 0 32px; max-width: 32em; font-style: italic; animation: pm-rise .7s cubic-bezier(.2,.8,.2,1) .2s both; }
.pm-page .pm-sarrebj { max-width: 1120px; margin: 0 auto; padding: 96px 24px 0; }
.pm-page .pm-slzdx3i { font-size: clamp(30px, 3.6vw, 44px); line-height: 1.02; letter-spacing: -0.03em; margin: 0; font-weight: 600; }
.pm-page .pm-s1m0gnej { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.pm-page .pm-ssn6rp8 { background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; padding: 28px; display: grid; gap: 18px; align-content: start; }
.pm-page .pm-s1sa6zxm { font-size: 24px; line-height: 1.1; letter-spacing: -0.02em; margin: 0; font-weight: 600; text-wrap: balance; }
.pm-page .pm-s11z6qb0 { font-size: 15px; line-height: 1.55; color: var(--pm-ink-2); margin: 0; text-wrap: pretty; }
.pm-page .pm-s18dflhx { font-size: 14px; line-height: 1.6; color: var(--pm-ink-3); margin: 20px 0 0; max-width: 60em; font-family: var(--pm-font-mono); }
.pm-page .pm-s79hewv { max-width: 1120px; margin: 96px auto 0; padding: 0 24px; }
.pm-page .pm-sw0n0xh { background: #fff; border: 1px solid var(--pm-line); border-top: 3px solid var(--pm-brand); border-radius: 8px; padding: clamp(28px, 4vw, 48px); display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 36px; align-items: center; }
.pm-page .pm-svcqnw8 { font-family: var(--pm-font-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pm-ink-3); margin-bottom: 18px; }
.pm-page .pm-snvf0kd { font-size: clamp(28px, 3.2vw, 40px); letter-spacing: -0.03em; font-weight: 600; margin: 0 0 14px; line-height: 1.05; }
.pm-page .pm-s1hqdeab { font-size: 16px; line-height: 1.6; color: var(--pm-ink-2); margin: 0; max-width: 34em; }
.pm-page .pm-s16af3sa { color: var(--pm-ink); font-weight: 600; }
.pm-page .pm-s6nrcqi { min-width: 0; margin: 0; display: grid; font-size: 15px; border-top: 1px solid var(--pm-ink); }
.pm-page .pm-sru227f { margin: 0; font-family: var(--pm-font-mono); }
.pm-page .pm-spvmv4i { max-width: 1120px; margin: 0 auto; padding: 96px 24px 96px; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 56px; align-items: start; }
.pm-page .pm-s17wb4kx { font-size: clamp(30px, 3.6vw, 44px); letter-spacing: -0.03em; font-weight: 600; margin: 0 0 16px; line-height: 1.02; }
.pm-page .pm-sv77sw2 { font-size: 17px; line-height: 1.55; color: var(--pm-ink-2); margin: 0 0 32px; max-width: 30em; text-wrap: pretty; }
.pm-page .pm-ssc5ufw { margin: 0; display: grid; border-top: 1px solid var(--pm-ink); }
.pm-page .pm-sm72wbr { min-width: 0; background: #fff; border: 1px solid var(--pm-line); border-radius: 8px; padding: 28px; display: grid; gap: 20px; align-content: start; }
.pm-page .pm-s1bxar5m { width: 100%; box-sizing: border-box; min-width: 0; font-size: 15px; padding: 13px 14px; border: 1px solid var(--pm-line-control); border-radius: 6px; background: #fff; color: var(--pm-ink); transition: border-color .2s; max-width: 360px; }
.pm-page .pm-scedbgj { max-width: 1120px; margin: 0 auto; padding: 40px 24px; display: flex; gap: 24px; flex-wrap: wrap; justify-content: space-between; font-family: var(--pm-font-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--pm-ink-3); }

/* --------------------------------------------------------------------------
   5. Pohyb (mikrointerakce) — doplněno 2.10.2026 po předání návrhu, viz ZMENY.md.
   Vše jen bez reduced-motion; hover efekty jen na zařízeních s myší.
   Používá samostatné vlastnosti translate / scale / rotate, aby se nepraly
   s `transform`, kterým se prvky odkrývají při scrollu (.pm-reveal).
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
  /* prolnutí mezi stránkami; prohlížeče bez podpory pravidlo ignorují */
  @view-transition { navigation: auto; }

  /* FAQ: znak se při rozbalení otočí (výšku odpovědi animuje planmed.js) */
  .pm-page .pm-faq__sign { transition: rotate .3s cubic-bezier(.2,.8,.2,1); }
  .pm-page .pm-faq__btn[aria-expanded="true"] .pm-faq__sign { rotate: 180deg; }

  /* Tlačítka: stisk */
  .pm-page .pm-hover-1abpd7e, .pm-page .pm-hover-1a2znxd { transition: background .25s cubic-bezier(.2,.8,.2,1), scale .15s; }
  .pm-page .pm-hover-ihn3q6 { transition: border-color .25s, background .25s, color .25s, scale .15s; }
  .pm-page .pm-hover-1abpd7e:active, .pm-page .pm-hover-1a2znxd:active, .pm-page .pm-hover-ihn3q6:active { scale: .98; }

  /* Šipka v odkazech a tlačítkách */
  .pm-page a span[aria-hidden="true"]:last-child { display: inline-block; transition: translate .25s cubic-bezier(.2,.8,.2,1); }

  /* Produktové karty: .pm-in drží transform: none (0,4,0), takže zvednutí z návrhu
     (transform na :hover) se s JS neprojevilo — zvedá se přes translate. */
  .pm-js .pm-reveal.pm-reveal.pm-hover-yjq4on { transition: opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1), translate .3s cubic-bezier(.2,.8,.2,1), border-color .3s cubic-bezier(.2,.8,.2,1); }
  .pm-page .pm-hover-yjq4on .pm-s55v3a9 { transition: scale .5s cubic-bezier(.2,.8,.2,1); }

  @media (hover: hover) {
    .pm-page a:hover span[aria-hidden="true"]:last-child { translate: 4px 0; }
    .pm-js .pm-reveal.pm-reveal.pm-hover-yjq4on:hover { translate: 0 -2px; }
    .pm-page .pm-hover-yjq4on:hover .pm-s55v3a9 { scale: 1.03; }
  }
}

/* --------------------------------------------------------------------------
   6. Doplňky po předání návrhu (viz ZMENY.md)
   -------------------------------------------------------------------------- */
/* řádek s tlačítkem pod mřížkou karet (Magic Needle → průvodce Kanyla, nebo jehla?) */
.pm-page .pm-more { margin: 24px 0 0; display: flex; flex-wrap: wrap; gap: 12px; }
/* tlačítka oblastí v průvodci výběrem: dotyková plocha aspoň 44 px (návrh měl 39 px) */
.pm-page .pm-guide__zone { min-height: 44px; }
/* EN: hodnoty v tabulce „Where we deliver" zarovnané vpravo i po zalomení na víc řádků */
.pm-page .pm-sru227f { text-align: right; text-wrap: balance; }
/* EN kontakty: blok Company rozdělený do odstavců (adresa · IČ/DIČ · rejstřík) */
.pm-page .pm-stack > span { display: block; }
.pm-page .pm-stack > span + span { margin-top: 10px; }
