/* RU: Сайт пульта для гостя (С1–С2, 30.10.2026). Токены совпадают с tokens.css (светлая A и тёмная B), шрифты — fonts.css.
   EN: Public site of the pult for guests. Tokens mirror tokens.css (light A, dark B), fonts come from fonts.css. */
:root{
 --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:56px;--sp-16:88px;
 --tap:44px;--dur:.22s;--ease:cubic-bezier(.2,.8,.2,1);
 --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-num:"Manrope","Inter",system-ui,sans-serif;
 --wrap:1160px;
}
[data-theme="light"]{
 color-scheme:light;
 --bg:#f7f8fa;--surface:#fff;--surface-2:#f4f5f8;--surface-3:#eceef3;--line:#e3e6ec;--line-2:#eef0f4;
 --ink:#0b1220;--ink-2:#3c4557;--muted:#5d6577;
 --acc:#5148e6;--acc-ink:#fff;--acc-soft:#efeeff;--acc-soft-ink:#4339c9;--acc-grad:linear-gradient(180deg,#6d65ff,#5148e6);
 --ok:#0a7a55;--ok-soft:#e5f6ee;--warn:#a85200;--warn-soft:#fff3e2;--bad:#c42b30;--bad-soft:#fdecec;
 --ok-fill:#12a26f;--warn-fill:#e08a00;--bad-fill:#e5484d;
 --hero-bg:radial-gradient(1200px 500px at 85% -10%,#3b2fb0 0,transparent 60%),linear-gradient(135deg,#0b1220,#1d1850 60%,#2a2266);
 --hero-ink:#fff;--hero-muted:#c9cde0;--hero-acc:#8ff0c4;--hero-line:rgba(255,255,255,.14);
 --max-bg:#eef1f7;--max-in:#fff;--max-me:#dcd9ff;--avito-bg:#f3f4f6;
 --r-sm:8px;--r:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;
 --sh-1:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);--sh-2:0 2px 4px rgba(16,24,40,.04),0 12px 28px -8px rgba(16,24,40,.14);--sh-3:0 30px 70px -20px rgba(30,20,120,.45);
 --overlay:rgba(11,18,32,.45);--focus:0 0 0 3px #fff,0 0 0 5px #5148e6;
 --note-bg:#fff8db;--note-line:#f0d677;--note-ink:#5a4300;
}
[data-theme="dark"]{
 color-scheme:dark;
 --bg:#08090b;--surface:#0f1114;--surface-2:#15181d;--surface-3:#1d2128;--line:#262a33;--line-2:#1c1f26;
 --ink:#eceef2;--ink-2:#b4bac5;--muted:#8d94a1;
 --acc:#8796ff;--acc-ink:#0b0d12;--acc-soft:#1a1f3a;--acc-soft-ink:#aeb8ff;--acc-grad:linear-gradient(180deg,#9aa7ff,#7f8dfa);
 --ok:#4fd69b;--ok-soft:#0f2a20;--warn:#f7b13e;--warn-soft:#2b210d;--bad:#ff7a73;--bad-soft:#2e1514;
 --ok-fill:#3ecf8e;--warn-fill:#f5a524;--bad-fill:#ff5f56;
 --hero-bg:radial-gradient(1000px 500px at 85% -10%,#2a2f6b 0,transparent 60%),linear-gradient(135deg,#11142a,#0b0c10);
 --hero-ink:#eceef2;--hero-muted:#b4bac5;--hero-acc:#4fd69b;--hero-line:rgba(255,255,255,.1);
 --max-bg:#12151b;--max-in:#1b1f27;--max-me:#272c58;--avito-bg:#15181d;
 --r-sm:7px;--r:10px;--r-lg:14px;--r-xl:18px;--r-pill:999px;
 --sh-1:none;--sh-2:0 8px 24px rgba(0,0,0,.5);--sh-3:0 30px 80px rgba(0,0,0,.65);
 --overlay:rgba(0,0,0,.6);--focus:0 0 0 2px #08090b,0 0 0 4px #8796ff;
 --note-bg:#2a2410;--note-line:#5c4b14;--note-ink:#f3dc8d;
}
*{box-sizing:border-box}
/* RU: hidden сильнее display у кнопок и строк (кабинет прячет «или», Яндекс, «Прислать ещё раз»). EN: hidden beats display. */
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--font);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:var(--acc-soft-ink)}
h1,h2,h3,h4{font-family:var(--font-num);letter-spacing:-.02em;line-height:1.15;margin:0}
p{margin:0}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:6px}
.skip{position:absolute;left:8px;top:-60px;background:var(--ink);color:var(--bg);padding:8px 12px;border-radius:8px;z-index:100}
.skip:focus{top:8px}
.wrap{width:min(var(--wrap),100% - 32px);margin:0 auto}
.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}
.eyebrow{font:600 12px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--acc-soft-ink)}
.lead{font-size:18px;color:var(--ink-2);max-width:62ch}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- кнопки, чипы, поля ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:0 18px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer;text-decoration:none;transition:transform var(--dur) var(--ease),background var(--dur),border-color var(--dur);white-space:nowrap}
.btn:hover{border-color:var(--acc)}
.btn:active{transform:scale(.98)}
.btn.primary{background:var(--acc-grad);border-color:transparent;color:var(--acc-ink);box-shadow:0 6px 18px -6px color-mix(in srgb,var(--acc) 70%,transparent)}
.btn.ghost{background:transparent;border-color:transparent}
.btn.ghost:hover{background:var(--surface-2)}
.btn.light{background:rgba(255,255,255,.1);border-color:var(--hero-line);color:var(--hero-ink)}
.btn.light:hover{background:rgba(255,255,255,.18)}
.btn.sm{min-height:36px;padding:0 12px;font-size:13px;border-radius:var(--r-sm)}
.btn.wide{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:500;cursor:pointer;color:var(--ink-2)}
.chip[aria-pressed="true"],.chip.on{background:var(--acc-soft);border-color:color-mix(in srgb,var(--acc) 40%,transparent);color:var(--acc-soft-ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--r-pill);font-size:12px;font-weight:600;background:var(--surface-3);color:var(--ink-2);white-space:nowrap}
.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.bad{background:var(--bad-soft);color:var(--bad)}.tag.acc{background:var(--acc-soft);color:var(--acc-soft-ink)}
label.f{display:block;font-size:13px;font-weight:600;margin:14px 0 6px;color:var(--ink-2)}
input.in,textarea.in,select.in{width:100%;min-height:var(--tap);padding:10px 12px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);transition:border-color var(--dur)}
textarea.in{min-height:96px;resize:vertical;line-height:1.5}
input.in:focus,textarea.in:focus,select.in:focus{border-color:var(--acc);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 22%,transparent)}
/* RU: Три цифры Главной в ряд на любой ширине. EN: Three home figures in a row at any width. */
.kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kpi{box-shadow:none;padding:14px}
.kpi b{display:block;font:800 26px/1.1 var(--font-num);margin:4px 0 6px}
@media (max-width:640px){.kpi{padding:10px}.kpi b{font-size:20px}.kpi .tag{font-size:11px;padding:2px 6px;white-space:normal}}
@media (max-width:640px){.sw.task{flex-direction:column;align-items:stretch;gap:10px}.sw.task .row{flex-wrap:nowrap}.sw.task select{flex:1}}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.err{color:var(--bad);font-size:13px;min-height:1em;margin-top:8px}
.okmsg{color:var(--ok);font-size:13px;margin-top:8px}

