@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap');

/* ============================================================
   BIBIOIL — styles.v2.css
   Дизайн-система v2 «Премиум-свет» (кандидат C).
   ПОЛНЫЙ самодостаточный файл: TOKENS + BASE + COMPONENTS.
   Страница v2 подключает ТОЛЬКО его. Всё под .pb-scope.
   НЕ заменяет v1 «Станцию» (styles.css) — сосуществует для A/B.
   ============================================================ */

/* ===================== TOKENS ===================== */
.pb-scope{
  --bg:#FBFBF9;               /* near-white холст */
  --paper:#F6F6F3;            /* лёгкая тонировка секций */
  --surface:#FFFFFF;          /* карточки/панели */
  --white:#FFFFFF;
  --fg:#20222A;               /* текст, заголовки */
  --graphite:#20222A;         /* back-compat алиас */
  --muted:#84868F;            /* вторичный текст */
  --border:#ECECE8;           /* тонкие рамки */
  --line:#ECECE8;             /* back-compat алиас */

  --accent:#ED184A;           /* амарант */
  --amaranth:#ED184A;         /* back-compat */
  --accent-700:#C00C39;
  --amaranth-700:#C00C39;

  --dark:#161821;             /* честный near-black для тёмных секций */
  --dark-2:#11131A;           /* футер */
  --graphite-900:#11131A;     /* back-compat */

  --radius:12px;
  --radius-lg:20px;
  --border-1:1px solid var(--border);
  --pad-block:88px;
  --pad-block-sm:44px;

  --shadow-card:0 20px 50px -30px rgba(20,22,30,.28);
  --shadow-soft:0 8px 24px -16px rgba(20,22,30,.20);
  --ease:200ms ease;

  --font-display:'Hanken Grotesk','Söhne',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --font-num:'Hanken Grotesk','Inter',system-ui,sans-serif;
}

/* ===================== BASE ===================== */
.pb-scope{
  font-family:var(--font-body);
  color:var(--fg);
  background:var(--bg);
  line-height:1.6;
  scroll-behavior:smooth;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.pb-scope *{box-sizing:border-box}
.pb-scope img{max-width:100%;display:block}
.pb-scope a{color:inherit;text-decoration:none}
.pb-scope [id]{scroll-margin-top:84px}

/* — Типографика — */
.pb-scope h1,.pb-scope h2,.pb-scope h3,.pb-scope h4,.pb-scope h5{
  font-family:var(--font-display);font-weight:800;line-height:1.06;
  letter-spacing:-.022em;margin:0;color:var(--fg);text-wrap:balance;
}
.pb-scope h1{font-size:clamp(38px,5vw,60px);line-height:1.02;letter-spacing:-.03em}
.pb-scope .t-d{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.06}
.pb-scope h5{font-size:18px;font-weight:700;letter-spacing:-.01em}
.pb-scope .t-b{font-size:15px;color:var(--fg);margin:0}
.pb-scope p{margin:0}
.pb-scope .lead{font-size:17px;line-height:1.6;color:var(--muted)}
.pb-scope .eyebrow,.pb-scope .k{
  font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);
}
.pb-scope .tagstrip{
  display:inline-block;background:transparent;color:var(--accent);
  border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));
  font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:6px 13px;border-radius:999px;
}
.pb-scope .accent{color:var(--accent)}
.pb-scope .muted{color:var(--muted)}

