/* Главная — пиксель в пиксель по макету дизайнера (55567.pdf, артборд 1921 px). Сгенерировано build_pp.py. */
:root {
  --p: min(1px, calc(100vw / 1921));
  --pp-ink: #333;
  --pp-ink2: #1e1e1e;
  --pp-gray: #838383;
  --pp-gray2: #646464;
  --pp-line: #e1e1e1;
  --pp-orange: #ff7e28;
}
.pp, .pp * , .pp *::before, .pp *::after { box-sizing: border-box; }
.pp a { text-decoration: none !important; }
.pp :focus-visible { outline: 2px solid var(--pp-orange); outline-offset: 3px; }
.pp-frame { position: relative; width: calc(1588 * var(--p)); margin-left: auto; margin-right: auto; }

/* ── первый экран (над меню), высота 617 ── */
.pp-hero { background: #fff; overflow: hidden; }
.pp-hero__in { height: calc(640 * var(--p)); }
.pp-hero__text { position: absolute; left: 0; top: 0; width: calc(760 * var(--p)); height: calc(640 * var(--p)); }
.pp-logo { position: absolute; left: 0; top: calc(52 * var(--p)); width: calc(168 * var(--p)); margin: 0 !important; display: block; }
/* подзаголовок, кнопки и строка преимуществ под заголовком */
/* типографика первого экрана по золотому сечению: база 20, шаг φ = 1.618 (20 → 32 → 52 → 85) */
.pp-lead { position: absolute; left: 0; top: calc(var(--lead-top, 430) * var(--p)); width: calc(470 * var(--p)); margin: 0 !important; font: 400 calc(20 * var(--p)) / 1.618 "Montserrat", Arial, sans-serif !important; color: #666 !important; }
.pp-cta { position: absolute; left: 0; top: calc(482 * var(--p)); display: flex; gap: calc(14 * var(--p)); }
.pp-btn {
  display: inline-flex; align-items: center; height: calc(60 * var(--p)); padding: 0 calc(34 * var(--p)); border: 2px solid var(--pp-orange); border-radius: 999px;
  font: 600 calc(18 * var(--p)) / 1 "Montserrat", Arial, sans-serif; color: var(--pp-orange) !important; white-space: nowrap; transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.pp-btn:hover { background: var(--pp-orange); color: #fff !important; }
.pp-btn--fill { background: var(--pp-orange); color: #fff !important; }
.pp-btn--fill:hover { background: #f06a12; border-color: #f06a12; }
.pp-facts { position: absolute; left: 0; top: calc(534 * var(--p)); display: flex; gap: calc(28 * var(--p)); margin: 0; padding: 0; list-style: none; }
.pp-facts li { position: relative; margin: 0; padding: 0 0 0 calc(16 * var(--p)); font: 500 calc(15 * var(--p)) / 1.3 "Montserrat", Arial, sans-serif; color: #8a8a8a; white-space: nowrap; }
.pp-facts li::before { content: ""; position: absolute; left: 0; top: calc(7 * var(--p)); width: calc(6 * var(--p)); height: calc(6 * var(--p)); border-radius: 50%; background: var(--pp-orange); }
/* маркетплейсы — словесными логотипами в фирменных цветах */
.pp-mp { position: absolute; right: 0; top: calc(60 * var(--p)); z-index: 2; display: flex; align-items: flex-end; gap: calc(36 * var(--p)); }
.pp-mp a { display: inline-block; line-height: 1; white-space: nowrap; transition: opacity 0.2s, transform 0.2s cubic-bezier(0.2, 0.7, 0.2, 1); }
.pp-mp a:hover { opacity: 0.8; transform: translateY(-1px); }
.pp-mp img { display: block; width: auto; }
.pp-mp__ozon img { height: calc(15 * var(--p)); }
.pp-mp__wb img { height: calc(20 * var(--p)); }
.pp-logo img { display: block; width: 100%; height: auto; }
.pp .pp-h1, .pp-hero .pp-h1 {
  position: absolute; left: 0; right: 0; top: calc(208 * var(--p)); margin: 0 !important; text-align: left;
  font: 500 calc(var(--h1, 85) * var(--p)) / 1 "Montserrat", Arial, sans-serif !important; letter-spacing: -0.01em; color: var(--pp-ink) !important; white-space: nowrap;
}
.pp-hero .pp-h1 span {
  display: block; margin-top: 0; font: inherit; letter-spacing: inherit; color: var(--pp-ink);
}

.pp-top { position: absolute; left: calc(775 * var(--p)); top: 0; width: calc(976 * var(--p)); height: calc(640 * var(--p)); }
.pp-hero .pp-top__title {
  position: absolute; left: calc(52 * var(--p)); top: calc(138 * var(--p)); margin: 0 !important; white-space: nowrap;
  font: 500 calc(32 * var(--p)) / 1.25 "Montserrat", Arial, sans-serif !important; color: #000 !important; letter-spacing: -0.01em;
}
.pp-top__year, .pp-hero .tmh-period__btn { margin-left: calc(22 * var(--p)); font: 400 calc(32 * var(--p)) / 1.25 "Montserrat", Arial, sans-serif !important; color: #a0a0a0 !important; }
.pp-hero .tmh-period { margin-left: 0; }
.pp-top__track {
  position: absolute; left: calc(62 * var(--p)); top: calc(204 * var(--p)); width: calc(880 * var(--p)); height: calc(360 * var(--p));
  display: flex !important; gap: 0 !important; overflow: hidden; scroll-snap-type: x mandatory; scrollbar-width: none;
  margin: 0 !important; padding: 0 !important; background: none !important;
}
/* колесом и тачпадом «Топ» не листается — только автоплей и точки; на тач-экранах — свайп */
@media (hover: none) { .pp-top__track { overflow-x: auto; } }
.pp-top__track::-webkit-scrollbar { display: none; }
.pp-top__track[hidden] { display: none !important; }
/* точки под «Топом» */
.pp-dots { position: absolute; left: calc(62 * var(--p)); top: calc(586 * var(--p)); display: flex; gap: calc(12 * var(--p)); }
.pp-dots[hidden] { display: none; }
.pp-dots button { width: calc(10 * var(--p)); height: calc(10 * var(--p)); padding: 0; border: 0; border-radius: 50%; background: #dcdcdc; cursor: pointer; transition: background-color 0.74s ease, transform 0.74s ease; }
.pp-dots button:hover { background: #bdbdbd; }
.pp-dots button.is-active { background: var(--pp-orange); transform: scale(1.2); }
.pp-slide { flex: none; width: calc(440 * var(--p)); height: calc(360 * var(--p)); scroll-snap-align: start; }
.pp-slide__pic { position: relative; display: inline-block; height: 100%; }
.pp-slide__pic img {
  display: block; height: 100%; width: auto; max-width: calc(250 * var(--p)); object-fit: contain; object-position: left bottom;
  transform-origin: 50% 90%; transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.pp-slide:hover img, .pp-slide:focus-visible img { transform: scale(1.05); }
.pp-slide__price {
  position: absolute; left: calc(100% - calc(40 * var(--p))); bottom: calc(66 * var(--p)); z-index: 1; white-space: nowrap;
  padding: calc(6 * var(--p)) calc(12 * var(--p)) calc(10 * var(--p)); background: rgba(255, 255, 255, 0.72); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); border-radius: calc(4 * var(--p));
  font: 600 calc(48 * var(--p)) / 1 "Montserrat", Arial, sans-serif; letter-spacing: -0.01em; color: var(--pp-ink);
}

/* ── меню под первым экраном ── */
.tm-hero-first { padding-top: 0 !important; }
@media (min-width: 992px) {
  #tm-root > .body.tm-hero-first { padding-top: 0 !important; }
  .tm-hero-first #headerfixed.tm-fixed-always { position: sticky !important; top: 0; }
  .tm-hero-first #headerfixed .logo { opacity: 0; visibility: hidden; transition: opacity 0.25s ease, visibility 0s linear 0.25s; }
  .tm-hero-first.tm-logo-out #headerfixed .logo { opacity: 1; visibility: visible; transition: opacity 0.25s ease; }
  /* меню на главной — по центру, как в макете */
  .tm-hero-first #headerfixed .header-menu__wrapper { transform: translateX(23px); }
}

/* ── плитки ── */
.pp-tiles { margin-top: calc(128 * var(--p)); height: calc(2540 * var(--p)); margin-bottom: calc(140 * var(--p)); }
.pp-card {
  position: absolute; display: block; border: 2px solid var(--pp-line); border-radius: calc(20 * var(--p)); background: #fff;
  color: var(--pp-ink) !important; overflow: hidden;
  transition: border-color 0.74s ease, transform 0.74s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.74s ease;
}
/* любая плитка при наведении приподнимается — медленно, без рывка */
.pp-card:hover { border-color: #cfcfcf; transform: translateY(calc(-6 * var(--p))); box-shadow: 0 calc(18 * var(--p)) calc(40 * var(--p)) rgba(0, 0, 0, 0.07); }
.pp-card > * { position: absolute; }
/* слева товар и «Выбор для вас», справа статьи и скидки; ниже комплект, карта, опт и анкета */
/* зазор между плитками 40 */
.pp-feature { left: 0; top: 0; width: calc(774 * var(--p)); height: calc(780 * var(--p)); }
.pp-arts { left: calc(814 * var(--p)); top: 0; width: calc(774 * var(--p)); height: calc(424 * var(--p)); }
.pp-deals { left: calc(814 * var(--p)); top: calc(464 * var(--p)); width: calc(774 * var(--p)); height: calc(316 * var(--p)); }
.pp-pick { left: 0; top: calc(820 * var(--p)); width: calc(1000 * var(--p)); height: calc(480 * var(--p)); }
.pp-social { left: calc(1040 * var(--p)); top: calc(820 * var(--p)); width: calc(548 * var(--p)); height: calc(480 * var(--p)); }
.pp-rooms { position: absolute; left: 0; top: calc(1340 * var(--p)); width: calc(1588 * var(--p)); height: calc(420 * var(--p)); }
.pp-map { left: 0; top: calc(1800 * var(--p)); width: calc(600 * var(--p)); height: calc(440 * var(--p)); }
.pp-opt { left: calc(640 * var(--p)); top: calc(1800 * var(--p)); width: calc(948 * var(--p)); height: calc(440 * var(--p)); }
.pp-form { left: 0; top: calc(2280 * var(--p)); width: calc(1588 * var(--p)); height: calc(240 * var(--p)); padding: 0; font: inherit; text-align: left; cursor: pointer; }

.pp-chips { display: flex; gap: calc(16 * var(--p)); }
.pp-chip {
  display: inline-flex; align-items: center; height: calc(42 * var(--p)); padding: 0 calc(23 * var(--p)); border-radius: calc(21 * var(--p)); font-style: normal;
  font: 600 calc(16 * var(--p)) / 1 "Inter", "Montserrat", Arial, sans-serif; text-transform: uppercase; letter-spacing: 0.01em; color: #fff; white-space: nowrap;
}
.pp-chip--dark { background: #2c2c2c; color: #ddd; }
.pp-chip--new { background: #d428ff; }
.pp-chip--sale { background: #2885ff; }
.pp-off {
  display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--pp-orange); border-radius: 999px;
  font-style: normal; color: var(--pp-orange); white-space: nowrap;
}
.pp-go {
  display: grid; place-items: center; border: 2px solid var(--pp-orange); border-radius: 50%; color: var(--pp-orange);
  transition: background-color 0.74s ease, color 0.74s ease;
}
.pp-go svg { width: 42%; height: 42%; }
.pp-card:hover .pp-go { background: var(--pp-orange); color: #fff; }

/* товар */
.pp-feature .pp-chips { left: calc(46 * var(--p)); top: calc(28 * var(--p)); }
.pp-feature__img { left: calc(48 * var(--p)); right: calc(48 * var(--p)); top: calc(110 * var(--p)); height: calc(480 * var(--p)); display: flex; align-items: flex-end; justify-content: center; }
.pp-feature__img img { max-width: 100%; max-height: 100%; object-fit: contain; transition: transform 1s cubic-bezier(0.2, 0.7, 0.2, 1); }
.pp-feature:hover .pp-feature__img img { transform: scale(1.04); }
.pp-feature__name { left: calc(59 * var(--p)); top: calc(630 * var(--p)); max-width: calc(480 * var(--p)); font: 700 calc(40 * var(--p)) / 1.21 "Montserrat", Arial, sans-serif; letter-spacing: -0.01em; color: var(--pp-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-feature__dims { left: calc(59 * var(--p)); top: calc(685 * var(--p)); font: 400 calc(24 * var(--p)) / 1.21 "Montserrat", Arial, sans-serif; color: var(--pp-ink); }
.pp-feature__off { left: calc(552 * var(--p)); top: calc(595 * var(--p)); width: calc(100 * var(--p)); height: calc(37 * var(--p)); font: 500 calc(20 * var(--p)) / 1 "Montserrat", Arial, sans-serif; }
.pp-feature__price { left: calc(553 * var(--p)); top: calc(644 * var(--p)); font: 700 calc(48 * var(--p)) / 1.21 "Montserrat", Arial, sans-serif; letter-spacing: -0.01em; color: var(--pp-ink); white-space: nowrap; }
.pp-feature__old { left: calc(560 * var(--p)); top: calc(704 * var(--p)); font: 400 calc(24 * var(--p)) / 1.21 "Montserrat", Arial, sans-serif; color: #999; }

/* «Выбор для вас» */
.pp-pick__title { left: calc(101 * var(--p)); top: calc(108 * var(--p)); font: 600 calc(75 * var(--p)) / calc(78 * var(--p)) "Montserrat", Arial, sans-serif; letter-spacing: -0.005em; color: var(--pp-ink2); }
.pp-pick__sub { left: calc(101 * var(--p)); top: calc(281 * var(--p)); font: 400 calc(24 * var(--p)) / 1.21 "Montserrat", Arial, sans-serif; color: var(--pp-gray2); }
.pp-pick__go { left: calc(90 * var(--p)); top: calc(340 * var(--p)); width: calc(79 * var(--p)); height: calc(79 * var(--p)); }

/* «Товары со скидкой» */
.pp-deals__chips { left: calc(43 * var(--p)); top: calc(34 * var(--p)); gap: calc(10 * var(--p)) !important; }
.pp-deals__title { left: calc(43 * var(--p)); top: calc(98 * var(--p)); font: 600 calc(40 * var(--p)) / calc(47 * var(--p)) "Montserrat", Arial, sans-serif; letter-spacing: -0.01em; color: var(--pp-ink) !important; }
.pp-deals__title:hover { color: var(--pp-orange) !important; }
.pp-deals__sub { left: calc(45 * var(--p)); top: calc(208 * var(--p)); font: 500 calc(20 * var(--p)) / calc(26 * var(--p)) "Montserrat", Arial, sans-serif; color: #6f6f6f; }
.pp-mini { top: calc(28 * var(--p)); bottom: calc(28 * var(--p)); width: calc(200 * var(--p)); color: var(--pp-ink) !important; }
.pp-mini--1 { left: calc(316 * var(--p)); }
.pp-mini--2 { left: calc(540 * var(--p)); }
.pp-mini > * { position: absolute; left: 0; }
.pp-mini__img { top: 0; width: calc(200 * var(--p)); height: calc(168 * var(--p)); display: flex; align-items: flex-end; justify-content: center; }
.pp-mini__img img { max-width: 100%; max-height: 100%; object-fit: contain; transition: transform 1s cubic-bezier(0.2, 0.7, 0.2, 1); }
.pp-mini:hover .pp-mini__img img { transform: scale(1.05); }
.pp-mini__name { top: calc(182 * var(--p)); max-width: calc(200 * var(--p)); font: 700 calc(16 * var(--p)) / 1.21 "Montserrat", Arial, sans-serif; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-mini__name { transition: color 0.74s ease; }
.pp-mini:hover .pp-mini__name { color: var(--pp-orange); }
.pp-mini__desc { top: calc(204 * var(--p)); max-width: calc(200 * var(--p)); font: 400 calc(12 * var(--p)) / 1.21 "Inter", "Montserrat", Arial, sans-serif; color: var(--pp-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-mini__row { top: calc(226 * var(--p)); display: flex; align-items: center; gap: 0; }
.pp-mini__price { font: 700 calc(24 * var(--p)) / 1.21 "Montserrat", Arial, sans-serif; white-space: nowrap; }
.pp-mini__off { position: absolute; left: calc(117 * var(--p)); top: calc(2 * var(--p)); width: calc(72 * var(--p)); height: calc(27 * var(--p)); font: 500 calc(14 * var(--p)) / 1 "Montserrat", Arial, sans-serif; }

/* «Заполните анкету» */
.pp-form__title { left: calc(81 * var(--p)); top: calc(65 * var(--p)); font: 600 calc(38 * var(--p)) / 1.21 "Montserrat", Arial, sans-serif; letter-spacing: -0.01em; color: #000; }
.pp-form__sub { left: calc(81 * var(--p)); top: calc(121 * var(--p)); font: 400 calc(20 * var(--p)) / calc(26 * var(--p)) "Montserrat", Arial, sans-serif; color: var(--pp-gray); }
.pp-form__go { left: calc(1437 * var(--p)); top: calc(91 * var(--p)); width: calc(54 * var(--p)); height: calc(54 * var(--p)); }

/* ── статьи ── */
.pp-articles { padding: calc(72 * var(--p)) 0 calc(104 * var(--p)); }
.pp .tma-sec__title { margin: 0; font: 600 calc(60 * var(--p)) / 1.1 "Montserrat", Arial, sans-serif !important; letter-spacing: -0.01em; }
.pp .tma-sec__title a { color: var(--pp-ink) !important; }
.pp-articles .tpc-crumbs { display: flex; gap: calc(12 * var(--p)); margin-top: calc(12 * var(--p)); font: 400 13px/1.2 "Montserrat", Arial, sans-serif; color: #999; }
.pp-articles .tpc-crumbs a { color: #999; }
.pp-articles .tpc-crumbs i { font-style: normal; color: #ddd; }
.pp .tma-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: calc(48 * var(--p)) calc(22 * var(--p)); margin-top: calc(44 * var(--p)); }
.pp .tma { display: flex; flex-direction: column; color: #222 !important; }
.pp .tma__img { aspect-ratio: 3 / 2; overflow: hidden; background: #f2f2f2; }
.pp .tma__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1); }
.pp .tma:hover .tma__img img { transform: scale(1.03); }
.pp .tma__tag { align-self: flex-start; margin-top: calc(12 * var(--p)); padding: 3px 8px; border: 1px solid #d6d6d6; border-radius: 3px; font: 400 12px/1.2 "Montserrat", Arial, sans-serif; font-style: normal; color: #666; }
.pp .tma__title { margin-top: calc(14 * var(--p)); font: 600 18px/1.35 "Montserrat", Arial, sans-serif; color: #222; }
.pp .tma:hover .tma__title { color: var(--pp-orange); }
.pp .tma__date { margin-top: auto; padding-top: calc(22 * var(--p)); font-size: 14px; color: #999; }


/* «Статьи»: три обложки в ряд; наведённая расширяется, соседние сужаются, внизу заголовок, по центру «Смотреть» */
.pp-arts { border-color: transparent; }
.pp-arts:hover { border-color: transparent; }
.pp-arts__title { left: calc(24 * var(--p)); top: calc(14 * var(--p)); margin: 0 !important; font: 600 calc(40 * var(--p)) / 1.2 "Montserrat", Arial, sans-serif !important; letter-spacing: -0.01em; }
.pp-arts__title a { color: var(--pp-ink) !important; }
.pp-arts__title a:hover { color: var(--pp-orange) !important; }
.pp-arts__all {
  right: 0; top: calc(30 * var(--p)); display: inline-flex; align-items: center; gap: calc(8 * var(--p));
  font: 600 calc(17 * var(--p)) / 1 "Montserrat", Arial, sans-serif; color: var(--pp-orange) !important; transition: gap 0.74s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.pp-arts__all svg { width: calc(18 * var(--p)); height: calc(18 * var(--p)); }
.pp-arts__all:hover { gap: calc(14 * var(--p)); }
.pp-arts__crumbs { left: calc(26 * var(--p)); top: calc(68 * var(--p)); display: flex; gap: calc(10 * var(--p)); font: 400 calc(14 * var(--p)) / 1.2 "Montserrat", Arial, sans-serif; color: #a0a0a0; }
.pp-arts__crumbs a { color: #a0a0a0 !important; }
.pp-arts__crumbs a:hover { color: var(--pp-orange) !important; }
.pp-arts__crumbs i { font-style: normal; }
.pp-arts__row { left: calc(24 * var(--p)); right: 0; top: calc(92 * var(--p)); bottom: 0; display: flex; gap: calc(18 * var(--p)); }
.pp-art {
  position: relative; flex: 1 1 0; min-width: 0; overflow: hidden; border-radius: calc(16 * var(--p)); background: #eee;
  transition: flex-grow 1.02s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.pp-art > * { position: absolute; }
.pp-art__img { inset: 0; }
.pp-art__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.02s cubic-bezier(0.2, 0.7, 0.2, 1); }
.pp-arts__row:hover .pp-art, .pp-arts__row:focus-within .pp-art { flex-grow: 0.55; }
.pp-arts__row .pp-art:hover, .pp-arts__row .pp-art:focus-visible { flex-grow: 2.6; }
.pp-art:hover .pp-art__img img { transform: scale(1.04); }
.pp-art__btn {
  left: 50%; top: 42%; transform: translate(-50%, -50%) scale(0.92); padding: calc(10 * var(--p)) calc(22 * var(--p)); border-radius: 999px; background: #fff;
  font: 600 calc(15 * var(--p)) / 1 "Montserrat", Arial, sans-serif; color: var(--pp-ink); white-space: nowrap; opacity: 0;
  transition: opacity 0.74s ease, transform 0.74s ease;
}
.pp-art__cap {
  left: calc(12 * var(--p)); right: calc(12 * var(--p)); bottom: calc(12 * var(--p)); padding: calc(14 * var(--p)) calc(16 * var(--p)) calc(12 * var(--p)); border-radius: calc(12 * var(--p));
  background: rgba(255, 255, 255, 0.94); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
  opacity: 0; transform: translateY(calc(10 * var(--p))); transition: opacity 0.74s ease 0.15s, transform 0.74s ease 0.15s;
}
.pp-art__cap b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font: 700 calc(18 * var(--p)) / 1.25 "Montserrat", Arial, sans-serif; color: var(--pp-ink); }
.pp-art__cap time { display: block; margin-top: calc(6 * var(--p)); font: 400 calc(12 * var(--p)) / 1 "Montserrat", Arial, sans-serif; color: #888; }
.pp-art:hover .pp-art__btn, .pp-art:focus-visible .pp-art__btn { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.pp-art__btn { box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12); }
.pp-art:hover .pp-art__cap, .pp-art:focus-visible .pp-art__cap { opacity: 1; transform: none; }

/* Social (макет): светло-серая карточка, плоские иконки в ряд, плотный заголовок, серая подпись; блок по центру высоты */
.pp-social {
  display: flex !important; flex-direction: column; justify-content: center; padding: 0 0 0 calc(120 * var(--p));
  background: #f7f7f7 !important; border-color: #ededed !important; box-shadow: 0 calc(14 * var(--p)) calc(40 * var(--p)) rgba(0, 0, 0, 0.05);
}
.pp-social > * { position: static; }
.pp-social__icons { display: flex; gap: calc(22 * var(--p)); }
.pp-social__i {
  display: grid; place-items: center; width: calc(56 * var(--p)); height: calc(56 * var(--p)); border-radius: 50%; color: #fff;
  transition: transform 0.74s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.74s ease;
}
.pp-social__i svg { width: 50%; height: 50%; }
.pp-social__i--z { background: #000; }
.pp-social__i--z svg { width: 66%; height: 66%; }
.pp-social__i--vk { background: #2787f5; }
.pp-social__i--ig { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
.pp-social__i--tg { background: #2aabee; }
.pp-social__i--pin { background: #e60023; }
.pp-social:hover .pp-social__i { transform: translateY(calc(-5 * var(--p))); box-shadow: 0 calc(10 * var(--p)) calc(22 * var(--p)) rgba(0, 0, 0, 0.1); }
.pp-social:hover .pp-social__i:nth-child(2) { transition-delay: 0.07s; }
.pp-social:hover .pp-social__i:nth-child(3) { transition-delay: 0.14s; }
a.pp-social__i:hover { transform: translateY(calc(-5 * var(--p))) scale(1.08) !important; }
.pp-social__title { margin-top: calc(64 * var(--p)); font: 600 calc(40 * var(--p)) / 1.1 "Montserrat", Arial, sans-serif; letter-spacing: -0.01em; color: #3a3a3a; }
.pp-social__sub { margin-top: calc(22 * var(--p)); font: 400 calc(18 * var(--p)) / 1.5 "Montserrat", Arial, sans-serif; color: #9a9a9a; }

/* подборки по комнатам: 4 фото в ряд; наведённая расширяется, справа выезжает состав комплекта */
.pp-rooms { display: flex; gap: calc(24 * var(--p)); }
.pp-room {
  position: relative; flex: 1 1 0; min-width: 0; overflow: hidden; border-radius: calc(20 * var(--p)); background: #e9e5df; color: #fff !important;
  transition: flex-grow 1.02s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.74s ease, transform 0.74s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.pp-room > * { position: absolute; }
.pp-room__img { inset: 0; }
.pp-room__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1); }
.pp-room__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20, 16, 12, 0.62) 0%, rgba(20, 16, 12, 0) 48%); }
.pp-room__chip { left: calc(20 * var(--p)); top: calc(20 * var(--p)); padding: calc(8 * var(--p)) calc(14 * var(--p)); border-radius: 999px; background: var(--pp-orange); font: 600 calc(13 * var(--p)) / 1 "Inter", "Montserrat", Arial, sans-serif; font-style: normal; color: #fff; }
.pp-room:has(.pp-room__chip) { box-shadow: 0 0 0 2px var(--pp-orange), 0 calc(14 * var(--p)) calc(34 * var(--p)) rgba(255, 126, 40, 0.22); }
.pp-room__cap { left: calc(26 * var(--p)); bottom: calc(26 * var(--p)); display: flex; flex-direction: column; gap: calc(14 * var(--p)); }
.pp-room__cap b { font: 600 calc(28 * var(--p)) / 1.1 "Montserrat", Arial, sans-serif; color: #fff; text-shadow: 0 1px 12px rgba(0, 0, 0, 0.25); }
.pp-room__go {
  display: grid; place-items: center; width: calc(46 * var(--p)); height: calc(46 * var(--p)); border: 1.5px solid rgba(255, 255, 255, 0.85); border-radius: 50%; color: #fff;
  transition: background-color 0.74s ease, border-color 0.74s ease;
}
.pp-room__go svg { width: 42%; height: 42%; }
.pp-room:has(.pp-room__chip) .pp-room__go, .pp-room:hover .pp-room__go { background: var(--pp-orange); border-color: var(--pp-orange); }
.pp-room__panel { display: none; }
/* карточка состава у курсора: одна на ряд, содержимое и положение задаёт Behaviors (roomTips) */
.pp-rooms__tip {
  position: absolute; left: 0; top: 0; z-index: 6; width: calc(300 * var(--p)); display: flex; flex-direction: column; padding: calc(22 * var(--p)) calc(22 * var(--p)) calc(20 * var(--p));
  background: #fff; border-radius: calc(16 * var(--p)); box-shadow: 0 calc(24 * var(--p)) calc(60 * var(--p)) rgba(0, 0, 0, 0.18); color: var(--pp-ink); pointer-events: none;
  opacity: 0; transition: opacity 0.3s ease, transform 0.18s ease-out;
}
.pp-rooms__tip.is-on { opacity: 1; }
.pp-rooms__tip > small { font: 600 calc(12 * var(--p)) / 1 "Inter", "Montserrat", Arial, sans-serif; text-transform: uppercase; letter-spacing: 0.06em; color: var(--pp-orange); }
.pp-rooms__tip .pp-room__total { margin-top: calc(14 * var(--p)); }
.pp-rooms__tip-x > small { font: 600 calc(12 * var(--p)) / 1 "Inter", "Montserrat", Arial, sans-serif; text-transform: uppercase; letter-spacing: 0.06em; color: var(--pp-orange); }
.pp-room__name { margin-top: calc(10 * var(--p)); font: 700 calc(22 * var(--p)) / 1.15 "Montserrat", Arial, sans-serif; color: var(--pp-ink); }
.pp-room__parts { margin-top: calc(16 * var(--p)); display: flex; flex-direction: column; border-top: 1px solid #efefef; }
.pp-room__part { display: grid; grid-template-columns: calc(46 * var(--p)) minmax(0, 1fr) auto; align-items: center; gap: calc(12 * var(--p)); padding: calc(8 * var(--p)) 0; border-bottom: 1px solid #efefef; }
.pp-room__pic { width: calc(46 * var(--p)); height: calc(46 * var(--p)); display: grid; place-items: center; padding: calc(4 * var(--p)); border-radius: calc(10 * var(--p)); background: #f6f6f4; }
.pp-room__pic img { max-width: 100%; max-height: 100%; object-fit: contain; }
.pp-room__pname { font: 500 calc(13 * var(--p)) / 1.3 "Montserrat", Arial, sans-serif; color: #444; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-room__part b { font: 600 calc(13 * var(--p)) / 1 "Montserrat", Arial, sans-serif; color: var(--pp-ink); white-space: nowrap; }
.pp-room__total { margin-top: auto; display: flex; flex-direction: column; gap: calc(6 * var(--p)); }
.pp-room__total small { font: 500 calc(12 * var(--p)) / 1 "Montserrat", Arial, sans-serif; color: #8a8a8a; }
.pp-room__total b { font: 700 calc(30 * var(--p)) / 1 "Montserrat", Arial, sans-serif; letter-spacing: -0.01em; color: var(--pp-ink); white-space: nowrap; }
@media (hover: hover) {
  .pp-room:hover .pp-room__img img { transform: scale(1.04); }
}

/* карта: Яндекс.Карты подгружаются, когда плитка подъезжает к экрану */
.pp-map { background: #eceae6; }
.pp-map__canvas { inset: 0; }
.pp-map__panel {
  left: calc(24 * var(--p)); top: calc(24 * var(--p)); width: calc(300 * var(--p)); padding: calc(26 * var(--p)) calc(28 * var(--p)) calc(24 * var(--p)); border-radius: calc(14 * var(--p));
  background: rgba(255, 255, 255, 0.92); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); box-shadow: 0 2px 14px rgba(0, 0, 0, 0.06);
}
.pp-map__title { margin: 0 0 calc(12 * var(--p)) !important; font: 700 calc(26 * var(--p)) / 1.15 "Montserrat", Arial, sans-serif !important; color: var(--pp-ink); }
.pp-map__panel ul { margin: 0; padding: 0; list-style: none; }
.pp-map__panel li { margin: 0 0 calc(10 * var(--p)); padding: 0 0 0 calc(16 * var(--p)); position: relative; font: 400 calc(13 * var(--p)) / 1.4 "Montserrat", Arial, sans-serif; color: #555; }
.pp-map__panel li::before { content: ""; position: absolute; left: 0; top: calc(6 * var(--p)); width: calc(7 * var(--p)); height: calc(7 * var(--p)); border-radius: 50%; background: var(--pp-orange); }
.pp-map__link { display: inline-block; margin-top: calc(6 * var(--p)); font: 600 calc(14 * var(--p)) / 1 "Montserrat", Arial, sans-serif; color: var(--pp-orange) !important; }
.pp-map__link:hover { text-decoration: underline !important; }

/* опт: слева условия и пример цены, справа «партия» — несколько копий товара; при наведении расходятся веером */
.pp-opt__title { left: calc(64 * var(--p)); top: calc(60 * var(--p)); z-index: 1; font: 600 calc(52 * var(--p)) / 1.08 "Montserrat", Arial, sans-serif; letter-spacing: -0.01em; color: var(--pp-ink2); }
.pp-opt__sub { left: calc(66 * var(--p)); top: calc(192 * var(--p)); width: calc(440 * var(--p)); z-index: 1; font: 400 calc(18 * var(--p)) / 1.5 "Montserrat", Arial, sans-serif; color: var(--pp-gray2); }
.pp-opt__prices { left: calc(66 * var(--p)); top: calc(272 * var(--p)); z-index: 1; display: flex; align-items: baseline; gap: calc(12 * var(--p)); white-space: nowrap; }
.pp-opt__prices s { font: 400 calc(20 * var(--p)) / 1 "Montserrat", Arial, sans-serif; color: #a5a5a5; }
.pp-opt__prices b { font: 700 calc(40 * var(--p)) / 1 "Montserrat", Arial, sans-serif; letter-spacing: -0.01em; color: var(--pp-orange); }
.pp-opt__prices small { font: 400 calc(15 * var(--p)) / 1 "Montserrat", Arial, sans-serif; color: #9a9a9a; }
.pp-opt__go { left: calc(60 * var(--p)); bottom: calc(40 * var(--p)); width: calc(64 * var(--p)); height: calc(64 * var(--p)); z-index: 1; }
.pp-opt__stack { right: calc(48 * var(--p)); top: calc(48 * var(--p)); bottom: calc(40 * var(--p)); width: calc(400 * var(--p)); }
.pp-opt__unit {
  position: absolute; bottom: 0; height: 88%; width: auto; max-width: 52%; object-fit: contain; object-position: bottom;
  filter: brightness(1.03) saturate(0.98);
  transition: transform 1.02s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 1.02s ease;
}
/* в покое копии стоят тесно друг за другом, при наведении расходятся */
.pp-opt__unit--0 { right: 0; z-index: 4; }
.pp-opt__unit--1 { right: 0; z-index: 3; opacity: 0.85; transform: translateX(calc(-70 * var(--p))) scale(0.94); transform-origin: bottom right; }
.pp-opt__unit--2 { right: 0; z-index: 2; opacity: 0.65; transform: translateX(calc(-132 * var(--p))) scale(0.88); transform-origin: bottom right; }
.pp-opt__unit--3 { right: 0; z-index: 1; opacity: 0.45; transform: translateX(calc(-186 * var(--p))) scale(0.82); transform-origin: bottom right; }
.pp-opt:hover .pp-opt__unit--1, .pp-opt.is-go .pp-opt__unit--1 { opacity: 1; transform: translateX(calc(-100 * var(--p))) scale(0.94); }
.pp-opt:hover .pp-opt__unit--2, .pp-opt.is-go .pp-opt__unit--2 { opacity: 0.9; transform: translateX(calc(-190 * var(--p))) scale(0.88); }
.pp-opt:hover .pp-opt__unit--3, .pp-opt.is-go .pp-opt__unit--3 { opacity: 0.8; transform: translateX(calc(-268 * var(--p))) scale(0.82); }
.pp-opt__qty {
  position: absolute; right: 0; top: 0; z-index: 5; padding: calc(8 * var(--p)) calc(16 * var(--p)); border-radius: 999px; background: var(--pp-orange);
  font: 700 calc(18 * var(--p)) / 1 "Montserrat", Arial, sans-serif; font-style: normal; color: #fff; transform: scale(0.9); opacity: 0;
  transition: transform 0.74s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 0.74s ease;
}
.pp-opt:hover .pp-opt__qty, .pp-opt.is-go .pp-opt__qty { transform: none; opacity: 1; }

/* карусель в карточке товара: слайды друг на друге, смена плавная; точки под фото, стрелка справа */
/* смена слайда: старый гаснет быстро, новый проявляется следом — без наложения текста */
.pp-fslide { inset: 0; color: var(--pp-ink) !important; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0s linear 0.3s; }
.pp-fslide.is-active { opacity: 1; visibility: visible; transition: opacity 0.74s ease 0.25s; }
.pp-fslide > * { position: absolute; }
.pp-fslide .pp-feature__img img { transform: translateX(calc(24 * var(--p))); transition: transform 1.02s cubic-bezier(0.2, 0.7, 0.2, 1); }
.pp-fslide.is-active .pp-feature__img img { transform: none; }
.pp-feature:hover .pp-fslide.is-active .pp-feature__img img { transform: scale(1.04); }
.pp-feature .pp-chips { z-index: 2; pointer-events: none; }
.pp-fdots { left: 0; right: 0; top: calc(602 * var(--p)); z-index: 2; display: flex; justify-content: center; gap: calc(12 * var(--p)); }
.pp-fdot { width: calc(12 * var(--p)); height: calc(12 * var(--p)); padding: 0; border: 0; border-radius: 50%; background: #dcdcdc; cursor: pointer; transition: background-color 0.74s ease, transform 0.74s ease; }
.pp-fdot:hover { background: #bdbdbd; }
.pp-fdot.is-active { background: var(--pp-orange); transform: scale(1.15); }
.pp-fnext {
  right: calc(32 * var(--p)); top: calc(320 * var(--p)); z-index: 2; width: calc(56 * var(--p)); height: calc(56 * var(--p)); padding: 0; display: grid; place-items: center; cursor: pointer;
  border: 2px solid var(--pp-line); border-radius: 50%; background: #fff; color: var(--pp-ink);
  transition: border-color 0.74s ease, background-color 0.74s ease, color 0.74s ease;
}
.pp-fnext svg { width: 42%; height: 42%; }
.pp-fnext:hover { border-color: var(--pp-orange); background: var(--pp-orange); color: #fff; }

/* карта: при наведении панель с адресами чуть поднимается, карта приближается */
.pp-map__panel { z-index: 2; transition: transform 0.74s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.74s ease; }
.pp-map:hover .pp-map__panel { transform: translateY(calc(-4 * var(--p))); box-shadow: 0 calc(10 * var(--p)) calc(28 * var(--p)) rgba(0, 0, 0, 0.1); }

/* «сборка» сцены при наведении: комната → мебель снизу → корзины сверху → куртки по штанге → горшок падает → обувь по полу.
   Класс is-built ставит Behaviors (mouseenter; на тач-устройствах — при появлении в экране), is-leaving — плавный уход. */
.pp-sc { position: absolute; top: 50%; right: 0; height: 100%; min-width: 100%; transform: translateY(-50%); z-index: 0; pointer-events: none;
  opacity: 1; transition: opacity 0.35s ease; }
.pp-builds { overflow: hidden; }
.pp-sc > * { position: absolute; display: block; }
.pp-sc__bg { inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
.pp-sc__it { opacity: 0; will-change: transform, opacity; }
.pp-sc__shadow { height: 3%; border-radius: 50%; opacity: 0;
  background: radial-gradient(closest-side, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0)); filter: blur(2px); }
.pp-builds.is-leaving .pp-sc { opacity: 0; }

.is-built .pp-sc__bg { animation: pp-fade 0.45s ease both; }
.pp-sc__full { inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
.is-built .pp-sc__full { animation: pp-fade 0.5s ease both; animation-delay: var(--at); }
.pp-sc--whole .pp-sc__full { transform: scale(1.06); transition: transform 1.6s cubic-bezier(0.2, 0.7, 0.2, 1); }
.is-built .pp-sc--whole .pp-sc__full { transform: scale(1); }

.is-built .pp-sc__shadow { animation: pp-fade 0.5s ease both; animation-delay: calc(var(--at) + 0.35s); }
.is-built .pp-sc--shade { animation: pp-fade 0.6s ease both; animation-delay: var(--at); }
.is-built .pp-sc--rise { transform-origin: 50% 100%; animation: pp-rise 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) both; animation-delay: var(--at); }
.is-built .pp-sc--drop { transform-origin: 50% 100%; animation: pp-drop 0.85s linear both; animation-delay: var(--at); }
.is-built .pp-sc--rail { transform-origin: 50% 0; animation: pp-rail 1.1s cubic-bezier(0.25, 0.7, 0.25, 1) both; animation-delay: var(--at); }
.is-built .pp-sc--slide-r { animation: pp-slide-r 0.7s cubic-bezier(0.2, 0.8, 0.25, 1.1) both; animation-delay: var(--at); }
.is-built .pp-sc--floor-r { animation: pp-floor-r 0.75s cubic-bezier(0.2, 0.8, 0.25, 1) both; animation-delay: var(--at); }
.is-built .pp-sc--floor-l { animation: pp-floor-l 0.75s cubic-bezier(0.2, 0.8, 0.25, 1) both; animation-delay: var(--at); }
.is-built .pp-sc--flop { transform-origin: 70% 100%; animation: pp-flop 0.95s ease-out both; animation-delay: var(--at); }

@keyframes pp-fade { from { opacity: 0; } to { opacity: 1; } }
/* мебель выезжает снизу, чуть проседает и выпрямляется */
@keyframes pp-rise {
  0% { opacity: 0; transform: translateY(35%); }
  25% { opacity: 1; }
  65% { transform: translateY(-2.5%); }
  82% { transform: translateY(0.8%); }
  100% { opacity: 1; transform: none; }
}
/* падение сверху с ускорением, приземление со сплющиванием и два затухающих отскока */
@keyframes pp-drop {
  0% { opacity: 0; transform: translateY(-160%); animation-timing-function: cubic-bezier(0.55, 0, 1, 0.45); }
  10% { opacity: 1; }
  45% { transform: translateY(0) scale(1.06, 0.9); animation-timing-function: cubic-bezier(0, 0.55, 0.45, 1); }
  62% { transform: translateY(-18%) scale(0.97, 1.04); animation-timing-function: cubic-bezier(0.55, 0, 1, 0.45); }
  76% { transform: translateY(0) scale(1.03, 0.96); animation-timing-function: cubic-bezier(0, 0.55, 0.45, 1); }
  86% { transform: translateY(-5%); animation-timing-function: cubic-bezier(0.55, 0, 1, 0.45); }
  94% { transform: translateY(0) scale(1.01, 0.99); }
  100% { opacity: 1; transform: none; }
}
/* куртка на плечиках едет по штанге справа налево и раскачивается на крючке */
@keyframes pp-rail {
  0% { opacity: 0; transform: translateX(140%) rotate(0deg); }
  12% { opacity: 1; }
  55% { transform: translateX(-4%) rotate(9deg); }
  70% { transform: translateX(0) rotate(-6deg); }
  83% { transform: rotate(3deg); }
  93% { transform: rotate(-1.2deg); }
  100% { opacity: 1; transform: none; }
}
@keyframes pp-slide-r { 0% { opacity: 0; transform: translateX(80%); } 30% { opacity: 1; } 100% { opacity: 1; transform: none; } }
@keyframes pp-floor-r { 0% { opacity: 0; transform: translateX(120%) rotate(-4deg); } 30% { opacity: 1; } 75% { transform: translateX(-3%) rotate(1deg); } 100% { opacity: 1; transform: none; } }
@keyframes pp-floor-l { 0% { opacity: 0; transform: translateX(-140%) rotate(4deg); } 30% { opacity: 1; } 75% { transform: translateX(3%) rotate(-1deg); } 100% { opacity: 1; transform: none; } }
/* подушка плюхается справа: прилёт с поворотом, сплющивание, выравнивание */
@keyframes pp-flop {
  0% { opacity: 0; transform: translate(60%, -90%) rotate(18deg); }
  20% { opacity: 1; }
  55% { transform: translate(0, 0) rotate(-3deg) scale(1.05, 0.9); }
  75% { transform: rotate(1.5deg) scale(0.98, 1.03); }
  100% { opacity: 1; transform: none; }
}

.pp-builds > *:not(.pp-sc) { z-index: 1; }
/* слева под надписью — лёгкое размытие сцены, плавно сходит на нет к середине */
.pp-builds::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; border-radius: inherit;
  -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 30%, transparent 58%);
  mask-image: linear-gradient(90deg, #000 0%, #000 30%, transparent 58%);
  opacity: 0; transition: opacity 0.4s ease;
}
.pp-builds.is-built::before { opacity: 1; transition-delay: 0.3s; }
.pp-builds.is-leaving::before { opacity: 0; transition-delay: 0s; }
.pp-sc { z-index: 0; }
.pp-builds .pp-pick__title, .pp-builds .pp-pick__sub, .pp-builds .pp-form__title, .pp-builds .pp-form__sub { transition: color 0.35s ease; }
.pp-builds.is-built { border-color: transparent; }
.pp-builds.is-built .pp-pick__title, .pp-builds.is-built .pp-form__title { color: #fff; }
.pp-builds.is-built .pp-pick__sub, .pp-builds.is-built .pp-form__sub { color: rgba(255, 255, 255, 0.85); }
.pp-builds.is-built .pp-go { background: var(--pp-orange); color: #fff; }
/* курсор ушёл — текст сразу возвращается к тёмному, видео гаснет быстро */
.pp-builds.is-leaving .pp-pick__title, .pp-builds.is-leaving .pp-pick__sub,
.pp-builds.is-leaving .pp-form__title, .pp-builds.is-leaving .pp-form__sub { transition-duration: 0.15s; }
.pp-builds.is-leaving .pp-pick__title { color: var(--pp-ink2); }
.pp-builds.is-leaving .pp-pick__sub { color: var(--pp-gray2); }
.pp-builds.is-leaving .pp-form__title { color: #000; }
.pp-builds.is-leaving .pp-form__sub { color: var(--pp-gray); }
@media (prefers-reduced-motion: reduce) {
  .is-built .pp-sc__it, .is-built .pp-sc__shadow { animation: pp-fade 0.3s ease both !important; }
}

/* ролик сборки: в покое плитка белая, при наведении проявляется видео */
.pp-vid { position: absolute; inset: 0; z-index: 0; overflow: hidden; border-radius: inherit; opacity: 0; transform: none;
  transition: opacity 0.35s ease; min-width: 0; height: auto; }
.is-built .pp-vid { opacity: 1; }
.pp-builds.is-leaving .pp-vid { opacity: 0; transition-duration: 0.2s; }
.pp-vid video { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
/* анкета: кадр 16:9 в узкой полосе — видео прижато вправо, по высоте показываем стол с вазой, слева — тёмная стена */
.pp-form .pp-vid { background: #1c2c28; }
.pp-form .pp-vid video { inset: auto; right: 0; top: -67%; width: auto; height: 190%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 30%); mask-image: linear-gradient(90deg, transparent 0%, #000 30%); }

/* картинки товаров чуть светлее */
.pp-slide__pic img, .pp-feature__img img, .pp-mini__img img { filter: brightness(1.03) saturate(0.98); }

/* ── узкие экраны: та же композиция потоком ── */
@media (max-width: 1199px) {
  :root { --p: 1px; }
  .pp-frame { width: auto; padding: 0 24px; }
  .pp-hero__in { height: auto; display: flex; flex-direction: column; gap: 24px; padding-top: 24px; padding-bottom: 28px; }
  /* внутренние страницы: первый экран компактный — без подзаголовка и топа, чтобы контент был виден сразу */
  .pp-hero--inner .pp-lead, .pp-hero--inner .pp-top { display: none; }
  .pp-hero--inner .pp-hero__in { gap: 16px; padding-bottom: 20px; }
  .pp-hero--inner .pp-h1 { font-size: clamp(26px, 6.6vw, 48px) !important; }
  .pp-hero__text { position: static; width: auto; height: auto; text-align: center; }
  .pp-logo { position: static; width: 150px; margin: 0 auto 16px !important; }
  .pp-hero .pp-h1 { position: static; font-size: clamp(32px, 8.4vw, 64px) !important; white-space: normal; }
  .pp-lead { position: static; width: auto; max-width: 560px; margin: 16px auto 0 !important; font-size: 17px !important; }
  .pp-cta { position: static; justify-content: center; flex-wrap: wrap; margin-top: 22px; }
  .pp-btn { height: 50px; padding: 0 26px; font-size: 16px; }
  .pp-facts { position: static; justify-content: center; flex-wrap: wrap; gap: 8px 20px; margin-top: 18px; }
  .pp-facts li { font-size: 13px; }
  .pp-top { position: relative; left: 0; width: auto; height: 400px; }
  .pp-hero .pp-top__title { left: 0; top: 0; font-size: 24px !important; }
  .pp-top__year, .pp-hero .tmh-period__btn { font-size: 24px !important; }
  .pp-top__track { left: 0; top: 48px; height: 320px; margin-right: -24px !important; }
  .pp-slide { width: 72vw; height: 320px; }
  .pp-slide__pic img { max-width: 300px; }
  .pp-slide__price { font-size: 28px; bottom: 40px; padding: 6px 10px 8px; }
  .pp-tiles { height: auto; margin-top: 48px; margin-bottom: 80px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .pp-card { position: relative; left: auto !important; top: auto !important; width: auto !important; }
  .pp-feature { grid-row: span 2; height: 640px; }
  .pp-pick { height: 360px; }
  .pp-deals { height: 300px; }
  .pp-arts { grid-column: 1 / -1; height: 400px; }
  .pp-social { height: 360px; }
  .pp-rooms { position: relative; left: auto; top: auto; width: auto; grid-column: 1 / -1; height: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .pp-room { height: 300px; }
  .pp-room__panel { display: none; }
  .pp-map { height: 420px; }
  .pp-opt { height: 420px; }
  .pp-fdots { top: auto; bottom: 170px; }
  .pp-fnext { right: 20px; top: 220px; width: 48px; height: 48px; }
  .pp-form { grid-column: 1 / -1; height: 200px; }
  .pp-mp { position: static; justify-content: center; order: -1; }
  .pp-mp { gap: 28px; margin-top: 12px; }
  .pp-mp__ozon img { height: 12px; }
  .pp-mp__wb img { height: 16px; }
  .pp-hero .pp-h1 { text-align: center; }
  .pp-arts__title { left: 0; }
  .pp-arts__crumbs { left: 2px; }
  .pp-arts__row { left: 0; }
  .pp-arts__all { top: 22px; font-size: 15px; }
  .pp-dots { left: 0; right: 0; top: 380px; justify-content: center; }
  .pp-dots button { width: 9px; height: 9px; }
  .pp-map__panel { width: auto; right: 20px; }
  .pp-opt__title { left: 28px; top: 32px; font-size: 34px; }
  .pp-opt__sub { left: 28px; top: 116px; width: auto; right: 28px; font-size: 15px; }
  .pp-opt__prices { left: 28px; top: 196px; width: auto; right: 28px; }
  .pp-opt__prices b { font-size: 30px; }
  .pp-opt__stack { right: 20px; top: auto; bottom: 20px; height: 150px; width: 55%; }
  .pp-opt__go { left: 28px; bottom: 28px; width: 56px; height: 56px; }
  .pp-feature__img { top: 90px; height: 380px; }
  .pp-feature__name { top: auto; bottom: 110px; font-size: 30px; }
  .pp-feature__dims { top: auto; bottom: 80px; font-size: 18px; }
  .pp-feature__off { left: auto; right: 40px; top: auto; bottom: 150px; }
  .pp-feature__price { left: auto; right: 40px; top: auto; bottom: 90px; font-size: 36px; }
  .pp-feature__old { left: auto; right: 40px; top: auto; bottom: 56px; font-size: 18px; }
  .pp-pick__title { left: 48px; top: 56px; font-size: 56px; line-height: 56px; }
  .pp-pick__sub { left: 48px; top: 190px; font-size: 20px; }
  .pp-pick__go { left: 44px; top: 244px; width: 64px; height: 64px; }
  .pp-deals__title { font-size: 30px; line-height: 36px; }
  .pp-deals__sub { top: 170px; font-size: 16px; line-height: 22px; }
  .pp-mini { display: none; }
  .pp-form__go { left: auto; right: 48px; top: 72px; }
  .pp .tma-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* телефон и планшет: на внутренних страницах первый экран не нужен — есть мобильная шапка с логотипом */
@media (max-width: 991px) {
  .pp-hero--inner { display: none; }
}
@media (max-width: 767px) {
  .pp-frame { padding: 0 16px; }
  .pp-tiles { grid-template-columns: 1fr; }
  .pp-arts { height: 360px; }
  .pp-arts__row { top: 96px; gap: 8px; }
  .pp-art__cap { left: 8px; right: 8px; bottom: 8px; padding: 10px 12px; }
  .pp-art__cap b { font-size: 15px; }
  .pp-social { height: 300px; }
  .pp-social { padding-left: 28px; }
  .pp-social__title { margin-top: 24px; font-size: 32px; }
  .pp-social__sub { font-size: 16px; }
  .pp-rooms { gap: 12px; }
  .pp-room { height: 220px; border-radius: 16px; }
  .pp-room__cap { left: 16px; bottom: 16px; gap: 10px; }
  .pp-room__cap b { font-size: 20px; }
  .pp-room__go { width: 38px; height: 38px; }
  .pp-room__chip { left: 12px; top: 12px; padding: 6px 10px; font-size: 11px; }
  .pp-map { height: 400px; }
  .pp-fdots { bottom: 150px; gap: 10px; }
  .pp-fnext { right: 14px; top: 160px; width: 44px; height: 44px; }
  .pp-map__panel { left: 12px; right: 12px; top: 12px; padding: 16px 18px; }
  .pp-opt { height: 460px; }
  .pp-opt__title { left: 24px; top: 28px; font-size: 30px; }
  .pp-opt__sub, .pp-opt__prices { left: 24px; right: 24px; }
  .pp-opt__prices { top: 200px; }
  .pp-opt__stack { width: 58%; height: 140px; }
  /* на телефоне копии стоят тесно и расходятся недалеко — кнопка слева остаётся свободной */
  .pp-opt__unit--1 { transform: translateX(-36px) scale(0.94); }
  .pp-opt__unit--2 { transform: translateX(-66px) scale(0.88); }
  .pp-opt__unit--3 { transform: translateX(-92px) scale(0.82); }
  .pp-opt:hover .pp-opt__unit--1, .pp-opt.is-go .pp-opt__unit--1 { transform: translateX(-50px) scale(0.94); }
  .pp-opt:hover .pp-opt__unit--2, .pp-opt.is-go .pp-opt__unit--2 { transform: translateX(-94px) scale(0.88); }
  .pp-opt:hover .pp-opt__unit--3, .pp-opt.is-go .pp-opt__unit--3 { transform: translateX(-132px) scale(0.82); }
  .pp-opt__go { left: 24px; bottom: 24px; }
  .pp-feature { grid-row: auto; height: 560px; }
  .pp-feature .pp-chips { left: 16px; top: 16px; gap: 8px; }
  .pp-chip { height: 30px; padding: 0 12px; font-size: 12px; }
  .pp-feature__img { top: 64px; height: 300px; left: 16px; right: 16px; }
  .pp-feature__name { left: 20px; bottom: 96px; font-size: 24px; max-width: 60%; }
  .pp-feature__dims { left: 20px; bottom: 70px; font-size: 16px; }
  .pp-feature__off { right: 20px; bottom: 132px; width: 72px; height: 28px; font-size: 14px; }
  .pp-feature__price { right: 20px; bottom: 82px; font-size: 30px; }
  .pp-feature__old { right: 20px; bottom: 52px; font-size: 16px; }
  .pp-pick { height: 300px; }
  .pp-pick__title { left: 24px; top: 40px; font-size: 44px; line-height: 46px; }
  .pp-pick__sub { left: 24px; top: 144px; font-size: 17px; }
  .pp-pick__go { left: 22px; top: 196px; width: 56px; height: 56px; }
  .pp-deals { height: 260px; }
  .pp-deals__chips, .pp-deals__title, .pp-deals__sub { left: 24px; }
  .pp-form { height: 220px; }
  .pp-form__title { left: 24px; top: 40px; font-size: 28px; }
  .pp-form__sub { left: 24px; top: 90px; font-size: 16px; line-height: 22px; }
  .pp-form__sub br { display: none; }
  .pp-form__sub { right: 24px; }
  .pp-form__go { left: 24px; right: auto; top: auto; bottom: 24px; }
  .pp .tma-grid { grid-template-columns: 1fr; gap: 32px; }
  .pp .tma-sec__title { font-size: 40px !important; }
  /* телефон: плитки по две в ряд; широкие (карусель, статьи, подборки, карта, опт) — на всю ширину */
  .pp-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .pp-feature { order: 1; grid-column: 1 / -1; }
  .pp-arts { order: 2; }
  .pp-deals { order: 3; }
  .pp-pick { order: 4; }
  .pp-social { order: 5; }
  .pp-form { order: 6; grid-column: auto; }
  .pp-rooms { order: 7; gap: 12px; }
  .pp-map { order: 8; grid-column: 1 / -1; }
  .pp-opt { order: 9; grid-column: 1 / -1; }
  .pp-deals, .pp-pick, .pp-social, .pp-form { height: 236px; border-radius: 18px; }
  .pp-deals__chips { left: 14px; top: 14px; gap: 6px !important; }
  .pp-deals .pp-chip { height: 24px; padding: 0 9px; font-size: 10px; }
  .pp-deals__title { left: 14px; right: 12px; top: 58px; font-size: 21px; line-height: 25px; }
  .pp-deals__sub { left: 14px; right: 12px; top: auto; bottom: 16px; font-size: 12px; line-height: 16px; }
  .pp-pick__title { left: 16px; right: 12px; top: 18px; font-size: 26px; line-height: 28px; }
  .pp-pick__sub { left: 16px; right: 12px; top: 80px; font-size: 12px; line-height: 16px; }
  .pp-pick__go { left: 14px; top: auto; bottom: 14px; width: 44px; height: 44px; }
  .pp-social { padding: 0 16px !important; }
  .pp-social__icons { gap: 8px; }
  .pp-social__i { width: 38px; height: 38px; }
  .pp-social__title { margin-top: 18px; font-size: 24px; }
  .pp-social__sub { margin-top: 8px; font-size: 12px; line-height: 1.45; }
  .pp-form__title { left: 14px; right: 12px; top: 18px; font-size: 21px; line-height: 1.2; }
  .pp-form__sub { left: 14px; right: 12px; top: 74px; font-size: 12px; line-height: 16px; }
  .pp-form__go { left: 14px; right: auto; top: auto; bottom: 14px; width: 44px; height: 44px; }
}
/* ── до 1199: мобильная шапка первой и прилипает; логотип первого экрана не дублируем ── */
@media (max-width: 1199px) {
  #tm-root > .body.tm-hero-first { display: flex; flex-direction: column; }
  .tm-hero-first > #mobileheader { order: -1; position: sticky; top: 0; z-index: 60; background: #fff; }
  .pp-hero .pp-logo { display: none !important; }
  .pp-hero__in { padding-top: 8px; }
}

/* ── планшет 768–1199: две колонки; карусель слева на два ряда, справа «Скидки» и «Выбор для вас» ── */
@media (min-width: 768px) and (max-width: 1199px) {
  .pp-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 32px; }
  .pp-feature { order: 1; grid-row: span 2; height: auto; min-height: 600px; }
  .pp-deals { order: 2; height: 290px; }
  .pp-pick { order: 3; height: 290px; }
  .pp-arts { order: 4; grid-column: 1 / -1; }
  .pp-social { order: 5; height: 300px; }
  .pp-form { order: 6; grid-column: auto; height: 300px; }
  .pp-rooms { order: 7; }
  .pp-map { order: 8; height: 440px; }
  .pp-opt { order: 9; height: 440px; }
  /* карусель в половину ширины: метки переносятся, название и цена — друг под другом по краям */
  .pp-feature .pp-chips { left: 20px; top: 20px; right: 20px; flex-wrap: wrap; gap: 8px; }
  .pp-chip { height: 30px; padding: 0 12px; font-size: 12px; }
  .pp-feature__img { top: 80px; left: 20px; right: 20px; height: auto; bottom: 200px; }
  .pp-feature__name { left: 24px; right: 24px; bottom: 104px; font-size: 24px; max-width: none; }
  .pp-feature__dims { left: 24px; bottom: 78px; font-size: 15px; }
  .pp-feature__off { right: 24px; bottom: 140px; width: 72px; height: 28px; font-size: 14px; }
  .pp-feature__price { right: 24px; bottom: 30px; font-size: 30px; }
  .pp-feature__old { left: 24px; right: auto; bottom: 36px; font-size: 16px; }
  .pp-fdots { bottom: 168px; }
  .pp-fnext { right: 18px; top: 200px; width: 44px; height: 44px; }
  .pp-deals__chips, .pp-deals__title, .pp-deals__sub { left: 28px; }
  .pp-deals__title { top: 84px; font-size: 28px; line-height: 34px; }
  .pp-deals__sub { top: auto; bottom: 28px; font-size: 15px; line-height: 21px; }
  .pp-pick__title { left: 28px; top: 32px; font-size: 40px; line-height: 42px; }
  .pp-pick__sub { left: 28px; top: 124px; font-size: 16px; }
  .pp-pick__go { left: 26px; top: auto; bottom: 26px; width: 56px; height: 56px; }
  .pp-social { padding-left: 40px !important; }
  .pp-form__title { left: 32px; right: 24px; top: 36px; font-size: 30px; }
  .pp-form__sub { left: 32px; right: 24px; top: 84px; font-size: 15px; line-height: 21px; }
  .pp-form__sub br { display: none; }
  .pp-form__go { left: 32px; right: auto; top: auto; bottom: 32px; }
  .pp-slide { width: 44vw; }
}

/* ── телефон: первый экран компактнее ── */
@media (max-width: 767px) {
  .pp-hero__in { gap: 14px; padding-bottom: 12px; }
  .pp-lead { font-size: 15px !important; line-height: 1.55 !important; }
  .pp-top { height: 340px; }
  .pp-top__track { top: 44px; height: 264px; }
  .pp-slide { height: 264px; }
  .pp-slide__price { font-size: 24px; bottom: 28px; }
  .pp-dots { top: 318px; }
  .pp-tiles { margin-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .pp * { transition: none !important; }
  .pp-slide:hover img, .pp-feature:hover .pp-feature__img img, .pp-mini:hover .pp-mini__img img { transform: none; }
  .pp-card:hover { transform: none; }
}
