/* A case cover is a finished photograph, often with typography inside it.
   Give portrait and landscape originals frames that reveal the whole image. */
.case-grid.home-case-grid,.case-grid-page{align-items:stretch;grid-auto-flow:row}
.case-grid.home-case-grid .case-card.is-landscape,.case-grid-page .case-card.is-landscape{grid-column:span 2}
.case-grid.home-case-grid .case-card,.case-grid-page .case-card{min-width:0;display:flex;flex-direction:column;border:1px solid #dce3dc;border-radius:5px;overflow:hidden;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.case-grid.home-case-grid .case-card:hover,.case-grid-page .case-card:hover{border-color:#aebfb1;box-shadow:0 12px 32px #1b302414}
.case-grid.home-case-grid .case-card-media,.case-grid-page .case-card-media{display:flex;align-items:center;justify-content:center;position:relative;width:100%;aspect-ratio:3/4;padding:12px;overflow:hidden;background:linear-gradient(145deg,#f5f7f4,#e8ece8)}
.case-grid.home-case-grid .case-card.is-landscape .case-card-media,.case-grid-page .case-card.is-landscape .case-card-media{aspect-ratio:3/2}
.case-grid.home-case-grid .case-card-media img,.case-grid-page .case-card-media img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;box-shadow:0 9px 24px #1b30241c;transform:none}
.case-grid.home-case-grid .case-card:hover .case-card-media img{transform:none}
.case-grid-page{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.case-grid-page .case-card-copy{display:flex;flex-direction:column;flex:1;min-height:176px;padding:18px 20px 20px}
.case-grid-page .case-card-copy h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:8px 0 7px;font-size:17px;line-height:1.45}
.case-grid-page .case-card-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 15px;color:#66746a;font-size:12px;line-height:1.7}
.case-grid-page .case-card-copy>a{align-self:flex-start;margin-top:auto;color:#1e5031;font-size:12px;font-weight:700}
.case-grid-page .case-card-copy>a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.case-grid.home-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.case-grid-page{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.case-grid.home-case-grid,.case-grid-page{grid-template-columns:1fr}.case-grid.home-case-grid .case-card.is-landscape,.case-grid-page .case-card.is-landscape{grid-column:auto}.case-grid.home-case-grid .case-card-media,.case-grid-page .case-card-media{max-height:420px}.case-grid.home-case-grid .case-card.is-landscape .case-card-media,.case-grid-page .case-card.is-landscape .case-card-media{aspect-ratio:16/9}.case-grid-page .case-card-copy{min-height:150px;padding:15px 17px 18px}}
