@media (max-width: 980px) {
.site-header { height:auto; min-height:104px; padding-top:14px; padding-bottom:14px; flex-wrap:wrap; gap:8px 18px; }
.site-header .brand { flex:1 1 auto; }
.site-header nav, .detail-page .site-header nav { order:3; width:100%; margin:4px 0 0; padding-top:8px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2px 12px; border-top:1px solid #d9d6ce; font-size:clamp(15px,2.6vw,19px); }
.site-header nav a { padding:8px 4px 6px; text-align:center; }
.contact-menu { margin-left:auto; }
}
@media(max-width:560px) { .site-header nav, .detail-page .site-header nav { gap:2px 6px; font-size:15px; } }


/* Keep homepage research cards within the available width. */
.focus .cards > .card {
  min-width: 0;
}

@media (max-width: 850px) {
  .focus .cards {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .focus .card {
    width: 100%;
    box-sizing: border-box;
    overflow-wrap: anywhere;
  }

  .focus .card .image {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .focus .card .image img {
    max-width: 100%;
    object-fit: contain;
  }
}

@media (max-width: 560px) {
  .site-header .brand .lab-logo {
    width: 60px;
    height: 60px;
  }
}
