/* 1-AIR — единая сетка и типографика внутренних страниц меню */

.subhero .site-shell,
.page-section .site-shell{
  width:min(calc(100% - 96px),1180px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.subhero-inner,
.page-content,
.page-content h1,
.page-content h2,
.page-content h3,
.page-content p,
.page-content ul,
.page-content ol,
.page-content li{
  text-align:left!important;
}

.subhero{
  padding:56px 0 44px!important;
}
.subhero h1{
  max-width:900px!important;
  margin:18px 0 14px!important;
  font-size:clamp(36px,3.4vw,50px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.subhero p{
  max-width:720px!important;
  margin:0!important;
  font-size:15px!important;
  line-height:1.6!important;
}

.page-section{
  padding:58px 0 84px!important;
}
.page-layout{
  display:grid!important;
  grid-template-columns:160px minmax(0,1fr)!important;
  gap:48px!important;
  align-items:start!important;
}
.page-content{
  width:100%!important;
  max-width:820px!important;
  min-width:0!important;
}
.page-content > h2,
.page-content > h3,
.page-content > p,
.page-content > ul,
.page-content > ol{
  max-width:760px!important;
}
.page-content h2{
  margin:34px 0 14px!important;
  font-size:clamp(25px,2.15vw,33px)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.page-content h2:first-of-type{
  margin-top:0!important;
}
.page-content h3{
  margin:28px 0 12px!important;
  font-size:clamp(20px,1.7vw,26px)!important;
  line-height:1.2!important;
  letter-spacing:-.015em!important;
}
.page-content p,
.page-content li{
  font-size:15px!important;
  line-height:1.68!important;
}
.page-content p{
  margin:0 0 17px!important;
}
.page-content a{
  overflow-wrap:anywhere!important;
}

/* Ровные перечисления */
.page-content ul,
.page-content ol{
  margin:16px 0 26px!important;
  padding:0!important;
  list-style:none!important;
}
.page-content ul li,
.page-content ol li{
  position:relative!important;
  margin:0 0 9px!important;
  padding:0 0 0 24px!important;
  max-width:740px!important;
}
.page-content ul li::before{
  content:"•"!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  color:#1596d2!important;
  font-size:20px!important;
  line-height:1.25!important;
  font-weight:900!important;
}
.page-content ol{
  counter-reset:air-step!important;
}
.page-content ol li{
  counter-increment:air-step!important;
  padding-left:34px!important;
}
.page-content ol li::before{
  content:counter(air-step) "."!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  min-width:24px!important;
  color:#1596d2!important;
  font-weight:900!important;
  font-variant-numeric:tabular-nums!important;
}

/* Контакты: список направлений вместо строки с разделителями */
body.page-id-17 .page-content h2:nth-of-type(6) + p{
  display:grid!important;
  gap:8px!important;
  font-size:0!important;
  line-height:1!important;
  margin-top:14px!important;
}
body.page-id-17 .page-content h2:nth-of-type(6) + p a{
  display:block!important;
  position:relative!important;
  padding-left:24px!important;
  font-size:15px!important;
  line-height:1.55!important;
  text-decoration:none!important;
}
body.page-id-17 .page-content h2:nth-of-type(6) + p a::before{
  content:"•"!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  color:#1596d2!important;
  font-size:20px!important;
  line-height:1.18!important;
  font-weight:900!important;
}

.page-featured{
  width:100%!important;
  max-width:760px!important;
  margin:0 0 28px!important;
}
.page-featured img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:420px!important;
  object-fit:cover!important;
}

.page-aside{
  position:sticky!important;
  top:108px!important;
  padding-top:4px!important;
}
.page-aside strong{
  font-size:14px!important;
  line-height:1.35!important;
}
.page-aside a{
  margin-top:20px!important;
}

.related-services{
  max-width:760px!important;
  margin-top:46px!important;
  padding-top:26px!important;
}
.related-services > h2{
  margin:0 0 16px!important;
  font-size:25px!important;
  line-height:1.15!important;
}
.related-services-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.related-services-grid a{
  min-height:52px!important;
  padding:13px 15px!important;
  font-size:13px!important;
}

/* Разделы главной, которые открываются из меню */
#solutions .section-head,
#solutions .solution-grid article,
#cases .cases-title,
#cases .case-template{
  text-align:left!important;
}

@media(max-width:1180px){
  .subhero .site-shell,
  .page-section .site-shell{
    width:min(calc(100% - 64px),1080px)!important;
  }
  .page-layout{
    grid-template-columns:145px minmax(0,1fr)!important;
    gap:38px!important;
  }
}

@media(max-width:900px){
  .subhero .site-shell,
  .page-section .site-shell{
    width:calc(100% - 36px)!important;
  }
  .subhero{
    padding:44px 0 34px!important;
  }
  .subhero h1{
    font-size:clamp(30px,7.8vw,42px)!important;
    line-height:1.04!important;
    margin:14px 0 12px!important;
  }
  .subhero p{
    font-size:14px!important;
    line-height:1.55!important;
  }
  .page-section{
    padding:38px 0 64px!important;
  }
  .page-layout{
    display:block!important;
  }
  .page-aside{
    display:none!important;
  }
  .page-content{
    max-width:none!important;
  }
  .page-content > h2,
  .page-content > h3,
  .page-content > p,
  .page-content > ul,
  .page-content > ol,
  .page-featured,
  .related-services{
    max-width:none!important;
  }
  .page-content h2{
    margin:28px 0 12px!important;
    font-size:clamp(24px,6.4vw,30px)!important;
    line-height:1.14!important;
  }
  .page-content h3{
    margin:24px 0 10px!important;
    font-size:21px!important;
  }
  .page-content p,
  .page-content li{
    font-size:15px!important;
    line-height:1.62!important;
  }
  .page-content ul li,
  .page-content ol li{
    margin-bottom:8px!important;
  }
  .page-featured{
    margin-bottom:24px!important;
  }
  .page-featured img{
    max-height:300px!important;
  }
  .related-services{
    margin-top:38px!important;
  }
  .related-services-grid{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:430px){
  .subhero .site-shell,
  .page-section .site-shell{
    width:calc(100% - 28px)!important;
  }
  .subhero{
    padding:36px 0 28px!important;
  }
  .subhero h1{
    font-size:clamp(28px,8vw,36px)!important;
    letter-spacing:-.025em!important;
  }
  .page-section{
    padding:32px 0 54px!important;
  }
  .page-content h2{
    font-size:clamp(23px,6.8vw,28px)!important;
  }
  .page-content p,
  .page-content li{
    font-size:14px!important;
  }
  .page-content ul li{
    padding-left:22px!important;
  }
  .page-content ol li{
    padding-left:32px!important;
  }
}
