/* aelo.io — система «Доба клініки». Джерело: /root/aelo_site/assets/aelo.css, збирає build.py.
   Шрифти: Fixel (MacPaw) і JetBrains Mono — обидва SIL OFL 1.1, ліцензії поруч у /fonts/. */
@font-face{font-family:"Fixel Display";src:url(/fonts/fixel-display-600.woff2) format("woff2");font-weight:500 700;font-display:swap}
@font-face{font-family:"Fixel Text";src:url(/fonts/fixel-text-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Fixel Text";src:url(/fonts/fixel-text-500.woff2) format("woff2");font-weight:500 600;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/fonts/jetbrains-mono-500.woff2) format("woff2");font-weight:400 600;font-display:swap}

/* ───────────── токени ───────────── */
:root{
  --bg:#F3EFE8; --bg-2:#EAE4DA; --bg-3:#E2DACD;
  --ink:#191816; --ink-2:#47433C; --mute:#6B655C; --line:#D6CDBF;
  --acc:#B4472C; --acc-2:#8F3520; --on-acc:#FFF8F2;
  --ok:#3D6B4F;
  --card:#FBF9F5;
  --night:#121110;
  color-scheme: light;

  --f-disp:"Fixel Display", "Fixel Text", system-ui, sans-serif;
  --f-text:"Fixel Text", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --ease:cubic-bezier(.2,.7,.2,1);
  --t-1:180ms; --t-2:320ms; --t-3:600ms;

  --pad:clamp(20px, 5vw, 56px);
  --maxw:1240px;
}
:root[data-theme="dark"]{
  --bg:#121110; --bg-2:#1A1917; --bg-3:#23211E;
  --ink:#EEE9E0; --ink-2:#C3BCB0; --mute:#8E877C; --line:#2E2B27;
  --acc:#E2734F; --acc-2:#F09271; --on-acc:#160C08;
  --ok:#7FB08F;
  --card:#1A1917;
  color-scheme: dark;
}
@media (prefers-color-scheme: dark){
  :root[data-theme="auto"]{
    --bg:#121110; --bg-2:#1A1917; --bg-3:#23211E;
    --ink:#EEE9E0; --ink-2:#C3BCB0; --mute:#8E877C; --line:#2E2B27;
    --acc:#E2734F; --acc-2:#F09271; --on-acc:#160C08;
    --ok:#7FB08F;
    --card:#1A1917;
    color-scheme: dark;
  }
}

/* ───────────── база ───────────── */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.55 var(--f-text);
  -webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.mono{font-family:var(--f-mono);font-size:.78em;letter-spacing:.02em}
/* Табличні цифри вмикаємо лише в моно. У Fixel табличний нуль перекреслений (zero.tf) —
   на великих числах це виглядає як помилка. */
.mono.num,.num.mono{font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}

/* ───────────── шапка ───────────── */
.top{position:sticky;top:0;z-index:20;background:color-mix(in oklab, var(--bg) 88%, transparent);
  backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid transparent;transition:border-color var(--t-2) var(--ease)}
.top.scrolled{border-bottom-color:var(--line)}
.top .wrap{display:flex;align-items:center;gap:28px;height:64px}
.logo{display:flex;align-items:baseline;gap:2px;text-decoration:none;font:600 22px/1 var(--f-disp);letter-spacing:-.03em}
.logo i{font-style:normal;color:var(--acc)}
nav.main{display:flex;gap:22px;margin-left:12px}
nav.main a{text-decoration:none;font-size:15px;color:var(--ink-2);padding:8px 0;position:relative}
nav.main a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--ink);transition:right var(--t-2) var(--ease)}
nav.main a:hover{color:var(--ink)}
nav.main a:hover::after{right:0}
.top .sp{flex:1}
.lang{display:flex;gap:2px;font:500 13px/1 var(--f-mono)}
.lang a{padding:8px 7px;text-decoration:none;color:var(--mute);border-radius:6px}
.lang a[aria-current]{color:var(--ink)}

/* перемикач теми — три стани */
.theme{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px;position:relative}
.theme button{all:unset;cursor:pointer;width:34px;height:30px;display:grid;place-items:center;border-radius:999px;color:var(--mute);
  transition:color var(--t-1) var(--ease), background var(--t-1) var(--ease)}
.theme button[aria-checked="true"]{background:var(--ink);color:var(--bg)}
.theme button:hover:not([aria-checked="true"]){color:var(--ink)}
.theme svg{width:16px;height:16px}
.btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 22px;border-radius:999px;text-decoration:none;
  font:500 16px/1 var(--f-text);background:var(--acc);color:var(--on-acc);border:0;cursor:pointer;
  transition:background var(--t-1) var(--ease), transform var(--t-1) var(--ease)}
.btn:hover{background:var(--acc-2)}
.btn:active{transform:translateY(1px)}
.btn.sm{height:40px;padding:0 16px;font-size:15px}
.link{display:inline-flex;gap:8px;align-items:center;text-decoration:none;font-weight:500;border-bottom:1px solid var(--line);padding-bottom:3px;
  transition:border-color var(--t-1) var(--ease)}
.link:hover{border-color:var(--ink)}
.link .ar{transition:transform var(--t-2) var(--ease)}
.link:hover .ar{transform:translateX(4px)}

/* ───────────── перший екран: годинник ───────────── */
.hero{padding-block:clamp(28px,6vh,64px) 0;position:relative}
.hero .meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--mute)}
.hero .meta b{color:var(--ink-2);font-weight:500}
.clock{font:600 clamp(108px, 23vw, 318px)/.82 var(--f-disp);letter-spacing:-.045em;margin:clamp(10px,2vh,24px) 0 0;
  display:flex;align-items:baseline;white-space:nowrap;user-select:none}
