/* Посадка «Консультация офтальмолога-хирурга» (макет Figma 10419:2935).
   Подключается только шаблоном site_landing.php, на остальные страницы не влияет.
   Все классы с префиксом kl-.
   МАСШТАБ: макет нарисован в 1,385 раза крупнее сайта (контент 1620 против 1170 у .container сайта),
   поэтому все размеры макета умножены на 0,72: H2 50→36 (как h2 сайта), H1 60→42 (как h1 сайта).
   Шапка, подвал и контейнер — штатные, не переопределяются. */

.page_landing{
  --kl-ink:#242A4F;
  --kl-blue:#213361;
  --kl-blue-80:rgba(33,51,97,.8);
  --kl-slate:#515776;
  --kl-slate-2:#515572;
  --kl-sky:#D6EBFF;
  --kl-line:#D9DCE2;
  --kl-r:14px;
  --kl-gap:14px;
  --kl-pad:22px;
  --kl-sec:72px;
  --kl-t60:clamp(28px, 1rem + 2.2vw, 42px);
  --kl-t50:clamp(24px, 1rem + 1.7vw, 36px);
  --kl-t45:clamp(22px, .9rem + 1.5vw, 32px);
  --kl-t40:clamp(24px, .9rem + 1.2vw, 29px);
  --kl-t30:clamp(18px, .8rem + .75vw, 22px);
  --kl-t25:clamp(16px, .75rem + .5vw, 18px);
  --kl-t22:clamp(15px, .8rem + .27vw, 16px);
  --kl-t20:15px;
  --kl-t16:14px;
}
.kl{color:var(--kl-ink)}
.kl *,.kl *::before,.kl *::after{box-sizing:border-box}
.kl img{display:block;max-width:100%;height:auto}
/* сброс с весом одного класса: бьёт стили тегов сайта (h2{margin-bottom:40px}), но уступает классам посадки */
.kl :where(h1,h2,h3,p,ul,ol){margin:0;padding:0}
.kl :where(ul,ol){list-style:none}
.kl a{text-decoration:none}
.kl-nowrap{white-space:nowrap}
.kl-sec{margin:0 0 var(--kl-sec)}
/* Сквозной блок сайта «Специалисты клиники» стоит между двумя обёртками .kl. Сайт снимает нижний отступ у последней
   секции в обёртке (у тарифов он пропадает), а своих полей у section.spec на посадке нет — ритм задаём полями обёртки */
.page_landing #vrachi,.page_landing #oborudovanie{padding:var(--kl-sec) 0}
.page_landing #oborudovanie section{margin:0}
.page_landing #otzyvy{padding:var(--kl-sec) 0 0}
.kl-h2{font-size:var(--kl-t50);font-weight:600;line-height:1.2;color:var(--kl-ink);margin:0 0 22px}

/* ---------- Кнопки (как .btn сайта: радиус, высота 44) ---------- */
.kl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 24px;border-radius:10px;
  font-size:var(--kl-t20);font-weight:600;line-height:1.2;text-align:center;border:1px solid transparent;cursor:pointer;transition:.25s}
