/* Блоки, общие для главной и страниц услуг (с 25.09.2026): основа .vd-home, «15+ лет»,
   «Наши результаты» с акциями, отзывы, запись с картой. Грузится на обеих страницах —
   на главной перед home.css, на страницах услуг после service-pages.css. На страницах
   услуг блоки стоят во вложенной обёртке .vd-home, поэтому правила, привязанные к корню
   главной, записаны как :is(#allrecords.vd-home,#allrecords .vd-home). */
/* The home page uses normal document flow instead of Tilda artboard scaling. */
.vd-home {
  --home-accent: #E21717;
  --home-surface: #111;
  --home-border: #303030;
  --home-muted: #b5b5b5;
  background: #050505;
  color: #fff;
  font: 400 16px/1.55 Onest, Arial, sans-serif;
}
.vd-home *, .vd-home *::before, .vd-home *::after { box-sizing: border-box; }
:is(#allrecords.vd-home,#allrecords .vd-home) a { color: inherit; text-decoration: none; }
:is(#allrecords.vd-home,#allrecords .vd-home) :is(a, button, input, textarea, summary):focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.vd-home :is(h1, h2, h3, p, ul, blockquote) { margin: 0; }
.vd-home :is(h1, h2, h3) { text-wrap: balance; }
.vd-home h2 { font: 400 clamp(36px, 4.2vw, 64px)/1.05 AkzidenzGrotesk, Arial, sans-serif; text-transform: uppercase; max-width: 900px; }
.vd-home h3 { font-size: 22px; font-weight: 500; line-height: 1.25; }
.vd-home p { color: var(--home-muted); }
.home-container { width: calc(100% - 48px); max-width: 1392px; margin-inline: auto; }
.home-section { padding-block: clamp(40px, 5vw, 72px); scroll-margin-top: 24px; }
.home-section-heading { margin-bottom: 28px; }
.home-section-heading > p:last-child:not(:first-child) { margin-top: 16px; max-width: 700px; }
.vd-home .home-eyebrow { display: block; color: #ccc; font-size: 13px; font-weight: 500; letter-spacing: .09em; text-transform: uppercase; margin-bottom: 12px; }
.home-grid { display: grid; gap: 20px; }
.home-grid > *, .home-contact-grid > * { min-width: 0; }
.home-card { border: 1px solid var(--home-border); background: var(--home-surface); border-radius: 12px; padding: 28px; }
.home-card p { margin-top: 16px; }
.home-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
:is(#allrecords.vd-home,#allrecords .vd-home) .home-button, :is(#allrecords.vd-home,#allrecords .vd-home) :is(.vd-res__more, .vd-ak__knopka) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px;
  border: 1px solid transparent; border-radius: 8px; padding: 12px 22px;
  background: var(--home-accent); color: #fff; font: 500 15px/1.4 Onest, Arial, sans-serif;
  text-align: center; cursor: pointer; box-shadow: none; transition: background .15s, border-color .15s;
}
:is(#allrecords.vd-home,#allrecords .vd-home) .home-button--outline { background: transparent; border-color: #666; }
:is(#allrecords.vd-home,#allrecords .vd-home) .home-link { color: #fff; font-size: 15px; text-decoration: underline; text-decoration-color: #707070; text-underline-offset: 5px; }
:is(#allrecords.vd-home,#allrecords .vd-home) :is(.home-button, .vd-res__more, .vd-ak__knopka):hover { background: #B31212; }
:is(#allrecords.vd-home,#allrecords .vd-home) .home-button--outline:hover { border-color: #fff; background: #ffffff12; }
.home-section-note { margin-top: 24px !important; }
/* Второй блок («15+ лет опыта») повторяет Zero Block rec1188127116 оригинала: чёрный холст
   фиксированной высоты (610 / 610 / 760 / 1032 по холстам 1200 / 960 / 640 / 320), заголовок
   слева и три карточки 275×300 (средняя поднята на 170) стоят по координатам в единицах --vd-u.
   Тексты карточек у оригинала — отдельные элементы на 30px от края карточки; у нас они внутри
   рамки 1px, поэтому отступы на 1 меньше. */
.home-benefits { position: relative; height: calc(610 * var(--vd-u)); background: #000; }
.vd-home .home-benefits h2 { position: absolute; left: calc(20 * var(--vd-u)); top: calc(123 * var(--vd-u)); width: calc(199 * var(--vd-u)); max-width: none; font: 400 calc(60 * var(--vd-u))/calc(54 * var(--vd-u)) AkzidenzGrotesk, Arial, sans-serif; letter-spacing: calc(-2.5 * var(--vd-u)); text-transform: uppercase; text-wrap: wrap; }
.home-benefit { position: absolute; top: calc(296 * var(--vd-u)); width: calc(275 * var(--vd-u)); height: calc(300 * var(--vd-u)); border: 1px solid #505050; border-radius: calc(10 * var(--vd-u)); background: #000; }
.home-benefit:nth-of-type(1) { left: calc(315 * var(--vd-u)); }
.home-benefit:nth-of-type(2) { left: calc(610 * var(--vd-u)); top: calc(126 * var(--vd-u)); }
.home-benefit:nth-of-type(3) { left: calc(905 * var(--vd-u)); }
.vd-home .home-benefit h3 { position: absolute; left: calc(29 * var(--vd-u)); top: calc(27 * var(--vd-u)); font: 400 calc(24 * var(--vd-u))/calc(24 * var(--vd-u)) AkzidenzGrotesk, Arial, sans-serif; letter-spacing: 0; text-transform: uppercase; text-wrap: wrap; }
.home-benefit:nth-of-type(1) h3 { width: calc(200 * var(--vd-u)); }
.home-benefit:nth-of-type(2) h3 { width: calc(191 * var(--vd-u)); }
.home-benefit:nth-of-type(3) h3 { width: calc(245 * var(--vd-u)); }
.vd-home .home-benefit p { position: absolute; left: calc(28 * var(--vd-u)); bottom: calc(29 * var(--vd-u)); width: calc(160 * var(--vd-u)); color: #fff; opacity: .7; font: 400 calc(12 * var(--vd-u))/calc(16 * var(--vd-u)) Onest, Arial, sans-serif; letter-spacing: calc(-.5 * var(--vd-u)); }
@media (max-width: 1199px) { /* холст 960 */
  .home-benefit { width: calc(222 * var(--vd-u)); }
  .home-benefit:nth-of-type(1) { left: calc(234 * var(--vd-u)); }
  .home-benefit:nth-of-type(2) { left: calc(476 * var(--vd-u)); }
  .home-benefit:nth-of-type(3) { left: calc(718 * var(--vd-u)); }
  .vd-home .home-benefit h3 { top: calc(29 * var(--vd-u)); }
  .vd-home .home-benefit p { left: calc(29 * var(--vd-u)); }
  .home-benefit:nth-of-type(1) h3 { width: calc(155 * var(--vd-u)); }
  .home-benefit:nth-of-type(2) h3 { width: calc(152 * var(--vd-u)); }
  .home-benefit:nth-of-type(3) h3 { width: calc(162 * var(--vd-u)); }
}
@media (max-width: 959px) { /* холст 640: третья карточка уходит под вторую */
  .home-benefits { height: calc(760 * var(--vd-u)); }
  .vd-home .home-benefits h2 { width: calc(128 * var(--vd-u)); font-size: calc(50 * var(--vd-u)); line-height: calc(45 * var(--vd-u)); }
  .home-benefit:nth-of-type(1) { left: calc(156 * var(--vd-u)); }
  .home-benefit:nth-of-type(2) { left: calc(398 * var(--vd-u)); }
  .home-benefit:nth-of-type(3) { left: calc(398 * var(--vd-u)); top: calc(446 * var(--vd-u)); }
}
@media (max-width: 639px) { /* холст 320: карточки столбиком во всю ширину */
  .home-benefits { height: calc(1032 * var(--vd-u)); }
  .vd-home .home-benefits h2 { left: calc(15 * var(--vd-u)); top: calc(60 * var(--vd-u)); width: calc(282 * var(--vd-u)); font-size: calc(40 * var(--vd-u)); line-height: calc(36 * var(--vd-u)); letter-spacing: calc(-1.5 * var(--vd-u)); }
  .home-benefit { width: calc(290 * var(--vd-u)); height: calc(260 * var(--vd-u)); }
  .home-benefit:nth-of-type(1) { left: calc(15 * var(--vd-u)); top: calc(172 * var(--vd-u)); }
  .home-benefit:nth-of-type(2) { left: calc(15 * var(--vd-u)); top: calc(452 * var(--vd-u)); }
  .home-benefit:nth-of-type(3) { left: calc(15 * var(--vd-u)); top: calc(732 * var(--vd-u)); }
  .vd-home .home-benefit h3 { font-size: calc(26 * var(--vd-u)); line-height: calc(26 * var(--vd-u)); }
  .home-benefit:nth-of-type(1) h3 { width: calc(167 * var(--vd-u)); }
  .home-benefit:nth-of-type(2) h3 { width: calc(160 * var(--vd-u)); }
  .home-benefit:nth-of-type(3) h3 { width: calc(230 * var(--vd-u)); }
  .home-benefit:nth-of-type(1) p { width: calc(151 * var(--vd-u)); }
  .home-benefit:nth-of-type(2) p { width: calc(165 * var(--vd-u)); }
  .home-benefit:nth-of-type(3) p { width: calc(133 * var(--vd-u)); }
}
/* Пятый блок повторяет голову-Zero Block rec1192964601 и ленту кейсов t897 rec1192981941 оригинала.
   Голова 324 / 325 / 280 / 162 по холстам 1200 / 960 / 640 / 320: заголовок 60/54 с разрядкой −2,5
   на 20/149 (960: 20/150; 640: 50/45 на 20/150; 320: 40/36, разрядка −1,5, на 15/60), в две строки.
   Лента — обычный блок Тильды, размеры в ней не масштабируются с холстом: карточка = картинка 3:2
   с радиусом 10, через 20 название 24/24 прописными с 5 снизу, через 8 подпись Onest 12/12 #b3b3b3;
   ряды через 20. От 1200 и шире лента у Тильды растёт вместе с экраном (zoom): на 1600 шрифты,
   поля, просветы и кнопка на треть крупнее — поэтому здесь они в единицах холста; ниже 1200 размеры
   фиксированные, поля и просветы 20 холста 960. Три в ряд; до 960 — две; до 640 — по одной; до 480
   — карточки 96 % ширины столбиком с полем 15. Кнопка 180×60 по центру, над ней 60 (640: 80 и под
   ней 20, кнопка во всю ширину; 480: 40). Наведения у оригинала нет; цвет кнопки — фирменный. */
.home-results-block { background: #000; }
.home-results-head { position: relative; height: calc(324 * var(--vd-u)); }
.vd-home .home-results-head h2 { position: absolute; left: calc(20 * var(--vd-u)); top: calc(149 * var(--vd-u)); width: calc(260 * var(--vd-u)); max-width: none; font: 400 calc(60 * var(--vd-u))/calc(54 * var(--vd-u)) AkzidenzGrotesk, Arial, sans-serif; letter-spacing: calc(-2.5 * var(--vd-u)); text-transform: uppercase; text-wrap: wrap; }
.vd-home .home-results-empty { padding: 0 20px 40px; }
:is(#allrecords.vd-home,#allrecords .vd-home) .vd-res { max-width: none; margin: 0; padding: 0 calc(20 * var(--vd-u)); gap: calc(20 * var(--vd-u)); }
:is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__card { border: 0; border-radius: 0; background: none; transform: none; transition: none; }
:is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__img { aspect-ratio: 3 / 2; border-radius: calc(10 * var(--vd-u)); overflow: hidden; background: #000; }
:is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__body { padding: calc(20 * var(--vd-u)) 0 0; }
:is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__title { font-size: calc(24 * var(--vd-u)); line-height: calc(24 * var(--vd-u)); font-weight: 400; margin: 0; padding-bottom: calc(5 * var(--vd-u)); }
:is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__descr { color: #b3b3b3; font-size: calc(12 * var(--vd-u)); line-height: calc(12 * var(--vd-u)); margin-top: calc(8 * var(--vd-u)); }
:is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__morewrap { max-width: none; margin: calc(60 * var(--vd-u)) 0 0; padding: 0; text-align: center; }
:is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__more { width: calc(180 * var(--vd-u)); min-height: 0; height: calc(60 * var(--vd-u)); padding: 0; border-radius: calc(10 * var(--vd-u)); font: 500 calc(12 * var(--vd-u))/calc(16.8 * var(--vd-u)) Onest, Arial, sans-serif; }
@media (max-width: 1199px) { /* холст 960: размеры ленты перестают расти, поля и просветы 20 холста */
  .home-results-head { height: calc(325 * var(--vd-u)); }
  .vd-home .home-results-head h2 { top: calc(150 * var(--vd-u)); }
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__img { border-radius: 10px; }
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__body { padding: 20px 0 0; }
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__title { font-size: 24px; line-height: 24px; padding-bottom: 5px; }
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__descr { font-size: 12px; line-height: 12px; margin-top: 8px; }
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__morewrap { margin-top: 60px; }
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__more { width: 180px; height: 60px; border-radius: 10px; font-size: 12px; line-height: 16.8px; }
}
@media (max-width: 960px) { :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 959px) { /* холст 640 */
  .home-results-head { height: calc(280 * var(--vd-u)); }
  .vd-home .home-results-head h2 { width: calc(225 * var(--vd-u)); font-size: calc(50 * var(--vd-u)); line-height: calc(45 * var(--vd-u)); }
}
@media (max-width: 640px) { /* по одной в ряд, кнопка во всю ширину */
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res { grid-template-columns: 1fr; }
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__title { font-size: 24px; }
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__morewrap { margin-top: 80px; padding: 0 calc(40 * var(--vd-u)) 20px; }
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__more { width: 100%; }
}
@media (max-width: 639px) { /* холст 320 */
  .home-results-head { height: calc(162 * var(--vd-u)); }
  .vd-home .home-results-head h2 { left: calc(15 * var(--vd-u)); top: calc(60 * var(--vd-u)); width: calc(195 * var(--vd-u)); font-size: calc(40 * var(--vd-u)); line-height: calc(36 * var(--vd-u)); letter-spacing: calc(-1.5 * var(--vd-u)); }
}
@media (max-width: 480px) { /* карточки 96 % столбиком, кнопка 180 по центру */
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res { padding: 0 calc(15 * var(--vd-u)); }
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res > li { width: 96%; }
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__morewrap { margin-top: 40px; padding: 0; }
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__more { width: 180px; }
}
:is(#allrecords.vd-home,#allrecords .vd-home) .vd-ak__polosa { width: min(100% - 48px, 1392px); padding: 48px 0; }
:is(#allrecords.vd-home,#allrecords .vd-home) .vd-ak__skidka { font-size: clamp(72px, 9vw, 120px); }
:is(#allrecords.vd-home,#allrecords .vd-home) .vd-ak__text { font-size: 18px; }
/* Седьмой блок повторяет Zero Block оригинала rec1189814366: высота 300 / 357 / 356 / 424 по холстам
   1200 / 960 / 640 / 320 (480–639 — холст 320 ×1,5), все элементы стоят по координатам холста в --vd-u.
   Слева оценка (48/43 Akzidenz) со звёздами 90×16 и подписью Onest 12/12, под ними две кнопки 46 высотой
   с общей рамкой 1 px #505050 и скруглением 10 по внешним углам; справа заголовок 60/54 прописными со
   значком Яндекс Карт 46 в строке; у правого края две такие же кнопки-стрелки карусели отзывов.
   Наведение у оригинала — фон #000 → #303030 за 0,2 с. Число у нас «5» (у оригинала «4,9»), поэтому
   оценка собрана в ряд с просветом 9 холста, а не по абсолютной координате звёзд. */
.home-rating-block { background: #000; }
.home-rating { position: relative; height: calc(300 * var(--vd-u)); }
.home-rating__score { position: absolute; left: calc(20 * var(--vd-u)); top: calc(150 * var(--vd-u)); display: flex; align-items: flex-start; gap: calc(9 * var(--vd-u)); }
.home-rating__score strong { font: 400 calc(48 * var(--vd-u))/calc(43 * var(--vd-u)) AkzidenzGrotesk, Arial, sans-serif; letter-spacing: calc(-2.5 * var(--vd-u)); }
.home-rating__score > span { padding-top: calc(6 * var(--vd-u)); }
.home-stars { display: block; width: 132px; height: auto; aspect-ratio: 434/77; object-fit: contain; }
.home-rating .home-stars { width: calc(90 * var(--vd-u)); }
:is(#allrecords.vd-home,#allrecords .vd-home) .home-rating__count { display: block; margin-top: calc(7 * var(--vd-u)); font: 400 calc(12 * var(--vd-u))/calc(12 * var(--vd-u)) Onest, Arial, sans-serif; text-decoration: underline; text-decoration-color: #707070; text-underline-offset: calc(3 * var(--vd-u)); }
.vd-home .home-rating h2 { position: absolute; left: calc(480 * var(--vd-u)); top: calc(150 * var(--vd-u)); width: calc(583 * var(--vd-u)); max-width: none; font: 400 calc(60 * var(--vd-u))/calc(54 * var(--vd-u)) AkzidenzGrotesk, Arial, sans-serif; letter-spacing: calc(-2.5 * var(--vd-u)); text-transform: uppercase; text-wrap: wrap; }
.home-rating__pin { display: inline-block; vertical-align: top; width: calc(46 * var(--vd-u)); height: calc(46 * var(--vd-u)); margin: calc(4 * var(--vd-u)) calc(-4 * var(--vd-u)) 0 calc(3 * var(--vd-u)); }
.home-rating__links { position: absolute; left: calc(20 * var(--vd-u)); top: calc(209 * var(--vd-u)); display: flex; }
:is(#allrecords.vd-home,#allrecords .vd-home) .home-rating__button, .home-reviews__nav button { display: flex; align-items: center; justify-content: center; height: calc(46 * var(--vd-u)); padding: 0; border: max(1px, calc(1 * var(--vd-u))) solid #505050; border-radius: calc(10 * var(--vd-u)) 0 0 calc(10 * var(--vd-u)); background: #000; color: #fff; cursor: pointer; transition: background-color .2s ease-in-out; }
:is(#allrecords.vd-home,#allrecords .vd-home) .home-rating__button { gap: calc(6 * var(--vd-u)); width: calc(112 * var(--vd-u)); font: 500 calc(12 * var(--vd-u))/calc(19 * var(--vd-u)) Onest, Arial, sans-serif; letter-spacing: calc(-.5 * var(--vd-u)); white-space: nowrap; }
:is(#allrecords.vd-home,#allrecords .vd-home) .home-rating__button + .home-rating__button, .home-reviews__nav button + button { margin-left: calc(-1 * var(--vd-u)); border-radius: 0 calc(10 * var(--vd-u)) calc(10 * var(--vd-u)) 0; }
:is(#allrecords.vd-home,#allrecords .vd-home) .home-rating__button + .home-rating__button { width: calc(164 * var(--vd-u)); }
.home-rating__button img { width: calc(24 * var(--vd-u)); height: calc(24 * var(--vd-u)); margin-top: calc(2 * var(--vd-u)); }
:is(#allrecords.vd-home,#allrecords .vd-home) :is(.home-rating__button, .home-reviews__nav button):hover { background: #303030; }
.home-reviews__nav { position: absolute; right: calc(20 * var(--vd-u)); top: calc(209 * var(--vd-u)); display: flex; }
.home-reviews__nav button { width: calc(46 * var(--vd-u)); }
.home-reviews__nav img { width: calc(14 * var(--vd-u)); height: calc(12 * var(--vd-u)); }
.home-reviews__nav button:first-child img { transform: rotate(180deg); }
@media (max-width: 1199px) { /* холст 960: заголовок в три строки, оценка и кнопки ниже */
  .home-rating { height: calc(357 * var(--vd-u)); }
  .home-rating__score { top: calc(202 * var(--vd-u)); }
  .vd-home .home-rating h2 { left: calc(385 * var(--vd-u)); width: calc(331 * var(--vd-u)); }
  .home-rating__pin { margin: calc(3 * var(--vd-u)) calc(2 * var(--vd-u)) 0 calc(-2 * var(--vd-u)); }
  .home-rating__links, .home-reviews__nav { top: calc(261 * var(--vd-u)); }
  :is(#allrecords.vd-home,#allrecords .vd-home) .home-rating__button { width: calc(102 * var(--vd-u)); }
  :is(#allrecords.vd-home,#allrecords .vd-home) .home-rating__button + .home-rating__button { width: calc(156 * var(--vd-u)); }
}
@media (max-width: 959px) { /* холст 640: заголовок сверху слева, оценка, кнопки и стрелки одной строкой */
  .home-rating { height: calc(356 * var(--vd-u)); }
  .home-rating__score { top: calc(270 * var(--vd-u)); }
  .vd-home .home-rating h2 { left: calc(20 * var(--vd-u)); width: calc(446 * var(--vd-u)); font-size: calc(50 * var(--vd-u)); line-height: calc(45 * var(--vd-u)); }
  .home-rating__pin { width: calc(40 * var(--vd-u)); height: calc(40 * var(--vd-u)); margin: calc(1 * var(--vd-u)) calc(-12 * var(--vd-u)) 0 calc(9 * var(--vd-u)); }
  .home-rating__links { left: calc(220 * var(--vd-u)); }
  .home-rating__links, .home-reviews__nav { top: calc(270 * var(--vd-u)); }
}
@media (max-width: 639px) { /* холст 320: столбиком — заголовок, оценка, кнопки во всю ширину, стрелки справа */
  .home-rating { height: calc(424 * var(--vd-u)); }
  .home-rating__score { left: calc(15 * var(--vd-u)); top: calc(208 * var(--vd-u)); gap: calc(2 * var(--vd-u)); }
  .home-rating__score strong { font-size: calc(40 * var(--vd-u)); line-height: calc(36 * var(--vd-u)); letter-spacing: 0; }
  .home-rating__score > span { padding-top: calc(5 * var(--vd-u)); }
  .home-rating .home-stars { width: calc(71 * var(--vd-u)); }
  :is(#allrecords.vd-home,#allrecords .vd-home) .home-rating__count { margin-top: calc(5 * var(--vd-u)); letter-spacing: calc(-.5 * var(--vd-u)); }
  .vd-home .home-rating h2 { left: calc(15 * var(--vd-u)); top: calc(60 * var(--vd-u)); width: calc(222 * var(--vd-u)); font-size: calc(40 * var(--vd-u)); line-height: calc(36 * var(--vd-u)); letter-spacing: calc(-1.5 * var(--vd-u)); }
  .home-rating__pin { width: calc(30 * var(--vd-u)); height: calc(30 * var(--vd-u)); margin: calc(3 * var(--vd-u)) calc(4 * var(--vd-u)) 0 calc(-4 * var(--vd-u)); }
  .home-rating__links { left: calc(15 * var(--vd-u)); top: calc(254 * var(--vd-u)); }
  :is(#allrecords.vd-home,#allrecords .vd-home) .home-rating__button, .home-reviews__nav button { height: calc(45 * var(--vd-u)); }
  :is(#allrecords.vd-home,#allrecords .vd-home) .home-rating__button { width: calc(129 * var(--vd-u)); }
  :is(#allrecords.vd-home,#allrecords .vd-home) .home-rating__button + .home-rating__button { width: calc(162 * var(--vd-u)); }
  .home-reviews__nav { right: calc(15 * var(--vd-u)); top: calc(339 * var(--vd-u)); }
}
/* Лента без `.home-container`: у оригинала эта полоса растянута во весь экран без правого
   отступа (карточки уезжают за правый край и обрезаются им), левый — по той же сетке
   --vd-u, что и голова блока (rec1189814366) над ней (см. site-foundation.css). Карточка —
   тоже в --vd-u, а не в обычных px: у оригинала весь блок «Хорошее место» — один холст,
   который масштабируется целиком (и ширина, и высота карточки растут вместе с окном), а не
   «резиновая» вёрстка, где ширина тянется, а высота стоит колом и карточка на широком
   экране становится приплюснутой. Ширина карточки 440 холста (на ≤639 — 260, как у
   оригинала, это не то же самое, что 440 в уменьшенном масштабе — у оригинала это отдельно
   нарисованный мобильный вид) — при таком счёте карточки не режутся ровно по 1/2/3 в ряд,
   третья всегда чуть обрезана правым краем, так же как у оригинала. */
.home-reviews-wrap { padding-bottom: clamp(40px, 5vw, 72px); padding-left: calc(20 * var(--vd-u)); }
.home-reviews { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: calc(20 * var(--vd-u)); }
.home-reviews::-webkit-scrollbar { display: none; }
.home-reviews > * { flex: 0 0 calc(440 * var(--vd-u)); scroll-snap-align: start; }
@media (max-width: 639px) {
  .home-reviews > * { flex: 0 0 calc(260 * var(--vd-u)); }
}
/* Плашка отзыва — как в оригинале (rec1189796256): рамка 1px #505050, скругление 10px,
   чёрная карточка, цитата сверху обрезана до 5 строк (~95 холста при 12/19 — столько
   умещалось у оригинала), имя и строка со звёздами/датой прижаты к низу через
   margin-top: auto. */
.home-review { display: flex; flex-direction: column; min-height: calc(320 * var(--vd-u)); padding: calc(30 * var(--vd-u)); background: #000; border-color: #505050; border-radius: calc(10 * var(--vd-u)); }
.home-review blockquote { flex: 0 1 auto; font: 400 calc(12 * var(--vd-u))/calc(19 * var(--vd-u)) Onest, Arial, sans-serif; letter-spacing: calc(-.5 * var(--vd-u)); color: #fff; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.home-review__meta { margin-top: auto; padding-top: calc(24 * var(--vd-u)); }
.home-review h3 { font: 400 calc(24 * var(--vd-u))/1 AkzidenzGrotesk, Arial, sans-serif; text-transform: uppercase; }
.home-review__sub { display: flex; align-items: center; gap: calc(20 * var(--vd-u)); margin-top: calc(17 * var(--vd-u)); }
.home-review .home-stars { width: calc(66 * var(--vd-u)); margin: 0; }
.home-review__date { font: 400 calc(12 * var(--vd-u))/calc(19 * var(--vd-u)) Onest, Arial, sans-serif; letter-spacing: calc(-.5 * var(--vd-u)); color: #fff; margin: 0; }
@media (max-width: 639px) {
  .home-review { min-height: auto; }
}
/* Девятый блок повторяет Zero Block оригинала rec1189952036: высота 650 / 650 / 803 холста
   1200 / 960 / 640, на 320 — обычный поток (слишком много строк текста, чтобы вести их
   абсолютными координатами, как блоки выше). Слева заголовок 60/54 прописными, под ним две
   группы «телефон (24/37 Akzidenz) + строка (14/18 Onest)» рядом (тел.1+адрес, тел.2+часы
   работы) — у оригинала ниже ещё мелкая строка реквизитов ИП, у нас убрана 22.09 по слову
   владельца: дублирует подвал под картой. Справа форма: подпись (500/12)
   вплотную над полем 440×50 (текстовые) или 440×85 (обращение), рамка 1px #505050,
   скругление 10; кнопка 200×60 скруглением 10. У оригинала кнопка синяя — но это ровно
   старый цвет бренда VDrive, который ряды 49–58/67 цикла вычистили из всего сайта и
   `test_brand_colors.py` сторожит, чтобы он не вернулся; здесь сознательно фирменный красный
   `--home-accent`, а не копия оригинала. Вертикальный ритм формы держится на обычном потоке: первая подпись сдвинута вниз
   margin-top, дальше каждая подпись отступает 20 холста от предыдущего поля — так все
   четыре поля и кнопка встают на те же отметки, что и на живом сайте, без per-поля
   координат. Telegram/MAX-кнопки и ссылка «Как нас найти» у оригинала в этом блоке
   отсутствуют — те же каналы уже есть в подвале сразу под картой. */
.home-contact-block { background: #000; }
.home-contact { position: relative; height: calc(650 * var(--vd-u)); }
.home-contact h2 { position: absolute; left: calc(20 * var(--vd-u)); top: calc(150 * var(--vd-u)); width: calc(407 * var(--vd-u)); max-width: none; margin: 0; font: 400 calc(60 * var(--vd-u))/calc(54 * var(--vd-u)) AkzidenzGrotesk, Arial, sans-serif; letter-spacing: calc(-2.5 * var(--vd-u)); text-transform: uppercase; }
.home-contact__group { position: absolute; top: calc(366 * var(--vd-u)); width: calc(208 * var(--vd-u)); }
.home-contact__group--a { left: calc(20 * var(--vd-u)); }
.home-contact__group--b { left: calc(259 * var(--vd-u)); }
.home-contact__phone { display: block; font: 400 calc(24 * var(--vd-u))/calc(37 * var(--vd-u)) AkzidenzGrotesk, Arial, sans-serif; letter-spacing: calc(-.5 * var(--vd-u)); color: #fff; }
.home-contact__line { margin: calc(10 * var(--vd-u)) 0 0; font: 400 calc(14 * var(--vd-u))/calc(18 * var(--vd-u)) Onest, Arial, sans-serif; color: #fff; }
.home-contact__form { position: absolute; left: calc(610 * var(--vd-u)); top: 0; width: calc(440 * var(--vd-u)); }
.home-contact__form label { display: block; margin-top: calc(20 * var(--vd-u)); font: 500 calc(12 * var(--vd-u))/calc(21 * var(--vd-u)) Onest, Arial, sans-serif; color: #fff; }
.home-contact__form label:first-child { margin-top: calc(152 * var(--vd-u)); }
.home-contact__form :is(input:not([type=checkbox]), textarea) { display: block; width: 100%; margin-top: 0; border: max(1px, calc(1 * var(--vd-u))) solid #505050; border-radius: calc(10 * var(--vd-u)); background: transparent; color: #fff; padding: calc(14 * var(--vd-u)) calc(16 * var(--vd-u)); font: 400 calc(12 * var(--vd-u))/calc(16 * var(--vd-u)) Onest, Arial, sans-serif; height: calc(50 * var(--vd-u)); box-sizing: border-box; }
.home-contact__form textarea { height: calc(85 * var(--vd-u)); resize: vertical; }
.home-contact__consent { display: flex !important; align-items: flex-start; gap: calc(10 * var(--vd-u)); font: 400 calc(12 * var(--vd-u))/calc(14 * var(--vd-u)) Onest, Arial, sans-serif; color: #fff; }
.home-contact__consent input { width: calc(13 * var(--vd-u)); height: calc(13 * var(--vd-u)); flex: none; margin: calc(3 * var(--vd-u)) 0 0; accent-color: var(--home-accent); }
#allrecords .home-contact__consent a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.home-contact__form button { display: flex; align-items: center; justify-content: center; margin-top: calc(20 * var(--vd-u)); width: calc(200 * var(--vd-u)); height: calc(60 * var(--vd-u)); border: 0; border-radius: calc(10 * var(--vd-u)); background: var(--home-accent); color: #fff; font: 500 calc(12 * var(--vd-u))/normal Onest, Arial, sans-serif; cursor: pointer; transition: background-color .2s ease-in-out; }
.home-contact__form button:hover { background: #b31212; }
@media (max-width: 1199px) { /* холст 960: только правая колонка и вторая группа сдвигаются левее */
  .home-contact__group--b { left: calc(237 * var(--vd-u)); }
  .home-contact__form { left: calc(500 * var(--vd-u)); }
}
@media (max-width: 959px) { /* холст 640: тел+строка складываются в столбик, форма остаётся справа и уже */
  .home-contact { height: calc(803 * var(--vd-u)); }
  .home-contact h2 { width: calc(423 * var(--vd-u)); font-size: calc(50 * var(--vd-u)); line-height: calc(45 * var(--vd-u)); }
  .home-contact__group { width: calc(208 * var(--vd-u)); left: calc(20 * var(--vd-u)); }
  .home-contact__group--a { top: calc(335 * var(--vd-u)); }
  .home-contact__group--b { top: calc(454 * var(--vd-u)); left: calc(20 * var(--vd-u)); }
  .home-contact__line { margin-top: calc(16 * var(--vd-u)); }
  .home-contact__form { left: calc(284 * var(--vd-u)); width: calc(336 * var(--vd-u)); }
  .home-contact__form label:first-child { margin-top: calc(335 * var(--vd-u)); }
}
@media (max-width: 639px) { /* холст 320: один столбец обычным потоком — слишком много строк
     текста для координат каждой по пикселю, гладкий отступ 30 холста между группами читается
     так же, как ступенчатая раскладка оригинала */
  .home-contact { display: flow-root; height: auto; padding-bottom: calc(60 * var(--vd-u)); } /* flow-root: отступ заголовка остаётся внутри чёрного блока */
  .home-contact h2, .home-contact__group, .home-contact__form { position: static; width: calc(290 * var(--vd-u)); margin: calc(30 * var(--vd-u)) 0 0 calc(15 * var(--vd-u)); }
  .home-contact h2 { width: calc(257 * var(--vd-u)); margin-top: calc(60 * var(--vd-u)); font-size: calc(40 * var(--vd-u)); line-height: calc(36 * var(--vd-u)); letter-spacing: calc(-1.5 * var(--vd-u)); }
  .home-contact__phone { font-size: calc(26 * var(--vd-u)); line-height: calc(40 * var(--vd-u)); letter-spacing: 0; }
  .home-contact__form label:first-child { margin-top: calc(20 * var(--vd-u)); }
}
.home-map-block { padding: 0 0 clamp(40px, 5vw, 72px); }
.home-map { display: block; width: 100%; height: 480px; border: 0; border-top: 1px solid var(--home-border); border-bottom: 1px solid var(--home-border); background: #161616; }
@media (max-width: 600px) {
  .home-map { height: 320px; }
}
@media (max-width: 760px) {
  .home-benefits { grid-template-columns: 1fr; }
  .home-benefits .home-card { padding: 24px; }
  .home-benefits h3 { font-size: 34px; }
}
@media (max-width: 600px) {
  .home-container, :is(#allrecords.vd-home,#allrecords .vd-home) .vd-ak__polosa { width: calc(100% - 32px); }
}
@media (prefers-reduced-motion: reduce) {
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__card:hover { transform: none; }
}
@media (min-width: 540px) and (max-width: 600px) {
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__body { padding: 20px; }
  :is(#allrecords.vd-home,#allrecords .vd-home) .vd-res__title { font-size: 20px; }
}
