/* «Что умеет Tukelo» полосами с настоящими экранами продукта (владелец
   7.11: «как у Бнова», «не тупо скрин», «делай красиво»). Одна шкала на
   все полосы: заголовок полосы — --f-panel, пункт — 18/650, текст — 16/450.
   Скругления концентрические: оправа окна 22, снимок в ней 14; панели и
   карточки 28; телефон — доли своей ширины, как у настоящего корпуса. */

/* Колонка раздела не растёт от содержимого: широкий ряд телефонов не распирает страницу вбок. */
.pbs{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,2vw,28px);margin-top:clamp(36px,4vw,52px)}
.pb{position:relative}

/* Кадр темы страницы: светлый по умолчанию, тёмный в тёмной теме. */
.pb-mdev{display:none}
.pb-img{display:block;width:100%;height:auto}
.pb-img[data-t="dark"]{display:none}
[data-theme="dark"] .pb-img[data-t="light"]{display:none}
[data-theme="dark"] .pb-img[data-t="dark"]{display:block}

/* Слова полосы. */
.pb-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(32px,5vw,80px)}
.pb-title{font-size:var(--f-panel);line-height:1.08;font-weight:700;letter-spacing:-.028em;text-wrap:balance}
.pb-text{display:grid;gap:24px;align-content:center;max-width:46ch}
.pb-lead{font-size:clamp(17px,1.3vw,19px);line-height:1.55;color:var(--ink-2);text-wrap:pretty}
.pb-points{display:grid;gap:22px;margin:4px 0 0;padding:0;list-style:none}
.pb-point{display:grid;gap:6px;padding-left:32px;position:relative}
.pb-point::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:7px;background:var(--crest)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat;
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .25),0 2px 6px -2px color-mix(in srgb,var(--crest) 60%,transparent)}
.pb-point-title{font-size:18px;line-height:1.3;font-weight:650;letter-spacing:-.012em}
.pb-point p,.pb-pay p,.pb-card-text p{font-size:16px;line-height:1.55;color:var(--ink-2);text-wrap:pretty}
.pb-point .ch-dock{margin-top:8px}
.pb-point .ch-more{margin-top:0}
.pb-point .pay-svc,.pb-point .tl-brands{margin-top:8px}

/* Окно экрана — стекло в лотке: полупрозрачная оправа с волосяной кромкой
   и светом по верхнему краю; в ней снимок со своим, меньшим скруглением.
   Тень двойная: широкая мягкая и короткая у основания, обе тона фона. */
.pb-visual{position:relative;min-width:0}
.pb-win,.pb-over,.pb-phone,.pb-crop{margin:0}
.pb-win{padding:8px;border-radius:22px;background:rgb(255 255 255 / .55);
  box-shadow:inset 0 0 0 1px rgb(23 24 26 / .06),inset 0 1px 0 rgb(255 255 255 / .9),
    0 1px 2px rgb(23 24 26 / .04),0 24px 48px -28px rgb(23 24 26 / .22),0 60px 100px -60px rgb(23 24 26 / .3)}
.pb-win-core{border-radius:14px;overflow:hidden;background:var(--bg);box-shadow:0 0 0 1px rgb(23 24 26 / .07)}
[data-theme="dark"] .pb-win{background:rgb(255 255 255 / .05);
  box-shadow:inset 0 0 0 1px rgb(255 255 255 / .08),inset 0 1px 0 rgb(255 255 255 / .1),0 40px 80px -40px rgb(0 0 0 / .7)}
[data-theme="dark"] .pb-win-core{box-shadow:0 0 0 1px rgb(255 255 255 / .06)}
/* Живая сцена поверх снимка (live-desk.mjs): настоящая вёрстка Tukelo в своём
   документе, кадр 1280 × 600 масштабом. Снимок остаётся под ней: телефон, режим
   без движения и первые секунды загрузки показывают его. Камера сдвигается,
   только когда панель брони иначе ушла бы за правый край окна. */
.pb-win-core[data-live],.pb-crop-core,.pb-ph-screen[data-live]{position:relative}
/* В телефоне верхние 54 точки — строка состояния со снимка: сцена её не закрывает. */
.pb-ph-screen .pb-live{background:none}
.pb-crop-core{border-radius:14px 0 0 0;overflow:hidden}
.pb-live{position:absolute;inset:0;overflow:hidden;opacity:0;background:var(--bg);transition:opacity 320ms ease}
.pb-live.is-on{opacity:1}
.pb-live-cam{position:absolute;inset:0;transform-origin:0 0;transition:transform 480ms var(--ease-in-out)}
/* У документа сцены схема светлая и в тёмной теме: она задаёт цвета сама, через data-ui-theme. Рамка объявляет ту же схему,
   иначе браузер заливает кадр белым (тёмная страница и светлый документ не совпали) и он перестаёт быть прозрачным. */
