/* =========================================================
   Страница кейса — единый шаблон для всех кейсов.
   Подключается после style.css (берёт токены, шрифты, шапку, курсор).
   ========================================================= */

.case-page { background: var(--paper); }
.case-page .header { color: var(--ink); }
.case-page main { position: relative; z-index: 2; }

/* ---------- первый экран: всё про результат сразу ---------- */
.cv-hero { min-height: 100vh; min-height: 100svh; padding: calc(var(--head-h) + 6px) var(--pad) var(--pad); display: flex; flex-direction: column; }
.cv-crumbs { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding-bottom: 14px; border-bottom: 1px solid var(--line-l); }
.cv-crumbs a.mono:hover { color: var(--ink); }
.cv-crumbs .mono { color: var(--mute-l); }
.cv-crumbs__back { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; }
.cv-crumbs__back .arr { transition: transform .5s var(--ease); }
.cv-crumbs__back:hover .arr { transform: translateX(-4px); }
.cv-crumbs__sep { color: var(--line-l); }
.cv-crumbs__r { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.cv-crumbs__idx { margin-right: 8px; font-variant-numeric: tabular-nums; }
.cbtn2 { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line-l); display: grid; place-items: center; font-size: 14px; transition: background .3s, border-color .3s; }
.cbtn2:hover { background: var(--y); border-color: var(--y); }

