/* Selected case layout: variant 4, using shared design tokens. */
.variant-decision-grid { display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start; }
.variant-decision-grid .metric-panel { margin-top:0; }
.case-variant-1 .stage-result { border:1.3px dashed var(--line);border-radius:18px;padding:24px; }
.case-variant-1 .parallel-lanes article { border:0;padding-top:0; }
.case-variant-1 .parallel-lanes article::before { content:"";display:block;width:16px;height:16px;background:var(--pink);margin-bottom:16px; }
.case-variant-1 .parallel-lanes article:nth-child(2)::before { background:var(--blue);border-radius:50%; }
.case-variant-1 .parallel-lanes article:nth-child(3)::before { background:var(--lime-stroke);clip-path:polygon(50% 0,100% 100%,0 100%); }
.case-variant-1 .parallel-lanes article:nth-child(4)::before { background:var(--pink); }
.variant-stage-heading { align-self:start;position:sticky;top:24px; }
.variant-stage-content { min-width:0; }
@media(max-width:700px) {
.variant-decision-grid { display:block; }
.variant-decision-grid > div + div { margin-top:24px; }
.variant-stage-heading { position:static;margin-bottom:24px; }
.case-variant-1 .parallel-lanes { grid-template-columns:1fr; }
}
.case-variant .catalog-contact { overflow: hidden; }
.case-variant .case-page { overflow-x: clip; }
.case-variant-1 #project-step-2 .metric-panel { border:1.3px dashed var(--line);border-radius:18px;padding:24px; }

.case-variant-1 .partner-row { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-block:40px; }
.case-variant-1 .partner-brand { justify-content:start;text-decoration:none; }
.case-variant-1 .partner-brand > img { width:240px;max-width:100%;height:90px;max-height:none;object-fit:contain;object-position:left center; }
.case-variant-1 .partner-brand > span { display:flex;align-items:center;min-height:90px;font-size:var(--size-feature); }

.case-variant-1 .player-review { border:1.3px dashed var(--line);border-radius:18px;padding:24px; }
@media(max-width:700px) {
.case-variant-1 #project-step-2 .metric-panel { margin-top:24px;padding:20px; }
.case-variant-1 .player-review { padding:20px; }
}
.case-variant-4 .case-section { display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px; }
.case-variant-4 .variant-stage-heading h2 { font-size:var(--size-feature); }
.case-variant-4 .variant-decision-grid { grid-template-columns:1fr;gap:24px; }
.case-variant-4 .parallel-lanes { grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px; }
.case-variant-4 .idea-origin, .case-variant-4 .field-photos > figure, .case-variant-4 .field-testing { grid-template-columns:1fr;gap:24px; }
.case-variant-4 .idea-photo img { width:100%;height:auto;max-height:none;aspect-ratio:3 / 2;object-fit:cover;object-position:center 70%; }
@media(max-width:900px) {
.case-variant-4 .case-section { grid-template-columns:180px minmax(0,1fr);gap:24px; }
}
@media(max-width:700px) {
.case-variant-4 .case-section { display:block; }
.case-variant-4 .parallel-lanes { grid-template-columns:1fr; }
}

.case-variant .case-hero { display:block; }
.case-variant .case-hero > div { max-width:900px; }
.progulka-wide-cover { margin:32px 0 0; }
.progulka-wide-cover img { display:block;width:100%;height:auto; }
.progulka-wide-cover > figcaption { margin-top:16px; }

.case-variant-4 #field-testing > figure > img { width:100%;height:auto;max-height:none;aspect-ratio:4 / 3;object-fit:cover;object-position:center 40%; }

.case-hero-author { display:flex;align-items:center;gap:24px; }
.case-hero-author .author-quote-avatar { flex:none; }
@media(max-width:700px) { .case-hero-author { gap:16px;align-items:flex-start; } .case-hero-author .author-quote-avatar { width:70px;height:70px; } }