/* ---------- шапка ---------- */
.hdr{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line-2)}
.hdr .wrap{display:flex;align-items:center;gap:16px;height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:800 17px/1 var(--font-num);letter-spacing:-.02em}
.logo{width:32px;height:32px;border-radius:9px;background:var(--acc-grad);display:grid;place-items:center;flex:none}
.logo svg{width:18px;height:18px}
.brand small{display:block;font:500 11px/1.2 var(--font);color:var(--muted);letter-spacing:0;margin-top:3px}
.nav{display:flex;gap:2px;margin-left:12px}
.nav a{padding:8px 12px;border-radius:var(--r-sm);text-decoration:none;color:var(--ink-2);font-weight:500;font-size:14px}
.nav a:hover{background:var(--surface-2);color:var(--ink)}
.nav a[aria-current="page"]{color:var(--ink);background:var(--surface-3)}
.hdr-r{margin-left:auto;display:flex;align-items:center;gap:8px}
.icon-btn{width:40px;height:40px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--ink-2)}
.icon-btn svg{width:18px;height:18px}
.burger{display:none}
.mbar{display:none}
.sheet{position:fixed;inset:0;z-index:70;display:none}
.sheet.open{display:block}
.sheet .bg{position:absolute;inset:0;background:var(--overlay)}
.sheet .panel{position:absolute;right:0;top:0;bottom:0;width:min(340px,88vw);background:var(--surface);padding:20px;display:flex;flex-direction:column;gap:4px;overflow:auto;box-shadow:var(--sh-3)}
.sheet .panel a{padding:14px 12px;border-radius:var(--r);text-decoration:none;color:var(--ink);font-weight:600;font-size:16px}
.sheet .panel a:hover{background:var(--surface-2)}


/* ---------- секции ---------- */
section.sec{padding:var(--sp-16) 0}
.sec-h{display:flex;flex-direction:column;gap:12px;margin-bottom:var(--sp-8);max-width:760px}
.sec-h h2{font-size:clamp(26px,3.6vw,38px)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-1)}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.alt{background:var(--surface);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}

