/* Общая сетка курса, интенсива и лаборатории. */
:is(.page-course,.page-intensive,.page-lab){
  --training-content-width:min(1280px,calc(100% - 96px));
  --training-page-inset:max(48px,calc((100vw - 1280px)/2));
  --training-art-height:clamp(340px,50svh,460px);
}
:is(.page-course,.page-intensive,.page-lab) :is(.rs-wrap,.container,.wrap){
  width:var(--training-content-width);
  max-width:none;
  margin-inline:auto;
  padding-inline:0;
}

.rs-training-hero{
  padding:36px 0 44px;
  overflow:clip;
}
.rs-training-hero .rs-hero-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,3vw,44px);
  align-items:center;
  min-height:clamp(460px,60svh,540px);
}
.rs-training-hero .rs-hero-copy{
  min-width:0;
  padding:0;
}
.rs-training-hero h1{
  font-size:clamp(42px,4.4vw,64px);
  line-height:1.04;
  letter-spacing:-.05em;
  margin:0 0 24px;
}
.rs-training-hero :is(.course-promise,.hero-promise){
  font-size:clamp(23px,2vw,28px);
  font-weight:600;
  line-height:1.24;
  letter-spacing:-.035em;
  color:var(--ink);
  margin:0 0 18px;
}
.rs-training-hero .rs-lead{max-width:none}
.rs-training-hero .rs-lead>p{
  max-width:52ch;
  font-size:16px;
  line-height:1.5;
  margin:0;
}
.rs-training-hero .rs-actions{margin-top:24px;gap:12px}
.rs-training-hero .rs-actions .rs-button{font-size:14px;padding:14px 20px;gap:18px}
.rs-training-hero .rs-meta{font-size:13px;line-height:1.5;margin:16px 0 0}
.rs-training-hero .rs-hero-art{
  display:block;
  width:100%;
  max-width:none;
  height:var(--training-art-height);
  min-height:0;
  margin:0;
  padding:0;
  justify-self:stretch;
  transform:none;
}
.rs-training-hero .rs-hero-art img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  max-height:100%;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}

/* Две сцены крупнее на 20%; контейнер растёт вместе с изображением. */
:is(.page-intensive,.page-lab) {
  --training-art-height:clamp(408px,60svh,552px);
}
@media(min-width:901px) {
  :is(.page-intensive,.page-lab) .rs-training-hero .rs-hero-grid {
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  }
}

/* У курса сохраняется крупное название и окно с рабочей сценой. */
.rs-training-hero.rs-hero-course h1{
  font-size:clamp(86px,min(7.7vw,14svh),116px);
  font-weight:700;
  line-height:.92;
  letter-spacing:-.065em;
}
.rs-training-hero.rs-hero-course h1 span{display:block}
.rs-training-hero.rs-hero-course .rs-hero-art{
  display:block;
  padding:36px 8px 8px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(140deg,#f8fcfa,#ecf8f1);
  box-shadow:0 18px 48px #207e470b;
}
.rs-training-hero.rs-hero-course .rs-hero-art::before{
  content:'Оно / пространство агента';
  position:absolute;
  top:12px;
  left:20px;
  font-size:12px;
  color:var(--muted);
}
.rs-training-hero.rs-hero-course .rs-hero-art::after{
  content:'—   ◇';
  position:absolute;
  top:10px;
  right:18px;
  color:var(--muted);
  font-size:15px;
}
.course-hero-scene{width:100%;height:100%;overflow:hidden;border-radius:16px}
.rs-training-hero.rs-hero-course .course-hero-scene img{
  width:145%;
  max-width:none;
  margin-left:-45%;
  object-fit:cover;
  object-position:right center;
  border-radius:0;
}

/* Секции лаборатории используют ту же вертикаль, что и первый экран. */
.page-lab section.wrap.faq{
  width:100%;
  padding-inline:var(--training-page-inset);
}
.page-lab .cta-inner{width:var(--training-content-width);max-width:none;margin-inline:auto}

@media(min-width:1500px){
  :is(.page-course,.page-intensive,.page-lab){
    --training-content-width:min(1380px,calc(100% - 120px));
    --training-page-inset:max(60px,calc((100vw - 1380px)/2));
  }
}
@media(max-width:1100px){
  :is(.page-course,.page-intensive,.page-lab){
    --training-content-width:calc(100% - 56px);
    --training-page-inset:28px;
  }
}
@media(min-width:901px) and (max-height:740px){
  :is(.page-course,.page-intensive,.page-lab){--training-art-height:340px}
  :is(.page-intensive,.page-lab){--training-art-height:408px}
  .rs-training-hero{padding:24px 0 32px}
  .rs-training-hero .rs-hero-grid{min-height:0}
  .rs-training-hero h1{font-size:clamp(42px,4vw,58px);margin-bottom:20px}
  .rs-training-hero.rs-hero-course h1{font-size:clamp(82px,12.5svh,94px)}
  .rs-training-hero :is(.course-promise,.hero-promise){font-size:24px;margin-bottom:16px}
  .rs-training-hero .rs-actions{margin-top:20px}
}
@media(max-width:900px){
  :is(.page-course,.page-intensive,.page-lab){--training-art-height:clamp(280px,60vw,420px)}
  :is(.page-intensive,.page-lab){--training-art-height:clamp(336px,72vw,504px)}
  .rs-training-hero{padding:28px 0 36px}
  .rs-training-hero .rs-hero-grid{grid-template-columns:1fr;gap:28px;min-height:0}
  .rs-training-hero h1{font-size:clamp(36px,6vw,52px)}
  .rs-training-hero.rs-hero-course h1{font-size:clamp(82px,13vw,108px)}
  .rs-training-hero .rs-hero-art{width:100%;max-width:640px;justify-self:center}
  .rs-training-hero :is(.course-promise,.hero-promise){font-size:24px}
}
@media(max-width:760px){
  :is(.page-course,.page-intensive,.page-lab){
    --training-content-width:calc(100% - 40px);
    --training-page-inset:20px;
  }
  .rs-training-hero h1{font-size:clamp(34px,8.4vw,48px);margin-bottom:22px}
  .rs-training-hero.rs-hero-course h1{font-size:clamp(78px,21vw,100px)}
  .rs-training-hero :is(.course-promise,.hero-promise){font-size:23px}
  .rs-training-hero .rs-actions .rs-button{font-size:13px;padding:13px 16px;gap:12px}
}
