/* Блоки городских лендингов (/vnedrenie/style.css) в области .lp — собрано tools/landing_css.py.
   Руками не править: правка — в style.css лендингов и перезапуск скрипта. */
.lp{--ink:#111418; --ink2:#3A4654; --muted:#555555; --line:#E4E8F0; --bg:#FFFFFF; --soft:#F5F7FA; --tint:#FFF2E0; --accent:#FF9706; --accent-d:#E8850A; --cta:#FF9706; --cta-d:#E8850A; --cyan:#26BCF4; --petrol:#003E59; --gold:#B8860B; --good:#27AE60; --bad:#D8431F; --head:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; --body:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; --radius:14px; --maxw:1180px;}
.lp *{box-sizing:border-box;margin:0;padding:0}
.lp{scroll-behavior:smooth}
.lp{font-family:var(--body);color:var(--ink);font-size:16px;line-height:25px;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.lp h1,.lp h2,.lp h3,.lp h4{font-family:var(--head);line-height:1.22;font-weight:700;letter-spacing:-.02em}
.lp h2{font-size:clamp(26px,3vw,36px);margin-bottom:14px}
.lp h3{font-size:clamp(18px,1.8vw,21px);font-weight:700}
.lp p{color:var(--ink2)}
.lp a{color:var(--accent);text-decoration:none}
.lp .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.lp .sec{padding:68px 0}
.lp .sec-soft{background:var(--soft)}
.lp .lead{font-size:16px;line-height:26px;color:var(--muted);max-width:760px}
.lp .eyebrow{display:inline-block;font-family:var(--head);font-weight:700;font-size:12px;line-height:1.3;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.lp .btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--head);font-weight:600;font-size:15px;line-height:1.2;padding:13px 24px;border-radius:11px;cursor:pointer;border:none;transition:.18s;text-align:center}
.lp .btn-cta{background:var(--cta);color:#fff}
.lp .btn-cta:hover{background:var(--cyan);color:#fff;transform:translateY(-2px)}
.lp .btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.lp .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.lp .btn-dark{background:var(--petrol);color:#fff}
.lp .btn-dark:hover{background:#015a80;transform:translateY(-2px)}
.lp svg{display:block}
.lp .ico{width:22px;height:22px;stroke:var(--accent);stroke-width:1.9;fill:none}
.lp .hero{background:radial-gradient(120% 120% at 80% 0%,#015676 0%,#00475f 55%,#003E59 100%);color:#fff;position:relative;overflow:hidden}
.lp .hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(80% 80% at 70% 10%,#000,transparent)}
.lp .hero .wrap{position:relative;padding-top:84px;padding-bottom:90px}
.lp .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.lp .hero h1{font-size:clamp(32px,4.2vw,48px);font-weight:700;color:#fff;margin-bottom:18px;line-height:1.16}
.lp .hero h1 em{font-style:normal;color:#5CCAF6}
.lp .hero .lead{color:#cfe2ec;font-size:17px;line-height:28px;max-width:none;margin-bottom:28px}
.lp .chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.lp .chip{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#e3eef4;font-size:13px;font-weight:500;padding:7px 13px;border-radius:30px}
.lp .chip svg{width:16px;height:16px;stroke:#5CCAF6;fill:none;stroke-width:2}
.lp .hero-cta{display:flex;flex-wrap:wrap;gap:14px}
.lp .hero-card{background:#fff;color:var(--ink);border-radius:18px;padding:30px;box-shadow:0 30px 60px -25px rgba(0,0,0,.45)}
.lp .hero-card h3{font-size:17px;line-height:24px;margin-bottom:16px}
.lp .stat-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.lp .stat b{font-family:var(--head);font-size:30px;font-weight:700;color:var(--accent);display:block;line-height:1}
.lp .stat span{font-size:13px;line-height:19px;color:var(--muted)}
.lp .hero-card .small{font-size:13px;line-height:20px;color:var(--muted);margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.lp .trust{background:var(--petrol);color:#fff;padding:26px 0}
.lp .trust-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.lp .trust-item{display:flex;align-items:center;gap:11px;font-size:14px;line-height:20px;color:#d4e3eb}
.lp .trust-item b{color:#fff;font-family:var(--head);font-weight:600}
.lp .trust-item svg{width:26px;height:26px;stroke:#FFB02E;fill:none;stroke-width:1.8}
.lp .lr p{margin-bottom:18px;font-size:16px;line-height:28px}
.lp .lr p b{color:var(--ink)}
.lp .grid{display:grid;gap:20px}
.lp .g3{grid-template-columns:repeat(3,1fr)}
.lp .g2{grid-template-columns:repeat(2,1fr)}
.lp .card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:24px;transition:.18s}
.lp .card:hover{border-color:#bfe3f7;transform:translateY(-3px);box-shadow:0 18px 40px -28px rgba(0,62,89,.4)}
.lp .card .ic{width:46px;height:46px;border-radius:11px;background:var(--tint);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.lp .card h3{margin-bottom:9px;font-size:18px;line-height:25px}
.lp .card p{font-size:14px;line-height:22px}
.lp .pkg{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;padding:32px;background:#fff}
.lp .pkg.feat{border:2px solid var(--accent);box-shadow:0 24px 50px -30px rgba(255,151,6,.5)}
.lp .pkg .tag{position:absolute;top:-13px;left:32px;background:var(--accent);color:#fff;font-family:var(--head);font-weight:600;font-size:13px;padding:5px 14px;border-radius:20px}
.lp .pkg .pname{font-family:var(--head);font-weight:600;font-size:18px;line-height:24px;color:var(--muted)}
.lp .pkg .price{font-family:var(--head);font-weight:700;font-size:34px;line-height:1.1;margin:7px 0 4px}
.lp .pkg .price small{font-size:17px;font-weight:600;color:var(--muted)}
.lp .pkg .desc{font-size:14px;line-height:22px;color:var(--muted);margin-bottom:20px;min-height:42px}
.lp .pkg ul{list-style:none;margin-bottom:26px;flex:1}
.lp .pkg li{display:flex;gap:10px;font-size:14px;line-height:22px;padding:6px 0;color:var(--ink2)}
.lp .pkg li svg{flex:0 0 18px;width:18px;height:18px;stroke:var(--good);stroke-width:2.4;fill:none;margin-top:4px}
.lp .tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}
.lp table.matrix{width:100%;border-collapse:collapse;min-width:640px}
.lp table.matrix th,.lp table.matrix td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:15px}
.lp table.matrix thead th{background:var(--petrol);color:#fff;font-family:var(--head);font-weight:600;position:sticky;top:0}
.lp table.matrix thead th:not(:first-child){text-align:center;width:140px}
.lp table.matrix tbody td:not(:first-child){text-align:center}
.lp table.matrix tbody tr:nth-child(even){background:var(--soft)}
.lp table.matrix .feat-col{background:var(--tint)!important;color: var(--petrol);}
.lp .tick{display:inline-block;width:20px;height:20px;stroke:var(--good);stroke-width:2.6;fill:none}
.lp .dash{color:#bcc6d8;font-size:18px}
.lp .lvl{font-size:13px;color:var(--accent);font-weight:600}
.lp .s1c{background:linear-gradient(135deg,#003E59,#015c82);color:#fff;border-radius:22px;padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.lp .s1c h2{color:#fff}
.lp .s1c p{color:#cfe2ec}
.lp .s1c .badge1c{display:inline-flex;align-items:center;gap:10px;background:rgba(255,176,46,.16);border:1px solid rgba(255,176,46,.5);color:#FFC766;padding:9px 16px;border-radius:10px;font-weight:600;font-size:14px;margin-bottom:18px;font-family:var(--head)}
.lp .s1c ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lp .s1c li{display:flex;gap:9px;font-size:15px;color:#e3eef4}
.lp .s1c li svg{flex:0 0 18px;width:18px;height:18px;stroke:#5CCAF6;stroke-width:2.4;fill:none;margin-top:4px}
.lp .plist{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px}
.lp .pline{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px dashed var(--line)}
.lp .pline .n{font-size:16px;color:var(--ink2)}
.lp .pline .v{font-family:var(--head);font-weight:700;font-size:17px;white-space:nowrap;color:var(--petrol)}
.lp .pline .v small{font-weight:500;color:var(--muted);font-size:13px}
.lp .sup-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line)}
.lp table.sup{width:100%;border-collapse:collapse;background:#fff;min-width:700px}
.lp table.sup th{background:var(--petrol);color:#fff;padding:16px 14px;text-align:center;font-family:var(--head);font-weight:600;font-size:14px}
.lp table.sup th:first-child{text-align:left}
.lp table.sup th b{display:block;font-size:16px;margin-top:2px;color:#9fe0fa}
.lp table.sup td{padding:13px 14px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink2);text-align:center}
.lp table.sup td:first-child{text-align:left;color:var(--ink)}
.lp table.sup tr:last-child td{border-bottom:none}
.lp table.sup .hl td{background:var(--tint);font-weight:700;color:var(--accent)}
.lp table.sup .ck{color:var(--good);font-weight:700}
.lp .steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.lp .step{position:relative;padding:28px 24px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.lp .step:before{counter-increment:s;content:counter(s);font-family:var(--head);font-weight:800;font-size:18px;color:#fff;background:var(--accent);width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.lp .step h3{font-size:17px;line-height:24px;margin-bottom:6px}
.lp .step p{font-size:14px;line-height:22px}
.lp .calc{background:#fff;border:1px solid var(--line);border-radius:22px;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:44px}
.lp .calc h3{margin-bottom:4px}
.lp .calc .sub{font-size:14px;color:var(--muted);margin-bottom:24px}
.lp .frow{margin-bottom:20px}
.lp .frow label{display:flex;justify-content:space-between;font-size:14.5px;color:var(--ink2);margin-bottom:8px}
.lp .frow label b{font-family:var(--head);color:var(--ink);font-weight:700}
.lp .frow input[type=range]{width:100%;height:5px;-webkit-appearance:none;appearance:none;background:var(--line);border-radius:5px;outline:none}
.lp .frow input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.25)}
.lp .frow input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;border:3px solid #fff}
.lp .frow .hint{font-size:12.5px;color:var(--muted);margin-top:5px}
.lp .assum{background:var(--soft);border-radius:14px;padding:20px 22px;margin-top:8px}
.lp .assum .at{font-family:var(--head);font-weight:600;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px}
.lp .res{background:var(--soft);border-radius:16px;padding:28px;display:flex;flex-direction:column;height:100%}
.lp .metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.lp .metric{background:#fff;border-radius:11px;padding:15px 16px}
.lp .metric.tot{grid-column:1/-1;background:#fdeee9;border:1px solid #f6cdc0}
.lp .metric .ml{font-size:13px;color:var(--muted)}
.lp .metric.tot .ml{color:var(--bad)}
.lp .metric .mv{font-family:var(--head);font-weight:800;font-size:23px;margin-top:3px}
.lp .metric.tot .mv{color:var(--bad);font-size:27px}
.lp .payback{background:var(--petrol);color:#fff;border-radius:14px;padding:20px 22px;margin:6px 0 14px}
.lp .payback .pl{font-size:13px;color:#9fc4d6}
.lp .pkgsel{display:flex;gap:7px;margin:10px 0 12px}
.lp .pkgsel button{flex:1;font-family:var(--head);font-weight:600;font-size:14px;padding:9px 4px;border-radius:9px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#d4e3eb;cursor:pointer;transition:.15s}
.lp .pkgsel button.on{background:#fff;color:var(--petrol)}
.lp .payback .pv{font-family:var(--head);font-weight:800;font-size:30px;margin-top:2px}
.lp .calc-note{font-size:12px;color:var(--muted);line-height:1.55;margin-top:auto}
.lp .case{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:14px;transition:.18s}
.lp .case:hover{transform:translateY(-3px);box-shadow:0 18px 40px -28px rgba(0,62,89,.4)}
.lp .case .ctag{align-self:flex-start;background:#E6F6FE;border:1px solid #B5E4F9;color:var(--petrol);border-radius:30px;padding:4px 14px;font-size:12px;font-weight:600}
.lp .case .ctitle{font-family:var(--head);font-weight:700;font-size:17px;line-height:24px}
.lp .case p{font-size:14px;line-height:22px;flex:1}
.lp .case .cres{display:flex;gap:18px;flex-wrap:wrap}
.lp .cres b{font-family:var(--head);font-weight:800;font-size:24px;color:var(--accent);display:block;line-height:1}
.lp .cres span{font-size:12px;color:var(--muted)}
.lp .review{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:14px}
.lp .review .rh{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.lp .review .rn{font-family:var(--head);font-weight:700;font-size:16px;line-height:22px}
.lp .review .rc{font-size:13px;color:var(--muted);margin-top:2px}
.lp .review .stars{color:var(--accent);font-size:14px;white-space:nowrap}
.lp .review p{font-size:14px;line-height:22px}
.lp .ind{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:12px}
.lp .ind svg{flex:0 0 30px;width:30px;height:30px;stroke:var(--accent);stroke-width:1.7;fill:none}
.lp .ind b{font-family:var(--head);font-weight:700;display:block;font-size:15px;line-height:21px}
.lp .ind span{font-size:13px;line-height:19px;color:var(--muted)}
.lp .faq details{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;background:#fff;overflow:hidden}
.lp .faq summary{cursor:pointer;list-style:none;padding:18px 22px;font-family:var(--head);font-weight:700;font-size:17px;line-height:25px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.lp .faq summary::-webkit-details-marker{display:none}
.lp .faq summary:after{content:"+";font-size:26px;color:var(--accent);font-weight:400;transition:.2s}
.lp .faq details[open] summary:after{transform:rotate(45deg)}
.lp .faq .ans{padding:0 22px 20px;font-size:15px;line-height:26px;color:var(--ink2)}
.lp .ctaband{background:radial-gradient(120% 140% at 15% 10%,#015676,#003E59);color:#fff;border-radius:24px;padding:50px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.lp .ctaband h2{color:#fff}
.lp .ctaband p{color:#cfe2ec}
.lp .form{background:#fff;border-radius:16px;padding:28px}
.lp .cta-points{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.lp .cta-points li{position:relative;padding-left:28px;color:#dceaf1;font-size:15.5px;line-height:1.4}
.lp .cta-points li:before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:rgba(255,151,6,.18);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF9706' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 6'/%3E%3C/svg%3E");background-size:12px;background-repeat:no-repeat;background-position:center}
.lp .form .b24-form-wrapper{box-shadow:none!important;border:0!important}
.lp .form .b24-form-content{padding:0!important}
.lp .form .b24-form-field-name,.lp .form .b24-form-control-label,.lp .form .b24-form-field-agreement-label,.lp .form .b24-form-field-agreement-label *{color:var(--ink2)!important;opacity:1!important}
.lp .form .b24-form-header,.lp .form .b24-form-header-title,.lp .form .b24-form-header-description{color:var(--ink)!important;opacity:1!important}
.lp .form .b24-form-control::placeholder{color:#8a97a5!important;opacity:1!important}
.lp .form .fi{margin-bottom:14px}
.lp .form label{display:block;font-size:14px;color:var(--ink2);margin-bottom:6px;font-weight:500}
.lp .form input,.lp .form textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;font-family:var(--body);font-size:16px;color:var(--ink)}
.lp .form input:focus,.lp .form textarea:focus{outline:none;border-color:var(--accent)}
.lp .form .pol{font-size:12px;color:var(--muted);margin-top:10px}
.lp .form .ok{display:none;color:var(--good);font-weight:600;margin-top:12px;font-family:var(--head)}
.lp .fade{opacity:0;transform:translateY(16px);animation:fu .7s forwards}
@keyframes fu{to{opacity:1;transform:none}}
.lp .d1{animation-delay:.05s}
.lp .d2{animation-delay:.15s}
.lp .d3{animation-delay:.25s}
.lp .d4{animation-delay:.35s}
@media(max-width:920px){
.lp .hero-grid,.lp .s1c,.lp .calc,.lp .ctaband{grid-template-columns:1fr;gap:32px}
.lp .g3,.lp .steps,.lp .plist{grid-template-columns:1fr 1fr}
.lp .s1c ul{grid-template-columns:1fr}
.lp .sec{padding:56px 0}
.lp .s1c,.lp .ctaband{padding:32px}
.lp .calc{padding:26px}
}
@media(max-width:600px){
.lp{font-size:16px}
.lp .g3,.lp .g2,.lp .steps,.lp .plist,.lp .metrics,.lp .stat-row{grid-template-columns:1fr}
.lp .hero .wrap{padding-top:48px;padding-bottom:60px}
}
.lp .b24-prices{padding:10px 0}
.lp .b24-prices__tabs{width:max-content;margin:0 auto 36px;padding:6px;display:flex;align-items:center;gap:8px;border-radius:999px;background:#fff;border:1px solid #d9eefb;box-shadow:0 12px 32px rgba(0,62,89,.08)}
.lp .b24-prices__tab{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border:0;border-radius:999px;background:transparent;color:#122033;font-family:var(--head);font-size:16px;font-weight:600;line-height:1;cursor:pointer;transition:.25s}
.lp .b24-prices__tab:hover{background:#f1faff}
.lp .b24-prices__tab.is-active{background:linear-gradient(135deg,#3fc4f7 0%,#1aa4e6 100%);color:#fff;box-shadow:0 12px 24px rgba(38,188,244,.25)}
.lp .b24-prices__tab-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:700;line-height:1}
.lp .b24-prices__tab.is-active .b24-prices__tab-badge{background:rgba(255,255,255,.22);color:#fff}
.lp .all_b24-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:stretch;padding-top:18px}
.lp .b24-prices__card{position:relative;display:flex;flex-direction:column;min-height:100%;padding:30px 22px 24px;border-radius:20px;background:#fff;border:1px solid #edf2f8;box-shadow:0 18px 42px rgba(0,62,89,.08)}
.lp .b24-prices__card--free{background:linear-gradient(180deg,#effff4 0%,#eafff0 100%)}
.lp .b24-prices__card--popular{border-color:#bfe6fb;box-shadow:0 22px 48px rgba(38,188,244,.15)}
.lp .b24-prices__card--enterprise{background:linear-gradient(180deg,#fdfcff 0%,#f6f1ff 100%)}
.lp .b24-prices__badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);z-index:5;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:linear-gradient(135deg,#3fc4f7 0%,#1aa4e6 100%);color:#fff;font-family:var(--head);font-size:13px;font-weight:700;line-height:1;white-space:nowrap;box-shadow:0 10px 24px rgba(38,188,244,.25)}
.lp .b24-prices__title{margin:0;color:#101828;font-family:var(--head);font-size:17px;font-weight:700;line-height:24px}
.lp .b24-prices__description{display:block;margin-top:12px;color:#5e6878;font-size:14px;line-height:22px}
.lp .b24-prices__meta{margin:24px 0 22px;display:flex;flex-direction:column;gap:12px}
.lp .b24-prices__meta-item{color:#101828;font-family:var(--head);font-size:15px;font-weight:700;line-height:21px}
.lp .b24-prices__price-box{margin-top:auto}
.lp .b24-prices__price-old{align-items:center;gap:10px;margin-bottom:8px}
.lp .b24-prices[data-active-period="month"] [data-price-old]{display:none}
.lp .b24-prices[data-active-period="year"] [data-price-old]{display:flex}
.lp .b24-prices__price-old-value{color:#7e8795;font-size:18px;font-weight:500;text-decoration:line-through}
.lp .b24-prices__discount-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:700}
.lp .b24-prices__price-value{display:block;color:#101828;font-family:var(--head);font-size:28px;font-weight:700;line-height:1.1;letter-spacing:-.02em}
.lp .b24-prices__price-period{margin-top:8px;color:#5e6878;font-size:15px}
.lp .b24-prices__price-note{margin-top:2px;color:#5e6878;font-size:15px}
.lp .b24-prices__actions{margin-top:auto;padding-top:24px}
.lp .b24-prices__button{width:100%;min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border:0;border-radius:999px;background:linear-gradient(135deg,#ffb12e 0%,#ff9706 100%);color:#fff;font-family:var(--head);font-size:15px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 14px 30px rgba(255,151,6,.24);transition:.25s}
.lp .b24-prices__button:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(255,151,6,.3)}
.lp .b24-prices__card--free .b24-prices__button{background:linear-gradient(135deg,#27c25d 0%,#0aa847 100%);box-shadow:0 14px 30px rgba(10,168,71,.24)}
.lp .b24-prices__card--enterprise .b24-prices__button{background:linear-gradient(135deg,#a54dff 0%,#893cff 100%);box-shadow:0 14px 30px rgba(137,60,255,.24)}
@media(max-width:1100px){
.lp .all_b24-items{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
.lp .all_b24-items{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
.lp .b24-prices__tabs{width:100%;flex-direction:column;border-radius:20px}
.lp .b24-prices__tab{width:100%}
.lp .all_b24-items{grid-template-columns:1fr}
}
.lp .awards-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:34px}
.lp .award-thumb{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;transition:.18s;position:relative}
.lp .award-thumb:hover{transform:translateY(-4px);box-shadow:0 20px 44px -26px rgba(225,29,42,.4);border-color:#f3b6ba}
.lp .award-thumb img{width:100%;height:auto;display:block;aspect-ratio:320/452;object-fit:cover;object-position:top;background:#E11D2A}
.lp .award-thumb .award-cap{padding:14px 16px 16px;font-size:13px;color:var(--ink2);line-height:1.35}
.lp .award-thumb .award-cap b{display:block;font-family:var(--head);font-weight:800;font-size:18px;color:#E11D2A;margin-bottom:3px}
.lp .award-thumb--hero{grid-column:span 1}
.lp .award-thumb--hero .award-cap b{font-size:22px}
.lp .award-thumb::after{content:"Открыть в новой вкладке";position:absolute;top:10px;right:10px;background:rgba(17,24,32,.78);color:#fff;font-size:11px;font-weight:600;padding:4px 9px;border-radius:20px;opacity:0;transition:.18s;pointer-events:none}
.lp .award-thumb:hover::after{opacity:1}
.lp .awards-note{margin-top:24px;font-size:14.5px;color:var(--muted)}
.lp .awards-note b{color:var(--ink)}
@media(max-width:980px){
.lp .awards-gallery{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:680px){
.lp .awards-gallery{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:420px){
.lp .awards-gallery{grid-template-columns:1fr}
}
.lp .estimate{margin-top:34px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.lp .estimate__head{padding:24px 28px;background:var(--petrol);color:#fff;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}
.lp .estimate__head h3{font-size:19px;margin:0;color:#fff;line-height:1.3}
.lp .estimate__head .who{font-size:14px;color:#bcd3de;margin-top:6px;max-width:560px}
.lp .estimate__head .tag{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:30px;padding:6px 14px;font-size:12px;font-weight:600;white-space:nowrap;align-self:center}
.lp .estimate__rows{padding:8px 28px}
.lp .erow{display:grid;grid-template-columns:1fr auto;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);align-items:baseline}
.lp .erow:last-child{border-bottom:none}
.lp .erow .et{font-size:15px;color:var(--ink)}
.lp .erow .et b{font-family:var(--head);font-weight:600;display:block}
.lp .erow .et span{font-size:13.5px;color:var(--muted);display:block;margin-top:2px}
.lp .erow .ep{font-family:var(--head);font-weight:700;font-size:16px;color:var(--ink);white-space:nowrap}
.lp .estimate__total{display:grid;grid-template-columns:1fr auto;gap:16px;padding:22px 28px;background:var(--tint);align-items:center}
.lp .estimate__total .tl b{font-family:var(--head);font-weight:800;font-size:18px;color:var(--ink)}
.lp .estimate__total .tl span{display:block;font-size:13px;color:var(--muted);margin-top:3px}
.lp .estimate__total .tv{font-family:var(--head);font-weight:800;font-size:28px;color:var(--accent);white-space:nowrap}
.lp .estimate__note{padding:0 28px 24px;font-size:13.5px;color:var(--muted)}
@media(max-width:560px){
.lp .estimate__head,.lp .estimate__rows,.lp .estimate__total,.lp .estimate__note{padding-left:18px;padding-right:18px}
.lp .estimate__total .tv{font-size:24px}
}
.lp .ind-more{margin-top:26px;text-align:center}
.lp .ind-all{display:none;margin-top:26px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px}
.lp .ind-all.open{display:block}
.lp .ind-all h3{font-size:17px;margin:0 0 16px}
.lp .ind-all__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 26px}
.lp .ind-all__grid a{font-size:14.5px;color:var(--ink2);padding:5px 0;border-bottom:1px solid transparent;transition:.15s;display:inline-flex;align-items:center;gap:7px}
.lp .ind-all__grid a:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);flex:0 0 5px}
.lp .ind-all__grid a:hover{color:var(--accent)}
@media(max-width:760px){
.lp .ind-all__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
.lp .ind-all__grid{grid-template-columns:1fr}
}
.lp .cities{margin-top:30px}
.lp .cities__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px 14px}
.lp .cities__grid a{font-size:14px;color:var(--ink2);padding:9px 12px;border:1px solid var(--line);border-radius:9px;text-align:center;background:#fff;transition:.15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp .cities__grid a:hover{border-color:var(--accent);color:var(--accent)}
.lp .cities__grid a.cur{background:var(--tint);border-color:#f3cf9a;color:var(--accent-d);font-weight:600;cursor:default}
@media(max-width:980px){
.lp .cities__grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:620px){
.lp .cities__grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:420px){
.lp .cities__grid{grid-template-columns:repeat(2,1fr)}
}
.lp .indlinks{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.lp .indlink{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;text-decoration:none;transition:.18s;position:relative}
.lp .indlink:hover{transform:translateY(-3px);border-color:#bfe3f7;box-shadow:0 18px 40px -28px rgba(0,62,89,.4)}
.lp .indlink .ii{width:44px;height:44px;border-radius:11px;background:var(--tint);display:flex;align-items:center;justify-content:center}
.lp .indlink .ii svg{width:22px;height:22px;stroke:var(--accent);stroke-width:1.9;fill:none}
.lp .indlink h3{font-size:17px;line-height:24px;margin:0;color:var(--ink)}
.lp .indlink p{font-size:14px;line-height:22px;color:var(--muted);margin:0;flex:1}
.lp .indlink .go{font-family:var(--head);font-weight:600;font-size:14px;color:var(--accent);display:inline-flex;align-items:center;gap:6px}
.lp .indlink .rrtag{position:absolute;top:18px;right:18px;background:#FEE9EB;border:1px solid #f3b6ba;color:#E11D2A;font-family:var(--head);font-weight:700;font-size:11px;padding:3px 9px;border-radius:20px}
@media(max-width:880px){
.lp .indlinks{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
.lp .indlinks{grid-template-columns:1fr}
}
.lp .crumbs{padding: 14px 0 0; font-size: 13px;}
.lp .crumbs ol{display: flex; flex-wrap: wrap; gap: 6px; align-items: center; list-style: none; margin: 0; padding: 0;}
.lp .crumbs li{display: flex; align-items: center; gap: 6px; color: var(--muted, #8aa0ab);}
.lp .crumbs li:not(:last-child)::after{content: "/"; color: var(--muted, #8aa0ab); opacity: .55;}
.lp .crumbs a{color: var(--muted, #8aa0ab); text-decoration: none;}
.lp .crumbs a:hover{color: var(--accent, #FF9706);}
.lp .crumbs li:last-child [itemprop="name"]{color: var(--ink, #1a2b34);}

/* Общее для всех страниц bitrix24.team-b.ru: переменные, сброс, шапка с меню, мобильная панель, подвал,
   плашка cookie, просмотр картинки. Блоки страниц — блоки городских лендингов (landing.css, область .lp).
   Сборка склеивает: landing.css + base.css + home.css → /assets/site/home.css (главная),
   landing.css + base.css + inner.css → /assets/site/inner.css (остальные страницы). */

:root {
    --tb-ink: #111418;
    --tb-ink2: #3A4654;
    --tb-muted: #5B6573;
    --tb-line: #E4E8F0;
    --tb-soft: #F5F7FA;
    --tb-tint: #FFF2E0;
    --tb-accent: #FF9706;
    --tb-accent-d: #E8850A;
    --tb-cyan: #26BCF4;
    --tb-cyan-l: #5CCAF6;
    --tb-petrol: #003E59;
    --tb-petrol-2: #015676;
    --tb-font: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;  /* как на team-b.ru: системный, без загрузки */
    --tb-radius: 14px;
    --tb-radius-l: 22px;
    --tb-maxw: 1180px;
    --tb-header-h: 72px;
    --tb-shadow: 0 18px 40px -28px rgba(0, 62, 89, .45);
}

/* ---------- Сброс и база ---------- */
html { box-sizing: border-box; scroll-padding-top: calc(var(--tb-header-h) + 16px); -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }
body {
    margin: 0; font-family: var(--tb-font); font-size: 16px; line-height: 1.55; color: var(--tb-ink); background: #fff;
    -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
body.tb-lock { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; transition: color .15s; }
button { font: inherit; color: inherit; }
h1, h2, h3, h4 { letter-spacing: -.02em; }
main { display: block; }

.tb-wrap { max-width: var(--tb-maxw); margin: 0 auto; padding: 0 24px; }
.tb-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    font: 600 15px/1.2 var(--tb-font); padding: 12px 22px; border-radius: 11px;
    border: none; cursor: pointer; transition: background .18s, transform .18s, color .18s;
    white-space: nowrap; text-decoration: none;
}
.tb-btn--cta { background: var(--tb-accent); color: #fff; }
.tb-btn--cta:hover { background: var(--tb-cyan); color: #fff; transform: translateY(-2px); }

/* ---------- Шапка ---------- */
.tb-header {
    position: sticky; top: 0; z-index: 1000;
    background: rgba(255, 255, 255, .94);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--tb-line);
    font-family: var(--tb-font);
}
.tb-header.is-scrolled { box-shadow: 0 10px 30px -22px rgba(0, 30, 50, .45); }
.tb-header__bar {
    max-width: 1400px; height: var(--tb-header-h);
    display: flex; align-items: center; gap: 20px;
}
.tb-logo { display: flex; align-items: center; flex: 0 0 auto; }
.tb-logo img { display: block; height: 36px; width: auto; }

.tb-nav { flex: 1 1 auto; min-width: 0; }
.tb-nav__list { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.tb-nav__item { position: static; }
.tb-nav__link {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 9px 8px; border-radius: 9px;
    font: 500 15px/1.2 var(--tb-font); color: var(--tb-ink2);
    background: none; border: none; cursor: pointer; white-space: nowrap; text-decoration: none;
}
.tb-nav__link:hover, .tb-nav__item.is-open > .tb-nav__link { color: var(--tb-petrol); background: var(--tb-soft); }
.tb-nav__item.is-open > .tb-nav__link { color: var(--tb-accent); }
.tb-chevron { width: 12px; height: 12px; flex: 0 0 12px; transition: transform .2s; }
.tb-nav__item.is-open .tb-chevron { transform: rotate(180deg); }

.tb-header__right { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.tb-msgr { display: flex; gap: 8px; }
.tb-msgr__link {
    width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
    color: #fff; transition: transform .15s, opacity .15s;
}
.tb-msgr__link:hover { transform: translateY(-2px); opacity: .9; color: #fff; }
.tb-msgr__link svg { width: 19px; height: 19px; }
.tb-msgr__link--tg { background: #2AABEE; }
.tb-msgr__link--wa { background: #25D366; }
.tb-msgr__link--max { background: linear-gradient(135deg, #44CCFF, #5533EE 66%, #9933DD); }
.tb-phone {
    display: inline-flex; align-items: center; gap: 8px;
    font: 700 17px/1 var(--tb-font); color: var(--tb-ink); white-space: nowrap; text-decoration: none;
}
.tb-phone:hover { color: var(--tb-accent); }
.tb-phone__icon { display: none; width: 38px; height: 38px; border-radius: 10px; background: var(--tb-soft); align-items: center; justify-content: center; color: var(--tb-petrol); }
.tb-phone__icon svg { width: 19px; height: 19px; }
.tb-header__cta { padding: 11px 18px; }

.tb-burger {
    display: none; width: 42px; height: 42px; border-radius: 10px; border: 1px solid var(--tb-line);
    background: #fff; cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
.tb-burger span { display: block; width: 20px; height: 2px; border-radius: 2px; background: var(--tb-petrol); }

/* Выпадающая панель раздела */
.tb-mega {
    display: none; position: absolute; left: 0; right: 0; top: 100%;
    background: #fff; border-top: 1px solid var(--tb-line); border-bottom: 1px solid var(--tb-line);
    box-shadow: 0 30px 50px -30px rgba(0, 30, 50, .35);
    max-height: calc(100vh - var(--tb-header-h)); overflow-y: auto;
}
.tb-nav__item.is-open > .tb-mega { display: block; animation: tb-drop .16s ease-out; }
html:not(.tb-js) .tb-nav__item:hover > .tb-mega,
html:not(.tb-js) .tb-nav__item:focus-within > .tb-mega { display: block; }
@keyframes tb-drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.tb-mega__inner { display: grid; grid-template-columns: 250px 1fr 250px; gap: 32px; padding-top: 28px; padding-bottom: 32px; }
.tb-mega__inner:has(.tb-mega__groups) { grid-template-columns: 1fr 250px; }
.tb-mega__tabs { display: flex; flex-direction: column; gap: 4px; border-right: 1px solid var(--tb-line); padding-right: 20px; }
.tb-mega__tab {
    display: flex; justify-content: space-between; align-items: center; gap: 10px; text-align: left;
    padding: 11px 14px; border-radius: 10px; border: none; background: none; cursor: pointer;
    font: 600 15px/1.3 var(--tb-font); color: var(--tb-ink2);
}
.tb-mega__tab span { font-size: 12px; font-weight: 600; color: var(--tb-muted); background: var(--tb-soft); border-radius: 20px; padding: 2px 8px; }
.tb-mega__tab:hover, .tb-mega__tab.is-active { background: var(--tb-tint); color: var(--tb-petrol); }
.tb-mega__tab.is-active span { background: #fff; color: var(--tb-accent-d); }
.tb-mega__pane { display: none; }
.tb-mega__pane.is-active { display: block; }
html:not(.tb-js) .tb-mega__pane { display: block; margin-bottom: 24px; }
.tb-mega__groups { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 28px 32px; }
.tb-mega__title {
    font: 700 12px/1.3 var(--tb-font); letter-spacing: .1em; text-transform: uppercase;
    color: var(--tb-accent-d); margin-bottom: 12px;
}
.tb-mega__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.tb-mega__links--cols { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
.tb-mega__links a {
    display: block; padding: 7px 10px; margin: 0 -10px; border-radius: 8px;
    font: 400 15px/1.35 var(--tb-font); color: var(--tb-ink); text-decoration: none;
}
.tb-mega__links a:hover { background: var(--tb-soft); color: var(--tb-accent-d); }
.tb-mega__aside {
    align-self: start; background: linear-gradient(150deg, var(--tb-petrol-2), var(--tb-petrol));
    color: #fff; border-radius: var(--tb-radius); padding: 22px;
}
.tb-mega__aside-title { font: 700 17px/1.3 var(--tb-font); margin-bottom: 8px; }
.tb-mega__aside p { color: #cfe2ec; font-size: 14px; line-height: 21px; margin: 0 0 14px; }
.tb-mega__phone { display: block; font: 700 18px/1.2 var(--tb-font); color: #fff; text-decoration: none; margin-bottom: 14px; }
.tb-mega__phone:hover { color: var(--tb-cyan-l); }
.tb-mega__all { display: inline-block; font: 600 14px/1.2 var(--tb-font); color: #FFC766; text-decoration: none; }
.tb-mega__all:hover { color: #fff; }

/* Мобильная панель */
.tb-drawer {
    position: fixed; top: 0; right: 0; bottom: 0; z-index: 1002;
    width: min(420px, 100%); background: #fff; display: flex; flex-direction: column;
    transform: translateX(100%); transition: transform .25s ease;
    box-shadow: -20px 0 50px -20px rgba(0, 30, 50, .35);
}
.tb-drawer[hidden] { display: flex; visibility: hidden; }
.tb-drawer.is-open { transform: none; visibility: visible; }
.tb-backdrop { position: fixed; inset: 0; z-index: 1001; background: rgba(0, 25, 40, .45); }
.tb-backdrop[hidden] { display: none; }
.tb-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; border-bottom: 1px solid var(--tb-line); }
.tb-drawer__close { width: 42px; height: 42px; border: none; background: var(--tb-soft); border-radius: 10px; cursor: pointer; color: var(--tb-petrol); display: flex; align-items: center; justify-content: center; }
.tb-drawer__close svg { width: 22px; height: 22px; }
.tb-drawer__nav { flex: 1 1 auto; overflow-y: auto; padding: 8px 20px 16px; }
.tb-acc { border-bottom: 1px solid var(--tb-line); }
.tb-acc > summary {
    display: flex; align-items: center; gap: 8px; list-style: none; cursor: pointer;
    padding: 15px 0; font: 600 17px/1.3 var(--tb-font); color: var(--tb-ink);
}
.tb-acc > summary::-webkit-details-marker { display: none; }
.tb-acc > summary .tb-chevron { margin-left: auto; width: 14px; height: 14px; color: var(--tb-muted); }
.tb-acc[open] > summary { color: var(--tb-accent-d); }
.tb-acc[open] > summary .tb-chevron { transform: rotate(180deg); }
.tb-acc__body { padding: 0 0 10px; }
.tb-acc--sub { border-bottom: none; margin-left: 4px; }
.tb-acc--sub > summary { padding: 10px 0; font-size: 15px; font-weight: 600; color: var(--tb-ink2); }
.tb-acc--sub > summary span { font-size: 12px; color: var(--tb-muted); background: var(--tb-soft); border-radius: 20px; padding: 1px 7px; }
.tb-acc__links { list-style: none; margin: 0; padding: 0 0 6px 12px; border-left: 2px solid var(--tb-tint); }
.tb-acc__links a { display: block; padding: 8px 0; font: 400 15px/1.35 var(--tb-font); color: var(--tb-ink); text-decoration: none; }
.tb-acc__links a:hover { color: var(--tb-accent-d); }
.tb-drawer__link { display: block; padding: 15px 0; border-bottom: 1px solid var(--tb-line); font: 600 17px/1.3 var(--tb-font); color: var(--tb-ink); text-decoration: none; }
.tb-drawer__foot { padding: 16px 20px 22px; border-top: 1px solid var(--tb-line); display: grid; gap: 14px; background: var(--tb-soft); }
.tb-drawer__phone { font: 700 20px/1.2 var(--tb-font); color: var(--tb-ink); text-decoration: none; }
.tb-drawer__cta { width: 100%; padding: 14px 22px; }

.tb-mega__aside .tb-msgr { margin-bottom: 14px; }
/* Пункт «Компания» — небольшой выпадающий список (кейсы, блог, цены) */
.tb-nav__item--drop { position: relative; }
.tb-drop {
    display: none; position: absolute; left: 0; top: calc(100% + 10px); min-width: 210px; padding: 8px;
    background: #fff; border: 1px solid var(--tb-line); border-radius: 12px; box-shadow: 0 24px 44px -24px rgba(0, 30, 50, .35);
}
.tb-nav__item--drop.is-open > .tb-drop { display: grid; animation: tb-drop .16s ease-out; }
html:not(.tb-js) .tb-nav__item--drop:hover > .tb-drop, html:not(.tb-js) .tb-nav__item--drop:focus-within > .tb-drop { display: grid; }
.tb-drop a { display: block; padding: 9px 12px; border-radius: 8px; font: 500 15px/1.3 var(--tb-font); color: var(--tb-ink); text-decoration: none; }
.tb-drop a:hover { background: var(--tb-soft); color: var(--tb-accent-d); }
/* Мессенджеры (Telegram, WhatsApp, MAX) — в строке шапки, как у лендинга */
@media (min-width: 1080px) and (max-width: 1319px) { .tb-header__right > .tb-msgr { display: none; } }
@media (max-width: 1439px) {
    .tb-phone__text { display: none; }
    .tb-phone__icon { display: flex; }
}
@media (max-width: 1199px) {
    .tb-header__cta { display: none; }
}
@media (max-width: 1079px) {
    .tb-nav { display: none; }
    .tb-burger { display: flex; }
    .tb-header__bar { justify-content: space-between; }
}
@media (max-width: 575px) {
    :root { --tb-header-h: 62px; }
    .tb-msgr { display: none; }
    .tb-header__right .tb-msgr { display: none; }
    .tb-drawer .tb-msgr { display: flex; }
    .tb-logo img { height: 30px; }
    .tb-header__bar { padding: 0 16px; gap: 12px; }
}

/* ---------- Подвал ---------- */
.tb-footer { background: var(--tb-petrol); color: #bcd3de; padding: 56px 0 28px; font-family: var(--tb-font); margin-top: 0; }
.tb-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 36px; }
.tb-footer__about p { color: #bcd3de; font-size: 14px; line-height: 22px; margin: 16px 0 0; max-width: 340px; }
.tb-logo--light img { filter: brightness(0) invert(1); height: 34px; }
.tb-footer__title { font: 700 15px/1.3 var(--tb-font); color: #fff; margin-bottom: 14px; }
.tb-footer a { display: block; color: #bcd3de; font-size: 14px; line-height: 20px; padding: 4px 0; text-decoration: none; }
.tb-footer a:hover { color: #fff; }
.tb-footer .tb-footer__phone { font: 700 18px/1.3 var(--tb-font); color: #fff; margin-bottom: 4px; }
.tb-footer__bottom {
    display: flex; flex-wrap: wrap; gap: 10px 28px; align-items: center;
    margin-top: 40px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px;
}
.tb-footer__bottom .copy { color: #8fb0c0; margin-right: auto; }
.tb-footer__bottom a { font-size: 13px; color: #8fb0c0; }
@media (max-width: 991px) { .tb-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .tb-footer__grid { grid-template-columns: 1fr; gap: 28px; } .tb-footer { padding-top: 40px; } }

/* ---------- Блоки лендинга на сайте: шрифт сайта и то, чего у лендинга нет ---------- */
.lp { --head: var(--tb-font); --body: var(--tb-font); background: #fff; overflow-x: clip; }
.lp h2 span { color: var(--accent); }
.lp .hero .eyebrow { color: var(--cyan-l, #5CCAF6); }
.lp .lp-grid { margin-top: 30px; }
.lp .lp-narrow { max-width: 860px; }
.lp .lp-accent { color: #FFC766; }
.lp .lp-more { margin-top: 34px; text-align: center; }
.lp .lp-more__text { margin: 0 0 16px; font-size: 17px; color: var(--ink); font-weight: 600; }
.lp .case { color: inherit; }
.lp .case .ctitle { color: var(--ink); }
.lp .case:hover .ctitle { color: var(--accent-d); }
.lp .card .ic img { width: 24px; height: 24px; }
.lp .lp-checks { list-style: none; margin: 4px 0 0; padding: 0; }
.lp .lp-checks li { display: flex; gap: 10px; padding: 5px 0; font-size: 14px; line-height: 22px; color: var(--ink2); }
.lp .lp-checks svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; stroke: var(--good); stroke-width: 2.4; fill: none; }
/* Заявка (форма Битрикс24 в синем блоке) */
.lp .lp-form__text { font-size: 18px; margin-top: 12px; }
.lp .lp-form__tel { margin-top: 18px; font: 700 22px/1.3 var(--head); }
.lp .lp-form__tel a { color: #fff; }
.lp .lp-form__mail { margin-top: 6px; }
.lp .lp-form__mail a { color: #cfe2ec; border-bottom: 1px solid rgba(255, 255, 255, .3); }
/* Логотипы клиентов — плитки как карточки лендинга */
.lp .lp-logos { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; margin-top: 30px; }
.lp .lp-logo {
    display: flex; align-items: center; justify-content: center; height: 92px; padding: 10px 14px;
    background: #fff; border: 1px solid var(--line); border-radius: var(--radius); transition: .18s;
}
.lp .lp-logo:hover { border-color: #bfe3f7; transform: translateY(-3px); box-shadow: 0 18px 40px -28px rgba(0, 62, 89, .4); }
.lp .lp-logo img { max-width: 100%; max-height: 64px; width: auto; height: auto; object-fit: contain; mix-blend-mode: multiply; }
@media (max-width: 980px) { .lp .lp-logos { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 600px) { .lp .lp-logos { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Плашка cookie (templates/parts/cookie.html) ---------- */
.cookie-message {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; background: #fff; color: var(--tb-ink);
    box-shadow: 0 -10px 30px -12px rgba(0, 30, 50, .35); font-size: 15px; line-height: 1.5;
}
.cookie-message .cookie-text {
    max-width: var(--tb-maxw); margin: 0 auto; padding: 14px 24px;
    display: flex; justify-content: space-between; align-items: center; gap: 16px 48px;
}
.cookie-message .cookie-text p { margin: 0; color: var(--tb-ink2); }
.cookie-message .cookie-text a:not(.tb-btn) { color: var(--tb-petrol); text-decoration: underline; }
@media (max-width: 767px) { .cookie-message .cookie-text { flex-direction: column; align-items: flex-start; padding: 12px 16px; font-size: 14px; } }

/* ---------- Просмотр картинки (site.js, ссылки с data-fancybox) ---------- */
.tb-viewer {
    position: fixed; inset: 0; z-index: 10000;
    display: flex; align-items: center; justify-content: center;
    padding: 48px 16px; background: rgba(17, 20, 24, .88); cursor: zoom-out;
}
.tb-viewer img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 6px; box-shadow: 0 24px 60px rgba(0, 0, 0, .45); }
.tb-viewer__close {
    position: absolute; top: 12px; right: 16px; width: 40px; height: 40px;
    border: none; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff;
    font: 400 28px/40px var(--tb-font); cursor: pointer;
}
.tb-viewer__close:hover { background: var(--tb-accent); }

/* Внутренние страницы (услуги, кейсы, блог, прайс, промо, правила, 404): первый экран, крошки, текст и
   блоки содержимого (templates/parts/blocks.html). Основа — блоки лендинга (landing.css), здесь — то, чего
   у лендинга нет: типографика длинного текста, таблицы, мета статьи, пагинатор, мелкие дополнения блоков. */

/* ---------- Первый экран без карточки (списки, материалы, простые страницы) ---------- */
.lp .lp-hero--page .wrap { padding-top: 64px; padding-bottom: 68px; }
.lp .lp-hero--page .hero-grid { grid-template-columns: 1fr; }
.lp .lp-hero--page h1, .lp .lp-hero--page .lp-hero-title { max-width: 920px; }
.lp .lp-hero--page .lead { max-width: 760px; margin-bottom: 0; }
.lp .lp-hero--page .hero-cta { margin-top: 28px; }
@media (max-width: 600px) { .lp .lp-hero--page .wrap { padding-top: 44px; padding-bottom: 48px; } }

/* ---------- Крошки ---------- */
.lp .crumbs { line-height: 1.5; }
.lp .crumbs li:last-child span { color: var(--ink); }

/* ---------- Секции содержимого ----------
   Текст — белая секция с узкой колонкой; подряд идущие текстовые секции — общим потоком (без двойных отступов). */
.lp .sec-text { padding: 48px 0; }
.lp .sec-text + .sec-text { padding-top: 0; }
.lp .sec-meta { padding: 28px 0 0; }
.lp .sec-meta + .sec-text { padding-top: 28px; }
.lp .lp-lead { margin-top: 4px; }
.lp .lp-lead p + p { margin-top: 10px; }
.lp .lp-actions { margin-top: 28px; }
.lp .lr .lp-actions { margin-top: 8px; }

/* ---------- Текст (.lr): заголовки, абзацы, списки, таблицы, картинки, цитаты ---------- */
.lp .lr { color: var(--ink2); }
.lp .lr > :not(table):not(.lp-actions) { max-width: 860px; }
.lp .lr h1, .lp .lr h2 { font-size: clamp(26px, 3vw, 36px); line-height: 1.22; color: var(--ink); margin: 44px 0 14px; }
.lp .lr h3 { font-size: clamp(18px, 1.8vw, 21px); line-height: 1.3; color: var(--ink); margin: 30px 0 10px; }
.lp .lr h4 { font-size: 17px; line-height: 24px; color: var(--ink); margin: 24px 0 8px; }
.lp .lr > :first-child { margin-top: 0; }
.lp .lr > :last-child { margin-bottom: 0; }
.lp .lr ul, .lp .lr ol { margin: 0 0 18px; padding: 0; }
.lp .lr ul { list-style: none; }
.lp .lr ul > li { position: relative; padding-left: 22px; margin: 0 0 8px; font-size: 16px; line-height: 27px; }
.lp .lr ul > li::before { content: ""; position: absolute; left: 4px; top: 11px; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.lp .lr ol { padding-left: 24px; }
.lp .lr ol > li { margin: 0 0 8px; font-size: 16px; line-height: 27px; padding-left: 4px; }
.lp .lr li > ul, .lp .lr li > ol { margin: 8px 0 0; }
.lp .lr a { color: var(--accent-d); border-bottom: 1px solid rgba(232, 133, 10, .35); }
.lp .lr a:hover { color: var(--petrol); border-bottom-color: currentColor; }
.lp .lr b, .lp .lr strong { color: var(--ink); font-weight: 700; }
.lp .lr mark { background: var(--tint); color: var(--ink); padding: 1px 4px; border-radius: 4px; }
.lp .lr img { display: block; margin: 24px 0; border-radius: var(--radius); border: 1px solid var(--line); }
.lp .lr figure { margin: 24px 0; }
.lp .lr blockquote {
    margin: 24px 0; padding: 22px 26px; background: var(--soft); border-left: 4px solid var(--accent);
    border-radius: 0 var(--radius) var(--radius) 0;
}
.lp .lr blockquote p:last-child { margin-bottom: 0; }
.lp .lr nav { margin: 0 0 24px; padding: 22px 26px; background: var(--soft); border-radius: var(--radius); }
.lp .lr nav ul { margin: 0; }
.lp .lr nav li { margin: 0 0 6px; font-size: 15px; line-height: 24px; }
.lp .lr nav a { border-bottom: 0; }
.lp .lr table, .lp .lp-table {
    width: 100%; border-collapse: separate; border-spacing: 0; margin: 24px 0 28px; background: #fff;
    border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden;
}
.lp .lr th, .lp .lr td, .lp .lp-table th, .lp .lp-table td {
    padding: 13px 16px; text-align: left; vertical-align: top; font-size: 15px; line-height: 22px;
    color: var(--ink2); border-bottom: 1px solid var(--line);
}
.lp .lr thead th, .lp .lp-table thead th { background: var(--petrol); color: #fff; font-weight: 600; }
.lp .lr tbody tr:nth-child(even) td, .lp .lp-table tbody tr:nth-child(even) td { background: var(--soft); }
.lp .lr tr:last-child td, .lp .lp-table tr:last-child td { border-bottom: 0; }
.lp .lr td:first-child, .lp .lp-table td:first-child { color: var(--ink); font-weight: 500; }
.lp .lr td ul > li, .lp .lr td ol > li { font-size: 15px; line-height: 22px; margin-bottom: 4px; }
.lp .tbl-wrap .lp-table { margin: 0; border: 0; border-radius: 0; }
.lp .lp-pricelist td:last-child { white-space: nowrap; font-weight: 700; color: var(--petrol); text-align: right; }
.lp .lp-pricelist th:last-child { text-align: right; }
@media (max-width: 700px) {
    .lp .lr table { display: block; overflow-x: auto; }
    .lp .lp-pricelist td:last-child { white-space: normal; }
}

/* ---------- Блоки: карточки, этапы, вопросы, тарифы, ссылки, ниши ---------- */
.lp .card > p, .lp .step > p { margin: 0; color: var(--ink2); }
.lp .card > p + p, .lp .step > p + p { margin-top: 8px; }
.lp .card ul, .lp .step ul { margin: 8px 0 0; padding-left: 18px; font-size: 14px; line-height: 22px; color: var(--ink2); }
.lp .card:hover { transform: none; }
.lp .lp-faq { max-width: 860px; }
.lp .faq .ans p { margin: 0 0 10px; }
.lp .faq .ans p:last-child { margin-bottom: 0; }
.lp .faq .ans ul { margin: 0 0 10px; padding-left: 20px; }
.lp .pkg .price { color: var(--ink); }
.lp .pkg li span { flex: 1; }
.lp .pkg li.plus { color: var(--petrol); font-weight: 600; }
.lp .pkg .btn { align-self: flex-start; }
.lp .indlink .ctag { align-self: flex-start; background: #E6F6FE; border: 1px solid #B5E4F9; color: var(--petrol); border-radius: 30px; padding: 4px 14px; font-size: 12px; font-weight: 600; }
.lp .indlink .lp-checks { margin: 0; }
.lp .indlink .btn { align-self: flex-start; margin-top: 6px; }
.lp .indlink .lp-price { margin-top: auto; font: 700 17px/1.2 var(--head); color: var(--petrol); }
.lp .lp-services .ii img { width: 24px; height: 24px; }
.lp .lp-tags { list-style: none; margin: 26px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.lp .lp-tags li {
    padding: 9px 15px; background: #fff; border: 1px solid var(--line); border-radius: 30px;
    font-size: 15px; line-height: 20px; color: var(--ink2);
}

/* ---------- Тёмный блок заявки (cta) ---------- */
.lp .lp-cta { grid-template-columns: 1.6fr 1fr; align-items: center; }
.lp .lp-cta h2 { margin-bottom: 14px; }
.lp .lp-cta p { color: #cfe2ec; font-size: 16px; line-height: 26px; margin: 0 0 12px; }
.lp .lp-cta p:last-child { margin-bottom: 0; }
.lp .lp-cta b, .lp .lp-cta strong { color: #fff; }
.lp .lp-cta__action { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.lp .lp-cta__note { font-size: 14px; color: #9fc1d1; }
@media (max-width: 900px) { .lp .lp-cta { grid-template-columns: 1fr; gap: 24px; } }

/* ---------- Списки кейсов и статей: карточка .case лендинга ---------- */
.lp .lp-posts { margin: 0; }
.lp .lp-case { gap: 12px; color: inherit; text-decoration: none; }
.lp .lp-case__img {
    display: flex; align-items: center; justify-content: center; height: 150px; margin: -4px -4px 4px;
    background: var(--soft); border-radius: 10px; overflow: hidden;
}
.lp .lp-case__img img { max-width: 80%; max-height: 110px; object-fit: contain; mix-blend-mode: multiply; }
.lp .lp-case:hover .ctitle { color: var(--accent-d); }
.lp .lp-case__text { flex: 1; font-size: 14px; line-height: 22px; color: var(--ink2); display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.lp .lp-go { font: 600 14px/1.2 var(--head); color: var(--accent); }
.lp .lp-author { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; line-height: 18px; color: var(--muted); }
.lp .lp-author img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.lp .lp-author b { display: block; color: var(--ink); font-weight: 600; }

/* ---------- Строка материала: дата, время чтения, автор ---------- */
.lp .lp-meta { max-width: 860px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; font-size: 14px; color: var(--muted); }
.lp .lp-meta > time, .lp .lp-meta > span:not(.lp-author) { display: inline-flex; align-items: center; }
.lp .lp-meta > span:not(.lp-author)::before { content: "·"; margin-right: 22px; color: var(--line); font-weight: 700; }
.lp .lp-meta__link { margin-left: auto; font: 600 14px/1.2 var(--head); color: var(--accent-d); }
.lp .lp-meta__link:hover { color: var(--petrol); }

/* ---------- Пагинатор ---------- */
.lp .lp-pager { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.lp .lp-pager__page, .lp .lp-pager__arrow {
    display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 14px;
    border: 1px solid var(--line); border-radius: 11px; background: #fff; font: 600 15px/1 var(--head); color: var(--ink2);
}
.lp a.lp-pager__page:hover, .lp a.lp-pager__arrow:hover { border-color: var(--accent); color: var(--accent-d); }
.lp .lp-pager__page.is-current { background: var(--petrol); border-color: var(--petrol); color: #fff; }
