.case-card-photo{margin:-27px -27px 22px;background:#fff;aspect-ratio:auto;overflow:hidden;border-bottom:1px solid var(--line);flex-shrink:0}
.case-card-photo img{width:100%;height:auto;display:block;transition:filter .2s}
.case-card:hover .case-card-photo img{filter:brightness(1.04)}
.jg-service-case .case-card-photo,.jg-cat-cases .case-card-photo{width:100%;margin:0 0 20px;aspect-ratio:auto;flex-shrink:0}
.case-gallery{margin:0 0 44px;min-width:0}
.case-gallery-cover{margin:0}
.case-gallery-cover>a{position:relative;display:block;background:#fff;border:1px solid var(--line)}
.case-gallery-cover--portrait{max-width:600px;margin-inline:auto}
.case-gallery-cover img{display:block;width:100%;height:auto;max-height:none}
.case-gallery-cover>a>span{position:absolute;bottom:12px;right:12px;padding:10px 14px;background:#1a1a1ae8;color:#fff;font-size:11px;pointer-events:none}
.case-gallery-cover figcaption{font-size:11px;color:var(--muted);line-height:1.7;margin-top:10px}
.case-gallery-more{margin-top:16px;border:1px solid var(--line);background:#fff}
.case-gallery-more>summary{min-height:52px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;cursor:pointer;font-size:13px;font-weight:600}
.case-gallery-more>summary::-webkit-details-marker{display:none}
.case-gallery-more>summary>span{white-space:nowrap;color:var(--muted);font-size:11px}
.case-gallery-more b{display:inline-block;font-size:20px;color:var(--red);margin-left:10px;line-height:1}
.case-gallery-more[open] b{transform:rotate(45deg)}
.case-gallery-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;padding:0 12px 12px}
.case-gallery-thumbs>a{display:block;position:relative;background:#fff;border:1px solid var(--line);min-width:0}
.case-gallery-thumbs>a:hover{border-color:var(--red)}
.case-gallery-thumbs img{width:100%;height:auto;display:block}
.case-gallery-thumbs span{position:absolute;bottom:4px;right:4px;background:#1a1a1adb;color:#fff;font-size:10px;padding:2px 6px}
.case-lightbox{padding:0;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#121415;color:#fff;margin:auto;overflow:hidden}
.case-lightbox::backdrop{background:#000d}
.case-lightbox[open]{display:flex;flex-direction:column}
.case-lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 24px;min-height:68px;flex:0 0 auto}
.case-main .case-lightbox-counter{color:#d7dadd!important;font:500 14px/1.5 var(--font-ui)!important;margin:0!important}
.case-lightbox button{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;background:#292c2e;border:1px solid #53575b;color:#fff;cursor:pointer;font:600 14px/1.3 var(--font-ui);padding:10px 16px}
.case-lightbox button:hover{background:var(--red);border-color:var(--red)}
.case-lightbox button:disabled{visibility:hidden}
.case-lightbox-stage{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:12px;padding:0 24px;min-height:0;flex:1}
.case-lightbox-stage>img{width:100%;height:100%;min-height:0;object-fit:contain;display:block}
.case-main .case-lightbox-caption{font-size:12px!important;line-height:1.5!important;color:#c6cbd0!important;text-align:center;margin:0!important;padding:14px 24px 20px;flex:0 0 auto}
html:has(.case-lightbox[open]){overflow:hidden}
@media(max-width:760px){
 .case-card-photo{margin:-24px -24px 20px}
 .case-gallery{margin-bottom:32px}
 .case-gallery-cover img{max-height:none}
 .case-gallery-more>summary{padding:14px 12px;font-size:12px}
 .case-gallery-thumbs{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 9px 9px}
 .case-lightbox-bar{padding:8px 12px;min-height:64px}
 .case-lightbox-stage{display:block;position:relative;padding:0 8px}
 .case-lightbox-stage>button{position:absolute;top:50%;transform:translateY(-50%);z-index:1;background:#1a1a1abf}
 .case-lightbox-stage>[data-gallery-prev]{left:8px}
 .case-lightbox-stage>[data-gallery-next]{right:8px}
 .case-lightbox button{padding:10px;min-width:44px;min-height:44px}
 .case-lightbox-stage>img{height:100%;max-height:none}
 .case-main .case-lightbox-caption{padding:12px 18px 20px;font-size:11px!important}
}
/* Portrait-first case cards, including related projects outside the case index. */
.case-card:has(.case-card-photo--landscape){align-self:start}
.case-card .case-metric{padding:18px 0;margin:12px 0 18px}
.case-card .case-card-result{margin-bottom:20px}
@media(min-width:1100px){
 .jg-service-case,.jg-cat-cases>div:not(.jg-section-heading)>a{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);grid-template-rows:auto auto 1fr auto;column-gap:24px;align-items:start}
 .jg-service-case .case-card-photo,.jg-cat-cases .case-card-photo{grid-column:1;grid-row:1/5;margin:0;align-self:start}
 .jg-service-case>:not(.case-card-photo),.jg-cat-cases>div:not(.jg-section-heading)>a>:not(.case-card-photo){grid-column:2;min-width:0}
 .jg-service-case h3,.jg-cat-cases h3{font-size:20px;margin:12px 0}
 .jg-service-case p,.jg-cat-cases>div:not(.jg-section-heading)>a>p{font-size:13px;line-height:1.75;margin:0 0 18px}
 .jg-service-case .jg-service-card-link,.jg-cat-cases>div:not(.jg-section-heading)>a .jg-text-link{font-size:11px;line-height:1.6;white-space:normal}
}
/* Interlinking previews are compact; the full case index stays photo-first. */
:is(.case-home,.case-related) .case-card{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);grid-template-rows:auto auto 1fr auto;gap:0 18px;padding:20px;align-items:start;align-self:stretch}
:is(.case-home,.case-related) .case-card-photo{grid-column:1;grid-row:1/5;margin:0;border:0;align-self:start}
:is(.case-home,.case-related) .case-card>:not(.case-card-photo){grid-column:2;min-width:0}
:is(.case-home,.case-related) .case-card .case-metric,:is(.case-home,.case-related) .case-card .case-location,:is(.case-home,.case-related) .case-card-kind{display:none}
:is(.case-home,.case-related) .case-card-top{min-height:18px;margin-bottom:10px}
:is(.case-home,.case-related) .case-number{font-size:10px;letter-spacing:.06em;font-weight:600;color:#687078}
:is(.case-home,.case-related) .case-number:before{content:'КЕЙС '}
:is(.case-home,.case-related) .case-card h2{font-size:17px;line-height:1.35;margin:0 0 12px}
:is(.case-home,.case-related) .case-card-result{font-size:12px;line-height:1.75;margin:0 0 16px}
:is(.case-home,.case-related) .case-card-bottom{display:block;padding-top:12px;align-self:end;min-height:44px}
:is(.case-home,.case-related) .case-card-bottom>span:first-child{display:none}
:is(.case-home,.case-related) .case-read{font-size:11px;white-space:normal;line-height:1.6}
@media(min-width:761px) and (max-width:1100px){:is(.case-home,.case-related) .cases-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1099px){
 .jg-service-case,.jg-cat-cases>div:not(.jg-section-heading)>a{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);grid-template-rows:auto auto 1fr auto;gap:0 18px;align-items:start;padding:20px}
 .jg-service-case .case-card-photo,.jg-cat-cases .case-card-photo{grid-column:1;grid-row:1/5;margin:0;border:0}
 .jg-service-case>:not(.case-card-photo),.jg-cat-cases>div:not(.jg-section-heading)>a>:not(.case-card-photo){grid-column:2;min-width:0}
 .jg-service-case h3,.jg-cat-cases h3{font-size:17px;line-height:1.35;margin:10px 0 12px}
 .jg-service-case p,.jg-cat-cases>div:not(.jg-section-heading)>a>p{font-size:12px;line-height:1.75;margin:0 0 16px}
 .jg-service-case .jg-service-card-link,.jg-cat-cases>div:not(.jg-section-heading)>a .jg-text-link{font-size:11px;line-height:1.6;white-space:normal}
}
@media(max-width:420px){
 :is(.case-home,.case-related) .case-card,.jg-service-case,.jg-cat-cases>div:not(.jg-section-heading)>a{padding:16px;column-gap:14px;grid-template-columns:92px minmax(0,1fr)}
 :is(.case-home,.case-related) .case-card h2,.jg-service-case h3,.jg-cat-cases h3{font-size:16px}
}
