/* APIS LAB v6.77 — full responsive QA fixes.
   Scope: solutions matrix presentation, desktop Solutions dropdown transit,
   and small global resilience fixes. Existing visual language is preserved. */

/* HOME / APIS LAB SOLUTIONS — restore the intended card matrix instead of a text run. */
.solutions6{overflow:hidden}
.solutions6 .section6-head{margin-bottom:38px}
.solutions6 .section6-head h2{font-size:clamp(56px,5.15vw,92px);line-height:.92;letter-spacing:-.055em;max-width:760px}
.solutions6 .section6-head>p{max-width:560px;font-size:18px;line-height:1.58;color:#5f6369}
.v676-home-solutions-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(17,19,24,.16);
  border-left:1px solid rgba(17,19,24,.16);
  counter-reset:apis-solution;
  margin-top:0!important;
}
.v676-home-solutions-grid>a{
  counter-increment:apis-solution;
  min-width:0;
  min-height:146px;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:start;
  gap:14px;
  padding:22px 20px 20px;
  border-right:1px solid rgba(17,19,24,.16);
  border-bottom:1px solid rgba(17,19,24,.16);
  color:#111318;
  text-decoration:none;
  background:#fff;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}
.v676-home-solutions-grid>a::before{
  content:counter(apis-solution,decimal-leading-zero);
  font-size:10px;
  line-height:1.2;
  letter-spacing:.09em;
  color:#777b82;
  padding-top:4px;
}
.v676-home-solutions-grid>a>b{
  min-width:0;
  font-size:clamp(16px,1.13vw,20px);
  line-height:1.18;
  letter-spacing:-.022em;
  font-weight:760;
  overflow-wrap:anywhere;
}
.v676-home-solutions-grid>a>span{
  flex:0 0 auto;
  font-size:19px;
  line-height:1;
  transform:translateX(0);
  transition:transform .18s ease;
}
@media (hover:hover) and (pointer:fine){
  .v676-home-solutions-grid>a:hover{background:#111318;color:#fff}
  .v676-home-solutions-grid>a:hover::before{color:rgba(255,255,255,.58)}
  .v676-home-solutions-grid>a:hover>span{transform:translateX(4px)}
}

/* DESKTOP SOLUTIONS DROPDOWN — create a real hover bridge and keep the menu stable
   while the pointer travels from the label to the dropdown panel. */
@media(min-width:981px){
  .v676-nav-dropdown{z-index:135}
  .v676-nav-dropdown::after{
    content:"";
    position:absolute;
    left:-18px;
    right:-18px;
    top:100%;
    height:16px;
    background:transparent;
    z-index:128;
  }
  .v676-nav-menu{top:calc(100% + 8px);z-index:130}
  .v676-nav-dropdown.open .v676-nav-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
}

/* Long labels/headings should never create horizontal page scrolling. */
.v6-nav a,.mobile-nav a,.context-next>a,.v676-home-solutions-grid>a{min-width:0}
main h1,main h2,main h3,main p{overflow-wrap:break-word}

@media(max-width:1180px){
  .v676-home-solutions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v676-home-solutions-grid>a{min-height:136px}
}
@media(max-width:900px){
  .solutions6 .section6-head{margin-bottom:30px}
  .solutions6 .section6-head h2{font-size:clamp(50px,8vw,72px)}
  .solutions6 .section6-head>p{font-size:17px}
  .v676-home-solutions-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v676-home-solutions-grid>a{min-height:118px;padding:19px 17px}
}
@media(max-width:640px){
  .solutions6 .section6-head{margin-bottom:24px}
  .solutions6 .section6-head h2{font-size:clamp(43px,13vw,58px);max-width:8ch}
  .solutions6 .section6-head>p{font-size:16px;line-height:1.5}
  .v676-home-solutions-grid{grid-template-columns:1fr!important;border-left:0}
  .v676-home-solutions-grid>a{
    grid-template-columns:32px minmax(0,1fr) auto;
    min-height:0;
    padding:18px 4px 18px 0;
    border-right:0;
  }
  .v676-home-solutions-grid>a>b{font-size:18px;line-height:1.22}
}
