.hs-research-intro { max-width: 740px; margin: 24px auto 0; padding: 0 24px; font-size: 16px; line-height: 1.65; }
.hs-research-intro p { margin: 0 0 18px; }
.hs-research-intro a { color: #8fd6c8; }
.hs-demo-availability { padding: 18px 22px; border: 1px solid #8fd6c850; border-radius: 8px; background: #121b2199; color: #e9f0f5; }
.hs-demo-availability strong { color: #8fd6c8; }
#models { scroll-margin-top: 82px; }
#models .tooltip .tooltiptext { box-sizing: border-box; left: 50%; right: auto; top: auto; bottom: 100%; transform: translateX(-50%); width: min(220px, 40vw); }
#models #content .tooltip > a { display: inline-block; border-radius: 8px; }
#models #content a:focus-visible { outline: 2px solid #8fd6c8; outline-offset: 8px; }
#models #content { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
#models #content .row { display: contents; margin: 0; }
/* The legacy Skel rows add clearfix pseudo-elements. With display: contents,
   they become invisible grid items and push cards into the wrong columns. */
#models #content .row::before,
#models #content .row::after { content: none !important; display: none !important; }
#models #content .row > section {
  float: none;
  width: auto;
  min-width: 0;
  padding: 0 !important;
  margin: 0 0 50px !important;
  clear: none;
}
#models #content .row > section:empty { display: none; }
#models #content h3 { font-size: 23px; margin-top: 20px; }
#models #content img { max-width: 100%; object-fit: contain; }
@media (max-width: 760px) {
  #models #content { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  #models #content h3 { font-size: 18px; }
  #models #content img { height: 150px; }
  .hs-research-intro { padding: 0 20px; font-size: 15px; }
}
