/* ==========================================================================
   ШАБЛОН cablecar — банковский скелет сети (нейтральная палитра, плейсхолдеры)
   --------------------------------------------------------------------------
   ПАРАДИГМА
   Канатная дорога, развёрнутая на вертикаль документа:
     · НЕСУЩИЙ ТРОС .ccrope — одна линия от первого пикселя до подвала.
       Он absolute внутри .ccwrap (не fixed): трос обязан ехать вместе с
       контентом, иначе опоры разъедутся с секциями на длинной странице;
     · ОПОРА-МАЧТА .ccpylon — решётчатая мачта между секциями, inline-SVG:
       башмак у края экрана, две сходящиеся ноги, седло с роликом на тросе
       и вылет к колонке контента;
     · КАБИНА .cccab — секция висит на тросе: подвес .cccab__hang (каретка
       .cccab__grip + тяга .cccab__arm) слева, корпус .cccab__body справа,
       номер .cccab__no в шапке корпуса;
     · ПРОФИЛЬ ВЫСОТЫ .ccprofile — фиксированная полоса справа с ломаной
       линией рельефа и точками станций.
   Трос, мачты, профиль и каретки нарисованы CSS-градиентами и inline-SVG.
   Растровых картинок в шаблоне нет и добавлять их не нужно.

   NAMESPACE
   Все классы на .cc — .ccsky, .ccrope(+__aux), .ccprofile, .ccwrap, .cchead,
   .ccmark, .ccstations, .cchero, .ccdock, .cccta/.ccbtn, .cckpi, .ccpylon,
   .cccab, .ccgrid/.cccard, .ccscroll/.cctbl, .ccsect, .ccrev, .ccfaq,
   .ccnote, .ccfoot, акценты .ccem/.ccem2/.ccnum. Служебные классы внутри SVG
   тоже свои: .ccp-b/.ccp-s/.ccp-w (мачта), .ccg-w/.ccg-b (каретка).

   ПОРЯДОК БЛОКОВ (см. cablecar.sample.html)
   .ccsky → .ccprofile → .ccwrap[ .ccrope → .cchead → .cchero (H1 + лид +
   2 CTA + .cckpi) → <main>( .ccpylon → .cccab ) x N → .ccpylon → .ccnote →
   .ccfoot ].
   Мачта ставится ПЕРЕД каждой кабиной и ещё одна — перед заметкой автора;
   две кабины подряд без мачты читаются как обрыв линии.

   ГЕОМЕТРИЯ (три числа держат всю раскладку, менять их только тройкой)
     --cc-pad     отступ колонки контента от края обёртки (150px);
     --cc-rope-x  левый край троса внутри обёртки (64px), центр = +6px;
     .cccab__hang left:-100px / .ccpylon__f left:-142px — оба считаются
                  от левой кромки колонки контента.
   Центр троса внутри подвеса = --cc-pad − 100 + отступ каретки; внутри
   мачты — x=62 её viewBox. Сдвинули --cc-pad или --cc-rope-x — пересчитайте
   left у .cccab__hang, .cccab__grip, .cccab__arm и .ccpylon__f, иначе
   каретки повиснут в воздухе рядом с тросом.

   АДАПТИВ
   ≤1340px — снимается профиль высоты (он fixed у правого края и на узком
   экране налезал бы на колонку). ≤1080px — колонка и вылет мачты укорачиваются.
   ≤900px — сетки в 2 колонки. ≤700px — линия схлопывается: трос уезжает к
   краю (12px), подвес сжимается до каретки, мачты становятся низкими, кабины
   идут одной вертикальной цепочкой, кнопки на всю ширину.
   Горизонтального скролла нет ни на одной ширине: у body overflow-x:hidden,
   широкие таблицы лежат в .ccscroll{overflow-x:auto}, у всех гридов
   minmax(0,1fr), у ячеек min-width:0.

   ЛОВУШКИ ПЕРЕКРАСКИ
   1. --cc-rope / --cc-rope2 / --cc-steel — это МЕТАЛЛ, а не акцент. Красить
      их в hue сайта нельзя: трос перестаёт читаться как трос и сливается с
      кнопками. Держите их серыми, насыщенность до 8%.
   2. Часть цветов написана литеральными hsl() ВНЕ :root — фон .ccsky,
      градиенты .cchero / .cccab__body / .ccbtn--go, подложки .cccard,
      .ccsect__i, .ccrev__i, .ccfaq details, шапка и зебра .cctbl, седло
      .ccp-s, плашка .cccab__no. Браузер не умеет менять alpha у var(), поэтому
      их не вынесли в переменные. Ищите по строке "hsl(" вне :root и правьте
      hue руками, иначе сайт останется двухцветным: новый акцент + старый фон.
   3. .cccab__no и .ccbtn--go кладут ТЁМНЫЙ текст на акцент. При светлом или
      малонасыщенном акценте контраст рушится — там же меняйте цвет текста.
      Мерить пикселями скриншота (порог 3.0, цель >=4.5), обход по CSS-предкам
      врёт на полупрозрачных подложках.
   3a. Селекторы кнопок держать на .cccta/.cccab + класс (0-2-0). Опустите их до
      голого .ccbtn--go — и правило .cccab a{color} перекрасит надпись CTA.
   4. Светлая тема: --cc-bg светлее 60% требует переписать .ccsky (три
      градиента рассчитаны на тёмный низ), тень .ccbtn--go и штриховку троса
      .ccrope::after — на светлом она превращается в чёрную рябь.
   5. У КАЖДОГО font-family обязателен фолбэк-стек. Голое имя вебшрифта роняет
      страницу в Times New Roman и ломает вертикальную ритмику подвесов.

   ПЛЕЙСХОЛДЕРЫ
   {{FONT_DISPLAY}} — заголовочная гарнитура, {{FONT_BODY}} — текстовая.
   Обе обязаны содержать кириллицу (см. templates/README.md).
   ========================================================================== */

