/* === НАЧАЛО: коммерческая страница (макет главной, 24.09.2026) ===
   Та же система, что у статьи: токены, ритм по Фибоначчи 8/13/21/34/55/89/144, один кегль строчного текста --step-0,
   числа влево, радиусы из токенов. Глав с номерами нет (слово Никиты), нумеруются только пункты внутри блоков. */

/* --- секция и шапка секции --- */
.sec{position:relative;max-width:1400px;margin:0 auto;padding:144px var(--gutter) 0}
.sec__head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:21px 89px;align-items:end;margin-bottom:55px}
.sec__head h2{margin:0;max-width:20ch}
.sec__k{display:flex;align-items:center;gap:13px;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text);margin:0 0 21px}
.sec__k::before{content:"";width:21px;height:8px;flex:none;background:repeating-linear-gradient(90deg,var(--red) 0 2px,transparent 2px 6px)}
.sec__lead{margin:0;color:var(--text);font-size:var(--step-0);line-height:var(--lead);max-width:62ch}
.sec__lead + .sec__lead{margin-top:13px}
/* лид в шапке секции сидит в плашке, низ плашки на одной линии с низом заголовка (Никита: «текст висит в воздухе») */
.sec__head > .sec__lead{position:relative;align-self:end;max-width:none;padding:34px;background:color-mix(in oklab,var(--surface) 90%,transparent);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--sh-1)}
.sec__head > .sec__lead::before{content:"";position:absolute;left:34px;top:-1px;width:55px;height:3px;background:var(--red);border-radius:0 0 3px 3px}
@media (max-width:1023px){.sec{padding-top:89px}.sec__head{grid-template-columns:1fr;margin-bottom:34px}.sec__head h2{max-width:none}.sec__head > .sec__lead{padding:21px}.sec__head > .sec__lead::before{left:21px}}

/* --- hero коммерции: без крошек и меты, с кнопкой и цифрами --- */
.hero--k{padding-bottom:0}
.hero--k .hero__grid{align-items:center}
.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:21px 34px;margin-top:34px}
.hero__note{font-family:var(--body);font-size:var(--step-0);font-weight:500;color:var(--fg);line-height:1.5;margin:0}
.counter--4{grid-template-columns:repeat(4,1fr);margin-top:55px}
.counter--4 .counter__val{font-size:var(--step-3)}
.team__label{position:absolute;right:calc(6% + 13px);top:13px;z-index:3;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--fg);background:color-mix(in oklab,var(--surface) 92%,transparent);border:1px solid var(--line);border-radius:var(--r-s);padding:8px 13px;box-shadow:var(--sh-2)}
@media (max-width:1023px){.counter--4{grid-template-columns:1fr 1fr}.counter--4 .counter__cell:last-child{grid-column:auto}}