/* ---------- первый экран ---------- */
.hero{background:var(--hero-bg);color:var(--hero-ink);padding:72px 0 88px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--hero-line) 1px,transparent 1px),linear-gradient(90deg,var(--hero-line) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(700px 400px at 20% 30%,#000 0,transparent 70%);-webkit-mask-image:radial-gradient(700px 400px at 20% 30%,#000 0,transparent 70%);opacity:.5;pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;position:relative;z-index:1}
.hero h1{font-size:clamp(34px,5.4vw,60px);font-weight:800;letter-spacing:-.035em}
.hero h1 em{font-style:normal;color:var(--hero-acc)}
.hero .lead{color:var(--hero-muted);margin-top:20px;font-size:19px}
.hero .eyebrow{color:var(--hero-acc)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.trust{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:28px;color:var(--hero-muted);font-size:13.5px}
.trust span{display:inline-flex;align-items:center;gap:7px}
.trust svg{width:16px;height:16px;color:var(--hero-acc);flex:none}

/* телефон с Max */
.phone{width:min(330px,100%);margin:0 auto;border-radius:38px;padding:10px;background:#0a0b10;box-shadow:var(--sh-3),inset 0 0 0 1px rgba(255,255,255,.08)}
.phone .scr{border-radius:30px;overflow:hidden;background:var(--max-bg);color:var(--ink);height:560px;display:flex;flex-direction:column}
.phone .bar{display:flex;align-items:center;gap:10px;padding:16px 16px 10px;background:var(--surface);border-bottom:1px solid var(--line)}
.ava{width:34px;height:34px;border-radius:50%;background:var(--acc-grad);display:grid;place-items:center;color:#fff;font:800 14px/1 var(--font-num);flex:none}
.phone .bar b{font-size:14px;display:block}.phone .bar small{font-size:11.5px;color:var(--ok)}
.feed{flex:1;overflow:auto;padding:14px 12px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.msg{max-width:92%;background:var(--max-in);border-radius:16px 16px 16px 6px;padding:10px 12px;font-size:13.5px;line-height:1.45;box-shadow:var(--sh-1);animation:pop .35s var(--ease) both}
.msg.me{align-self:flex-end;background:var(--max-me);border-radius:16px 16px 6px 16px}
.msg .t{font-size:11px;color:var(--muted);margin-top:4px;text-align:right}
.msg h5{margin:0 0 4px;font:700 13.5px/1.3 var(--font)}
.msg ul{margin:4px 0 0;padding-left:18px}
.kb{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.kb button{flex:1 1 auto;min-height:34px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:12.5px;font-weight:600;cursor:pointer;color:var(--acc-soft-ink);padding:0 10px}
.kb button:hover{border-color:var(--acc)}
.kb button.done{background:var(--ok-soft);color:var(--ok);border-color:transparent}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.typing{display:inline-flex;gap:4px;padding:12px 14px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:blink 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,100%{opacity:.25}50%{opacity:1}}
.phone .inp{display:flex;gap:8px;padding:10px;background:var(--surface);border-top:1px solid var(--line)}
.phone .inp input{flex:1;min-height:38px;border-radius:19px;border:1px solid var(--line);background:var(--surface-2);padding:0 14px;font-size:13.5px}
.phone .inp button{width:38px;height:38px;border-radius:50%;border:0;background:var(--acc-grad);color:#fff;cursor:pointer;display:grid;place-items:center}

/* ---------- смена за минуту ---------- */
.shift{display:grid;grid-template-columns:300px 1fr;gap:0;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:var(--sh-2)}
.steps{padding:24px;border-right:1px solid var(--line);background:var(--surface-2);display:flex;flex-direction:column;gap:6px}
.step{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:var(--r);cursor:pointer;border:1px solid transparent;background:none;text-align:left;width:100%}
.step .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:700 12px/1 var(--font-num);background:var(--surface-3);color:var(--muted);flex:none;transition:all var(--dur)}
.step b{display:block;font-size:14px}.step span{font-size:12.5px;color:var(--muted)}
.step.cur{background:var(--surface);border-color:var(--line);box-shadow:var(--sh-1)}
.step.cur .n{background:var(--acc);color:var(--acc-ink)}
.step.past .n{background:var(--ok-soft);color:var(--ok)}
.stage{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:24px;min-height:420px}
.pane{border-radius:var(--r-lg);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;background:var(--surface)}
.pane-h{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px;font-weight:600}
.pane-h .dot{width:8px;height:8px;border-radius:50%}
.pane-b{flex:1;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--avito-bg)}
.pane.max .pane-b{background:var(--max-bg)}
.bubble{max-width:90%;padding:9px 12px;border-radius:14px;font-size:13.5px;background:var(--surface);box-shadow:var(--sh-1);animation:pop .35s var(--ease) both}
.bubble.out{align-self:flex-end;background:#00aaff;color:#fff}
[data-theme="dark"] .bubble.out{background:#0b6fb0}
.bubble small{display:block;font-size:11px;opacity:.75;margin-top:3px}
.sysline{align-self:center;font-size:12px;color:var(--muted);background:var(--surface);border:1px solid var(--line);padding:4px 10px;border-radius:var(--r-pill);animation:pop .35s var(--ease) both}
.shift-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 24px;border-top:1px solid var(--line)}
.shift-foot .status{margin-left:auto;font-size:13px}
.lock{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:var(--r-pill)}
.lock.closed{background:var(--surface-3);color:var(--ink-2)}
.lock.open{background:var(--ok-soft);color:var(--ok)}

/* ---------- возможности ---------- */
.feat{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink);transition:transform var(--dur) var(--ease),border-color var(--dur),box-shadow var(--dur)}
.feat:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--acc) 45%,var(--line));box-shadow:var(--sh-2)}
.feat .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--acc-soft);color:var(--acc-soft-ink)}
.feat .ic svg{width:22px;height:22px}
.feat h3{font-size:17px}
.feat p{font-size:14px;color:var(--ink-2)}
.feat .lim{font-size:12.5px;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px;margin-top:auto}
.feat .go{font-size:13px;font-weight:600;color:var(--acc-soft-ink)}

/* ---------- день ---------- */
.day{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.day::before{content:"";position:absolute;left:0;right:0;top:22px;height:2px;background:linear-gradient(90deg,var(--acc),var(--hero-acc,#8ff0c4))}
.tick{position:relative;padding-top:48px}
.tick::before{content:"";position:absolute;top:14px;left:0;width:18px;height:18px;border-radius:50%;background:var(--surface);border:3px solid var(--acc)}
.tick b{font:800 20px/1 var(--font-num);display:block}
.tick span{display:block;font-weight:600;margin:6px 0 4px;font-size:14px}
.tick p{font-size:13px;color:var(--muted)}

/* ---------- границы ---------- */
.never li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line-2);font-size:14.5px}
.never li:last-child{border:0}
.never ul{list-style:none;margin:0;padding:0}
.never .x{width:22px;height:22px;border-radius:50%;background:var(--bad-soft);color:var(--bad);display:grid;place-items:center;font-weight:800;font-size:12px;flex:none;margin-top:1px}
.never .v{background:var(--ok-soft);color:var(--ok)}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fact b{font:800 40px/1 var(--font-num);letter-spacing:-.03em;display:block;background:var(--acc-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.fact span{display:block;margin-top:8px;font-size:14px;color:var(--ink-2)}

/* ---------- ступени ---------- */
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.tier{display:flex;flex-direction:column;gap:14px;position:relative;cursor:pointer;transition:border-color var(--dur),box-shadow var(--dur),transform var(--dur) var(--ease)}
.tier:hover{transform:translateY(-2px)}
.tier.sel{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 22%,transparent),var(--sh-2)}
.tier .lvl{font:800 13px/1 var(--font-num);color:var(--muted)}
.tier h3{font-size:24px}
.tier .price{font:700 15px/1.3 var(--font);color:var(--ink-2);padding:10px 12px;border-radius:var(--r);background:var(--surface-2);border:1px dashed var(--line)}
.tier ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.tier li{display:flex;gap:8px}
.tier li::before{content:"✓";color:var(--ok);font-weight:800}
.tier li.no{color:var(--muted)}
.tier li.no::before{content:"—";color:var(--muted)}
.tier .best{position:absolute;top:-11px;right:16px;background:var(--acc-grad);color:var(--acc-ink);font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:var(--r-pill)}
table.cmp{width:100%;border-collapse:collapse;font-size:14px}
table.cmp th,table.cmp td{padding:12px 10px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top}
table.cmp th{font-size:12.5px;color:var(--muted);font-weight:600}
table.cmp td.c{text-align:center}
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ---------- FAQ, помощь ---------- */
details.qa{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin-bottom:10px;overflow:hidden}
details.qa summary{list-style:none;cursor:pointer;padding:16px 18px;font-weight:600;display:flex;gap:12px;align-items:center;min-height:var(--tap)}
details.qa summary::-webkit-details-marker{display:none}
details.qa summary::after{content:"+";margin-left:auto;font-size:20px;color:var(--muted);transition:transform var(--dur)}
details.qa[open] summary::after{transform:rotate(45deg)}
details.qa .a{padding:0 18px 16px;color:var(--ink-2);font-size:14.5px}
mark{background:color-mix(in srgb,var(--warn-fill) 35%,transparent);color:inherit;border-radius:3px;padding:0 1px}
.search{position:relative}
.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}
.search input{padding-left:42px;min-height:52px;font-size:16px;border-radius:var(--r-lg)}

/* ---------- страницы с боковым меню ---------- */
.page-h{padding:48px 0 24px}
.page-h h1{font-size:clamp(30px,4.4vw,46px);font-weight:800;margin-top:10px}
.page-h .lead{margin-top:14px}
.split{display:grid;grid-template-columns:250px 1fr;gap:32px;align-items:start;padding-bottom:var(--sp-16)}
.side{position:sticky;top:84px;display:flex;flex-direction:column;gap:2px}
.side a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r);text-decoration:none;color:var(--ink-2);font-weight:500;font-size:14px}
.side a svg{width:18px;height:18px;flex:none}
.side a:hover{background:var(--surface-2)}
.side a[aria-current="true"]{background:var(--acc-soft);color:var(--acc-soft-ink);font-weight:600}
.fhead{display:flex;gap:14px;align-items:center;margin-bottom:8px}
.fhead .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--acc-soft);color:var(--acc-soft-ink);flex:none}
.fhead .ic svg{width:24px;height:24px}
.fhead h2{font-size:28px}
.how{counter-reset:h;list-style:none;padding:0;margin:16px 0 0;display:grid;gap:10px}
.how li{counter-increment:h;display:flex;gap:12px;align-items:flex-start;font-size:14.5px}
.how li::before{content:counter(h);width:24px;height:24px;border-radius:50%;background:var(--surface-3);display:grid;place-items:center;font:700 12px/1 var(--font-num);flex:none;margin-top:1px}
.demo{margin-top:20px;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);overflow:hidden;box-shadow:var(--sh-2)}
.demo-h{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface-2);font-size:13px;font-weight:600}
.demo-h .tag{margin-left:auto}
.demo-b{padding:18px}
.limits{margin-top:20px;padding:16px 18px;border-radius:var(--r-lg);background:var(--warn-soft);color:var(--ink);font-size:14px}
.limits b{color:var(--warn)}
.limits ul{margin:8px 0 0;padding-left:20px}
.out{margin-top:14px;display:grid;gap:12px}
.draft{padding:14px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);font-size:14.5px;white-space:pre-wrap}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;font-size:13.5px}
.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:500}
.adcard{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.adcard .ph{border-radius:var(--r);background:linear-gradient(135deg,#c7d2fe,#818cf8);aspect-ratio:1;display:grid;place-items:center;color:#fff;font:800 28px/1 var(--font-num)}
.adcard h4{font-size:17px;margin-bottom:4px}
.adcard .pr{font:800 18px/1.2 var(--font-num);margin:4px 0 8px}
.check li{list-style:none;display:flex;gap:8px;font-size:13.5px;padding:3px 0}
.check{padding:0;margin:0}
.doors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.door{padding:14px 10px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);text-align:center;cursor:pointer;font-weight:600;font-size:13.5px;min-height:var(--tap)}
.door .em{font-size:22px;display:block;margin-bottom:6px}
.door[aria-pressed="true"]{background:var(--acc-soft);border-color:var(--acc);color:var(--acc-soft-ink)}
.chart{width:100%;height:auto;display:block}
.chart text{font:11px var(--font);fill:var(--muted)}
.funnel{display:grid;gap:8px;margin-top:14px}
.funnel div{display:flex;align-items:center;gap:10px;font-size:13.5px}
.funnel i{display:block;height:26px;border-radius:7px;background:var(--acc-grad);min-width:6px;transition:width .6s var(--ease)}
.funnel b{font-family:var(--font-num);min-width:56px;text-align:right}
.slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;font-size:12.5px}
.slots .dh{font-weight:700;text-align:center;color:var(--muted);padding-bottom:4px}
.slot{min-height:38px;border-radius:8px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-weight:600;font-size:12.5px}
.slot.busy{background:var(--surface-3);color:var(--muted);cursor:not-allowed;text-decoration:line-through}
.slot[aria-pressed="true"]{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.sw{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-2)}
.sw:last-child{border:0}
.sw b{display:block;font-size:14.5px}.sw span{font-size:13px;color:var(--muted)}
.toggle{width:48px;height:28px;border-radius:14px;background:var(--line);border:0;position:relative;cursor:pointer;flex:none;transition:background var(--dur)}
.toggle::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform var(--dur) var(--ease)}
.toggle::before{content:"";position:absolute;inset:-8px}
.toggle[aria-checked="true"]{background:var(--ok-fill)}
.toggle[aria-checked="true"]::after{transform:translateX(20px)}
.journal{font:12.5px/1.6 ui-monospace,Menlo,monospace;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;max-height:180px;overflow:auto}
.journal div{animation:pop .3s var(--ease) both}

