/* Qtech V3 - layout hardening and visual refinement */

/* Make all Qtech grids deterministic even when translation extensions inject spans. */
.q2-grid2,
.q2-grid3,
.q2-process{
  width:100%!important;
  align-items:stretch!important;
  grid-auto-flow:row!important;
}
.q2-grid2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.q2-grid3,.q2-process{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.q2-grid2 > *,
.q2-grid3 > *,
.q2-process > *{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  float:none!important;
  clear:none!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
}

/* Cards should always behave as block-level grid items. */
.q2-card,
.q2-article,
.q2-case,
.q2-process>div,
.q2-darkcard{
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  transform:none!important;
}
.q2-card{
  min-height:240px!important;
}
.q2-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 12px 32px rgba(10,32,53,.08)!important;
}

/* Prevent translated badge fragments from escaping their card. */
.q2-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  inset:auto!important;
  float:none!important;
  clear:both!important;
  width:auto!important;
  min-width:42px!important;
  height:34px!important;
  padding:0 10px!important;
  margin:0 0 14px 0!important;
  border-radius:999px!important;
  line-height:1!important;
  overflow:hidden!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
.q2-icon *{
  display:inline!important;
  position:static!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
}

/* Cleaner capability typography. */
.q2-card h3{margin:0 0 12px!important;line-height:1.25!important}
.q2-card p{margin:0!important}

/* Header: stronger brand presence, single-line desktop navigation. */
.site-header-row-container-inner>.site-container{
  max-width:1320px!important;
  padding-left:22px!important;
  padding-right:22px!important;
}
.site-branding{
  flex:0 0 auto!important;
  min-width:max-content!important;
}
.site-title,
.site-title a{
  font-size:19px!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
  color:#0a2035!important;
  white-space:nowrap!important;
}
.main-navigation,
.primary-menu-container{
  min-width:0!important;
}
.main-navigation .primary-menu-container>ul{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:0!important;
}
.main-navigation .primary-menu-container>ul>li{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.main-navigation .primary-menu-container>ul>li>a{
  font-size:12.5px!important;
  padding-left:8px!important;
  padding-right:8px!important;
  min-height:62px!important;
}

/* Hero refinement */
.q2-hero{padding-top:76px!important}
.q2-hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr)!important;gap:48px!important}
.q2-media{
  min-height:330px!important;
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:
    radial-gradient(circle at 20% 20%,rgba(20,94,248,.28),transparent 35%),
    linear-gradient(145deg,#0a2035,#113b62 70%,#164f7d)!important;
}
.q2-media:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:28px 28px;
  pointer-events:none;
}
.q2-media-inner,
.q2-media>div{
  position:relative!important;
  z-index:1!important;
  max-width:360px!important;
}
.q2-media strong{font-size:24px!important;line-height:1.25!important}
.q2-media span{font-size:14px!important;line-height:1.6!important}

/* Better spacing and consistency */
.q2-section{overflow:hidden!important}
.q2-head{align-items:flex-end!important}
.q2-case,.q2-article{height:100%!important}
.q2-case-body{display:flex!important;flex-direction:column!important;height:calc(100% - 145px)!important}
.q2-case-body a{margin-top:auto!important}

/* Desktop widths */
@media (min-width:961px){
  .q2-wrap{width:min(1180px,calc(100% - 56px))!important}
}

/* Tablet */
@media(max-width:1100px){
  .main-navigation .primary-menu-container>ul>li>a{font-size:11.5px!important;padding-left:6px!important;padding-right:6px!important}
  .q2-hero-grid{grid-template-columns:1fr 1fr!important;gap:34px!important}
}
@media(max-width:960px){
  .q2-grid3,.q2-process{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .q2-grid2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .q2-hero-grid{grid-template-columns:1fr!important}
  .q2-media{min-height:260px!important}
}
@media(max-width:680px){
  .q2-grid2,.q2-grid3,.q2-process{grid-template-columns:1fr!important}
  .q2-card{min-height:0!important}
  .q2-media{min-height:220px!important}
  .q2-media strong{font-size:20px!important}
}
