/* Утверждённые световые градиенты. Без мозаики, сфер и декоративных фигур. */
.page-index {
  --hero-light:
    radial-gradient(ellipse at 12% 30%, #fffffffa 0%, #ffffffb8 26%, #ffffff00 58%),
    radial-gradient(ellipse at 91% 8%, #b4a6ece0 0%, #b4a6ec00 57%),
    radial-gradient(ellipse at 78% 100%, #6de2dbe0 0%, #6de2db00 66%),
    radial-gradient(ellipse at 40% 0%, #6de2db55 0%, #6de2db00 53%),
    linear-gradient(120deg, #ffffff 9%, #f3fafa 56%, #f4f1fc);
}
.page-course {
  --hero-light:
    radial-gradient(ellipse at 14% 28%, #fffffffa 0%, #ffffffb0 25%, #ffffff00 59%),
    radial-gradient(ellipse at 95% 0%, #b8aaede6 0%, #b8aaed00 55%),
    radial-gradient(ellipse at 85% 87%, #86e3c1c9 0%, #86e3c100 59%),
    radial-gradient(ellipse at 48% 105%, #86e3e8b8 0%, #86e3e800 61%),
    linear-gradient(125deg, #ffffff, #f1fcfa 54%, #eeeafa);
}
.page-intensive {
  --hero-light:
    radial-gradient(ellipse at 12% 32%, #fffffffa 0%, #ffffffb8 26%, #ffffff00 60%),
    radial-gradient(ellipse at 92% 13%, #a3b1f0cc 0%, #a3b1f000 60%),
    radial-gradient(ellipse at 73% 28%, #d2b7e8a6 0%, #d2b7e800 45%),
    radial-gradient(ellipse at 72% 98%, #83dce8e6 0%, #83dce800 66%),
    linear-gradient(125deg, #ffffff, #f1faff 52%, #eeeafb);
}
.page-lab {
  --hero-light:
    radial-gradient(ellipse at 12% 32%, #fffffffa 0%, #ffffffb8 25%, #ffffff00 59%),
    radial-gradient(ellipse at 96% 12%, #a9a4e8d9 0%, #a9a4e800 60%),
    radial-gradient(ellipse at 85% 94%, #8fccebc9 0%, #8fcceb00 63%),
    radial-gradient(ellipse at 46% 95%, #b7ecd999 0%, #b7ecd900 51%),
    linear-gradient(125deg, #ffffff, #f1faff 54%, #f0edfc);
}
.page-automation {
  --hero-light:
    radial-gradient(ellipse at 12% 32%, #fffffffa 0%, #ffffffd1 29%, #ffffff00 66%),
    radial-gradient(ellipse at 93% 10%, #c2bddde0 0%, #c2bddd00 58%),
    radial-gradient(ellipse at 94% 90%, #ffc39bd9 0%, #ffc39b00 53%),
    radial-gradient(ellipse at 58% 93%, #bdcce9a6 0%, #bdcce900 58%),
    linear-gradient(125deg, #ffffff, #f6f8fd 53%, #f4f0fa);
}

.page-index .hero,
.rs-hero {
  background: var(--hero-light);
  isolation: isolate;
}

/* Светлая шапка и чистые поверхности сохраняют контраст текста. */
.rs-header { background: #ffffffed; }
.rs-hero .rs-secondary {
  background: #ffffffb8;
  border-color: #ffffffed;
  box-shadow: 0 1px 0 #1831470d;
}
:is(.page-intensive, .page-lab) :is(.rs-contact, .rs-button:not(.rs-secondary)) {
  background: linear-gradient(120deg, #3479e9, #285dd5);
  color: #fff;
}
.page-course :is(.rs-contact, .rs-button:not(.rs-secondary)) {
  background: linear-gradient(115deg, #57dcaa, #2dcc90);
  color: #092219;
}
.page-automation :is(.rs-contact, .rs-button:not(.rs-secondary)) {
  background: linear-gradient(115deg, #ffdbc5d9, #ffd1b899);
  border-color: #ffc6a8b8;
}

/* Прозрачный фон отделён от непрозрачных фигурок: их цвета не смешиваются. */
:is(.page-intensive, .page-lab) .rs-training-hero .rs-hero-art,
:is(.page-intensive, .page-lab) .rs-training-hero .rs-hero-art img {
  background: transparent;
  mix-blend-mode: normal;
  opacity: 1;
  filter: none;
}
.page-automation .rs-hero-art { mix-blend-mode: multiply; }
.rs-training-hero.rs-hero-course .rs-hero-art {
  background: linear-gradient(140deg, #ffffffb8, #f2fffa80);
  border-color: #ffffffed;
  box-shadow: 0 20px 50px #4148770d;
  backdrop-filter: blur(12px);
}

/* На главной фон только аква + лаванда, карточки — прежняя зелёная гамма. */
.page-index .highlight {
  background: none;
  color: #11644f;
  padding: 0;
  border-radius: 0;
}
.page-index .route-btn {
  border: 1px solid #ffffffb8;
  box-shadow: inset 0 1px 0 #ffffff40;
}
.page-index .route-btn--primary {
  background: linear-gradient(115deg, #9af0d2ed, #6bdfc5b8);
}
.page-index .route-btn--blue-soft {
  background: linear-gradient(115deg, #edfff6d9, #c9ece6a6);
}
.page-index .route-btn--blue-deep {
  background: linear-gradient(115deg, #287b62f5, #09574ced);
}
.page-index .route-btn--orange {
  background: linear-gradient(115deg, #e0f5e9e6, #c8eddacc);
}
.page-index .route-btn__arrow {
  background: #ffffff80;
  border: 1px solid #ffffff59;
}
.page-index .route-btn--blue-deep .route-btn__arrow { background: #ffffff26; }

/* Иллюстрации со светом, тенями и отражениями внутри прозрачной сцены. */
.rs-hero .rs-scene-stage {
  isolation: isolate;
  overflow: visible;
  background: transparent;
  mix-blend-mode: normal;
}
.rs-hero .rs-scene-stage > img,
:is(.page-intensive,.page-lab) .rs-training-hero .rs-scene-stage > img {
  position: relative;
  z-index: 1;
  opacity: 1;
  mix-blend-mode: normal;
  filter: none;
  object-position: center bottom;
  mask-image: linear-gradient(to bottom, transparent, #000 2%, #000 91%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 2%, #000 91%, transparent);
}
.rs-hero .rs-scene-stage::before {
  content: '';
  position: absolute;
  z-index: 0;
  pointer-events: none;
  inset: auto -12% -3%;
  height: 22%;
  background: radial-gradient(ellipse closest-side, rgba(var(--glow-a), .36), rgba(var(--glow-b), .13) 60%, transparent);
  filter: blur(18px);
}
:is(.page-intensive,.page-lab) .rs-training-hero .rs-scene-stage {
  height: calc(var(--training-art-height) * 1.06);
}
:is(.page-intensive,.page-lab) .rs-training-hero { padding-bottom: 44px; }
.rs-hero-automation { padding-bottom: 42px; }
.page-automation .rs-scene-stage > img { max-height: min(58svh, 460px); }
.rs-training-hero.rs-hero-course .rs-hero-art {
  box-shadow: 0 28px 52px -24px #3354704a, 0 9px 22px -12px #33547030, inset 0 1px 0 #ffffffed;
}
.page-index .route-btn {
  box-shadow: 0 12px 26px -20px #294c6566, inset 0 1px 0 #ffffff66;
}
@media (max-width: 900px) {
  :is(.page-intensive,.page-lab) .rs-training-hero,
  .rs-hero-automation { padding-bottom: 36px; }
}

/* Повторяющийся свет ниже первого экрана. Раскладки выбираются при сборке. */
.page-index { --glow-a: 109,226,219; --glow-b: 180,166,236; --glow-c: 109,226,219; }
.page-course { --glow-a: 134,227,193; --glow-b: 184,170,237; --glow-c: 134,227,232; }
.page-intensive { --glow-a: 131,220,232; --glow-b: 163,177,240; --glow-c: 210,183,232; }
.page-lab { --glow-a: 143,204,235; --glow-b: 169,164,232; --glow-c: 183,236,217; }
.page-automation { --glow-a: 255,195,155; --glow-b: 194,189,221; --glow-c: 189,204,233; }

main > .rs-gradient-section {
  --light-a: 10% 70%;
  --light-b: 90% 25%;
  --light-c: 55% 100%;
  --light-angle: 115deg;
  background:
    linear-gradient(0deg, #fff 0%, #ffffff00 18%, #ffffff00 82%, #fff 100%),
    radial-gradient(ellipse at var(--light-a), rgba(var(--glow-a), .58), rgba(var(--glow-a), 0) 63%),
    radial-gradient(ellipse at var(--light-b), rgba(var(--glow-b), .54), rgba(var(--glow-b), 0) 62%),
    radial-gradient(ellipse at var(--light-c), rgba(var(--glow-c), .35), rgba(var(--glow-c), 0) 58%),
    linear-gradient(var(--light-angle), #fff, #f9fafc) !important;
}
main > [data-glow="2"] { --light-a: 93% 82%; --light-b: 5% 30%; --light-c: 45% 0%; --light-angle: 35deg; }
main > [data-glow="3"] { --light-a: 42% 10%; --light-b: 98% 76%; --light-c: 0% 85%; --light-angle: 155deg; }
main > [data-glow="4"] { --light-a: 4% 22%; --light-b: 60% 95%; --light-c: 95% 25%; --light-angle: 75deg; }
main > [data-glow="5"] { --light-a: 90% 12%; --light-b: 8% 88%; --light-c: 50% 65%; --light-angle: 130deg; }
main > [data-glow="6"] { --light-a: 60% 90%; --light-b: 35% 10%; --light-c: 100% 50%; --light-angle: 15deg; }

/* На узких экранах цвет остаётся за иллюстрацией, а верх текста светлый. */
@media (max-width: 900px) {
  .page-index .hero, .rs-hero {
    background-image: linear-gradient(#ffffffb3, #ffffff00 48%), var(--hero-light);
  }
}