/* — Контейнер / секции — */
.pb-scope .wrap{max-width:1180px;margin:0 auto;padding:0 26px}
.pb-scope .sec{padding:var(--pad-block) 0}
.pb-scope .sec--white{background:var(--surface)}
.pb-scope .sec--paper{background:var(--paper)}
.pb-scope .sec--graphite{background:var(--dark);color:#fff}
.pb-scope .sec--graphite h1,.pb-scope .sec--graphite h2,
.pb-scope .sec--graphite h3,.pb-scope .sec--graphite h5{color:#fff}
.pb-scope .sec--graphite .eyebrow{color:#FF6E8F}
.pb-scope .sec--graphite .muted,.pb-scope .sec--graphite .lead{color:rgba(255,255,255,.72)}
.pb-scope .sec-head{max-width:780px;margin:0 0 30px}
.pb-scope .sec-head h2{font-size:clamp(26px,3vw,38px)}
.pb-scope .sec-head p{margin-top:12px;font-size:15.5px;color:var(--muted)}
.pb-scope .sec--graphite .sec-head p{color:rgba(255,255,255,.72)}

/* — Кнопки — */
.pb-scope .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-body);font-weight:600;font-size:15px;
  cursor:pointer;border:1px solid transparent;border-radius:var(--radius);
  padding:13px 24px;transition:background var(--ease),color var(--ease),
  border-color var(--ease),transform var(--ease),box-shadow var(--ease);
}
.pb-scope .btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-soft)}
.pb-scope .btn-primary:hover{background:var(--accent-700);transform:translateY(-1px)}
.pb-scope .btn-sec{background:var(--dark);color:#fff}
.pb-scope .btn-sec:hover{background:var(--dark-2)}
.pb-scope .btn-gho{background:none;border-color:var(--border);color:var(--fg)}
.pb-scope .btn-gho:hover{border-color:var(--accent);color:var(--accent)}
.pb-scope .sec--graphite .btn-gho{border-color:rgba(255,255,255,.34);color:#fff}
.pb-scope .sec--graphite .btn-gho:hover{border-color:#fff;color:#fff}

/* — Поля ввода — */
.pb-scope .inp{
  width:100%;font-family:var(--font-body);font-size:15px;color:var(--fg);
  background:var(--surface);border:1.5px solid #DDDDD7;border-radius:var(--radius);
  padding:13px 15px;transition:border-color var(--ease),box-shadow var(--ease);
}
.pb-scope .inp::placeholder{color:#A6A7AD}
.pb-scope .inp:focus{outline:none;border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}

/* — Служебные — */
.pb-scope .stack>*+*{margin-top:12px}
.pb-scope .logo{display:block;height:34px;width:auto}
.pb-scope .logo--white{filter:brightness(0) invert(1)}

/* ===================== HEADER ===================== */
.pb-scope .site-head{position:sticky;top:0;z-index:30;
  /* Непрозрачный фон вместо translucent+backdrop-blur: на мобильных/планшетных
     GPU связка position:sticky + backdrop-filter при скролле роняет композитинг,
     и залипшая шапка исчезает. Solid-фон делает шапку стабильной на всех устройствах. */
  background:var(--bg);
  border-bottom:1px solid var(--border)}
.pb-scope .site-head .bar{display:flex;align-items:center;justify-content:space-between;gap:18px;height:70px}
.pb-scope .site-head nav{display:flex;gap:24px;align-items:center}
.pb-scope .site-head nav a{font-size:14px;font-weight:600;color:var(--fg)}
.pb-scope .site-head nav a:hover{color:var(--accent)}
.pb-scope .site-head nav .nav-phone{display:none}
.pb-scope .head-actions{display:flex;align-items:center;gap:16px}
.pb-scope .head-phone{font-family:var(--font-num);font-weight:700;font-size:16px;white-space:nowrap}
.pb-scope .head-phone:hover{color:var(--accent)}
.pb-scope .burger{display:none;background:none;border:1px solid var(--border);border-radius:var(--radius);padding:9px 11px;cursor:pointer}
.pb-scope .burger span{display:block;width:20px;height:2px;background:var(--fg);margin:4px 0}

/* ===================== HERO (светлый) ===================== */
.pb-scope .hero{background:var(--bg);color:var(--fg);padding:clamp(56px,7vw,96px) 0}
.pb-scope .hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(32px,4vw,56px);align-items:center}
.pb-scope .hero h1{color:var(--fg)}
.pb-scope .hero .lead{margin-top:18px;font-size:17.5px;line-height:1.6;color:var(--muted);max-width:540px}
.pb-scope .hero-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:28px}
.pb-scope .hero-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.pb-scope .hero-trust div{font-size:13px;line-height:1.45;color:var(--muted)}
.pb-scope .hero-trust b{display:block;color:var(--fg);font-size:15px;margin-bottom:2px;font-family:var(--font-display)}
.pb-scope .hero .ratings{margin:26px 0 0;gap:12px}
.pb-scope .hero .rate{padding:12px 16px;gap:12px}
.pb-scope .hero .rate .num{font-size:26px}

/* ===================== PRICE PANEL (белая карта с тенью, БЕЗ стрипа) ===================== */
.pb-scope .panel{background:var(--surface);color:var(--fg);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:26px 28px;box-shadow:var(--shadow-card)}
.pb-scope .panel h5{margin:0 0 4px;font-size:19px}
.pb-scope .panel .cap{font-size:12.5px;color:var(--muted);margin-bottom:10px}
.pb-scope .panel .note{font-size:12px;line-height:1.5;color:var(--muted);
  margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}

/* — Строка услуги / прайс — */
.pb-scope .srv{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:14px 0;border-bottom:1px solid var(--border)}
.pb-scope .srv:last-child{border-bottom:none}
.pb-scope .srv .n{font-weight:600;font-size:15px}
.pb-scope .srv .n small{display:block;font-weight:400;color:var(--muted);font-size:12.5px;margin-top:2px}
.pb-scope .srv .p{font-family:var(--font-num);font-variant-numeric:tabular-nums;
  font-weight:700;font-size:17px;white-space:nowrap;color:var(--fg)}
.pb-scope .srv .p.free{color:var(--accent)}

/* ===================== СЕТКИ ===================== */
.pb-scope .grid{display:grid;gap:18px}
.pb-scope .grid-2{grid-template-columns:repeat(2,1fr)}
.pb-scope .grid-3{grid-template-columns:repeat(3,1fr)}
.pb-scope .grid-4{grid-template-columns:repeat(4,1fr)}
.pb-scope .grid--center{align-items:center}

/* ===================== PRICELIST ===================== */
.pb-scope .pricelist{background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:8px 26px;box-shadow:var(--shadow-soft)}
.pb-scope .pricelist .head{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0 8px}
.pb-scope .pricelist .head h5{margin:0}

/* ===================== ШАГИ (БЕЗ left-stripe) ===================== */
.pb-scope .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pb-scope .step{border:1px solid var(--border);border-radius:var(--radius-lg);
  background:var(--surface);padding:24px;box-shadow:var(--shadow-soft);
  transition:transform var(--ease),box-shadow var(--ease)}
.pb-scope .step:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}
.pb-scope .step .num{font-family:var(--font-num);font-size:12px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.pb-scope .step h5{margin:10px 0 6px}
.pb-scope .step p{font-size:14px;color:var(--muted)}
.pb-scope .step .ph-img{min-height:140px;margin-bottom:16px}

/* ===================== ФИЧА-СТРОКА ===================== */
.pb-scope .feat{display:flex;gap:13px;align-items:flex-start}
.pb-scope .feat .mk{flex:0 0 auto;width:9px;height:9px;margin-top:8px;
  background:var(--accent);border-radius:50%}
.pb-scope .feat h5{margin:0 0 4px}
.pb-scope .feat p{font-size:14px;color:var(--muted)}

/* ===================== КАРТОЧКА ДИАГНОСТИКИ (чек-лист) ===================== */
.pb-scope .dcard{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);
  padding:26px;box-shadow:var(--shadow-soft);transition:transform var(--ease),box-shadow var(--ease)}
.pb-scope .dcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}
.pb-scope .dcard .ic{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);margin-bottom:18px}
.pb-scope .dcard .ic svg{width:24px;height:24px;stroke:currentColor;fill:none;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pb-scope .dcard h5{margin:0 0 14px}
.pb-scope .dcard ul.clist{margin:0;padding:0;display:grid;gap:10px}
.pb-scope .dcard ul.clist li{display:flex;gap:10px;align-items:flex-start;
  font-size:14px;line-height:1.4;color:var(--fg);list-style:none}
.pb-scope .dcard ul.clist li svg{flex:0 0 auto;width:17px;height:17px;margin-top:2px;color:var(--accent);
  stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* ===================== ПРОМО-КАРТОЧКА (БЕЗ left-stripe) ===================== */
.pb-scope .promo{border:1px solid var(--border);border-radius:var(--radius-lg);
  background:var(--surface);padding:28px;box-shadow:var(--shadow-soft)}
.pb-scope .promo--accent{border-color:color-mix(in srgb, var(--accent) 22%, var(--border));
  box-shadow:0 20px 50px -34px color-mix(in srgb, var(--accent) 40%, rgba(20,22,30,.3))}
.pb-scope .promo .big{font-family:var(--font-num);font-variant-numeric:tabular-nums;
  font-size:46px;font-weight:800;color:var(--accent);line-height:1;letter-spacing:-.03em}
.pb-scope .promo h4{font-size:20px;margin:8px 0 8px}
.pb-scope .promo p{font-size:14px;color:var(--muted)}
.pb-scope .sec--graphite .promo{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);box-shadow:none}
.pb-scope .sec--graphite .promo h4{color:#fff}
.pb-scope .sec--graphite .promo p{color:rgba(255,255,255,.72)}
.pb-scope .promo-car{display:block;width:72px;height:auto;color:var(--accent);margin:0 0 14px}
.pb-scope .promo-media{margin:0}
.pb-scope .promo-media img{display:block;width:100%;height:auto;border-radius:16px}
.pb-scope .tiers{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.pb-scope .tier{border:1px solid var(--border);border-radius:999px;padding:9px 15px;font-size:13px}
.pb-scope .tier b{font-family:var(--font-num);color:var(--accent)}
.pb-scope .sec--graphite .tier{border-color:rgba(255,255,255,.16);color:#fff}

/* ===================== ФОРМА (form-ok БЕЗ left-stripe) ===================== */
.pb-scope .lead-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pb-scope .lead-form .full{grid-column:1 / -1}
.pb-scope .form-ok{margin-top:14px;padding:14px 16px;background:var(--paper);
  border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));
  border-radius:var(--radius);font-size:14px;display:none}
.pb-scope .lead-form.sent + .form-ok{display:block}

/* ===================== КОНТАКТЫ (БЕЗ left-stripe) ===================== */
.pb-scope .contact-card{border:1px solid var(--border);border-radius:var(--radius-lg);
  background:var(--surface);padding:24px;box-shadow:var(--shadow-soft)}
.pb-scope .contact-card .badge{display:inline-block;font-size:11px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.pb-scope .contact-card h5{margin:0 0 6px}
.pb-scope .contact-card p{font-size:14px;color:var(--muted);margin-bottom:4px}

/* ===================== FAQ ===================== */
.pb-scope .faq details{border-bottom:1px solid var(--border)}
.pb-scope .faq summary{list-style:none;cursor:pointer;padding:20px 0;font-family:var(--font-display);
  font-weight:700;font-size:17px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.pb-scope .faq summary::-webkit-details-marker{display:none}
.pb-scope .faq summary::after{content:"+";color:var(--accent);font-size:24px;font-weight:700;line-height:1}
.pb-scope .faq details[open] summary::after{content:"–"}
.pb-scope .faq .ans{padding:0 0 20px;font-size:15px;color:var(--fg);max-width:820px;line-height:1.6}

/* ===================== ФИНАЛЬНЫЙ CTA ===================== */
.pb-scope .cta-final{text-align:center}
.pb-scope .cta-final h2{color:#fff;max-width:820px;margin:0 auto}
.pb-scope .cta-final .phone{display:inline-block;font-family:var(--font-num);font-size:34px;
  font-weight:800;color:#fff;margin:20px 0 6px;letter-spacing:-.02em}
.pb-scope .cta-final .phone:hover{color:var(--accent)}
.pb-scope .cta-final .sub{color:rgba(255,255,255,.66);font-size:14px;margin-bottom:24px}

/* ===================== ПОДВАЛ ===================== */
.pb-scope .site-foot{background:var(--dark-2);color:#fff;padding:44px 0}
.pb-scope .site-foot .grid{align-items:start}
.pb-scope .site-foot a{color:rgba(255,255,255,.7);font-size:14px}
.pb-scope .site-foot a:hover{color:#fff}
.pb-scope .site-foot .muted{color:rgba(255,255,255,.44);font-size:12.5px}
.pb-scope .foot-links{display:flex;flex-direction:column;gap:9px}

/* ===================== ФОТО-ЗАГЛУШКИ ===================== */
.pb-scope .ph-img{display:flex;align-items:center;justify-content:center;text-align:center;
  background:#F0F0EC;border:1px solid var(--border);border-radius:var(--radius-lg);
  color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.02em;padding:18px;min-height:220px}
.pb-scope .ph-img span{display:block;max-width:220px}

/* ===================== ЛЕНТА ДОВЕРИЯ + ФОТО ===================== */
.pb-scope .facility{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center}
.pb-scope .facility .ph-img{min-height:280px}
.pb-scope .trust-list{display:grid;gap:22px}
.pb-scope .trust-list .ti{display:flex;gap:13px;align-items:flex-start}
.pb-scope .trust-list .ti .mk{flex:0 0 auto;width:9px;height:9px;margin-top:8px;background:var(--accent);border-radius:50%}
.pb-scope .trust-list .ti b{display:block;font-family:var(--font-display);font-size:16px;font-weight:700}
.pb-scope .trust-list .ti p{font-size:14px;color:var(--muted);margin-top:3px}

/* ===================== PRICESTRIP (чипы) ===================== */
.pb-scope .pricestrip{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.pb-scope .pricestrip .pt{display:flex;gap:8px;align-items:baseline;border:1px solid var(--border);
  border-radius:999px;padding:11px 16px;background:var(--surface)}
.pb-scope .pricestrip .pt .l{font-size:13.5px;font-weight:600}
.pb-scope .pricestrip .pt .v{font-family:var(--font-num);font-variant-numeric:tabular-nums;
  font-size:13.5px;font-weight:700;color:var(--accent);white-space:nowrap}

/* ===================== РЕЙТИНГ-ПОЛОСА ===================== */
.pb-scope .ratings{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px}
.pb-scope .rate{display:flex;align-items:center;gap:15px;border:1px solid var(--border);
  border-radius:var(--radius-lg);background:var(--surface);padding:16px 22px;box-shadow:var(--shadow-soft)}
.pb-scope .rate .num{font-family:var(--font-num);font-variant-numeric:tabular-nums;
  font-size:32px;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--fg)}
.pb-scope .rate .meta{font-size:12.5px;color:var(--muted);line-height:1.35}
.pb-scope .rate .meta b{display:block;color:var(--fg);font-family:var(--font-display);font-size:14px;font-weight:700}
.pb-scope .stars{color:var(--accent);font-size:14px;letter-spacing:2px;white-space:nowrap;line-height:1}

/* ===================== ОТЗЫВЫ ===================== */
.pb-scope .reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.pb-scope .review{border:1px solid var(--border);border-radius:var(--radius-lg);
  background:var(--surface);padding:24px;box-shadow:var(--shadow-soft);
  display:flex;flex-direction:column;gap:14px;height:100%;
  transition:transform var(--ease),box-shadow var(--ease)}
.pb-scope .review:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}
.pb-scope .review .stars{font-size:13px}
.pb-scope .review .q{font-size:14.5px;line-height:1.62;color:var(--fg);margin:0}
.pb-scope .review .by{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:4px}
.pb-scope .review .av{flex:0 0 auto;width:42px;height:42px;border-radius:50%;
  background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:800;font-size:16px}
.pb-scope .review .by b{font-family:var(--font-display);font-size:14px;font-weight:700;display:block;line-height:1.2}
.pb-scope .review .by span{font-size:12px;color:var(--muted)}

/* ===================== ГАЛЕРЕЯ ФОТО ===================== */
.pb-scope .gallery{display:grid;grid-template-columns:repeat(3,1fr);
  grid-auto-rows:200px;gap:16px}
.pb-scope .gallery .ph-img{min-height:0;height:100%;margin:0}
.pb-scope .gallery .tall{grid-row:span 2}
.pb-scope .gallery .wide{grid-column:span 2}

/* — Галерея: зум превью по наведению — */
.pb-scope .gallery .zoomable{position:relative;padding:0;overflow:hidden;cursor:zoom-in;
  border:1px solid var(--border);font:inherit}
.pb-scope .gallery .zoomable img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform var(--ease)}
.pb-scope .gallery .zoomable::after{content:"";position:absolute;inset:0;
  background:rgba(17,19,26,.30);opacity:0;transition:opacity var(--ease);pointer-events:none}
.pb-scope .gallery .zoomable:hover img,
.pb-scope .gallery .zoomable:focus-visible img{transform:scale(1.05)}
.pb-scope .gallery .zoomable:hover::after,
.pb-scope .gallery .zoomable:focus-visible::after{opacity:1}
.pb-scope .gallery .zoomable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pb-scope .zoom-ic{position:absolute;top:50%;left:50%;z-index:2;
  width:54px;height:54px;
  background:var(--accent);color:#fff;border-radius:50%;box-shadow:var(--shadow-soft);
  opacity:0;transform:translate(-50%,-50%) scale(.82);pointer-events:none;
  transition:opacity var(--ease),transform var(--ease)}
.pb-scope .zoom-ic svg{position:absolute;top:50%;left:50%;width:26px;height:26px;
  transform:translate(-50%,-50%);display:block;
  fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pb-scope .gallery .zoomable:hover .zoom-ic,
.pb-scope .gallery .zoomable:focus-visible .zoom-ic{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* — Лайтбокс — */
.pb-scope .lightbox{position:fixed;inset:0;z-index:100;display:none;
  align-items:center;justify-content:center;padding:24px;
  background:rgba(17,19,26,.86);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.pb-scope .lightbox.open{display:flex}
.pb-scope .lightbox figure{margin:0;max-width:min(1040px,92vw);
  display:flex;flex-direction:column;gap:14px;animation:lb-in .28s var(--ease) both}
.pb-scope .lightbox img{max-width:100%;max-height:80vh;object-fit:contain;
  border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:block;margin:0 auto}
.pb-scope .lightbox figcaption{color:rgba(255,255,255,.82);font-size:14px;text-align:center}
.pb-scope .lb-close{position:absolute;top:20px;right:22px;width:46px;height:46px;
  display:flex;align-items:center;justify-content:center;
  background:var(--accent);color:#fff;border:none;border-radius:50%;cursor:pointer;
  box-shadow:var(--shadow-soft);font-size:26px;line-height:1;
  transition:background var(--ease),transform var(--ease)}
.pb-scope .lb-close:hover{background:var(--accent-700);transform:rotate(90deg)}
@keyframes lb-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}

/* ===================== УТИЛИТЫ ===================== */
.pb-scope .mt-8{margin-top:8px}.pb-scope .mt-12{margin-top:12px}
.pb-scope .mt-14{margin-top:14px}.pb-scope .mt-16{margin-top:16px}.pb-scope .mt-18{margin-top:18px}
.pb-scope .flush{margin:0}
.pb-scope .on-dark{color:#fff}

/* ===================== АДАПТИВ ===================== */
@media (max-width:900px){
  .pb-scope .site-head nav{display:none}
  /* Дропдаун — position:fixed (не absolute). Absolute-потомок, вываливающийся
     за пределы sticky-шапки (70px), на планшете/мобильном роняет композитинг
     sticky при скролле к якорю (клик по пункту меню) → шапка «пропадает».
     Fixed выводит меню из потока sticky-шапки и стабилизирует её. Визуально
     идентично: меню всегда прижато под 70px-шапку у верха вьюпорта. */
  .pb-scope .site-head.nav-open nav{display:flex;flex-direction:column;position:fixed;
    top:70px;left:0;right:0;z-index:29;background:var(--surface);border-bottom:1px solid var(--border);
    padding:16px 26px;gap:16px;box-shadow:0 12px 30px -12px rgba(20,22,30,.18)}
  /* Планшет/мобильный: телефон отдельной строкой над кнопкой в выпадающем меню */
  .pb-scope .site-head.nav-open nav .nav-phone{display:block;width:100%;text-align:center;
    font-family:var(--font-num);font-weight:700;font-size:18px;color:var(--fg);
    margin-top:4px;padding-top:14px;border-top:1px solid var(--border)}
  .pb-scope .site-head.nav-open nav .nav-phone:hover{color:var(--accent)}
  .pb-scope .site-head.nav-open nav .btn{align-self:stretch;width:100%;text-align:center}
  /* Планшет: гамбургер доступен уже здесь */
  .pb-scope .burger{display:block}
  .pb-scope .grid-4{grid-template-columns:repeat(2,1fr)}
  .pb-scope .reviews-grid{grid-template-columns:repeat(2,1fr)}
  /* Планшет/мобильный: красный лейбл «−20% на первый чек» в карточке адреса
     выводим из absolute-потока — иначе на узкой карточке он ложится поверх
     заголовка «ул. Адмирала Корнилова, вл5». Ставим отдельной строкой над ним. */
  .pb-scope .contact-card .promo-label{position:static !important;top:auto !important;
    right:auto !important;margin:0 0 10px !important}
}
/* Только планшет (761–900px): убираем телефон из выпадающего меню.
   В мобильном (≤760px) телефон в меню остаётся. */
@media (min-width:761px) and (max-width:900px){
  .pb-scope .site-head.nav-open nav .nav-phone{display:none}
  /* Планшет: блок «Сертифицированные масла…» — красную плашку гарантии держим
     в одной строке с заголовком (без переноса) и поднимаем на его уровень. */
  .pb-scope .visit-head-row{flex-wrap:nowrap !important}
  .pb-scope .visit-head-row .visit-head-col{max-width:none !important}
  .pb-scope .visit-warranty-badge{width:auto !important;padding:20px 24px !important;margin-top:0 !important}
}
@media (max-width:760px){
  .pb-scope .sec{padding:var(--pad-block-sm) 0}
  .pb-scope .hero{padding:40px 0}
  .pb-scope .hero-grid{grid-template-columns:1fr;gap:28px}
  .pb-scope .grid-2,.pb-scope .grid-3,.pb-scope .grid-4,
  .pb-scope .steps,.pb-scope .lead-form,.pb-scope .reviews-grid{grid-template-columns:1fr}
  .pb-scope .hero-trust{grid-template-columns:1fr 1fr;gap:16px}
  .pb-scope .facility{grid-template-columns:1fr;gap:24px}
  .pb-scope .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .pb-scope .gallery .wide{grid-column:span 2}
  .pb-scope .head-phone{display:none}
  /* Мобильный: блок «Сертифицированные масла…» — текст на всю ширину блока,
     плашка отдельной строкой без отрицательного отступа, чип в одну строку. */
  .pb-scope .visit-head-col{max-width:none !important;flex:1 1 100% !important}
  .pb-scope .visit-warranty-badge{margin-top:0 !important;width:100% !important}
  .pb-scope .visit-head-row .chip{white-space:nowrap;font-size:13px}
  /* Мобильный: лейбл Яндекс.Карт по левому краю — на одной вертикали с кнопками
     (перебиваем инлайновый margin:0 0 0 auto). */
  .pb-scope .hero-ctas .ratings{margin-left:0 !important}
  /* Мобильный: блок «Диагностика… по 5 пунктам» — без белых карточек,
     иконка слева, текст справа, иконка выровнена по первой строке текста.
     :has(.ic) — только 5 карточек с иконками; красная CTA-карточка не трогается. */
  .pb-scope .diag-grid{gap:18px}
  .pb-scope .diag-grid .dcard:has(.ic){display:flex;flex-direction:row;
    align-items:flex-start;gap:14px;border:none;background:none;
    box-shadow:none;padding:0}
  .pb-scope .diag-grid .dcard:has(.ic):hover{transform:none;box-shadow:none}
  .pb-scope .diag-grid .dcard .ic{flex:0 0 auto;margin-bottom:0}
  .pb-scope .diag-grid .dcard h5{margin:0;padding-top:14px}
}

/* ============================================================
   V3-ПАТТЕРНЫ (переосмысленная компоновка блоков) — аддитивно
   ============================================================ */

/* — Hero deal-карта — */
.pb-scope .deal .big{font-family:var(--font-num);font-variant-numeric:tabular-nums;
  font-size:56px;font-weight:800;color:var(--accent);line-height:1;letter-spacing:-.03em}
.pb-scope .deal .dsub{font-size:13px;color:var(--muted);margin-top:6px}
.pb-scope .deal .dlist{display:grid;gap:11px;margin:20px 0 0;padding:18px 0 0;border-top:1px solid var(--border)}
.pb-scope .deal .dlist .li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--fg)}
.pb-scope .deal .dlist .li svg{flex:0 0 auto;width:17px;height:17px;margin-top:2px;color:var(--accent);
  stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.pb-scope .deal .dnote{font-size:12.5px;color:var(--muted);margin-top:16px}

/* — Чипы (темы отзывов / преимущества) — */
.pb-scope .chips{display:flex;flex-wrap:wrap;gap:10px}
.pb-scope .chip{border:1px solid var(--border);border-radius:999px;padding:9px 15px;font-size:13.5px;
  font-weight:600;background:var(--surface);display:inline-flex;gap:8px;align-items:center}
.pb-scope .chip svg{width:15px;height:15px;color:var(--accent);stroke:currentColor;fill:none;
  stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.pb-scope .sec--graphite .chip{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16);color:#fff}

/* — Сравнительная таблица (0 ₽ vs своё масло) — */
.pb-scope .compare-wrap{overflow-x:auto;border-radius:var(--radius-lg)}
.pb-scope .compare{min-width:560px;border:1px solid var(--border);border-radius:var(--radius-lg);
  overflow:hidden;box-shadow:var(--shadow-soft);background:var(--surface)}
.pb-scope .compare .row{display:grid;grid-template-columns:1.35fr 1fr 1fr;align-items:center}
.pb-scope .compare .row+.row{border-top:1px solid var(--border)}
.pb-scope .compare .c{padding:15px 20px;font-size:14.5px}
.pb-scope .compare .c.lbl{color:var(--muted);font-weight:600}
.pb-scope .compare .col-hi{background:#fff}
.pb-scope .compare .head .c{font-family:var(--font-display);font-weight:800;font-size:15px;
  color:var(--fg);padding-top:19px;padding-bottom:19px}
.pb-scope .compare .head .col-hi{color:var(--accent)}
.pb-scope .compare .val{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.pb-scope .compare .val.free{color:var(--accent)}

/* — Таймлайн визита — */
.pb-scope .timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pb-scope .tl{position:relative;padding-top:46px}
.pb-scope .tl .dot{position:absolute;top:0;left:0;width:36px;height:36px;border-radius:50%;
  background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-num);font-weight:800;font-size:15px}
.pb-scope .tl::before{content:"";position:absolute;top:17px;left:44px;right:-18px;height:2px;background:var(--border)}
.pb-scope .tl:last-child::before{display:none}
.pb-scope .tl h5{margin:0 0 6px;font-size:16px}
.pb-scope .tl p{font-size:13.5px;color:var(--muted);line-height:1.5}

/* — Bento-галерея — */
.pb-scope .bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:14px}
.pb-scope .bento .ph-img{min-height:0;height:100%;margin:0;border-radius:var(--radius-lg)}
.pb-scope .bento .b-lg{grid-column:span 2;grid-row:span 2}

/* — Лестница кешбэка — */
.pb-scope .ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:end}
.pb-scope .ladder .rung{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);
  padding:18px 16px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;justify-content:flex-end;min-height:120px}
.pb-scope .ladder .rung:nth-child(2){min-height:134px}
.pb-scope .ladder .rung:nth-child(3){min-height:152px}
.pb-scope .ladder .rung:nth-child(4){min-height:170px}
.pb-scope .ladder .rung.start{border-color:color-mix(in srgb,var(--accent) 32%,var(--border));
  background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.pb-scope .ladder .rung .pc{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:800;
  font-size:30px;color:var(--accent);line-height:1;letter-spacing:-.02em}
.pb-scope .ladder .rung .lb{font-size:12.5px;color:var(--muted);margin-top:8px;line-height:1.35}

/* — Стопка отзывов (правая колонка) — */
.pb-scope .rev-stack{display:grid;gap:16px;align-content:start}
.pb-scope .rev-panel .num{font-family:var(--font-num);font-variant-numeric:tabular-nums;
  font-size:52px;font-weight:800;color:var(--accent);line-height:1;letter-spacing:-.02em}
.pb-scope .rev-panel .stars{font-size:18px;letter-spacing:3px;margin-top:8px}
.pb-scope .rev-panel .rmeta{font-size:13px;color:var(--muted);margin-top:8px}

/* — Адаптив v3 — */
@media (max-width:900px){
  .pb-scope .timeline{grid-template-columns:1fr 1fr;gap:26px 18px}
  .pb-scope .tl::before{display:none}
  .pb-scope .ladder{grid-template-columns:1fr 1fr}
  .pb-scope .ladder .rung,.pb-scope .ladder .rung:nth-child(n){min-height:auto}
}
@media (max-width:760px){
  .pb-scope .timeline{grid-template-columns:1fr;gap:14px}
  .pb-scope .tl{padding-top:0;padding-left:50px}
  .pb-scope .tl .dot{top:auto}
  .pb-scope .bento{grid-template-columns:1fr 1fr;grid-auto-rows:130px}
  .pb-scope .rev-stack{margin-top:16px}
  .pb-scope [data-od-id="deal-cta"]{width:100%}
}

/* Карта Москвы (дубль блока контактов) */
.pb-scope .map-frame{
  border:1px solid var(--border);border-radius:var(--radius-lg);
  overflow:hidden;box-shadow:var(--shadow-soft);
  min-height:440px;height:100%;background:var(--surface)}
.pb-scope .map-frame iframe{display:block;width:100%;height:100%;min-height:440px;border:0}
