/* ========== КАРКАС СТАТЬИ ========== */
.crumbs{display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:22px 0 0;
  font-size:13px; color:var(--ink-3); font-family:var(--f-mono)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--blue)}
.crumbs span[aria-hidden]{opacity:.5}

.art-head{padding:18px 0 56px}
.art-meta{display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center; margin-top:24px;
  font-size:14px; color:var(--ink-3)}
.art-meta b{color:var(--ink-2); font-weight:600}
.art-shell{display:grid; grid-template-columns:236px minmax(0,1fr); gap:56px; align-items:start; padding:56px 0 72px}
.art-shell > *{min-width:0}
@media (max-width:1080px){.art-shell{grid-template-columns:1fr; gap:0}}

/* оглавление */
.toc{position:sticky; top:96px; display:flex; flex-direction:column; gap:2px; font-size:14px}
@media (max-width:1080px){
  .toc{position:static; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-l);
    padding:var(--pad-card); margin-bottom:52px}
}
.toc a{display:flex; gap:10px; padding:11px 12px; border-radius:10px; text-decoration:none; color:var(--ink-3);
  line-height:1.3; transition:color .15s ease, background .15s ease}
.toc a i{font-family:var(--f-mono); font-size:11px; font-style:normal; opacity:.6; padding-top:2px}
.toc a:hover{color:var(--ink); background:var(--surface)}
.toc a[aria-current="true"]{color:var(--blue); background:var(--blue-soft); font-weight:600}
.toc a[aria-current="true"] i{opacity:1}

/* поток текста */
.flow{display:flex; flex-direction:column; gap:26px; max-width:100%; min-width:0}
.flow > p{color:var(--ink-2); max-width:68ch}
.flow > .foot-note{margin-top:-14px; max-width:none}
.flow > p + ul{margin-top:-14px}
.flow > p.big{color:var(--ink); font-size:19px}
.flow strong{color:var(--ink); font-weight:600}
:where(.flow) > h2{margin-top:26px; scroll-margin-top:96px}
:where(.flow) > h2:first-child{margin-top:0}
:where(.flow) > h3{margin-top:22px}
:where(.flow) > ul,:where(.flow) > ol{margin:0; padding-left:22px; color:var(--ink-2); display:flex; flex-direction:column; gap:10px; max-width:68ch}
:where(.flow) > ul > li::marker,:where(.flow) > ol > li::marker{color:var(--blue)}
.hr{height:1px; background:var(--line); border:0; margin:14px 0}

/* врезки */
.note{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-m);
  padding:18px 20px; font-size:15px; color:var(--ink-2); display:flex; gap:14px; align-items:flex-start}
.note b{color:var(--ink)}
.note.warn{background:var(--amber-soft); border-color:color-mix(in srgb,var(--amber) 35%, var(--line))}
.note.warn b{color:var(--ink)}
.note .ico{font-family:var(--f-mono); font-size:12px; font-weight:600; letter-spacing:.06em;
  color:var(--blue); flex:0 0 auto; padding-top:2px}
.note.warn .ico{color:var(--amber)}
.todo{display:inline; border-bottom:2px dotted color-mix(in srgb,var(--amber) 75%, var(--line));
  background:color-mix(in srgb,var(--amber) 14%, transparent); border-radius:3px; padding:0 3px;
  font-size:.94em; font-weight:600; color:var(--ink-2); box-decoration-break:clone; -webkit-box-decoration-break:clone}

/* ========== ПОДСКАЗКА «ЧТО ЭТО?» ========== */
.hint{position:relative; display:inline-flex; vertical-align:middle; margin-left:6px}
.hint-btn{position:relative; border:1px solid var(--line); background:var(--surface); color:var(--ink-2); font-size:12px;
  font-weight:600; padding:6px 12px; border-radius:999px; line-height:1.4; white-space:nowrap;
  transition:border-color .18s ease, color .18s ease, background .18s ease}
.hint-btn:hover{border-color:var(--blue); color:var(--blue)}
.hint-btn::after{content:""; position:absolute; inset:-8px}
.hint-pop{display:none; position:absolute; top:calc(100% + 10px); left:50%; transform:translate(-50%,0);
  width:min(300px,78vw); z-index:70; background:var(--ground); color:var(--ink-2);
  border:1px solid var(--line); border-radius:var(--r-m); box-shadow:var(--shadow-l);
  padding:16px 18px; font-size:14px; line-height:1.5; text-align:left; font-weight:400;
  font-family:var(--f-body); letter-spacing:normal; text-transform:none}
