/* Отступ между первым экраном и вводным блоком соответствует PSD. */
.hero--finished { margin-bottom: clamp(32px, 3vw, 39px); }

/* Переиспользуемый информационный блок в тонкой рамке. */
.outlined-intro {
  border: 1px solid #c6c6c6;
  border-radius: 21px;
  padding: 36px 52px 40px;
  margin-bottom: 52px;
  background: #fff;
}
.outlined-intro__text {
  margin: 0;
  color: #4b4b4b;
  font-size: 16px;
  line-height: 1.7;
  font-weight: 400;
  letter-spacing: -.016em;
}
.outlined-intro__text strong {
  font-weight: 700;
  color: #383838;
}
@media (max-width: 760px) {
  .hero--finished { margin-bottom: 28px; }
  .outlined-intro { padding: 25px 23px 27px; border-radius: 16px; margin-bottom: 40px; }
  .outlined-intro__text { font-size: 14px; line-height: 1.66; }
}
@media (max-width: 430px) {
  .outlined-intro { padding: 22px 19px 24px; }
  .outlined-intro__text { font-size: 13.5px; line-height: 1.67; }
}

/* Общая секция проверки квартиры; только ширина заголовка в этом макете. */
.inspection-section--finished .inspection-section__title {
  max-width: 840px;
}