.youtube-preview { position:relative;display:block;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#111; }
.youtube-preview > img { display:block;width:100%;height:100%;object-fit:cover; }
.youtube-preview-play { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block;width:68px;height:48px; }
.youtube-preview-play svg { display:block;width:100%;height:100%; }
.youtube-preview:focus-visible { outline:2px solid #149fff;outline-offset:4px; }

/* Match homepage hierarchy: space separates topics; proximity groups related material. */
.case-subsection + .case-subsection { margin-top:var(--section-space); }
.case-subsection > h3 { margin:0 0 24px; }
.case-subsection > :first-child { margin-top:0; }
.case-subsection > :last-child { margin-bottom:0; }
.case-variant-4 .parallel-launch { margin-top:0; }
.case-variant-4 .parallel-lanes { margin-top:0;row-gap:32px; }
.case-variant-4 .parallel-finish { border:0;padding:0;margin:24px 0 0; }
.case-variant-4 .channel-comparison article { border:0;padding-top:0; }
.case-variant-4 .graphic-story { margin-block:32px; }
.case-variant-4 .sales-map { margin-top:var(--section-space); }
.case-variant-4 .sales-map-roles > div { border:0;padding-top:0; }
.case-variant-4 .player-reviews,.case-variant-4 .project-next-step { margin-top:var(--section-space); }

.case-subsection > figure,.case-subsection > .partner-row { margin-block:32px; }
.case-subsection > details { margin-block:24px; }

.variant-decision-grid > div > h3 { margin:0 0 24px; }
.case-variant-4 #project-step-2 .research-metrics { margin:0; }

/* Stage-level topics use the homepage feature scale; card headings stay 22px. */
#project-step-3 .case-subsection > h3 { font-size:var(--size-card);line-height:1.2;margin:0 0 24px; }
#project-step-3 .case-subsection > .visual-kicker { font-size:var(--size-small);line-height:1.4;margin:0 0 12px; }
.case-variant-4 #project-step-3 .parallel-finish { font-size:var(--size-body);line-height:1.5;font-weight:400;margin-top:32px;max-width:var(--text-measure); }

#project-step-3 .case-subsection + .case-subsection { margin-top:var(--section-space);padding-top:var(--section-space);border-top:1px solid var(--line); }

/* Statistical summaries share one grid and frame system. */
.case-variant-4 .stats-frame { border:1.3px dashed var(--line);border-radius:18px;padding:24px; }
.case-variant-4 .stats-grid,.case-variant-4 .case-overview > .stats-grid {
 display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,200px));justify-content:space-between;gap:24px;margin-block:24px;
}
.case-variant-4 .stats-frame > .stats-grid,.case-overview > .stats-grid { margin-block:0; }
.case-variant-4 .stats-grid > * { min-width:0;width:100%;max-width:200px;border:0;padding:0; }
.case-variant-4 .stats-grid > * > b { white-space:nowrap; }
.case-variant-4 .stats-grid b,.case-variant-4 .channel-comparison article > b { display:block;color:var(--pink);font-size:var(--size-section);line-height:1.1;font-weight:700;margin:0 0 12px; }
.case-variant-4 .stats-grid > * > span,.case-variant-4 .stats-grid > * > p { display:block;max-width:min(200px,19ch);font-size:var(--size-body);margin-bottom:0; }
.case-variant-4 .research-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.case-variant-4 .research-metrics > div > span { display:block;max-width:19ch; }
.research-metrics .research-outcome > b { color:var(--blue); }
.research-metrics .research-selected { color:var(--pink); }
.case-variant-4 .pilot-flow b { font-size:var(--size-section);overflow-wrap:normal; }
.case-variant-4 .channel-comparison article > span { display:block;font-size:var(--size-body);font-weight:600;margin-bottom:24px; }
.case-variant-4 .channel-comparison article > p { max-width:26ch; }
.case-variant-4 .case-overview > .stats-grid { max-width:698px;grid-template-columns:repeat(3,minmax(0,200px));justify-content:start;gap:32px 24px; }
@media(max-width:700px) {
 .case-variant-4 .stats-frame { padding:20px; }
 .case-variant-4 .stats-grid,.case-variant-4 .case-overview > .stats-grid { grid-template-columns:repeat(auto-fit,minmax(160px,200px));gap:24px; }
 .case-variant-4 .stats-grid > .research-outcome { grid-column:auto; }
}
@media(min-width:380px) and (max-width:700px) {
 .case-variant-4 .stats-grid,
 .case-variant-4 .case-overview > .stats-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  justify-content:stretch;
 }
 .case-variant-4 .stats-grid > * { max-width:none; }
 .case-variant-4 .research-metrics > .research-outcome { grid-column:1 / -1; }
}

.case-hero-author-copy > p { margin:0; }
.case-hero-author-copy > p + p { margin-top:16px; }

/* Semantic role icons follow the existing 28px, 24-viewBox line system. */
.ecosystem-label { display:block;font-size:var(--size-small);font-weight:700;margin-bottom:8px; }

.case-variant-1 .partner-brand:nth-child(1) > img { transform:scale(.75);transform-origin:left center; }

.case-overview > .text-caption { max-width:698px;margin:16px 0 0;font-size:var(--size-caption); }