.hint-pop::before{content:""; position:absolute; top:-7px; left:50%; margin-left:-7px; width:12px; height:12px;
  background:var(--ground); border-left:1px solid var(--line); border-top:1px solid var(--line); transform:rotate(45deg)}
.hint-pop b{color:var(--ink); display:block; margin-bottom:5px; font-weight:600}
.hint-pop a{color:var(--blue); font-weight:600; display:inline-block; margin-top:9px; text-decoration:none;
  border-bottom:1px solid color-mix(in srgb,var(--blue) 40%, transparent)}
.hint:hover .hint-pop,.hint:focus-within .hint-pop,.hint.open .hint-pop{display:block}
/* поп-ап прижимается к тому краю, где есть место */
.art-meta .hint-pop{left:auto; right:0; transform:none}
.art-meta .hint-pop::before{left:auto; right:26px}
.verdict-score .hint-pop{left:0; transform:none}
.verdict-score .hint-pop::before{left:26px}
@media (max-width:640px){.hint-pop{left:0; right:auto; transform:none}
  .hint-pop::before{left:26px; right:auto}}
.verdict-score .hint-btn{background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.4); color:#fff}
.verdict-score .hint-btn:hover{background:rgba(255,255,255,.3); border-color:#fff}
thead .hint{margin-left:6px}
thead .hint-btn{padding:1px 8px; font-size:11px; text-transform:none; letter-spacing:0; font-family:var(--f-body)}

/* ========== ВЕРДИКТ ========== */
.verdict{border:1px solid var(--line); border-radius:var(--r-xl);
  background:var(--ground); box-shadow:var(--shadow-m)}
.verdict-score{background:linear-gradient(120deg,#2E44B8,#6A4FD0); color:#fff;
  border-radius:var(--r-xl) var(--r-xl) 0 0;
  padding:26px var(--pad-card); display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 20px}
.verdict-score .big{font-family:var(--f-display); font-size:52px; font-weight:600; letter-spacing:-.05em;
  line-height:1; font-variant-numeric:tabular-nums}
.verdict-score .of{font-family:var(--f-display); font-size:22px; font-weight:600; color:rgba(255,255,255,.9)}
.verdict-score .cap{font-size:15px; color:rgba(255,255,255,.92); margin-left:auto; text-align:right}
@media (max-width:820px){.verdict-score .cap{margin-left:0; text-align:left; flex:1 0 100%}}
.verdict-body{padding:var(--pad-card); display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:26px 34px}
.pm{display:flex; flex-direction:column; gap:10px; list-style:none; margin:0; padding:0; font-size:15px}
.pm li{display:flex; gap:10px; align-items:flex-start; color:var(--ink-2)}
.pm li::before{font-family:var(--f-mono); font-weight:600; flex:0 0 auto; line-height:1.5}
.pm.plus li::before{content:"+"; color:var(--green)}
.pm.minus li::before{content:"−"; color:var(--ruby)}
.pm h4{margin-bottom:2px}

/* оценка по критериям */
.scores{display:flex; flex-direction:column; gap:12px; margin-top:4px}
.score-row{display:grid; grid-template-columns:minmax(140px,200px) minmax(0,1fr) 46px; gap:16px; align-items:center; font-size:15px}
.score-row > span:first-child{color:var(--ink-2)}
.score-row b{font-family:var(--f-mono); font-size:13px; text-align:right; color:var(--ink)}
.meter{height:8px; border-radius:999px; background:var(--surface-2); overflow:hidden}
.meter i{display:block; height:100%; border-radius:999px; background:currentColor; width:0;
  transition:width .8s cubic-bezier(.2,.8,.2,1)}

/* ========== БЛОК-ПАНЕЛЬ (общий контейнер интерактива) ========== */
.panel{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-xl);
  padding:var(--pad-card); box-shadow:var(--shadow-s)}
.panel-head{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 24px; align-items:center; margin-bottom:24px}
.panel-head p{margin:0}
@media (max-width:680px){.panel-head{grid-template-columns:1fr; justify-items:start}}

/* переключатели */
.seg{display:inline-flex; padding:4px; gap:4px; background:var(--surface-2); border-radius:999px; flex-wrap:wrap}
.seg button{border:0; background:transparent; color:var(--ink-2); padding:12px 16px; border-radius:999px;
  font-size:14px; font-weight:600; transition:background .18s ease, color .18s ease}
.seg button:hover{color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--ground); color:var(--ink); box-shadow:var(--shadow-s)}
.seg.mono button{font-family:var(--f-mono); font-size:13px}
.seg button[data-c="b"][aria-pressed="true"]{color:var(--blue-ink)}
.seg button[data-c="r"][aria-pressed="true"]{color:var(--ruby)}
.seg button[data-c="g"][aria-pressed="true"]{color:var(--green)}