.cv-hero__grid { flex: 1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gap); padding-top: clamp(16px, 2vw, 28px); min-height: 0; }
.cv-hero__l { grid-column: 1 / span 7; display: flex; flex-direction: column; gap: clamp(12px, 1.4vw, 20px); min-width: 0; }
.cv-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.cv-meta b { font-weight: 500; font-size: 14px; margin-right: 8px; letter-spacing: -.01em; }
.cv-meta .year { font-family: var(--serif); font-style: italic; font-size: 18px; margin-right: 8px; }
.cv-meta .tag { font-size: 10.5px; font-weight: 500; padding: 4px 9px 3px; border-radius: 99px; border: 1px solid var(--line-l); }
.cv-meta .tag--rub { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.cv-title { font-weight: 400; font-size: clamp(40px, 5.4vw, 108px); line-height: .88; letter-spacing: -.062em; max-width: 14ch; }
.cv-line { font-size: clamp(18px, 1.5vw, 26px); line-height: 1.15; color: var(--mute-l); max-width: 46ch; }

/* все цифры кейса */
.cv-kpi { margin-top: auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.kpi { padding: 12px 12px 12px 0; border-bottom: 1px solid var(--line-l); display: grid; gap: 6px; align-content: start; min-width: 0; }
.kpi + .kpi { padding-left: 12px; border-left: 1px solid var(--line-l); }
.kpi b { font-weight: 400; font-size: clamp(24px, 2.3vw, 44px); line-height: .9; letter-spacing: -.055em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.kpi span { font-size: 11.5px; line-height: 1.3; color: var(--mute-l); }
.kpi--main { grid-column: span 2; background: var(--y); padding-left: 14px !important; border-left: 0 !important; }
.kpi--main b { font-size: clamp(48px, 6.4vw, 124px); }
.kpi--main span { color: var(--ink); font-size: 13px; }
.cv-kpi--many .kpi b { font-size: clamp(22px, 1.9vw, 36px); }
.cv-kpi--many .kpi--main b { font-size: clamp(44px, 5.2vw, 100px); }

.cv-hero__img { grid-column: 8 / span 5; position: relative; border-radius: 14px; overflow: hidden; min-height: 360px; background: #ddd; isolation: isolate; }
.cv-hero__img img.cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cv-hero__img--dark { background: var(--ink); }
.cv-hero__img--dark img.cover { object-fit: contain; padding: 8%; }
.cv-hero__img .doodle { position: absolute; z-index: 2; right: 6%; bottom: 6%; width: 42%; max-height: 40%; object-fit: contain; filter: drop-shadow(0 2px 12px rgba(0,0,0,.35)); pointer-events: none; animation: boil2 .36s steps(1) infinite; }
.cv-hero__img--dark .doodle { display: none; }
@keyframes boil2 { 0% { transform: rotate(-.6deg) } 33% { transform: translate(1px, -1px) rotate(.5deg) } 66% { transform: translate(-1px, 1px) rotate(-.2deg) } }
.cv-hero__badges { position: absolute; z-index: 3; left: 12px; top: 12px; right: 12px; display: flex; flex-wrap: wrap; gap: 4px; }
.cv-hero__badges span { font-size: 11px; font-weight: 500; padding: 5px 9px 4px; border-radius: 99px; background: var(--y); color: var(--ink); }
.cv-hero__badges span.w { background: rgba(255,255,255,.9); }
.cv-hero__src { position: absolute; z-index: 3; left: 12px; bottom: 12px; }
.cv-hero__src a { display: inline-flex; gap: 6px; align-items: center; font-size: 11px; font-weight: 500; padding: 6px 10px 5px; border-radius: 99px; background: rgba(11,11,11,.72); color: var(--white); backdrop-filter: blur(6px); }
.cv-hero__src a:hover { background: var(--y); color: var(--ink); }

/* ---------- тело кейса: линия слева, этапы справа ---------- */
.cv-body { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gap); padding: 0 var(--pad); }
.cv-rail { grid-column: 1 / span 3; position: relative; }
.cv-rail__in { position: sticky; top: calc(var(--head-h) + 20px); height: calc(100vh - var(--head-h) - 40px); display: flex; flex-direction: column; padding-top: clamp(40px, 5vw, 80px); }
.cv-rail__h { color: var(--mute-l); margin-bottom: 18px; }
.cv-rail__track { position: relative; flex: 1; max-height: 620px; }
.cv-rail__svg { position: absolute; left: 0; top: 0; width: 44px; height: 100%; overflow: visible; pointer-events: none; }
.cv-rail__svg path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.cv-rail__svg .base { stroke: rgba(11, 11, 11, .14); stroke-width: 2; }
.cv-rail__svg .prog { stroke: var(--y); stroke-width: 6; }
.cv-rail__list { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: space-between; }
.cv-rail__list a { display: grid; grid-template-columns: 44px auto 1fr; align-items: center; gap: 0 8px; padding: 2px 0; position: relative; }
.cv-rail__list .dot2 { justify-self: center; width: 13px; height: 13px; border-radius: 50%; background: var(--paper); border: 1.5px solid rgba(11,11,11,.3); transition: transform .5s var(--ease), background .3s, border-color .3s; position: relative; z-index: 1; }
.cv-rail__list .n { font-family: var(--serif); font-style: italic; font-size: 15px; color: var(--mute-l); width: 22px; }
.cv-rail__list .t { font-size: 15px; letter-spacing: -.02em; color: var(--mute-l); transition: color .3s, transform .5s var(--ease); }
.cv-rail__list .k { grid-column: 3; grid-row: 2; font-size: 11px; color: var(--mute-l); opacity: 0; max-height: 0; overflow: hidden; transition: opacity .4s, max-height .5s var(--ease); }
.cv-rail__list li.is-past .dot2 { background: var(--y); border-color: var(--ink); }
.cv-rail__list li.is-on .dot2 { background: var(--y); border-color: var(--ink); transform: scale(1.55); box-shadow: 0 0 0 5px rgba(255,247,5,.35); }
.cv-rail__list li.is-on .t { color: var(--ink); transform: translateX(4px); font-weight: 500; }
.cv-rail__list li.is-on .n { color: var(--ink); }
.cv-rail__list li.is-on .k { opacity: 1; max-height: 20px; }
.cv-rail__list a:hover .t { color: var(--ink); }
.cv-rail__foot { padding-top: 18px; display: grid; gap: 8px; justify-items: start; }

.cv-content { grid-column: 4 / span 9; min-width: 0; }
.cv-sec { padding: clamp(56px, 7vw, 120px) 0 0; scroll-margin-top: calc(var(--head-h) + 10px); }
.cv-sh { display: flex; align-items: baseline; gap: clamp(10px, 1.4vw, 22px); border-top: 1px solid var(--ink); padding-top: 14px; margin-bottom: clamp(22px, 3vw, 44px); }
.cv-sh__n { font-family: var(--serif); font-style: italic; font-size: clamp(28px, 2.6vw, 46px); line-height: .8; background: linear-gradient(var(--y), var(--y)) 0 85% / 100% 42% no-repeat; padding: 0 .1em; }
.cv-sh__t { font-weight: 400; font-size: clamp(44px, 6vw, 118px); line-height: .85; letter-spacing: -.065em; }
.cv-sh__k { margin-left: auto; color: var(--mute-l); text-align: right; }
.cv-lead { font-size: clamp(17px, 1.35vw, 22px); line-height: 1.4; letter-spacing: -.01em; max-width: 58ch; }
.cv-text { font-size: 14.5px; line-height: 1.55; max-width: 62ch; }
.cv-label { color: var(--mute-l); margin-bottom: 10px; display: block; }

/* 00 контекст */
.cv-ctx { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: var(--gap); }
.cv-ctx__l { grid-column: 1 / span 5; display: grid; gap: 22px; align-content: start; }
.cv-ctx__r { grid-column: 6 / span 4; }
.cv-tasks { counter-reset: t; border-top: 1px solid var(--line-l); }
.cv-tasks li { counter-increment: t; display: grid; grid-template-columns: 34px 1fr; gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--line-l); font-size: 15px; line-height: 1.35; letter-spacing: -.01em; }
.cv-tasks li::before { content: counter(t, decimal-leading-zero); font-family: var(--serif); font-style: italic; font-size: 16px; color: var(--mute-l); }
.cv-facts { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 18px; font-size: 12px; color: var(--mute-l); }
.cv-facts b { font-weight: 500; color: var(--ink); }

/* 01 придумали */
.cv-idea { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: var(--gap); align-items: center; }
.cv-idea__q { grid-column: 1 / span 6; font-family: var(--serif); font-style: italic; font-size: clamp(26px, 2.7vw, 50px); line-height: 1.08; letter-spacing: -.02em; }
.cv-idea__d { grid-column: 7 / span 3; position: relative; aspect-ratio: 1; display: grid; place-items: center; }
.cv-idea__d::before { content: ""; position: absolute; inset: 6%; border-radius: 50%; background: var(--ink); }
.cv-idea__d img { position: relative; width: 74%; max-height: 74%; object-fit: contain; clip-path: inset(0 100% 0 0); transition: clip-path 1.6s var(--ease); }
.cv-idea__d.is-in img { clip-path: inset(0 0 0 0); animation: boil2 .36s steps(1) infinite 1.6s; }
.cv-idea__d--none::before { background: var(--y); }
.cv-idea__d--none span { position: relative; font-family: var(--serif); font-style: italic; font-size: clamp(80px, 9vw, 170px); line-height: 1; }

/* 02 реализовали */
.cv-pair { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: var(--gap); margin-top: clamp(24px, 3vw, 44px); }
.cv-pair figure { border-radius: 12px; overflow: hidden; height: min(60vh, 34vw); cursor: zoom-in; }
.cv-pair figure:first-child { grid-column: span 5; } .cv-pair figure:nth-child(2) { grid-column: span 4; }
.cv-pair figure:only-child { grid-column: span 9; }
.cv-pair img, .act__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-out); }
.cv-pair figure:hover img, .act__img:hover img { transform: scale(1.05); }
.acts { margin-top: clamp(26px, 3vw, 48px); display: grid; gap: clamp(26px, 3vw, 50px); }
.act { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: var(--gap); align-items: start; }
.act__body { grid-column: 1 / span 5; display: grid; gap: 14px; border-top: 1px solid var(--line-l); padding-top: 14px; }
.act__h { display: flex; align-items: baseline; gap: 12px; }
.act__h .mono { color: var(--mute-l); }
.act__h b { font-weight: 400; font-size: clamp(24px, 2.3vw, 42px); letter-spacing: -.05em; line-height: .95; }
.act__m { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); border-top: 1px solid var(--line-l); }
.act__m li { padding: 10px 12px 0 0; display: grid; gap: 3px; align-content: start; }
.act__m li + li { padding-left: 12px; border-left: 1px solid var(--line-l); }

