/* RUSENCOM v40 — runtime-safe WPBakery layout contract.
   Loaded as a real enqueue after the builder/theme stack so WPBakery's frontend
   column CSS can never collapse independently editable cards. */

:root{
  --rsc-v40-content:1420px;
  --rsc-v40-gutter:clamp(18px,3.2vw,48px);
}

@media (min-width:1181px){
  .rsc-v12-capabilities>.wpb_column,
  .rsc-v15-about>.wpb_column,
  .rsc-v11-directions>.wpb_column,
  .rsc-v11-tasks>.wpb_column,
  .rsc-v15-vacancies>.wpb_column{
    width:min(var(--rsc-v40-content),calc(100% - (var(--rsc-v40-gutter) * 2)))!important;
    max-width:var(--rsc-v40-content)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    float:none!important;
  }

  /* Team + partners are full-width WPBakery rows. Constrain the ROW with
     deterministic viewport padding instead of constraining child columns.
     This survives vc_row stretch offsets and keeps both headings and rails
     on exactly the same 1420px frame. */
  .rsc-v11-team,
  .rsc-v15-partners{
    padding-left:max(var(--rsc-v40-gutter),calc((100vw - var(--rsc-v40-content))/2))!important;
    padding-right:max(var(--rsc-v40-gutter),calc((100vw - var(--rsc-v40-content))/2))!important;
    box-sizing:border-box!important;
  }
  .rsc-v11-team>.rsc-v24-team-header,
  .rsc-v11-team>.rsc-v24-team-viewport,
  .rsc-v15-partners>.wpb_column{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    float:none!important;
  }
}

.rsc-v31-metrics::before,
.rsc-v31-metrics::after,
.rsc-v13-cycle::before,
.rsc-v13-cycle::after,
.rsc-v31-supply-card-grid::before,
.rsc-v31-supply-card-grid::after,
.rsc-v24-task-row::before,
.rsc-v24-task-row::after,
.rsc-v24-vacancy-row::before,
.rsc-v24-vacancy-row::after{
  content:none!important;
  display:none!important;
}

.rsc-v31-metrics,
.rsc-v13-cycle,
.rsc-v31-supply-card-grid,
.rsc-v24-task-row,
.rsc-v24-vacancy-row{
  display:grid!important;
  width:100%!important;
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
  justify-items:stretch!important;
  align-items:stretch!important;
}

