/* photo cases / Фотокарточки: shared service and catalog template. */
.photo-cases__header{display:grid;gap:var(--space-12);align-items:center;min-width:0}
.photo-cases__header .section-intro{max-width:840px}
.photo-cases__header h2{max-width:20ch}
.photo-cases__header .lead{max-width:var(--measure-body)}
.photo-cases__logo{display:none;width:100%;height:auto;max-width:520px;justify-self:end}
.photo-cases__track{--cases-gap:var(--space-4);--cases-basis:min(360px,calc(100% - 48px));gap:var(--cases-gap)}
.photo-cases__track::after{content:"";flex:0 0 calc(100% - var(--cases-basis) - var(--cases-gap))}
.photo-cases__card{position:relative;isolation:isolate;display:flex;flex-direction:column;flex-basis:var(--cases-basis);min-height:360px;overflow:hidden;border-radius:var(--action-radius);background:var(--color-dark);color:var(--color-surface)}
.photo-cases__image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.photo-cases__copy{position:relative;isolation:isolate;display:grid;gap:var(--space-3);margin-top:auto;padding:var(--space-6);padding-top:var(--space-12)}
.photo-cases__copy::before{content:"";position:absolute;z-index:-1;inset:-48px 0 0;pointer-events:none;background:linear-gradient(180deg,rgba(7,24,36,0),rgba(7,24,36,.85) 34%,rgba(7,24,36,.97))}
.photo-cases__copy h3{color:inherit;text-wrap:wrap}
.photo-cases__copy p{color:var(--color-inverse);font-size:var(--type-body);line-height:var(--leading-body)}
.photo-cases__card--light{background:var(--color-fog);color:var(--color-ink)}
.photo-cases__card--light .photo-cases__copy::before{background:linear-gradient(180deg,rgba(243,245,247,0),rgba(243,245,247,.93) 34%,var(--color-fog))}
.photo-cases__card--light .photo-cases__copy p{color:var(--color-muted)}
@media(min-width:768px){
 .photo-cases__track{--cases-gap:var(--space-6);--cases-basis:calc((100% - var(--cases-gap))/2)}
 .photo-cases__card{min-height:400px}
}
@media(min-width:1024px){
 .photo-cases__header{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}
 .photo-cases__logo{display:block}
 .pattern-photo-cases .flow-viewport{overflow:visible;scroll-snap-type:none}
 .pattern-photo-cases .flow-controls{display:none}
 .photo-cases__track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr}
 .photo-cases__track::after{display:none}
 .photo-cases__card{width:100%;min-height:380px;aspect-ratio:1/1}
}
@media(min-width:1366px){
 .photo-cases__track{grid-template-columns:repeat(4,minmax(0,1fr))}
 .photo-cases__card{aspect-ratio:1.08/1;min-height:360px}
}