.kl-btn--primary{background:var(--kl-slate);color:#fff;border-color:var(--kl-slate)}
.kl-btn--primary:hover,.kl-btn--primary:focus{background:#6E7493;border-color:#6E7493;color:#fff}
.kl-btn--white{background:#fff;color:var(--kl-blue);border-color:#fff}
.kl-btn--white:hover,.kl-btn--white:focus{background:#F3F4F6;color:var(--kl-blue)}
.kl-btn--outline{background:transparent;color:var(--kl-slate);border-color:var(--kl-slate)}
.kl-btn--outline:hover,.kl-btn--outline:focus{background:var(--kl-slate);color:#fff}
.kl-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.kl-btn--ghost:hover,.kl-btn--ghost:focus{background:#fff;color:var(--kl-ink);border-color:#fff}
.kl-btn--block{display:flex;width:100%}

/* ---------- Списки ---------- */
.kl-checks{display:flex;flex-direction:column;gap:14px}
.kl-checks li{display:flex;align-items:center;gap:14px;font-size:var(--kl-t20);font-weight:500;line-height:1.4;color:var(--kl-blue-80)}
.kl-checks li::before{content:"";flex:0 0 22px;width:22px;height:22px;background:url(../image/landing-konsult/check_dark.svg) center/contain no-repeat}
.kl-checks--white li{color:rgba(255,255,255,.8)}
.kl-checks--white li::before{background-image:url(../image/landing-konsult/check_white.svg)}
.kl-dots{display:flex;flex-direction:column;gap:2px}
.kl-dots li{position:relative;padding-left:22px;font-size:var(--kl-t20);font-weight:500;line-height:1.35;color:var(--kl-slate)}
.kl-dots li::before{content:"";position:absolute;left:9px;top:.6em;width:4px;height:4px;border-radius:50%;background:currentColor}

/* ---------- Цена ---------- */
.kl-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px;font-size:var(--kl-t40);font-weight:700;line-height:1.2;color:var(--kl-blue);white-space:nowrap}
.kl-price__from{font-size:var(--kl-t20);font-weight:700}
.kl-price__note{display:block;flex-basis:100%;font-size:var(--kl-t20);font-weight:700;line-height:1.2;white-space:normal}
/* пояснение к цене: единица, состав, вторая цена */
.kl-price__sub{display:block;flex-basis:100%;max-width:330px;font-size:13px;font-weight:500;line-height:1.35;white-space:normal;opacity:.8}

/* ---------- Декор «солнце» ---------- */
.kl-decor{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}
.kl-decor img{position:absolute;max-width:none}

/* =========================================================
   01. Первый экран — как в макете: штатная шапка сайта в режиме главной (прозрачная, класс page_home)
   лежит поверх фото. Шапка 149 px в масштабе не меняется, остальное масштабируется от ширины окна:
   --W  = ширина композиции (не меньше 1386 px — это «1920» макета в масштабе сайта),
   --Wb = ширина фоновой картинки: фон кроет блок целиком, фото врача масштабируется вместе с фоном.
   --Hd = высота по макету, --H = она же, но не выше окна (пол 600 px): карточки преимуществ
   остаются в первом экране и на низких окнах (1536×690 у Бро, ноутбуки 1366×650). Когда окно
   ниже макета, фон и фото привязаны к ВЕРХУ блока (--bgTop): лицо остаётся на месте, срезается низ,
   который и так под карточками.
   Фото врача — чистый оригинал из макета (41b107b3, 1696×2528), совмещённый с фоном попиксельно:
   в долях ширины фона 1920 — left .610156, top .017708, width .386812. С фона впечатанная фигура
   врача стёрта (kl-hero-bg-v2), иначе при любом сдвиге фото из-под него вылезал второй контур.
   ========================================================= */
.kl-hero{--W:max(100vw, 1386px);--Wb:max(var(--W), calc(318.6px + var(--W) * .8339));
  --Hd:calc(149px + var(--W) * .39);--H:clamp(600px, 100svh, var(--Hd));--bgTop:calc(var(--Hd) - var(--Wb) * .467708);
  position:relative;margin:0;display:flex;flex-direction:column;
  height:var(--H);padding:169px 0 calc(var(--W) * .0198);
  border-radius:0 0 14px 14px;overflow:hidden;color:#fff;
  background:#3a4468 url(../image/landing-konsult/kl-hero-bg-v2.webp) center var(--bgTop)/var(--Wb) auto no-repeat}
.kl-hero::before{content:"";position:absolute;inset:0;background:rgba(12,14,30,.5)}
.kl-hero__doctor{position:absolute;left:calc(50% + var(--Wb) * .110156);top:calc(var(--bgTop) + var(--Wb) * .017708);
  width:calc(var(--Wb) * .386812);max-width:none!important;pointer-events:none}
.kl-hero__inner{position:relative;flex:1;display:flex;flex-direction:column}
/* текст стоит в свободном месте между шапкой и карточками, чуть выше центра (распорки 4:5) */
.kl-hero__inner::before,.kl-hero__inner::after{content:"";display:block;flex:4 1 0}
.kl-hero__inner::after{order:2;flex-grow:5}
.kl-hero__content{order:1;width:600px;max-width:100%;margin:0 auto;text-align:center}
.kl-hero__title{font-size:var(--kl-t60);font-weight:600;line-height:1.2;color:#fff;margin:0 auto 14px}
.kl-hero__lead{font-size:var(--kl-t22);font-weight:500;line-height:1.35;color:rgba(255,255,255,.8)}
.kl-hero__btns{display:flex;justify-content:center;gap:29px;margin-top:29px}
.kl-hero__btns .kl-btn{width:180px;padding:10px 16px;font-size:14px}
.kl-hero__btns .kl-btn--white{color:var(--kl-slate)}
/* Блик на главной кнопке (запрос маркетолога, аналог «Эффект для кнопки → блик» в Тильде).
   Одна кнопка на экран, полоса проходит за 0,9 с и ждёт ~5 с. Только transform — без перерисовки.
   z-index:-1 внутри isolation: блик идёт над заливкой кнопки, но под текстом. */
.kl-btn--shine{position:relative;overflow:hidden;isolation:isolate}
.kl-btn--shine::before{content:"";position:absolute;top:-2px;bottom:-2px;left:0;width:45%;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg, transparent, rgba(174,205,240,.9) 50%, transparent);
  transform:translateX(-120%) skewX(-18deg);animation:kl-shine 6s 1.2s infinite}
@keyframes kl-shine{
  0%{transform:translateX(-120%) skewX(-18deg);animation-timing-function:cubic-bezier(.77,0,.175,1)}
  15%,100%{transform:translateX(260%) skewX(-18deg)}
}
/* «Уменьшение движения»: эффект не гасим совсем (решение Бро 29.09.2026, вариант 2),
   а смягчаем — блик идёт вдвое дольше и реже, без резкого проброса. */
@media (prefers-reduced-motion:reduce){.kl-btn--shine::before{animation-duration:12s;animation-timing-function:linear}}
.kl-adv{order:3;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--kl-gap)}
.kl-adv__item{display:flex;align-items:center;gap:22px;min-height:101px;padding:18px 22px;background:#fff;border-radius:8px;color:var(--kl-blue)}
.kl-adv__item img{flex:0 0 54px;width:54px;height:54px}
.kl-adv__title{display:block;font-size:var(--kl-t20);font-weight:600;line-height:1.2;margin-bottom:8px}
.kl-adv__text{display:block;font-size:var(--kl-t16);font-weight:400;line-height:1.3}

/* Логотипы. 29.09.2026 ряд останавливали (две бегущие ленты подряд на мобиле — перебор),
   13.10.2026 Бро вернул движение для динамики: лента бежит на десктопе и планшете,
   где текстовой строки нет. На мобиле (≤767 px) бежит только строка, логотипы стоят
   рядом по центру — правило в мобильном блоке ниже.
   flex:none и width:max-content обязательны: иначе .kl-logos (flex) сжимает ленту,
   −50% считается от сжатой ширины и цикл рвётся. padding-right = gap, иначе стык прыгает.
   Добавляя логотип — добавлять во все 8 наборов. */
.kl-logos{height:136px;overflow:hidden;display:flex;align-items:center;margin-bottom:10px}
.kl-logos__track{flex:none;display:flex;align-items:center;gap:72px;width:max-content;padding-right:72px;animation:kl-marquee 120s linear infinite}
.kl-logos__track img{height:63px;width:auto;flex:0 0 auto}
.kl-logos__track img.kl-logo--wide{height:56px}
.kl-logos:hover .kl-logos__track,.kl-logos:active .kl-logos__track{animation-play-state:paused}   /* WCAG 2.2.2 */
@media (prefers-reduced-motion:reduce){.kl-logos__track{animation-duration:240s}}
@keyframes kl-marquee{to{transform:translateX(-50%)}}

/* =========================================================
   02. Тарифы
   ========================================================= */
.kl-tariffs{display:grid;grid-template-columns:1fr 1fr;gap:var(--kl-gap)}
.kl-tariff{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:47px;min-height:431px;padding:var(--kl-pad);border-radius:var(--kl-r);overflow:hidden}
.kl-tariff--dark{background:radial-gradient(120% 120% at 100% 100%,#8D92B8 0%,#3C405D 75%);color:#fff}
.kl-tariff--light{background:var(--kl-sky);border:1px solid var(--kl-line);color:var(--kl-blue)}
.kl-tariff__top,.kl-tariff__bottom{position:relative;max-width:345px}
.kl-tariff__title{font-size:var(--kl-t25);font-weight:600;line-height:1.4;margin:0 0 14px!important;color:inherit}
.kl-tariff--dark .kl-price{color:#fff}
.kl-tariff__bottom{display:flex;flex-direction:column;gap:13px}
.kl-tariff--dark .kl-btn--white{color:var(--kl-blue)}
.kl-tariff .sun-1{left:189px;top:173px;width:355px;opacity:.12}
.kl-tariff .sun-2{left:273px;top:129px;width:93px;opacity:.05}
.kl-tariff .sun-3{left:6px;top:203px;width:250px;opacity:.07}

/* =========================================================
   03. Врачи
   ========================================================= */
.kl-doctors{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--kl-gap)}
.kl-doc{display:flex;flex-direction:column}
.kl-doc__photo{position:relative;display:block;aspect-ratio:527/470;background:#E5E6E8;border-radius:16px 16px 0 0;overflow:hidden}
.kl-doc__photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.kl-doc__badges{position:absolute;left:14px;bottom:30px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.kl-doc__badges li{padding:6px 17px;border-radius:30px;background:#fff;font-size:13px;font-weight:600;line-height:1.4;color:#3C405D}
.kl-doc__body{position:relative;flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:22px;margin-top:-15px;padding:var(--kl-pad);background:#fff;border:1px solid var(--kl-line);border-radius:var(--kl-r)}
.kl-doc__name{font-size:var(--kl-t25);font-weight:600;line-height:1.4;color:var(--kl-ink)}
.kl-doc__name a{color:inherit}
.kl-doc__name a:hover{color:var(--kl-slate)}
.kl-doc__role{margin-top:2px!important;font-size:var(--kl-t20);font-weight:500;line-height:1.4;color:var(--kl-slate)}
.kl-doc__sub{margin:11px 0 7px!important;font-size:var(--kl-t20);font-weight:600;line-height:1.3;color:var(--kl-blue)}
.kl-doc .kl-btn{border-radius:12px}

/* =========================================================
   Баннеры с фото (04 и 07)
   ========================================================= */
.kl-banner{position:relative;min-height:253px;padding:43px 36px;background:var(--kl-slate-2);border-radius:var(--kl-r);color:#fff}
.kl-banner__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:18px;max-width:602px}
.kl-banner__title{font-size:var(--kl-t45);font-weight:600;line-height:1.3;color:#fff;margin:0!important}
.kl-banner__text{font-size:var(--kl-t25);font-weight:500;line-height:1.4;color:rgba(255,255,255,.8)}
.kl-banner__phone{display:inline-flex;align-items:center;padding:14px 29px;background:#fff;border-radius:8px;font-size:var(--kl-t40);font-weight:600;line-height:.9;color:var(--kl-slate-2);white-space:nowrap}
.kl-banner__phone:hover{color:var(--kl-ink)}
.kl-banner__photo{position:absolute;right:56px;bottom:0;width:347px;max-width:none!important}
.kl-banner--urgent{min-height:272px}
.kl-banner--urgent .kl-banner__photo{width:334px}
.kl-banner--urgent .kl-btn{min-width:278px;color:var(--kl-slate-2)}
.kl-banner .sun-1{left:800px;top:-17px;width:464px;opacity:.06}
.kl-banner .sun-2{left:555px;top:133px;width:342px;opacity:.08}
.kl-banner .sun-3{left:137px;top:-115px;width:554px;opacity:.03}
.kl-banner .sun-4{left:-73px;top:79px;width:332px;opacity:.08}

/* =========================================================
   05. Диагностика
   ========================================================= */
.kl-diag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--kl-gap)}
.kl-diag{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:29px;min-height:431px;padding:var(--kl-pad);border:1px solid var(--kl-line);border-radius:var(--kl-r);overflow:hidden;background:#fff}
.kl-diag__top,.kl-diag__bottom{position:relative;z-index:1}
.kl-diag__top{max-width:337px}
.kl-diag__title{font-size:var(--kl-t25);font-weight:600;line-height:1.2;color:var(--kl-blue);margin:0 0 7px!important}
.kl-diag__device{font-size:var(--kl-t20);font-weight:500;line-height:1.4;color:var(--kl-blue);margin-bottom:14px!important}
.kl-diag__bottom{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.kl-diag__bottom .kl-btn{min-width:152px}
.kl-diag .kl-price{max-width:240px}
.kl-diag .kl-price__sub{max-width:none}
.kl-diag__img{position:absolute;z-index:0;max-width:none!important}
.kl-diag--1 .kl-diag__img{left:34.2%;top:191px;width:79.5%}
.kl-diag--2 .kl-diag__img{left:41%;top:172px;width:82%}
.kl-diag--3 .kl-diag__img{left:34.5%;top:126px;width:87.5%}
.kl-diag--4 .kl-diag__img{left:51%;top:200px;width:57%}   /* Pentacam (с 13.10.2026) — высокий, голова прибора крупная */
.kl-diag--5 .kl-diag__img{left:49%;top:214px;width:62%}   /* Humphrey HFA3 (с 13.10.2026): левый край за кнопкой «Подробнее», иначе цена наезжает на прибор */
.kl-diag--6 .kl-diag__img{left:38.3%;top:186px;width:78.6%}

/* =========================================================
   06. Специализированные консультации
   ========================================================= */
.kl-spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--kl-gap)}
.kl-spec{display:flex;flex-direction:column;gap:22px;min-height:329px;padding:var(--kl-pad);background:var(--kl-sky);border:1px solid var(--kl-line);border-radius:var(--kl-r)}
.kl-spec__head{display:flex;align-items:center;gap:14px}
.kl-spec__icon{flex:0 0 40px;width:40px;height:40px;border-radius:6px;background:var(--kl-slate) url(../image/landing-konsult/kl-sun-mark.svg) center/25px no-repeat}
.kl-spec__title{font-size:var(--kl-t25);font-weight:600;line-height:1.2;color:var(--kl-blue)}
.kl-spec .kl-dots li{color:var(--kl-blue-80);line-height:1.4}
.kl-spec .kl-dots{gap:6px}
.kl-spec__bottom{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.kl-spec__bottom .kl-btn{flex:0 0 auto;min-width:108px;min-height:40px;padding:8px 18px}

/* =========================================================
   07. Когда обратиться
   ========================================================= */
/* Когда обратиться (с 28.09.2026): срочное — тёмная карточка-акцент, плановое — плитки со ссылками на услуги */
.kl-triage{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--kl-gap);align-items:stretch}
.kl-urgent{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:18px;padding:30px var(--kl-pad) var(--kl-pad);border-radius:var(--kl-r);background:var(--kl-ink);color:#fff}
.kl-urgent>*{position:relative}
.kl-urgent .kl-urgent__sun{position:absolute;right:-80px;bottom:-70px;width:300px;max-width:none;opacity:.07;pointer-events:none}
.kl-urgent__title{display:flex;align-items:center;gap:16px;margin:0!important;font-size:var(--kl-t30);font-weight:600;line-height:1.3;color:#fff}
.kl-urgent__title::before{content:"";flex:0 0 10px;height:10px;border-radius:50%;background:var(--kl-sky);box-shadow:0 0 0 6px rgba(214,235,255,.16)}
.kl-urgent__list li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:var(--kl-t22);font-weight:500;line-height:1.4;color:rgba(255,255,255,.92)}
.kl-urgent__list li:first-child{padding-top:2px}
.kl-urgent__note{margin:auto 0 0!important;font-size:var(--kl-t20);font-weight:500;line-height:1.45;color:rgba(255,255,255,.72)}
.kl-urgent .kl-btn{align-self:flex-start;min-width:278px;color:var(--kl-ink)}
.kl-urgent a:focus-visible{outline-color:#fff}
.kl-plan{display:flex;flex-direction:column;gap:18px}
.kl-plan__title{margin:0!important;padding-top:6px;font-size:var(--kl-t30);font-weight:600;line-height:1.3;color:var(--kl-ink)}
.kl-plan__grid{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kl-plan__wide{grid-column:1/-1}
.kl-plan__grid a{position:relative;display:flex;flex-direction:column;justify-content:center;gap:4px;height:100%;min-height:86px;padding:16px 60px 16px 20px;border:1px solid var(--kl-line);border-radius:var(--kl-r);background:rgba(214,235,255,.45);color:var(--kl-ink);text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.kl-plan__grid a::after{content:"";position:absolute;right:18px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:#fff url(../image/landing-konsult/arrow_dark.svg) center/12px no-repeat;transform:rotate(180deg)} /* иконка нарисована «назад» */
.kl-plan__grid b{font-size:var(--kl-t22);font-weight:600;line-height:1.3}
.kl-plan__grid span{font-size:var(--kl-t20);font-weight:500;line-height:1.35;color:var(--kl-slate);transition:color .2s ease}
@media (hover:hover) and (pointer:fine){
  .kl-plan__grid a:hover{background-color:var(--kl-slate);border-color:var(--kl-slate);color:#fff}
  .kl-plan__grid a:hover span{color:rgba(255,255,255,.82)}
}
.kl-when{display:grid;grid-template-columns:1fr 1fr;gap:var(--kl-gap);margin-bottom:36px}
.kl-when__col{display:flex;flex-direction:column;border-radius:var(--kl-r);background:var(--kl-sky)}
.kl-when__head{position:relative;min-height:104px;padding:var(--kl-pad);background:var(--kl-slate-2);border-radius:14px 14px 0 0;overflow:hidden}
.kl-when__head h3{position:relative;max-width:404px;font-size:var(--kl-t30);font-weight:500;line-height:1.4;color:#fff}
.kl-when__head .sun-h{position:absolute;right:-57px;top:-20px;width:185px;opacity:.06}
.kl-when__list{flex:1;display:flex;flex-direction:column;gap:22px;padding:var(--kl-pad);border:1px solid var(--kl-line);border-top:0;border-radius:0 0 14px 14px}
.kl-when__list li{padding-bottom:7px;border-bottom:1px solid var(--kl-line);font-size:var(--kl-t25);font-weight:500;line-height:1.4;color:var(--kl-blue-80)}
.kl-when__list li:last-child{border-bottom:0}

/* =========================================================
   08. Как проходит
   ========================================================= */
/* Как проходит — «циферблат визита» (13.10.2026, запрос Бро «обыграть блок»).
   Слева липкое кольцо из 6 сегментов (знак-солнце / радужка): сегменты заполняются по мере
   прокрутки шагов, в «зрачке» номер текущего шага. Справа шаги на одной линии.
   Кольцо видно только с JS (класс .is-live), без JS — обычный список. Скрипт — landing-konsult.js. */
.kl-steps{display:grid;grid-template-columns:400px 1fr;column-gap:72px;row-gap:36px;align-items:start}
.kl-steps__title{grid-column:1/-1;font-size:var(--kl-t60);font-weight:600;line-height:1.15;color:var(--kl-ink)}
.kl-steps__aside{position:sticky;top:170px;display:flex;flex-direction:column;gap:14px}
.kl-dial{display:none}
.kl-steps.is-live .kl-dial{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:10px}
.kl-dial__ring{display:block;width:232px;height:232px}
.kl-dial__seg{fill:none;stroke:var(--kl-sky);stroke-width:22;transition:stroke .3s ease,stroke-width .3s ease}
.kl-dial__seg.is-done{stroke:var(--kl-slate)}
.kl-dial__seg.is-on{stroke:var(--kl-ink);stroke-width:32}   /* текущий сегмент выступает «лучом» — по тону он близок к пройденным */
.kl-dial__pupil{fill:var(--kl-ink)}
.kl-dial__num{fill:#fff;font-family:inherit;font-size:40px;font-weight:600}
.kl-dial__of{fill:rgba(255,255,255,.72);font-family:inherit;font-size:15px;font-weight:500}
.kl-dial__label{min-height:1.2em;font-size:var(--kl-t30);font-weight:600;line-height:1.2;color:var(--kl-ink)}
.kl-steps__total{font-size:var(--kl-t25);font-weight:600;line-height:1.2;color:var(--kl-ink)}
.kl-steps__note{font-size:var(--kl-t20);font-weight:500;line-height:1.4;color:var(--kl-slate-2)}
.kl-steps__aside .kl-btn{max-width:400px;margin-top:10px}
.kl-steps__main{min-width:0}
.kl-steps__list{display:flex;flex-direction:column}
/* строка под шагами: что принести и про стоимость операции (текст плагина 13.10.2026) */
.kl-steps__foot{margin:32px 0 0 68px;padding:18px 22px;border-radius:var(--kl-r);background:rgba(214,235,255,.45);font-size:var(--kl-t20);font-weight:500;line-height:1.5;color:var(--kl-slate-2)}
.kl-steps__foot b{font-weight:600;color:var(--kl-ink)}
/* пояснение под H2 таблицы стоимости */
.kl-sec__note{max-width:760px;margin:-8px 0 22px;font-size:var(--kl-t20);font-weight:500;line-height:1.5;color:var(--kl-slate-2)}
.kl-step{position:relative;display:flex;gap:24px;padding-bottom:36px}
.kl-step:last-child{padding-bottom:0}
/* линия между кружками: от низа кружка до верха следующего */
.kl-step::before{content:"";position:absolute;left:21px;top:44px;bottom:0;width:2px;background:var(--kl-sky);transition:background .3s ease}
.kl-step:last-child::before{display:none}
.kl-step__num{position:relative;z-index:1;flex:0 0 44px;height:44px;display:flex;align-items:center;justify-content:center;border:2px solid var(--kl-sky);border-radius:50%;background:#fff;font-size:15px;font-weight:600;line-height:1;color:var(--kl-slate);transition:background .3s ease,border-color .3s ease,color .3s ease}
.kl-step.is-done .kl-step__num{background:var(--kl-slate);border-color:var(--kl-slate);color:#fff}
.kl-step.is-done::before{background:var(--kl-slate)}
.kl-step.is-active .kl-step__num{background:var(--kl-ink);border-color:var(--kl-ink);color:#fff;box-shadow:0 0 0 6px var(--kl-sky)}
.kl-step>div{padding-top:4px}
.kl-step__title{font-size:var(--kl-t45);font-weight:600;line-height:1.2;color:var(--kl-ink)}
.kl-step__time{margin-top:7px!important;font-size:var(--kl-t25);font-weight:600;line-height:1.2;color:var(--kl-ink)}
.kl-step__text{margin-top:7px!important;font-size:var(--kl-t20);font-weight:500;line-height:1.5;color:var(--kl-slate-2)}
.kl-step .kl-dots li{color:var(--kl-slate-2);line-height:1.5}
.kl-step .kl-dots{margin-top:4px}
@media (prefers-reduced-motion:reduce){.kl-dial__seg,.kl-step::before,.kl-step__num{transition:none}}

/* =========================================================
   09. Оборудование
   ========================================================= */
/* лента оборудования выходит к правому краю окна через 100vw, а 100vw включает полосу прокрутки — хвост обрезаем по краю секции, иначе горизонтальный скролл */
.kl-equip{overflow-x:clip}
.kl-equip__head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px}
.kl-equip__head .kl-h2{margin:0;max-width:800px}
.kl-arrows{display:flex;gap:22px;flex:0 0 auto}
.kl-arrow{width:44px;height:44px;border-radius:8px;border:1px solid var(--kl-slate);cursor:pointer;background:transparent url(../image/landing-konsult/arrow_dark.svg) center/18px no-repeat;transition:.25s}
.kl-arrow--next{background-color:var(--kl-slate);background-image:url(../image/landing-konsult/arrow_white.svg)}
.kl-arrow:disabled{opacity:.4;cursor:default}
.kl-track{display:flex;gap:var(--kl-gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;
  margin-right:calc((100vw - 100%) / -2);padding-right:15px}
.kl-track::-webkit-scrollbar{display:none}
.kl-eq{flex:0 0 380px;scroll-snap-align:start}
.kl-eq__img{height:267px;border-radius:var(--kl-r);background:rgba(188,188,188,.2);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:14px}
.kl-eq__img img{max-height:245px;width:auto}
.kl-eq__img--cover img{width:100%;height:100%;max-height:none;object-fit:cover}
.kl-eq__title{font-size:var(--kl-t25);font-weight:600;line-height:1.2;color:var(--kl-blue);margin-bottom:7px!important}
.kl-eq__text{font-size:var(--kl-t20);font-weight:500;line-height:1.4;color:var(--kl-blue-80)}
.kl-eq__for{display:flex;align-items:center;gap:8px;margin-top:7px!important;font-size:var(--kl-t20);font-weight:500;line-height:1.4;color:var(--kl-blue-80)}
.kl-eq__for::before{content:"";flex:0 0 22px;height:22px;background:url(../image/landing-konsult/check_dark.svg) center/contain no-repeat}
.kl-eq__for b{font-weight:600;color:var(--kl-blue)}
.kl-equip .kl-btn--outline{margin-top:22px;min-width:278px}
.kl-dotsnav{display:none;justify-content:center;gap:0;margin-top:6px}
/* область нажатия 32×44, сама точка 8×8 */
.kl-dotsnav button{position:relative;width:32px;height:44px;padding:0;border:0;background:none;cursor:pointer}
.kl-dotsnav button::before{content:"";position:absolute;left:12px;top:18px;width:8px;height:8px;border-radius:50%;background:#D9DCE2;transition:.2s}
.kl-dotsnav button.is-active::before{background:var(--kl-slate);transform:scale(1.25)}
.kl a:focus-visible,.kl button:focus-visible,.kl summary:focus-visible{outline:2px solid var(--kl-slate);outline-offset:3px}
.kl-hero a:focus-visible,.kl-banner a:focus-visible,.kl-pricelist a:focus-visible,.kl-tariff--dark a:focus-visible{outline-color:#fff}

/* =========================================================
   10. Стоимость
   ========================================================= */
/* глобальные стили таблиц сайта (скругление, заливка чётных колонок, тёмная шапка, рамки ячеек) здесь выключены */
.kl-ptable{width:100%;border-collapse:collapse;table-layout:fixed;border:0;border-radius:0;overflow:visible;background:none;margin:0}
.kl-ptable thead{background:none}
.kl-ptable td{border:0;background:none!important;border-radius:0!important}
.kl-ptable col.c1,.kl-ptable col.c2{width:37.4%}
.kl-ptable th{padding:0 13px 14px 0;text-align:left;vertical-align:top}
.kl-ptable th:last-child{padding-right:0}
.kl-ptable th span{display:flex;align-items:center;min-height:63px;padding:17px 22px;background:var(--kl-slate);border-radius:14px 14px 0 0;font-size:var(--kl-t25);font-weight:600;line-height:1.2;color:#fff}
.kl-ptable td{padding:14px 14px 14px 21px;border-bottom:1px solid var(--kl-line);font-size:var(--kl-t20);font-weight:500;line-height:1.4;color:var(--kl-blue-80);vertical-align:middle}
.kl-ptable tr:last-child td{border-bottom:0}
.kl-ptable td:first-child{font-weight:700}
.kl-ptable td:last-child{font-weight:600;white-space:nowrap}

/* =========================================================
   11. Прайс-лист
   ========================================================= */
.kl-pricelist{position:relative;display:flex;align-items:center;min-height:195px;padding:var(--kl-pad);border-radius:var(--kl-r);overflow:hidden;
  background:linear-gradient(90deg,#515572 0%,#344B85 100%);color:#fff}
.kl-pricelist__content{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;max-width:337px}
.kl-pricelist__title{font-size:var(--kl-t25);font-weight:600;line-height:1.2;color:#fff}
.kl-pricelist__text{font-size:var(--kl-t20);font-weight:500;line-height:1.4;color:#fff}
.kl-pricelist .kl-btn{margin-top:4px}
.kl-pricelist__img{position:absolute;right:0;top:0;height:100%;width:45%;max-width:528px!important;object-fit:cover;object-position:left center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%);mask-image:linear-gradient(90deg,transparent 0,#000 12%)}

/* =========================================================
   12. FAQ
   ========================================================= */
.kl-faq{display:grid;grid-template-columns:1fr 1fr;gap:var(--kl-gap);align-items:start}
.kl-faq__col{display:flex;flex-direction:column;gap:var(--kl-gap)}
.kl-faq details{border:1px solid var(--kl-line);border-radius:var(--kl-r);background:#fff}
.kl-faq summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:94px;padding:var(--kl-pad);cursor:pointer;list-style:none;
  font-size:var(--kl-t25);font-weight:600;line-height:1.4;color:var(--kl-ink)}
.kl-faq summary::-webkit-details-marker{display:none}
.kl-faq summary::after{content:"";flex:0 0 44px;width:44px;height:44px;border-radius:8px;background:var(--kl-slate) url(../image/landing-konsult/arrow_white.svg) center/18px no-repeat;transform:rotate(90deg);transition:transform .25s}
.kl-faq details[open] summary{min-height:0;padding-bottom:7px;align-items:flex-start}
.kl-faq details[open] summary::after{transform:rotate(-90deg)}
.kl-faq__a{padding:0 87px 22px 22px;font-size:var(--kl-t20);font-weight:500;line-height:1.5;color:var(--kl-slate)}

/* =========================================================
   13. Контакты
   ========================================================= */
.kl-contacts{display:grid;grid-template-columns:161px 1fr;gap:80px;margin-bottom:36px}
.kl-contacts .kl-h2{margin:0}
.kl-contacts__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.kl-ccard{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:78px;padding:14px;border:1px solid var(--kl-line);border-radius:8px}
.kl-ccard__label{font-size:13px;font-weight:500;line-height:1.4;color:var(--kl-slate)}
.kl-ccard__row{display:flex;align-items:center;gap:12px;font-size:var(--kl-t20);font-weight:600;line-height:1.4;color:var(--kl-ink)}
.kl-ccard__row a{color:inherit}
.kl-ccard__row a:hover{color:var(--kl-slate)}
.kl-ccard__row--small{font-size:13px}
.kl-ico{flex:0 0 32px;width:32px;height:32px;border-radius:5px;background:var(--kl-slate) center/15px no-repeat;display:inline-block}
.kl-ico--email{background-image:url(../image/landing-konsult/ic_email.svg)}
.kl-ico--phone{background-image:url(../image/landing-konsult/ic_phone.svg)}
.kl-ico--time{background-image:url(../image/landing-konsult/ic_time.svg)}
.kl-ico--addr{background-image:url(../image/landing-konsult/ic_addr.svg)}
.kl-ico--max{background-image:url(../image/landing-konsult/ic_max.svg);background-size:15px}
/* мессенджеры — штатный блок сайта (как в шапке); WhatsApp скрыт так же, как в шапке */
.kl-ccard__mess{display:flex;gap:8px;flex-wrap:wrap}
.kl-ccard__mess .header_icon-WhatsApp{display:none}
.kl-map{height:476px;border-radius:var(--kl-r);overflow:hidden;background:#E5E6E8}
.kl-map iframe{display:block;width:100%;height:100%;border:0}

/* =========================================================
   Адаптив
   ========================================================= */
@media (max-width:1199px){
  .kl-steps{grid-template-columns:minmax(0,.75fr) minmax(0,1fr);column-gap:40px}
  .kl-dial__ring{width:200px;height:200px}
  .kl-banner .sun-1{left:auto;right:-110px}
  .kl-banner__photo{width:300px;right:24px}
  .kl-banner--urgent .kl-banner__photo{width:290px}
  .kl-banner__content{max-width:calc(100% - 320px)}
  .kl-tariff .sun-1{left:auto;right:-120px}
  .kl-contacts{grid-template-columns:1fr;gap:22px}
  .kl-faq__a{padding-right:22px}
}
@media (max-width:1023px){
  /* первый экран в столбик: текст → фото врача → преимущества (как в мобильном макете) */
  .kl-hero{height:auto;padding:190px 0 12px;background-size:cover;background-position:62% bottom}
  .kl-hero__inner{display:contents}
  .kl-hero__inner::before,.kl-hero__inner::after{display:none}
  /* display:contents снимает слой с обёртки: текст и карточки поднимаем над затемнением фона */
  .kl-hero__content{order:1;width:100%;padding:0 15px;position:relative;z-index:1}
  .kl-hero__doctor{order:2;position:relative;left:auto;top:auto;bottom:auto;display:block;width:100%;max-width:300px!important;margin:8px auto 0;align-self:center}
  .kl-adv{order:3;padding:0 15px;margin-top:-40px;grid-template-columns:1fr;gap:10px;position:relative;z-index:1}
  .kl-diag-grid,.kl-spec-grid,.kl-doctors{grid-template-columns:repeat(2,1fr)}
  .kl-diag{min-height:420px}
  .kl-diag .kl-diag__img{left:auto;right:-12%;top:auto;bottom:-10%;width:74%}
  .kl-diag--2 .kl-diag__img{width:60%} /* Solix высокий — иначе кольцо прибора упирается в пункт */
  .kl-diag--3 .kl-diag__img{width:54%} /* в карточках с двумя пунктами прибор меньше */
  .kl-diag--4 .kl-diag__img{width:46%}
  .kl-diag--5 .kl-diag__img{width:50%}
  .kl-diag--6 .kl-diag__img{width:50%}
  .kl-tariffs,.kl-when,.kl-faq,.kl-triage{grid-template-columns:1fr}
  .kl-tariff{min-height:0}
  .kl-steps{grid-template-columns:1fr;row-gap:24px}
  .kl-steps__aside{position:static;order:3}   /* на узких экранах колонка не липнет: кольцо скрыто, запись — после шагов */
  .kl-steps.is-live .kl-dial{display:none}
  .kl-contacts__grid{grid-template-columns:repeat(2,1fr)}
  .kl-banner{padding:30px 22px 0;display:flex;flex-direction:column;gap:22px;overflow:hidden}
  .kl-banner__content{max-width:none}
  .kl-banner__photo,.kl-banner--urgent .kl-banner__photo{position:relative;right:auto;width:100%;max-width:340px!important;margin:0 auto}
  .kl-pricelist__img{width:40%}
  .kl-ptable col.c1,.kl-ptable col.c2{width:36%}
}
@media (max-width:767px){
  :root .page_landing{--kl-sec:50px;--kl-pad:18px}
  .page_landing .kl .container{padding:0 12px}
  .kl-h2{margin-bottom:16px}
  .kl-hero{padding:24px 0 12px}
  .kl-hero__content{padding:0 12px}
  .kl-hero__title{margin-bottom:12px}
  .kl-hero__btns{flex-direction:column;align-items:stretch;gap:10px;margin-top:22px}
  .kl-hero__btns .kl-btn{width:100%}
  .kl-adv{padding:0 12px}
  .kl-adv__item{min-height:0;padding:14px;gap:14px}
  .kl-adv__item img{flex-basis:44px;width:44px;height:44px}
  .kl-adv__title{margin-bottom:4px}
  .kl-logos{height:72px}
  .kl-logos__track{flex:1;justify-content:center;width:auto;padding-right:0;gap:18px;animation:none}  /* стоит: четыре логотипа в ряд на 375 px */
  .kl-logos__track img:nth-child(n+5){display:none}
  .kl-logos__track img{height:34px}
  .kl-logos__track img.kl-logo--wide{height:30px}
  .kl-tariff{gap:26px}
  .kl-checks{gap:12px}
  .kl-checks li{gap:12px}
  /* карусели */
  .kl-slider{display:flex!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:-12px;padding-right:12px}
  .kl-slider::-webkit-scrollbar{display:none}
  .kl-slider>*{flex:0 0 88%;scroll-snap-align:start}
  .kl-dotsnav{display:flex}
  .kl-doc__badges{left:12px;bottom:26px;gap:8px}
  /* 14.10.2026: на мобильной прибор больше не «вылетает» за карточку и не лезет под цену с кнопкой.
     Карточка в обычном потоке: текст → фото целиком → цена и кнопка. Абсолютное позиционирование
     из десктопных правил .kl-diag--N здесь снимается полностью. */
  .kl-diag{min-height:0;gap:16px}
  .kl-diag .kl-diag__img{position:static;order:1;left:auto;right:auto;top:auto;bottom:auto;width:100%!important;max-width:100%!important;height:150px;object-fit:contain}
  .kl-diag .kl-diag__top{order:0}
  .kl-diag .kl-diag__bottom{order:2}
  /* кнопка «наверх» сайта не ложится на текст: поднимаем её над липкой панелью записи */
  .page_landing .upper-d{bottom:calc(var(--kl-bar-offset,0px) + 80px)}
  .kl-spec{min-height:0}
  .kl-spec__bottom{flex-direction:column;align-items:stretch}
  .kl-when__head{min-height:0}
  .kl-when__list{gap:12px}
  .kl-banner{padding:22px 18px 0;gap:18px}
  .kl-banner__phone{padding:12px 18px}
  .kl-banner--urgent .kl-btn{min-width:0;width:100%}
  .kl-plan__grid{grid-template-columns:1fr}
  .kl-plan__grid a{min-height:0}
  .kl-urgent{padding-top:24px}
  .kl-urgent .kl-btn{min-width:0;width:100%}
  .kl-step{gap:14px;padding-bottom:24px}
  .kl-step::before{left:17px;top:36px}
  .kl-step__num{flex-basis:36px;height:36px;font-size:13px}
  .kl-steps__foot{margin-left:0;padding:14px 16px}
  .kl-step>div{padding-top:2px}
  .kl-arrows{display:none}
  .kl-track{margin-right:-12px;padding-right:12px;gap:12px}
  .kl-eq{flex-basis:88%}
  .kl-eq__img{height:220px}
  .kl-eq__img img{max-height:200px}
  .kl-equip .kl-btn--outline{min-width:0;width:100%}
  /* таблица цен → карточки */
  .kl-ptable,.kl-ptable tbody,.kl-ptable tr,.kl-ptable td{display:block;width:100%}
  .kl-ptable thead,.kl-ptable colgroup{display:none}
  .kl-ptable tr{margin-bottom:12px;border:1px solid var(--kl-line);border-radius:var(--kl-r);overflow:hidden}
  .kl-ptable td{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:12px 16px;border-bottom:1px solid var(--kl-line)!important;white-space:normal!important}
  .kl-ptable td::before{content:attr(data-label);font-size:13px;font-weight:500;color:var(--kl-slate)}
  .kl-ptable td:first-child{display:block;background:var(--kl-slate)!important;color:#fff;padding:14px 16px}
  .kl-ptable td:first-child::before{display:none}
  .kl-ptable td:last-child{border-bottom:0!important}
  .kl-pricelist{flex-direction:column;align-items:stretch;padding:18px 18px 0}
  .kl-pricelist__img{position:relative;height:auto;margin:10px -18px 0;width:calc(100% + 36px);max-width:none!important;-webkit-mask-image:none;mask-image:none}
  .kl-faq summary{min-height:0;gap:12px}
  .kl-faq summary::after{flex-basis:40px;width:40px;height:40px;background-size:16px}
  .kl-faq__a{padding:0 18px 18px}
  .kl-contacts__grid{grid-template-columns:1fr;gap:10px}
  .kl-map{height:360px}
}

/* =========================================================
   Мобильные конверсионные элементы (29.09.2026, запрос маркетолога)
   Только ≤767 px: на десктопе оба блока скрыты.
   ========================================================= */

/* Бегущая строка с фактами. Механика та же, что у ленты логотипов:
   в ленте 2 одинаковых набора, сдвиг на −50 %, flex:none — иначе лента
   сжимается и цикл рвётся. Скорость ~45 px/с. */
.kl-ticker{display:none;overflow:hidden;background:var(--kl-blue);color:#fff}
.kl-ticker__track{flex:none;display:flex;width:max-content;animation:kl-ticker 30s linear infinite}
.kl-ticker__set{display:flex;align-items:center;flex:none}
.kl-ticker__set b{display:flex;align-items:center;font-size:13px;font-weight:500;line-height:1;white-space:nowrap;padding:10px 14px}
.kl-ticker__set b::after{content:"";width:5px;height:5px;margin-left:28px;border-radius:50%;background:rgba(255,255,255,.55)}
@keyframes kl-ticker{to{transform:translateX(-50%)}}

/* Липкая панель записи. Появляется, когда первый экран ушёл вверх (класс на body
   ставит landing-konsult.js). Кнопка «мигает» пульсацией ореола — без перерисовки
   макета, только box-shadow и transform. */
.kl-cta-bar{display:none;position:fixed;left:0;right:0;bottom:var(--kl-bar-offset,0px);z-index:997;
  gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);backdrop-filter:blur(6px);box-shadow:0 -4px 18px rgba(33,51,97,.16);
  transform:translateY(120%);transition:transform .25s ease}
.kl-cta-bar.is-on{transform:none}
.kl-cta-bar .kl-btn{flex:1;min-width:0;width:auto;padding:12px 14px;font-size:15px}
.kl-cta-bar__tel{flex:0 0 48px;display:flex;align-items:center;justify-content:center;width:48px;height:48px;
  border:1px solid var(--kl-slate);border-radius:8px;color:var(--kl-slate);text-decoration:none}
.kl-cta-bar__tel svg{width:22px;height:22px;fill:currentColor}
.kl-btn--pulse{animation:kl-pulse 1.8s ease-in-out infinite}
@keyframes kl-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(81,87,118,.55);transform:scale(1)}
  50%{box-shadow:0 0 0 10px rgba(81,87,118,0);transform:scale(1.02)}
}
/* «Уменьшение движения» (решение Бро 29.09.2026, вариант 2): эффект виден всем,
   но без рывков — строка едет в 2,5 раза медленнее, кнопка не меняет размер,
   а плавно светлеет ореолом. Выезд панели остаётся мгновенным. */
@media (prefers-reduced-motion:reduce){
  .kl-ticker__track{animation-duration:75s}
  .kl-btn--pulse{animation-name:kl-pulse-soft;animation-duration:3s}
  .kl-cta-bar{transition:none}
}
@keyframes kl-pulse-soft{
  0%,100%{box-shadow:0 0 0 0 rgba(81,87,118,0)}
  50%{box-shadow:0 0 0 6px rgba(81,87,118,.28)}
}
/* WCAG 2.2.2: у бесконечно движущегося блока должна быть возможность остановки —
   строка замирает, пока её держат пальцем или на ней фокус. */
.kl-ticker:active .kl-ticker__track,.kl-ticker:focus-within .kl-ticker__track{animation-play-state:paused}
@media (max-width:767px){
  .kl-ticker{display:flex}
  .kl-cta-bar{display:flex}
  /* чтобы панель не перекрывала конец страницы */
  body.kl-has-bar .footer,body.kl-has-bar #otzyvy{padding-bottom:0}
  body.kl-has-bar{padding-bottom:76px}
}

/* Зона UI/A анализатора (13.10.2026): кнопки записи — настоящие <button> (окно открывает data-popup),
   ссылки в тексте и в заголовках карточек. Сброс нужен, чтобы <button> выглядел как прежняя ссылка-кнопка. */
button.kl-btn{margin:0;font-family:inherit;-webkit-appearance:none;appearance:none}
.kl .kl-lnk{color:var(--kl-ink);text-decoration:underline;text-decoration-color:rgba(36,42,79,.35);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .2s}
.kl .kl-lnk:hover,.kl .kl-lnk:focus-visible{text-decoration-color:currentColor}
.kl .kl-ptable .kl-lnk{color:inherit}
.kl-diag__title a,.kl-spec__title a{color:inherit;text-decoration:none}
@media (hover:hover){.kl-diag__title a:hover,.kl-spec__title a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}}
.kl-diag__title a:focus-visible,.kl-spec__title a:focus-visible{outline:2px solid var(--kl-ink);outline-offset:3px;border-radius:4px}