:root{
  /* ЕДИНСТВЕННЫЕ два числа, которые меняет сайт: hue акцента и hue второго акцента.
     Ниже — нейтральный графит + песок; подставьте свои и пройдитесь по ловушке №2. */
  --cc-h:205;
  --cc-h2:32;

  --cc-bg:hsl(210 8% 10%);
  --cc-bg2:hsl(210 8% 13%);
  --cc-panel:hsl(210 7% 16%);
  --cc-panel2:hsl(210 7% 19%);
  --cc-line:hsl(210 6% 30%);
  --cc-ink:hsl(40 6% 93%);
  --cc-mut:hsl(40 4% 72%);
  --cc-dim:hsl(40 3% 56%);

  --cc-acc:hsl(205 10% 64%);
  --cc-acc-d:hsl(205 11% 40%);
  --cc-acc-s:hsl(205 10% 64% / .14);
  --cc-acc2:hsl(32 14% 66%);
  --cc-acc2-d:hsl(32 12% 30%);
  --cc-acc2-s:hsl(32 14% 66% / .14);
  --cc-warn:hsl(14 34% 60%);

  /* трос и подвес: цвет всегда парой с alpha — см. ловушку 1 */
  --cc-rope:hsl(210 7% 46%);
  --cc-rope2:hsl(210 7% 32%);
  --cc-steel:hsl(210 7% 40%);

  --cc-fd:"{{FONT_DISPLAY}}",system-ui,"Segoe UI",Arial,sans-serif;
  --cc-fb:"{{FONT_BODY}}",system-ui,"Segoe UI",Arial,sans-serif;

  --cc-rad:12px;
  --cc-max:1180px;
  --cc-pad:150px;   /* отступ колонки контента от левого края обёртки */
  --cc-rope-x:64px; /* левый край троса внутри обёртки */
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--cc-bg);
  color:var(--cc-ink);
  font-family:var(--cc-fb);
  font-size:17px;
  line-height:1.66;
  overflow-x:hidden;
}
img,svg{max-width:100%;height:auto}
a{color:var(--cc-acc2);text-decoration:none}
a:hover{text-decoration:underline}
p{margin:0 0 13px}
ul{margin:0 0 13px;padding-left:19px}
li{margin:0 0 7px}

.ccem{color:var(--cc-acc);font-weight:600}
.ccem2{color:var(--cc-acc2);font-weight:600}
.ccnum{font-family:var(--cc-fd);font-weight:700;font-variant-numeric:tabular-nums;color:var(--cc-ink)}

/* ---------- фон: склон, дымка, засветка ---------- */
.ccsky{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(880px 460px at 78% -8%,hsl(205 12% 30% / .20),transparent 70%),
    radial-gradient(760px 520px at 8% 22%,hsl(32 12% 34% / .17),transparent 72%),
    linear-gradient(180deg,hsl(210 8% 10%) 0%,hsl(210 8% 8%) 46%,hsl(210 8% 6%) 100%);
}
.ccsky::after{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(0deg,hsl(210 8% 60% / .045) 0 1px,transparent 1px 74px);
}