.clock .c{display:inline-block;width:.32em;text-align:center;letter-spacing:0;color:var(--acc);animation:blink 2s steps(1) infinite}
@keyframes blink{50%{opacity:.25}}
/* маска для перекату цифр: поля, щоб не різати бічні виноси гліфів */
.clock .d{display:inline-block;overflow:hidden;height:.84em;vertical-align:top;padding:0 .03em}
.clock .d span{display:block;transition:transform var(--t-3) var(--ease)}
.hero .say{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;margin-top:clamp(18px,3vh,34px)}
.hero .now{grid-column:1 / span 7;min-height:3.7em;font:500 clamp(22px,2.6vw,34px)/1.22 var(--f-disp);letter-spacing:-.015em;margin:0;text-wrap:balance}
.hero .now em{font-style:normal;color:var(--acc)}
.hero .side{grid-column:9 / span 4;align-self:end}
.hero h1{font:500 17px/1.45 var(--f-text);color:var(--ink-2);margin:0 0 18px;max-width:34ch}
.hero .cta{display:flex;gap:18px;align-items:center;flex-wrap:wrap}

/* лінійка доби */
.ruler{position:relative;margin-top:clamp(36px,7vh,72px);height:96px;user-select:none}
.ruler .base{position:absolute;left:0;right:0;top:44px;height:1px;background:var(--line)}
.ruler .night{position:absolute;top:30px;height:28px;background:var(--bg-3);border-radius:2px}
.ruler .tick{position:absolute;top:38px;width:1px;height:13px;background:var(--line)}
.ruler .tick.big{height:19px;top:35px;background:var(--mute)}
.ruler .lab{position:absolute;top:64px;transform:translateX(-50%);color:var(--mute)}
.ruler .nowmark{position:absolute;top:10px;width:2px;height:64px;background:var(--acc);transform:translateX(-1px);
  transition:left var(--t-3) var(--ease)}
.ruler .nowmark::before{content:attr(data-label);position:absolute;top:-4px;left:8px;font:500 11px/1 var(--f-mono);color:var(--acc);white-space:nowrap}
.ruler .pin{all:unset;cursor:pointer;position:absolute;top:36px;width:18px;height:18px;transform:translateX(-50%);display:grid;place-items:center}
.ruler .pin i{width:9px;height:9px;border-radius:50%;background:var(--bg);border:2px solid var(--ink);transition:transform var(--t-2) var(--ease), background var(--t-2) var(--ease)}
.ruler .pin:hover i,.ruler .pin:focus-visible i{transform:scale(1.35);background:var(--ink)}
.ruler .pin span{position:absolute;bottom:26px;left:50%;transform:translate(-50%,4px);white-space:nowrap;opacity:0;
  font:500 12px/1.2 var(--f-mono);background:var(--ink);color:var(--bg);padding:6px 8px;border-radius:6px;pointer-events:none;
  transition:opacity var(--t-1) var(--ease), transform var(--t-1) var(--ease)}
.ruler .pin:hover span,.ruler .pin:focus-visible span{opacity:1;transform:translate(-50%,0)}
/* підказки біля країв не виходять за екран */
.ruler .pin.r span{left:auto;right:-4px;transform:translate(0,4px)}
.ruler .pin.r:hover span,.ruler .pin.r:focus-visible span{transform:none}
.ruler .pin.l span{left:-4px;transform:translate(0,4px)}
.ruler .pin.l:hover span,.ruler .pin.l:focus-visible span{transform:none}

/* ───────────── доба клініки ───────────── */
.day{margin-top:clamp(64px,12vh,140px);border-top:1px solid var(--line)}
.day .head{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;padding-block:clamp(40px,7vh,72px) clamp(16px,3vh,32px)}
.day h2{grid-column:1 / span 7;font:600 clamp(34px,5vw,64px)/1 var(--f-disp);letter-spacing:-.035em;margin:0;text-wrap:balance}
.day .head p{grid-column:9 / span 4;margin:0;color:var(--ink-2);align-self:end}
.track{display:grid;grid-template-columns:5fr 7fr;gap:clamp(24px,5vw,72px)}
.track .stick{position:sticky;top:96px;height:calc(100vh - 140px);display:flex;flex-direction:column;justify-content:center}
.bigtime{font:600 clamp(80px,12vw,176px)/.85 var(--f-disp);letter-spacing:-.05em}
.bigtime .digits{display:inline-flex}
.bigtime .digits span{display:inline-block;transition:transform var(--t-2) var(--ease), opacity var(--t-2) var(--ease)}
.bigtime.swap .digits span{transform:translateY(-.12em);opacity:0}
.stick .what{font:500 20px/1.3 var(--f-disp);margin-top:18px;color:var(--ink-2);min-height:2.6em;max-width:20ch}
.prog{margin-top:28px;height:2px;background:var(--line);position:relative;overflow:hidden;max-width:360px}
.prog i{position:absolute;inset:0;background:var(--acc);transform-origin:0 50%;transform:scaleX(var(--p,0));transition:transform var(--t-2) var(--ease)}
.stops{padding-bottom:12vh}
.stop{min-height:78vh;display:flex;flex-direction:column;justify-content:center;padding-block:6vh}
.stop .t{display:none}
.stop h3{font:600 clamp(26px,3vw,38px)/1.1 var(--f-disp);letter-spacing:-.02em;margin:0 0 12px;max-width:22ch}
.stop p{margin:0 0 26px;color:var(--ink-2);max-width:48ch}

/* фрагменти продукту */
.frag{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;max-width:520px}
.frag .bar{display:flex;justify-content:space-between;align-items:center;color:var(--mute);margin-bottom:14px}
.frag .bar b{color:var(--ink);font-weight:500}
.chat{display:flex;flex-direction:column;gap:10px}
.msg{max-width:82%;padding:10px 14px;border-radius:16px;font-size:15px;line-height:1.4;opacity:0;transform:translateY(8px);
  transition:opacity var(--t-2) var(--ease), transform var(--t-2) var(--ease)}