/* ---------- подключение ---------- */
.prog{height:10px;border-radius:5px;background:var(--surface-3);overflow:hidden;margin:16px 0 8px}
.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--acc),var(--ok-fill));transition:width .5s var(--ease)}
.wstep{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:flex-start;padding:18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin-bottom:12px;transition:border-color var(--dur),opacity var(--dur)}
.wstep .num{width:44px;height:44px;border-radius:12px;background:var(--surface-3);display:grid;place-items:center;font:800 17px/1 var(--font-num)}
.wstep.done{border-color:color-mix(in srgb,var(--ok) 40%,var(--line))}
.wstep.done .num{background:var(--ok-soft);color:var(--ok)}
.wstep h3{font-size:16.5px;margin-bottom:4px}
.wstep p{font-size:14px;color:var(--ink-2)}
.wstep .who{margin-top:8px}
.code{font:13px/1.5 ui-monospace,Menlo,monospace;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-top:8px;overflow-x:auto;white-space:pre}

/* ---------- кабинет и вход ---------- */
.authcard{padding:28px}
.modes{display:flex;gap:4px;padding:4px;background:var(--surface-2);border-radius:var(--r);margin-bottom:6px}
.modes button{flex:1;min-height:38px;border:0;border-radius:9px;background:none;font-weight:600;font-size:13.5px;color:var(--muted);cursor:pointer}
.modes button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1)}
.notice{padding:10px 12px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);font-size:13.5px;margin-top:12px}
.notice.ok{background:var(--ok-soft);border-color:transparent;color:var(--ok)}
.notice.warn{background:var(--warn-soft);border-color:transparent;color:var(--warn)}
.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12.5px;margin:16px 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.ya{background:#fc3f1d;border-color:#fc3f1d;color:#fff}
.ya:hover{border-color:#fc3f1d;filter:brightness(1.05)}
.ya[disabled]{background:var(--surface-3);border-color:var(--line);color:var(--muted)}
.mail{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:16px;background:var(--surface)}
.mail-h{padding:10px 14px;background:var(--surface-2);font-size:12.5px;color:var(--muted);border-bottom:1px solid var(--line)}
.mail-b{padding:16px;font-size:14px}
.pwbar{height:6px;border-radius:3px;background:var(--surface-3);margin-top:8px;overflow:hidden}
.pwbar i{display:block;height:100%;width:0;transition:width .3s,background .3s}
.empty{text-align:center;padding:28px 16px;border:1px dashed var(--line);border-radius:var(--r-lg);color:var(--muted);font-size:14px}
.empty .em{font-size:30px;display:block;margin-bottom:6px}
.bullets{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:14px}
.bullets li{display:flex;gap:12px}
.bullets .ic{width:36px;height:36px;border-radius:10px;background:var(--acc-soft);color:var(--acc-soft-ink);display:grid;place-items:center;flex:none}
.bullets .ic svg{width:18px;height:18px}
.bullets b{display:block}
.bullets span{font-size:14px;color:var(--ink-2)}

/* ---------- было/стало ---------- */
.bs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bs .card h3{font-size:15px;margin-bottom:10px}
.bs .was{background:var(--surface-2)}
.mini{border:1px solid var(--line);border-radius:var(--r);padding:16px;background:var(--surface);font-size:13px}
.mini .ml{height:8px;border-radius:4px;background:var(--surface-3);margin:8px 0}
.phase{display:grid;grid-template-columns:72px 1fr auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--line-2);align-items:flex-start}
.phase b.k{font:800 16px/1.2 var(--font-num);color:var(--acc-soft-ink)}
.phase p{font-size:14px;color:var(--ink-2)}

/* ---------- CTA, подвал ---------- */
.cta{border-radius:var(--r-xl);background:var(--hero-bg);color:var(--hero-ink);padding:48px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;position:relative;overflow:hidden}
.cta h2{font-size:clamp(24px,3.2vw,34px)}
.cta p{color:var(--hero-muted);margin-top:10px}
footer.ft{border-top:1px solid var(--line);padding:40px 0 calc(40px + env(safe-area-inset-bottom));font-size:13.5px;color:var(--muted)}
footer.ft .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px}
footer.ft h4{font:700 13px/1 var(--font);color:var(--ink);margin-bottom:12px}
footer.ft a{display:block;color:var(--muted);text-decoration:none;padding:3px 0}
footer.ft a:hover{color:var(--ink)}
footer.ft a.brand{display:flex;color:var(--ink)}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:var(--r);font-size:14px;font-weight:500;opacity:0;pointer-events:none;transition:all var(--dur) var(--ease);z-index:90;max-width:calc(100% - 32px);box-shadow:var(--sh-3)}
.toast.show{opacity:1;transform:translateX(-50%)}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}