/* ========== МОКАП АППАРАТА ========== */
.rig{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:34px; align-items:start}
@media (min-width:901px){.rig-screen{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}
@media (max-width:900px){.rig{grid-template-columns:1fr; gap:26px}}
.rig-stage{position:relative; display:grid; place-items:center; padding:10px}
.rig-stage svg{width:100%; height:auto; max-width:460px; display:block}
.rig-specs{display:flex; flex-direction:column; gap:0}
.rig-specs .row{display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  padding:13px 0; border-top:1px solid var(--line); font-size:15px}
.rig-specs .row:first-child{border-top:0}
.rig-specs .row span{color:var(--ink-2)}
.rig-specs .row b{font-family:var(--f-mono); font-size:15px; font-weight:600; text-align:right}
.rig-specs .row sup{font-size:10px; color:var(--ink-3); margin-left:3px}
.foot-note{font-size:13px; color:var(--ink-3); margin-top:14px}

/* ========== ЭКРАН АППАРАТА ========== */
.screen{background:var(--scr-bg); border:1px solid var(--scr-line); border-radius:var(--r-l); padding:24px;
  color:#EDF1FB; box-shadow:0 0 0 1px var(--scr-line), 0 20px 40px -24px #000; display:flex; flex-direction:column; gap:18px}
.screen-top{display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--scr-ink)}
.screen-wave{display:flex; align-items:baseline; gap:12px}
.screen-wave b{font-family:var(--f-display); font-size:clamp(30px,4.6vw,44px); font-weight:600; letter-spacing:-.04em; line-height:1}
.screen-wave em{font-style:normal; font-family:var(--f-mono); font-size:13px; color:#B7C0D8}
.readouts{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--scr-line); border-radius:var(--r-s); overflow:hidden}
@media (max-width:640px){.readouts{grid-template-columns:repeat(2,1fr)}}
.ro{background:var(--scr-cell); padding:16px 14px; display:flex; flex-direction:column; gap:5px}
.ro span{font-family:var(--f-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--scr-ink)}
.ro b{font-family:var(--f-mono); font-size:22px; font-weight:600; letter-spacing:-.02em; font-variant-numeric:tabular-nums}
.ro small{font-size:12px; color:var(--scr-ink)}
.screen-bar{height:7px; border-radius:999px; background:var(--scr-track); overflow:hidden}
.screen-bar i{display:block; height:100%; border-radius:999px; transition:width .5s cubic-bezier(.2,.8,.2,1)}
.screen-note{font-size:14px; color:#B7C0D8; display:flex; gap:12px; align-items:flex-start}
.screen-note b{color:#EDF1FB}
.presets{display:flex; flex-direction:column; gap:10px}
.preset{display:flex; gap:14px; align-items:flex-start; text-align:left; width:100%; padding:14px 16px;
  border-radius:var(--r-m); border:1px solid var(--line); background:var(--ground); color:var(--ink);
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease}
.preset:hover{transform:translateX(3px); border-color:color-mix(in srgb,var(--blue) 40%, var(--line))}
.preset[aria-pressed="true"]{border-color:var(--blue); box-shadow:var(--shadow-m)}
.preset .k{font-family:var(--f-mono); font-size:12px; font-weight:600; color:var(--ink-3); padding-top:3px; flex:0 0 auto; width:34px}
.preset strong{display:block; font-size:15px; font-weight:600}
.preset em{font-style:normal; font-size:13px; color:var(--ink-3)}

/* ========== ФИЗИКА ИМПУЛЬСА ========== */
.pulse-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px}
@media (max-width:760px){.pulse-grid{grid-template-columns:1fr}}
.pulse-card{background:var(--card); border:1px solid var(--line); border-radius:var(--r-l); padding:18px; display:flex; flex-direction:column; gap:12px}
.pulse-card canvas{width:100%; height:180px; border-radius:var(--r-m); background:var(--surface-2); display:block}
.pulse-card h4{display:flex; align-items:center; justify-content:space-between; gap:10px}
.pulse-card p{font-size:14px; color:var(--ink-2)}

/* ========== ОТКЛИК ПИГМЕНТА ========== */
.targets{display:flex; flex-direction:column; gap:11px; list-style:none; margin:0; padding:0}
.targets li{display:flex; align-items:center; gap:12px; font-size:15px}
.targets li > span:first-child{width:104px; color:var(--ink-2); font-size:14px; flex:0 0 auto}
.targets b{font-family:var(--f-mono); font-size:13px; width:46px; text-align:right; color:var(--ink-2)}
.bar{flex:1; height:8px; border-radius:999px; background:var(--surface-2); overflow:hidden}
.bar i{display:block; height:100%; border-radius:999px; background:currentColor; transition:width .45s cubic-bezier(.2,.8,.2,1)}

/* ========== СИМУЛЯТОР КУРСА ========== */
.sim{display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:30px; align-items:start}
@media (max-width:860px){.sim{grid-template-columns:1fr}}
.sim canvas{width:100%; height:auto; aspect-ratio:16/10; border-radius:var(--r-l); display:block; background:var(--surface-2)}
.sim-side{display:flex; flex-direction:column; gap:16px}
.sim-side .big{font-family:var(--f-display); font-size:52px; font-weight:600; letter-spacing:-.04em; line-height:1; color:var(--blue)}
.range{-webkit-appearance:none; appearance:none; width:100%; height:44px; background:transparent; outline-offset:6px}
.range::-webkit-slider-runnable-track{height:8px; border-radius:999px;
  background:linear-gradient(90deg,var(--blue) 0%,var(--blue) var(--p,0%),var(--surface-2) var(--p,0%))}
.range::-moz-range-track{height:8px; border-radius:999px;
  background:linear-gradient(90deg,var(--blue) 0%,var(--blue) var(--p,0%),var(--surface-2) var(--p,0%))}
.range::-webkit-slider-thumb{-webkit-appearance:none; width:26px; height:26px; margin-top:-9px; border-radius:50%;
  background:var(--card); border:3px solid var(--blue); box-shadow:var(--shadow-m); cursor:pointer}
.range::-moz-range-thumb{width:22px; height:22px; border-radius:50%; background:var(--ground);
  border:3px solid var(--blue); box-shadow:var(--shadow-m); cursor:pointer}
.legend{display:flex; flex-wrap:wrap; gap:8px}

/* ========== КАЛЬКУЛЯТОР ========== */
.calc{display:grid; grid-template-columns:1.15fr .85fr; border:1px solid var(--line); border-radius:var(--r-xl);
  overflow:hidden; background:var(--ground)}
@media (max-width:900px){.calc{grid-template-columns:1fr}}
.calc-form{padding:clamp(22px,2.6vw,32px); display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:18px; align-content:start}
@media (max-width:560px){.calc-form{grid-template-columns:1fr}}
.field label{display:block; font-size:13px; font-weight:600; color:var(--ink-2); margin-bottom:7px}
.field select{width:100%; padding:13px 38px 13px 14px; border-radius:var(--r-s); border:1px solid var(--line);
  background:var(--surface); color:var(--ink); font:inherit; font-size:14.5px; font-weight:500; cursor:pointer; appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 20px) 21px, calc(100% - 14px) 21px;
  background-size:6px 6px, 6px 6px; background-repeat:no-repeat}
.field select:hover{border-color:var(--blue)}
.calc-out{background:var(--surface); padding:clamp(22px,2.6vw,32px); display:flex; flex-direction:column;
  justify-content:center; gap:6px; border-left:1px solid var(--line)}
@media (max-width:900px){.calc-out{border-left:0; border-top:1px solid var(--line)}}
.calc-out .big{font-family:var(--f-display); font-size:64px; font-weight:600; letter-spacing:-.05em; line-height:1;
  color:var(--blue); font-variant-numeric:tabular-nums}
.calc-out .unit{font-size:15px; color:var(--ink-2); margin-bottom:12px}
.calc-cmp{display:flex; flex-direction:column; gap:9px; margin-top:14px; padding-top:16px; border-top:1px solid var(--line)}
.calc-cmp .row{display:flex; flex-direction:column; gap:3px; font-size:13px; color:var(--ink-3)}
.calc-cmp .row b{font-family:var(--f-mono); color:var(--ink); font-size:16px; font-variant-numeric:tabular-nums}
.calc-cmp .row.hl b{color:var(--green)}
.calc-out p.calc-note{font-size:13px; color:var(--ink-3); margin-top:12px}

/* ========== ТАБЛИЦА ========== */
.table-block{display:flex; flex-direction:column; gap:16px}
.table-scroll{position:relative; max-width:100%; overflow-x:auto; border:1px solid var(--line);
  border-radius:var(--r-l); background:var(--card); scrollbar-width:thin;
  -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain}
table{border-collapse:collapse; width:100%; min-width:700px; font-size:15px}
th:first-child,td:first-child{min-width:200px; padding-left:18px}
th:last-child,td:last-child{padding-right:18px}
.table-scroll::after{content:""; position:absolute; top:1px; right:0; bottom:1px; width:40px; pointer-events:none;
  opacity:0; transition:opacity .2s ease; background:linear-gradient(90deg,transparent,var(--card))}
.table-scroll[data-scroll="1"]::after{opacity:1}
th,td{padding:15px 14px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top}
thead th{font-family:var(--f-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-3); font-weight:600; background:var(--surface); white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--surface)}
tbody tr.me{background:var(--blue-soft)}
tbody tr.me:hover{background:var(--blue-soft)}
td b{font-weight:600; display:block; line-height:1.25}
td .chip + small{margin-top:6px}
td small{display:block; color:var(--ink-3); font-size:13px; margin-top:3px}
.rating{display:inline-flex; align-items:center; gap:6px; font-family:var(--f-mono); font-size:13px; font-weight:600}
.dots{display:flex; gap:3px}
.dots i{width:7px; height:7px; border-radius:50%; background:var(--surface-2)}
.dots i.on{background:currentColor}