.msg.in{align-self:flex-start;background:var(--bg-3);border-bottom-left-radius:5px}
.msg.out{align-self:flex-end;background:var(--ink);color:var(--bg);border-bottom-right-radius:5px}
.msg .s{display:block;font:500 11px/1 var(--f-mono);opacity:.6;margin-top:6px}
.play .msg{opacity:1;transform:none}
.play .msg:nth-child(2){transition-delay:.5s}.play .msg:nth-child(3){transition-delay:1.1s}.play .msg:nth-child(4){transition-delay:1.6s}
.typing{display:inline-flex;gap:4px;padding:12px 14px;background:var(--bg-2);border-radius:16px;align-self:flex-start;opacity:0}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--mute);animation:dot 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,80%,100%{opacity:.25}40%{opacity:1}}

.notif{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start}
.notif .ic{width:40px;height:40px;border-radius:10px;background:var(--acc);color:var(--on-acc);display:grid;place-items:center;font:600 15px/1 var(--f-disp)}
.notif h4{margin:0;font:600 15px/1.3 var(--f-text)}
.notif ul{list-style:none;margin:8px 0 12px;padding:0;font-size:15px}
.notif li{display:flex;gap:10px;padding:5px 0;border-top:1px dashed var(--line)}
.notif li span:first-child{color:var(--mute);width:58px;flex:none}
.notif .acts{display:flex;gap:8px}
.notif .acts span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:14px}
.notif .acts span:first-child{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.rule1{margin-top:12px;color:var(--mute)}

.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}
.slot{all:unset;cursor:pointer;text-align:center;padding:12px 0;border:1px solid var(--line);border-radius:12px;font:500 15px/1 var(--f-mono);
  transition:background var(--t-1) var(--ease), color var(--t-1) var(--ease), border-color var(--t-1) var(--ease)}
.slot:hover{border-color:var(--ink)}
.slot[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.slot.taken{color:var(--mute);text-decoration:line-through;cursor:default;border-style:dashed}
.book{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.book .ok{color:var(--ok);opacity:0;transition:opacity var(--t-2) var(--ease)}
.book .ok.on{opacity:1}

.plan3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.plan3 > div{border:1px solid var(--line);border-radius:12px;padding:12px}
.plan3 > div:first-child{border-color:var(--ink)}
.plan3 small{display:block;color:var(--mute);font:500 11px/1.3 var(--f-mono);text-transform:uppercase;letter-spacing:.06em;min-height:2.6em}
.plan3 b{display:block;font:600 clamp(17px,1.5vw,21px)/1.1 var(--f-disp);margin:8px 0 6px;white-space:nowrap}
.plan3 span{font-size:13px;color:var(--ink-2);line-height:1.35}
.plan3 .bar2{height:6px;border-radius:3px;background:var(--bg-3);margin-top:10px;overflow:hidden}
.plan3 .bar2 i{display:block;height:100%;background:var(--acc);width:0;transition:width 900ms var(--ease)}
.play .plan3 .bar2 i{width:var(--w)}

.kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.kpi > div{padding:14px 12px 4px 0}
.kpi > div+div{padding-left:14px;border-left:1px solid var(--line)}
.kpi small{color:var(--mute);font:500 11px/1.3 var(--f-mono);text-transform:uppercase;letter-spacing:.06em}
.kpi b{display:block;font:600 34px/1 var(--f-disp);letter-spacing:-.03em;margin-top:8px}
.spark{display:flex;align-items:flex-end;gap:5px;height:64px;margin-top:16px}
.spark i{flex:1;background:var(--bg-3);border-radius:3px 3px 0 0;height:0;transition:height 700ms var(--ease)}
.spark i.hi{background:var(--acc)}
.demo-note{color:var(--mute);margin-top:12px}

/* ───────────── продукти: покажчик, не картки ───────────── */
.index{margin-top:clamp(40px,8vh,96px)}
.index h2,.case h2,.price h2{font:600 clamp(30px,4vw,52px)/1.02 var(--f-disp);letter-spacing:-.03em;margin:0 0 clamp(18px,3vh,32px);max-width:18ch}
.row{display:grid;grid-template-columns:4fr 6fr 1fr;gap:24px;align-items:baseline;padding:26px 0;border-top:1px solid var(--line);
  text-decoration:none;position:relative}
.row:last-child{border-bottom:1px solid var(--line)}
.row::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--ink);transition:width var(--t-3) var(--ease)}
.row:hover::before{width:100%}
.row .n{font:600 clamp(26px,3.2vw,42px)/1 var(--f-disp);letter-spacing:-.03em}
.row .d{color:var(--ink-2)}
.row .d small{display:block;color:var(--mute);margin-top:6px}
.row .ar{justify-self:end;font-size:26px;transition:transform var(--t-2) var(--ease)}
.row:hover .ar{transform:translateX(6px)}