/* ---------- несущий трос: одна линия через весь документ ---------- */
.ccrope{
  position:absolute;left:var(--cc-rope-x);top:0;bottom:0;width:12px;z-index:1;
  pointer-events:none;
}
.ccrope::before{
  content:"";position:absolute;left:3px;top:0;bottom:0;width:6px;
  background:
    linear-gradient(90deg,var(--cc-rope2) 0 1px,var(--cc-rope) 1px 4px,var(--cc-rope2) 4px 6px);
}
/* свивка прядей — диагональная насечка вдоль троса */
.ccrope::after{
  content:"";position:absolute;left:3px;top:0;bottom:0;width:6px;
  background:repeating-linear-gradient(24deg,
    hsl(210 8% 66% / .55) 0 1px,transparent 1px 5px);
  opacity:.7;
}
/* тяговый канат — тоньше и тусклее, идёт параллельно */
.ccrope__aux{
  position:absolute;left:-16px;top:0;bottom:0;width:2px;
  background:linear-gradient(180deg,transparent 0,var(--cc-rope2) 4%,var(--cc-rope2) 96%,transparent 100%);
  opacity:.75;
}

/* ---------- профиль высоты сбоку ---------- */
.ccprofile{display:none}
@media (min-width:1340px){
  .ccprofile{
    display:block;position:fixed;right:0;top:0;height:100vh;width:104px;z-index:2;
    pointer-events:none;
    background:linear-gradient(90deg,transparent,hsl(210 8% 6% / .78) 38%);
    border-left:1px solid hsl(210 8% 27% / .6);
  }
  .ccprofile__svg{position:absolute;inset:0;width:104px;height:100vh}
  .ccprofile__cap{
    position:absolute;top:14px;left:0;right:0;text-align:center;
    font-family:var(--cc-fd);font-size:10px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--cc-dim);
  }
}

/* ---------- обёртка ---------- */
.ccwrap{
  position:relative;z-index:3;
  max-width:var(--cc-max);
  margin:0 auto;
  padding:0 26px 0 var(--cc-pad);
}

/* ---------- шапка ---------- */
.cchead{padding:20px 0 8px}
.cchead__in{display:flex;align-items:center;gap:18px;flex-wrap:wrap;min-width:0}
.ccmark{display:flex;align-items:center;gap:11px;min-width:0}
.ccmark__ic{width:38px;height:38px;flex:0 0 38px}
.ccmark__t{font-family:var(--cc-fd);font-weight:700;font-size:21px;letter-spacing:.01em;line-height:1.1}
.ccmark__s{display:block;font-family:var(--cc-fb);font-weight:400;font-size:11px;
  letter-spacing:.19em;text-transform:uppercase;color:var(--cc-dim)}
.ccstations{display:flex;gap:7px;flex-wrap:wrap;margin-left:auto;min-width:0}
.ccstations a{
  font-size:12.5px;color:var(--cc-mut);border:1px solid var(--cc-line);
  border-radius:999px;padding:5px 12px;background:hsl(210 8% 14% / .8);
}
.ccstations a:hover{color:var(--cc-ink);border-color:var(--cc-acc-d);text-decoration:none}

/* ---------- герой ---------- */
.cchero{
  position:relative;margin:16px 0 0;
  border:1px solid var(--cc-line);border-radius:var(--cc-rad);
  background:linear-gradient(160deg,hsl(210 8% 16%) 0%,hsl(210 8% 11%) 62%);
  padding:30px 30px 26px;
  min-width:0;
}
.cchero::before{
  content:"";position:absolute;left:-1px;top:26px;bottom:26px;width:4px;
  border-radius:4px 0 0 4px;
  background:linear-gradient(180deg,var(--cc-acc),var(--cc-acc2));
}
.ccdock{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--cc-fd);font-size:11px;letter-spacing:.17em;text-transform:uppercase;
  color:var(--cc-acc);border:1px solid var(--cc-acc-d);border-radius:999px;
  padding:5px 13px;background:var(--cc-acc-s);margin:0 0 15px;
}
.cchero h1{
  font-family:var(--cc-fd);font-weight:700;line-height:1.14;letter-spacing:-.01em;
  font-size:clamp(27px,4.1vw,42px);margin:0 0 15px;
}
.cchero__lead{font-size:17.5px;color:var(--cc-mut);max-width:62ch;margin:0 0 20px}

