/* v24: плотная B2B-компоновка коммерческих страниц. Шапка, футер и синяя форма не переопределяются. */
.services-page,.commercial-detail,.contact-page{
  --cr-blue:#477ed3;
  --cr-blue-dark:#2f64b8;
  --cr-blue-soft:#eef4fd;
  --cr-yellow:#f0d64d;
  --cr-ink:#101318;
  --cr-muted:#596574;
  --cr-line:rgba(71,126,211,.23);
  background:#fff;
  color:var(--cr-ink);
}

.services-page h1,.services-page h2,.services-page h3,
.commercial-detail h1,.commercial-detail h2,.commercial-detail h3,
.contact-page h1,.contact-page h2,.contact-page h3{
  overflow-wrap:anywhere;
  font-family:TildaSans,Arial,sans-serif;
  text-wrap:balance;
}

/* Кластеризированная страница услуг. */
.services-hero{padding:38px 0 0;background:linear-gradient(180deg,#fff 0%,#f7faff 100%)}
.services-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:46px;align-items:center}
.services-hero h1{max-width:720px;margin:0 0 22px;color:var(--cr-blue);font-size:clamp(48px,5.2vw,72px);line-height:.99;letter-spacing:-.045em}
.services-hero h1 em{color:var(--cr-blue);font-style:normal;font-weight:400}
.services-hero-lead{max-width:720px;margin:0;color:#283444;font-size:19px;line-height:1.48}
.services-hero-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:27px}
.services-hero-actions>.button{min-height:50px;border:0;background:var(--cr-blue);color:#fff}
.services-phone{padding:12px 4px;color:var(--cr-blue);font-size:19px;font-weight:800;text-decoration:none;white-space:nowrap}
.services-messengers .msg{width:45px;height:45px;justify-content:center;padding:0}
.services-messengers .msg span{display:none}
.services-hero figure{margin:0;overflow:hidden;border:1px solid var(--cr-line);border-radius:32px;background:#eaf1fb;box-shadow:0 22px 54px rgba(47,100,184,.14)}
.services-hero figure img{width:100%;height:350px;object-fit:cover}
.services-hero figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#fff;color:var(--cr-muted);font-size:12px;line-height:1.35}
.services-jump{display:grid;width:min(1200px,calc(100% - 40px));margin:38px auto 0;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--cr-line);border-bottom:0;border-radius:24px 24px 0 0;background:#fff;overflow:hidden}
.services-jump a{display:grid;min-height:92px;align-content:center;gap:6px;padding:17px 18px;border-right:1px solid var(--cr-line);text-decoration:none}
.services-jump a:last-child{border-right:0}
.services-jump b{color:var(--cr-blue);font-size:12px;letter-spacing:.12em}
.services-jump span{font-size:15px;font-weight:750;line-height:1.2}
.services-jump a:hover,.services-jump a:focus-visible{background:var(--cr-blue-soft);outline:0}

.service-cluster{padding:70px 0;border-top:1px solid var(--cr-line);background:#fff;scroll-margin-top:20px}
.service-cluster:nth-of-type(even){background:#f8faff}
.service-cluster-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:42px;align-items:start}
.service-cluster-layout>header{position:sticky;top:22px}
.service-cluster-layout>header h2{margin:0 0 16px;color:var(--cr-blue);font-size:37px;line-height:1.03;letter-spacing:-.035em}
.service-cluster-layout>header p{margin:0;color:var(--cr-muted);line-height:1.5}
.service-cluster-count{display:inline-flex;margin-top:24px;padding:7px 12px;border-radius:999px;background:var(--cr-yellow);font-size:13px;font-weight:800}
.service-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}
.service-card{display:flex;min-width:0;grid-column:span 2;flex-direction:column;overflow:hidden;border:1px solid var(--cr-line);border-radius:23px;background:#fff;color:var(--cr-ink);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.service-card-count-3 .service-card:not(.is-featured){grid-column:span 3}
.service-card-count-2 .service-card{grid-column:span 3}
.service-card:hover,.service-card:focus-visible{transform:translateY(-3px);border-color:var(--cr-blue);box-shadow:0 16px 40px rgba(47,100,184,.12);outline:0}
.service-card figure{position:relative;margin:0;overflow:hidden;background:#edf3fb}
.service-card figure img{width:100%;height:164px;object-fit:cover;transition:transform .25s ease}
.service-card:hover figure img{transform:scale(1.025)}
.service-card figure figcaption{display:grid;min-height:62px;align-content:center;gap:5px;padding:9px 11px;border-top:1px solid var(--cr-line);background:#fff;color:#4d5968;font-size:10px;font-weight:700;line-height:1.3}
.service-card-copy{display:flex;min-height:320px;flex:1;flex-direction:column;padding:18px}
.service-card-copy>small{color:var(--cr-blue);font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.service-card h3{margin:9px 0;color:var(--cr-blue);font-size:23px;line-height:1.07;letter-spacing:-.025em}
.service-card p{margin:0;color:var(--cr-muted);font-size:14px;line-height:1.45}
.service-card dl{margin:18px 0 20px;padding-top:15px;border-top:1px solid var(--cr-line)}
.service-card dt{color:#6b7581;font-size:11px;font-weight:800;text-transform:uppercase}
.service-card dd{margin:5px 0 0;font-size:14px;line-height:1.4}
.service-card-copy>b{margin-top:auto;color:var(--cr-blue);font-size:14px}
.service-card.is-featured{display:grid;grid-column:1/-1;grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr)}
.service-card.is-featured figure img{height:100%;min-height:340px}
.service-card.is-featured .service-card-copy{min-height:340px;justify-content:center;padding:30px}
.service-card.is-featured h3{font-size:34px}
.service-card.is-featured p,.service-card.is-featured dd{font-size:16px}

.services-form-band{padding:62px 0;background:var(--cr-blue-soft);border-block:1px solid var(--cr-line)}
.services-form-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.7fr);gap:58px;align-items:center}
.services-form-layout h2{max-width:650px;margin:0 0 16px;color:var(--cr-blue);font-size:48px;line-height:1.02}
.services-form-layout p{max-width:680px;color:#344151;font-size:18px}
.services-form-layout ul{display:grid;gap:9px;margin:22px 0 0;padding:0;list-style:none}
.services-form-layout li:before{content:'✓';margin-right:9px;color:var(--cr-blue);font-weight:900}
.services-form-layout .lead-form{max-width:470px;margin-left:auto}
.service-route{padding:72px 0;background:#fff}
.service-route .section-head{margin-bottom:30px}
.service-route h2{margin:0;color:var(--cr-blue);font-size:46px;line-height:1.02}
.service-route ol{display:grid;margin:0;padding:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;list-style:none;border:1px solid var(--cr-line);border-radius:24px;overflow:hidden}
.service-route li{position:relative;display:grid;min-height:116px;align-content:center;gap:8px;padding:20px;border-right:1px solid var(--cr-line);background:#fff}
.service-route li:last-child{border-right:0}
.service-route li:nth-child(even){background:var(--cr-blue-soft)}
.service-route li b{color:var(--cr-blue);font-size:13px}
.service-route li span{font-weight:800;line-height:1.25}

/* Единый шаблон коммерческих посадочных. */
.commercial-hero{padding:34px 0 48px;background:linear-gradient(180deg,#fff 0%,#f7faff 100%);border-bottom:1px solid var(--cr-line)}
.commercial-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr);gap:46px;align-items:center}
.commercial-hero-copy h1{max-width:720px;margin:0;color:var(--cr-blue);font-size:clamp(46px,4.7vw,66px);line-height:1.01;letter-spacing:-.04em}
.commercial-lead{max-width:720px;margin:19px 0 0;color:#2e3947;font-size:18px;line-height:1.5}
.commercial-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:25px}
.commercial-actions>.button{min-height:50px;border:0;background:var(--cr-blue);color:#fff}
.commercial-phone{padding:11px 3px;color:var(--cr-blue);font-size:19px;font-weight:800;text-decoration:none;white-space:nowrap}
.commercial-messengers .msg{width:44px;height:44px;justify-content:center;padding:0}
.commercial-messengers .msg span{display:none}
.commercial-context-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}
.commercial-context-nav a{padding:7px 10px;border:1px solid var(--cr-line);border-radius:999px;background:#fff;color:var(--cr-blue);font-size:12px;font-weight:750;text-decoration:none}
.commercial-context-nav a:hover,.commercial-context-nav a:focus-visible{border-color:var(--cr-blue);background:var(--cr-blue-soft);outline:0}
.commercial-visual{margin:0;overflow:hidden;border:1px solid var(--cr-line);border-radius:30px;background:#eaf1fb;box-shadow:0 18px 48px rgba(47,100,184,.13)}
.commercial-visual img{width:100%;height:374px;object-fit:cover}
.commercial-visual figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#fff;color:var(--cr-muted);font-size:12px;line-height:1.4}
.commercial-hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px}
.commercial-hero-facts article{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-content:start;padding:16px 17px;border:1px solid var(--cr-line);border-radius:18px;background:#fff}
.commercial-hero-facts b{grid-row:1/3;color:var(--cr-blue);font-size:13px;letter-spacing:.1em}
.commercial-hero-facts small{color:#65717f;font-size:11px;font-weight:800;text-transform:uppercase}
.commercial-hero-facts p{margin:5px 0 0;color:#273342;font-size:14px;line-height:1.4}
.commercial-detail .section{padding:62px 0}
.commercial-detail .section h2{font-size:clamp(34px,4vw,50px);line-height:1.04;letter-spacing:-.035em}
.commercial-detail .section-head{margin-bottom:28px}
.commercial-detail .section-head.split{gap:42px}
.commercial-detail .section-head.split p{margin-bottom:2px;font-size:16px;line-height:1.5}
.commercial-detail .detail-applications,.commercial-detail .detail-options,.commercial-detail .detail-recommendations{background:#fff}
.commercial-detail .detail-risks,.commercial-detail .detail-process,.commercial-detail .commercial-calculation{background:#f7faff}
.commercial-detail .detail-list-grid,.commercial-detail .recommendation-grid,.commercial-detail .option-grid{gap:13px}
.commercial-detail .detail-list-grid article,.commercial-detail .recommendation-grid article,.commercial-detail .option-grid article{padding:19px;border:1px solid var(--cr-line);border-radius:19px;box-shadow:none}
.commercial-detail .detail-list-grid article>b{margin-bottom:15px}
.commercial-detail .recommendation-grid h3,.commercial-detail .option-grid h3{color:var(--cr-blue);font-size:20px}
.commercial-detail .detail-two-column{gap:42px}
.commercial-detail .risk-list{gap:9px}
.commercial-detail .risk-list li{padding:16px 18px 16px 54px;border:1px solid var(--cr-line);border-radius:16px}
.commercial-detail .process-delivery-grid{gap:20px}
.commercial-detail .process-delivery-grid>div,.commercial-detail .process-delivery-grid>aside{padding:24px;border:1px solid var(--cr-line);border-radius:22px}
.commercial-detail .process-delivery-grid>aside{border-color:var(--cr-blue);background:var(--cr-blue)}
.commercial-detail .process-delivery-grid h2{font-size:35px}
.commercial-detail .process-delivery-grid ol{gap:9px}
.commercial-detail .process-delivery-grid li{padding:14px 14px 14px 44px}
.commercial-detail .form-layout{gap:55px;align-items:center}
.commercial-detail .commercial-calculation .lead-form{max-width:470px;margin-left:auto}
.commercial-detail .faq-section{background:#fff}
.commercial-detail .related{background:#f7faff}

.service-scope{padding:48px 0!important;background:#fff}
.service-scope-grid{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:13px}
.service-scope article{padding:23px;border:1px solid var(--cr-line);border-radius:20px;background:#f8faff}
.service-scope .service-scope-main{background:var(--cr-blue);color:#fff}
.service-scope article>span{color:var(--cr-blue);font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.service-scope-main>span{color:var(--cr-yellow)!important}
.service-scope h2{margin:8px 0 13px!important;color:var(--cr-blue)!important;font-size:28px!important}
.service-scope-main h2{color:#fff!important}
.service-scope p{margin:0;color:#344151;line-height:1.47}
.service-scope-main ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.service-scope-main li:before{content:'✓';margin-right:8px;color:var(--cr-yellow);font-weight:900}

/* Контакты как коммерческая страница, а не строка адреса. */
.contact-hero{padding:36px 0 50px;background:linear-gradient(180deg,#fff 0%,#f7faff 100%);border-bottom:1px solid var(--cr-line)}
.contact-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);gap:48px;align-items:center}
.contact-hero h1{max-width:680px;margin:0;color:var(--cr-blue);font-size:clamp(48px,5.2vw,72px);line-height:.99;letter-spacing:-.045em}
.contact-hero h1 em{color:var(--cr-blue);font-weight:400}
.contact-lead{max-width:680px;margin:20px 0 0;color:#2e3947;font-size:18px;line-height:1.5}
.contact-primary-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:25px 0 22px}
.contact-phone{color:var(--cr-blue);font-size:30px;font-weight:850;line-height:1;text-decoration:none}
.contact-messengers .msg{min-height:44px}
.contact-address{padding:17px 19px;border-left:4px solid var(--cr-yellow);border-radius:0 16px 16px 0;background:#fff}
.contact-address small{color:#697481;font-size:11px;font-weight:800;text-transform:uppercase}
.contact-address address{margin:5px 0 3px;font-style:normal;font-size:19px;font-weight:800;line-height:1.3}
.contact-address p{margin:0;color:var(--cr-muted);font-size:13px}
.contact-hero figure{margin:0;overflow:hidden;border:1px solid var(--cr-line);border-radius:30px;background:#eaf1fb;box-shadow:0 20px 52px rgba(47,100,184,.14)}
.contact-hero figure img{width:100%;height:420px;object-fit:cover}
.contact-hero figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 15px;background:#fff;color:var(--cr-muted);font-size:12px;line-height:1.4}
.media-note{display:inline-flex;flex:0 0 auto;align-items:center;padding:3px 7px;border-radius:999px;background:var(--cr-blue-soft,#eef4fd);color:var(--cr-blue,#477ed3);font-size:9px;font-weight:850;letter-spacing:.02em;white-space:nowrap}
.service-card .media-note{justify-self:start}
.real-photo figcaption:has(.media-note),.source-photo figcaption:has(.media-note){display:flex;align-items:center;justify-content:space-between;gap:12px}
.contact-channels{padding:42px 0;background:#fff}
.contact-channel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.contact-channel-grid a{display:flex;min-height:174px;flex-direction:column;padding:20px;border:1px solid var(--cr-line);border-radius:20px;background:#fff;text-decoration:none}
.contact-channel-grid a:hover,.contact-channel-grid a:focus-visible{border-color:var(--cr-blue);background:var(--cr-blue-soft);outline:0}
.contact-channel-grid small{color:var(--cr-blue);font-size:11px;font-weight:850;text-transform:uppercase}
.contact-channel-grid strong{margin:14px 0 auto;font-size:21px;line-height:1.15}
.contact-channel-grid span{margin-top:18px;color:var(--cr-blue);font-size:13px;font-weight:800}
.contact-channel-grid .is-wa{border-top:5px solid #25d366}
.contact-channel-grid .is-tg{border-top:5px solid #29a9ea}
.contact-brief{padding:66px 0;background:#f7faff;border-block:1px solid var(--cr-line)}
.contact-brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-brief-grid>div{padding:27px;border:1px solid var(--cr-line);border-radius:23px;background:#fff}
.contact-brief h2{margin:0 0 20px;color:var(--cr-blue);font-size:38px;line-height:1.04}
.contact-brief ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.contact-brief ul li:before{content:'✓';margin-right:9px;color:var(--cr-blue);font-weight:900}
.contact-brief ol{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.contact-brief ol li{display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;padding:11px 13px;border-radius:14px;background:var(--cr-blue-soft)}
.contact-brief ol b{color:var(--cr-blue);font-size:12px}
.contact-form-section{padding:64px 0!important;background:#fff}
.contact-form-section .form-layout{gap:56px;align-items:center}
.contact-form-section .lead-form{max-width:470px;margin-left:auto}

@media(max-width:1020px){
  .services-hero-grid,.commercial-hero-grid,.contact-hero-grid{grid-template-columns:1fr 1fr;gap:30px}
  .services-jump{grid-template-columns:repeat(3,1fr)}
  .services-jump a:nth-child(3){border-right:0}
  .services-jump a:nth-child(-n+3){border-bottom:1px solid var(--cr-line)}
  .service-cluster-layout{grid-template-columns:220px minmax(0,1fr);gap:28px}
  .service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-card,.service-card-count-2 .service-card,.service-card-count-3 .service-card:not(.is-featured){grid-column:auto}
  .service-card.is-featured{grid-column:1/-1}
  .contact-channel-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:640px){
  .services-hero figure figcaption,.commercial-visual figcaption,.contact-hero figure figcaption,.real-photo figcaption:has(.media-note),.source-photo figcaption:has(.media-note){display:grid;justify-items:start;gap:7px}
}

@media(max-width:820px){
  .services-hero-grid,.commercial-hero-grid,.contact-hero-grid,.service-cluster-layout,.services-form-layout,.service-scope-grid,.contact-brief-grid{grid-template-columns:1fr}
  .services-hero figure,.commercial-visual,.contact-hero figure{max-width:650px}
  .services-hero figure img{height:320px}
  .commercial-visual img,.contact-hero figure img{height:350px}
  .service-cluster-layout>header{position:static}
  .service-cluster-layout>header p{max-width:680px}
  .services-form-layout .lead-form,.commercial-detail .commercial-calculation .lead-form,.contact-form-section .lead-form{width:100%;max-width:none;margin-left:0}
  .commercial-hero-facts{grid-template-columns:1fr}
  .service-route ol{grid-template-columns:1fr 1fr}
  .service-route li{min-height:90px;border-bottom:1px solid var(--cr-line)}
  .service-route li:nth-child(2n){border-right:0}
}

@media(max-width:620px){
  .services-hero,.commercial-hero,.contact-hero{padding:22px 0 30px}
  .services-hero h1,.commercial-hero-copy h1,.contact-hero h1{font-size:39px;line-height:1.03}
  .services-hero-lead,.commercial-lead,.contact-lead{font-size:16px}
  .services-hero-actions>.button,.commercial-actions>.button{width:100%}
  .services-phone,.commercial-phone{flex:1;font-size:17px}
  .services-hero figure img{height:245px}
  .commercial-visual img,.contact-hero figure img{height:260px}
  .services-jump{width:calc(100% - 24px);grid-template-columns:1fr 1fr;margin-top:26px}
  .services-jump a{min-height:76px;padding:13px}
  .services-jump a:nth-child(3){border-right:1px solid var(--cr-line)}
  .services-jump a:nth-child(2n){border-right:0}
  .services-jump a:nth-child(-n+4){border-bottom:1px solid var(--cr-line)}
  .service-cluster{padding:46px 0}
  .service-cluster-layout>header h2{font-size:32px}
  .service-card-grid{grid-template-columns:1fr}
  .service-card,.service-card.is-featured{display:flex;grid-column:auto}
  .service-card figure img,.service-card.is-featured figure img{height:210px;min-height:0}
  .service-card-copy,.service-card.is-featured .service-card-copy{min-height:0;padding:18px}
  .service-card h3,.service-card.is-featured h3{font-size:24px}
  .service-card.is-featured p,.service-card.is-featured dd{font-size:14px}
  .services-form-band,.service-route{padding:46px 0}
  .services-form-layout h2,.service-route h2{font-size:34px}
  .service-route ol{grid-template-columns:1fr}
  .service-route li,.service-route li:nth-child(2n){border-right:0}
  .commercial-detail .section{padding:46px 0}
  .commercial-detail .section h2{font-size:32px}
  .commercial-hero-facts article{padding:14px}
  .commercial-detail .detail-list-grid,.commercial-detail .recommendation-grid,.commercial-detail .option-grid{grid-template-columns:1fr}
  .commercial-detail .detail-two-column,.commercial-detail .process-delivery-grid{grid-template-columns:1fr}
  .commercial-detail .process-delivery-grid ol{grid-template-columns:1fr}
  .contact-phone{width:100%;font-size:27px}
  .contact-messengers{width:100%}
  .contact-messengers .msg{flex:1;justify-content:center}
  .contact-channel-grid{grid-template-columns:1fr}
  .contact-channel-grid a{min-height:145px}
  .contact-brief{padding:46px 0}
  .contact-brief-grid>div{padding:20px}
  .contact-brief h2{font-size:31px}
}