.rsc-v31-metrics{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0!important;
}
.rsc-v13-cycle{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  margin:34px 0 0!important;
}
.rsc-v31-supply-card-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin:28px 0 0!important;
}
.rsc-v24-task-row{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.rsc-v24-vacancy-row{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}

.rsc-v31-metrics>.rsc-v32-metric-card,
.rsc-v13-cycle>.rsc-v32-cycle-card,
.rsc-v31-supply-card-grid>.rsc-v32-supply-card,
.rsc-v24-task-row>.rsc-v24-task-card,
.rsc-v24-vacancy-row>.rsc-v24-vacancy-card{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  float:none!important;
  padding:0!important;
  margin:0!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
}

.rsc-v32-metric-card>.vc_column-inner,
.rsc-v32-cycle-card>.vc_column-inner,
.rsc-v32-supply-card>.vc_column-inner,
.rsc-v24-task-card>.vc_column-inner,
.rsc-v24-vacancy-card>.vc_column-inner{
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}

.rsc-v32-metric-card>.vc_column-inner>.wpb_wrapper,
.rsc-v32-cycle-card>.vc_column-inner>.wpb_wrapper,
.rsc-v32-supply-card>.vc_column-inner>.wpb_wrapper,
.rsc-v24-task-card>.vc_column-inner>.wpb_wrapper,
.rsc-v24-vacancy-card>.vc_column-inner>.wpb_wrapper,
.rsc-v32-metric-card .wpb_text_column,
.rsc-v32-cycle-card .wpb_text_column,
.rsc-v32-supply-card .wpb_text_column,
.rsc-v24-task-card .wpb_text_column,
.rsc-v24-vacancy-card .wpb_text_column,
.rsc-v32-metric-card article,
.rsc-v32-cycle-card article,
.rsc-v32-supply-card article,
.rsc-v24-task-card article,
.rsc-v24-vacancy-card article{
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  box-sizing:border-box!important;
}

.rsc-v24-team-viewport{
  width:100%!important;
  max-width:none!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.rsc-v24-team-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  width:max-content!important;
}
.rsc-v24-team-track>.rsc-v24-person-card{
  display:block!important;
  flex:0 0 342px!important;
  width:342px!important;
  min-width:342px!important;
  max-width:342px!important;
  float:none!important;
  padding:0!important;
}
.rsc-v15-partners>.wpb_column{
  width:100%!important;
  max-width:none!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.rsc-v32-partner-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  width:max-content!important;
}
.rsc-v32-partner-track>.rsc-v32-partner-card{
  flex:0 0 auto!important;
  float:none!important;
}

.rsc-v14-reveal{
  opacity:1!important;
  transform:none!important;
}

@media (max-width:1180px){
  .rsc-v31-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .rsc-v13-cycle,
  .rsc-v24-task-row,
  .rsc-v24-vacancy-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .rsc-v31-supply-card-grid{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:760px){
  .rsc-v31-metrics,
  .rsc-v13-cycle,
  .rsc-v24-task-row,
  .rsc-v24-vacancy-row,
  .rsc-v31-supply-card-grid{
    grid-template-columns:1fr!important;
  }
  .rsc-v24-team-track>.rsc-v24-person-card{
    flex-basis:82vw!important;
    width:82vw!important;
    min-width:82vw!important;
    max-width:82vw!important;
  }
}

/* Card content, not the editor: number + heading occupy the same first row. */
.rsc-v13-cycle .rsc-v32-cycle-card article{
  display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;
  grid-template-rows:auto 1fr!important;column-gap:14px!important;row-gap:24px!important;align-content:start!important;
}
.rsc-v13-cycle .rsc-v32-cycle-card article>span{grid-column:1!important;grid-row:1!important;margin:0!important;align-self:center!important}
.rsc-v13-cycle .rsc-v32-cycle-card article>h3{grid-column:2!important;grid-row:1!important;align-self:center!important;min-height:0!important;margin:0!important;display:block!important}
.rsc-v13-cycle .rsc-v32-cycle-card article>p{grid-column:1/-1!important;grid-row:2!important;margin:0!important;min-height:0!important}
/* Content growth must not overlap the next block after a text edit. */
.rsc-v31-supply .rsc-v31-supply-copy>.vc_column-inner>.wpb_wrapper{height:auto!important;min-height:0!important;display:block!important}
.rsc-v31-supply .rsc-v31-supply-card-grid{margin-top:28px!important}
/* Multiple blocks deliberately pasted INSIDE one column stack safely. New
   independent cards should be cloned with their column/editor helper. */
:is(.rsc-v32-metric-card,.rsc-v24-about-card,.rsc-v32-cycle-card,.rsc-v32-supply-card,.rsc-v24-task-card,.rsc-v24-vacancy-card)>.vc_column-inner>.wpb_wrapper:has(>article+article){display:grid!important;gap:16px!important;height:auto!important}
:is(.rsc-v32-metric-card,.rsc-v24-about-card,.rsc-v32-cycle-card,.rsc-v32-supply-card,.rsc-v24-task-card,.rsc-v24-vacancy-card)>.vc_column-inner>.wpb_wrapper:has(>article+article)>article{height:auto!important}

/* Vacancy add guard: if WPBakery saves a new vacancy shortcode without the
   surrounding card column, or places a second vacancy article inside an
   existing card, keep it as an independent card in the same vacancy rail. */
.rsc-v24-vacancy-row>article,
.rsc-v27-vacancy-track>article{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:100%!important;
  min-height:360px!important;
  padding:26px 24px 24px!important;
  display:grid!important;
  grid-template-rows:auto minmax(76px,auto) 1fr auto!important;
  gap:18px!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 14px 42px rgba(7,16,24,.08)!important;
  box-sizing:border-box!important;
}
.rsc-v24-vacancy-row>article h3,
.rsc-v27-vacancy-track>article h3{
  margin:0!important;
  color:#071018!important;
  font:800 22px/1.07 "RSC Magistral",Arial,sans-serif!important;
}
.rsc-v24-vacancy-row>article p,
.rsc-v27-vacancy-track>article p{
  margin:0!important;
  color:#53616b!important;
  font:400 14px/1.58 "RSC Roboto",Arial,sans-serif!important;
  text-align:justify!important;
  text-justify:inter-word!important;
  hyphens:auto!important;
}
.rsc-v24-vacancy-row>article>a,
.rsc-v27-vacancy-track>article>a{
  justify-self:center!important;
  align-self:end!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 18px!important;
  border-radius:6px!important;
  background:#f9811e!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800!important;
}
.rsc-v27-vacancy-ready .rsc-v27-vacancy-track>article{
  flex:0 0 360px!important;
  width:360px!important;
  min-width:360px!important;
  max-width:360px!important;
}
@supports selector(:has(*)){
  .rsc-v24-vacancy-row>.rsc-v24-vacancy-card:has(>.vc_column-inner>.wpb_wrapper>article+article),
  .rsc-v24-vacancy-row>.rsc-v24-vacancy-card:has(>.vc_column-inner>.wpb_wrapper>article+article)>.vc_column-inner,
  .rsc-v24-vacancy-row>.rsc-v24-vacancy-card:has(>.vc_column-inner>.wpb_wrapper>article+article)>.vc_column-inner>.wpb_wrapper,
  .rsc-v27-vacancy-track>.rsc-v24-vacancy-card:has(>.vc_column-inner>.wpb_wrapper>article+article),
  .rsc-v27-vacancy-track>.rsc-v24-vacancy-card:has(>.vc_column-inner>.wpb_wrapper>article+article)>.vc_column-inner,
  .rsc-v27-vacancy-track>.rsc-v24-vacancy-card:has(>.vc_column-inner>.wpb_wrapper>article+article)>.vc_column-inner>.wpb_wrapper{
    display:contents!important;
  }
  .rsc-v24-vacancy-row>.rsc-v24-vacancy-card:has(>.vc_column-inner>.wpb_wrapper>article+article)>.vc_column-inner>.wpb_wrapper>article,
  .rsc-v27-vacancy-track>.rsc-v24-vacancy-card:has(>.vc_column-inner>.wpb_wrapper>article+article)>.vc_column-inner>.wpb_wrapper>article{
    min-height:360px!important;
    height:100%!important;
  }
  .rsc-v27-vacancy-ready .rsc-v27-vacancy-track>.rsc-v24-vacancy-card:has(>.vc_column-inner>.wpb_wrapper>article+article)>.vc_column-inner>.wpb_wrapper>article{
    flex:0 0 360px!important;
    width:360px!important;
    min-width:360px!important;
    max-width:360px!important;
  }
}
@media (max-width:1180px){
  .rsc-v27-vacancy-ready .rsc-v27-vacancy-track>article,
  .rsc-v27-vacancy-ready .rsc-v27-vacancy-track>.rsc-v24-vacancy-card:has(>.vc_column-inner>.wpb_wrapper>article+article)>.vc_column-inner>.wpb_wrapper>article{
    flex-basis:340px!important;
    width:340px!important;
    min-width:340px!important;
    max-width:340px!important;
  }
}
@media (max-width:760px){
  .rsc-v27-vacancy-ready .rsc-v27-vacancy-track>article,
  .rsc-v27-vacancy-ready .rsc-v27-vacancy-track>.rsc-v24-vacancy-card:has(>.vc_column-inner>.wpb_wrapper>article+article)>.vc_column-inner>.wpb_wrapper>article{
    flex-basis:82vw!important;
    width:82vw!important;
    min-width:82vw!important;
    max-width:82vw!important;
  }
}