.cccta{display:flex;gap:13px;flex-wrap:wrap;margin:0 0 24px}
.ccbtn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:52px;padding:13px 26px;border-radius:10px;
  font-family:var(--cc-fd);font-weight:700;font-size:16px;letter-spacing:.01em;
  border:1px solid transparent;cursor:pointer;text-align:center;
}
/* Цвет кнопок объявлен через 0-2-0 (.cccta .ccbtn--go), а не 0-1-0: любое
   правило вида .cccab a{color:…} (0-1-1) иначе перекрашивает надпись CTA в
   цвет ссылки и кнопка становится нечитаемой. Медиазапросы ниже написаны в той
   же весовой категории — иначе мобильное правило проиграет по специфичности. */
.cccta .ccbtn--go,.cccab .ccbtn--go{
  background:linear-gradient(180deg,hsl(205 12% 56%),hsl(205 12% 44%));
  color:hsl(210 8% 7%);
  box-shadow:0 8px 22px hsl(205 12% 40% / .3);
}
.cccta .ccbtn--go:hover,.cccab .ccbtn--go:hover{text-decoration:none;filter:brightness(1.07)}
.cccta .ccbtn--alt,.cccab .ccbtn--alt{
  background:hsl(210 8% 18% / .9);color:var(--cc-ink);border-color:var(--cc-line);
}
.cccta .ccbtn--alt:hover,.cccab .ccbtn--alt:hover{text-decoration:none;border-color:var(--cc-acc2-d)}

.cckpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cckpi__i{
  min-width:0;border:1px solid var(--cc-line);border-radius:10px;
  background:hsl(210 8% 9% / .72);padding:13px 14px;
}
.cckpi__v{font-family:var(--cc-fd);font-weight:700;font-size:23px;line-height:1.1;color:var(--cc-acc)}
.cckpi__k{font-size:12.5px;color:var(--cc-dim);margin-top:4px;line-height:1.35}

/* ---------- опора-мачта между секциями ---------- */
.ccpylon{position:relative;height:118px}
.ccpylon__f{position:absolute;left:-142px;top:0;width:142px;height:104px;color:var(--cc-steel)}
.ccp-b{fill:var(--cc-rope2)}
.ccp-s{fill:hsl(210 8% 18%);stroke:var(--cc-steel);stroke-width:1.5}
.ccp-w{fill:none;stroke:var(--cc-acc);stroke-width:2}
.ccpylon__n{
  position:absolute;left:-142px;top:104px;width:64px;text-align:center;
  font-family:var(--cc-fd);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--cc-dim);
}

/* ---------- кабина = секция ---------- */
.cccab{position:relative;min-width:0}
.cccab__hang{position:absolute;left:-100px;top:26px;width:100px;height:40px;pointer-events:none}
.cccab__grip{position:absolute;left:3px;top:0;width:34px;height:26px}
.ccg-w{fill:none;stroke:var(--cc-acc);stroke-width:2.4}
.ccg-b{fill:var(--cc-steel)}
.cccab__arm{
  position:absolute;left:20px;top:12px;width:80px;height:3px;
  background:linear-gradient(90deg,var(--cc-steel),var(--cc-rope2));border-radius:2px;
}
.cccab__body{
  position:relative;min-width:0;
  border:1px solid var(--cc-line);border-radius:var(--cc-rad);
  background:linear-gradient(180deg,hsl(210 8% 15%),hsl(210 8% 11%) 58%);
  padding:22px 26px 20px;
}
/* створка двери — вертикальный шов у ведущей кромки кабины */
.cccab__body::before{
  content:"";position:absolute;left:11px;top:16px;bottom:16px;width:1px;
  background:linear-gradient(180deg,transparent,hsl(210 8% 34%) 18%,hsl(210 8% 34%) 82%,transparent);
}
.cccab__top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 11px;min-width:0}
.cccab__no{
  font-family:var(--cc-fd);font-weight:700;font-size:13px;letter-spacing:.06em;
  color:hsl(210 8% 8%);background:var(--cc-acc);border-radius:6px;padding:3px 9px;
}
.cccab__alt{
  font-family:var(--cc-fd);font-size:12px;letter-spacing:.09em;color:var(--cc-acc2);
  border:1px solid var(--cc-acc2-d);border-radius:6px;padding:2px 8px;
}
.cccab__tag{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--cc-dim)}
.cccab h2{
  font-family:var(--cc-fd);font-weight:700;line-height:1.2;letter-spacing:-.005em;
  font-size:clamp(21px,2.5vw,27px);margin:0 0 13px;
}
.cccab h3{
  font-family:var(--cc-fd);font-weight:600;font-size:17px;margin:19px 0 8px;color:var(--cc-ink);
}