/* ───────────── кейс ───────────── */
.case{margin-top:clamp(72px,12vh,140px);background:var(--night);color:#EEE9E0;border-radius:28px;
  padding:clamp(28px,5vw,64px);--line:#2E2B27;--mute:#8E877C}
.case .grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.case h2{grid-column:1 / span 6}
.case .lead{grid-column:8 / span 5;color:#C3BCB0;margin:0;align-self:end}
.case .facts{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(28px,5vh,56px);border-top:1px solid #2E2B27}
.case .facts > div{padding:22px 22px 0 0}
.case .facts > div+div{padding-left:22px;border-left:1px solid #2E2B27}
.case .facts b{display:block;font:600 clamp(40px,5vw,64px)/1 var(--f-disp);letter-spacing:-.04em;color:#F3EFE8}
.case .facts span{display:block;margin-top:10px;color:#C3BCB0;max-width:28ch}
.case .facts .src{display:block;margin-top:10px;color:#8E877C}
.case .live{grid-column:1 / -1;display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:32px}
.case .live a{color:#EEE9E0}
.verify{display:inline-block;margin-left:6px;padding:2px 6px;border:1px dashed #E2734F;color:#E2734F;border-radius:4px;font:500 10px/1.2 var(--f-mono);vertical-align:middle}

/* ───────────── ціни: чек ───────────── */
.price{margin-top:clamp(72px,12vh,140px);display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start}
.price .l{grid-column:1 / span 6}
.price .l p{color:var(--ink-2);max-width:44ch}
.pick{display:flex;flex-direction:column;gap:10px;margin-top:22px;max-width:420px}
.opt{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;cursor:pointer;
  transition:border-color var(--t-1) var(--ease), background var(--t-1) var(--ease)}
.opt:hover{border-color:var(--ink)}
.opt input{appearance:none;width:22px;height:22px;border:1.5px solid var(--mute);border-radius:6px;margin:0;display:grid;place-items:center;cursor:pointer}
.opt input:checked{background:var(--ink);border-color:var(--ink)}
.opt input:checked::after{content:"";width:10px;height:6px;border-left:2px solid var(--bg);border-bottom:2px solid var(--bg);transform:translateY(-1px) rotate(-45deg)}
.opt input:disabled{opacity:.6;cursor:default}
.opt b{font-weight:500}
.opt small{display:block;color:var(--mute);font-size:14px}
.opt .plus{color:var(--mute);font:500 13px/1 var(--f-mono)}
.receipt{grid-column:8 / span 5;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:28px 26px 22px;font:500 14px/1.6 var(--f-mono);
  position:relative;box-shadow:0 1px 0 var(--line)}
.receipt h3{font:600 13px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 4px}
.receipt .pk{font:600 30px/1.1 var(--f-disp);letter-spacing:-.02em;margin:18px 0 12px;transition:opacity var(--t-1)}
.lead2{display:flex;gap:8px;align-items:baseline}
.lead2 .dots{flex:1;border-bottom:1px dotted var(--mute);transform:translateY(-4px)}
.receipt hr{border:0;border-top:1px dashed var(--line);margin:14px 0}
.receipt .sum b{font:600 22px/1 var(--f-disp);letter-spacing:-.01em}
.receipt .inc{color:var(--ink-2);font-size:13px}
.receipt .btn{width:100%;justify-content:center;margin-top:18px}

/* ───────────── підвал ───────────── */
footer{margin-top:clamp(80px,14vh,160px);border-top:1px solid var(--line);padding-block:40px 120px;color:var(--ink-2)}
footer .wrap{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
footer .big{grid-column:1 / span 6;font:600 clamp(28px,3.6vw,44px)/1.05 var(--f-disp);letter-spacing:-.03em;color:var(--ink);margin:0}
footer .cols{grid-column:8 / span 5;display:grid;grid-template-columns:1fr 1fr;gap:24px}
footer h3{margin:0 0 10px;font:500 12px/1 var(--f-mono);color:var(--mute);text-transform:uppercase;letter-spacing:.08em}
footer a{display:block;text-decoration:none;padding:5px 0}
footer a:hover{color:var(--ink)}
footer .lab{grid-column:1 / -1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px;color:var(--mute)}

/* мобільна липка кнопка */
.dock{display:none}

/* ───────────── адаптив ───────────── */
@media (max-width: 900px){
  nav.main{display:none}
  .hero .now,.hero .side{grid-column:1 / -1}
  /* місце під найдовше речення: заміна тексту за годиною не має зсувати сторінку */
  .hero .now{min-height:3.7em}
  .day h2,.day .head p{grid-column:1 / -1}
  .track{grid-template-columns:1fr}
  .track .stick{display:none}
  .stop{min-height:auto;padding-block:28px}
  .stop .t{display:block;font:600 64px/.9 var(--f-disp);letter-spacing:-.05em;margin-bottom:12px;color:var(--acc)}
  .row{grid-template-columns:1fr auto;gap:8px 16px}
  .row .d{grid-column:1 / -1;order:3}
  .case h2,.case .lead{grid-column:1 / -1}
  .case .facts{grid-template-columns:1fr}
  .case .facts > div+div{padding-left:0;border-left:0;border-top:1px solid #2E2B27;margin-top:20px}
  .price .l,.receipt{grid-column:1 / -1}
  footer .big,footer .cols{grid-column:1 / -1}
  .dock{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;gap:10px}
  .dock .btn{flex:1;justify-content:center;height:52px;box-shadow:0 8px 28px rgba(0,0,0,.18)}
  .ruler .lab:nth-of-type(even){display:none}
}
@media (max-width: 520px){
  .hero .now{min-height:4.9em}
  .lang{display:none}
  .plan3{grid-template-columns:1fr}
  .kpi b{font-size:26px}
  .slots{grid-template-columns:repeat(3,1fr)}
}

/* ───────────── менше руху ───────────── */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .msg{opacity:1;transform:none}
  .plan3 .bar2 i{width:var(--w)}
}

/* ───────────── перемикання теми: колом від кнопки ───────────── */
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-new(root){animation:reveal 520ms var(--ease) both}
@keyframes reveal{from{clip-path:circle(0 at var(--vx,90%) var(--vy,32px))}to{clip-path:circle(150vmax at var(--vx,90%) var(--vy,32px))}}

/* ───────────── без JS: годинник ховаємо, лишається речення за замовчуванням ───────────── */
.no-js .clock,.no-js .ruler,.no-js .theme,.no-js .hero .meta{display:none}
.no-js .msg{opacity:1;transform:none}
.no-js .plan3 .bar2 i{width:var(--w)}

/* ───────────── мобільне меню (без JS — на details) ───────────── */
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;height:40px;padding:0 14px;display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;font-size:15px}
.mnav summary::-webkit-details-marker{display:none}
.mnav[open] summary{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.mnav .pop{position:absolute;right:0;top:48px;min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px;display:flex;flex-direction:column}
.mnav .pop a{text-decoration:none;padding:12px 14px;border-radius:10px;min-height:44px;box-sizing:border-box}
.mnav .pop a:hover{background:var(--bg-2)}
.mnav .pop .lng{display:flex;gap:6px;border-top:1px solid var(--line);margin-top:6px;padding-top:6px}
@media (max-width:900px){.mnav{display:block}}

/* ───────────── липка кнопка: з’являється після першого екрана ───────────── */
.dock{transition:transform var(--t-2) var(--ease),opacity var(--t-2) var(--ease)}
.dock.off{transform:translateY(140%);opacity:0;pointer-events:none}

/* цілі дотику ≥ 44 px */
.theme button{min-height:30px}
@media (pointer:coarse){.logo{padding-block:11px}.mnav summary{height:44px}.link{min-height:44px;box-sizing:border-box;padding-top:10px}footer a{padding:12px 0}.theme button{width:44px;height:44px}.lang a{padding:13px 9px}.ruler .pin{width:30px;height:44px;top:23px}}
.skip{position:absolute;left:-9999px;top:8px;z-index:99;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:8px}
.skip:focus{left:12px}

/* ═════════════ 18.10.2026: проєкти, FAQ, /apps/, демо-дашборд ═════════════ */
nav.main a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.btn.ghost:hover{background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--ink)}
button.link{background:none;border:0;border-bottom:1px solid var(--line);font:inherit;color:inherit;cursor:pointer;padding:0 0 3px}
.crumbs{color:var(--mute);margin:0 0 18px}
.crumbs a{text-decoration:none;color:var(--ink-2)}
.crumbs a:hover{color:var(--ink)}
.tag{color:var(--mute);text-transform:uppercase;letter-spacing:.08em;font-size:11.5px}

/* ── проєкти ── */
.proj{margin-top:clamp(72px,12vh,140px)}
.phead{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end;margin-bottom:clamp(24px,4vh,44px)}
.phead h2{grid-column:1 / span 6;font:600 clamp(30px,4vw,52px)/1.02 var(--f-disp);letter-spacing:-.03em;margin:0;max-width:16ch}
.phead .lead{grid-column:8 / span 5;margin:0;color:var(--ink-2)}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px) clamp(20px,3vw,32px)}
.pcard{display:block;text-decoration:none;color:inherit}
.win{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);
  transition:transform var(--t-2) var(--ease),border-color var(--t-2) var(--ease)}
.pcard:hover .win{transform:translateY(-3px);border-color:var(--ink)}
.wbar{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-bottom:1px solid var(--line);color:var(--mute)}
.wbar i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.wbar span{margin-left:8px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wbar b{font-weight:500;color:var(--ink);transition:transform var(--t-2) var(--ease)}
.pcard:hover .wbar b{transform:translate(2px,-2px)}
.shot{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg-2)}
.shot picture,.shot picture img{display:block;width:100%;height:100%}
.shot picture img{object-fit:cover;object-position:top}
.shot .phone{position:absolute;right:5%;bottom:-18%;width:22%;height:auto;border-radius:12px;border:4px solid var(--ink);
  box-shadow:0 12px 30px rgba(0,0,0,.18);transition:transform var(--t-3) var(--ease)}
.pcard:hover .phone{transform:translateY(-6%)}
.pmeta{padding:16px 2px 0}
.pmeta h3{font:600 clamp(22px,2.2vw,28px)/1.1 var(--f-disp);letter-spacing:-.02em;margin:8px 0 6px}
.pmeta p{margin:0;color:var(--ink-2);max-width:52ch}
.pmore{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:clamp(28px,5vh,48px);border-top:1px solid var(--line)}
.pmore > div{padding-top:20px}
.pmore h3{font:600 22px/1.15 var(--f-disp);letter-spacing:-.02em;margin:8px 0 6px}
.pmore p{margin:0;color:var(--ink-2);max-width:52ch}
.plab{display:grid;grid-template-columns:minmax(0,1.2fr) auto auto;gap:24px;align-items:center;margin-top:28px;padding:22px 24px;
  border-radius:18px;background:var(--bg-2);text-decoration:none;color:inherit;transition:background var(--t-2) var(--ease)}
.plab:hover{background:var(--bg-3)}
.plab .t b{display:block;font:600 22px/1.1 var(--f-disp);letter-spacing:-.02em}
.plab .t span{display:block;color:var(--ink-2);margin-top:4px;font-size:15px}
.plab .ic{display:flex}
.plab .ic img{width:44px;height:44px;border-radius:11px;margin-left:-8px;border:2px solid var(--bg-2);background:var(--card);
  transition:transform var(--t-2) var(--ease)}
.plab .ic img:first-child{margin-left:0}
.plab:hover .ic img{transform:translateY(-3px)}
.plab:hover .ic img:nth-child(2n){transform:translateY(-6px)}

/* ── FAQ ── */
.faq{margin-top:clamp(72px,12vh,140px);display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.faq h2{grid-column:1 / span 4;font:600 clamp(30px,4vw,52px)/1.02 var(--f-disp);letter-spacing:-.03em;margin:0;max-width:12ch}
.faq .qa{grid-column:6 / span 7;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;gap:16px;align-items:center;justify-content:space-between;cursor:pointer;padding:18px 0;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{margin:0;font:500 18px/1.35 var(--f-text)}
.faq .pm{flex:none;width:14px;height:14px;position:relative}
.faq .pm::before,.faq .pm::after{content:"";position:absolute;left:0;top:6px;width:14px;height:1.5px;background:currentColor;transition:transform var(--t-2) var(--ease)}
.faq .pm::after{transform:rotate(90deg)}
.faq details[open] .pm::after{transform:rotate(0)}
.faq details p{margin:0 0 20px;color:var(--ink-2);max-width:60ch}

/* ── /apps/ ── */
.apps .ahead{padding-top:clamp(28px,6vh,72px);max-width:760px}
.apps h1{font:600 clamp(40px,6vw,80px)/.98 var(--f-disp);letter-spacing:-.04em;margin:0 0 18px}
.apps .lead{font-size:clamp(18px,1.6vw,21px);color:var(--ink-2);margin:0 0 14px;max-width:56ch}
.apps .note{color:var(--mute);display:flex;gap:6px 16px;flex-wrap:wrap;align-items:center}
.ag{margin-top:clamp(40px,7vh,72px)}
.ag h2{margin:0 0 6px;color:var(--mute);text-transform:uppercase;letter-spacing:.1em;font-weight:500}
.ag ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.app{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);scroll-margin-top:80px}
.app img{width:56px;height:56px;border-radius:14px;background:var(--card)}
.app h3{font:600 24px/1.1 var(--f-disp);letter-spacing:-.02em;margin:0 0 4px}
.app p{margin:0;color:var(--ink-2);max-width:68ch}
.app .go{display:flex;gap:16px;align-items:center}
.acta{margin-top:clamp(48px,8vh,88px);display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  padding:26px 28px;border-radius:18px;background:var(--night);color:#EEE9E0}
.acta p{margin:0;font:600 clamp(22px,2.4vw,30px)/1.15 var(--f-disp);letter-spacing:-.02em;max-width:26ch}

/* ── демо-дашборд ── */
.demo .dh{padding-top:clamp(28px,6vh,72px);max-width:860px}
.badge{display:inline-block;padding:5px 10px;border:1px dashed var(--acc);color:var(--acc);border-radius:6px;margin-bottom:16px}
.demo h1{font:600 clamp(36px,5.2vw,68px)/1 var(--f-disp);letter-spacing:-.04em;margin:0 0 18px}
.demo .lead{font-size:clamp(18px,1.6vw,21px);color:var(--ink-2);margin:0;max-width:58ch}
.dbar{position:sticky;top:64px;z-index:10;display:flex;gap:16px 24px;align-items:center;flex-wrap:wrap;margin-top:clamp(28px,5vh,48px);
  padding:12px 0;background:color-mix(in oklab, var(--bg) 92%, transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.dbar .clin b{display:block;font:600 18px/1.1 var(--f-disp)}
.dbar .clin small{color:var(--mute);font-size:13px}
.per{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--bg-2);margin-left:auto}
.per button{border:0;background:none;color:var(--ink-2);font:500 15px/1 var(--f-text);padding:9px 16px;border-radius:999px;cursor:pointer;min-height:40px;text-align:center}
.per button small{display:none}
.per button[aria-checked="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 0 var(--line),0 0 0 1px var(--line)}
.ds{padding-top:clamp(48px,9vh,96px);scroll-margin-top:140px;transition:opacity var(--t-2) var(--ease)}
.ds.tour-dim{opacity:.32}
.dq{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 16px;align-items:baseline}
.dq .n{color:var(--acc);font-size:14px}
.dq h2{margin:0;font:600 clamp(28px,3.6vw,46px)/1.02 var(--f-disp);letter-spacing:-.03em}
.dq .ans{grid-column:2;margin:10px 0 0;font:500 clamp(18px,1.7vw,22px)/1.35 var(--f-text);color:var(--ink-2)}
.dkr{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;margin:26px 0 0 80px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.dk{background:var(--card);padding:16px 18px}
.dk small{display:block;color:var(--mute);font-size:13px}
.dk b{display:block;font:600 26px/1.15 var(--f-disp);letter-spacing:-.02em;margin-top:6px;transition:opacity var(--t-1)}
.dk.big b{font-size:clamp(34px,3.4vw,44px);color:var(--acc)}
.dk.acc b{color:var(--acc)}
.fade b[data-v],.fade [data-v],.fade [data-a]{opacity:.15}
.dc2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-left:80px}
.dc2 .dc{margin-left:0}
.dc{margin:16px 0 0 80px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--card);min-width:0}
.dc figcaption{color:var(--mute);margin-bottom:14px}
.hint{margin:14px 0 0;font-size:15px;color:var(--ink-2)}
.wl{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;margin:22px 0 0 80px}
.wl h3{margin:0 0 6px;color:var(--mute);font-weight:500;text-transform:uppercase;letter-spacing:.08em}
.wl p{margin:0;color:var(--ink-2);font-size:16px;max-width:52ch}
.wl > div:last-child p{color:var(--ink)}
/* теплова карта */
.heat{display:grid;grid-template-columns:34px repeat(11,minmax(0,1fr));gap:3px;font:500 11px/1 var(--f-mono);color:var(--mute)}
.heat span{display:flex;align-items:center;justify-content:center;height:26px}
.heat .c{border-radius:4px;background:color-mix(in oklab, var(--acc) var(--v), var(--bg-3));transition:background var(--t-3) var(--ease)}
.hleg{display:flex;gap:10px;align-items:center;margin-top:10px;color:var(--mute)}
.hleg i{width:120px;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--bg-3),var(--acc))}
/* лікарі, джерела */
.docs,.src{list-style:none;margin:0;padding:0}
.docs li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0;border-top:1px solid var(--line)}
.docs li:first-child{border-top:0;padding-top:0}
.docs .who span{color:var(--mute);font-size:14px}
.docs .bar{grid-column:1 / -1;order:3}
.docs .sub{grid-column:1 / -1;order:4;color:var(--mute)}
.bar{display:block;height:8px;border-radius:4px;background:var(--bg-2);overflow:hidden}
.bar i{display:block;height:100%;border-radius:4px;background:var(--acc);transition:width var(--t-3) var(--ease)}
.src li{display:grid;grid-template-columns:120px minmax(0,1fr) 36px;gap:12px;align-items:center;padding:7px 0;font-size:15px}
.src li b{text-align:right;font-weight:500}
/* записи */
.fbar{display:flex;height:22px;border-radius:6px;overflow:hidden;gap:2px}
.fbar i{display:block;height:100%;transition:flex-grow var(--t-3) var(--ease)}
.f-done i,.fbar .f-done{background:var(--ok)}
.f-moved i,.fbar .f-moved{background:color-mix(in oklab,var(--acc) 45%,var(--bg-2))}
.f-cancelled i,.fbar .f-cancelled{background:color-mix(in oklab,var(--acc) 75%,var(--bg-2))}
.f-noshow i,.fbar .f-noshow{background:var(--acc-2)}
.fleg{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:15px;color:var(--ink-2)}
.fleg li{display:flex;align-items:center;gap:8px}
.fleg i{width:10px;height:10px;border-radius:3px}
.fleg b{color:var(--ink);font-weight:500}
/* вартість пацієнта */
.tw{overflow-x:auto}
.cost{width:100%;border-collapse:collapse;font-size:15px}
.cost th{text-align:left;font-weight:400;color:var(--ink-2);padding:10px 12px 10px 0}
.cost td{text-align:right;padding:10px 0 10px 12px;white-space:nowrap}
.cost tr+tr th,.cost tr+tr td{border-top:1px solid var(--line)}
/* svg-графіки */
.daily svg,.be svg,.wf svg{display:block;width:100%;height:auto;overflow:visible}
.daily rect{fill:color-mix(in oklab,var(--acc) 70%,var(--bg-2))}
.daily rect.hi{fill:var(--acc)}
.daily text,.be text,.wf text{fill:var(--mute);font:500 10px var(--f-mono)}
.wf text.v{fill:var(--ink);font-size:11px}
.be .ln{fill:none;stroke:var(--acc);stroke-width:2}
.be .fx{stroke:var(--ink-2);stroke-dasharray:4 4;stroke-width:1}
.be .pt{fill:var(--acc)}
.be .ar{fill:color-mix(in oklab,var(--acc) 14%,transparent)}
.be .msg{margin:10px 0 0;font-size:15px;color:var(--ink-2)}
.wf .r0{fill:var(--ink)} .wf .r1{fill:color-mix(in oklab,var(--acc) 55%,var(--bg-2))} .wf .r2{fill:color-mix(in oklab,var(--acc) 80%,var(--bg-2))} .wf .r3{fill:var(--ok)}
.wf .lk{stroke:var(--line);stroke-dasharray:2 3}
/* заклик і тур */
.dcta{margin-top:clamp(64px,11vh,120px);padding:clamp(28px,5vw,56px);border-radius:28px;background:var(--night);color:#EEE9E0;--line:#2E2B27}
.dcta h2{margin:0 0 12px;font:600 clamp(28px,3.6vw,46px)/1.02 var(--f-disp);letter-spacing:-.03em;max-width:20ch}
.dcta p{color:#C3BCB0;max-width:58ch;margin:0}
.dcta .cta{display:flex;gap:16px 24px;align-items:center;flex-wrap:wrap;margin-top:24px}
.dcta .link{color:#EEE9E0}
.dcta .fine{margin-top:28px;color:#8E877C}
.tour{position:fixed;z-index:40;left:50%;bottom:24px;transform:translateX(-50%);width:min(460px,calc(100% - 32px));padding:18px 20px;
  background:var(--card);border:1px solid var(--ink);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.22)}
.tour #tour-n{margin:0 0 6px;color:var(--acc)}
.tour #tour-t{margin:0 0 14px;font-size:16px}
.tour .tb{display:flex;gap:10px;align-items:center}
.tour .tb .sp{flex:1}
.ds.tour-on .dc,.ds.tour-on .dkr{border-color:var(--acc)}

@media (max-width: 900px){
  .phead,.faq{display:block}
  .phead .lead{margin-top:12px}
  .faq h2{margin-bottom:20px}
  .pgrid,.pmore{grid-template-columns:1fr}
  .plab{grid-template-columns:1fr;gap:14px}
  .dkr,.dc,.wl,.dc2{margin-left:0}
  .dc2,.wl{grid-template-columns:1fr}
  .dq{grid-template-columns:1fr}
  .dq .n{margin-bottom:6px}
  .dq .ans{grid-column:1}
  .dbar{top:64px}
  .per{margin-left:0}
}
@media (max-width: 640px){
  .shot{aspect-ratio:4/5}
  .shot .phone{display:none}
  .app{grid-template-columns:48px minmax(0,1fr);gap:14px}
  .app img{width:48px;height:48px}
  .app .go{grid-column:2}
  .dbar{gap:10px}
  .dbar .clin{width:100%}
  .dbar{position:static}
  .dbar .btn{width:100%;justify-content:center}
  .per{width:100%}
  .per button{flex:1;padding:9px 6px}
  .dkr{grid-template-columns:1fr 1fr}
  .dk.big{grid-column:1 / -1;order:-1}
  .heat{grid-template-columns:26px repeat(11,minmax(0,1fr));gap:2px;font-size:9.5px}
  .heat span{height:22px}
  .src li{grid-template-columns:96px minmax(0,1fr) 30px}
  .tour{bottom:12px}
}
@media (prefers-reduced-motion: reduce){
  .win,.phone,.plab .ic img,.bar i,.fbar i,.heat .c,.ds{transition:none!important}
}

/* ═════════════ підсторінки з pages/ (сайти, бот, дашборд, ціни, кейс, блог, політика) ═════════════ */
.doc{padding-top:clamp(28px,6vh,64px);padding-bottom:8px;max-width:calc(780px + 2 * var(--pad))}
.doc .crumbs{font-family:var(--f-mono);font-size:13px;color:var(--mute);margin:0 0 22px}
.doc .crumbs a{color:var(--ink-2);text-decoration:none}
.doc .crumbs a:hover{color:var(--ink)}
.doc .eyebrow{display:inline-block;font:500 12px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}
.doc h1{font:600 clamp(36px,5.4vw,64px)/1.02 var(--f-disp);letter-spacing:-.035em;margin:0 0 18px;text-wrap:balance}
.doc .intro{font-size:clamp(19px,1.8vw,22px);line-height:1.45;color:var(--ink-2);margin:0 0 8px}
.doc .pub,.doc .updated{font:500 13px/1.4 var(--f-mono);color:var(--mute);margin:14px 0 28px}
.doc h2{font:600 clamp(26px,3vw,36px)/1.1 var(--f-disp);letter-spacing:-.025em;margin:clamp(44px,7vh,64px) 0 14px;text-wrap:balance}
.doc h3{font:600 21px/1.25 var(--f-disp);letter-spacing:-.015em;margin:30px 0 8px}
.doc p{margin:0 0 16px;color:var(--ink-2)}
.doc p strong,.doc li strong{color:var(--ink);font-weight:600}
.doc a:not(.btn):not(.btn-demo){color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;text-decoration-thickness:1px}
.doc a:not(.btn):not(.btn-demo):hover{text-decoration-color:var(--acc)}
.doc ul,.doc ol{margin:0 0 18px;padding-left:22px;color:var(--ink-2)}
.doc li{margin:8px 0;padding-left:4px}
.doc li::marker{color:var(--acc)}
.doc table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:15px;display:block;overflow-x:auto}
.doc thead th{font:500 12px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);text-align:left}
.doc th,.doc td{padding:12px 14px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.doc tbody tr:first-child td,.doc tbody tr:nth-child(2) td{font-weight:600;color:var(--ink)}
.doc td:not(:first-child),.doc th:not(:first-child){text-align:center;white-space:nowrap}
.doc code{font-family:var(--f-mono);font-size:.88em;background:var(--bg-2);padding:2px 5px;border-radius:4px}
/* заклик */
.doc .cta-band{margin:clamp(40px,7vh,64px) 0 0;padding:clamp(24px,4vw,36px);border-radius:22px;background:var(--night);color:#EEE9E0}
.doc .cta-band strong{display:block;font:600 clamp(22px,2.6vw,30px)/1.12 var(--f-disp);letter-spacing:-.02em;color:#F3EFE8;max-width:24ch}
.doc .cta-band p{color:#C3BCB0!important;margin:10px 0 0!important;max-width:52ch}
.doc .cta-band .btn{margin-top:20px}
.doc .cta-band .btn.btn-outline{background:transparent;color:#EEE9E0;box-shadow:inset 0 0 0 1px #47433C;margin-left:8px}
.doc .cta-band .btn.btn-outline:hover{box-shadow:inset 0 0 0 1px #EEE9E0}
/* сусідні сторінки */
.doc .pg-nav{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.doc .pg-nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;
  text-decoration:none!important;font-size:15px;color:var(--ink);transition:border-color var(--t-1) var(--ease)}
.doc .pg-nav a:hover{border-color:var(--ink)}
/* блог: список статей */
.doc .post-list{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid var(--line)}
.doc .post-list li{margin:0;padding:0;border-bottom:1px solid var(--line)}
.doc .post-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 20px;padding:20px 0;text-decoration:none!important}
.doc .post-list b{font:600 clamp(20px,2.2vw,24px)/1.2 var(--f-disp);letter-spacing:-.015em;color:var(--ink);transition:color var(--t-1) var(--ease)}
.doc .post-list span{grid-column:1;color:var(--ink-2);font-size:16px}
.doc .post-list em{grid-column:2;grid-row:1;font:500 13px/1.6 var(--f-mono);font-style:normal;color:var(--mute)}
.doc .post-list a:hover b{color:var(--acc)}
/* дашборд: демо-блок і модель */
.doc .demo-panel{margin:28px 0 0;padding:clamp(22px,3.5vw,32px);border-radius:22px;background:var(--night);color:#EEE9E0}
.doc .demo-panel .dp-eyebrow{font:500 11.5px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#E2734F}
.doc .demo-panel h2{color:#F3EFE8;margin:10px 0 0;font-size:clamp(24px,3vw,32px)}
.doc .demo-panel p{color:#C3BCB0;margin:10px 0 0;max-width:58ch}
.doc .demo-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:20px 0 0;background:#2E2B27;border:1px solid #2E2B27;border-radius:14px;overflow:hidden}
.doc .demo-tile{background:#1A1917;padding:14px 16px}
.doc .demo-tile .l{font:500 11px/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#8E877C}
.doc .demo-tile .v{font:600 26px/1.1 var(--f-disp);letter-spacing:-.02em;color:#F3EFE8;margin-top:8px;white-space:nowrap}
.doc .btn-demo{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px;min-height:56px;border-radius:999px;
  background:var(--acc);color:var(--on-acc);font:600 18px/1 var(--f-text);text-decoration:none;transition:background var(--t-1) var(--ease)}
.doc .btn-demo:hover{background:var(--acc-2)}
.doc .btn-demo .arr{transition:transform var(--t-2) var(--ease)}
.doc .btn-demo:hover .arr{transform:translateX(4px)}
.doc .demo-panel p.btn-demo-sub{font:500 12px/1.6 var(--f-mono);color:#8E877C;text-align:center;max-width:none}
.doc .levers{display:grid;gap:10px;margin:20px 0 8px}
.doc .lever{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:end;padding:16px 18px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.doc .lever .ln{font-weight:600;color:var(--ink)}
.doc .lever .lv{font:600 24px/1.1 var(--f-disp);letter-spacing:-.02em;color:var(--acc);text-align:right;white-space:nowrap}
.doc .lever .lv small{display:block;font:500 11px/1.4 var(--f-mono);color:var(--mute);letter-spacing:.02em}
.doc .lever .lb{grid-column:1 / -1;height:8px;background:var(--bg-2);border-radius:4px;overflow:hidden}
.doc .lever .lb i{display:block;height:100%;width:var(--w);border-radius:4px;background:var(--acc)}
.doc .lever .lh{grid-column:1 / -1;font-size:15px;margin:0}
.doc .assump{font:500 12.5px/1.6 var(--f-mono);color:var(--mute)}
.doc + footer{margin-top:clamp(64px,10vh,120px)}
@media (max-width:640px){
  .doc .demo-tiles{grid-template-columns:1fr 1fr}
  .doc .post-list a{grid-template-columns:1fr}
  .doc .post-list em{grid-column:1;grid-row:auto}
  .doc .cta-band .btn.btn-outline{margin-left:0}
  .doc .cta-band .btn{width:100%;justify-content:center}
  .doc th,.doc td{padding-right:10px}
}