/* ========== ЛИД-МАГНИТ ========== */
.lm{display:grid; grid-template-columns:186px minmax(0,1fr); gap:34px; align-items:start;
  background:var(--ground); border:1px solid var(--line); border-radius:var(--r-xl);
  padding:var(--pad-card); box-shadow:var(--shadow-m)}
@media (max-width:640px){.lm{grid-template-columns:1fr; gap:24px; justify-items:start}}
.lm-doc{display:flex; flex-direction:column; width:100%; max-width:186px; aspect-ratio:1/1.414;
  background:var(--doc-bg); border:1px solid var(--doc-border); border-radius:10px; overflow:hidden;
  box-shadow:var(--shadow-l); transform:rotate(-3deg); transition:transform .25s ease}
.lm:hover .lm-doc{transform:rotate(0) translateY(-5px)}
.lm-doc .band{flex:0 0 auto; height:50px; background:linear-gradient(120deg,var(--blue),var(--violet))}
.lm-doc .lines{flex:1; padding:14px 13px; display:flex; flex-direction:column; justify-content:center; gap:11px}
.lm-doc .r{display:flex; gap:8px; align-items:center}
.lm-doc .box{width:10px; height:10px; border-radius:3px; border:1.5px solid var(--doc-box); flex:0 0 auto}
.lm-doc .ln{height:4px; border-radius:2px; background:var(--doc-line)}
.lm-body{display:flex; flex-direction:column; gap:14px; align-items:flex-start}
.lm-body h3{font-size:clamp(20px,2.3vw,26px)}
.lm-body > p{color:var(--ink-2); font-size:15px; max-width:56ch}
.lm-list{list-style:none; margin:0; padding:0; display:flex; flex-flow:row wrap; gap:8px}
.lm-list li{font-family:var(--f-mono); font-size:12px; color:var(--ink-2); background:var(--surface);
  border:1px solid var(--line); padding:5px 11px; border-radius:999px}
