/* ============================================================
   LMSka — страница «Возможности».
   Подключается ПОСЛЕ style.css, использует те же токены:
   белый фон, единственный акцент #11B481, радиусы 20/12/999.
   ============================================================ */

/* ---------- Якорная навигация по модулям ---------- */
.qnav {
  border-block: 1px solid var(--line);
  background: #fff;
}
.qnav__in {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.qnav__grp {
  padding: 26px 26px 26px 0;
  border-inline-end: 1px solid var(--line);
}
.qnav__grp:last-child { border-inline-end: 0; }
.qnav__grp:not(:first-child) { padding-inline-start: 26px; }
.qnav__grp b {
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: 14px;
}
.qnav__grp ul { display: grid; gap: 8px; }
.qnav__grp a {
  font-size: 15px;
  font-weight: 550;
  color: var(--ink-2);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  transition: color 160ms var(--ease-out), gap 160ms var(--ease-out);
}
.qnav__grp a .ico { font-size: 17px; color: var(--brand); }
@media (hover: hover) and (pointer: fine) {
  .qnav__grp a:hover { color: var(--brand-700); gap: 11px; }
}

@media (max-width: 940px) {
  .qnav__in { grid-template-columns: 1fr 1fr; }
  .qnav__grp { padding: 22px 18px; border-block-end: 1px solid var(--line); }
  .qnav__grp:not(:first-child) { padding-inline-start: 18px; }
  .qnav__grp:nth-child(2n) { border-inline-end: 0; }
  .qnav__grp:nth-last-child(-n+2) { border-block-end: 0; }
}
@media (max-width: 560px) {
  .qnav__in { grid-template-columns: 1fr; }
  .qnav__grp { border-inline-end: 0; }
  .qnav__grp:last-child { border-block-end: 0; }
}

/* ---------- Чем отличаемся ---------- */
.diff {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
}
.diff__item {
  grid-column: span 2;
  padding: 30px 28px 28px;
  border-radius: var(--r-card);
  border: 1px solid var(--line);
  background: #fff;
  display: flex;
  flex-direction: column;
}
.diff__item--hero {
  grid-column: span 6;
  background:
    radial-gradient(620px 300px at 6% 0%, rgba(17, 180, 129, .12), transparent 68%),
    var(--brand-50);
  border-color: var(--brand-100);
  padding: 40px 38px 36px;
}
.diff__item--half { grid-column: span 3; }
/* Второй по значимости дифференциатор: та же ширина, что у hero,
   но белый фон — чтобы два больших блока подряд не читались одинаково. */
.diff__item--wide {
  grid-column: span 6;
  border-color: var(--brand-100);
  box-shadow: var(--sh-2);
  padding: 38px 36px 34px;
}
.diff__item--wide h3 { font-size: clamp(21px, 2.2vw, 26px); margin-bottom: 12px; }
.diff__item--wide p { font-size: 16.5px; max-width: 68ch; }
.diff__item--wide .diff__vs { border-top-color: var(--brand-100); max-width: 68ch; }
.diff__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 20px 0 4px;
}
.diff__mini {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 16px 18px;
  border-radius: var(--r-control);
  background: var(--brand-50);
}
.diff__mini .ico { font-size: 21px; color: var(--brand-700); margin-top: 1px; flex: none; }
.diff__mini b { display: block; font-size: 15.5px; margin-bottom: 4px; }
.diff__mini span { font-size: 14.3px; color: var(--ink-2); line-height: 1.5; display: block; }
.diff__item .ico-badge { margin-bottom: 20px; }
.diff__item--hero .ico-badge { background: #fff; }
.diff__item h3 { font-size: 19px; margin-bottom: 10px; }
.diff__item--hero h3 { font-size: clamp(22px, 2.4vw, 28px); margin-bottom: 12px; }
.diff__item p { font-size: 15.5px; color: var(--ink-2); }
.diff__item--hero p { font-size: 17px; max-width: 62ch; }
.diff__vs {
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px dashed #D7DEDB;
  font-size: 14px;
  color: var(--ink-3);
  line-height: 1.45;
}
.diff__vs b { color: var(--ink-2); font-weight: 650; }
.diff__item--hero .diff__vs { border-top-color: var(--brand-100); max-width: 62ch; }

@media (max-width: 1000px) {
  .diff { grid-template-columns: repeat(2, 1fr); }
  .diff__item, .diff__item--half { grid-column: span 1; }
  .diff__item--hero, .diff__item--wide { grid-column: span 2; }
}
@media (max-width: 640px) {
  .diff { grid-template-columns: 1fr; }
  .diff__item--hero,
  .diff__item--wide { grid-column: span 1; padding: 30px 24px 28px; }
  .diff__split { grid-template-columns: 1fr; }
}

/* ---------- Цепочка модулей ---------- */
.chain .flow { grid-template-columns: repeat(6, 1fr); }
@media (max-width: 1000px) { .chain .flow { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 620px)  { .chain .flow { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Группы возможностей ---------- */
.grp { margin-bottom: 30px; }
.grp:not(:first-of-type) { margin-top: 72px; }
.grp__row {
  display: flex;
  align-items: baseline;
  gap: 16px;
  flex-wrap: wrap;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--brand-100);
}
.grp__row h3 { font-size: clamp(21px, 2.2vw, 27px); }
.grp__count {
  font-size: 14px;
  font-weight: 650;
  color: var(--brand-700);
  background: var(--brand-50);
  border-radius: var(--r-pill);
  padding: 5px 13px;
}
.grp__note { font-size: 15.5px; color: var(--ink-2); margin-top: 14px; max-width: 70ch; }

/* ---------- Карточка возможности ---------- */
.feats { display: grid; gap: 20px; }

.feat {
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  background: #fff;
  overflow: hidden;
  scroll-margin-top: 96px;
  transition: border-color 260ms var(--ease-out), box-shadow 260ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .feat:hover { border-color: #D6DEDB; box-shadow: var(--sh-1); }
}

.feat__top { padding: 32px 34px 0; }

/* Островок-саммари. Это бейдж, а не надзаголовок:
   заливка, обычный регистр, без разрядки. */
.islet {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 14px 7px 11px;
  border-radius: var(--r-pill);
  background: var(--brand);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 16px;
  box-shadow: var(--sh-brand);
}
.islet .ico { font-size: 18px; }

.feat__top h3 { margin-bottom: 10px; }
.feat__lead { font-size: 16.5px; color: var(--ink-2); max-width: 70ch; }

.feat__body {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 40px;
  align-items: center;
  padding: 28px 34px 30px;
}
.feat--rev .feat__body { grid-template-columns: 1.1fr 1fr; }
.feat--rev .feat__shot { order: -1; }

.feat__list { display: grid; gap: 13px; }
.feat__list li {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  font-size: 15.5px;
  color: var(--ink-2);
  line-height: 1.5;
}
.feat__list .ico { font-size: 20px; color: var(--brand); margin-top: 2px; flex: none; }

.feat__shot {
  border-radius: var(--r-control);
  border: 1px solid var(--line);
  background: var(--surface);
  padding: 14px;
}
.feat__shot img { border-radius: 8px; width: 100%; }

/* Мини-кейс */
.minicase {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 22px 34px 26px;
  background: var(--brand-tint);
  border-top: 1px solid var(--brand-100);
}
.minicase .ico {
  font-size: 22px;
  color: var(--brand-700);
  margin-top: 1px;
  flex: none;
}
.minicase b {
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--brand-700);
  margin-bottom: 6px;
}
.minicase p { font-size: 15.5px; color: var(--ink-2); line-height: 1.55; }

@media (max-width: 900px) {
  .feat__top { padding: 26px 22px 0; }
  .feat__body,
  .feat--rev .feat__body { grid-template-columns: 1fr; gap: 24px; padding: 22px 22px 24px; }
  .feat--rev .feat__shot { order: 0; }
  .minicase { padding: 20px 22px 24px; }
}

/* ---------- Итоговая полоса «всё включено» ---------- */
.incl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-radius: var(--r-card);
  border: 1px solid var(--brand-100);
  background: var(--brand-50);
  overflow: hidden;
}
.incl__cell {
  padding: 30px 30px;
  border-inline-end: 1px solid var(--brand-100);
}
.incl__cell:last-child { border-inline-end: 0; }
.incl__cell .ico { font-size: 26px; color: var(--brand-700); display: block; margin-bottom: 14px; }
.incl__cell b { display: block; font-size: 17px; margin-bottom: 7px; }
.incl__cell p { font-size: 15px; color: var(--ink-2); }

@media (max-width: 860px) {
  .incl { grid-template-columns: 1fr; }
  .incl__cell { border-inline-end: 0; border-block-end: 1px solid var(--brand-100); }
  .incl__cell:last-child { border-block-end: 0; }
}

/* ---------- Хлебные крошки ---------- */
.crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-top: 22px;
  font-size: 14px;
  color: var(--ink-3);
}
.crumbs a { color: var(--ink-3); transition: color 160ms var(--ease-out); }
.crumbs a:hover { color: var(--brand-700); }
.crumbs .ico { font-size: 17px; opacity: .55; }