.pb-live iframe{position:absolute;left:0;top:0;display:block;border:0;background:none;color-scheme:light;transform-origin:0 0;pointer-events:none}
@media (prefers-reduced-motion:reduce){.pb-live{display:none}}

/* Календарь и брони: тёмная полоса с тёплым светом хохолка за окном;
   окно уходит за правый край, шапка карточки брони лежит на его углу. */
.pb-desk{color:var(--on-night);padding-block:clamp(72px,8vw,120px);overflow:hidden;
  background:radial-gradient(55% 70% at 82% 46%,color-mix(in srgb,var(--crest) 26%,transparent),transparent 72%),
    radial-gradient(40% 50% at 10% 100%,rgb(255 255 255 / .04),transparent 70%),var(--night)}
.pb-desk .pb-in{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}
.pb-desk .pb-point p{color:rgb(241 242 243 / .72)}
.pb-desk .ch-more{color:rgb(241 242 243 / .58)}
.pb-desk .ch-info-btn{color:rgb(241 242 243 / .8);background:rgb(255 255 255 / .08)}
.pb-desk .pb-visual{margin-right:calc(-1 * clamp(80px,12vw,220px));padding-bottom:clamp(56px,6vw,96px)}
.pb-desk .pb-win{background:rgb(255 255 255 / .07);
  box-shadow:inset 0 0 0 1px rgb(255 255 255 / .1),inset 0 1px 0 rgb(255 255 255 / .16),0 50px 90px -40px rgb(0 0 0 / .65)}
.pb-over{position:absolute;left:clamp(-48px,-3vw,-20px);bottom:0;width:min(62%,520px);border-radius:16px;overflow:hidden;
  box-shadow:0 0 0 1px rgb(255 255 255 / .12),0 1px 0 rgb(255 255 255 / .18) inset,0 40px 70px -26px rgb(0 0 0 / .7),0 10px 22px -10px rgb(0 0 0 / .45)}

/* Гости бронируют сами: светлая панель, слова по центру, три телефона —
   средний впереди и крупнее, боковые чуть ниже и меньше, у каждого мягкая
   тень у основания. Оплата — строкой под телефонами со знаками. */
.pb-panel{position:relative;display:grid;justify-items:center;gap:clamp(40px,4.4vw,64px);padding:clamp(56px,6vw,96px) clamp(20px,4vw,64px) clamp(36px,4vw,56px);
  border-radius:28px;overflow:hidden;
  background:radial-gradient(60% 50% at 50% 62%,rgb(255 255 255 / .9),transparent 70%),var(--bg-2);
  box-shadow:inset 0 0 0 1px rgb(23 24 26 / .04)}
[data-theme="dark"] .pb-panel{background:radial-gradient(60% 50% at 50% 62%,rgb(255 255 255 / .05),transparent 70%),var(--bg-2);box-shadow:inset 0 0 0 1px rgb(255 255 255 / .05)}
.pb-site-head{display:grid;gap:14px;justify-items:center;text-align:center;max-width:52ch}
.pb-phones{display:flex;align-items:flex-end;justify-content:center;gap:clamp(20px,3vw,48px);width:100%;padding-bottom:28px}

/* Корпус iPhone 15 Pro в долях ширины: рамка 1,2 %, кайма 2,6 %, экран —
   остальное; скругление экрана — 13 % ширины, островок — 31 × 9 %. */
.pb-phone{--pw:clamp(240px,21vw,300px);position:relative;flex:none;width:var(--pw)}
.pb-phone:nth-child(2){--pw:clamp(256px,22.4vw,322px);z-index:1}
.pb-phone:not(:nth-child(2)){transform:translateY(-18px)}
.pb-phone::after{content:"";position:absolute;z-index:-1;left:12%;right:12%;bottom:-26px;height:34px;border-radius:50%;
  background:radial-gradient(closest-side,rgb(23 24 26 / .32),rgb(23 24 26 / .12) 60%,transparent);filter:blur(6px)}