.lm-actions{display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-top:4px}
.lm-note{font-size:13px; color:var(--ink-3)}

/* ========== ОТЗЫВЫ ========== */
.rev-top{display:flex; flex-wrap:wrap; gap:26px; align-items:center; justify-content:space-between; margin-bottom:20px}
.rev-score{display:flex; align-items:baseline; gap:12px}
.rev-score b{font-family:var(--f-display); font-size:44px; font-weight:600; letter-spacing:-.04em; line-height:1}
.rev-score span{font-size:14px; color:var(--ink-3)}
.rev-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
@media (max-width:860px){.rev-grid{grid-template-columns:1fr}}
.rev{background:var(--card); border:1px solid var(--line); border-radius:var(--r-l); padding:22px;
  display:flex; flex-direction:column; gap:12px}
.rev h4{font-size:18px; line-height:1.2}
.rev .chip{align-self:flex-start}
.rev p{font-size:15px; color:var(--ink-2)}
.rev .share{display:flex; align-items:center; gap:10px; font-family:var(--f-mono); font-size:12px; color:var(--ink-3); margin-top:auto; padding-top:6px}
.rev .share span{flex:1; height:6px; border-radius:999px; background:var(--surface-2); overflow:hidden}
.rev .share i{display:block; height:100%; border-radius:999px; background:currentColor}