/* ---------- адаптив ---------- */
@media (max-width:1080px){
 .nav a{padding:8px 9px;font-size:13.5px}
}
@media (max-width:960px){
 .nav,.hdr-r .hide-m{display:none}
 .burger{display:grid}
 .hero .wrap{grid-template-columns:1fr}
 .hero{padding:48px 0 64px}
 .shift{grid-template-columns:1fr}
 .steps{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:12px;scroll-snap-type:x mandatory}
 .step{min-width:220px;scroll-snap-align:start}
 .g4,.facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .g3,.tiers{grid-template-columns:1fr}
 .day{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}
 .day::before{display:none}
 .split{grid-template-columns:1fr}
 .side{position:static;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:6px;scrollbar-width:none}
 .side a{white-space:nowrap;border:1px solid var(--line);background:var(--surface)}
 footer.ft .wrap{grid-template-columns:1fr 1fr}
 footer.ft .wrap>div:first-child{grid-column:1/-1}
 .hero-cta .btn{flex:1 1 auto}
 .cta{grid-template-columns:1fr;padding:32px}
 section.sec{padding:64px 0}
}
@media (max-width:640px){
 body{font-size:15.5px}
 .g2,.bs{grid-template-columns:1fr}
 .stage{grid-template-columns:1fr;padding:14px;min-height:0}
 .shift-foot{padding:12px 14px}
 .shift-foot .status{margin-left:0;width:100%}
 .doors{grid-template-columns:repeat(3,minmax(0,1fr))}
 .slots{grid-template-columns:repeat(3,minmax(0,1fr))}
 .adcard{grid-template-columns:84px 1fr}
 .day{grid-template-columns:repeat(2,minmax(0,1fr))}
 .phone .scr{height:500px}
 .wstep{grid-template-columns:36px 1fr;}
 .wstep .num{width:36px;height:36px;font-size:15px}
 .wstep .act{grid-column:1/-1}
 .phase{grid-template-columns:56px 1fr}
 .phase .tag{grid-column:2}
 .lead{font-size:16.5px}
 .hero .lead{font-size:17px}
 .authcard{padding:20px}
 .cta{padding:24px}
 .fact b{font-size:32px}
 .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}
 .mbar .btn{flex:1}
 body.has-mbar footer.ft{padding-bottom:110px}
 .toast{bottom:calc(84px + env(safe-area-inset-bottom))}
}

