/* Keep footer links above the floating contact widget on wider screens. */
@media (min-width: 600px) {
  footer.q2-site-footer { padding-bottom: 112px; }
}
.q2-ind .q2-niche-cases .tp-head { margin-bottom:24px; }
.q2-ind .q2-niche-case-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; }
.q2-ind .q2-niche-case { display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid #303039; border-radius:8px; background:#101016; color:#fff; text-decoration:none; }
.q2-ind .q2-niche-case>img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.q2-ind .q2-niche-case-content { display:flex; flex:1; min-width:0; flex-direction:column; align-items:flex-start; padding:24px; }
.q2-ind .q2-niche-case-meta { display:flex; gap:10px 16px; flex-wrap:wrap; margin:0 0 16px; color:#b9b9c6; font-size:13px; line-height:1.5; }
.q2-ind .q2-niche-case h3 { margin:0 0 24px; font-family:Onest,system-ui,sans-serif; font-size:20px; font-weight:600; line-height:1.4; letter-spacing:0; overflow-wrap:anywhere; }
.q2-ind .q2-niche-case-more { margin-top:auto; color:#c7b8ff; font-size:14px; line-height:1.5; }
.q2-ind .q2-niche-case:hover { border-color:#9a9aab; }
.q2-ind .q2-niche-case:focus-visible { outline:2px solid #c7b8ff; outline-offset:4px; }
@media (max-width:1023px) { .q2-ind .q2-niche-case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } }
@media (max-width:599px) {
  .q2-ind .q2-niche-case-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .q2-ind .q2-niche-case-content { padding:20px; }
  .q2-ind .q2-niche-case h3 { font-size:18px; }
}