/* --- команда: две одинаковые карточки рядом, под ними полоса из трёх равных цифр (симметрично, слово Никиты) --- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:21px;align-items:stretch}
.person{display:grid;gap:21px;align-content:start;padding:34px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m)}
.person__who{display:flex;align-items:center;gap:21px}
.person__who img{width:89px;height:89px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}
.person__who b{display:block;font-family:var(--disp);font-size:var(--step-1);color:var(--fg);font-weight:700;line-height:1.2}
.person__who span{display:block;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.person p{margin:0;padding-top:21px;border-top:1px solid var(--line-soft);font-size:var(--step-0);line-height:var(--lead);color:var(--text)}
.cifry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:21px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden}
.cifry__row{display:grid;gap:13px;align-content:start;padding:34px}
.cifry__row + .cifry__row{border-left:1px solid var(--line)}
.cifry__row b{font-family:var(--num);font-weight:600;font-size:var(--step-3);color:var(--fg);font-variant-numeric:tabular-nums;line-height:1}
.cifry__row span{font-size:var(--step-0);color:var(--muted)}
@media (max-width:1023px){.duo{grid-template-columns:1fr}.person{padding:21px}.cifry__row{padding:21px}}
@media (max-width:640px){.cifry{grid-template-columns:1fr}.cifry__row + .cifry__row{border-left:0;border-top:1px solid var(--line)}}

/* --- цены: три тарифа, ведущий выделен шкалой и стеклом --- */
.tarify{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;align-items:stretch}
.tarif{position:relative;display:flex;flex-direction:column;gap:21px;padding:34px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface)}
.tarif.is-leader{border-color:color-mix(in oklab,var(--red) 55%,var(--line));box-shadow:var(--sh-2)}
.tarif.is-leader::before{content:"";position:absolute;left:34px;right:34px;top:-1px;height:3px;background:var(--red);border-radius:0 0 3px 3px}
.tarif__name{font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.tarif.is-leader .tarif__name{color:var(--red)}
.tarif__price{margin:0;font-family:var(--disp);font-weight:700;font-size:var(--step-3);line-height:1;color:var(--fg);font-variant-numeric:tabular-nums}
.tarif__price small{font-size:var(--step-0);font-weight:500;color:var(--muted);margin-right:8px}
.tarif__term{margin:-8px 0 0;font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.tarif ul{list-style:none;margin:0;padding:21px 0 0;border-top:1px solid var(--line-soft);display:grid;gap:13px;flex:1}
.tarif li{position:relative;padding-left:26px;font-size:var(--step-0);line-height:1.45;color:var(--text)}
.tarif li::before{content:"";position:absolute;left:0;top:.72em;width:13px;height:1px;background:var(--red)}
.tarif .btn{align-self:flex-start}
.primechanie{margin:34px 0 0;padding:21px 34px;border-left:3px solid var(--red);background:var(--surface);border-radius:0 var(--r-m) var(--r-m) 0;font-size:var(--step-0);line-height:var(--lead);color:var(--text);max-width:none}
@media (max-width:1023px){.tarify{grid-template-columns:1fr}.tarif{padding:21px}.tarif.is-leader::before{left:21px;right:21px}.primechanie{padding:21px}}

/* --- состав работ: этапы как позиции выдачи --- */
.etapy{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.etap{display:grid;grid-template-columns:144px minmax(0,4fr) minmax(0,7fr);gap:21px 55px;align-items:baseline;padding:34px 0;border-bottom:1px solid var(--line);transition:background var(--t)}
.etap__n{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.etap h3{margin:0;font-size:var(--step-2);line-height:1.15}
.etap p{margin:0;font-size:var(--step-0);line-height:var(--lead);color:var(--text)}
.sec .callout{margin:55px 0 0}
@media (max-width:1023px){.etap{grid-template-columns:1fr;gap:8px;padding:21px 0}}

/* --- гарантии: три шага слева, условие справа --- */
.garantii{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:34px 89px;align-items:start}
.shagi{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line);counter-reset:shag}
.shagi li{counter-increment:shag;display:grid;grid-template-columns:55px minmax(0,1fr);gap:13px;padding:21px 0;border-bottom:1px solid var(--line);font-size:var(--step-0);line-height:var(--lead);color:var(--text)}
.shagi li::before{content:counter(shag,decimal-leading-zero);font-family:var(--mono);font-size:12px;color:var(--red);line-height:2.4}
.shagi strong{color:var(--fg);font-weight:600}
.usl{position:sticky;top:120px;padding:34px;border-radius:var(--r-m);background:var(--plate);color:var(--on-plate);border:1px solid var(--line)}
.usl p{margin:0;font-size:var(--step-1);line-height:1.45;color:var(--on-plate-fg);font-family:var(--disp);font-weight:600}
.usl .sec__k{margin-bottom:21px}
@media (max-width:1023px){.garantii{grid-template-columns:1fr}.usl{position:static;padding:21px}}

/* --- кейсы: четыре цифры, три кейса, три ссылки --- */
.kejs-cifry{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:55px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden}
.kejs-cifry > div{padding:34px;display:grid;gap:13px;align-content:start}
.kejs-cifry > div + div{border-left:1px solid var(--line)}
.kejs-cifry b{font-family:var(--num);font-weight:600;font-size:var(--step-3);line-height:1;color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap}
.kejs-cifry b span{font:inherit;color:inherit}
.kejs-cifry > div > span{font-size:var(--step-0);line-height:1.45;color:var(--text)}
.kejsy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}
.kejs{position:relative;display:flex;flex-direction:column;gap:13px;padding:34px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);color:var(--text);text-decoration:none;transition:border-color var(--t),transform var(--t) var(--ease)}
.kejs:hover{border-color:var(--ice);transform:translateY(-2px)}
.kejs__t{font-family:var(--disp);font-weight:700;font-size:var(--step-1);color:var(--fg);margin:0}
.kejs p{margin:0;font-size:var(--step-0);line-height:1.5}
.kejsy--mini{margin-top:21px}
.kejsy--mini .kejs{padding:21px 34px}
.kejsy--mini .kejs__t{font-size:var(--step-0)}
@media (max-width:1023px){.kejs-cifry{grid-template-columns:1fr 1fr}.kejs-cifry > div{padding:21px}.kejs-cifry > div:nth-child(3){border-left:0}.kejs-cifry > div:nth-child(n+3){border-top:1px solid var(--line)}.kejsy{grid-template-columns:1fr}.kejs{padding:21px}}

/* --- отзывы: рейтинг слева, цитаты журналом справа --- */
.otzyvy{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:34px 89px;align-items:start}
.rejting{position:sticky;top:120px;display:grid;gap:13px}
.rejting b{font-family:var(--disp);font-weight:800;font-size:clamp(72px,8vw,120px);line-height:.9;color:var(--fg)}
.rejting span{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.rejting p{margin:0;font-size:var(--step-0);line-height:var(--lead);color:var(--text)}
.rejting .btn{justify-self:start;margin-top:8px}
.citaty{display:grid;grid-template-columns:1fr 1fr;gap:21px;align-items:stretch}
.citata{display:flex;flex-direction:column;margin:0;padding:34px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m)}
.citata p{margin:0;font-size:var(--step-0);line-height:var(--lead);color:var(--text)}
.citata footer{margin-top:auto;padding-top:21px;font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.citata footer b{color:var(--fg);font-weight:500}
@media (max-width:1023px){.otzyvy{grid-template-columns:1fr}.rejting{position:static}}
@media (max-width:767px){.citaty{grid-template-columns:1fr}.citata{padding:21px}}

/* --- почему не агентство: четыре довода строками --- */
.dovody{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:21px;counter-reset:dovod}
.dovody li{counter-increment:dovod;display:grid;grid-template-columns:55px minmax(0,1fr);gap:8px 13px;align-content:start;padding:34px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m)}
.dovody li::before{content:counter(dovod,decimal-leading-zero);grid-row:span 2;font-family:var(--mono);font-size:13px;font-weight:500;color:var(--red);line-height:2.2}
.dovody h3{margin:0;font-size:var(--step-1);line-height:1.25}
.dovody p{margin:0;font-size:var(--step-0);line-height:var(--lead);color:var(--text)}
@media (max-width:1023px){.dovody{grid-template-columns:1fr}.dovody li{padding:21px}}

/* --- аудит: стеклянная панель в две колонки --- */
.audit{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:34px 89px;padding:55px;border-radius:var(--r-l)}
.audit h2{margin:0 0 21px;max-width:18ch}
.audit ul{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.audit li{position:relative;padding-left:26px;font-size:var(--step-0);line-height:1.5;color:var(--text)}
.audit li::before{content:"";position:absolute;left:0;top:.75em;width:13px;height:1px;background:var(--red)}
.audit__do{display:grid;gap:21px;align-content:start}
.audit__do .btn{justify-self:start}
.audit__small{margin:0;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.6}
@media (max-width:1023px){.audit{grid-template-columns:1fr;padding:21px}}

/* --- все направления: четыре колонки ссылок --- */
.karta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 55px}
.karta h3{margin:0 0 21px;padding-bottom:13px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.karta ul{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.karta a{font-size:var(--step-0);line-height:1.4;color:var(--text);text-decoration:none;border-bottom:1px solid transparent;transition:color var(--t-fast),border-color var(--t-fast)}
.karta a:hover{color:var(--fg);border-bottom-color:var(--red)}
@media (max-width:1023px){.karta{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.karta{grid-template-columns:1fr}}

.karta-box{padding:55px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l)}
.sec__head--box{margin-bottom:34px;padding-bottom:34px;border-bottom:1px solid var(--line)}
.sec__head--box > .sec__lead{padding:0;background:none;border:0;box-shadow:none}
.sec__head--box > .sec__lead::before{display:none}
@media (max-width:1023px){.karta-box{padding:21px}}

/* --- вопросы: узкая колонка, компонент FAQ статьи --- */
.sec--faq .faq{max-width:880px}

/* --- финальный призыв: компонент CTA статьи, контакты под текстом --- */
.cta__kontakt{margin:21px 0 0;display:grid;gap:8px;font-family:var(--mono);font-size:13px;color:var(--muted)}
.cta__kontakt a{font-family:var(--disp);font-size:var(--step-1);font-weight:700;color:var(--fg);text-decoration:none}
/* --- коммерческие страницы из md (24.09.2026): раздел = заголовок + текст на плашке, без номеров глав --- */
.sec__head--kom{grid-template-columns:1fr;margin-bottom:34px}
.sec__head--kom h2{max-width:28ch}
.kom-telo{position:relative;max-width:1040px;padding:55px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l)}
.kom-telo::before{display:none}
.kom-telo > :first-child{margin-top:0}
.kom-telo > :last-child{margin-bottom:0}
.sec--faq .kom-telo{margin-top:34px}
.sec > .tarify{margin-top:34px}
.tarify--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tarify--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tarif__opis{margin:0;flex:1;padding-top:21px;border-top:1px solid var(--line-soft);font-size:var(--step-0);line-height:1.5;color:var(--text)}
.sec--avtor .author-card{max-width:1040px}
/* колонка раздела по центру страницы, а не прижата влево (Никита 24.09.2026): заголовок, плашка текста, вопросы, автор */
body.kom .sec__head--kom,body.kom .kom-telo,body.kom .sec--faq .faq,body.kom .sec--avtor .author-card{max-width:1040px;margin-inline:auto}
/* лаборатория бюджета на коммерческих: не шире 1240, по центру, без выноса за колонку статьи */
body.kom .calc{width:auto;max-width:1240px;margin-left:auto;margin-right:auto;margin-block:0}
.sec--calc{overflow-x:clip}   /* подсветка вокруг калькулятора (::before -55 px) не распирает экран */
@media (max-width:1279px){.tarify--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1023px){.kom-telo{padding:21px}.tarify--4,.tarify--2{grid-template-columns:1fr}}
.kom-metka{margin:-8px 0 21px;font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.kom-knopka{margin:34px 0 0}
/* === КОНЕЦ: коммерческая страница === */