/* ========== КЛИНИКИ ========== */
.cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px}
@media (max-width:960px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.cards{grid-template-columns:1fr}}
.clinic{background:var(--card); border:1px solid var(--line); border-radius:var(--r-l); overflow:hidden;
  display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease}
.clinic:hover{transform:translateY(-4px); box-shadow:var(--shadow-m)}
.clinic-cover{height:96px; position:relative; flex:0 0 auto}
.clinic-cover.c1{background:linear-gradient(120deg,var(--blue),var(--violet))}
.clinic-cover.c2{background:linear-gradient(120deg,var(--green),var(--blue))}
.clinic-cover.c3{background:linear-gradient(120deg,var(--ruby),var(--amber))}
.verify{position:absolute; top:12px; left:12px; background:var(--ground); color:var(--ink); padding:5px 11px;
  border-radius:999px; font-size:12px; font-weight:600; display:inline-flex; gap:6px; align-items:center; white-space:nowrap}
.verify svg{color:var(--blue); flex:0 0 auto}
.clinic-body{padding:20px; display:flex; flex-direction:column; gap:10px; flex:1}
.clinic-body h3{font-size:16px; margin:0; text-wrap:pretty}
.clinic-body p{color:var(--ink-2); font-size:15px; margin:0}
.clinic-row{display:flex; align-items:baseline; justify-content:space-between; gap:12px}
.clinic-row.foot{margin-top:auto; padding-top:6px}
.score{font-family:var(--f-mono); font-weight:600; color:var(--green-ink); font-size:15px; white-space:nowrap}
.price{font-family:var(--f-display); font-weight:600; font-size:19px; letter-spacing:-.02em; white-space:nowrap}
.price small{display:block; font-family:var(--f-body); font-weight:400; font-size:13px; color:var(--ink-3)}

/* ========== FAQ ========== */
.faq{display:flex; flex-direction:column; gap:10px}
.faq details{background:var(--card); border:1px solid var(--line); border-radius:var(--r-m); overflow:hidden}
.faq details[open]{border-color:color-mix(in srgb,var(--blue) 35%, var(--line)); box-shadow:var(--shadow-s)}
.faq summary{list-style:none; cursor:pointer; padding:18px 22px; font-weight:600; font-size:16px;
  display:flex; gap:14px; align-items:center; justify-content:space-between}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-family:var(--f-mono); font-size:20px; color:var(--blue); flex:0 0 auto; transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 22px 20px; color:var(--ink-2); font-size:15px; max-width:70ch}
.faq .ans p + p{margin-top:12px}