/* ---------- кабинет клиента /account (в стиле сайта) ----------
   RU: Тот же вид, что у сайта: шапка, описание слева, карточка справа; на телефоне — заголовок, карточка, преимущества.
   EN: Same look as the site: header, description left, card right; on phones — title, card, benefits. */
.hdr-links{margin-left:auto;display:flex;gap:6px;align-items:center}
.authwrap{display:grid;grid-template-columns:1fr 440px;gap:40px;align-items:start;padding:40px 0 var(--sp-16)}
.authwrap h1{font-size:clamp(30px,4vw,44px);margin-top:12px}
.authwrap .lead{margin-top:14px}
.authcard>.brand{margin-bottom:6px}
.acc-modes{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 2px}
.link-btn{background:none;border:0;padding:0;color:var(--acc-soft-ink);cursor:pointer;font:inherit;font-size:13.5px;text-decoration:underline;text-underline-offset:3px;min-height:var(--tap)}
.notice.good{background:var(--ok-soft);border-color:transparent;color:var(--ok)}
.stack{display:flex;flex-direction:column;margin-top:12px}
.acc-sub{font-size:17px;margin:22px 0 10px}
.bk-list{display:flex;flex-direction:column;gap:8px}
.bk-item{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;background:var(--surface)}
.bk-item b{display:block;font-size:14.5px}
.bk-item span{display:block;font-size:13px;color:var(--muted)}
.bk-item .btn{flex:none;min-height:36px;padding:0 12px;font-size:13px}
.bk-empty{border:1px dashed var(--line);border-radius:var(--r);padding:16px;text-align:center;color:var(--muted);font-size:14px}
.bk-new{margin-top:10px}
.bk-new>summary{list-style:none;cursor:pointer}
.bk-new>summary::-webkit-details-marker{display:none}
.btn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--line))}
.acc-foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--line-2)}
@media (max-width:960px){
 .authwrap{grid-template-columns:1fr;gap:0;padding-top:28px}
 .authwrap .aside{display:contents}
 .authwrap .bullets,.authwrap .aside>.after{order:2}
 .authwrap .authcard{order:1;margin:20px 0 4px}
}
.acc-go{margin-top:12px}
.authwrap .aside>.after{margin-top:18px}