/* ---------- сетки и карточки ---------- */
.ccgrid{display:grid;gap:13px;margin:15px 0 4px;min-width:0}
.ccgrid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ccgrid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cccard{
  min-width:0;border:1px solid var(--cc-line);border-radius:10px;
  background:hsl(210 8% 9% / .66);padding:15px 16px;
}
.cccard__h{
  font-family:var(--cc-fd);font-weight:700;font-size:15px;margin:0 0 6px;color:var(--cc-acc);
}
.cccard p{margin:0;font-size:15px;color:var(--cc-mut)}
.cccard__m{
  display:block;margin-top:8px;font-size:12px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--cc-dim);
}

/* ---------- таблицы ---------- */
.ccscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:15px 0 6px;min-width:0;
  border:1px solid var(--cc-line);border-radius:10px}
.cctbl{border-collapse:collapse;width:100%;min-width:520px;font-size:15px}
.cctbl caption{
  caption-side:top;text-align:left;padding:11px 15px 9px;
  font-family:var(--cc-fd);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--cc-dim);border-bottom:1px solid var(--cc-line);
}
.cctbl th,.cctbl td{padding:10px 15px;text-align:left;border-bottom:1px solid hsl(210 8% 27% / .6);
  vertical-align:top}
.cctbl thead th{
  font-family:var(--cc-fd);font-weight:600;font-size:12.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--cc-acc2);background:hsl(210 8% 17% / .8);
}
.cctbl tbody tr:last-child th,.cctbl tbody tr:last-child td{border-bottom:0}
.cctbl tbody tr:nth-child(2n) td,.cctbl tbody tr:nth-child(2n) th{background:hsl(210 8% 9% / .5)}
.cctbl td:first-child,.cctbl th:first-child{white-space:nowrap}

/* ---------- секторы лояльности ---------- */
.ccsect{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:15px 0 6px}
.ccsect__i{
  min-width:0;position:relative;overflow:hidden;
  border:1px solid var(--cc-line);border-radius:10px;
  background:hsl(210 8% 9% / .7);padding:14px 15px 13px;
}
.ccsect__i::after{
  content:"";position:absolute;right:-26px;top:-26px;width:74px;height:74px;border-radius:50%;
  background:conic-gradient(from 200deg,var(--cc-acc-s) 0 62deg,transparent 62deg 360deg);
}
.ccsect__n{font-family:var(--cc-fd);font-weight:700;font-size:17px;margin:0 0 3px}
.ccsect__d{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--cc-dim);margin:0 0 7px}
.ccsect__p{font-size:14.5px;color:var(--cc-mut);margin:0}

/* ---------- отзывы ---------- */
.ccrev{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:15px 0 4px}
.ccrev__i{
  min-width:0;border:1px solid var(--cc-line);border-left:3px solid var(--cc-acc2-d);
  border-radius:0 10px 10px 0;background:hsl(210 8% 9% / .66);padding:14px 16px;
}
.ccrev__w{font-size:15px;color:var(--cc-mut);margin:0 0 9px}
.ccrev__a{font-size:12.5px;color:var(--cc-dim);letter-spacing:.05em}
.ccrev__a i{font-style:normal;color:var(--cc-acc)}

/* ---------- FAQ ---------- */
.ccfaq{margin:15px 0 4px;border:1px solid var(--cc-line);border-radius:10px;overflow:hidden;min-width:0}
.ccfaq details{border-bottom:1px solid hsl(210 8% 27% / .6);background:hsl(210 8% 9% / .5)}
.ccfaq details:last-child{border-bottom:0}
.ccfaq summary{
  cursor:pointer;list-style:none;padding:13px 44px 13px 16px;position:relative;
  font-family:var(--cc-fd);font-weight:600;font-size:15.5px;min-height:48px;
  display:flex;align-items:center;
}
.ccfaq summary::-webkit-details-marker{display:none}
.ccfaq summary::after{
  content:"";position:absolute;right:17px;top:50%;width:9px;height:9px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:translateY(-70%) rotate(45deg);opacity:.6;
}
.ccfaq details[open] summary{color:var(--cc-acc)}
.ccfaq details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.ccfaq__a{padding:0 16px 14px;font-size:15.5px;color:var(--cc-mut)}
.ccfaq__a p{margin:0 0 9px}
.ccfaq__a p:last-child{margin:0}

