/* Product cases use the same complete 16:9 preview as the portfolio. */
html body .po-page .po-projects .po-project .po-project__media[data-als-project-preview]{
 display:block;flex:none;align-self:start;width:100%;min-height:0;height:auto;aspect-ratio:16/9;overflow:hidden
}
html body .po-page .po-projects .po-project .po-project__media[data-als-project-preview] picture,
html body .po-page .po-projects .po-project .po-project__media[data-als-project-preview] img{
 display:block;width:100%;height:100%;min-height:0;aspect-ratio:16/9;object-fit:cover;object-position:50% 50%
}
/* The string page has a legacy feature grid; use complete previews in uniform cards. */
html body .po-page:not(.po-product).po-page--strings .po-projects{
 grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:18px
}
html body .po-page:not(.po-product).po-page--strings .po-projects .po-project,
html body .po-page:not(.po-product).po-page--strings .po-projects .po-project:first-child{
 display:flex;flex-direction:column;grid-row:auto;grid-column:auto;min-width:0;min-height:0
}
html body .po-page:not(.po-product).po-page--strings .po-projects .po-project__body,
html body .po-page:not(.po-product).po-page--strings .po-projects .po-project:first-child .po-project__body{
 display:flex;flex:1;flex-direction:column;justify-content:flex-start
}
html body .po-page:not(.po-product).po-page--strings .po-projects .po-project__link{margin-top:auto}
@media(max-width:900px){
 html body .po-page:not(.po-product).po-page--strings .po-projects{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 html body .po-page:not(.po-product).po-page--strings .po-projects{grid-template-columns:minmax(0,1fr);gap:16px}
}
