/* СВОЯ СЕКЦИЯ - кирпичи, из которых модель собирает секцию (SCRUM-543, 07.10.2026).

   Свой файл, не зеркало: макета кирпичей нет, их вид - продолжение шкалы и ролей сайта.
   Раскладку секции (сетка, отступы, размеры) даёт собранный CSS самой секции - он печатается
   `<style>` внутри её корня (`sc_site_custom_render()`); здесь только кирпичи.

   ЦВЕТ - ТОЛЬКО РОЛЯМИ ТЕМЫ (`--ls-ink`, `--ls-muted`, `--ls-acc`...), ШРИФТ - ГАРНИТУРАМИ
   ТЕМЫ. Поэтому смена темы перекрашивает и свою секцию, а собственного цвета у кирпича нет.

   УЗОСТЬ - ПО ШИРИНЕ БУМАГИ (`@container ls`), медиазапросов к окну нет - правило 4 свода
   раскладок. Скругление - лестницей Customize (`--ls-r-k`, `--ls-r-pill`). */

/* Своя стопка: `z-50` из CSS секции не поднимется над шапкой сайта и органами редактора. */
.ls-custom{position:relative;isolation:isolate;color:var(--ls-ink)}
/* Простые теги раскладки без поля браузера: Tailwind считает их обнулёнными, а у нас его
   preflight не грузится. Без этого сетка на `ul`/`ol` уезжала на 40px от заголовка, `figure` -
   на 40px с обеих сторон (замер SCRUM-550). `:where` - нулевая сила: классы секции перебивают. */
:where(.ls-custom) :where(ul,ol){margin:0;padding:0;list-style:none}
:where(.ls-custom) :where(figure,blockquote,p,dl,dd){margin:0}
.ls-cus__in{max-inline-size:var(--ls-max,1536px);margin-inline:auto;padding-inline:var(--ls-page-gut,24px);
  padding-block:80px}
/* Отступ - «обычный» или «больше», не плотнее остальных секций (правило 18 владельца). */
.ls-cus__in[data-pt="l"]{padding-block-start:120px}
.ls-cus__in[data-pb="l"]{padding-block-end:120px}

/* Ширина содержимого внутри общего контейнера. `full` выходит на всю бумагу - единицы
   контейнера считаются от `.ls-page`, а не от окна. */
.ls-cus-box{inline-size:100%}
.ls-cus-box[data-w="narrow"]{max-inline-size:760px;margin-inline:auto}
.ls-cus-box[data-w="wide"]{max-inline-size:none}
.ls-cus-box[data-w="full"]{inline-size:100cqi;margin-inline:calc(50% - 50cqi)}

