/* Дешборд продуктовых витрин. Токены и типографика — по прототипу strategy_mmb_web v009 (пак Mass). */
:root{
  --bg:#F8F8F7; --surface:#FFFFFF; --text:#141414; --text-2:#5C5C5C; --divider:#D9D9D6;
  --accent:#199093; --accent-deep:#0C5059; --accent-soft:#BEF8EC; --accent-lime:#A0E720; --warm:#FFE499;
  --good:#2E9E4B; --warn:#E6A317; --bad:#E3524F; --neutral:#8A8A85;
  --me:rgba(190,248,236,.38);
  --brand-sber:#21A038; --brand-alfa:#EF3124; --brand-vtb:#0A2973; --brand-tochka:#7B61FF; --brand-tbank:#FFDD2D; --brand-psb:#F26A21; --brand-other:#8A8A85;
  --fd:"SB Sans Display","SB Sans Text",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --ft:"SB Sans Text","SB Sans Display",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --max:1200px; --pad:48px; --nav-h:60px;
  --hair:1px solid rgba(20,20,20,.12);
  --grad-kpi:linear-gradient(90deg,#8FD91C 0%,var(--accent) 55%,var(--accent-deep) 100%);
  --grad-warn:linear-gradient(90deg,#F5B324 0%,#E8892B 55%,#D9531E 100%);
  --grad-mute:linear-gradient(90deg,#B4B4AF 0%,#8A8A85 55%,#6B6B66 100%);
  --grad-num:linear-gradient(180deg,#5FC0B6 0%,var(--accent) 55%,var(--accent-deep) 100%);
  --ease:cubic-bezier(.2,.7,.2,1);
  --chip-shadow:0 8px 18px rgba(12,80,89,.08);
  /* часы PMM по группам типов проектов; палитра проверена валидатором dataviz (серый «Другое» — намеренно без цвета) */
  --pmm-comm:#7E57C2; --pmm-events:#F29A2E; --pmm-product:#21A19A; --pmm-other:#5E5E59;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--ft);-webkit-font-smoothing:antialiased}
body{font-size:17.5px;line-height:1.55}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
::selection{background:var(--accent-soft)}
h1,h2,h3,h4{font-family:var(--fd)}
p{margin:0}
code{font-family:ui-monospace,Menlo,monospace;font-size:.9em;background:rgba(20,20,20,.06);padding:1px 5px;border-radius:4px}
[hidden]{display:none!important}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.muted{color:var(--text-2)} .small{font-size:14.5px;line-height:1.5}
/* десятая доля у среднего места — мельче: глаз читает целое, десятые различают близкие банки.
   Приглушение — только там, где нет градиентной заливки текста: opacity на потомке рвёт
   background-clip:text, и в крупной цифре шапки знак после запятой становится невидимым. */
small.d2{font-size:.66em;font-weight:inherit}
.rating small.d2,.gs small.d2{opacity:.75}

/* навигация */
#nav{position:sticky;top:0;z-index:10;height:var(--nav-h);background:rgba(248,248,247,.86);backdrop-filter:blur(12px);border-bottom:var(--hair)}
#nav .wrap{display:flex;align-items:center;gap:18px;height:100%}
#nav .brand{display:inline-flex;align-items:center;gap:14px;font-family:var(--fd);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-deep);white-space:nowrap}
#nav .brand img{display:block;height:24px;width:auto}
#nav .brand span{padding-left:14px;border-left:1px solid rgba(20,20,20,.16);line-height:20px}
#nav .sections{display:flex;gap:2px;align-items:center}
#nav .sections a{padding:7px 12px;border-radius:999px;color:var(--text-2);font-weight:600;font-size:13px;white-space:nowrap;transition:background .2s,color .2s}
#nav .sections a:hover{background:rgba(255,255,255,.85);color:var(--text)}
#nav .tools{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:13px;color:var(--text-2)}
/* имя пользователя: подписывает комментарии, правится по клику */
#nav .whoami{display:inline-flex;align-items:center;gap:8px;max-width:240px;height:34px;padding:0 14px 0 5px;border-radius:999px;background:#fff;box-shadow:var(--chip-shadow);font-family:var(--fd);font-weight:600;font-size:13px;color:var(--accent-deep);white-space:nowrap;transition:box-shadow .2s}
#nav .whoami:hover{box-shadow:0 10px 22px rgba(12,80,89,.14)}
#nav .whoami:focus-visible{outline:2px solid var(--accent-soft);outline-offset:1px}
#nav .whoami i{flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--accent-soft);font-style:normal;font-size:12px;display:inline-flex;align-items:center;justify-content:center}
#nav .whoami span{overflow:hidden;text-overflow:ellipsis}
#nav .whoami-edit{width:200px;height:34px;padding:0 14px;border:1px solid var(--accent);border-radius:999px;background:#fff;font-size:13px;color:var(--text);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}

/* типографика */
.kicker{font-family:var(--fd);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600}
h1{margin:20px 0 0;font-size:62px;line-height:1.04;font-weight:300;letter-spacing:-.02em;max-width:960px}
h1 b{font-weight:600}
.deck{margin:22px 0 0;font-size:22px;line-height:1.45;color:var(--text-2);font-weight:300;max-width:780px}
.deck strong{color:var(--text);font-weight:600}
h2{margin:0;font-size:38px;line-height:1.1;font-weight:600;letter-spacing:-.015em;max-width:900px}
h3{margin:0 0 8px;font-size:22px;line-height:1.25;font-weight:600}
.label{font-family:var(--fd);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);font-weight:600}
.ext::after{content:"↗";display:inline-block;margin-left:5px;font-size:.75em;color:var(--accent);transform:translateY(-1px)}
a.ext{color:var(--accent-deep);font-weight:600;border-bottom:1px solid rgba(25,144,147,.35)}
a.ext:hover{border-bottom-color:var(--accent)}

/* сетка */
.hero{position:relative;padding:96px 0 56px;overflow:hidden}
.hero .bg{position:absolute;inset:0;background:radial-gradient(1200px 500px at 85% -10%,rgba(190,248,236,.75),rgba(248,248,247,0) 70%),radial-gradient(800px 420px at 10% 110%,rgba(255,228,153,.55),rgba(248,248,247,0) 70%)}
.hero .wrap{position:relative;z-index:1}
.sec{padding:80px 0 0}
.sec.tight{padding-top:48px}
.runhead{display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:baseline;margin-bottom:28px}
.runhead .n{font-family:var(--fd);font-weight:300;font-size:44px;line-height:1;color:transparent;background:var(--grad-num);-webkit-background-clip:text;background-clip:text}
.runhead h2{max-width:1000px}
.runhead .sub{grid-column:2;margin-top:10px;font-size:19px;color:var(--text-2);font-weight:300;max-width:820px}
.article{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:start}
.aside .note{font-size:15px;line-height:1.5;color:var(--text-2);padding-left:16px;border-left:2px solid rgba(25,144,147,.45);margin-top:18px}
.aside .note b{color:var(--text)}
.pagefoot{margin-top:80px;padding:36px 0 72px;border-top:var(--hair);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.pagefoot .footexport{padding:6px 12px;border-radius:999px;background:rgba(12,80,89,.07);font-family:var(--fd);font-weight:600;font-size:12.5px;color:var(--accent-deep)}
.pagefoot .month{font-family:var(--fd);font-size:13px;color:var(--text-2);letter-spacing:.08em;text-transform:uppercase}

/* цифры */
.figures{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-top:var(--hair);border-bottom:var(--hair);margin:36px 0 0}
.figures .fig{padding:26px 22px 24px 0}
.figures .fig+.fig{padding-left:22px;border-left:var(--hair)}
.fig .v{font-family:var(--fd);font-size:46px;line-height:1;font-weight:600;letter-spacing:-.025em;color:transparent;background:var(--grad-kpi);-webkit-background-clip:text;background-clip:text;white-space:nowrap}
.fig .v .u{font-size:.42em;margin-left:4px;color:var(--accent-deep);-webkit-text-fill-color:var(--accent-deep);font-weight:600}
.fig .l{display:block;margin-top:10px;font-size:14px;line-height:1.4;color:var(--text-2)}
.bigfig{font-family:var(--fd);font-size:80px;line-height:1;font-weight:600;letter-spacing:-.03em;color:transparent;background:var(--grad-kpi);-webkit-background-clip:text;background-clip:text}
.bigfig .u{font-size:.4em;color:var(--accent-deep);-webkit-text-fill-color:var(--accent-deep)}
/* цифра красится по смыслу: находки — тревожным оранжевым, невидимость машине — нейтральным серым */
/* только background-image: сокращённое background сбрасывает background-clip и заливка уходит в фон */
.bigfig.warn{background-image:var(--grad-warn)} .bigfig.warn .u{color:#D9531E;-webkit-text-fill-color:#D9531E}
.bigfig.mute{background-image:var(--grad-mute)} .bigfig.mute .u{color:#6B6B66;-webkit-text-fill-color:#6B6B66}

/* светофор и банки */
.dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex:0 0 12px;box-shadow:0 0 0 3px rgba(255,255,255,.95),0 2px 6px rgba(0,0,0,.14);vertical-align:middle}
.dot.good{background:var(--good)} .dot.warn{background:var(--warn)} .dot.bad{background:var(--bad)} .dot.none{background:var(--neutral)}
.bank{display:inline-flex;align-items:center;gap:10px;font-family:var(--fd);font-weight:600;font-size:16px;white-space:nowrap}
.bank i{width:14px;height:14px;border-radius:4px;display:inline-block;flex:0 0 14px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.bank.sber i{background:var(--brand-sber)} .bank.alfa i{background:var(--brand-alfa)} .bank.vtb i{background:var(--brand-vtb)}
.bank.tochka i{background:var(--brand-tochka)} .bank.tbank i{background:var(--brand-tbank)} .bank.psb i{background:var(--brand-psb)} .bank.other i{background:var(--brand-other)}

/* карта рынка */
.map{position:relative;width:100%;aspect-ratio:16/10;max-height:560px}
.mapfoot{margin-top:24px;max-width:940px;font-size:15.5px;line-height:1.55;color:var(--text-2)}
.mapfoot b{font-family:var(--fd);color:var(--text)}
.map svg{width:100%;height:100%;display:block;overflow:visible}
.map .axis{stroke:rgba(20,20,20,.25);stroke-width:1}
.map .grid{stroke:rgba(20,20,20,.07);stroke-width:1}
.map .lbl{font-family:var(--fd);font-size:21px;font-weight:600;fill:var(--text-2);letter-spacing:.08em}
.map .bl{font-family:var(--fd);font-size:15px;font-weight:600;fill:var(--text)}
.map .bv{font-family:var(--ft);font-size:12.5px;fill:var(--text-2)}
.map circle.b{stroke:#fff;stroke-width:3;filter:drop-shadow(0 8px 14px rgba(12,80,89,.22))}
.map circle.b.me{stroke:var(--accent-lime);stroke-width:4}
.map .lead{stroke:rgba(20,20,20,.3);stroke-width:1}
.mapnotes{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:22px}
.mapnotes p{font-size:16px;line-height:1.5}
.rhead{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.rscope{font-size:13px;color:var(--neutral)}
.rating{width:100%;border-collapse:collapse;font-size:14px;margin-top:10px}
.rating td.dim{color:var(--text-2);font-weight:400}
.rating td.lpx{font-size:17px;letter-spacing:-.01em}
.rating th{font-family:var(--fd);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);font-weight:600;text-align:right;padding:6px 8px 8px 0;border-bottom:var(--hair)}
.rating th:first-child,.rating td:first-child{text-align:left;padding-left:8px;min-width:130px}
.rating td{padding:8px 8px 8px 0;border-bottom:var(--hair);text-align:right;font-variant-numeric:tabular-nums;vertical-align:middle}
.rating td.num{font-family:var(--fd);font-weight:600}
.rating tr.me td{background:var(--me)}
.rating .pos{font-family:var(--fd);color:var(--text-2);font-weight:600;padding-right:8px}

/* линзы */
.lens{display:flex;flex-direction:column;gap:14px}
.lens .lr{display:grid;grid-template-columns:218px 1fr;gap:6px 18px;align-items:center;padding:12px 0;border-bottom:var(--hair)}
.lens .ln{font-family:var(--fd);font-weight:600;font-size:16.5px}
.lens .ln .nm{display:block;line-height:1.25}
/* цвет подписи — место нашего банка по линзе; рядом то же место словами, чтобы читалось и без цвета */
.lens .ln .pl{display:block;font-family:var(--ft);font-weight:600;font-size:12px;margin-top:3px}
.lens .ln small{display:block;font-family:var(--ft);font-weight:400;font-size:12.5px;line-height:1.4;color:var(--text-2);margin-top:5px}
.lens .p1{color:#1F7A38} .lens .p23{color:#9A6400} .lens .p46{color:#B8302D}
.lens .lr.mr{margin-top:18px;border-top:2px solid rgba(20,20,20,.12);padding-top:22px}
.lens .lb{display:flex;flex-direction:column;gap:3px}
.lens .bar3{display:grid;grid-template-columns:118px 1fr 34px;gap:10px;align-items:center}
.lens .bar3 .w{font-size:12.5px;line-height:1.3;color:var(--text-2);text-align:right}
.lens .bar3 .w em{display:block;font-style:normal;font-size:10.5px;letter-spacing:.02em;color:var(--neutral)}
/* тонкий контур: светлые фирменные цвета (жёлтый Т-Банка) иначе теряются на белом */
.lens .bar3 i{display:block;height:11px;width:var(--w);border-radius:6px;background:var(--brand-sber);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:width 1.2s var(--ease)}
.lens .bar3.mk i{background:rgba(20,20,20,.22)}
.lens .bar3 b{font-family:var(--fd);font-weight:600;font-size:14px;font-variant-numeric:tabular-nums;text-align:right}
.lens .bar3.mk b{color:var(--text-2);font-weight:400}
.lenslegend{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--text-2);margin-top:14px}
.lenslegend i{display:inline-block;width:28px;height:10px;border-radius:5px;vertical-align:middle;margin-right:10px}
.lenslegend i.sb{background:var(--brand-sber)}
.lenslegend i.mk{background:rgba(20,20,20,.22);height:7px}
.lenslegend i.bs{background:linear-gradient(90deg,var(--brand-vtb) 0 33%,var(--brand-tochka) 33% 66%,var(--brand-alfa) 66%)}
#lens-figs .bigfig{margin-top:26px}
#lens-figs .note{font-size:15px;line-height:1.5;color:var(--text-2);padding-left:16px;border-left:2px solid rgba(25,144,147,.45);margin-top:8px}
#lens-figs .note b{color:var(--text)}

/* панель управления */
.controls{position:relative;z-index:6;display:flex;flex-direction:column;gap:14px;margin-top:8px;padding:18px 22px;border-radius:18px;background:rgba(255,255,255,.55);box-shadow:0 10px 26px rgba(12,80,89,.06)}
.controls .row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.controls .legend-sw{margin-left:auto}
.controls #dd-state{margin-left:auto}
.controls .count{font-size:13px;color:var(--text-2);white-space:nowrap;margin-left:10px}
/* выпадающий список: белая пилюля со стрелкой, меню — обычным начертанием */
.dd{position:relative}
.dd-btn{display:inline-flex;align-items:center;gap:12px;height:36px;padding:0 14px 0 16px;border-radius:999px;background:#fff;box-shadow:var(--chip-shadow);font-family:var(--fd);font-weight:600;font-size:13px;color:var(--accent-deep);white-space:nowrap;transition:box-shadow .2s}
.dd-btn:hover{box-shadow:0 10px 22px rgba(12,80,89,.14)}
.dd-btn:focus-visible{outline:2px solid var(--accent-soft);outline-offset:1px}
.dd-btn[aria-expanded="true"]{box-shadow:var(--chip-shadow),0 0 0 2px var(--accent-soft)}
.dd-val{display:grid;text-align:left}
.dd-val>span{grid-area:1/1}
.dd-val>span[aria-hidden]{visibility:hidden}
.dd .chev{width:7px;height:7px;flex:0 0 7px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s var(--ease)}
.dd-btn[aria-expanded="true"] .chev{transform:translateY(2px) rotate(225deg)}
.dd.wide .dd-btn{min-width:250px;justify-content:space-between}
/* переключатель проверок в шапке: меню открывается от правого края, чтобы не уходить за экран */
.dd.run .dd-btn{height:34px}
.dd.run .dd-menu{left:auto;right:0}
/* полоса архива — под шапкой, всегда на виду */
.archbar{position:sticky;top:var(--nav-h);z-index:9;background:#FFF4D6;border-bottom:1px solid rgba(154,100,0,.28);font-size:14px;color:#5C4300}
.archbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.archbar b{font-family:var(--fd);color:#3F2E00}
.archbar a{font-family:var(--fd);font-weight:600;font-size:13px;color:var(--accent-deep);white-space:nowrap;padding:6px 14px;border-radius:999px;background:#fff;box-shadow:var(--chip-shadow)}
.dd-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:max(100%,190px);z-index:20;display:flex;flex-direction:column;padding:6px;border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(12,80,89,.16),0 0 0 1px rgba(20,20,20,.05);animation:dd-in .16s var(--ease)}
@keyframes dd-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.dd-cap{font-family:var(--fd);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);font-weight:600;padding:6px 10px 4px 30px}
.dd-menu [role="option"]{position:relative;text-align:left;padding:7px 12px 7px 30px;border-radius:9px;font-family:var(--ft);font-weight:400;font-size:14px;line-height:1.35;color:var(--text);white-space:nowrap;transition:background .15s}
.dd-menu [role="option"]:hover,.dd-menu [role="option"]:focus-visible{background:rgba(12,80,89,.07);outline:none}
.dd-menu [role="option"][aria-selected="true"]{color:var(--accent-deep)}
.dd-menu [role="option"][aria-selected="true"]::before{content:"";position:absolute;left:12px;top:50%;width:9px;height:5px;border-left:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:translateY(-75%) rotate(-45deg)}
/* стрелка сортировки: серая «–» в покое, белая со стрелкой, когда сортировка включена */
.dir{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:rgba(20,20,20,.055);color:var(--accent-deep);display:inline-flex;align-items:center;justify-content:center;transition:background .2s,box-shadow .2s}
.dir:hover{background:rgba(12,80,89,.12)}
.dir.on{background:#fff;box-shadow:var(--chip-shadow)}
.dir:focus-visible{outline:2px solid var(--accent-soft);outline-offset:1px}
.dir svg{display:block}
.search{display:inline-flex;align-items:center;gap:8px;flex:0 1 420px;min-width:0;padding:0 16px;height:36px;border-radius:999px;background:#fff;box-shadow:var(--chip-shadow);color:var(--text-2)}
.search input{flex:1;min-width:0;border:0;background:none;font-size:14px;outline:none;color:var(--text)}
.search input::placeholder{color:var(--text-2)}
.search:focus-within{box-shadow:var(--chip-shadow),0 0 0 2px var(--accent-soft)}
.legend-sw{display:flex;gap:18px;flex-wrap:wrap;font-size:13.5px;color:var(--text-2)}
.legend-sw i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle;margin-right:8px}

/* разделы и карточки */
.psections{margin-top:34px}
.group{padding:22px 0 12px;border-top:var(--hair)}
.group.bare{border-top:0;padding-top:0}
.group .gh{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;margin-bottom:16px;cursor:pointer}
.group .gh h4{margin:0;font-family:var(--fd);font-size:20px;font-weight:600}
.group .gt{display:inline-flex;align-items:center;gap:12px;text-align:left;font-weight:inherit;color:var(--text);transition:color .2s}
.group .gh:hover .gt{color:var(--accent-deep)}
.group .gt:focus-visible{outline:2px solid var(--accent-soft);outline-offset:4px;border-radius:6px}
.group .gt .chev{width:8px;height:8px;flex:0 0 8px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:translateY(-3px) rotate(45deg);transition:transform .2s var(--ease)}
.group.shut{padding-bottom:22px}
.group.shut .gh{margin-bottom:0}
.group.shut .gt .chev{transform:rotate(-45deg)}
.group.shut .pgrid{display:none}
.gs{display:flex;gap:16px;align-items:baseline;font-size:13.5px;color:var(--text-2);white-space:nowrap}
.gs b{font-family:var(--fd);font-size:18px;color:var(--text)}
/* итоги раздела — колонками одной ширины, чтобы цифры стояли друг под другом */
.gs .c{display:inline-block;text-align:right}
.gs .c-place{min-width:86px}
.gs .c-cx,.gs .c-mr{min-width:60px}
.gs .c-pmm{min-width:196px;text-align:left}
.gs .c-n{min-width:240px;text-align:left}
/* часы PMM раздела — та же зелёная плашка, что на карточке */
.gs .pmmg{display:inline-flex;align-items:baseline;gap:6px;padding:3px 11px 4px;border-radius:999px;background:rgba(33,160,56,.08);box-shadow:inset 0 0 0 1px rgba(33,160,56,.3);font-size:12.5px;line-height:1.3}
.gs .pmmg b{font-size:14px;font-weight:600;color:#1F7A38}
.gs .dots{display:inline-flex;gap:4px;align-items:center;margin-left:6px;vertical-align:1px}
.gs .dots i{width:8px;height:8px;border-radius:50%}
.gs .bar{display:inline-flex;gap:2px;width:140px;height:8px;margin-left:6px;border-radius:4px;overflow:hidden;vertical-align:1px}
.gs .bar i{display:block;height:100%}
.group .empty{font-size:15px;color:var(--text-2);padding:6px 0 14px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pcard{position:relative;border-radius:16px;background:rgba(255,255,255,.66);box-shadow:0 10px 26px rgba(12,80,89,.06);padding:16px 18px 14px 20px;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s,background .25s;overflow:hidden}
.pcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px}
.pcard.good::before{background:var(--good)}
.pcard.warn::before{background:var(--warn)}
.pcard.bad::before{background:var(--bad)}
.pcard.none::before{background:var(--neutral)}
.pcard:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(12,80,89,.12);background:rgba(255,255,255,.92)}
.pcard.open{grid-column:1/-1;cursor:default;background:rgba(255,255,255,.94);transform:none}
.pcard .top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.pcard .nm{font-family:var(--fd);font-weight:600;font-size:16px;line-height:1.25}
.pcard .sc{text-align:right;white-space:nowrap}
.pcard .pl{font-family:var(--fd);font-size:30px;font-weight:300;line-height:1;font-variant-numeric:tabular-nums}
.pcard .pl small{font-size:13px;font-weight:400;color:var(--text-2);margin-left:1px}
.pcard .pl.none{color:var(--text-2)}
.pcard .pl.nc{font-family:var(--ft);font-size:12.5px;font-weight:400;line-height:1.3;color:var(--text-2);padding-top:6px}
.pcard .ncnote{margin-bottom:16px;padding:9px 12px;border-radius:10px;background:rgba(20,20,20,.035);font-size:13.5px;line-height:1.45;color:var(--text-2)}
.pcard .sub{font-family:var(--fd);font-size:13px;color:var(--text-2);margin-top:6px;font-variant-numeric:tabular-nums}
.pcard .sub b{color:var(--text);font-weight:600}
.pcard .sub b.zero{color:#B8302D}
.pcard .rs{font-size:13.5px;color:var(--text-2);margin-top:10px;line-height:1.4}
.pcard .rs.ok{color:#1F7A38}
.pcard .more{margin-top:10px;font-family:var(--fd);font-size:12.5px;font-weight:600;color:var(--accent-deep);display:flex;align-items:center;gap:6px}
.pcard .more .tg{width:18px;height:18px;border-radius:50%;background:rgba(12,80,89,.08);display:inline-flex;align-items:center;justify-content:center;font-size:12px;transition:transform .25s}
.pcard.open .more .tg{transform:rotate(45deg)}
.pcard .more .tk{margin-left:auto;font-family:var(--ft);font-weight:400;color:var(--text-2)}
.pcard .body{display:none;margin-top:14px;padding-top:14px;border-top:var(--hair)}
.pcard.open .body{display:block}
.pcard.open .pgrid2{display:grid;grid-template-columns:5fr 7fr;gap:28px}
.pcard .ctab{width:100%;border-collapse:collapse;font-size:14px}
.pcard .ctab th{font-family:var(--fd);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);font-weight:600;text-align:left;padding:0 10px 6px 0;border-bottom:var(--hair)}
.pcard .ctab th:first-child,.pcard .ctab td:first-child{padding-left:10px;min-width:120px}
.pcard .ctab td{padding:8px 10px 8px 0;border-bottom:var(--hair);vertical-align:middle;line-height:1.35}
.pcard .ctab td.num{font-family:var(--fd);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.pcard .ctab td.mrn{font-family:var(--fd);white-space:nowrap;color:var(--text-2);font-variant-numeric:tabular-nums}
.pcard .ctab td.pln{font-family:var(--fd);white-space:nowrap;font-variant-numeric:tabular-nums}
.pcard .ctab td.pln small{color:var(--text-2);font-weight:400}
.pcard .ctab tr{cursor:pointer}
.pcard .ctab tr.me td{background:var(--me)}
.pcard .ctab tr.sel td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.pcard .ctab .lk{font-family:var(--fd);font-size:13px;font-weight:600;color:var(--accent-deep)}
.pcard .ctab .nopage{color:var(--text-2);font-size:13px}
.pcard .sees{font-size:13.5px;line-height:1.45;color:var(--text-2);padding:10px 12px;border-radius:10px;background:rgba(20,20,20,.035);margin-bottom:12px}
.pcard .sees b{color:var(--text);font-family:var(--fd);font-size:12px;letter-spacing:.04em;display:block;margin-bottom:3px}
/* итог обсуждения — в конце общего описания, отделён волосяной линией */
.pcard .sees .sum{margin-top:10px;padding-top:9px;border-top:var(--hair)}
.pcard .sees .sum p+p{margin-top:6px}
.pcard .sees .sum .when{margin-right:8px;font-family:var(--fd);font-size:12px;color:var(--neutral)}
.pcard .hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.pcard .hd .label{margin:0}
.pcard .hd .sw{font-size:12px;color:var(--text-2)}

/* часы PMM */
.k-comm{background:var(--pmm-comm)} .k-events{background:var(--pmm-events)} .k-product{background:var(--pmm-product)} .k-other{background:var(--pmm-other)}
.pcard .demo{display:inline-block;margin-left:8px;padding:0 7px;border-radius:999px;background:var(--warm);color:#7A5600;font-family:var(--fd);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:17px;vertical-align:1px}
/* свёрнутая карточка: часы с начала года и прирост под оценкой; в раскрытой их заменяет бублик */
.pcard .pmmw{display:inline-flex;align-items:baseline;gap:6px;margin-top:9px;padding:3px 10px 4px;border-radius:999px;background:rgba(33,160,56,.08);box-shadow:inset 0 0 0 1px rgba(33,160,56,.3);font-size:12.5px;line-height:1.3}
.pcard .pmmw b{font-family:var(--fd);font-size:14px;font-weight:600;color:#1F7A38}
.pcard.open .pmmw{display:none}
/* раскрытая карточка: бублик и типы проектов */
.pcard .pmmbox{margin-bottom:20px;padding-bottom:20px;border-bottom:var(--hair)}
.pcard .pmmbox .per{margin-left:10px;font-family:var(--ft);font-size:12.5px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--text-2)}
.pcard .pmmrow{display:grid;grid-template-columns:160px minmax(0,1fr);gap:36px;align-items:center;margin-top:14px}
.pcard .donut{position:relative;width:160px;height:160px}
.pcard .donut svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}
.pcard .donut circle{fill:none;stroke-width:18}
.pcard .donut circle.track{stroke:rgba(20,20,20,.05)}
.pcard .donut circle.k-comm{stroke:var(--pmm-comm)} .pcard .donut circle.k-events{stroke:var(--pmm-events)} .pcard .donut circle.k-product{stroke:var(--pmm-product)} .pcard .donut circle.k-other{stroke:var(--pmm-other)}
.pcard .donut circle[class^="k-"]{background:none;transition:stroke-width .15s}
.pcard .donut circle[class^="k-"]:hover{stroke-width:22}
.pcard .donut .ctr{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}
.pcard .donut .big{font-family:var(--fd);font-weight:600;line-height:1;letter-spacing:-.02em;color:transparent;background:var(--grad-kpi);-webkit-background-clip:text;background-clip:text;white-space:nowrap}
.pcard .donut .big .u{margin-left:3px;font-size:.5em;color:var(--accent-deep);-webkit-text-fill-color:var(--accent-deep)}
.pcard .pmmdesc{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px 32px;align-content:center}
.pcard .pmmdesc .gh{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:baseline;padding-bottom:5px;border-bottom:var(--hair);font-size:13.5px}
.pcard .pmmdesc .gh i{width:9px;height:9px;border-radius:2px;align-self:center}
.pcard .pmmdesc .gh span{font-family:var(--fd);font-weight:600;color:var(--text)}
.pcard .pmmdesc .gh b{font-family:var(--fd);font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}
.pcard .pmmdesc .gh em{min-width:34px;font-style:normal;text-align:right;color:var(--text-2);font-variant-numeric:tabular-nums}
.pcard .pmmdesc ul{margin:6px 0 0;padding:0 0 0 17px;list-style:none}
.pcard .pmmdesc li{display:flex;justify-content:space-between;gap:12px;padding:2px 0;font-size:12.5px;color:var(--text-2)}
.pcard .pmmdesc li em{font-style:normal;white-space:nowrap;font-variant-numeric:tabular-nums}

/* находки и обсуждение */
.pcard .fl{font-size:13.5px;line-height:1.45}
.pcard .fl .f{padding:12px 0 14px;border-bottom:var(--hair)}
.pcard .fl .f b.ttl{font-family:var(--fd);font-size:12px;color:var(--accent-deep);letter-spacing:.04em;display:block;margin-bottom:4px}
.pcard .fl .f .sv{margin-left:6px;color:#fff;background:var(--neutral);border-radius:999px;padding:0 7px;font-size:11px}
.pcard .fl .f .sv.s1{background:var(--warn)} .pcard .fl .f .sv.s2{background:#E0783E} .pcard .fl .f .sv.s3{background:var(--bad)}
.pcard .fl .f .gain{margin-left:8px;font-family:var(--ft);font-size:11.5px;font-weight:400;color:var(--text-2);letter-spacing:0;font-variant-numeric:tabular-nums}
.pcard .fl .ev{color:var(--text)}
.pcard .fl .cq{color:var(--text-2);margin-top:3px}
.pcard .fl .fx{margin-top:6px;color:var(--accent-deep);font-weight:600}
.pcard .fl .talk{margin-top:12px}
.pcard .fl .tb{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pcard .fl .tb button{padding:5px 12px;border-radius:999px;font-family:var(--fd);font-weight:600;font-size:12px;color:var(--accent-deep);background:rgba(12,80,89,.07);transition:background .2s}
.pcard .fl .tb button:hover{background:rgba(12,80,89,.13)}
.pcard .fl .tb button.ghost{background:none;color:var(--text-2)}
.pcard .fl .tb button.ghost:hover{color:var(--accent-deep)}
.pcard .fl .tl{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.pcard .fl .c{font-family:var(--fd);font-size:13px;line-height:1.4;padding:8px 12px;border-radius:12px;background:rgba(20,20,20,.04)}
.pcard .fl .c .who{font-weight:600;color:var(--accent-deep)}
.pcard .fl .c .when{font-size:11.5px;color:var(--text-2);margin-left:6px;font-family:var(--ft)}
.pcard .fl .c.local .when::after{content:" · не отправлено"}
.pcard .fl .c .tx{margin-top:2px;color:var(--text)}
.pcard .fl .add{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.pcard .fl .add .line{display:flex;gap:8px;align-items:flex-start}
.pcard .fl .add .who{width:220px;max-width:100%;padding:7px 12px;border:1px solid var(--divider);border-radius:999px;background:#fff;font-size:13px}
.pcard .fl .add .who:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}
.pcard .fl .add textarea{flex:1;min-height:40px;padding:9px 12px;border:1px solid var(--divider);border-radius:12px;background:#fff;font-size:13px;line-height:1.4;resize:vertical}
.pcard .fl .add textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}
.pcard .fl .add .adderr{font-size:12.5px;color:#B8302D}
.pcard .fl .add button:disabled{opacity:.6;cursor:progress}
.pcard .fl .add button{padding:9px 14px;border-radius:999px;background:linear-gradient(135deg,#0F6C74,var(--accent-deep));color:#fff;font-family:var(--fd);font-weight:600;font-size:12.5px;white-space:nowrap}
.hidden-note{margin-top:40px;font-size:14px;color:var(--text-2)}
.hidden-note summary{cursor:pointer;font-family:var(--fd);font-weight:600;color:var(--accent-deep)}
.hidden-note ul{margin:8px 0 0;padding-left:20px}
.hidden-note li{margin:4px 0}

/* вход: четыре клетки кода и имя */
.locked #nav{display:none}
.gate{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--bg);overflow:auto}
.gate .bg{position:absolute;inset:0;background:radial-gradient(1000px 520px at 85% -10%,rgba(190,248,236,.75),rgba(248,248,247,0) 70%),radial-gradient(800px 420px at 10% 110%,rgba(255,228,153,.55),rgba(248,248,247,0) 70%)}
.gcard{position:relative;width:100%;max-width:440px;margin:auto;padding:34px 34px 30px;border-radius:24px;background:rgba(255,255,255,.74);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 24px 60px rgba(12,80,89,.12);text-align:center}
.gcard .glogo{display:block;height:30px;width:auto;margin:0 auto 22px}
.gcard h2{margin-top:10px;font-size:30px}
.gcard .gsub{margin-top:10px;font-size:15px;line-height:1.5;color:var(--text-2)}
.gcard .glabel{margin-top:26px}
.code{display:flex;justify-content:center;gap:12px;margin-top:12px}
.code input{width:58px;height:68px;padding:0;border:1px solid rgba(20,20,20,.14);border-radius:14px;background:#fff;text-align:center;font-family:var(--fd);font-size:30px;font-weight:600;color:var(--accent-deep);text-transform:uppercase;caret-color:var(--accent);box-shadow:0 6px 16px rgba(12,80,89,.06);transition:border-color .15s,box-shadow .15s}
.code input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.gate.err .code input{border-color:var(--bad)}
.code.shake{animation:gate-shake .4s}
@keyframes gate-shake{20%{transform:translateX(-8px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}
.gname{display:block;margin-top:22px;text-align:left}
.gname .label{display:block;margin-bottom:8px;text-align:center}
.gname input{width:100%;height:44px;padding:0 18px;border:1px solid var(--divider);border-radius:999px;background:#fff;font-size:15px;text-align:center}
.gname input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.gerr{min-height:22px;margin-top:12px;font-size:13.5px;color:#B8302D}
.gbtn{width:100%;height:46px;margin-top:6px;border-radius:999px;background:linear-gradient(135deg,#0F6C74,var(--accent-deep));color:#fff;font-family:var(--fd);font-weight:600;font-size:15px;box-shadow:0 10px 22px rgba(12,80,89,.2);transition:transform .15s}
.gbtn:hover{transform:translateY(-1px)}
.gbtn:disabled{opacity:.6;cursor:progress;transform:none}
.gbtn:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}

/* загрузка */
.loading{padding:160px 0}
.loading input{margin-left:8px}

/* фокус маркетинга (раздел 04) */
#focus .fblock + .fblock{margin-top:40px}
#focus .label{margin-bottom:12px;display:block}
#focus .fbar{display:flex;gap:2px;height:18px;border-radius:9px;overflow:hidden}
#focus .fbar i{display:block;min-width:2px;border-radius:2px}
#focus .flegend{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 24px;margin-top:16px;font-size:14.5px}
#focus .flegend span{display:flex;align-items:baseline;gap:8px}
#focus .flegend i{width:10px;height:10px;border-radius:3px;flex:0 0 10px;align-self:center}
#focus .flegend b{font-family:var(--fd);font-weight:600}
#focus .flegend em{font-family:var(--fd);font-style:normal;font-weight:600;color:var(--accent-deep);margin-left:auto}
#focus .flegend .h{color:var(--neutral);font-size:13px;min-width:56px;text-align:right}
#focus .fbars{display:flex;flex-direction:column;gap:9px}
#focus .fb{display:grid;grid-template-columns:210px 1fr 40px;gap:14px;align-items:center}
#focus .fb .n{font-size:14.5px;line-height:1.3;text-align:right;color:var(--text)}
#focus .fb i{display:block;height:14px;width:var(--w);border-radius:7px;background:linear-gradient(90deg,#5FC0B6,var(--accent));box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);transition:width 1.2s var(--ease)}
#focus .fb b{font-family:var(--fd);font-weight:600;font-size:14.5px;font-variant-numeric:tabular-nums;text-align:right}
#focus .fbar i.k-comm,#focus .flegend i.k-comm{background:var(--pmm-comm)}
#focus .fbar i.k-events,#focus .flegend i.k-events{background:var(--pmm-events)}
#focus .fbar i.k-product,#focus .flegend i.k-product{background:var(--pmm-product)}
#focus .fbar i.k-other,#focus .flegend i.k-other{background:var(--pmm-other)}
#focus .ffoot{margin-top:14px;font-size:12.5px;line-height:1.5;color:var(--neutral)}
#focus .aside .note p+p{margin-top:12px}
#focus .aside .note .small{font-size:13px;color:var(--neutral)}

/* аккордеон разделов «Фокус маркетинга» и «Методика»: раздел свёрнут в <details> и раскрывается
   по щелчку или по ссылке из меню и подвала. Остальное в разделе методики — под #method, чтобы
   имена классов не пересекались с остальной страницей. */
.macc>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}
.macc>summary::-webkit-details-marker{display:none}
.macc>summary:focus-visible{outline:2px solid var(--accent-soft);outline-offset:6px;border-radius:14px}
.macc>summary .runhead{margin-bottom:0}
.macc:not([open])>summary:hover .mopen{background:rgba(12,80,89,.13)}
.mopen{display:inline-flex;align-items:center;gap:9px;margin-top:8px;padding:8px 16px;border-radius:999px;background:rgba(12,80,89,.08);font-family:var(--fd);font-weight:600;font-size:13px;color:var(--accent-deep);white-space:nowrap;transition:background .2s}
.mopen::after{content:"Раскрыть"}
.macc[open] .mopen::after{content:"Свернуть"}
.mopen .chev{width:7px;height:7px;flex:0 0 7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s var(--ease)}
.macc[open] .mopen .chev{transform:translateY(2px) rotate(225deg)}
.mbody{margin-top:12px}
#method .mtwo{display:grid;grid-template-columns:1fr 1fr;gap:20px}
#method .mtwo.last{margin-top:26px}
#method .mcard{padding:22px 24px 24px;border-radius:18px;background:var(--surface);box-shadow:0 10px 26px rgba(12,80,89,.06)}
#method .mcard.key{background:linear-gradient(160deg,rgba(190,248,236,.55),rgba(255,255,255,.92))}
#method .mtag{display:inline-block;font-family:var(--fd);font-weight:600;font-size:12.5px;letter-spacing:.12em;color:var(--accent-deep);padding:3px 11px;border-radius:999px;background:rgba(12,80,89,.09)}
#method .mcard h3{margin:12px 0 6px;font-size:21px}
#method .mcard p{font-size:15.5px;line-height:1.5;color:var(--text-2)}
#method .mscale{display:flex;align-items:center;gap:10px;margin-top:16px;font-family:var(--fd);font-size:12px;font-weight:600;color:var(--text-2)}
#method .mscale i{flex:1;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--bad),var(--warn),var(--good))}
#method .mnote{margin-top:18px;max-width:900px;font-size:15px;line-height:1.55;color:var(--text-2);padding-left:16px;border-left:2px solid rgba(25,144,147,.45)}
#method .mh{margin:60px 0 8px;font-family:var(--fd);font-size:25px;font-weight:600}
#method .mlead{max-width:860px;font-size:16.5px;line-height:1.55;color:var(--text-2);margin-bottom:24px}

#method .lenses{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
#method .lcard{display:flex;flex-direction:column;gap:9px;padding:20px 22px;border-radius:16px;background:var(--surface);border:var(--hair)}
#method .lcard.mr{grid-column:1/-1;background:rgba(20,20,20,.035);border-color:rgba(20,20,20,.14)}
#method .lcard.mr ul{columns:2;column-gap:36px}
#method .lcard.mr .norm{margin-top:0}
#method .lcard h4{margin:0;font-family:var(--fd);font-size:17.5px;font-weight:600}
#method .lcard .q{font-style:italic;font-size:14.5px;color:var(--accent-deep)}
#method .lcard .lbl{font-family:var(--fd);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--neutral);font-weight:600}
#method .lcard ul{margin:0;padding-left:17px;font-size:14px;line-height:1.45;color:var(--text-2)}
#method .lcard li{margin:3px 0}
#method .lcard .norm{margin-top:auto;padding-top:11px;border-top:var(--hair);font-size:14px;line-height:1.45;color:var(--text)}
#method .lcard .norm b{font-family:var(--fd);color:#1F7A38}
#method .lcard .mrnote{font-size:13px;line-height:1.45;color:var(--text-2)}

#method .mrules{border-top:var(--hair)}
#method .mrule{display:grid;grid-template-columns:190px 1fr;gap:8px 26px;padding:18px 0;border-bottom:var(--hair);align-items:baseline}
#method .mrule .k{font-family:var(--fd);font-weight:600;font-size:16.5px}
#method .mrule .v{font-size:15.5px;line-height:1.55;color:var(--text-2);max-width:760px}
#method .mrule .v b{color:var(--text);font-family:var(--fd)}
#method .chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
#method .chip{font-family:var(--fd);font-size:13px;font-weight:600;padding:4px 12px;border-radius:999px;background:rgba(20,20,20,.05);color:var(--text)}
#method .chip.s1{background:rgba(138,138,133,.16)} #method .chip.s2{background:rgba(230,163,23,.18)} #method .chip.s3{background:rgba(227,82,79,.16)}
#method .baro{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:15px}
#method .baro li{display:flex;align-items:center;gap:10px}

#method .mex{margin-top:30px;padding:24px 28px 26px;border-radius:20px;background:rgba(20,20,20,.03);border:var(--hair)}
#method .mex .exlead{margin-top:8px;max-width:780px;font-size:15px;line-height:1.55;color:var(--text-2)}
#method .extab{width:100%;border-collapse:collapse;margin:20px 0 0;font-size:15px}
#method .extab th{font-family:var(--fd);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--neutral);font-weight:600;text-align:right;padding:0 0 9px;border-bottom:var(--hair)}
#method .extab th:first-child{text-align:left}
#method .extab td{padding:9px 0;border-bottom:1px solid rgba(20,20,20,.07);text-align:right;font-variant-numeric:tabular-nums;color:var(--text-2)}
#method .extab td:first-child{text-align:left;font-family:var(--fd);font-weight:600;color:var(--text)}
#method .extab tbody b{font-family:var(--fd);font-size:17px;color:var(--text)}
#method .extab tr.clean td:first-child{color:#1F7A38}
#method .extab .ok{font-size:13px;color:#1F7A38}
#method .extab .sv{display:inline-block;white-space:nowrap;font-family:var(--fd);font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:999px}
#method .extab .sv.s1{background:rgba(138,138,133,.18);color:var(--text)}
#method .extab .sv.s2{background:rgba(230,163,23,.22);color:#8A6000}
#method .extab .sv.s3{background:rgba(227,82,79,.18);color:#B8302D}
#method .extab tfoot td{border-bottom:0;padding-top:14px}
#method .extab tr.sum td{text-align:right;font-family:var(--ft);font-weight:400;color:var(--text-2)}
#method .extab tr.mrrow td{border-top:var(--hair)}
#method .extab .big{font-family:var(--fd);font-size:26px;font-weight:600;color:var(--accent-deep)}
#method .extab tfoot span{margin-left:7px;font-family:var(--fd);font-size:12px;font-weight:600;color:var(--text-2)}
#method .exout{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:22px;padding-top:20px;border-top:var(--hair)}
#method .exout b{display:flex;align-items:center;gap:8px;font-family:var(--fd);font-size:16px;margin-bottom:5px}
#method .exout p{font-size:14px;line-height:1.5;color:var(--text-2)}
#method .exfoot{margin-top:18px;font-size:15px;line-height:1.55;font-style:italic;color:var(--text-2)}
#method .exfoot b{font-family:var(--fd);font-style:normal;color:var(--text)}

#method .msteps{counter-reset:ms;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
#method .msteps li{counter-increment:ms;padding:18px 20px 20px;border-radius:16px;background:var(--surface);border:var(--hair)}
#method .msteps li::before{content:counter(ms);display:block;font-family:var(--fd);font-size:28px;font-weight:300;line-height:1;color:transparent;background:var(--grad-num);-webkit-background-clip:text;background-clip:text;margin-bottom:8px}
#method .msteps b{display:block;font-family:var(--fd);font-size:16px;font-weight:600;margin-bottom:5px}
#method .msteps p{font-size:14px;line-height:1.5;color:var(--text-2)}
#method .mbox{padding:22px 24px;border-radius:18px;background:var(--surface);border:var(--hair)}
#method .mbox h4{margin:0 0 10px;font-family:var(--fd);font-size:18px;font-weight:600}
#method .mbox p{font-size:15px;line-height:1.55;color:var(--text-2)}
#method .mbox p+p{margin-top:10px}
.pagefoot .footlink{font-family:var(--fd);font-weight:600;font-size:12.5px;color:var(--accent-deep);border-bottom:1px solid rgba(25,144,147,.35)}
.pagefoot .footlink:hover{border-bottom-color:var(--accent)}

@media (max-width:1000px){
  :root{--pad:24px}
  h1{font-size:44px}
  h2{font-size:30px}
  .article,.mapnotes{grid-template-columns:1fr;gap:32px}
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .pcard.open .pgrid2{grid-template-columns:1fr}
  .figures{grid-auto-flow:row;grid-template-columns:1fr 1fr}
  #method .mtwo{grid-template-columns:1fr}
  #focus .fb{grid-template-columns:150px 1fr 36px;gap:10px}
  #method .msteps{grid-template-columns:repeat(3,1fr)}
  #method .exout{grid-template-columns:1fr 1fr}
  .figures .fig+.fig{border-left:0;padding-left:0}
  #nav .sections{display:none}
  .controls .legend-sw{margin-left:0;flex-basis:100%}
  .search{flex:1 1 240px}
  .group .gh{grid-template-columns:1fr;gap:8px}
  .gs .c{text-align:left}
}
@media (max-width:640px){
  :root{--pad:16px}
  h1{font-size:34px}
  .pgrid{grid-template-columns:1fr}
  .runhead{grid-template-columns:1fr}
  .runhead .sub{grid-column:1}
  .figures{grid-template-columns:1fr}
  .lens .lr{grid-template-columns:1fr}
  .lens .bar3{grid-template-columns:100px 1fr 30px;gap:8px}
  #method .mrule{grid-template-columns:1fr;gap:4px}
  #method .msteps{grid-template-columns:1fr}
  #method .lcard.mr ul{columns:1}
  #method .exout{grid-template-columns:1fr;gap:16px}
  .macc>summary{grid-template-columns:1fr;gap:10px}
  #method .extab{font-size:13.5px}
  #method .extab .sv{font-size:11.5px;padding:3px 8px}
  #method .extab th:nth-child(3),#method .extab td:nth-child(3){display:none}
  #method .extab td+td,#method .extab th+th{padding-left:8px}
  #method .extab .sv{white-space:normal}   /* на узком экране плашке тяжести можно перенестись */
  #method .mex{padding:20px 18px}
  #nav .brand span{display:none}
  #nav .wrap{gap:10px}
  #nav .tools{gap:8px;min-width:0}
  #nav .whoami{min-width:0;max-width:112px;padding-right:10px}
  #nav .whoami-edit{width:120px}
  .dd.run .rw{display:none}
  .dd.run .dd-btn{padding:0 10px 0 12px;gap:8px}
  .archbar .wrap{align-items:flex-start}
  .gcard{padding:28px 20px 24px}
  .controls{padding:16px}
  .search{flex:1 1 100%}
  .controls #dd-state{margin-left:0}
  .dd.wide .dd-btn{min-width:0}
  .gs{flex-wrap:wrap;white-space:normal;gap:6px 14px}
  .gs .c{min-width:0}
  .pcard .pmmrow{grid-template-columns:1fr;justify-items:center}
  .pcard .pmmdesc{width:100%}
}
