/* Нижние разделы: масштаб от высоты окна, без обрезки содержания. */
:root {
  --section-space: clamp(26px, 4.8svh, 48px);
  --section-gap: clamp(16px, 2.8svh, 26px);
  --section-art: clamp(220px, 43svh, 370px);
}
body:not(.page-index) main > section:not(.rs-hero),
.page-index main > .section,
.page-index main > .final {
  padding-block: var(--section-space);
  min-height: 0;
}
main > section:not(.rs-hero):not(.hero) {
  font-size: 16px;
  line-height: 1.48;
}
main > section:not(.rs-hero):not(.hero) :is(h2,.section__title) {
  font-size: clamp(28px, 4.6svh, 40px);
  line-height: 1.12;
  margin-bottom: 20px;
}
main > section:not(.rs-hero):not(.hero) h3 {
  font-size: clamp(20px, 2.8svh, 24px);
  line-height: 1.2;
  margin-bottom: 12px;
}
main > section:not(.rs-hero):not(.hero) :is(.lead,.sub,.section__lead,.lede) {
  font-size: 17px;
  line-height: 1.48;
}
main > section:not(.rs-hero):not(.hero) :is(.card,.rs-card,.event-card,.vcol,.take,.incl__item,.slot) {
  padding: clamp(18px, 2.8svh, 26px);
}
main :is(.rs-two,.audience-grid,.difference-grid,.task-grid,.outcome-grid,.threshold-grid,.events-grid,.outcome-board,.steps,.versus,.prog,.booking,.demo-grid,.faq-grid) {
  margin-top: var(--section-gap);
  gap: 18px;
}
main :is(.entry-strip,.section-takeaway) {margin-top:20px;padding:10px 18px}
main :is(.section-next,.events-note,.events-empty,.events-subtitle) {margin-top:18px}
main :is(.result-list,.format-list) li {padding-block:12px}
main :is(.faq-grid,.faq-list,.faq,.faq__list) details {padding-block:14px}
main :is(.faq-grid,.faq-list,.faq,.faq__list) summary {font-size:18px;line-height:1.3}
main :is(.faq-grid,.faq-list,.faq,.faq__list) details p {margin-top:12px}
main :is(.course-author__layout,.instructor,.founders-layout,.case-layout,.case-section .split,.faq-layout,.booking) {gap:32px}
main :is(.course-author__layout img,.instructor img,.course-robot-art img) {
  max-height:var(--section-art);width:100%;object-fit:contain;
}
main .course-robot-art {background:transparent}
main .video-card {width:min(100%,calc(var(--section-art) * 1.7778));margin-inline:auto}
main .video-frame {max-height:var(--section-art)}
main .final-buy {margin-block:20px;gap:28px}
main .outcome-note {margin-top:20px;max-width:1000px}
/* У секции программы и карточек результатов исходно совпадал класс outcome. */
.page-course main > section.outcome {display:block;border-radius:0;overflow:visible}
.page-course .task-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.page-course .task-card summary {font-size:20px}
/* Отзывы занимают один ряд, все доступны без разрастания секции по вертикали. */
main .rs-review-track {
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3);
  grid-template-columns:none;align-items:start;gap:18px;overflow-x:auto;
  scroll-snap-type:x mandatory;scroll-padding-inline:1px;
  margin-top:var(--section-gap);padding-bottom:12px;
}
.rs-review-track .review-card {display:block;scroll-snap-align:start;min-width:0}
.rs-review-track .review-card blockquote {font-size:16px;line-height:1.45}
.rs-review-track .review-card cite {margin-top:14px}
.rs-review-controls {display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
.rs-review-controls button {background:#fff;border:1px solid var(--line);border-radius:50%;width:44px;height:44px;font-size:22px}
/* Главная: две пары маршрутов вместо четырёх огромных карточек в одном блоке. */
.page-index main :is(.routes__grid,.webinars__grid,.audience__grid,.why__grid) {gap:18px}
.page-index main .route {padding:24px;min-height:0;gap:12px}
.page-index main .route__title {margin:0}
.page-index main .route__product {font-size:19px;line-height:1.3}
.page-index main .route__desc {font-size:16px;line-height:1.45;margin:0;max-width:46ch}
.page-index main .route__steps {padding:0;margin:0;font-size:14px;gap:5px}
.page-index main .route__steps li {padding:4px 8px;margin:0}
.page-index main .route__meta {font-size:14px;margin:0}
.page-index main .route__foot {padding-top:8px}
.page-index main :is(.route__mascot,.route__tiger) {max-width:110px;max-height:90px;right:18px;bottom:18px}
.page-index main :is(.audience__card,.why__item,.webinar) {padding:24px}
.page-index main .audience__note {padding:18px 24px;margin-top:18px;font-size:19px}
.page-index main .why__icon {width:42px;height:42px;margin-bottom:10px;border-radius:12px}
.page-index main :is(.robots__text,.problem__text p,.problem__after) {font-size:18px}
.page-index main .problem__claim {font-size:26px}
.page-index main .webinar__desc {font-size:16px;line-height:1.45}
.page-index main .webinar__when {margin-bottom:12px}
/* Программы и иллюстрации интенсива располагаются рядом. */
.page-intensive .rs-content-with-art {display:grid;grid-template-columns:1.4fr .6fr;gap:32px;align-items:center}
.page-intensive .rs-content-with-art > .media--wide {width:100%;margin:0;max-height:var(--section-art);object-fit:contain;background:transparent}
.page-intensive .rs-content-with-art .steps {grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.page-intensive .step {padding-top:12px}
.page-intensive :is(.step__n,.take__n) {margin-bottom:8px}
.page-intensive .takeaways {gap:12px}
.page-intensive .take {padding:16px}
.page-intensive .take--method {grid-column:1/-1}
.page-intensive .take p:last-child {margin-bottom:0}
.page-intensive .prog {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.page-intensive .prog__row {display:block;padding:16px 0 0}
.page-intensive .prog__time {font-size:21px;margin-bottom:10px}
.page-intensive .prog__total {grid-column:1/-1;padding:0}
.page-intensive .incl {margin-top:24px}
.page-intensive .incl__figure {font-size:36px}
.page-intensive .instructor img {object-position:center}
.page-intensive .tstm__card {flex-basis:440px;padding:22px;font-size:16px;line-height:1.45}
.page-intensive .tstm__mark {font-size:32px}
.page-intensive .booking__price {font-size:16px;font-weight:400;letter-spacing:normal}
.page-intensive .booking__amount {font-size:42px;font-weight:800;letter-spacing:-.04em;margin-bottom:6px}
.page-intensive .booking__unit {font-size:16px;margin-bottom:16px}
.page-intensive .booking__facts {padding-left:20px;margin-top:16px}
.page-intensive .booking__dates {list-style:none;padding:0;margin:0;gap:12px}
.page-intensive .slot {margin:0;padding:18px;display:flex;align-items:center;gap:18px;justify-content:space-between}
.page-intensive .slot__when {font-size:21px}
.page-intensive .slot__when span {display:block}
.page-intensive :is(.slot__flag,.slot__meta,.slot__venue) {font-size:13px;font-weight:400;letter-spacing:normal}
.page-intensive .slot .btn {margin:0;flex-shrink:0}
.page-intensive :is(.dates__note,.dates__policy,.booking__extra) {font-size:14px;line-height:1.45;margin:14px 0 0}
/* Лаборатория: три шага на экран и компактная сетка результатов. */
.page-lab .program-list {grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0 0}
.page-lab .program-list > li {display:block;padding:16px 0}
.page-lab .program-list .step-number {margin-bottom:10px}
.page-lab .program-head {max-width:1100px}
.page-lab .lab-steps {grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:24px}
.page-lab .lab-steps li {padding:20px}
.page-lab .outcomes-head {max-width:1100px}
.page-lab .outcome-board {grid-template-columns:repeat(4,minmax(0,1fr))}
.page-lab .outcome {padding:18px;gap:16px}
.page-lab .outcome-art {height:80px}
.page-lab .rs-diagram {padding:8px;gap:6px}
.page-lab .rs-diagram :is(span,strong) {padding:7px;font-size:12px}
.page-lab .rs-diagram i {width:14px;flex-shrink:0}
.page-lab .portrait-wrap {height:clamp(150px,26svh,240px)}
.page-lab .person-copy {padding:16px 0}
/* Кейсы: интерфейсы целиком; крупный просмотр доступен по клику. */
.page-automation :is(.shot img,.player .poster) {max-height:var(--section-art);object-fit:contain}
.page-automation .player {max-height:var(--section-art)}
.page-automation .sup-roles {grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.page-automation .sup-roles .wide {grid-column:auto}
.page-automation .sup-roles .shot img {height:clamp(180px,30svh,270px)}
.page-automation .case-intro .prod6 article {min-height:150px}
.page-automation .stat {margin-top:18px}
.page-automation .stat b {font-size:36px}
.page-automation .quote blockquote {font-size:26px}
@media (min-width:1001px) and (max-height:700px) {
  :root {--section-space:24px;--section-gap:16px;--section-art:clamp(200px,39svh,280px)}
  main > section:not(.rs-hero):not(.hero) :is(h2,.section__title) {font-size:30px;margin-bottom:16px}
  .page-index main .route {gap:10px;padding:20px}
  .page-lab .outcome-art {height:60px}
}
@media (max-width:1100px) {
  .page-lab .lab-steps,.page-lab .outcome-board {grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-intensive .rs-content-with-art {grid-template-columns:1.5fr .5fr;gap:20px}
  main .rs-review-track {grid-auto-columns:calc((100% - 18px)/2)}
  .page-intensive .slot {align-items:flex-start;flex-direction:column;gap:12px}
}
@media (max-width:760px) {
  :root {--section-space:32px;--section-art:300px}
  main > section:not(.rs-hero):not(.hero) :is(h2,.section__title) {font-size:29px}
  .page-intensive .rs-content-with-art {grid-template-columns:1fr}
  .page-intensive .rs-content-with-art > .media--wide {max-height:240px;width:min(100%,360px);margin:auto}
  .page-intensive .prog,.page-lab .program-list,.page-course .task-grid {grid-template-columns:1fr}
  .page-lab .lab-steps,.page-lab .outcome-board,.page-automation .sup-roles {grid-template-columns:1fr}
  .page-intensive .slot {flex-direction:row;flex-wrap:wrap;align-items:center}
  main .rs-review-track {grid-auto-columns:88%}
  .page-intensive .tstm__card {flex-basis:88%}
  .page-index main .route__foot {max-width:100%}
  .page-index main .route__tiger {position:static;margin:0 0 0 auto}
}
@media (min-width:1200px) {
  .page-intensive .takeaways {grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-intensive .take--method {grid-column:span 2}
}

/* v23 — компактный каталог с различимыми градиентными поверхностями. */
.page-automation .case-intro:has(.prod6) {
  background:radial-gradient(ellipse at 90% 15%,#ded9ff66,transparent 60%),radial-gradient(ellipse at 10% 90%,#ffc69c55,transparent 65%),#fafbff;
}
.page-automation .case-intro .body > .prod6 {gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.page-automation .case-intro .prod6 article {
  position:relative;min-height:156px;padding:20px 22px;gap:18px;
  justify-content:space-between;border:1px solid #c8cde6;border-radius:18px;
  background:linear-gradient(135deg,#fafbff 0%,#e1e5ff 100%);
  box-shadow:0 5px 16px #343a6610;
}
.page-automation .case-intro .prod6 article:nth-child(2) {background:linear-gradient(130deg,#f6f5ff,#d9d2f3);border-color:#bfb5db}
.page-automation .case-intro .prod6 article:nth-child(3) {background:linear-gradient(140deg,#fff7f8,#efd7e6);border-color:#d9b9ce}
.page-automation .case-intro .prod6 article:nth-child(4) {background:linear-gradient(140deg,#fff7f1,#ffd7be);border-color:#e7bba1}
.page-automation .case-intro .prod6 article:nth-child(5) {background:linear-gradient(135deg,#f8f0ff,#e8d4f5);border-color:#cbb2db}
.page-automation .case-intro .prod6 article:nth-child(6) {background:linear-gradient(135deg,#edf5ff,#d1e0fa);border-color:#aebfe0}
.page-automation .case-intro .prod6 .mark {position:absolute;right:18px;top:18px;width:68px;height:40px;margin:0;display:flex;justify-content:flex-end;align-items:center}
.page-automation .case-intro .prod6 .mark img {width:auto;height:auto;max-width:68px;max-height:40px;object-fit:contain}
.page-automation .case-intro .prod6 article > div:first-child {padding-right:70px}
.page-automation .case-intro .prod6 .cat {margin:0 0 8px;font-size:12px;line-height:1.35;color:#535e70}
.page-automation .case-intro .prod6 h3 {font-size:25px;line-height:1.15;margin:0;color:#111d29;letter-spacing:-.035em}
.page-automation .case-intro .prod6 .who {margin:0;font-size:14px;line-height:1.35;color:#485266}
/* У декоративных объектов нет белой карточки и скруглённой обрезки. */
.page-intensive img.media:not(.media--person),
.page-lab img.media:not(.media--person) {background:transparent;border:0;border-radius:0;box-shadow:none;mix-blend-mode:normal}
@media(max-width:1000px) {
 .page-automation .case-intro .body > .prod6 {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px) {
 .page-automation .case-intro .body > .prod6 {grid-template-columns:1fr;gap:12px}
 .page-automation .case-intro .prod6 article {min-height:136px;padding:18px 20px}
}

.page-index .route__mascot {mix-blend-mode:normal;opacity:1}
main .course-robot-art {background:transparent;border-radius:0;box-shadow:none;overflow:visible}

/* v24 — каждый кейс занимает экран под шапкой; каталог остаётся компактным. */
body.page-automation main > section.rs-case-screen {
  --case-space:clamp(24px,4svh,40px);
  min-height:calc(100svh - 76px);
  padding-block:var(--case-space);
  display:flex;
  border-top:1px solid #d9dbe5;
  scroll-margin-top:76px;
}
.rs-case-screen > .rs-wrap {
  display:flex;flex-direction:column;gap:clamp(26px,4svh,42px);
  min-width:0;
}
.rs-case-bar {
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  min-height:52px;padding-bottom:18px;border-bottom:1px solid #25334220;
}
.rs-case-label {display:flex;align-items:center;gap:16px;min-width:0}
.rs-case-badge {
  display:inline-flex;align-items:center;padding:8px 14px;flex-shrink:0;
  background:#16272c;color:#fff;border-radius:8px;font-size:16px;font-weight:650;line-height:1.2;
}
.rs-case-category {font-size:15px;line-height:1.3;color:#52616a}
.rs-case-brand {display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0}
.rs-case-brand img {width:auto;height:44px;max-width:158px;object-fit:contain}
.rs-case-brand[data-brand="snoopdoc"] img,
.rs-case-brand[data-brand="prodo"] img {height:36px;width:146px}
.rs-case-brand[data-brand="robot"] img {height:46px;width:146px}
.rs-case-brand span {font-size:20px;font-weight:700;letter-spacing:-.025em}
body.page-automation .rs-case-screen .body {margin-block:auto}
body.page-automation .rs-case-screen :is(.case-layout,.split) {
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(28px,4vw,64px);align-items:center;
}
body.page-automation .rs-case-screen .case-copy {min-width:0}
body.page-automation main > section.rs-case-screen h2 {
  font-size:clamp(32px,4.8svh,50px);line-height:1.08;margin-bottom:22px;
}
body.page-automation main > section.rs-case-screen .sub {
  font-size:clamp(17px,2.2svh,20px);line-height:1.5;margin-bottom:24px;
}
body.page-automation .rs-case-screen .case-subtitle {
  font-size:clamp(21px,2.8svh,28px);line-height:1.25;margin-bottom:28px;
}
body.page-automation .rs-case-screen .stat {margin-top:28px;gap:8px}
body.page-automation .rs-case-screen .stat b {font-size:clamp(40px,6svh,64px);line-height:1.05}
body.page-automation .rs-case-screen .stat span {font-size:17px}
body.page-automation .rs-case-screen :is(.shot,.player) {
  width:100%;border-radius:18px;border-color:#cfd4e0;
  box-shadow:0 24px 54px -20px #20284c35,0 3px 12px #20284c0a;
}
body.page-automation .rs-case-screen .player {
  aspect-ratio:16/10;max-height:min(66svh,660px);justify-self:center;
}
body.page-automation .rs-case-screen :is(.shot img,.player .poster) {
  max-height:min(66svh,660px);object-fit:contain;width:100%;
}
body.page-automation .rs-case-screen .player .poster {height:100%}
body.page-automation .rs-case-screen .disc:has(svg)::after {content:none}
body.page-automation .rs-case-screen .disc svg {width:22px;height:26px;margin-left:3px}
body.page-automation .rs-case-screen .ctx {padding:16px 0}
body.page-automation .rs-case-screen .ctx:last-child {padding-bottom:0}
body.page-automation .rs-case-screen .ctx p:last-child {margin-bottom:0}
body.page-automation .rs-case-gallery .sub {max-width:860px}
body.page-automation .rs-case-gallery .sup-roles {gap:22px;margin-top:28px}
body.page-automation .rs-case-gallery .sup-roles .shot img {height:clamp(210px,36svh,370px)}
body.page-automation .rs-case-gallery .sup-roles figcaption {font-size:16px}
body.page-automation .rs-case-testimonial .quote {align-items:center;gap:60px;max-width:1100px;margin-inline:auto}
body.page-automation .rs-case-testimonial .quote blockquote {font-size:clamp(26px,3.5svh,36px)}
body.page-automation .rs-case-testimonial .who img {width:200px;height:200px}
/* В каталоге широкие фирменные знаки получают достаточно места. */
.page-automation .case-intro .prod6 .mark[data-brand="prodo"],
.page-automation .case-intro .prod6 .mark[data-brand="snoopdoc"] {width:90px}
.page-automation .case-intro .prod6 .mark[data-brand="prodo"] img,
.page-automation .case-intro .prod6 .mark[data-brand="snoopdoc"] img {max-width:90px}
.page-automation .case-intro .prod6 article:has(.mark[data-brand="prodo"]) > div:first-child,
.page-automation .case-intro .prod6 article:has(.mark[data-brand="snoopdoc"]) > div:first-child {padding-right:92px}
@media (min-width:761px) and (max-height:700px) {
  body.page-automation main > section.rs-case-screen {--case-space:22px}
  .rs-case-screen > .rs-wrap {gap:22px}
  .rs-case-bar {min-height:44px;padding-bottom:12px}
  body.page-automation main > section.rs-case-screen h2 {font-size:32px;margin-bottom:16px}
  body.page-automation main > section.rs-case-screen .sub {font-size:16px;margin-bottom:16px}
  body.page-automation .rs-case-screen .case-subtitle {font-size:21px;margin-bottom:18px}
  body.page-automation .rs-case-screen .stat {margin-top:18px}
  body.page-automation .rs-case-screen .ctx {padding:10px 0;font-size:15px}
}
@media (max-width:1000px) {
  body.page-automation .rs-case-screen :is(.case-layout,.split) {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
}
@media (max-width:760px) {
  body.page-automation main > section.rs-case-screen {min-height:0;padding-block:32px;scroll-margin-top:68px}
  .rs-case-screen > .rs-wrap {gap:26px}
  .rs-case-bar {align-items:flex-start;gap:14px}
  .rs-case-label {align-items:flex-start;flex-direction:column;gap:8px}
  .rs-case-badge {font-size:14px;padding:8px 12px}
  .rs-case-category {font-size:13px}
  .rs-case-brand {gap:6px;max-width:45%;flex-wrap:wrap}
  .rs-case-brand img {height:36px;max-width:114px}
  .rs-case-brand span {font-size:16px}
  .rs-case-brand[data-brand="robot"] img {width:114px;height:38px}
  .rs-case-brand[data-brand="snoopdoc"] img,.rs-case-brand[data-brand="prodo"] img {width:114px;height:30px}
  body.page-automation .rs-case-screen :is(.case-layout,.split) {grid-template-columns:1fr;gap:28px}
  body.page-automation main > section.rs-case-screen h2 {font-size:32px;margin-bottom:18px}
  body.page-automation main > section.rs-case-screen .sub {font-size:17px}
  body.page-automation .rs-case-screen :is(.shot img,.player,.player .poster) {max-height:none}
  body.page-automation .rs-case-gallery .sup-roles .shot img {height:auto;max-height:none}
  body.page-automation .rs-case-testimonial .quote {grid-template-columns:1fr;gap:28px}
  body.page-automation .rs-case-testimonial .who img {width:120px;height:120px}
}