/* --- Шкала текста --- */
.ls-cus-t{margin:0;font-family:var(--ls-text-face,inherit);line-height:1.5;overflow-wrap:break-word;text-wrap:pretty}
.ls-cus-t--display-xl,.ls-cus-t--display-lg,.ls-cus-t--display-md,.ls-cus-t--display-sm,
.ls-cus-t--heading-lg,.ls-cus-t--heading-md,.ls-cus-t--heading-sm{font-family:var(--ls-head-face,inherit);
  line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.ls-cus-t--display-xl{font-size:72px}
.ls-cus-t--display-lg{font-size:60px}
.ls-cus-t--display-md{font-size:48px}
.ls-cus-t--display-sm{font-size:40px}
.ls-cus-t--heading-lg{font-size:34px;line-height:1.15}
.ls-cus-t--heading-md{font-size:28px;line-height:1.2}
.ls-cus-t--heading-sm{font-size:24px;line-height:1.25}
.ls-cus-t--title-lg{font-size:21px;line-height:1.35;font-weight:600}
.ls-cus-t--title-md{font-size:18px;line-height:1.4;font-weight:600}
.ls-cus-t--body-lg{font-size:19px;line-height:1.6}
.ls-cus-t--body-md{font-size:17px;line-height:1.6}
.ls-cus-t--body-sm{font-size:15px;line-height:1.55}
.ls-cus-t--label-lg{font-size:15px;font-weight:600;line-height:1.3}
.ls-cus-t--label-md{font-size:13px;font-weight:600;line-height:1.3}
.ls-cus-t--label-sm{font-size:12px;font-weight:600;line-height:1.3;letter-spacing:.06em;text-transform:uppercase}

.ls-cus-c--ink{color:var(--ls-ink)}
.ls-cus-c--muted{color:var(--ls-muted,var(--ls-ink))}
.ls-cus-c--accent{color:var(--ls-acc)}
.ls-cus-c--on-accent{color:var(--ls-acc-on)}

.ls-cus-kick{margin:0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}

/* --- Пилюля --- */
/* Пилюля по своему тексту: в колонке гибкой коробки её растягивало на всю ширину. */
.ls-cus-pill{display:inline-flex;inline-size:fit-content;align-items:center;gap:6px;min-block-size:32px;padding:4px 14px;
  border-radius:var(--ls-r-pill,999px);font-size:14px;line-height:1.3;
  background:var(--ls-band);color:var(--ls-ink);border:1px solid transparent}
.ls-cus-pill[data-tone="accent"]{background:var(--ls-acc);color:var(--ls-acc-on)}
.ls-cus-pill[data-tone="outline"]{background:transparent;border-color:var(--ls-line)}
.ls-cus-pill[data-tone="plain"]{background:var(--ls-paper);border-color:var(--ls-line)}

/* --- Список с отметками --- */
.ls-cus-check{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.ls-cus-check__it{display:flex;align-items:flex-start;gap:10px;font-size:17px;line-height:1.5}
.ls-cus-check__it .sc-icon{flex:none;font-size:22px;line-height:1.15}

/* --- Картинка --- */
.ls-cus-img{position:relative;overflow:hidden;inline-size:100%;border-radius:calc(16px * var(--ls-r-k,1))}
.ls-cus-img > span{display:block;inline-size:100%;block-size:100%}
.ls-cus-img[data-ratio="1/1"]{aspect-ratio:1/1}
.ls-cus-img[data-ratio="4/3"]{aspect-ratio:4/3}
.ls-cus-img[data-ratio="3/2"]{aspect-ratio:3/2}
.ls-cus-img[data-ratio="16/9"]{aspect-ratio:16/9}
.ls-cus-img[data-ratio="21/9"]{aspect-ratio:21/9}
.ls-cus-img[data-ratio="3/4"]{aspect-ratio:3/4}
.ls-cus-img[data-ratio="2/3"]{aspect-ratio:2/3}
.ls-cus-img[data-ratio="4/5"]{aspect-ratio:4/5}
.ls-cus-img[data-ratio="auto"] img{block-size:auto}
.ls-cus-img[data-round="none"]{border-radius:0}
.ls-cus-img[data-round="sm"]{border-radius:calc(8px * var(--ls-r-k,1))}
.ls-cus-img[data-round="lg"]{border-radius:calc(28px * var(--ls-r-k,1))}
.ls-cus-img[data-round="full"]{border-radius:var(--ls-r-pill,999px)}
/* Снимок-подложка накрывает СВОЮ коробку, а её прочие дети лежат поверх (текст на фото).
   Коробку позиционирует правило, а не модель: без него снимок искал ближайшего
   позиционированного предка и накрывал всю карточку вместе с текстом (замер пробы 07.10.2026). */
.ls-cus-img[data-fill="true"]{position:absolute;inset:0;block-size:100%;border-radius:inherit;z-index:0}
:where(.ls-custom) :has(> .ls-cus-img[data-fill="true"]){position:relative}
:where(.ls-custom) :has(> .ls-cus-img[data-fill="true"]) > :not(.ls-cus-img){position:relative;z-index:1}

/* --- Значок --- */
.ls-cus-ic{display:inline-flex;align-items:center;justify-content:center;flex:none}
.ls-cus-ic .sc-icon{font-size:24px}
.ls-cus-ic[data-size="sm"] .sc-icon{font-size:18px}
.ls-cus-ic[data-size="lg"] .sc-icon{font-size:32px}
.ls-cus-ic[data-size="xl"] .sc-icon{font-size:44px}
.ls-cus-ic[data-box="soft"],.ls-cus-ic[data-box="solid"]{inline-size:48px;block-size:48px;border-radius:calc(14px * var(--ls-r-k,1));background:var(--ls-band)}
.ls-cus-ic[data-box="solid"]{background:var(--ls-acc);color:var(--ls-acc-on)}
.ls-cus-ic[data-size="lg"][data-box="soft"],.ls-cus-ic[data-size="lg"][data-box="solid"]{inline-size:60px;block-size:60px}

/* --- Знак дела --- */
.ls-cus-logo{display:inline-flex;align-items:center;block-size:40px}
.ls-cus-logo[data-size="sm"]{block-size:28px}
.ls-cus-logo[data-size="lg"]{block-size:56px}
.ls-cus-logo > span{display:block;block-size:100%}
.ls-cus-logo img{block-size:100%;inline-size:auto}
.ls-cus-logo__t{font-family:var(--ls-head-face,inherit);font-size:22px;font-weight:600}

/* --- Кнопки --- */
.ls-cus-btns{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ls-cus-btns[data-align="center"]{justify-content:center}
.ls-cus-btns[data-align="end"]{justify-content:flex-end}
.ls-cus-btns[data-align="stretch"] > *{flex:1 1 0}
.ls-cus-btns[data-align="stretch"] .ls-btn{inline-size:100%;justify-content:center}

/* --- Карточка --- */
.ls-cus-card{position:relative;border-radius:calc(16px * var(--ls-r-k,1));background:var(--ls-band);color:var(--ls-ink);padding:24px}
.ls-cus-card[data-tone="paper"]{background:var(--ls-paper)}
.ls-cus-card[data-tone="accent"]{background:var(--ls-acc);color:var(--ls-acc-on)}
.ls-cus-card[data-tone="ink"]{background:var(--ls-ink);color:var(--ls-paper)}
.ls-cus-card[data-tone="outline"]{background:transparent;border:1px solid var(--ls-line)}
.ls-cus-card[data-tone="plain"]{background:transparent}
/* На тёмной и цветной плоскости роли текста переносятся на её чернило, а не остаются тёмными. */
.ls-cus-card[data-tone="accent"] .ls-cus-c--ink,.ls-cus-card[data-tone="accent"] .ls-cus-c--muted{color:var(--ls-acc-on)}
.ls-cus-card[data-tone="ink"] .ls-cus-c--ink,.ls-cus-card[data-tone="ink"] .ls-cus-c--muted{color:var(--ls-paper)}
.ls-cus-card[data-pad="none"]{padding:0}
.ls-cus-card[data-pad="sm"]{padding:16px}
.ls-cus-card[data-pad="lg"]{padding:40px}
.ls-cus-card[data-round="none"]{border-radius:0}
.ls-cus-card[data-round="sm"]{border-radius:calc(8px * var(--ls-r-k,1))}
.ls-cus-card[data-round="lg"]{border-radius:calc(28px * var(--ls-r-k,1))}

.ls-cus-hr{inline-size:100%;margin:0;border:0;border-block-start:1px solid var(--ls-line)}
.ls-cus-hr[data-tone="accent"]{border-block-start:2px solid var(--ls-acc)}

/* --- Вопросы и ответы --- */
.ls-cus-acc{display:flex;flex-direction:column}
.ls-cus-acc__it{border-block-end:1px solid var(--ls-line)}
.ls-cus-acc__q{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:20px;
  cursor:pointer;list-style:none;font-size:18px;font-weight:600}
.ls-cus-acc__q::-webkit-details-marker{display:none}
.ls-cus-acc__q .sc-icon{flex:none;transition:transform var(--ls-dur-base,220ms) var(--ls-ease,ease)}
.ls-cus-acc__it[open] .ls-cus-acc__q .sc-icon{transform:rotate(180deg)}
.ls-cus-acc__a{padding-block-end:20px;color:var(--ls-muted,var(--ls-ink));font-size:16px;line-height:1.6}
.ls-cus-acc[data-look="cards"]{gap:12px}
.ls-cus-acc[data-look="cards"] .ls-cus-acc__it{border:0;border-radius:calc(14px * var(--ls-r-k,1));background:var(--ls-band);padding-inline:20px}

/* --- Вкладки --- */
.ls-cus-tabs__row{display:flex;flex-wrap:wrap;gap:8px;margin-block-end:24px}
.ls-cus-tabs__h{appearance:none;border:1px solid var(--ls-line);background:transparent;color:var(--ls-ink);
  min-block-size:44px;padding:0 18px;border-radius:var(--ls-r-pill,999px);font:inherit;font-size:15px;cursor:pointer}
.ls-cus-tabs__h[aria-selected="true"]{background:var(--ls-ink);color:var(--ls-paper);border-color:var(--ls-ink)}
.ls-cus-tabs[data-look="underline"] .ls-cus-tabs__row{gap:24px;border-block-end:1px solid var(--ls-line)}
.ls-cus-tabs[data-look="underline"] .ls-cus-tabs__h{border:0;border-radius:0;padding:0 0 12px;border-block-end:2px solid transparent}
.ls-cus-tabs[data-look="underline"] .ls-cus-tabs__h[aria-selected="true"]{background:transparent;color:var(--ls-ink);border-block-end-color:var(--ls-acc)}
.ls-cus-tabs__h:focus-visible:not(.sc-se__edit){outline:var(--ls-focus-w,2px) solid currentColor;outline-offset:3px}
.ls-cus-tabs__p{display:grid;gap:20px}
.ls-cus-tabs__p[hidden]{display:none}
.ls-cus-tabs__t{font-size:17px;line-height:1.6}

/* --- Лента карточек --- */
.ls-cus-car{position:relative;--ls-cus-gap:20px}
.ls-cus-car__track{display:grid;grid-auto-flow:column;gap:var(--ls-cus-gap);margin:0;padding:0;list-style:none;
  grid-auto-columns:calc((100% - (var(--ls-cus-per,3) - 1) * var(--ls-cus-gap)) / var(--ls-cus-per,3));
  overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.ls-cus-car__track::-webkit-scrollbar{display:none}
.ls-cus-car__it{display:flex;flex-direction:column;gap:12px;scroll-snap-align:start}
.ls-cus-car__nav{display:flex;justify-content:flex-end;gap:8px;margin-block-start:16px}
.ls-cus-car__b{appearance:none;inline-size:44px;block-size:44px;border-radius:var(--ls-r-pill,999px);
  border:1px solid var(--ls-line);background:transparent;color:var(--ls-ink);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center}
.ls-cus-car__b:focus-visible{outline:var(--ls-focus-w,2px) solid currentColor;outline-offset:3px}
[dir="rtl"] .ls-cus-car__b .sc-icon{transform:scaleX(-1)} /* rtl-ok: стрелки ленты смотрят по ходу чтения */

/* --- Показатели --- */
.ls-cus-stats{display:grid;grid-template-columns:repeat(var(--ls-cus-cols,3),minmax(0,1fr));gap:32px}
.ls-cus-stats[data-align="center"]{text-align:center}
.ls-cus-stat__v{margin:0;font-family:var(--ls-head-face,inherit);font-size:48px;line-height:1.05;letter-spacing:-.02em}
.ls-cus-stat__l{margin:6px 0 0;color:var(--ls-muted,var(--ls-ink));font-size:15px}

.ls-cus-rate{display:inline-flex;gap:2px;color:var(--ls-acc)}
.ls-cus-rate .sc-icon{font-size:20px;font-variation-settings:'FILL' 1}
.ls-cus-rate .sc-icon[data-off]{opacity:.3}

/* --- Отзыв --- */
.ls-cus-quote{display:flex;flex-direction:column;gap:20px;margin:0}
.ls-cus-quote[data-look="card"]{padding:28px;border-radius:calc(16px * var(--ls-r-k,1));background:var(--ls-band)}
.ls-cus-quote__t{margin:0;font-size:19px;line-height:1.55}
.ls-cus-quote__by{display:flex;align-items:center;gap:12px}
.ls-cus-quote__pic{flex:none;inline-size:44px;block-size:44px;border-radius:var(--ls-r-pill,999px);overflow:hidden}
.ls-cus-quote__pic > span{display:block;inline-size:100%;block-size:100%}
.ls-cus-quote__who{display:flex;flex-direction:column}
.ls-cus-quote__n{font-weight:600}
.ls-cus-quote__r{color:var(--ls-muted,var(--ls-ink));font-size:14px}

/* --- Тариф --- */
.ls-cus-price{display:flex;flex-direction:column;gap:16px;padding:28px;border-radius:calc(16px * var(--ls-r-k,1));
  border:1px solid var(--ls-line);background:var(--ls-paper)}
.ls-cus-price[data-featured="true"]{border:2px solid var(--ls-acc)}
.ls-cus-price__n{margin:0;font-size:18px;font-weight:600}
.ls-cus-price__row{display:flex;align-items:baseline;gap:6px;margin:0}
.ls-cus-price__v{font-family:var(--ls-head-face,inherit);font-size:44px;line-height:1}
.ls-cus-price__per{color:var(--ls-muted,var(--ls-ink));font-size:15px}
.ls-cus-price__d{margin:0;color:var(--ls-muted,var(--ls-ink));font-size:15px}
.ls-cus-price__f{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;font-size:15px}
.ls-cus-price__f li{display:flex;gap:8px;align-items:flex-start}
.ls-cus-price .ls-btn{inline-size:100%;justify-content:center}

.ls-cus-map{position:relative;overflow:hidden;border-radius:calc(16px * var(--ls-r-k,1));aspect-ratio:4/3}
.ls-cus-map[data-ratio="1/1"]{aspect-ratio:1/1}
.ls-cus-map[data-ratio="16/9"]{aspect-ratio:16/9}
.ls-cus-map[data-ratio="3/4"]{aspect-ratio:3/4}
.ls-cus-map iframe{position:absolute;inset:0;inline-size:100%;block-size:100%;border:0}

@container ls (max-width:700px){
  .ls-cus__in{padding-block:56px}
  .ls-cus__in[data-pt="l"]{padding-block-start:80px}
  .ls-cus__in[data-pb="l"]{padding-block-end:80px}
  .ls-cus-t--display-xl{font-size:44px}
  .ls-cus-t--display-lg{font-size:40px}
  .ls-cus-t--display-md{font-size:34px}
  .ls-cus-t--display-sm{font-size:30px}
  .ls-cus-t--heading-lg{font-size:26px}
  .ls-cus-t--heading-md{font-size:24px}
  .ls-cus-t--heading-sm{font-size:21px}
  .ls-cus-t--title-lg{font-size:19px}
  .ls-cus-t--body-lg{font-size:17px}
  .ls-cus-t--body-md{font-size:16px}
  .ls-cus-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .ls-cus-stat__v{font-size:36px}
  .ls-cus-car__track{grid-auto-columns:85%}
  .ls-cus-card[data-pad="lg"]{padding:24px}
}

/* --- Чертёж сборки: место будущей секции, только в редакторе (SCRUM-543, слой 4) ---
   Каркас серыми полосами и синие ручки углов - «чертёж собирается», как у эталонного
   конструктора. Синий - цвет органов правки редактора (`--sc-accent`), а не роль сайта: чертёж
   принадлежит редактору, посетитель его не видит никогда (заглушка у посетителя не печатается). */
.ls-cus-wait{position:relative;display:grid;gap:20px;padding:28px;
  border:1px dashed var(--sc-accent,#3d63dd);border-radius:calc(16px * var(--ls-r-k,1));
  background:color-mix(in oklab,var(--sc-accent,#3d63dd) 4%,transparent)}
.ls-cus-wait::before,.ls-cus-wait::after{content:"";position:absolute;inline-size:10px;block-size:10px;
  /* kit-free: ручка угла - орган редактора, а не угол сайта; лестница Roundness её не касается */
  border:2px solid var(--sc-accent,#3d63dd);background:var(--ls-paper,#fff);border-radius:2px}
.ls-cus-wait::before{inset-block-start:-6px;inset-inline-start:-6px}
.ls-cus-wait::after{inset-block-end:-6px;inset-inline-end:-6px}
.ls-cus-wait__bp{display:grid;gap:12px}
/* Ряд плиток - тоже `span` каркаса, но полосой он не красится: иначе сетка теряла `grid` и
   три плитки слипались в один высокий блок (замер в редакторе 07.10.2026). */
.ls-cus-wait__bp > span:not(.ls-cus-wait__g),.ls-cus-wait__g i{display:block;border-radius:calc(8px * var(--ls-r-k,1));
  /* rtl-ok: мерцание каркаса декоративно, сторона хода блика смысла не несёт */
  background:linear-gradient(90deg,color-mix(in oklab,var(--ls-ink,#111) 7%,transparent) 0%,color-mix(in oklab,var(--ls-ink,#111) 13%,transparent) 50%,color-mix(in oklab,var(--ls-ink,#111) 7%,transparent) 100%);
  background-size:200% 100%;animation:ls-cus-shine 1.6s linear infinite}
.ls-cus-wait__k{inline-size:96px;block-size:12px}
.ls-cus-wait__h{inline-size:min(520px,70%);block-size:30px}
.ls-cus-wait__l{inline-size:min(640px,90%);block-size:14px}
.ls-cus-wait__l--s{inline-size:min(380px,55%)}
.ls-cus-wait__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-block-start:8px}
.ls-cus-wait__g i{block-size:120px}
.ls-cus-wait__bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;line-height:1.4;color:var(--ls-ink,#111)}
.ls-cus-wait__dot{inline-size:8px;block-size:8px;border-radius:50%;background:var(--sc-accent,#3d63dd);animation:ls-cus-pulse 1.2s ease-in-out infinite}
.ls-cus-wait__t{flex:1 1 auto}
.ls-cus-wait__stop{min-block-size:32px;padding:4px 14px;border:1px solid var(--ls-line,#ccc);border-radius:var(--ls-r-pill,999px);
  background:var(--ls-paper,#fff);color:var(--ls-ink,#111);font:inherit;cursor:pointer}
.ls-cus-wait__stop:hover{border-color:var(--ls-ink,#111)}
.ls-cus-wait__stop:focus-visible{outline:2px solid var(--sc-accent,#3d63dd);outline-offset:2px}
.ls-cus-wait[data-state="failed"]{border-style:solid;border-color:var(--ls-line,#ccc);background:transparent}
.ls-cus-wait[data-state="failed"] .ls-cus-wait__bp{display:none}
.ls-cus-wait[data-state="failed"] .ls-cus-wait__dot{background:var(--ls-ink,#111);animation:none}
@container ls (max-width:700px){
  .ls-cus-wait{padding:20px}
  .ls-cus-wait__g{grid-template-columns:1fr}
  .ls-cus-wait__g i:nth-child(n+2){display:none}
}
/* rtl-ok: ход блика по ширине полосы, сторона декоративна */
@keyframes ls-cus-shine{from{background-position:100% 0}to{background-position:-100% 0}}
@keyframes ls-cus-pulse{50%{opacity:.35}}

@media (prefers-reduced-motion:reduce){
  .ls-cus-acc__q .sc-icon{transition:none}
  .ls-cus-wait__bp > span:not(.ls-cus-wait__g),.ls-cus-wait__g i,.ls-cus-wait__dot{animation:none}
}
html.atx-rm .ls-cus-acc__q .sc-icon{transition:none}
html.atx-rm .ls-cus-wait__bp > span:not(.ls-cus-wait__g),html.atx-rm .ls-cus-wait__g i,html.atx-rm .ls-cus-wait__dot{animation:none}
