/* ============================================================
   ClinCore — скролл-презентация. Отдельная страница, свои стили.
   Палитра: фон почти чёрный, акцент ClinCore-бирюза.
   Экраны приложения — светлые, как в самом продукте
   (tokens.css: canvas #F4F6F8, sidebar #226E6C, primary #2B7A78).
   ============================================================ */
:root {
  --bg: #05070B;
  --bg-2: #0A0E14;
  --line: rgba(255,255,255,.08);
  --text: #F2F5F8;
  --text-2: #9AA6B6;
  --text-3: #5E6A7C;
  --t1: #4FC2BF;
  --t2: #2B7A78;
  --t3: #8CEFEC;
  --warn: #F2B35B;
  --bad: #F06B6B;
  --ok: #5BD49A;
  --ease: cubic-bezier(.16,1,.3,1);
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', monospace;
  /* приложение */
  --a-canvas: #F4F6F8; --a-surface: #FFFFFF; --a-muted: #EDF0F3; --a-side: #226E6C;
  --a-text: #1F2933; --a-text-2: #52606D; --a-border: #E2E8F0; --a-primary: #2B7A78;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body {
  background: var(--bg); color: var(--text); font-family: var(--sans);
  font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
em { font-style: normal; }
::selection { background: var(--t1); color: #041413; }

/* слои до первого кадра скрыты; без JS — видны */
[data-k] { opacity: 0; will-change: opacity, transform; }

/* ---------- Навигация ---------- */
.pt-progress { position: fixed; inset: 0 0 auto; height: 2px; z-index: 60; background: rgba(255,255,255,.04); }
.pt-progress i { display: block; height: 100%; background: linear-gradient(90deg, var(--t2), var(--t3)); transform-origin: 0 50%; transform: scaleX(0); }
.pt-nav {
  position: fixed; inset: 0 0 auto; z-index: 50; height: 56px; display: flex; align-items: center;
  justify-content: space-between; gap: 20px; padding: 0 clamp(16px, 3vw, 36px);
  background: linear-gradient(180deg, rgba(5,7,11,.85), rgba(5,7,11,0));
  transition: background .4s;
}
.past-hero .pt-nav { background: rgba(5,7,11,.72); backdrop-filter: blur(16px) saturate(140%); -webkit-backdrop-filter: blur(16px) saturate(140%); border-bottom: 1px solid var(--line); }
.pt-brand { display: flex; align-items: center; gap: 10px; }
.pt-brand img { border-radius: 7px; }
.pt-brand b { font-weight: 600; letter-spacing: -.01em; }
.pt-brand span { font-size: 12px; color: var(--text-3); }
.pt-rail { display: flex; gap: 4px; }
.pt-rail a { font-size: 12.5px; color: var(--text-3); padding: 6px 10px; border-radius: 999px; transition: color .3s, background .3s; }
.pt-rail a:hover { color: var(--text); }
.pt-rail a.on { color: var(--text); background: rgba(79,194,191,.14); }
.pt-cta { font-size: 13px; font-weight: 500; padding: 7px 16px; border-radius: 999px; background: var(--text); color: var(--bg); }

/* ---------- Сцены ---------- */
.scene { position: relative; height: var(--len, 300vh); }
.stage {
  position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden;
  display: grid; place-items: center;
}
.stage > * { grid-area: 1 / 1; }
.center { position: relative; z-index: 2; text-align: center; display: flex; flex-direction: column; align-items: center; padding: 0 24px; max-width: 1100px; }
.wrap { width: min(1240px, 100%); padding: 0 clamp(20px, 4vw, 56px); position: relative; z-index: 2; }
.two { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.swap { display: grid; }
.swap > * { grid-area: 1 / 1; }
.top-title { align-self: start; margin-top: clamp(76px, 11vh, 120px); }
.top-title .h2 { grid-area: auto; }
.top-title { display: grid; justify-items: center; }
.top-title > .h2 { grid-row: 2; grid-column: 1; }

/* ---------- Типографика ---------- */
.eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--t1); margin-bottom: 18px; }
.display {
  font-size: clamp(36px, 6.4vw, 92px); font-weight: 600; line-height: 1.02; letter-spacing: -.035em;
  text-wrap: balance;
  background: linear-gradient(180deg, #FFFFFF 30%, #A9B6C8); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.display em, .h2 em, .bottom-line em {
  background: linear-gradient(100deg, var(--t3), var(--t1) 45%, #3E9E9B); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.h2 { font-size: clamp(26px, 3.5vw, 50px); font-weight: 600; line-height: 1.08; letter-spacing: -.03em; text-wrap: balance; }
.lead { margin-top: 18px; font-size: clamp(16px, 1.35vw, 19px); color: var(--text-2); line-height: 1.55; max-width: 34em; text-wrap: pretty; }
.lead strong, .stat strong { color: var(--text); font-weight: 600; }
.sub { margin-top: 22px; font-size: clamp(18px, 2vw, 26px); color: var(--text-2); font-weight: 400; letter-spacing: -.01em; }
cite { display: block; margin-top: 14px; font-style: normal; font-family: var(--mono); font-size: 11.5px; color: var(--text-3); letter-spacing: .01em; }

/* ---------- HERO ---------- */
.hero-glow {
  position: absolute; inset: -20%; pointer-events: none;
  background:
    radial-gradient(40% 36% at 50% 46%, rgba(79,194,191,calc(.28 - var(--p, 0) * .2)), transparent 70%),
    radial-gradient(30% 30% at 30% 70%, rgba(43,122,120,.18), transparent 70%),
    radial-gradient(26% 26% at 72% 28%, rgba(140,239,236,.08), transparent 70%);
  transform: scale(calc(1 + var(--p, 0) * .6));
}
.hero-orbit { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; opacity: calc(1 - var(--p, 0) * 2.2); }
.hero-orbit i {
  grid-area: 1/1; border-radius: 50%; border: 1px solid rgba(79,194,191,.14);
  width: calc(46vmin + var(--n, 0) * 18vmin); aspect-ratio: 1;
  transform: rotate(calc(var(--p, 0) * 120deg * (var(--n, 0) + 1))) scale(calc(1 + var(--p, 0) * (1 + var(--n, 0))));
  animation: orbit 14s linear infinite;
}
.hero-orbit i:nth-child(2) { --n: 1; border-style: dashed; border-color: rgba(79,194,191,.09); animation-duration: 30s; animation-direction: reverse; }
.hero-orbit i:nth-child(3) { --n: 2; border-color: rgba(255,255,255,.04); animation-duration: 50s; }
.hero-orbit i::after { content: ''; position: absolute; width: 6px; height: 6px; border-radius: 50%; background: var(--t3); box-shadow: 0 0 14px var(--t1); top: 50%; left: -3px; }
@keyframes orbit { to { rotate: 360deg; } }
.hero-logo { width: clamp(92px, 11vw, 132px); height: auto; border-radius: 26%; margin-bottom: 34px; box-shadow: 0 0 0 1px rgba(79,194,191,.2), 0 30px 90px rgba(79,194,191,.25); }
.hero-logo.sm { width: 88px; margin-bottom: 30px; }
.hero-hint { position: absolute; bottom: calc(-1 * clamp(110px, 20vh, 200px)); left: 50%; translate: -50% 0; font-size: 13px; color: var(--text-3); white-space: nowrap; }
.hero-hint span { display: inline-block; animation: bob 1.8s ease-in-out infinite; }
.hero-hint small { font-size: 11px; opacity: .7; }
@keyframes bob { 50% { transform: translateY(5px); } }
.s-hero .alt { position: absolute; top: 50%; left: 0; right: 0; translate: 0 -50%; font-size: clamp(32px, 5vw, 72px); }

/* ---------- ПРОБЛЕМА ---------- */
.papers { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; }
.papers i {
  grid-area: 1/1; width: clamp(110px, 13vw, 190px); aspect-ratio: .72; border-radius: 6px;
  translate: var(--x) var(--y); rotate: var(--r);
  background:
    repeating-linear-gradient(180deg, transparent 0 13px, rgba(255,255,255,.06) 13px 14px) 14px 34px / calc(100% - 28px) calc(100% - 50px) no-repeat,
    linear-gradient(90deg, rgba(255,255,255,.1) 0 40%, transparent 40%) 14px 16px / calc(100% - 28px) 7px no-repeat,
    linear-gradient(160deg, #161C26, #0D1118);
  border: 1px solid rgba(255,255,255,.07); box-shadow: 0 30px 60px rgba(0,0,0,.5);
}
.stat-swap { display: grid; margin-top: 8px; }
.stat-swap > * { grid-area: 1/1; }
.stat b { display: block; font-size: clamp(96px, 17vw, 240px); font-weight: 700; line-height: .95; letter-spacing: -.06em;
  background: linear-gradient(180deg, #fff 20%, #6E8199); -webkit-background-clip: text; background-clip: text; color: transparent; font-variant-numeric: tabular-nums; }
.stat p { margin-top: 28px; font-size: clamp(17px, 1.7vw, 23px); color: var(--text-2); line-height: 1.45; }
.s-problem .center > .display { position: absolute; top: 50%; left: 0; right: 0; translate: 0 -50%; font-size: clamp(30px, 4.6vw, 66px); }

/* ---------- ГРАФИКИ ---------- */
.charts { display: grid; }
.charts > * { grid-area: 1/1; }
.chart {
  padding: clamp(18px, 2.4vw, 32px); border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
  border: 1px solid var(--line); box-shadow: 0 40px 100px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.05);
}
.chart figcaption { font-size: 13px; color: var(--text-2); margin-bottom: 10px; }
.chart-note { font-size: 11.5px; color: var(--text-3); margin-top: 8px; font-family: var(--mono); }
.chart svg { width: 100%; height: auto; overflow: visible; }
.chart .axis { stroke: rgba(255,255,255,.12); }
.chart .bar rect { fill: url(#none); fill: #1E5856; }
.chart .bar.hl rect { fill: var(--t1); filter: drop-shadow(0 0 22px rgba(79,194,191,.45)); }
.chart .bar.fc rect { fill-opacity: .9; stroke: var(--t3); stroke-dasharray: 5 5; stroke-width: 1.2; }
.chart text { font-family: var(--sans); }
.chart .val { fill: var(--text); font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.chart .lbl { fill: var(--text-3); font-size: 13px; }
.chart .line { fill: none; stroke: var(--t1); stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 10px rgba(79,194,191,.5)); }
.chart .dot circle { fill: var(--bg); stroke: var(--t3); stroke-width: 2.5; }
.chart .dot { transition: opacity .3s; }
.chart .dot .val { font-size: 17px; }
.chart .fc-line { stroke: rgba(255,255,255,.2); stroke-dasharray: 4 6; }
.chart .fc-t { fill: var(--text-3); font-size: 12px; }

/* ---------- СБОРКА ---------- */
.s-platform .stage { perspective: 1800px; }
.stack-wrap { width: min(760px, 66vw, calc((100vh - 300px) * 1.6)); aspect-ratio: 16 / 10; translate: -8vw 4vh; perspective: 1800px; }
.stack { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transform-origin: 50% 50%; will-change: transform; }
.ly { position: absolute; inset: 0; transform-style: preserve-3d; will-change: transform; }
.ly-face {
  position: absolute; inset: 0; border-radius: 22px; display: flex; flex-direction: column; justify-content: flex-end;
  padding: 26px 30px; gap: 4px; border: 1px solid rgba(140,239,236,.22);
  background: linear-gradient(135deg, rgba(20,48,50,.86), rgba(9,18,22,.92));
  box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 40px 80px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.08);
  backface-visibility: hidden;
}
.ly-face b { font-size: clamp(16px, 1.6vw, 22px); font-weight: 600; letter-spacing: -.015em; }
.ly-face small { color: var(--text-2); font-size: 13px; }
.ly-ico { position: absolute; top: 22px; left: 26px; font-size: 26px; color: var(--t3); text-shadow: 0 0 20px var(--t1); }
.ly-1 .ly-face { background: linear-gradient(135deg, #0B1220, #070B12); border-color: rgba(120,160,255,.25); }
.ly-1 .ly-face::before { content: ''; position: absolute; inset: 18px 18px auto auto; width: 40%; height: 46%;
  background: repeating-linear-gradient(180deg, rgba(120,160,255,.18) 0 3px, transparent 3px 16px); border-radius: 6px; opacity: .7; }
.ly-2 .ly-face { background: linear-gradient(135deg, rgba(14,40,46,.9), rgba(6,16,20,.95));
  background-image: radial-gradient(circle at 80% 30%, rgba(79,194,191,.25), transparent 40%), linear-gradient(135deg, rgba(14,40,46,.9), rgba(6,16,20,.95)); }
.ly-2 .ly-face::before { content: 'enc1:Gx7Pq9vA… enc1:t0Lm2Kd4… enc1:Wq9eZaP1… enc1:Hn3kVbQ8… enc1:Y2rTomE6…'; position: absolute; inset: 22px 26px auto 70px; font-family: var(--mono); font-size: 11px; color: rgba(140,239,236,.35); line-height: 1.8; word-break: break-all; }
.ly-3 .ly-face::before { content: ''; position: absolute; top: 24px; right: 26px; width: 42%; height: 50%; border-radius: 10px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.14) 0 30%, transparent 30%) 12px 14px / 100% 8px no-repeat,
    linear-gradient(90deg, rgba(79,194,191,.45) 0 64%, transparent 64%) 12px 36px / 100% 6px no-repeat,
    linear-gradient(90deg, rgba(79,194,191,.3) 0 48%, transparent 48%) 12px 52px / 100% 6px no-repeat,
    linear-gradient(90deg, rgba(242,179,91,.5) 0 78%, transparent 78%) 12px 68px / 100% 6px no-repeat,
    rgba(255,255,255,.04);
}
.grid6 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; justify-content: stretch; }
.grid6 i { font-style: normal; display: grid; place-items: center; border-radius: 12px; background: rgba(79,194,191,.1); border: 1px solid rgba(79,194,191,.25); font-size: clamp(12px, 1.2vw, 15px); font-weight: 500; }
.ly-4 .ly-face { justify-content: stretch; }
.ly-4 .grid6 { height: 100%; }
.ly-5 .ly-face { background: radial-gradient(60% 80% at 70% 40%, rgba(79,194,191,.38), transparent 70%), linear-gradient(135deg, rgba(14,52,52,.9), rgba(6,18,20,.94)); border-color: rgba(140,239,236,.45); }
.ly-5 .ly-ico { font-size: 34px; }
.ly-top .ly-face.ui { padding: 0; background: #0F1A1E; overflow: hidden; border-color: rgba(255,255,255,.18); }
.ui-lbl { position: absolute; left: 24px; bottom: 18px; font-size: 18px; z-index: 2; }
.ui-final { position: absolute; inset: 0; opacity: 0; }
.mini-app { position: absolute; inset: 0; display: flex; background: var(--a-canvas); }
.mini-app aside { width: 17%; background: var(--a-side); display: flex; flex-direction: column; gap: 10px; padding: 18px 14px; }
.mini-app aside b { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: rgba(255,255,255,.2); color: #fff; font-size: 15px; margin-bottom: 10px; }
.mini-app aside i { height: 9px; border-radius: 4px; background: rgba(255,255,255,.22); }
.mini-app aside i.on { background: rgba(255,255,255,.6); }
.mini-main { flex: 1; padding: 16px 20px; display: flex; flex-direction: column; gap: 10px; min-width: 0; color: var(--a-text); }
.mini-h { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-weight: 600; font-size: clamp(12px, 1.2vw, 15px); }
.mini-h em { font-size: 11px; padding: 3px 10px; border-radius: 999px; background: #E6F4F3; color: var(--a-primary); }
.mini-vitals { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.mini-vitals span { background: #fff; border-radius: 10px; padding: 7px 10px; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.mini-vitals small { display: block; font-size: 10px; color: var(--a-text-2); }
.mini-vitals b { font-size: clamp(13px, 1.3vw, 17px); }
.mini-vitals b.hi { color: #C53030; }
.mini-ai, .mini-kr { border-radius: 12px; padding: 10px 12px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.08); display: flex; flex-direction: column; gap: 6px; }
.mini-ai { background: linear-gradient(135deg, #E6F4F3, #fff); border: 1px solid #9fd3d0; }
.mini-ai small, .mini-kr small { font-size: 10.5px; font-weight: 600; color: var(--a-primary); text-transform: uppercase; letter-spacing: .06em; }
.mini-ai p { display: flex; align-items: center; gap: 8px; font-size: clamp(11px, 1.05vw, 13.5px); }
.mini-ai p i { margin-left: auto; flex: none; width: 60px; height: 5px; border-radius: 3px; background: linear-gradient(90deg, #2B7A78 calc(var(--v) * 100%), #E2E8F0 0); }
.mini-ai .code { font-size: 10.5px; padding: 2px 6px; }
.mini-kr p { font-size: clamp(11px, 1.05vw, 13px); color: var(--a-text-2); }
.mini-kr em { margin-left: 6px; font-size: 10.5px; padding: 2px 8px; border-radius: 999px; background: #E6F4F3; color: var(--a-primary); font-weight: 600; }
.mini-plan { flex: 1; }
.mini-plan p { color: var(--a-text); }
.mini-plan .ok { color: #2F855A; font-weight: 700; margin-right: 6px; }
.ui-lbl { color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.6); }
.ly-caps { position: absolute; right: clamp(16px, 5vw, 80px); top: 50%; translate: 0 -40%; display: flex; flex-direction: column; gap: 16px; width: min(330px, 28vw); z-index: 3; }
.ly-cap { opacity: 0; font-size: 15px; color: var(--text-2); line-height: 1.4; padding-left: 14px; border-left: 1px solid rgba(79,194,191,.35); }
.ly-cap span { font-family: var(--mono); font-size: 11px; color: var(--t1); display: block; margin-bottom: 2px; }
.ly-cap b { color: var(--text); font-weight: 600; }

/* ---------- ПРИЛОЖЕНИЕ (общие экраны) ---------- */
.device {
  position: relative; border-radius: 18px; overflow: hidden; background: var(--a-canvas);
  box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 60px 140px rgba(0,0,0,.6), 0 0 120px rgba(79,194,191,.12);
  width: 100%; aspect-ratio: 16 / 10.4; color: var(--a-text); font-size: 13px;
  display: flex; flex-direction: column;
}
.device-top { height: 34px; flex: none; display: flex; align-items: center; gap: 7px; padding: 0 14px; background: #E8ECF0; border-bottom: 1px solid #D9DFE6; }
.device-top i { width: 10px; height: 10px; border-radius: 50%; background: #F26B5B; }
.device-top i:nth-child(2) { background: #F5BE4F; } .device-top i:nth-child(3) { background: #5ACB6A; }
.device-top span { margin: 0 auto; font-size: 11.5px; color: #6B7280; background: #fff; padding: 3px 40px; border-radius: 6px; }
.app { flex: 1; display: flex; min-height: 0; }
.app-side { transition: width .6s var(--ease), padding .6s var(--ease), opacity .4s; overflow: hidden; white-space: nowrap; }
.device.pm .app-side { width: 0 !important; padding-left: 0; padding-right: 0; opacity: 0; }
.app-side { width: 188px; flex: none; background: var(--a-side); color: #fff; padding: 16px 12px; display: flex; flex-direction: column; gap: 3px; }
.app-logo { display: flex; align-items: center; gap: 9px; margin-bottom: 14px; }
.app-logo b { width: 28px; height: 28px; border-radius: 8px; background: rgba(255,255,255,.2); display: grid; place-items: center; }
.app-logo span { font-weight: 700; }
.app-side .g { font-style: normal; font-size: 9.5px; letter-spacing: .1em; text-transform: uppercase; color: #9fe1d0; margin: 10px 8px 4px; }
.app-side a { font-size: 12.5px; padding: 6px 10px; border-radius: 8px; color: rgba(255,255,255,.88); }
.app-body { flex: 1; position: relative; min-width: 0; }
.jr-screen { position: absolute; inset: 0; padding: 22px 26px; display: flex; flex-direction: column; gap: 14px; opacity: 0; visibility: hidden; }
.ah { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.ah h4 { font-size: 17px; font-weight: 600; letter-spacing: -.01em; }
.chip { display: inline-block; font-size: 11px; padding: 4px 10px; border-radius: 999px; background: #E6F4F3; color: var(--a-primary); font-weight: 500; white-space: nowrap; }
.chip.ok { background: #E6F4EC; color: #2F855A; }
.chip.warn { background: #FBF0DC; color: #B7791F; }
.cap { font-size: 11px; color: var(--a-text-2); text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.btn-app { align-self: flex-start; background: #226E6C; color: #fff; font-weight: 600; padding: 9px 18px; border-radius: 12px; font-size: 13px; transition: transform .4s var(--ease), box-shadow .4s; }
.btn-app.sm { padding: 7px 14px; font-size: 12px; }
.btn-app.on { transform: scale(1.06); box-shadow: 0 6px 22px rgba(43,122,120,.45); }
[data-at] { transition: opacity .5s var(--ease), transform .5s var(--ease), background .4s, color .4s, border-color .4s; }

/* регистратура */
.reg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.reg-grid .col { background: #fff; border-radius: 14px; padding: 12px; box-shadow: 0 1px 3px rgba(0,0,0,.08); display: flex; flex-direction: column; gap: 6px; }
.reg-grid .col b { font-size: 13px; } .reg-grid .col small { color: var(--a-text-2); font-size: 11.5px; margin-bottom: 4px; }
.reg-grid i { font-style: normal; font-size: 12px; padding: 6px 10px; border-radius: 8px; }
.reg-grid i.busy { background: var(--a-muted); color: #9AA5B1; text-decoration: line-through; }
.reg-grid i.free { background: #E6F4F3; color: var(--a-primary); font-weight: 600; border: 1px solid #9fd3d0; }
.reg-grid i.free.on { background: var(--a-primary); color: #fff; box-shadow: 0 0 0 4px rgba(43,122,120,.2); }
.modal { position: absolute; right: 26px; bottom: 22px; width: 300px; background: #fff; border-radius: 16px; padding: 16px 18px; box-shadow: 0 24px 60px rgba(15,30,40,.25); display: flex; flex-direction: column; gap: 6px; opacity: 0; transform: translateY(20px) scale(.97); }
.modal.on { opacity: 1; transform: none; }
.modal p { font-size: 12.5px; color: var(--a-text-2); }
.modal .btn-app { margin-top: 6px; }
.toast { position: absolute; right: 18px; bottom: 18px; background: #2F855A; color: #fff; padding: 8px 14px; border-radius: 10px; font-size: 12px; font-weight: 600; opacity: 0; transform: translateY(8px); }
.toast.on { opacity: 1; transform: none; }

/* медсестра */
.gauges { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.gauge { background: #fff; border-radius: 14px; padding: 14px; box-shadow: 0 1px 3px rgba(0,0,0,.08); display: flex; flex-direction: column; gap: 6px; }
.gauge b { font-size: 11.5px; color: var(--a-text-2); font-weight: 500; }
.gauge em { font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.gauge i { height: 6px; border-radius: 3px; background: var(--a-muted); position: relative; overflow: hidden; }
.gauge i::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #4FC2BF, #2B7A78); transform-origin: 0 50%; transform: scaleX(calc(var(--v) * var(--g, 0))); }
.anthro { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.anthro span { background: #fff; border-radius: 12px; padding: 10px 14px; box-shadow: 0 1px 3px rgba(0,0,0,.08); color: var(--a-text-2); font-size: 12px; }
.anthro b { color: var(--a-text); font-size: 16px; margin-left: 6px; }
.note { padding: 10px 14px; border-radius: 12px; font-size: 12.5px; font-weight: 500; opacity: 0; transform: translateY(8px); }
.note.ok { background: #E6F4EC; color: #2F855A; }
.note.warn { background: #FBF0DC; color: #B7791F; }
.gauge.hi em { color: #C05621; }
.gauge.hi b { color: #B7791F; }
.gauge.hi i::after { background: linear-gradient(90deg, #4FC2BF, #F2B35B, #F06B6B); }
.note.on { opacity: 1; transform: none; }

/* врач */
.form { background: #fff; border-radius: 14px; padding: 6px 16px; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.form .row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--a-border); }
.form .row:last-child { border: 0; }
.form .row b { font-size: 12.5px; font-weight: 500; color: var(--a-text-2); }
.opt { font-size: 12px; padding: 5px 11px; border-radius: 8px; background: var(--a-muted); color: #9AA5B1; }
.opt.on { background: #E6F4F3; color: var(--a-primary); font-weight: 600; }
.opt.warn.on { background: #FBF0DC; color: #B7791F; }
.icd { background: #fff; border-radius: 14px; padding: 12px 16px; box-shadow: 0 1px 3px rgba(0,0,0,.08); font-size: 13px; font-weight: 500; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; opacity: 0; transform: translateY(10px); }
.icd.on { opacity: 1; transform: none; }
.icd em { font-size: 11px; color: var(--a-text-2); margin-left: auto; }
.code { font-family: var(--mono); font-size: 12px; font-weight: 600; padding: 3px 8px; border-radius: 6px; background: #226E6C; color: #fff; }

/* документ */
.paper { background: #fff; border-radius: 14px; padding: 20px 24px; box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 12px 32px rgba(15,30,40,.08); font-size: 13.5px; line-height: 1.5; display: flex; flex-direction: column; flex: 1; }
.paper-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding-bottom: 14px; margin-bottom: 4px; border-bottom: 2px solid #2B7A78; }
.paper-head b { display: block; font-size: 16px; font-weight: 600; letter-spacing: -.015em; }
.paper-head small { display: block; font-size: 11.5px; color: var(--a-text-2); margin-top: 2px; }
.paper-no { font-size: 12px; font-weight: 600; color: var(--a-primary); text-align: right; font-variant-numeric: tabular-nums; }
.paper p { display: grid; grid-template-columns: 104px 1fr; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--a-border); min-height: 2.6em; }
.paper p em { font-size: 10.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: #8A96A3; padding-top: 2px; }
.paper p span { color: var(--a-text); }
.paper p span b { font-weight: 600; color: var(--a-primary); }
.typing::after { content: '▍'; color: var(--a-primary); animation: blink .8s steps(1) infinite; }
@keyframes blink { 50% { opacity: 0; } }
.sign { margin-top: auto; align-self: flex-end; font-size: 12px; font-weight: 600; color: #2F855A; background: #E6F4EC; padding: 6px 12px; border-radius: 8px; opacity: 0; transform: translateY(8px); }
.sign.on { opacity: 1; transform: none; }

/* руководитель */
.kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.kpis div { background: #fff; border-radius: 14px; padding: 12px 14px; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.kpis small { display: block; color: var(--a-text-2); font-size: 11px; }
.kpis b { font-size: 22px; letter-spacing: -.02em; }
.flow { background: #fff; border-radius: 14px; padding: 14px 16px; box-shadow: 0 1px 3px rgba(0,0,0,.08); flex: 1; display: flex; flex-direction: column; gap: 10px; min-height: 0; }
.bars { flex: 1; display: flex; align-items: flex-end; gap: 8px; min-height: 80px; }
.bars i { flex: 1; height: calc(var(--h) * 100% * var(--g, 0)); border-radius: 5px 5px 0 0; background: linear-gradient(180deg, #3b82f6, #2563eb); }
.bars i:nth-child(5n+2) { background: linear-gradient(180deg, #10b981, #059669); }
.alert { padding: 10px 14px; border-radius: 12px; background: #FCE8E8; color: #C53030; font-size: 12.5px; font-weight: 600; opacity: 0; transform: translateY(8px); }
.alert.on { opacity: 1; transform: none; }


/* руководитель · сотрудники */
.st-tabs { display: flex; gap: 6px; align-items: center; }
.st-tabs span { font-size: 12px; padding: 5px 12px; border-radius: 999px; background: var(--a-muted); color: var(--a-text-2); }
.st-tabs span.on { background: #226E6C; color: #fff; font-weight: 600; }
.st-tabs em { margin-left: auto; font-size: 11.5px; color: var(--a-text-2); }
.st-row { display: grid; grid-template-columns: 34px minmax(110px, 1fr) 90px; grid-template-rows: auto auto; gap: 6px 12px; align-items: center; background: #fff; border-radius: 14px; padding: 10px 14px; box-shadow: 0 1px 3px rgba(0,0,0,.08); opacity: 0; transform: translateY(10px); }
.st-row.on { opacity: 1; transform: none; }
.av { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700; color: #fff; background: linear-gradient(135deg, #4FC2BF, #226E6C); }
.av.b { background: linear-gradient(135deg, #7FB2FF, #3B6FD8); } .av.c { background: linear-gradient(135deg, #F2B35B, #C77A1E); }
.st-who b { display: block; font-size: 13px; } .st-who small { font-size: 11px; color: var(--a-text-2); }
.st-score { text-align: right; }
.st-score b { font-size: 18px; color: #2F855A; letter-spacing: -.02em; }
.st-score.mid b { color: #B7791F; }
.st-score i { display: block; height: 5px; border-radius: 3px; margin-top: 3px; background: linear-gradient(90deg, #2F855A calc(var(--v) * 100%), #E2E8F0 0); }
.st-score.mid i { background: linear-gradient(90deg, #D69E2E calc(var(--v) * 100%), #E2E8F0 0); }
.st-chk { grid-column: 2 / -1; display: flex; flex-wrap: wrap; gap: 5px; }
.st-chk span { font-size: 11px; padding: 3px 9px; border-radius: 7px; }
.st-chk .y { background: #E6F4EC; color: #2F855A; } .st-chk .y::before { content: '✓ '; }
.st-chk .n { background: #FCE8E8; color: #C53030; } .st-chk .n::before { content: '✕ '; }
.st-insight { margin-top: auto; background: linear-gradient(135deg, #E6F4F3, #fff); border: 1px solid #9fd3d0; border-radius: 14px; padding: 10px 14px; font-size: 12.5px; display: flex; flex-direction: column; gap: 2px; opacity: 0; transform: translateY(8px); }
.st-insight.on { opacity: 1; transform: none; }
.st-insight b { color: var(--a-primary); font-size: 12.5px; }

/* пациент · концепт */
.sc-patient { align-items: center; justify-content: flex-start; gap: 10px; background: radial-gradient(70% 60% at 50% 40%, #E6F4F3, var(--a-canvas)); }
.concept { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--a-primary); background: #fff; border: 1px dashed #9fd3d0; padding: 5px 12px; border-radius: 999px; }
.phones { position: absolute; left: 50%; top: 52px; display: flex; gap: 22px; align-items: flex-start; transform-origin: 50% 0; translate: -50% 0; }
.phone2 { width: 240px; height: 500px; flex: none; border-radius: 32px; background: #fff; box-shadow: 0 0 0 7px #0F161C, 0 30px 60px rgba(15,30,40,.3); padding: 16px 14px; display: flex; flex-direction: column; gap: 8px; overflow: hidden; position: relative; }
.phone2::before { content: ''; position: absolute; top: 7px; left: 50%; width: 64px; height: 6px; border-radius: 3px; background: #0F161C; translate: -50% 0; }

.p2-top { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; }
.p2-top small { display: block; font-size: 11px; color: var(--a-text-2); } .p2-top b { font-size: 18px; letter-spacing: -.02em; }
.p2-av { width: 32px; height: 32px; border-radius: 50%; flex: none; display: grid; place-items: center; font-size: 11px; font-weight: 700; color: #fff; background: linear-gradient(135deg, #4FC2BF, #226E6C); }
.p2-next { border-radius: 18px; padding: 12px 14px; color: #fff; background: linear-gradient(135deg, #2BA9A3, #1B5F6E); box-shadow: 0 10px 24px rgba(27,95,110,.35); display: flex; flex-direction: column; gap: 2px; }
.p2-next small { font-size: 10.5px; opacity: .8; } .p2-next b { font-size: 14px; } .p2-next span { font-size: 11.5px; opacity: .9; }
.p2-btns { display: flex; gap: 6px; margin-top: 6px; }
.p2-btns em { font-size: 11px; font-weight: 600; padding: 5px 10px; border-radius: 9px; background: rgba(255,255,255,.2); }
.p2-quick { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.p2-quick span { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 10px; color: var(--a-text-2); }
.p2-quick svg { width: 40px; height: 40px; padding: 9px; border-radius: 13px; background: #E6F4F3; fill: none; stroke: #226E6C; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.p2-card { display: flex; justify-content: space-between; align-items: center; gap: 8px; border-radius: 14px; padding: 10px 12px; background: var(--a-canvas); }
.p2-card small { display: block; font-size: 10.5px; color: var(--a-text-2); } .p2-card b { display: block; font-size: 12.5px; }
.p2-card .ok { font-size: 11px; color: #2F855A; font-weight: 600; }
.spark { width: 60px; height: 24px; fill: none; stroke: #2BA9A3; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.spark circle { fill: #2BA9A3; }
.p2-note { font-size: 11.5px; padding: 9px 11px; border-radius: 12px; background: #FBF0DC; color: #8A5A12; }
.p2-h { font-size: 15px; font-weight: 700; margin-top: 10px; }
.p2-spec { display: flex; gap: 5px; flex-wrap: wrap; }
.p2-spec span { font-size: 11px; padding: 5px 10px; border-radius: 999px; background: var(--a-muted); color: var(--a-text-2); }
.p2-spec span.on { background: #226E6C; color: #fff; font-weight: 600; }
.p2-doc { display: flex; gap: 9px; align-items: center; padding: 9px; border-radius: 14px; background: var(--a-canvas); }
.p2-doc b { display: block; font-size: 12px; } .p2-doc small { font-size: 10.5px; color: var(--a-text-2); }
.p2-days { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; }
.p2-days span { display: flex; flex-direction: column; align-items: center; font-size: 10px; color: var(--a-text-2); padding: 6px 0; border-radius: 11px; background: var(--a-canvas); }
.p2-days b { font-size: 14px; color: var(--a-text); }
.p2-days span.on { background: #226E6C; color: #CFEDEA; } .p2-days span.on b { color: #fff; }
.p2-slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.p2-slots i { font-style: normal; font-size: 11.5px; text-align: center; padding: 6px 0; border-radius: 9px; border: 1px solid #9fd3d0; color: var(--a-primary); font-weight: 600; }
.p2-slots i.x { border-color: transparent; background: var(--a-muted); color: #A0AAB4; text-decoration: line-through; font-weight: 400; }
.p2-slots i.on { background: #226E6C; color: #fff; border-color: #226E6C; }
.p2-go { margin-top: auto; text-align: center; font-size: 13px; font-weight: 700; color: #fff; padding: 11px; border-radius: 14px; background: linear-gradient(135deg, #2BA9A3, #1B5F6E); }
.p2-ok { text-align: center; font-size: 11.5px; font-weight: 600; color: #2F855A; }
.sc-patient [data-at] { opacity: 0; transform: translateY(10px); }
.sc-patient [data-at].on { opacity: 1; transform: none; }

/* путь пациента — раскладка */
.jr { width: min(1320px, 100%); padding: 72px clamp(20px, 3vw, 48px) 24px; display: grid; grid-template-columns: minmax(250px, 320px) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.jr-steps { display: flex; flex-direction: column; gap: 6px; counter-reset: s; }
.jr-step { counter-increment: s; padding: 10px 0 10px 40px; position: relative; color: var(--text-3); transition: color .5s; }
.jr-step::before { content: attr(data-n); position: absolute; left: 0; top: 12px; font-family: var(--mono); font-size: 12px; color: var(--text-3); transition: color .5s; }
.jr-step b { display: block; font-size: 19px; font-weight: 600; letter-spacing: -.015em; transition: color .5s; }
.jr-step span { display: block; font-size: 14px; line-height: 1.45; max-height: 0; overflow: hidden; opacity: 0; transition: max-height .6s var(--ease), opacity .5s, margin .5s; }
.jr-step.done b { color: var(--text-2); }
.jr-step.on b { color: var(--text); }
.jr-step.on::before { color: var(--t1); }
.jr-step.on span { max-height: 80px; opacity: 1; margin-top: 4px; color: var(--text-2); }
.jr-bar { margin-top: 18px; height: 2px; background: var(--line); border-radius: 2px; overflow: hidden; }
.jr-bar i { display: block; height: 100%; background: var(--t1); transform-origin: 0 50%; transform: scaleX(0); }

/* ---------- ИИ ---------- */
.ai-panel { display: flex; flex-direction: column; gap: 12px; }
.ai-card { background: rgba(255,255,255,.04); border: 1px solid var(--line); border-radius: 18px; padding: 16px 18px; }
.ai-card > small { display: block; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); margin-bottom: 8px; }
.mono { font-size: 15px; line-height: 1.55; color: var(--text); min-height: 3.2em; }
.mono.typing::after, .transcript .typing::after { color: var(--t1); }
/* «ИИ думает»: три точки-волна + сменяющиеся этапы с бегущим бликом (образец для ClinCore) */
.ai-think { display: flex; align-items: center; gap: 12px; height: 0; overflow: hidden; opacity: 0; transition: height .4s var(--ease), opacity .4s; font-size: 13px; padding-left: 4px; }
.ai-think.on { height: 28px; opacity: 1; }
.ai-think-dots { display: inline-flex; gap: 5px; align-items: center; height: 18px; }
.ai-think-dots i { width: 6px; height: 6px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff, var(--t3) 40%, var(--t1) 75%);
  box-shadow: 0 0 0 rgba(79,194,191,0); animation: think 1.25s cubic-bezier(.45,0,.55,1) infinite; }
.ai-think-dots i:nth-child(2) { animation-delay: .16s; } .ai-think-dots i:nth-child(3) { animation-delay: .32s; }
@keyframes think {
  0%, 56%, 100% { transform: translateY(0) scale(1); opacity: .45; box-shadow: 0 0 0 rgba(79,194,191,0); }
  24% { transform: translateY(-6px) scale(1.15); opacity: 1; box-shadow: 0 0 10px rgba(140,239,236,.85); }
  40% { transform: translateY(1px) scale(1.06, .9); opacity: .8; }
}
.ai-think-msg { display: grid; }
.ai-think-msg > * { grid-area: 1/1; font-weight: 500; white-space: nowrap; opacity: 0; transform: translateY(8px); transition: opacity .35s, transform .45s var(--ease);
  background: linear-gradient(90deg, var(--text-2) 35%, var(--t3) 50%, var(--text-2) 65%) 0 0 / 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: think-shine 2.4s linear infinite; }
.ai-think-msg > *.on { opacity: 1; transform: none; }
.ai-think-msg > *:not(.on) { transform: translateY(-8px); }
@keyframes think-shine { from { background-position: 100% 0; } to { background-position: 0 0; } }
/* итоговая цифра «приземлилась» — короткая вспышка */
.landed { animation: land .9s var(--ease); }
@keyframes land { 0% { filter: drop-shadow(0 0 0 rgba(79,194,191,0)); } 30% { filter: drop-shadow(0 0 18px rgba(79,194,191,.55)); scale: 1.025; } 100% { filter: drop-shadow(0 0 0 rgba(79,194,191,0)); scale: 1; } }
.hyps { border-color: rgba(79,194,191,.3); background: linear-gradient(135deg, rgba(79,194,191,.09), rgba(255,255,255,.02)); }
.ai-hyp { display: grid; grid-template-columns: auto 1fr 90px; align-items: center; gap: 12px; padding: 8px 0; opacity: 0; }
.ai-hyp b { font-size: 14px; font-weight: 500; }
.ai-hyp .code { background: rgba(79,194,191,.18); color: var(--t3); }
.conf { height: 6px; border-radius: 3px; background: rgba(255,255,255,.08); overflow: hidden; }
.conf i { display: block; height: 100%; background: linear-gradient(90deg, var(--t2), var(--t3)); transform-origin: 0 50%; transform: scaleX(0); }
.ai-cite { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 12px 16px; border-radius: 14px; border: 1px dashed rgba(140,239,236,.35); color: var(--text-2); font-size: 13px; opacity: 0; transform: translateY(10px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.ai-cite.on { opacity: 1; transform: none; }
.ai-cite b { color: var(--text); font-weight: 600; margin-right: 4px; }
.ai-cite .chip { background: rgba(79,194,191,.14); color: var(--t3); }
.ai-plan-row { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; font-size: 14px; border-bottom: 1px solid var(--line); opacity: 0; transform: translateY(8px); transition: opacity .5s, transform .5s var(--ease), color .4s; }
.ai-plan-row:last-child { border: 0; }
.ai-plan-row em { font-size: 12px; opacity: 0; transition: opacity .4s; white-space: nowrap; }
.ai-plan-row.in { opacity: 1; transform: none; }
.ai-plan-row.ok em { opacity: 1; color: var(--ok); }
.ai-plan-row.no { color: var(--text-3); text-decoration: line-through; }
.ai-plan-row.no em { opacity: 1; color: var(--text-3); text-decoration: none; }

/* ---------- ПЕРЕПИСАТЬ ВРАЧЕБНО ---------- */
.rw { width: min(1100px, 100%); padding: 0 clamp(20px, 4vw, 56px); display: flex; flex-direction: column; align-items: center; gap: 28px; text-align: center; }
.rw-card { width: 100%; max-width: 900px; text-align: left; background: var(--a-surface); color: var(--a-text); border-radius: 22px; padding: 26px 30px 30px; box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 50px 120px rgba(0,0,0,.6), 0 0 90px rgba(79,194,191,.12); }
.rw-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.rw-lbl { display: grid; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.rw-lbl > * { grid-area: 1/1; transition: opacity .5s; }
.rw-lbl .b { color: var(--a-primary); opacity: 0; }
.rw-lbl.on .a { opacity: 0; } .rw-lbl.on .b { opacity: 1; }
.rw-lbl .a { color: var(--a-text-2); }
.rw-btn { font-size: 12.5px; font-weight: 600; padding: 8px 14px; border-radius: 12px; background: #226E6C; color: #fff; transition: transform .4s var(--ease), box-shadow .4s; }
.rw-btn.on { transform: scale(1.06); box-shadow: 0 6px 22px rgba(43,122,120,.45); }
.rw-text { font-size: clamp(18px, 2vw, 26px); line-height: 1.6; letter-spacing: -.01em; }
.rw-p { display: inline-grid; vertical-align: top; }
.rw-p > * { grid-area: 1/1; transition: opacity .55s var(--ease), transform .55s var(--ease), filter .55s; text-decoration: none; }
.rw-p s { color: #B7791F; background: #FBF0DC; border-radius: 6px; padding: 0 4px; }
.rw-p b { font-weight: 500; color: var(--a-primary); background: #E6F4F3; border-radius: 6px; padding: 0 4px; opacity: 0; transform: translateY(10px); filter: blur(4px); }
.rw-p.on s { opacity: 0; transform: translateY(-10px); filter: blur(4px); }
.rw-p.on b { opacity: 1; transform: none; filter: none; }
.rw-terms { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.rw-terms span { font-size: 13px; padding: 7px 14px; border-radius: 999px; border: 1px solid rgba(79,194,191,.35); color: var(--text-2); }
.rw-terms span b { color: var(--t3); font-weight: 500; }

/* ---------- ЖИВАЯ БАЗА КЛИНРЕКОВ ---------- */
.kr { width: min(1320px, 100%); padding: 70px clamp(20px, 3vw, 48px) 20px; display: flex; flex-direction: column; gap: clamp(20px, 4vh, 44px); }
.kr-head { text-align: center; }
.kr-head .h2 { font-size: clamp(24px, 3vw, 42px); }
.kr-flow { display: grid; grid-template-columns: minmax(0, 1fr) 70px minmax(0, 1fr) 70px minmax(0, 1.15fr); align-items: center; }
.kr-col { min-width: 0; }
.kr-pdf { position: relative; background: #F7F8FA; color: var(--a-text); border-radius: 10px; padding: 18px 18px 14px; box-shadow: 0 30px 60px rgba(0,0,0,.45); display: flex; flex-direction: column; gap: 6px; }
.kr-pdf-tag { align-self: flex-start; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; color: #C53030; background: #FCE8E8; padding: 3px 8px; border-radius: 5px; }
.kr-pdf b { font-size: 17px; letter-spacing: -.01em; margin-top: 4px; }
.kr-pdf small { font-size: 12px; color: var(--a-text-2); margin-bottom: 6px; }
.kr-pdf i { height: 6px; border-radius: 3px; background: #E2E8F0; }
.kr-pdf i:nth-of-type(3n) { width: 70%; } .kr-pdf i:nth-of-type(4n) { width: 86%; }
.kr-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.kr-chips span { font-size: 12.5px; padding: 6px 12px; border-radius: 999px; background: rgba(79,194,191,.12); border: 1px solid rgba(79,194,191,.35); color: var(--t3); }
.kr-pipe { height: 2px; margin: 0 8px; background: var(--line); position: relative; overflow: hidden; border-radius: 2px; }
.kr-pipe i { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, var(--t1) 0 10px, transparent 10px 22px); opacity: 0; transition: opacity .5s; animation: pipe 1s linear infinite; }
.kr-pipe.on i { opacity: 1; }
@keyframes pipe { from { background-position: 0 0; } to { background-position: 22px 0; } }
.kr-db { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 22px 18px; border-radius: 24px; background: radial-gradient(80% 60% at 50% 20%, rgba(79,194,191,.16), transparent 70%), rgba(255,255,255,.03); border: 1px solid rgba(79,194,191,.3); }
.kr-cyl { width: 86px; height: auto; fill: rgba(79,194,191,.1); stroke: var(--t1); stroke-width: 2.5; filter: drop-shadow(0 0 16px rgba(79,194,191,.5)); }
.kr-cyl .ln { fill: none; opacity: .6; }
.kr-db b { font-size: 16px; }
.kr-db ul { display: flex; flex-direction: column; gap: 3px; font-size: 13px; color: var(--text-2); }
.kr-fresh, .kr-ver { font-size: 12px; padding: 6px 12px; border-radius: 999px; opacity: 0; transform: translateY(8px); transition: opacity .5s var(--ease), transform .5s var(--ease); }
.kr-fresh { color: var(--ok); background: rgba(91,212,154,.1); border: 1px solid rgba(91,212,154,.35); display: inline-flex; align-items: center; gap: 8px; }
.kr-fresh i { width: 7px; height: 7px; border-radius: 50%; background: var(--ok); box-shadow: 0 0 0 0 rgba(91,212,154,.6); animation: ping 1.6s infinite; }
@keyframes ping { 70% { box-shadow: 0 0 0 8px rgba(91,212,154,0); } 100% { box-shadow: 0 0 0 0 rgba(91,212,154,0); } }
.kr-ver { color: var(--text-2); background: rgba(255,255,255,.04); border: 1px solid var(--line); border-radius: 12px; }
.kr-fresh.on, .kr-ver.on { opacity: 1; transform: none; }
.kr-app { background: var(--a-canvas); color: var(--a-text); border-radius: 18px; padding: 14px; display: flex; flex-direction: column; gap: 10px; box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 40px 100px rgba(0,0,0,.55); }
.kr-app small { display: block; font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--a-primary); margin-bottom: 6px; }
.kr-dx, .kr-match, .kr-ai { background: #fff; border-radius: 12px; padding: 10px 12px; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.kr-dx p { font-size: 13.5px; font-weight: 500; display: flex; gap: 8px; align-items: center; min-height: 1.6em; }
.kr-match p { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; padding: 6px 8px; border-radius: 8px; margin-top: 4px; background: var(--a-muted); color: #9AA5B1; transition: background .5s, color .5s; }
.kr-match p em { font-size: 11px; color: inherit; white-space: nowrap; }
.kr-match p.on { background: #E6F4F3; color: var(--a-text); }
.kr-match p.on em { color: var(--a-primary); font-weight: 600; }
.kr-ai { background: linear-gradient(135deg, #E6F4F3, #fff); border: 1px solid #9fd3d0; opacity: .25; transform: translateY(10px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.kr-ai.on { opacity: 1; transform: none; }
.kr-ai p { font-size: 13px; padding: 2px 0; }
.kr-src-link { display: block; margin-top: 6px; font-size: 11.5px; color: var(--a-primary); font-weight: 600; }
.kr-note { text-align: center; font-size: clamp(16px, 1.6vw, 22px); color: var(--text-2); line-height: 1.4; }
.kr-note em { color: var(--text); font-weight: 500; }

/* ---------- НАСТОЯЩИЕ ЭКРАНЫ ---------- */
.real { width: min(1400px, 100%); padding: 64px clamp(20px, 3vw, 48px) 20px; display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: clamp(36px, 5vw, 80px); align-items: center; }
.real-txt { position: relative; z-index: 3; }
.real-cap { opacity: 0; }
.real-cap .h2 { font-size: clamp(24px, 2.8vw, 40px); }
.real-dots { display: flex; gap: 8px; margin-top: 26px; }
.real-dots i { width: 28px; height: 3px; border-radius: 2px; background: var(--line); transition: background .4s, width .4s; }
.real-dots i.on { background: var(--t1); width: 46px; }
.real-view { position: relative; }
.real-shot { border-radius: 16px; overflow: hidden; background: var(--a-canvas); box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 60px 140px rgba(0,0,0,.6), 0 0 120px rgba(79,194,191,.1); transform-origin: 85% 40%; will-change: transform, filter; }
.real-imgs { position: relative; aspect-ratio: 1440 / 900; }
.real-imgs img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top left; opacity: 0; }
.rc { position: absolute; left: 53%; top: 50%; width: min(780px, 90%); max-height: calc(100vh - 110px); overflow: hidden; border-radius: 16px; opacity: 0; background: #fff;
  box-shadow: 0 0 0 1px rgba(79,194,191,.45), 0 40px 120px rgba(0,0,0,.7), 0 0 80px rgba(79,194,191,.25); will-change: transform, opacity; }
.rc img { width: 100%; height: auto; will-change: transform; }
.rc::after { content: ''; position: absolute; inset: auto 0 0; height: 48px; background: linear-gradient(transparent, rgba(255,255,255,.95)); opacity: var(--more, 0); pointer-events: none; }
.real-note { margin-top: 18px; font-size: 12px; color: var(--text-3); font-family: var(--mono); }
/* ---------- ГОЛОС / ЗАЩИТА: заголовок и содержимое в потоке, без наложения ---------- */
.s-voice .stage, .s-secure .stage { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(14px, 3vh, 34px); padding: 64px 0 20px; }
.s-voice .stage > *, .s-secure .stage > * { grid-area: auto; }
.s-voice .top-title, .s-secure .top-title { margin-top: 0; align-self: center; }
.s-voice .top-title .h2, .s-secure .top-title .h2 { font-size: clamp(22px, 3vw, 42px); }
.s-voice .voice, .s-secure .sec { margin-top: 0 !important; }
.s-voice .voice-fact, .s-secure .sec-facts { position: static; translate: none; }

/* ---------- ГОЛОС ---------- */
.voice { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: clamp(16px, 3vw, 40px); align-items: center; width: min(1180px, 100%); padding: 0 clamp(20px, 4vw, 56px); margin-top: 12vh; }
.mic, .vform { background: rgba(255,255,255,.035); border: 1px solid var(--line); border-radius: 24px; padding: 22px; min-height: min(340px, 42vh); }
.rec { font-size: 12px; color: var(--bad); font-weight: 600; letter-spacing: .04em; }
.wave { display: flex; align-items: center; gap: 4px; height: 60px; margin: 14px 0; }
.wave i { flex: 1; height: 8%; border-radius: 3px; background: var(--t1); opacity: .35; transition: height .3s, opacity .3s; }
.wave.on i { animation: wave 1.1s ease-in-out infinite; opacity: .9; }
.wave i:nth-child(3n) { animation-delay: -.3s; } .wave i:nth-child(3n+1) { animation-delay: -.6s; } .wave i:nth-child(4n) { animation-delay: -.85s; animation-duration: .9s; }
@keyframes wave { 0%,100% { height: 12%; } 50% { height: 95%; } }
.transcript { display: flex; flex-direction: column; gap: 10px; }
.transcript p { font-size: 14.5px; line-height: 1.45; min-height: 1.4em; }
.transcript em { display: inline-block; width: 74px; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--t1); }
.transcript p:nth-child(even) em { color: var(--warn); }
.arrow { font-size: 34px; color: var(--t1); text-shadow: 0 0 20px var(--t1); }
.vform { background: var(--a-canvas); color: var(--a-text); display: flex; flex-direction: column; gap: 10px; }
.vf { background: #fff; border-radius: 14px; padding: 10px 14px; box-shadow: 0 1px 3px rgba(0,0,0,.08); border: 1px solid transparent; transition: border-color .5s, box-shadow .5s; }
.vf small { font-size: 11px; color: var(--a-text-2); }
.vf p { font-size: 13.5px; min-height: 1.4em; opacity: 0; transform: translateY(6px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.vf.filled { border-color: #9fd3d0; box-shadow: 0 0 0 4px rgba(79,194,191,.15); }
.vf.filled p { opacity: 1; transform: none; }
.vform .btn-app { opacity: 0; }
.vform .btn-app.on { opacity: 1; }
.voice-fact { position: absolute; bottom: 7vh; left: 0; right: 0; text-align: center; color: var(--text-2); font-size: clamp(15px, 1.4vw, 19px); }
.voice-fact b { color: var(--text); font-size: 1.3em; }
.voice-fact cite { margin-top: 6px; }

/* ---------- ЗАЩИТА ---------- */
.sec { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 60px); align-items: center; width: min(1080px, 100%); padding: 0 clamp(20px, 4vw, 56px); margin-top: 6vh; }
.sec-card { position: relative; background: rgba(255,255,255,.035); border: 1px solid var(--line); border-radius: 24px; padding: 22px 24px; }
.sec-row { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); transition: opacity .6s, filter .6s; }
.sec-row:last-child { border: 0; }
.sec-row small { color: var(--text-3); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; padding-top: 2px; }
.sec-row span { font-size: 15px; text-align: right; }
.sec-row span.is-enc, .sec-row span[data-cipher] { font-family: var(--mono); }
.sec-row span:not(.is-enc)[data-cipher] { font-family: var(--sans); }
.sec-row span.is-enc { color: var(--t3); font-size: 13px; }
.sec-lock { position: absolute; top: -26px; right: -18px; width: 54px; height: 62px; opacity: 0; transform: scale(.6); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.sec-lock.on { opacity: 1; transform: none; }
.sec-lock svg { width: 100%; height: 100%; fill: none; stroke: var(--t1); stroke-width: 3; filter: drop-shadow(0 0 12px var(--t1)); }
.sec-lock rect { fill: rgba(79,194,191,.15); }
.sec-strip.gone { opacity: .25; filter: blur(2px); }
.sec-pass { --fly: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; opacity: 0; transition: opacity .5s; }
.sec-pass.on { opacity: 1; }
.pkt { background: linear-gradient(135deg, rgba(79,194,191,.16), rgba(79,194,191,.04)); border: 1px solid rgba(79,194,191,.4); border-radius: 18px; padding: 16px 18px; transform: translateX(calc(var(--fly) * 0px)) translateY(calc((1 - var(--fly)) * 30px)); }
.pkt small { display: block; font-size: 11px; color: var(--t1); text-transform: uppercase; letter-spacing: .1em; }
.pkt b { display: block; font-size: 19px; margin: 4px 0; }
.pkt span { font-size: 13px; color: var(--text-2); }
.sec-ai { align-self: flex-end; font-size: 15px; font-weight: 600; padding: 12px 22px; border-radius: 999px; border: 1px solid rgba(140,239,236,.5); color: var(--t3); box-shadow: 0 0 40px rgba(79,194,191,calc(var(--fly) * .4)); }
.sec-facts { position: absolute; bottom: 7vh; left: 50%; translate: -50% 0; width: min(1080px, calc(100% - 40px)); display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.sec-facts li { border-top: 1px solid rgba(79,194,191,.35); padding-top: 12px; }
.sec-facts b { display: block; font-size: 17px; }
.sec-facts span { font-size: 13px; color: var(--text-2); }

/* ---------- ЦИФРЫ ---------- */
.proof { margin-top: 48px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px) clamp(28px, 5vw, 80px); text-align: left; }
.proof b { white-space: nowrap; display: block; font-size: clamp(38px, 5vw, 68px); font-weight: 700; letter-spacing: -.045em; line-height: 1; font-variant-numeric: tabular-nums;
  background: linear-gradient(180deg, #fff, var(--t1)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.proof span { display: block; margin-top: 8px; color: var(--text-2); font-size: 14px; }
.proof b span { display: inline; margin: 0; font-size: inherit; color: inherit; }

/* ---------- ЦИФРЫ v2 ---------- */
.proof-wrap { width: min(1240px, 100%); padding: 64px clamp(20px, 3vw, 48px) 16px; display: flex; flex-direction: column; gap: clamp(14px, 2.6vh, 28px); }
.proof-head { text-align: center; }
.proof-head .eyebrow { margin-bottom: 10px; }
.proof2 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 1.4vw, 18px); }
.pc { grid-column: span 1; padding: clamp(14px, 1.8vw, 22px); border-radius: 20px; background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.015)); border: 1px solid var(--line); display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pc-wide { grid-column: span 2; }
.pc > b { font-size: clamp(30px, min(3.6vw, 6vh), 54px); font-weight: 700; letter-spacing: -.035em; line-height: 1.05; font-variant-numeric: tabular-nums; white-space: nowrap;
  background: linear-gradient(180deg, #fff, var(--t1)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pc > b span { color: inherit; }
.pc h3 { font-size: clamp(14px, 1.2vw, 16px); font-weight: 600; letter-spacing: -.01em; color: var(--text); }
.pc p { font-size: clamp(12.5px, 1vw, 14px); color: var(--text-2); line-height: 1.5; }
.pc p strong { color: var(--text); font-weight: 600; }
.pc-bars { display: flex; height: 8px; border-radius: 4px; overflow: hidden; margin-top: 8px; gap: 2px; }
.pc-bars i { width: var(--w); background: var(--t1); }
.pc-bars i:nth-child(2) { background: #2B7A78; } .pc-bars i:nth-child(3) { background: var(--warn); } .pc-bars i:nth-child(4) { background: #7FB2FF; }
.pc-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 2px; }
.pc-tags li { font-size: 12px; padding: 3px 9px; border-radius: 999px; background: rgba(79,194,191,.1); border: 1px solid rgba(79,194,191,.25); color: var(--t3); }

.proof-line { text-align: center; font-size: clamp(15px, 1.5vw, 20px); color: var(--text-2); }
.proof-line em { color: var(--text); font-weight: 500; }

/* ---------- РОССИЯ ---------- */
.mini-stats { margin-top: 30px; display: flex; flex-direction: column; gap: 20px; }
.mini-stats b { font-size: clamp(30px, 3.4vw, 46px); font-weight: 700; letter-spacing: -.04em; color: var(--t3); font-variant-numeric: tabular-nums; }
.mini-stats b span { color: inherit; font-size: inherit; display: inline; }
.mini-stats > div > span { display: block; color: var(--text-2); font-size: 14.5px; max-width: 30em; }
.mini-stats cite { margin-top: 4px; }
.bottom-line { margin-top: 28px; font-size: clamp(18px, 1.8vw, 26px); font-weight: 500; letter-spacing: -.02em; line-height: 1.3; text-wrap: balance; }

/* ---------- ДОРОЖНАЯ КАРТА ---------- */
.road { position: relative; margin-top: 40px; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2.4vw, 32px); }
.road-line { position: absolute; top: 14px; left: 0; right: 0; height: 2px; background: var(--line); }
.road-line i { display: block; height: 100%; background: linear-gradient(90deg, var(--ok), var(--t1), var(--text-3)); transform-origin: 0 50%; transform: scaleX(min(1, calc(var(--p, 0) * 1.8))); }
.road-col { position: relative; padding-top: 40px; }
.road-col::before { content: ''; position: absolute; top: 8px; left: 0; width: 14px; height: 14px; border-radius: 50%; background: var(--bg); border: 2px solid currentColor; }
.road-col.done { color: var(--ok); } .road-col.now { color: var(--t1); } .road-col.next { color: var(--text-2); }
.road-col .tag { font-size: 12px; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; }
.road-col ul { margin-top: 14px; display: flex; flex-direction: column; gap: 9px; color: var(--text); }
.road-col li { font-size: 15px; padding-left: 18px; position: relative; color: var(--text-2); }
.road-col li::before { content: ''; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.road-col.done li { color: var(--text); }
.road-col.done li::before { background: var(--ok); }
.road-col.now li::before { background: var(--t1); }
.road-col.next li::before { background: var(--text-3); }

/* ---------- КОНТАКТ ---------- */
.contact { margin-top: 36px; display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
.contact a { padding: 14px 26px; border-radius: 999px; border: 1px solid rgba(255,255,255,.18); font-size: 16px; transition: border-color .3s, background .3s; }
.contact a:first-child { background: var(--text); color: var(--bg); border-color: transparent; font-weight: 500; }
.contact a:hover { border-color: var(--t1); }
.legal { margin-top: 40px; font-size: 12px; color: var(--text-3); }

/* ---------- ИСТОЧНИКИ ---------- */
.sources { padding: 80px 0 100px; border-top: 1px solid var(--line); }
.sources .wrap { max-width: 900px; }
.sources h3 { font-size: 15px; font-weight: 600; margin-bottom: 16px; color: var(--text-2); }
.sources ol { list-style: decimal; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.sources li { font-size: 12.5px; color: var(--text-3); line-height: 1.5; }
.sources p { margin-top: 26px; font-size: 13px; color: var(--text-2); }
.sources a:hover { color: var(--t1); }

/* ---------- Адаптив ---------- */
@media (max-width: 1100px) {
  .proof2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pt-rail { display: none; }
  .app-side { width: 150px; }
}
@media (max-width: 860px) {
  .two { grid-template-columns: 1fr; gap: 22px; }
  .two .txt { text-align: center; }
  .two .lead { margin-inline: auto; }
  .stack-wrap { width: 86vw; translate: 0 6vh; }
  .ly-caps { top: auto; bottom: 4vh; right: 0; left: 0; translate: none; width: auto; padding: 0 20px; display: grid; }
  .ly-caps .ly-cap { grid-area: 1/1; background: rgba(5,7,11,.8); padding: 10px 14px; }
  .jr { grid-template-columns: 1fr; padding-top: 64px; gap: 14px; }
  .jr-step { display: none; padding-left: 34px; }
  .jr-step.on { display: block; }
  .jr-bar { margin-top: 8px; }
  .device { aspect-ratio: 3 / 4; font-size: 12px; }
  .app-side { display: none; }
  .gauges, .kpis, .anthro { grid-template-columns: repeat(2, 1fr); }
  .st-row { grid-template-columns: 30px 1fr 64px; padding: 8px 10px; }
  .st-chk span:nth-child(n+4) { display: none; }
  .st-tabs em { display: none; }
  .reg-grid { grid-template-columns: repeat(2, 1fr); }
  .reg-grid .col:nth-child(3) { display: none; }
  .modal { left: 16px; right: 16px; width: auto; }
  .voice { grid-template-columns: 1fr; margin-top: 18vh; gap: 10px; }
  .voice .arrow { display: none; }
  .mic, .vform { min-height: 0; padding: 14px; }
  .wave { height: 34px; margin: 8px 0; }
  .voice-fact { display: none; }
  .s-voice .top-title .h2 { font-size: 21px; }
  .voice { margin-top: 24vh; }
  .s-ai .lead { display: none; }
  .s-ai .two { gap: 12px; }
  .s-ai .h2 { font-size: 24px; }
  .ai-card.plan { display: none; }
  .rw-card { padding: 18px; }
  .rw-text { font-size: 16px; }
  .rw-terms { display: none; }
  .kr { padding-top: 60px; gap: 12px; }
  .kr-flow { grid-template-columns: 1fr; gap: 10px; }
  .kr-pipe { display: none; }
  .kr-src, .kr-db { display: none; }
  .kr-note { font-size: 14px; }
  .real { grid-template-columns: 1fr; padding-top: 60px; gap: 16px; }
  .real-cap .lead { font-size: 14px; }
  .rc { width: 94%; max-height: 70vh; }
  .sec { grid-template-columns: 1fr; margin-top: 12vh; }
  .sec-facts { grid-template-columns: repeat(2, 1fr); bottom: 3vh; }
  .sec-facts span { display: none; }
  .proof { grid-template-columns: repeat(2, 1fr); }
  .road { grid-template-columns: 1fr; gap: 6px; }
  .road-line { display: none; }
  .road-col { padding-top: 22px; }
  .road-col ul { gap: 4px; }
  .road-col li { font-size: 13.5px; }
  .chart .val { font-size: 26px; } .chart .lbl { font-size: 16px; }
  .bottom-line { font-size: 16px; margin-top: 14px; }
  .mini-stats { margin-top: 14px; gap: 10px; }
  .mini-stats cite { display: none; }
}

/* ---------- Телефон: отдельные решения для сцен ---------- */
@media (max-width: 860px) {
  .real { padding: 64px 14px 12px; gap: 10px; align-content: start; height: 100svh; grid-template-rows: auto minmax(0, 1fr); }
  .real-cap .h2 { font-size: clamp(22px, 4vw, 30px); }
  .real-cap .lead { font-size: clamp(13.5px, 2vw, 16px); margin-top: 8px; }
  .real-txt .eyebrow { margin-bottom: 8px; }
  .real-dots { margin-top: 10px; }
  .real-note { display: none; }
  .real-shot { display: none; }
  .real-view { position: relative; height: 100%; }
  .rc { left: 0; top: 0; width: 100%; max-height: 100%; transform-origin: 50% 0; }
  .rc img { max-width: none; }
}
@media (max-width: 700px) {
  .s-voice .stage, .s-secure .stage { justify-content: flex-start; padding-top: 70px; gap: 12px; }
  .s-voice .top-title .eyebrow { display: none; }
  .transcript { gap: 6px; }
  .transcript p { font-size: 13px; }
  .transcript em { width: 62px; font-size: 10px; }
  .vf { padding: 8px 12px; }
  .vf p { font-size: 12.5px; }
  .s-proof { height: auto !important; }
  .s-proof .stage { position: relative; height: auto; overflow: visible; padding: 20px 0 30px; }
  .s-proof [data-k] { opacity: 1 !important; transform: none !important; visibility: visible !important; }
  .proof2 { grid-template-columns: 1fr; }
  .pc-wide { grid-column: span 1; }
  .s-road { height: auto !important; }
  .s-road .stage { position: relative; height: auto; overflow: visible; padding: 76px 0 40px; }
  .s-road [data-k] { opacity: 1 !important; transform: none !important; visibility: visible !important; }
  .s-road .road-line i { transform: none; }
  .stack-wrap { width: 74vw; aspect-ratio: 3 / 4; }
  .mini-vitals { grid-template-columns: repeat(2, 1fr); }
  .mini-main { padding: 12px; gap: 8px; }
  .mini-app aside { width: 14%; padding: 12px 6px; }
  .mini-app aside b { width: 22px; height: 22px; font-size: 12px; }
  .mini-h { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-orbit i, .wave.on i, .ai-think-dots i, .ai-think-msg > *, .landed { animation: none; }
}

/* узкие телефоны: в концепте кабинета пациента — один телефон */
@media (max-width: 520px) { .phone2.alt { display: none; } }

/* невысокие телефоны: в «Защите» убираем повторяющую строку фактов */
@media (max-width: 700px) and (max-height: 800px) {
  .sec-facts { display: none; }
}