/* ---------- реквизиты /requisites ----------
   RU: Страница исполнителя: заголовок, карточка «наименование — значение», ссылки на связь и документы; на телефоне — в столбик.
   EN: Provider details page: title, a "name — value" card and contact/document links; stacked on phones. */
.req{padding:40px 0 var(--sp-16)}
.req>*{max-width:860px}
.req h1{font-size:clamp(30px,4vw,44px);margin-top:12px}
.req .lead{margin-top:14px}
.req-card{margin-top:24px;padding:24px}
.req-card h2{font-size:19px;margin-bottom:14px}
.req-list{display:grid;grid-template-columns:minmax(180px,240px) 1fr;margin:0}
.req-list dt,.req-list dd{margin:0;padding:11px 0;border-top:1px solid var(--line-2)}
.req-list dt:first-of-type,.req-list dt:first-of-type+dd{border-top:0}
.req-list dt{color:var(--muted);font-size:14px;padding-right:16px}
.req-list dd{font-weight:600;overflow-wrap:anywhere}
.req-list .mono{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}
.req-links{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;color:var(--ink-2)}
.req-links a{color:var(--acc-soft-ink);font-weight:600}
@media (max-width:640px){
 .req{padding-top:28px}
 .req-card{padding:18px}
 .req-list{grid-template-columns:1fr}
 .req-list dt{padding:12px 0 2px;font-size:13px}
 .req-list dd{border-top:0;padding:0 0 12px}
}