.stage-result > .stage-result-title,.case-author-result > .stage-result-title { display:flex;align-items:center;gap:8px;font-size:var(--size-body);font-weight:600;margin-bottom:12px; }
.result-check { flex:none;width:20px;height:20px;fill:none;stroke:var(--pink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round; }

.case-variant-1 .partner-brand:nth-child(3) > img { transform:scale(.675);transform-origin:left center; }

.partner-visit { margin-top:var(--section-space);padding-top:var(--section-space);border-top:1px solid var(--line); }
.partner-visit > h3 { margin:0 0 24px; }
.case-variant-4 .work-in-progress { display:block;margin-block:var(--section-space); }

.case-variant-4 .field-testing > figure > img { width:100%;height:auto;max-height:none;aspect-ratio:3 / 2;object-fit:cover;object-position:center 28%; }

.case-variant-4 .graphic-story { grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;border:1.3px dashed var(--line);border-radius:18px;padding:24px; }
.case-variant-4 .graphic-story > div { min-width:0; }
.case-variant-4 .graphic-story .graphic-symbol { display:block;width:28px;height:28px;fill:none;color:var(--pink);stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px; }
.case-variant-4 .graphic-story b { margin-bottom:12px; }
.case-variant-4 .graphic-story p { margin:0;max-width:19ch; }
@media(max-width:700px) { .case-variant-4 .graphic-story { grid-template-columns:1fr;padding:20px;gap:28px; } }

.launch-team-icons { display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:16px;max-width:624px;margin:24px 0; }
.launch-team-icons svg { display:block;width:48px;height:48px;max-width:100%;overflow:visible; }
.launch-team-icons svg:nth-child(3n+1) { transform:rotate(-10deg); }
.launch-team-icons svg:nth-child(3n+2) { transform:translateY(-5px) rotate(8deg); }
.sales-map-center > h3 { margin:0 0 24px; }
@media(max-width:700px) { .launch-team-icons { grid-template-columns:repeat(5,minmax(0,1fr));max-width:280px; } }

.bot-evidence-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start; }
.bot-evidence-grid img { width:100%;height:auto; }
@media(max-width:700px) { .bot-evidence-grid { grid-template-columns:1fr; } }

/* Documentary photos use landscape crops or landscape collages. Screenshots retain their aspect ratio. */
.work-photo-collage { display:grid;grid-template-columns:1.8fr 1fr;gap:16px;aspect-ratio:16 / 9; }
.work-photo-collage > div { min-width:0;min-height:0;overflow:hidden; }
.work-photo-collage img { width:100%;height:100%;max-height:none;object-fit:cover; }
.work-photo-main img { object-position:center 35%; }
.work-photo-detail { position:relative; }
.work-photo-detail img { position:absolute;width:360%;height:auto;max-width:none;left:50%;top:50%;transform:translate(-44%,-77%); }
.work-in-progress figcaption { margin-top:16px; }

.results-funnel { margin-top:var(--section-space); }

/* Линия завершает блок на уровне нижнего края портрета. */
.case-variant .catalog-contact { border-bottom:1px solid var(--line); }


.author-phones-showcase img { display:block;width:100%;height:auto; }
.author-phones-showcase figcaption { margin-top:16px; }
/* Участники продукта — тот же визуальный формат, что у процесса выпуска. */
.case-variant-4 .ecosystem-label { font-size:var(--size-body);font-weight:400;margin-bottom:4px; }

.partner-phones-captions { align-items:start; }
.case-page .partner-phones-captions > p.text-caption { margin:0; }
.ecosystem-tabs { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line); }
.ecosystem-tabs button { position:relative;display:flex;gap:12px;align-items:baseline;padding:20px 12px;border:0;background:white;color:var(--ink);font:inherit;text-align:left;cursor:pointer; }
.ecosystem-tabs button span { font-weight:600; }
.ecosystem-tabs button[aria-selected="true"] { font-weight:600; }
.ecosystem-tabs button[aria-selected="true"] span { color:var(--pink); }
.ecosystem-tabs button[aria-selected="true"]::after { content:'';position:absolute;left:0;right:0;bottom:-1px;border-bottom:3px solid var(--pink); }
.ecosystem-switcher [role="tabpanel"] { display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:28px 12px 0; }
.ecosystem-switcher [role="tabpanel"][hidden] { display:none; }
.case-page .ecosystem-switcher [role="tabpanel"] p { margin:0;max-width:30ch; }
.ecosystem-switcher .ecosystem-label { display:block;font-weight:600;margin-bottom:12px; }
@media(max-width:700px) {
 .ecosystem-tabs button { flex-direction:column;gap:8px;padding:16px 8px; }
 .ecosystem-switcher [role="tabpanel"] { grid-template-columns:1fr;gap:24px;padding:24px 8px 0; }
}

.case-variant-4 .stage-result:not(:has(> .stage-result-title)) { border:0;border-radius:0;padding:0; }