.act__m b { font-weight: 400; font-size: clamp(22px, 1.9vw, 34px); letter-spacing: -.05em; line-height: .9; }
.act__m span { font-size: 11px; color: var(--mute-l); }
.act__img { grid-column: 6 / span 4; border-radius: 12px; overflow: hidden; height: min(46vh, 26vw); cursor: zoom-in; }
.act:nth-child(even) .act__body { grid-column: 5 / span 5; grid-row: 1; }
.act:nth-child(even) .act__img { grid-column: 1 / span 4; grid-row: 1; }

/* 03 распространили */
.cv-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 22px; }
.cv-chips span { font-size: 13px; padding: 8px 13px 7px; border-radius: 99px; border: 1px solid var(--line-l); transition: background .3s, border-color .3s; }
.cv-chips span:hover { background: var(--y); border-color: var(--y); }
.cv-press { margin-top: clamp(26px, 3vw, 44px); border-top: 1px solid var(--ink); }
.cv-press li { display: grid; grid-template-columns: 44px 1fr auto; gap: var(--gap); align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--line-l); position: relative; isolation: isolate; }
.cv-press li::before { content: ""; position: absolute; inset: 0 -8px; z-index: -1; background: var(--y); transform: scaleX(0); transform-origin: left; transition: transform .55s var(--ease); }
.cv-press li:hover::before { transform: scaleX(1); }
.cv-press .mono { color: var(--mute-l); }
.cv-press q { quotes: "«" "»"; font-size: clamp(18px, 1.6vw, 28px); letter-spacing: -.035em; line-height: 1.1; }
.cv-press em { font-family: var(--serif); font-size: 18px; white-space: nowrap; }