.pb-ph-frame{position:relative;padding:calc(var(--pw) * .012);border-radius:calc(var(--pw) * .168);
  background:linear-gradient(135deg,#a3a5a9 0%,#55575b 6%,#2d2e31 16%,#3e4044 38%,#26272a 58%,#4a4c50 82%,#9fa1a5 100%);
  box-shadow:inset 0 0 0 .6px rgb(255 255 255 / .45),inset 0 -1px 1px rgb(0 0 0 / .4),0 0 0 .6px rgb(0 0 0 / .5),
    0 2px 4px rgb(23 24 26 / .12),0 30px 50px -28px rgb(23 24 26 / .45),0 70px 110px -60px rgb(23 24 26 / .55)}
.pb-ph-bezel{position:relative;padding:calc(var(--pw) * .026);border-radius:calc(var(--pw) * .156);background:#050506;
  box-shadow:inset 0 0 0 1px rgb(255 255 255 / .05)}
.pb-ph-screen{overflow:hidden;border-radius:calc(var(--pw) * .13);background:#000;transform:translateZ(0)}
.pb-ph-island{position:absolute;left:50%;top:calc(var(--pw) * .026 + var(--pw) * .025);width:calc(var(--pw) * .29);height:calc(var(--pw) * .086);
  border-radius:999px;background:#000;transform:translateX(-50%);
  box-shadow:inset calc(var(--pw) * .09) 0 0 -100px #000,inset 0 0 0 .5px rgb(255 255 255 / .04)}
.pb-ph-island::after{content:"";position:absolute;right:22%;top:50%;width:calc(var(--pw) * .028);height:calc(var(--pw) * .028);border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#2b3346,#0b0d12 60%);transform:translateY(-50%)}
/* Боковые кнопки: действие и громкость слева, питание справа. */
.pb-ph-key{position:absolute;width:calc(var(--pw) * .011);border-radius:2px;
  background:linear-gradient(90deg,#1d1e20,#5f6165 45%,#2b2c2f)}
.pb-ph-key.is-act,.pb-ph-key.is-up,.pb-ph-key.is-down{left:calc(var(--pw) * -.0085);border-radius:2px 0 0 2px}
.pb-ph-key.is-act{top:13.5%;height:3.6%}
.pb-ph-key.is-up{top:20.5%;height:6.6%}
.pb-ph-key.is-down{top:28.6%;height:6.6%}
.pb-ph-key.is-side{right:calc(var(--pw) * -.0085);top:23.5%;height:10.4%;border-radius:0 2px 2px 0;background:linear-gradient(90deg,#2b2c2f,#5f6165 55%,#1d1e20)}
[data-theme="dark"] .pb-ph-frame{box-shadow:inset 0 0 0 .6px rgb(255 255 255 / .4),inset 0 -1px 1px rgb(0 0 0 / .4),0 0 0 .6px rgb(0 0 0 / .6),
  0 30px 50px -28px rgb(0 0 0 / .7),0 70px 110px -60px rgb(0 0 0 / .8)}
[data-theme="dark"] .pb-phone::after{background:radial-gradient(closest-side,rgb(0 0 0 / .6),rgb(0 0 0 / .25) 60%,transparent)}

.pb-pay{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 48px;width:100%;max-width:1120px;
  padding-top:clamp(24px,3vw,36px);border-top:1px solid var(--line)}
.pb-pay>div{display:grid;gap:6px;max-width:50ch}
.pb-pay .pb-logos{gap:clamp(24px,3vw,44px)}

/* Сообщения: окно справа, значки мессенджеров лежат на его нижнем углу. */
.pb-chats{padding-block:clamp(48px,6vw,88px)}
.pb-dock{position:absolute;left:clamp(-40px,-3vw,-16px);bottom:clamp(-30px,-2.4vw,-20px)}
.pb-dock .ch-dock{margin:0;box-shadow:inset 0 1px 0 rgb(255 255 255 / .9),0 0 0 1px rgb(23 24 26 / .06),0 24px 40px -22px rgb(23 24 26 / .35)}

/* Деньги: «Учёт → Касса» в оправе на подложке со светом хохолка, поверх —
   чек продажи у стойки отдельной бумажкой, чуть наискосок, как положенный
   на стол; слова справа. Под полосой — строка знаков касс и маркировки. */
.pb-money{padding-block:clamp(40px,5vw,72px) 0}
.pb-money .pb-in{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.pb-money .pb-visual{order:-1;padding:clamp(24px,3vw,40px) clamp(24px,3vw,40px) clamp(40px,4.4vw,64px);border-radius:28px;
  background:radial-gradient(70% 70% at 90% 100%,color-mix(in srgb,var(--crest) 16%,transparent),transparent 70%),var(--bg-2);
  box-shadow:inset 0 0 0 1px rgb(23 24 26 / .04)}
.pb-money .pb-over{left:auto;right:clamp(-48px,-3vw,-20px);bottom:clamp(-40px,-3vw,-22px);width:min(30%,220px);border-radius:0;overflow:visible;box-shadow:none;
  transform:rotate(2.4deg);transform-origin:50% 0;filter:drop-shadow(0 22px 26px rgb(23 24 26 / .22)) drop-shadow(0 3px 6px rgb(23 24 26 / .14))}
[data-theme="dark"] .pb-money .pb-over{filter:drop-shadow(0 26px 30px rgb(0 0 0 / .6)) drop-shadow(0 3px 6px rgb(0 0 0 / .4))}

/* Знаки сервисов без подложки: в своём цвете, высота по виду знака — у
   каждого своя, чтобы на глаз они были одного веса. */
.pb-logos{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(22px,2.6vw,40px);margin:0;padding:0;list-style:none}
.pb-logo{display:grid;place-items:center}
.pb-logo svg{display:block;width:auto;height:28px}
.pb-logo[data-svc="robokassa"] svg{height:19px}
.pb-logo[data-svc="yookassa"] svg{height:28px}
.pb-logo[data-svc="tbank"] svg{height:31px}
.pb-logo[data-svc="aqsi"] svg{height:34px}
.pb-logo[data-svc="evotor"] svg{height:18px}
.pb-logo[data-svc="atol"] svg{height:25px}
.pb-chz{display:block;width:auto;height:52px;border-radius:10px}
/* Тёмная тема: светлеют только тёмные буквы знаков, фирменные цвета и щит Т-Банка — как есть. */
[data-theme="dark"] .pb-logo svg [fill="#333339" i],[data-theme="dark"] .pb-logo svg [fill="#0a2540" i],[data-theme="dark"] .pb-logo svg [fill="#0B2944" i]{fill:#F1F2F3}
[data-theme="dark"] .pb-logo[data-svc="tbank"] svg path[style="fill:#333333;"]{fill:#F1F2F3!important}

/* Строка знаков под полосой денег: группы с подписью, волосяная черта сверху. */
.pb-rail{display:flex;flex-wrap:wrap;align-items:center;gap:20px clamp(40px,6vw,96px);margin-top:clamp(48px,5vw,72px);padding-block:clamp(28px,3vw,40px);
  border-top:1px solid var(--line)}
.pb-rail-group{display:flex;align-items:center;gap:clamp(20px,2.4vw,36px)}
.pb-rail-cap{font-size:15px;line-height:1.3;font-weight:550;color:var(--ink-3);white-space:nowrap}

/* Гости и уборка: пара карточек, экран в оправе выходит из-под нижнего края. */
.pb-pair-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(16px,2vw,24px)}

/* Гости: поверх картотеки — карта лояльности заведения, чуть наискосок,
   как положенная на стол; при наведении приподнимается. */
.pb-card-guests{position:relative;background:radial-gradient(50% 55% at 20% 100%,color-mix(in srgb,#9A7A45 20%,transparent),transparent 72%),var(--bg-2)}
.pb-loyal{position:absolute;z-index:2;left:clamp(18px,2.4vw,36px);bottom:clamp(22px,2.6vw,40px);width:clamp(200px,19vw,280px);margin:0;
  transform:rotate(-6deg);transition:transform 520ms cubic-bezier(.32,.72,0,1)}
.pb-loyal .pb-img{filter:drop-shadow(0 28px 34px rgb(23 24 26 / .32)) drop-shadow(0 4px 10px rgb(23 24 26 / .18))}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .pb-card-guests:hover .pb-loyal{transform:rotate(-3deg) translateY(-8px)}
}
[data-theme="dark"] .pb-card-guests{background:radial-gradient(50% 55% at 20% 100%,color-mix(in srgb,#9A7A45 16%,transparent),transparent 72%),var(--bg-2)}
[data-theme="dark"] .pb-loyal .pb-img{filter:drop-shadow(0 28px 34px rgb(0 0 0 / .6)) drop-shadow(0 4px 10px rgb(0 0 0 / .4))}
.pb-card{display:grid;grid-template-rows:auto 1fr;gap:clamp(28px,3vw,40px);padding:clamp(28px,3.4vw,48px) 0 0 clamp(28px,3.4vw,48px);
  border-radius:28px;background:var(--bg-2);overflow:hidden;min-width:0;box-shadow:inset 0 0 0 1px rgb(23 24 26 / .04)}
.pb-card-text{display:grid;gap:10px;max-width:40ch;padding-right:clamp(28px,3.4vw,48px)}
.pb-card .pb-title{font-size:clamp(24px,2.2vw,30px)}
.pb-crop{align-self:end;padding:8px 0 0 8px;border-radius:22px 0 0 0;background:rgb(255 255 255 / .6);
  box-shadow:inset 1px 1px 0 rgb(255 255 255 / .9),inset 0 0 0 1px rgb(23 24 26 / .05),0 -20px 50px -30px rgb(23 24 26 / .25)}
.pb-crop .pb-img{border-radius:14px 0 0 0;box-shadow:0 0 0 1px rgb(23 24 26 / .07)}
[data-theme="dark"] .pb-card,[data-theme="dark"] .pb-money .pb-visual{box-shadow:inset 0 0 0 1px rgb(255 255 255 / .05)}
[data-theme="dark"] .pb-crop{background:rgb(255 255 255 / .05);box-shadow:inset 0 0 0 1px rgb(255 255 255 / .07)}

/* Планшет: экран под словами, во всю ширину. */
@media (max-width:1023px){
  .pb-in,.pb-desk .pb-in,.pb-money .pb-in{grid-template-columns:minmax(0,1fr)}
  .pb-text{max-width:60ch}
  .pb-desk .pb-visual{margin-right:calc(-1 * var(--gutter))}
  .pb-money .pb-visual{order:0}
  .pb-over{left:auto;right:calc(var(--gutter) - 8px);width:min(64%,460px)}
  .pb-dock{left:12px}
  .pb-pair-in{grid-template-columns:minmax(0,1fr)}
  .pb-phones{gap:clamp(14px,2.4vw,24px)}
  .pb-phone{--pw:clamp(180px,24.5vw,250px)}
  .pb-phone:nth-child(2){--pw:clamp(196px,26.5vw,270px)}
  .pb-money .pb-over{right:16px;bottom:-24px;width:min(30%,230px)}
}

/* Страница ниши: первый экран короче главного, поле то же; справа предмет ниши, он один в кадре. */
.hero.nh{min-height:0}
.nh-in{grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,64px);min-height:clamp(420px,calc(56 * var(--vh,1vh)),540px)}
.nh .hero-title{max-width:11.5em;text-wrap:balance}
.nh-thing{display:block;width:clamp(280px,32vw,460px);filter:drop-shadow(0 34px 40px rgb(60 20 10 / .34))}
.nh-thing img{display:block;width:100%;height:auto}

/* Телефон: вместо окон компьютера — настоящие экраны телефонной версии в корпусе, выходят из-за
   нижнего края полосы; шаги страницы гостя листаются, главная — первой и по центру. */
@media (max-width:767px){
  .pb-win,.pb-crop{display:none}
  .pb-crop.is-keep{display:block;margin-left:16px}
  .nh-in{grid-template-columns:minmax(0,1fr);gap:8px;justify-items:start;min-height:0}
  .nh-thing{width:min(64vw,260px);justify-self:center}
  .pb-mdev{--pw:min(72vw,300px);display:block;position:relative;height:calc(var(--pw) * 1.5);overflow:hidden;padding-top:3px}
  .pb-mdev .pb-phone{--pw:min(72vw,300px);margin-inline:auto;transform:none}
  .pb-mdev .pb-phone::after{display:none}

  .pb-desk{padding-block:56px 0}
  .pb-desk .pb-visual{margin-right:0;padding-bottom:0}
  .pb-over{left:50%;right:auto;bottom:18px;width:min(94%,420px);transform:translateX(-50%)}

  .pb-chats .pb-visual,.pb-money .pb-visual{padding:24px 0 0;border-radius:24px;overflow:hidden;background:var(--bg-2);box-shadow:inset 0 0 0 1px rgb(23 24 26 / .04)}
  [data-theme="dark"] .pb-chats .pb-visual,[data-theme="dark"] .pb-money .pb-visual{box-shadow:inset 0 0 0 1px rgb(255 255 255 / .05)}
  .pb-money .pb-visual{background:radial-gradient(70% 60% at 85% 100%,color-mix(in srgb,var(--crest) 16%,transparent),transparent 70%),var(--bg-2)}
  .pb-dock{left:50%;bottom:14px;transform:translateX(-50%)}
  .pb-dock .ch-app{width:44px;height:44px;padding:8px;border-radius:13px}
  .pb-money .pb-over{left:auto;right:10px;bottom:10px;width:43%;transform:rotate(3deg)}

  .pb-panel{border-radius:24px;padding-inline:0;justify-items:stretch;gap:28px}
  .pb-site-head{padding-inline:20px;justify-self:center}
  .pb-phones{--side:calc(50% - min(62vw,250px) / 2);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--side) 30px;scrollbar-width:none;justify-content:flex-start;align-items:flex-start}
  .pb-phones::-webkit-scrollbar{display:none}
  .pb-phones .pb-phone{--pw:min(62vw,250px);scroll-snap-align:center;transform:none}
  .pb-phones .pb-phone:nth-child(2){order:-1}
  .pb-pay{padding-inline:20px;width:auto}
  .pb-logos,.pb-pay .pb-logos{gap:18px}

  .pb-card{border-radius:24px;padding:28px 0 0;gap:22px}
  .pb-card-text{padding-inline:24px}
  .pb-card-guests .pb-loyal{left:12px;bottom:14px;width:54%}

  .pb-logo svg{height:20px}
  .pb-logo[data-svc="robokassa"] svg{height:13px}
  .pb-logo[data-svc="yookassa"] svg,.pb-logo[data-svc="tbank"] svg{height:20px}
  .pb-logo[data-svc="aqsi"] svg{height:27px}
  .pb-logo[data-svc="evotor"] svg{height:14px}
  .pb-logo[data-svc="atol"] svg{height:20px}
  .pb-chz{height:42px}
  .pb-rail{gap:20px}
  .pb-rail-group{flex-wrap:wrap;gap:12px 24px}
  .pb-rail-cap{width:100%}
}
/* Самые узкие телефоны: три знака оплаты в одну строку. */
@media (max-width:374px){
  .pb-pay .pb-logos{gap:12px;flex-wrap:nowrap}
  .pb-pay .pb-logo[data-svc="robokassa"] svg{height:11px}
  .pb-pay .pb-logo[data-svc="yookassa"] svg,.pb-pay .pb-logo[data-svc="tbank"] svg{height:17px}
}

/* ── настройка объекта ────────────────────────────────────────────── */
/* Красное поле, как у первого экрана (владелец 9.11). Слова строкой сверху, под ними настоящий
   мастер в натуральную величину: окно с шагами и лист с объектом на его краю. На телефоне — один лист. */
.ps-panel{position:relative;overflow:hidden;border-radius:28px;color:#fff;padding:clamp(40px,4.6vw,64px) clamp(20px,3.3vw,40px) clamp(32px,3.4vw,48px);background:var(--crest-field)}
.ps-panel .pb-title{color:#fff}
.ps-head{display:grid;gap:clamp(20px,2.2vw,30px);padding-inline:clamp(4px,1.2vw,16px)}
.ps-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,36px);margin:0}
.ps-points .pb-point{align-content:start}
.ps-points .pb-point p{color:rgb(255 255 255 / .86)}
.ps-points .pb-point::before{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B9502F' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat;box-shadow:0 2px 6px -2px rgb(60 16 6 / .5)}
/* Кадр шире панели на поле под тень (live-setup.mjs): 20 из 1128 точек с каждой стороны. */
.ps-stage{position:relative;margin:clamp(30px,3.2vw,44px) -1.773% -3.2%}
.ps-stage .pb-img{transition:visibility 0s linear 320ms}
.ps-stage .pb-live{background:none}
.ps-stage:has(.pb-live.is-on) .pb-img{visibility:hidden}
.ps-phone{display:none;margin:0}
@media (max-width:1023px){.ps-points{grid-template-columns:minmax(0,1fr);gap:18px}}
@media (max-width:767px){
  .ps-stage{display:none}
  .ps-phone{display:block;width:min(100%,340px);margin:26px auto 0;filter:drop-shadow(0 24px 30px rgb(58 16 6 / .42))}
}