/* Компенсация с застройщика: отдельная секция по PSD третьей страницы. */
.compensation {
  margin-top: 42px;
  padding: 68px 0 22px;
  background: #f7f4f1;
}
.compensation__inner {
  display: grid;
  grid-template-columns: minmax(0, 445px) minmax(0, 1fr);
  align-items: start;
  gap: 100px;
  width: min(1230px, calc(100% - 32px));
  margin-inline: auto;
}
.compensation__intro { min-width: 0; }
.compensation__title {
  margin: 0;
  font-size: 31px;
  font-weight: 720;
  line-height: 1.12;
  letter-spacing: -.025em;
  color: #111;
}
.compensation__description {
  max-width: 460px;
  margin: 17px 0 0;
  color: #707070;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: -.022em;
}
.compensation__benefits {
  display: grid;
  gap: 9px;
  margin: 17px 0 0;
  padding: 0;
  list-style: none;
}
.compensation__benefit { display: flex; align-items: center; gap: 12px; min-width: 0; color: #33383a; font-size: 14px; line-height: 1.4; }
.compensation__benefit-icon {
  display: grid;
  place-items: center;
  flex: 0 0 43px;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: #f5e5da;
}
.compensation__benefit-icon img { width: 24px; height: 24px; object-fit: contain; }
.compensation__benefit-icon--gavel img { width: 38px; height: 38px; }
.compensation__carousel { position: relative; min-width: 0; }
.compensation__viewport { overflow: hidden; border-radius: 17px; }
.compensation__track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.compensation-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border-radius: 17px;
  box-shadow: 0 6px 18px rgba(25, 25, 25, .095);
}
.compensation-card__image { display: block; width: 100%; height: 153px; object-fit: cover; }
.compensation-card__body { display: flex; flex-direction: column; flex: 1; padding: 12px 14px 13px; }
.compensation-card__title {
  margin: 0 0 15px;
  min-height: 48px;
  color: #3b3b3b;
  font-size: 22px;
  font-weight: 650;
  line-height: 1.16;
  letter-spacing: -.025em;
}
.compensation-card__terms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-bottom: 19px; }
.compensation-card__term { display: grid; min-width: 0; align-content: start; gap: 1px; padding-left: 0; }
.compensation-card__term + .compensation-card__term { padding-left: 14px; border-left: 1px solid #ece5e0; }
.compensation-card__term-name { color: #1a1b1d; font-size: 11.5px; line-height: 1.3; white-space: nowrap; }
.compensation-card__term-value { color: #915127; font-size: 10.5px; font-weight: 500; line-height: 1.35; white-space: nowrap; }
.compensation-card__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 39px;
  grid-template-rows: auto auto;
  align-items: center;
  margin-top: auto;
  padding: 8px 9px 8px 13px;
  min-height: 66px;
  border-radius: 8px;
  background: #fdf0e7;
  text-decoration: none;
  color: #915127;
  transition: background-color .2s ease;
}
.compensation-card__link:hover { background: #f6e2d2; }
.compensation-card__link-caption { grid-column: 1; font-size: 10px; font-weight: 500; line-height: 1.3; }
.compensation-card__link-title { grid-column: 1; font-size: 18px; font-weight: 700; line-height: 1.1; letter-spacing: -.02em; }
.compensation-card__link-icon {
  grid-column: 2;
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  border-radius: 50%;
  color: #1b1d1f;
  background: #fff;
}
.compensation-card__link-icon svg { width: 21px; height: 21px; stroke: currentColor; stroke-width: 1.7; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.compensation__arrow {
  display: none;
  place-items: center;
  position: absolute;
  z-index: 2;
  top: calc(50% - 30px);
  width: 36px;
  height: 36px;
  padding: 0;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #fbefe5;
  box-shadow: 0 2px 9px #0001;
  color: #292b2d;
}
.compensation__carousel.is-enhanced .compensation__arrow { display: grid; }
.compensation__arrow--prev { left: -19px; }
.compensation__arrow--next { right: -19px; }
.compensation__arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.compensation__dots { display: none; align-items: center; justify-content: center; gap: 0; margin-top: 4px; }
.compensation__carousel.is-enhanced .compensation__dots { display: flex; }
.compensation__dot { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; background: transparent; border: 0; }
.compensation__dot span { display: block; width: 10px; height: 10px; border-radius: 50%; background: #dfdad7; }
.compensation__dot[aria-current="true"] span { background: #b4774c; }
@media (min-width: 701px) {
  .compensation__carousel.is-second .compensation-card:first-child { order: 2; }
  .compensation__carousel.is-second .compensation-card:last-child { order: 1; }
}
@media (max-width: 1250px) {
  .compensation__inner { grid-template-columns: minmax(0, .85fr) minmax(0, 1.25fr); gap: 42px; }
  .compensation__title { font-size: clamp(25px, 2.5vw, 31px); }
}
@media (max-width: 1050px) {
  .compensation { margin-top: 33px; padding: 49px 0 35px; }
  .compensation__inner { display: block; }
  .compensation__intro { max-width: 730px; margin-bottom: 25px; }
  .compensation__title { max-width: 700px; }
  .compensation__description { max-width: 700px; }
  .compensation__benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
  .compensation__carousel { max-width: 700px; margin-inline: auto; }
}
@media (max-width: 700px) {
  .compensation { margin-top: 30px; padding: 37px 0 32px; }
  .compensation__inner { width: min(550px, calc(100% - 24px)); }
  .compensation__title { font-size: clamp(24px, 6.2vw, 29px); }
  .compensation__description { margin-top: 15px; font-size: 13px; line-height: 1.65; }
  .compensation__benefits { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 18px; }
  .compensation__benefit { font-size: 13px; }
  .compensation__intro { margin-bottom: 24px; }
  .compensation__track { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 100%; gap: 16px; transition: transform .25s ease; }
  .compensation__carousel.is-second .compensation__track { transform: translateX(calc(-100% - 16px)); }
  .compensation__viewport { border-radius: 16px; }
  .compensation__carousel:not(.is-enhanced) .compensation__viewport { overflow: visible; }
  .compensation__carousel:not(.is-enhanced) .compensation__track { grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); }
  .compensation-card__image { height: auto; aspect-ratio: 584 / 272; }
  .compensation-card__body { padding: 17px 17px 16px; }
  .compensation-card__title { font-size: 19px; }
  .compensation-card__title br { display: none; }
  .compensation-card__term-name { font-size: 11px; }
  .compensation-card__term-value { font-size: 10px; }
  .compensation__arrow { top: 75px; width: 40px; height: 40px; }
  .compensation__arrow--prev { left: -11px; }
  .compensation__arrow--next { right: -11px; }
  .compensation__dots { margin-top: 0; }
}
@media (max-width: 360px) {
  .compensation-card__body { padding-inline: 12px; }
  .compensation-card__term + .compensation-card__term { padding-left: 8px; }
  .compensation-card__term-name { font-size: 10px; }
  .compensation-card__term-value { font-size: 9.5px; }
}
@media (prefers-reduced-motion: reduce) {
  .compensation__track, .compensation-card__link { transition: none; }
}

/* Приёмка с чистовой отделкой: следующий экран из PSD. */
.finished-video-section { background:#fff; padding:clamp(54px,5.8vw,86px) 0; }
.finished-video-section__inner { display:grid; grid-template-columns:minmax(0,1.46fr) minmax(0,1fr); align-items:center; gap:clamp(28px,4vw,70px); width:min(1230px,calc(100% - 32px)); margin-inline:auto; }
.finished-video-section__copy, .finished-video-section__media { min-width:0; }
.finished-video-section__title { margin:0; color:#393939; font-size:clamp(25px,2.35vw,31px); line-height:1.2; font-weight:700; letter-spacing:-.023em; }
.finished-video-section__description { margin:22px 0 0; max-width:710px; color:#555; font-size:15px; line-height:1.51; letter-spacing:-.018em; }
.finished-video-section .penalty-video { border-radius:13px; }
.finished-video-section .penalty-video__source { font-size:12px; }
@media (max-width:950px) {
 .finished-video-section__inner { grid-template-columns:minmax(0,1.07fr) minmax(0,1fr); gap:24px; }
 .finished-video-section__description { font-size:13.5px; line-height:1.55; margin-top:15px; }
}
@media (max-width:760px) {
 .finished-video-section { padding:44px 0 48px; }
 .finished-video-section__inner { grid-template-columns:minmax(0,1fr); gap:22px; width:min(550px,calc(100% - 24px)); }
 .finished-video-section__title { font-size:clamp(23px,6vw,29px); }
 .finished-video-section__description { font-size:14px; line-height:1.58; margin-top:16px; }
}

/* В блоке компенсации пиктограмма молотка уже содержит собственный круг из PSD. */
.compensation__benefit-icon--gavel { background:transparent; }
.compensation__benefit-icon--gavel img { width:43px; height:43px; }

/* Галерея видео по PSD: три обложки в ряд. Скрипт/управление общие со страницей неустойки. */
.finished-gallery { overflow-x:clip; background:#fff; padding:30px 0 42px; }
.finished-gallery__inner { width:min(1230px,calc(100% - 32px)); margin-inline:auto; }
.finished-gallery .penalty-videos__carousel { position:relative; min-width:0; }
.finished-gallery .penalty-videos__viewport { overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:none; }
.finished-gallery .penalty-videos__viewport::-webkit-scrollbar { display:none; }
.finished-gallery .penalty-videos__viewport:focus-visible { outline:3px solid #b4774c; outline-offset:3px; border-radius:12px; }
.finished-gallery .penalty-videos__track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 48px) / 3); align-items:stretch; gap:24px; padding:2px 2px 4px; }
.finished-gallery .penalty-videos__card { min-width:0; }
.finished-gallery .penalty-videos__card-title { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.finished-gallery .penalty-videos__card-link { display:block; position:relative; aspect-ratio:704 / 395; overflow:hidden; border-radius:11px; background:#e7e6e4; scroll-snap-align:start; }
.finished-gallery .penalty-videos__card-image { display:block; width:100%; height:100%; object-fit:cover; transition:transform .24s ease; }
.finished-gallery .penalty-videos__card-link:hover .penalty-videos__card-image { transform:scale(1.025); }
.finished-gallery .penalty-videos__card-link:focus-visible,
.finished-gallery .penalty-videos__arrow:focus-visible,
.finished-gallery .penalty-videos__dot:focus-visible { outline:3px solid #89522d; outline-offset:3px; }
/* Для трёх карточек управление нужно только в узких адаптивных раскладках. */
.finished-gallery .penalty-videos__arrow, .finished-gallery .penalty-videos__dots { display:none; }
@media(max-width:991px) {
  .finished-gallery { padding:28px 0 38px; }
  .finished-gallery .penalty-videos__carousel { padding:0 0 40px; }
  .finished-gallery .penalty-videos__track { grid-auto-columns:calc((100% - 18px) / 2); gap:18px; }
  .finished-gallery .penalty-videos__arrow { position:absolute; bottom:0; z-index:2; display:grid; place-items:center; width:36px; height:36px; border:1px solid #e9e0d7; border-radius:50%; background:#fff; color:#333; font:inherit; font-size:20px; cursor:pointer; }
  .finished-gallery .penalty-videos__arrow[disabled] { opacity:.3; cursor:default; }
  .finished-gallery .penalty-videos__arrow--prev { left:10px; }
  .finished-gallery .penalty-videos__arrow--next { right:10px; }
  .finished-gallery .penalty-videos__dots { display:flex; justify-content:center; align-items:center; gap:5px; min-height:36px; }
  .finished-gallery .penalty-videos__dot { display:grid; place-items:center; width:38px; height:36px; background:transparent; border:0; padding:0; cursor:pointer; }
  .finished-gallery .penalty-videos__dot::before { content:""; display:block; width:8px; height:8px; border-radius:50%; background:#ddd8d4; }
  .finished-gallery .penalty-videos__dot[aria-current="true"]::before { background:#b4774c; }
}
@media(max-width:767px) {
  .finished-gallery { padding:24px 0 36px; }
  .finished-gallery__inner { width:min(550px,calc(100% - 24px)); }
  .finished-gallery .penalty-videos__track { grid-auto-columns:100%; gap:16px; }
  .finished-gallery .penalty-videos__card-link { border-radius:12px; }
}
/* Видеомодалка переиспользует разметку и JS со страницы неустойки. */
.penalty-video-modal[hidden] { display:none; }
.penalty-video-modal { position:fixed; inset:0; z-index:90; display:grid; place-items:center; padding:24px; }
.penalty-video-modal__backdrop { position:absolute; inset:0; background:rgba(10,14,20,.7); }
.penalty-video-modal__dialog { position:relative; z-index:1; width:min(960px,100%); max-height:calc(100vh - 48px); overflow:auto; padding:18px; border-radius:18px; background:#fff; box-shadow:0 18px 60px rgba(0,0,0,.24); }
.penalty-video-modal__close { position:absolute; top:12px; right:12px; width:38px; height:38px; border:0; border-radius:50%; background:#f1ece8; color:#3b3b3b; font-size:24px; cursor:pointer; }
.penalty-video-modal__title { margin:0 45px 14px 0; color:#30343a; font-size:20px; line-height:1.25; font-weight:650; }
.penalty-video-modal__frame { aspect-ratio:16/9; border-radius:14px; overflow:hidden; background:#10161d; }
.penalty-video-modal__frame iframe { display:block; width:100%; height:100%; border:0; }
.penalty-video-modal__link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 16px; margin-top:14px; border-radius:9px; background:#26353d; color:#fff; text-decoration:none; font-size:14px; font-weight:600; }
.penalty-video-modal__link:hover { background:#17242a; color:#fff; }
.penalty-video-modal__close:focus-visible,.penalty-video-modal__link:focus-visible { outline:3px solid #89522d; outline-offset:3px; }
body.is-video-modal-open { overflow:hidden; }
@media(max-width:767px) {
 .penalty-video-modal { padding:12px; }
 .penalty-video-modal__dialog { max-height:calc(100vh - 24px); padding:12px; }
 .penalty-video-modal__title { font-size:16px; }
 .penalty-video-modal__link { width:100%; }
}
@media(prefers-reduced-motion:reduce){.finished-gallery .penalty-videos__card-image{transition:none;}}

/* Почему обращаться к специалисту: двухколоночный текстовый блок по PSD. */
.finished-why {
  width: min(1230px, calc(100% - 32px));
  margin: 0 auto 54px;
  padding: 45px 48px 49px;
  background: #f1f3f5;
  border-radius: 22px;
}
.finished-why__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(34px, 5.4vw, 85px);
}
.finished-why__title {
  margin: 0;
  color: #3d3d3d;
  font-size: clamp(21px, 1.9vw, 24px);
  font-weight: 700;
  line-height: 1.42;
  letter-spacing: -0.015em;
}
.finished-why__description {
  margin: 0;
  color: #585858;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.68;
  letter-spacing: -0.015em;
}
@media (max-width: 900px) {
  .finished-why { padding: 33px 32px 35px; margin-bottom: 42px; }
  .finished-why__inner { gap: 32px; }
  .finished-why__title { font-size: 21px; line-height: 1.38; }
  .finished-why__description { font-size: 15px; line-height: 1.62; }
}
@media (max-width: 660px) {
  .finished-why {
    width: min(550px, calc(100% - 24px));
    padding: 27px 23px 30px;
    margin-bottom: 42px;
    border-radius: 17px;
  }
  .finished-why__inner { grid-template-columns: minmax(0, 1fr); gap: 17px; }
  .finished-why__title { font-size: clamp(19px, 5vw, 23px); line-height: 1.34; }
  .finished-why__description { font-size: 14px; line-height: 1.65; }
}
@media (max-width: 380px) {
  .finished-why { padding: 24px 18px 26px; }
}

/* Оборудование: две полные карточки и видимая часть следующей по PSD. */
.finished-equipment { padding: 0 0 67px; background: #fff; overflow: clip; }
.finished-equipment__inner { width: min(1230px, calc(100% - 32px)); margin-inline: auto; }
.finished-equipment__heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 23px; }
.finished-equipment__title { margin: 0; color: #383838; font-size: clamp(23px, 2vw, 27px); line-height: 1.22; letter-spacing: -.025em; font-weight: 700; }
.finished-equipment__arrows { display: flex; align-items: center; flex: 0 0 auto; gap: 10px; }
.finished-equipment__arrow { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: #f0f1f2; color: #454545; transition: background-color .2s ease; }
.finished-equipment__arrow svg { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; stroke-linecap: round; }
.finished-equipment__arrow:hover:not(:disabled) { background: #e1e5e8; }
.finished-equipment__arrow:disabled { opacity: .42; cursor: default; }
.finished-equipment__arrow:focus-visible { outline: 3px solid #89522d; outline-offset: 3px; }
.finished-equipment__viewport { min-width: 0; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scroll-behavior: smooth; border-radius: 17px; }
.finished-equipment__viewport::-webkit-scrollbar { display: none; }
.finished-equipment__viewport:focus-visible { outline: 3px solid #89522d; outline-offset: -3px; }
.finished-equipment__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 2.52); gap: 24px; align-items: stretch; padding: 5px 4px 12px; }
.finished-equipment__card { display: grid; grid-template-columns: 30% minmax(0, 1fr); gap: 18px; align-items: center; min-width: 0; min-height: 205px; padding: 23px 27px 24px 17px; scroll-snap-align: start; background: #fff; border-radius: 21px; box-shadow: 0 3px 14px rgb(0 0 0 / .095); }
.finished-equipment__image-wrap { display: grid; place-items: center; min-width: 0; height: 145px; }
.finished-equipment__image { width: 100%; max-width: 115px; height: 145px; object-fit: contain; mix-blend-mode: multiply; }
.finished-equipment__copy { min-width: 0; }
.finished-equipment__name { margin: 0 0 12px; color: #343434; font-size: clamp(16px, 1.45vw, 19px); line-height: 1.24; letter-spacing: -.015em; font-weight: 700; }
.finished-equipment__description { margin: 0; color: #555; font-size: clamp(13px, 1.1vw, 16px); line-height: 1.43; }
@media (max-width: 970px) {
 .finished-equipment__track { grid-auto-columns: 66%; gap: 18px; }
 .finished-equipment__card { grid-template-columns: 28% minmax(0,1fr); padding: 20px 20px 21px 15px; min-height: 190px; }
 .finished-equipment__image { height: 126px; }
 .finished-equipment__image-wrap { height: 130px; }
 .finished-equipment__name { font-size: 17px; }
 .finished-equipment__description { font-size: 13.5px; }
}
@media (max-width: 660px) {
 .finished-equipment { padding-bottom: 45px; }
 .finished-equipment__inner { width: min(550px, calc(100% - 24px)); }
 .finished-equipment__heading { align-items: flex-start; gap: 12px; margin-bottom: 18px; }
 .finished-equipment__title { font-size: clamp(19px, 4.8vw, 23px); line-height: 1.28; }
 .finished-equipment__arrows { gap: 7px; }
 .finished-equipment__arrow { width: 34px; height: 34px; }
 .finished-equipment__track { grid-auto-columns: 87%; gap: 13px; padding: 4px 4px 11px; }
 .finished-equipment__card { min-height: 175px; grid-template-columns: 29% minmax(0, 1fr); gap: 11px; padding: 15px 14px 15px 11px; border-radius: 14px; }
 .finished-equipment__image-wrap, .finished-equipment__image { height: 125px; }
 .finished-equipment__name { margin-bottom: 8px; font-size: 15px; line-height: 1.25; }
 .finished-equipment__description { font-size: 12px; line-height: 1.46; }
}
@media (max-width: 375px) {
 .finished-equipment__card { grid-template-columns: 27% minmax(0, 1fr); gap: 9px; padding-inline: 9px; }
 .finished-equipment__name { font-size: 14px; }
 .finished-equipment__description { font-size: 11.5px; }
}
@media (prefers-reduced-motion: reduce) {
 .finished-equipment__viewport { scroll-behavior: auto; }
 .finished-equipment__arrow { transition: none; }
}

/* Отзывы: сетка и габариты карточек сверены с PSD, реальные отзывы — из JSON. */
.finished-reviews { padding: 32px 0 36px; background: #fff; }
.finished-reviews__inner { display: grid; grid-template-columns: minmax(0, 315px) minmax(0, 1fr); gap: 36px; width: min(1230px, calc(100% - 32px)); margin-inline: auto; }
.finished-reviews__overview { padding-top: 10px; min-width: 0; }
.finished-reviews__title { margin: 0; max-width: 320px; font-size: clamp(24px, 2vw, 29px); line-height: 1.13; letter-spacing: -.028em; font-weight: 720; color: #363636; }
.finished-reviews__lead { margin: 11px 0 16px; color: #575757; font-size: 16px; line-height: 1.45; }
.finished-reviews__rating { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; width: min(100%, 245px); min-height: 125px; padding: 17px 24px; text-decoration: none; color: #272727; border-radius: 15px; background: #fff; box-shadow: 0 5px 19px rgb(0 0 0 / .15); transition: box-shadow .2s ease, transform .2s ease; }
.finished-reviews__rating:hover { box-shadow: 0 7px 23px rgb(0 0 0 / .18); transform: translateY(-2px); }
.finished-reviews__rating:focus-visible, .finished-review-card__source:focus-visible, .finished-reviews__disclaimer a:focus-visible { outline: 3px solid #975129; outline-offset: 4px; }
.finished-reviews__pin, .finished-review-card__source-pin { display: block; flex: none; object-fit: contain; }
.finished-reviews__pin { width: 19px; height: 22px; }
.finished-reviews__brand { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; line-height: 1.15; font-weight: 700; }
.finished-reviews__rating-line { display: flex; gap: 10px; align-items: center; margin-top: 8px; }
.finished-reviews__score { font-size: 40px; letter-spacing: -.025em; line-height: 1; font-weight: 700; }
.finished-reviews__rating-meta { display: flex; flex-direction: column; gap: 0; color: #555; font-size: 12px; line-height: 1.25; }
.finished-reviews__stars { color: #ffaa00; white-space: nowrap; font-size: 18px; letter-spacing: .5px; }
.finished-reviews__gallery { min-width: 0; }
.finished-reviews__toolbar { display: flex; justify-content: flex-end; align-items: center; min-height: 34px; margin-bottom: 4px; padding-right: 5px; }
.finished-reviews__controls { display: flex; align-items: center; gap: 9px; }
.finished-reviews__arrow { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #f0f1f2; color: #444; transition: background-color .2s ease; cursor: pointer; }
.finished-reviews__arrow svg { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.finished-reviews__arrow:hover:not(:disabled) { background: #e2e4e6; }
.finished-reviews__arrow:disabled { opacity: .45; cursor: default; }
.finished-reviews__arrow:focus-visible { outline: 3px solid #975129; outline-offset: 3px; }
.finished-reviews__viewport { overflow-x: auto; min-width: 0; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scroll-padding-inline: 15px; scrollbar-width: none; }
.finished-reviews__viewport::-webkit-scrollbar { display: none; }
.finished-reviews__viewport:focus-visible { outline: 3px solid #975129; outline-offset: -3px; }
.finished-reviews__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 16px) / 2); align-items: stretch; gap: 16px; padding: 16px 15px 21px; }
.finished-review-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; min-height: 285px; padding: 20px 22px 19px; background: #fff; border: 1px solid #f0f0f0; border-radius: 17px; box-shadow: 0 4px 14px rgb(0 0 0 / .13); scroll-snap-align: start; }
.finished-review-card__head { display: flex; align-items: center; gap: 11px; min-width: 0; }
.finished-review-card__avatar { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; background: #8297a6; color: #fff; font-size: 20px; line-height: 1; font-weight: 450; }
.finished-review-card__author { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.finished-review-card__name { margin: 0; overflow-wrap: anywhere; color: #222; font-size: 16px; line-height: 1.15; font-weight: 720; }
.finished-review-card__level { color: #555; font-size: 12px; line-height: 1.2; }
.finished-review-card__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; margin: 16px 0 0; line-height: 1.4; }
.finished-review-card__date { color: #555; font-size: 12px; white-space: nowrap; }
.finished-review-card__content { margin: 12px 0 20px; color: #2c2c2c; font-size: 15px; font-weight: 580; line-height: 1.44; }
.finished-review-card__source { display: inline-flex; align-items: center; gap: 9px; margin-top: auto; color: #555; text-decoration: none; font-size: 12px; line-height: 1.4; }
.finished-review-card__source:hover { color: #343434; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1080px) {
  .finished-reviews__inner { grid-template-columns: minmax(0, 270px) minmax(0, 1fr); gap: 23px; }
  .finished-reviews__track { grid-auto-columns: 65%; gap: 16px; }
  .finished-review-card { padding: 19px 19px; }
  .finished-review-card__content { font-size: 14.5px; }
}
@media (max-width: 740px) {
  .finished-reviews { padding: 18px 0 35px; }
  .finished-reviews__inner { display: block; width: min(550px, calc(100% - 24px)); }
  .finished-reviews__overview { padding-top: 0; }
  .finished-reviews__title { font-size: 23px; }
  .finished-reviews__lead { font-size: 14px; margin: 8px 0 14px; }
  .finished-reviews__rating { min-height: 113px; padding: 13px 21px; border-radius: 14px; }
  .finished-reviews__brand { font-size: 15px; }
  .finished-reviews__score { font-size: 36px; }
  .finished-reviews__stars { font-size: 16px; }
  .finished-reviews__toolbar { margin-top: -27px; margin-bottom: 8px; }
  .finished-reviews__viewport { scroll-padding-inline: 12px; }
  .finished-reviews__track { grid-auto-columns: 80%; gap: 13px; padding: 12px 12px 18px; }
  .finished-review-card { min-height: 270px; padding: 19px 18px; }
  .finished-review-card__content { font-size: 14px; }
}
@media (max-width: 440px) {
  .finished-reviews__toolbar { margin-top: 10px; }
  .finished-reviews__track { grid-auto-columns: 87%; }
  .finished-review-card__avatar { width: 38px; height: 38px; flex-basis: 38px; font-size: 19px; }
  .finished-review-card__name { font-size: 14.5px; }
  .finished-review-card__level, .finished-review-card__date, .finished-review-card__source { font-size: 11px; }
  .finished-review-card__content { font-size: 13.5px; }
  .finished-review-card { min-height: 260px; padding: 18px 17px; }
}
@media (prefers-reduced-motion: reduce) {
 .finished-reviews__rating, .finished-reviews__arrow { transition: none; }
}

/* Финальный текстовый блок: только заголовок и три абзаца из PSD. */
.finished-summary { background: #fff; padding: 7px 0 72px; }
.finished-summary__inner { width: min(1230px, calc(100% - 32px)); margin-inline: auto; }
.finished-summary__title { margin: 0 0 21px; color: #393939; font-size: clamp(24px, 2.38vw, 30px); line-height: 1.27; font-weight: 750; letter-spacing: -.025em; }
.finished-summary p { margin: 0 0 25px; color: #555; font-size: 16px; line-height: 1.65; font-weight: 450; letter-spacing: -.01em; }
.finished-summary p:last-child { margin-bottom: 0; }
@media (max-width: 760px) {
  .finished-summary { padding: 3px 0 52px; }
  .finished-summary__inner { width: min(550px, calc(100% - 24px)); }
  .finished-summary__title { font-size: clamp(22px, 5.65vw, 28px); margin-bottom: 18px; }
  .finished-summary p { font-size: 14px; line-height: 1.63; margin-bottom: 21px; }
}

/* WYSIWYG intro uses semantic paragraphs without nested <p> elements. */
.outlined-intro__text p { margin: 0; }
.outlined-intro__text p + p { margin-top: 1em; }

/* ACF: optional parts must not leave an empty grid column. */
.act-report.act-report--no-image, .act-report.act-report--no-copy { grid-template-columns: minmax(0, 1fr); }
.act-report--no-copy .act-report__image { width: min(100%, 265px); }

/* ACF sections: omit empty columns, retain the original report carousel. */
.compensation--carousel-only .compensation__inner { display:block; }
.compensation--carousel-only .compensation__carousel { width:100%; max-width:none; }
.finished-video-section--text-only .finished-video-section__inner,
.finished-video-section--media-only .finished-video-section__inner { grid-template-columns:minmax(0,1fr); }
.finished-video-section--media-only .finished-video-section__media { max-width:540px; }