/* 04 охват */
.cv-bars { display: grid; gap: 14px; margin-bottom: clamp(30px, 4vw, 60px); }
.bar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.bar__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.bar__top b { font-weight: 400; font-size: clamp(26px, 2.6vw, 50px); letter-spacing: -.055em; line-height: .9; white-space: nowrap; }
.bar__top span { font-size: 12.5px; color: var(--mute-l); text-align: right; }
.bar__track { height: 14px; border-radius: 99px; background: rgba(11,11,11,.07); overflow: hidden; }
.bar__fill { height: 100%; width: var(--w); background: var(--y); border-radius: 99px; box-shadow: inset 0 0 0 1px rgba(11,11,11,.12); transform-origin: left; transform: scaleX(0); transition: transform 1.4s var(--ease); }
.cv-bars.is-in .bar__fill { transform: scaleX(1); }
.cv-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap); }
.tile { border-top: 1px solid var(--ink); padding-top: 12px; display: grid; gap: 8px; align-content: start; }
.tile b { font-weight: 400; font-size: clamp(40px, 4.4vw, 86px); letter-spacing: -.065em; line-height: .85; }
.tile span { font-size: 12.5px; color: var(--mute-l); max-width: 28ch; }
.cv-pf { margin-top: clamp(30px, 4vw, 60px); display: grid; gap: 22px; }
.pf__h { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.pf__h b { font-weight: 400; font-size: 22px; letter-spacing: -.035em; }
.pf__h span { font-size: 12px; color: var(--mute-l); }
.pf__rows { display: grid; gap: 6px; margin-top: 10px; }
.pf__row { display: grid; grid-template-columns: 56px 1fr 80px; gap: 10px; align-items: center; font-size: 12px; }
.pf__row i { display: block; height: 22px; border-radius: 6px; width: var(--w); transform-origin: left; transform: scaleX(0); transition: transform 1.3s var(--ease); }
.pf__row--plan i { background: rgba(11,11,11,.14); }
.pf__row--fact i { background: var(--ink); }
.pf__row b { font-weight: 500; font-size: 14px; }
.cv-pf.is-in .pf__row i { transform: scaleX(1); }
.cv-awards { margin-top: clamp(30px, 4vw, 60px); border-top: 1px solid var(--ink); }
.cv-awards li { display: grid; grid-template-columns: 44px 1fr; gap: var(--gap); padding: 12px 0; border-bottom: 1px solid var(--line-l); font-size: clamp(16px, 1.3vw, 22px); letter-spacing: -.02em; }
.cv-awards li::before { content: "✶"; color: var(--ink); background: var(--y); width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; font-size: 13px; }

/* отзывы */
.cv-quotes { display: grid; gap: clamp(30px, 4vw, 60px); }
.cv-quote p { font-family: var(--serif); font-style: italic; font-size: clamp(28px, 3.4vw, 64px); line-height: 1.02; letter-spacing: -.025em; max-width: 26ch; }
.cv-quote p::before { content: "«"; } .cv-quote p::after { content: "»"; }
.cv-quote footer { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: baseline; }
.cv-quote footer b { font-weight: 500; font-size: 15px; }
.cv-quote footer span { font-size: 12.5px; color: var(--mute-l); }
.cv-quote:nth-child(even) { justify-self: end; }

/* галерея */
.cv-gal { columns: 3 220px; column-gap: var(--gap); }
.cv-gal figure { break-inside: avoid; margin-bottom: var(--gap); border-radius: 10px; overflow: hidden; cursor: zoom-in; background: #e4e4e1; position: relative; }
.cv-gal img { width: 100%; height: auto; transition: transform 1.1s var(--ease-out), filter .5s; }
.cv-gal figure:hover img { transform: scale(1.04); }
.cv-gal figure::after { content: "↗"; position: absolute; right: 10px; top: 10px; width: 30px; height: 30px; border-radius: 50%; background: var(--y); display: grid; place-items: center; font-size: 14px; opacity: 0; transform: scale(.6); transition: opacity .3s, transform .45s var(--ease-out); }
.cv-gal figure:hover::after { opacity: 1; transform: none; }

.cv-src { margin-top: clamp(40px, 5vw, 80px); padding-top: 14px; border-top: 1px solid var(--line-l); display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 12px; color: var(--mute-l); }
.cv-src a { color: var(--ink); border-bottom: 1px solid var(--line-l); }

/* следующий кейс */
.cv-next { margin-top: clamp(80px, 9vw, 160px); position: relative; z-index: 2; background: var(--ink); color: var(--white); padding: clamp(40px, 5vw, 80px) var(--pad); display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gap); align-items: end; overflow: hidden; }
.cv-next__l { grid-column: 1 / span 7; display: grid; gap: 14px; position: relative; z-index: 2; }
.cv-next__l .mono { color: var(--mute-d); }
.cv-next__t { font-size: clamp(44px, 6.4vw, 130px); line-height: .86; letter-spacing: -.065em; transition: transform .8s var(--ease); }
.cv-next__c { font-family: var(--serif); font-style: italic; font-size: clamp(18px, 1.5vw, 26px); color: var(--y); }
.cv-next__img { grid-column: 8 / span 5; height: min(56vh, 34vw); border-radius: 14px; overflow: hidden; position: relative; }
.cv-next__img img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 1.4s var(--ease-out); }
.cv-next:hover .cv-next__t { transform: translateX(16px); }
.cv-next:hover .cv-next__img img { transform: scale(1); }
.cv-next__all { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding-top: 18px; margin-top: 18px; border-top: 1px solid var(--line-d); position: relative; z-index: 2; }
.cv-next__all a { font-size: 13px; color: var(--mute-d); }
.cv-next__all a:hover { color: var(--y); }