/* ========== АВТОР / CTA / ПОДВАЛ ========== */
.author{display:flex; gap:20px; align-items:flex-start; background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-l); padding:24px}
@media (max-width:560px){.author{flex-direction:column}}
.avatar{position:relative; width:72px; height:72px; border-radius:22px; flex:0 0 auto; display:grid; place-items:center;
  overflow:hidden; text-decoration:none;
  background:linear-gradient(140deg,var(--blue),var(--violet)); color:#fff; font-family:var(--f-mono); font-size:19px; font-weight:600}
.avatar img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.author p{font-size:14px; color:var(--ink-2); margin-top:8px; max-width:64ch}
.cta{border-radius:var(--r-xl); padding:clamp(32px,4.4vw,56px); text-align:center;
  background:linear-gradient(135deg,#2E44B8,#6A4FD0); color:#fff;
  display:flex; flex-direction:column; align-items:center; gap:18px}
.cta h2{color:#fff}
.cta p{color:rgba(255,255,255,.9); max-width:52ch}
.cta .btn{background:#fff; color:#1B3AD1}
.cta .todo{background:rgba(255,255,255,.2); border-bottom-color:rgba(255,255,255,.6); color:#fff}
.related{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
@media (max-width:760px){.related{grid-template-columns:1fr}}
.related a{display:flex; flex-direction:column; gap:8px; padding:20px; text-decoration:none;
  background:var(--card); border:1px solid var(--line); border-radius:var(--r-m);
  transition:border-color .18s ease, transform .18s ease}
.related a:hover{border-color:color-mix(in srgb,var(--blue) 40%, var(--line)); transform:translateY(-3px)}
.related b{font-size:16px; font-weight:600}
.related span{font-size:13px; color:var(--ink-3)}
footer.site{border-top:1px solid var(--line); padding:32px 0; color:var(--ink-3); font-size:14px}
.foot{display:grid; grid-template-columns:1fr auto; gap:8px 24px; align-items:center}
.foot span:last-child{text-align:right}
.foot .disclaimer{grid-column:1/-1; color:var(--ink-3)}
.foot-nav{display:flex; flex-wrap:wrap; gap:8px 20px; justify-self:end}
.foot-nav a{text-decoration:none; font-weight:600; color:var(--ink-2)}
.foot-nav a:hover{color:var(--blue)}
@media (max-width:820px){.foot-nav{justify-self:start}}
@media (max-width:820px){.foot{grid-template-columns:1fr} .foot span:last-child{text-align:left}}

@media (max-width:640px){.ro span{font-size:12px; letter-spacing:.06em}
  thead th{font-size:12px}
  .screen-top{font-size:12px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important; transition:none!important}}

/* ---------- прайс клиники и предложение (карточка ET.LASER) ---------- */
/* ⚠️ Прайс был только в JS: цены не попадали ни в индекс, ни в ответы
   нейросетей. Теперь таблица статична, а этот блок её оформляет. */
.pl-table{width:100%; border-collapse:collapse}
.pl-table th{font-size:14px; font-weight:600; color:var(--ink-2); text-align:left;
  padding:14px 16px; border-bottom:1px solid var(--line); vertical-align:top}
.pl-table td{padding:14px 16px; border-bottom:1px solid var(--line); vertical-align:top}
.pl-table tr:last-child td{border-bottom:0}
.pl-table .num{text-align:right; white-space:nowrap}
.pl-table td.num{font-variant-numeric:tabular-nums; font-weight:600; color:var(--ink)}
.pl-sub{display:block; margin-top:3px; font-size:12.5px; font-weight:400;
  color:var(--ink-3); white-space:nowrap}
/* ⚠️ В шапке подпись переносим: с nowrap таблица вылезала за контейнер
   и правая колонка обрезалась даже на широком экране. */
.pl-table th .pl-sub{white-space:normal; max-width:22ch; margin-left:auto}
.pl-table th, .pl-table td{padding:14px 12px}
.pl-table tbody tr:hover{background:rgba(43,84,255,.04)}

/* Предложение клиники: две колонки — текст и бонус-плашка.
   ⚠️ Помечено как условия клиники: карточка остаётся разбором, а не рекламой. */
.offer{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:22px 28px;
  align-items:center; margin-top:20px; padding:clamp(22px,2.6vw,30px);
  border:1px solid var(--blue-soft); border-left:4px solid var(--blue);
  border-radius:var(--r-l); background:linear-gradient(120deg,
  var(--blue-soft) 0%, rgba(231,236,255,.35) 55%, var(--ground) 100%)}
.offer-main{min-width:0}
.offer-tag{margin:0; font-size:11.5px; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--blue-ink)}
.offer-h{margin:10px 0 0; font-size:clamp(21px,2.3vw,27px); line-height:1.18}
.offer-p{margin:10px 0 0; max-width:56ch; color:var(--ink-2)}
.offer-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:20px}
.offer .btn{padding:14px 22px}
.offer-badge{display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:4px; padding:20px 24px; min-width:190px; text-align:center;
  border-radius:var(--r-m); background:var(--ground); box-shadow:var(--shadow-s)}
/* ⚠️ nowrap обязателен: в узкой колонке «−3 000 ₽» ломалось на «−3» и «000 ₽». */
.offer-badge b{font-family:var(--f-mono); font-size:30px; line-height:1;
  color:var(--blue-ink); white-space:nowrap}
.offer-badge span{font-size:13px; line-height:1.4; color:var(--ink-3)}
.offer-note{grid-column:1/-1; margin:0; font-size:13.5px; color:var(--ink-3)}
@media (max-width:720px){
  .offer{grid-template-columns:1fr; gap:18px}
  .offer-badge{flex-direction:row; align-items:center; gap:14px; min-width:0;
    padding:14px 18px; text-align:left}
  .offer-badge b{font-size:23px}
  .offer-badge span{font-size:12.5px}
  .offer .btn{width:100%; justify-content:center}
}

/* Вкладки соседних разборов */
.tabs{display:flex; flex-wrap:wrap; gap:2px; margin:22px 0 0; padding:4px;
  border:1px solid var(--line); border-radius:999px; background:var(--surface-2)}
.tabs a{flex:1 1 auto; padding:11px 18px; border-radius:999px; text-align:center;
  font-size:14.5px; font-weight:600; color:var(--ink-2); text-decoration:none;
  white-space:nowrap; transition:background .15s, color .15s}
.tabs a:hover{background:var(--ground); color:var(--blue-ink); box-shadow:var(--shadow-s)}
@media (max-width:720px){
  .tabs{border-radius:var(--r-m); gap:4px}
  .tabs a{flex:1 1 45%; border-radius:var(--r-s); white-space:normal}
}
.legal-note{margin-top:18px; padding:16px 18px; border:1px solid var(--line);
  border-radius:var(--r-m); background:var(--surface); font-size:13.5px;
  line-height:1.6; color:var(--ink-3)}
/* ⚠️ На телефоне прайс в виде таблицы бесполезен: в экран влезает только
   первый столбец, а деньги уезжают за край. Разворачиваем строки в карточки. */
@media (max-width:640px){
  /* ⛔ Общее правило раздела задаёт таблицам min-width:700px, и карточки
     прайса растягивались на 670 пикселей внутри 390-пиксельного экрана:
     подпись оставалась слева, а сама цена уезжала за край. */
  .pl-scroll{overflow:visible; border:0; background:none}
  .pl-table{min-width:0}
  .pl-table td:first-child{min-width:0; padding-left:0}
  .pl-table thead{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}
  .pl-table, .pl-table tbody, .pl-table tr, .pl-table td{display:block; width:100%}
  .pl-table tr{border:1px solid var(--line); border-radius:var(--r-m);
    background:var(--ground); padding:12px 14px; margin-bottom:10px}
  .pl-table tr:last-child{margin-bottom:0}
  .pl-table td{border:0; padding:5px 0; text-align:left}
  /* ⚠️ Подпись «за см²» пускаем на свою строку: втроём в ряд она вылезала
     за край карточки. */
  .pl-table td.num{display:flex; flex-wrap:wrap; align-items:baseline;
    justify-content:space-between; gap:2px 12px}
  .pl-table td[data-l]::before{content:attr(data-l); font-size:13.5px; font-weight:500;
    color:var(--ink-3)}
  .pl-table td .pl-sub{flex:0 0 100%; text-align:right; margin:0; white-space:normal}
  .pl-table td:first-child{font-size:16px; padding-bottom:8px;
    border-bottom:1px solid var(--line); margin-bottom:4px}
}