/* ---------- тарифы /tariffs ----------
   RU: Четыре карточки тарифов в ряд (на планшете — по две, на телефоне — столбиком), «Делать» выделен; ниже — правила оплаты.
   EN: Four tariff cards in a row (two on tablets, stacked on phones), "Do" highlighted; payment rules below. */
.req>.tar-grid{max-width:none}
.tar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px;align-items:stretch}
.tar{display:flex;flex-direction:column;padding:22px;position:relative}
.tar.on{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc),var(--sh-1)}
.tar h2{font-size:19px}
.tar-badge{position:absolute;top:-11px;left:20px;margin:0;padding:3px 10px;border-radius:999px;background:var(--acc);color:var(--acc-ink);font-size:12px;font-weight:700}
.tar-price{margin:10px 0 0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.tar-price b{font:800 28px/1.1 var(--font-num);letter-spacing:-.02em;color:var(--ink)}
.tar-price span{color:var(--muted);font-size:13.5px}
.tar-about{margin:10px 0 0;color:var(--ink-2);font-size:14.5px}
.tar-list{margin:14px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink-2);flex:1}
.tar-lim{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line-2);color:var(--muted);font-size:13px}
.tar-cta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
footer.ft a.inl{display:inline;padding:0;text-decoration:underline;text-underline-offset:3px}
@media (max-width:1100px){.tar-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
 .tar-grid{grid-template-columns:1fr;gap:20px}
 .tar-cta .btn{flex:1}
}

/* ---------- оферта, политика и оплата: /offer, /privacy, /pay ----------
   RU: Юридический текст — абзацы с номерами пунктов; форма оплаты — карточки тарифов радиокнопками, поля и галочки согласия.
   EN: Legal text — numbered paragraphs; payment form — tier cards as radio buttons, fields and consent boxes. */
.doc .req-card h2{margin:26px 0 10px}
.doc .req-card h2:first-of-type{margin-top:18px}
.doc .req-card p{margin:0 0 10px;color:var(--ink-2);font-size:15px;line-height:1.6}
.doc .req-card a,.pay a{color:var(--acc-soft-ink);font-weight:600}
.pay-note{margin:16px 0 0;padding:12px 14px;border-radius:var(--r);background:var(--info-soft);color:var(--ink);font-size:14.5px}
.pay-note.warn{background:var(--warn-soft)}
.pay-tiers{border:0;margin:0;padding:0}
.pay-tiers legend{font-weight:700;margin-bottom:10px}
.pay-tier-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pay-tier{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:var(--surface)}
.pay-tier:has(input:checked){border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
.pay-tier input{margin-top:3px;accent-color:var(--acc)}
.pay-tier span{display:flex;flex-direction:column;gap:2px}
.pay-tier em{font-style:normal;color:var(--muted);font-size:14px;font-family:var(--font-num)}
.pay-field{display:flex;flex-direction:column;gap:6px;margin-top:16px;font-size:14px;font-weight:600;flex:1;min-width:0}
.pay-field i{font-style:normal;font-weight:400;color:var(--muted)}
.pay-field input{height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:inherit;font-weight:400;font-size:16px;width:100%}
.pay-field input:focus{outline:2px solid var(--focus);outline-offset:1px}
.pay-row{display:flex;gap:12px}
.pay-check{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:14.5px;color:var(--ink-2);line-height:1.5}
.pay-check input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--acc)}
.pay-err{margin:12px 0 0;color:var(--bad);font-weight:600;min-height:1em}
.pay .req-card .req-list{margin-bottom:6px}
@media (max-width:640px){
 .pay-tier-list{grid-template-columns:1fr}
 .pay-row{flex-direction:column;gap:0}
}