/* лайтбокс */
.lb { position: fixed; inset: 0; z-index: 160; background: rgba(11,11,11,.94); display: grid; grid-template-columns: 64px 1fr 64px; grid-template-rows: 1fr auto; align-items: center; padding: var(--pad); color: var(--white); }
.lb[hidden] { display: none; }
.lb img { grid-column: 2; max-width: 100%; max-height: calc(100vh - 110px); margin: 0 auto; border-radius: 8px; object-fit: contain; }
.lb button { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--line-d); color: var(--white); display: grid; place-items: center; font-size: 18px; justify-self: center; transition: background .3s, color .3s; }
.lb button:hover { background: var(--y); color: var(--ink); border-color: var(--y); }
.lb__x { position: absolute; top: var(--pad); right: var(--pad); }
.lb__c { grid-column: 1 / -1; text-align: center; color: var(--mute-d); padding-top: 12px; }

/* ---------- мобильная версия: линия становится полосой сверху ---------- */
@media (max-width: 1000px) {
  .cv-hero__l { grid-column: 1 / -1; }
  .cv-hero__img { grid-column: 1 / -1; height: 58vh; margin-top: 10px; }
  .cv-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kpi:nth-child(even) { border-left: 0; padding-left: 0; }
  .kpi:nth-child(odd):not(.kpi--main) { border-left: 1px solid var(--line-l); padding-left: 12px; }

  .cv-body { display: block; }
  .cv-rail { position: sticky; top: var(--head-h); z-index: 20; margin: 0 calc(var(--pad) * -1); background: rgba(242,242,240,.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--line-l); transition: top .6s var(--ease); }
  .head-up .cv-rail { top: 0; }
  .cv-rail__in { position: static; height: auto; padding: 0; }
  .cv-rail__h, .cv-rail__svg, .cv-rail__foot, .cv-rail__list .k, .cv-rail__list .dot2 { display: none; }
  .cv-rail__track { max-height: none; }
  .cv-rail__list { flex-direction: row; overflow-x: auto; gap: 4px; padding: 8px var(--pad); scrollbar-width: none; }
  .cv-rail__list::-webkit-scrollbar { display: none; }
  .cv-rail__list a { display: flex; gap: 6px; padding: 6px 12px; border-radius: 99px; white-space: nowrap; }
  .cv-rail__list .n { width: auto; font-size: 13px; }
  .cv-rail__list .t { font-size: 13px; }
  .cv-rail__list li.is-on a { background: var(--ink); }
  .cv-rail__list li.is-on .t, .cv-rail__list li.is-on .n { color: var(--paper); transform: none; }
  .cv-rail__bar { display: block !important; position: absolute; left: 0; bottom: -1px; height: 3px; width: 100%; background: var(--y); transform-origin: left; transform: scaleX(var(--p, 0)); }
  .cv-ctx__l, .cv-ctx__r, .cv-idea__q, .cv-idea__d, .act__body, .act__img, .cv-pair figure, .cv-next__l, .cv-next__img { grid-column: 1 / -1 !important; grid-row: auto !important; }
  .cv-idea__d { max-width: 280px; }
  .act__img, .cv-pair figure { height: 64vw; }
  .cv-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cv-sh { flex-wrap: wrap; }
  .cv-sh__k { margin-left: 0; width: 100%; text-align: left; }
  .cv-next__img { height: 60vw; }
}
.cv-rail__bar { display: none; }
@media (max-width: 560px) {
  .cv-crumbs__r .cv-crumbs__idx { display: none; }
  .cv-title { font-size: 12.5vw; }
  .kpi--main b { font-size: 15vw; }
  .cv-tiles { grid-template-columns: 1fr; }
  .cv-press li { grid-template-columns: 1fr; }
  .cv-press li .mono { display: none; }
}

/* кейсы без рисунка от руки: в круге — фото */
.cv-idea__d--photo::before { display: none; }
.cv-idea__d--photo img { width: 100%; height: 100%; max-height: none; border-radius: 50%; object-fit: cover; }
.cv-idea__d--photo.is-in img { animation: none; }
@media (max-width: 1000px) {
  .act__m { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .act__m li:nth-child(odd) { border-left: 0; padding-left: 0; }
  .act__m li:nth-child(n+3) { border-top: 1px solid var(--line-l); margin-top: 8px; }
  .cv-hero__l { gap: 12px; }
}

/* одна-две цифры: главная — во всю ширину и крупнее */
.cv-kpi--few .kpi--main b { font-size: clamp(72px, 9.5vw, 190px); }
.cv-kpi--few .kpi--main:only-child { grid-column: 1 / -1; }
.cv-kpi--few .kpi--main:not(:only-child) { grid-column: span 3; }
@media (max-width: 1000px) { .cv-kpi--few .kpi--main:not(:only-child) { grid-column: 1 / -1; } }