.case-variant-4 .sales-map-roles h3 { font-size:var(--size-body);line-height:1.4;font-weight:600;margin:0 0 8px; }
.case-variant-4 .sales-map-roles p { font-size:var(--size-caption);line-height:1.5;color:var(--caption-ink);margin:0; }

.case-author-result { margin-block:32px;align-items:flex-start; }
.case-author-result-title { display:block;font-size:var(--size-body);font-weight:600;margin-bottom:12px; }

.project-plan-list { list-style:none;padding:0;margin:24px 0 0;display:grid;gap:24px; }
.project-plan-list li { position:relative;padding-left:32px; }
.project-plan-list li::before { content:'';position:absolute;left:0;top:4px;width:16px;height:16px;background:var(--pink); }
.project-plan-list li:nth-child(3n+2)::before { background:var(--blue);border-radius:50%; }
.project-plan-list li:nth-child(3n)::before { background:var(--lime-stroke);clip-path:polygon(50% 0,100% 100%,0 100%); }
.project-plan-list b { font-size:var(--size-body);font-weight:600; }
.case-page .project-plan-list p { margin:8px 0 0; }

.case-page #field-testing figcaption > .text-caption + p { margin-top:24px; }

.author-team-icons { display:flex;flex-direction:column;gap:16px;max-width:100%;margin:24px 0; }
.author-faces-row { display:flex;gap:12px;max-width:100%; }
.author-faces-row svg { display:block;width:48px;height:auto;min-width:0;flex:0 1 48px;overflow:visible; }
@media(max-width:700px) { .author-faces-row { gap:8px; } }
.image-viewer-open { overflow:hidden; }
.image-viewer { position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:56px 24px 24px;border:0;background:transparent; }
.image-viewer[open] { display:flex;align-items:center;justify-content:center; }
.image-viewer::backdrop { background:rgb(0 0 0 / 88%); }
.image-viewer > img { display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain; }
.image-viewer-close { position:absolute;top:8px;right:16px;width:44px;height:44px;border:0;border-radius:50%;background:white;color:#111;display:grid;place-items:center;cursor:pointer; }

/* Единая колонка для цифр и видео без пустой боковой области. */
.case-variant-4 .case-overview { border-top:0;display:block;max-width:698px;margin-inline:auto;padding-top:0; }
.case-variant-4 .case-video { display:flex;flex-direction:column;gap:12px;max-width:698px;margin-inline:auto; }
.case-variant-4 .case-video > iframe,.case-variant-4 .case-video > .youtube-preview { order:-1;align-self:stretch;width:100%;margin:0 0 4px; }
.case-variant-4 .case-video > p { margin:0; }
/* Навигация: маршрут под названиями, вариант 1. */
.case-variant-4 .case-route { gap:0;padding:0;border:0; }
.case-variant-4 .case-route a { position:relative;gap:10px;padding:0 12px 24px 0;border-bottom:1px solid var(--line);text-decoration:none; }
.case-variant-4 .case-route a::after { content:'';position:absolute;bottom:-4px;left:0;width:7px;height:7px;background:var(--blue);border-radius:50%;box-shadow:0 0 0 5px white; }
.case-variant-4 .case-route a:first-child { border-bottom-color:var(--pink); }
.case-variant-4 .case-route a:first-child::after { background:var(--pink); }
.case-variant-4 .case-route span { font-size:var(--size-caption);font-weight:400; }
.case-variant-4 .case-route a:hover { color:var(--blue-hover); }
@media(max-width:700px) { .case-variant-4 .case-route { row-gap:28px; } }

@media(max-width:700px) { .case-variant-1 .partner-row { grid-template-columns:1fr;gap:24px; } }
@media(max-width:900px) { .case-variant-4 .partner-row { grid-template-columns:1fr; } }

.image-viewer-close svg { width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round; }

/* Отдельные смысловые блоки после итогового списка и в отзывах. */
.case-page .project-plan-list + p { margin-top:32px; }
.variant-stage-content > p + .case-subsection { margin-top:32px; }
.player-review .text-caption + p { margin-top:16px; }

/* Отдельная цитата выравнивается по колонке, без стандартного отступа blockquote. */
.case-page blockquote.player-review { margin:24px 0; }

@media(max-width:700px) { .case-variant-4 .stage-result { padding:20px; } .case-variant-4 .stage-result:not(:has(> .stage-result-title)) { padding:0; } }

.case-page blockquote.player-review > cite.text-caption { display:block;margin-top:12px;font-style:normal; }

.graphic-story > div > span:not(.graphic-symbol) { display:block;margin-bottom:12px; }

.case-variant-4 .sales-map-roles p:has(> strong) { color:var(--ink);font-size:var(--size-body); }
.case-variant-4 .sales-map-roles p > strong { font-weight:600; }
