/* ---------- Лабораторные испытания ---------- */
/* Первый экран без якорной навигации: берём тёмный hero страницы услуг,
   но без нахлёста под неё. */
.lab-hero { padding-bottom: clamp(64px, 6vw, 96px); }

.lab { padding-block: clamp(80px, 7vw, 128px); background: #fff; scroll-margin-top: calc(var(--header-h-stuck, 80px) + 24px); }
.lab--alt { background: var(--color-sand); }

/* Слева заголовок и текст прилипают при прокрутке, справа — «что проверяем» и нормативы */
.lab__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 5vw, 96px); align-items: start; }
.lab__intro { min-width: 0; position: sticky; top: calc(var(--header-h-stuck, 80px) + 24px); }
.lab__intro .section__title { margin: 0; }
.lab__intro .p-large { margin-top: 24px; color: var(--color-text); }
.lab__intro .p-large:first-of-type { margin-top: 24px; }
.lab__side { display: grid; gap: 24px; min-width: 0; }

.lab__box { min-width: 0; padding: 32px; border-radius: 24px; background: var(--color-sand); }
.lab--alt .lab__box { background: #fff; }
.lab__box-title { margin: 0; font-size: 22px; line-height: 1.3; font-weight: 500; color: var(--color-ink); }
.lab__box p { margin: 16px 0 0; font-size: var(--p-size); line-height: 1.5; color: var(--color-text); }
.lab__box .svc__list { grid-template-columns: 1fr; gap: 16px; margin-top: 24px; }

.lab__norms { display: grid; gap: 16px; margin: 24px 0 0; padding: 0; list-style: none; }
.lab__norms li { display: grid; gap: 4px; padding-top: 16px; border-top: 1px solid var(--color-border); font-size: var(--p-size); line-height: 1.5; }
.lab__norms li:first-child { padding-top: 0; border-top: 0; }
.lab__norms b { font-weight: 500; color: var(--color-ink); }
.lab__norms span { color: var(--color-text); }

/* Блок «Что получает заказчик» */
.lab__head { max-width: 880px; }
.lab__head .section__title { margin: 0; }
.lab__head .p-large { margin-top: 24px; color: var(--color-text); }
.lab__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; align-items: start; }
.lab__note { max-width: 880px; margin: 40px 0 0; font-size: 14px; line-height: 1.5; color: var(--color-muted, #6b6560); }

/* Стандартная карусель сайта (.pcar) в вертикальном формате 3:4:
   так же будут выглядеть все следующие испытания. */
.lab .pcar { margin-top: clamp(48px, 5vw, 80px); }
.pcar--portrait { --slide-w: min(22vw, 352px); --slide-gap: 24px; --side-scale: 1; }
.pcar--portrait .pcar__slide { aspect-ratio: 3 / 4; }
.pcar--portrait .pcar__video video { object-fit: cover; }
/* Стрелки там же, где в остальных каруселях сайта: у краёв экрана
   (в стандартной карусели слайд 62,5vw, стрелка на четверти поля). */
.pcar--portrait .pcar__nav--prev { left: calc((100vw - 62.5vw) / 4 - 24px); }
.pcar--portrait .pcar__nav--next { right: calc((100vw - 62.5vw) / 4 - 24px); }
/* Без увеличения центрального кадра и без «проявления» картинок:
   все слайды одного размера, кадры видны сразу. */
.js .pcar.pcar--portrait .pcar__track.is-live .pcar__slide,
.js .pcar.pcar--portrait .pcar__track.is-live .pcar__slide.is-active { transform: none; }
/* Появление фото — стандартное (img-reveal), без увеличения активного слайда */
.js .pcar.pcar--portrait .pcar__track.is-live .pcar__slide.is-active .img-reveal.is-in > img { --rs: 1; }
@media (hover: hover) {
  .js .pcar.pcar--portrait .pcar__track.is-live .pcar__slide.is-active:hover .img-reveal.is-in > img { --rs: 1.04; }
}

@media (max-width: 900px) {
  .lab__grid { grid-template-columns: 1fr; gap: 32px; }
  .lab__intro { position: static; }
  .lab__cols { grid-template-columns: 1fr; margin-top: 32px; }
  .lab__box { padding: 24px; }
  .pcar.pcar--portrait { --slide-w: 53vw; --slide-gap: 12px; --side-scale: 1; }
}
@media (max-width: 640px) {
  .lab__box { border-radius: 16px; }
}