/* ---------- заметка автора ---------- */
.ccnote{
  position:relative;margin:0;min-width:0;
  border:1px solid var(--cc-acc2-d);border-radius:var(--cc-rad);
  background:linear-gradient(150deg,hsl(32 12% 16% / .6),hsl(210 8% 11%) 60%);
  padding:22px 26px 18px;
}
.ccnote h3{font-family:var(--cc-fd);font-weight:700;font-size:20px;margin:0 0 11px}
.ccnote__by{font-size:13px;color:var(--cc-dim);margin:11px 0 0;letter-spacing:.03em}

/* ---------- подвал ---------- */
.ccfoot{
  margin:34px 0 0;padding:22px 0 40px;border-top:1px solid var(--cc-line);
  font-size:14px;color:var(--cc-dim);min-width:0;
}
.ccfoot__r{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:0 0 12px;min-width:0}
.ccage{
  font-family:var(--cc-fd);font-weight:700;font-size:14px;color:var(--cc-warn);
  border:1px solid var(--cc-warn);border-radius:7px;padding:3px 10px;
}
.ccfoot p{margin:0 0 9px;max-width:88ch}

/* ---------- адаптив ---------- */
@media (max-width:1080px){
  :root{--cc-pad:118px;--cc-rope-x:48px}
  .cccab__hang{left:-84px;width:84px}
  .cccab__arm{width:64px}
  .ccpylon__f{left:-118px;width:118px}
  .ccpylon__n{left:-118px}
}
@media (max-width:900px){
  .ccgrid--3,.ccsect{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cckpi{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cchero{padding:24px 22px 22px}
}
@media (max-width:700px){
  /* линия схлопывается: трос уезжает к краю, кабины идут вертикальной цепочкой */
  :root{--cc-pad:36px;--cc-rope-x:12px;--cc-rad:11px}
  body{font-size:16.5px}
  .ccwrap{padding-right:14px}
  .ccrope{width:8px}
  .ccrope::before,.ccrope::after{left:1px;width:6px}
  .ccrope__aux{display:none}
  .cccab__hang{left:-26px;width:26px;top:20px;height:24px}
  .cccab__grip{left:-5px;top:0;width:22px;height:17px}
  .cccab__arm{left:6px;top:8px;width:20px}
  .ccpylon{height:64px}
  .ccpylon__f{left:-36px;width:36px;height:64px}
  .ccpylon__n{display:none}
  .cccab__body{padding:17px 15px 15px}
  .cccab__body::before{display:none}
  .cchero{padding:20px 16px 18px}
  .ccnote{padding:18px 16px 15px}
  .ccgrid--2,.ccgrid--3,.ccsect,.ccrev,.cckpi{grid-template-columns:minmax(0,1fr)}
  .cccta{flex-direction:column;gap:10px}
  .cccta .ccbtn,.cccab .ccbtn{width:100%}
  .ccstations{margin-left:0}
  /* тач-цель: пункты станций в шапке иначе ~30 px */
  .ccstations a{font-size:12px;padding:4px 10px;display:inline-flex;align-items:center;min-height:44px}
  .cctbl{min-width:440px;font-size:14.5px}
  .cctbl th,.cctbl td{padding:9px 12px}
}

/* site palette */
:root{--site-accent:#62d6c4;--site-display:"Fira Sans Extra Condensed";--site-body:"Lora"}
.ccentities,.cnentities,.cv-entities{max-width:1180px;margin:24px auto;padding:24px;border:1px solid var(--site-accent)}
@media(max-width:700px){body{overflow-x:hidden}.cchead nav{display:none}.cchead{display:flex;gap:10px;flex-wrap:wrap}.cchead .ccbtn{margin-left:auto;min-height:44px}.cchero,.cccab,.cccab__body{min-width:0;max-width:100%}.cchero{padding:28px 16px}.cchero h1,.cccab h2{overflow-wrap:anywhere}.cccab__body{padding:24px 16px}.ccnote{margin:20px 12px}}
@media(max-width:700px){.ccwrap,.cchero,main,.cccab,.cccab__body,.ccnote{width:auto!important;max-width:calc(100vw - 24px)!important;margin-left:12px!important;margin-right:12px!important;transform:none!important}.ccrope,.cccab__hang{display:none!important}.cchero h1,.cccab h2,.cccab p{max-width:100%!important;word-break:normal;overflow-wrap:anywhere}}
