/* V68 | Mobile slider / managed block / partners / service directory.
 * Intentionally scoped, appended after v67 to leave desktop hero and service-detail intact.
 */

/* 1. On smaller devices, reduce dead space without clipping slides.
   V67 overlays slides in one grid cell, so tallest slide keeps the frame steady. */
@media (max-width: 900px) {
  body.cms-theme .hero-slider.hero-slider-v19 {
    overflow:hidden!important;
    background:#eaf7ff!important;
    border-bottom:1px solid #d2e7f5;
  }
  body.cms-theme .hero-slider-v19 .hero-slide,
  body.cms-theme .hero-slider-v19 .hero-slide.active {
    overflow:hidden!important;
  }
  body.cms-theme .hero-slider-v19 .hero-content {
    padding-top:22px!important;
    padding-bottom:58px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-static-bg {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    opacity:.72!important;
    filter:saturate(.9) brightness(1.06)!important;
  }
  body.cms-theme .hero-slider-v19 .hero-glow {
    background:linear-gradient(105deg,rgba(249,253,255,.97) 0%,rgba(245,251,255,.92) 45%,rgba(237,247,254,.72) 100%)!important;
  }
  body.cms-theme .hero-slider-v19 .hero-copy-v19 .eyebrow {
    margin-bottom:10px!important;
    color:#067cad!important;
  }
  body.cms-theme .hero-slider-v19 .hero-copy-v19 h1 {
    font-size:clamp(25px,3.3vw,34px)!important;
    line-height:1.14!important;
    text-wrap:balance;
    margin:0 0 9px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-copy-v19 p {
    margin:0!important;
    color:#214866!important;
    font-size:12.8px!important;
    line-height:1.46!important;
  }
  body.cms-theme .hero-slider-v19 .hero-actions {
    margin-top:13px!important;
    gap:8px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-actions .btn {
    min-height:40px!important;
    padding:9px 10px!important;
    border-radius:10px!important;
    font-size:11.5px!important;
    line-height:1.3!important;
  }
  body.cms-theme .hero-slider-v19 .hero-features-v19 {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    margin-top:13px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-features-v19 > div {
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center;
    gap:6px!important;
    min-height:82px!important;
    padding:9px 5px!important;
    border-radius:11px!important;
    background:rgba(255,255,255,.91)!important;
    border-color:#d0e8f7!important;
  }
  body.cms-theme .hero-slider-v19 .hero-features-v19 .feature-icon {
    width:29px!important;
    height:29px!important;
    flex:0 0 29px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-features-v19 b {
    font-size:9.6px!important;
    line-height:1.25!important;
    letter-spacing:-.005em;
  }
  body.cms-theme .hero-slider-v19 .slider-arrow {
    bottom:9px!important;
    width:32px!important;
    height:32px!important;
  }
  body.cms-theme .hero-slider-v19 .slider-dots-v19 {
    bottom:13px!important;
  }
}
@media (max-width:600px){
  body.cms-theme .hero-slider-v19 .hero-content {
    width:calc(100% - 30px)!important;
    padding:18px 0 52px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-copy-v19 h1 {
    font-size:clamp(23px,6.35vw,28px)!important;
    line-height:1.12!important;
    min-height:4.48em;
    margin-bottom:6px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-copy-v19 p {
    font-size:12.1px!important;
    line-height:1.47!important;
    min-height:4.1em;
  }
  body.cms-theme .hero-slider-v19 .hero-actions {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.cms-theme .hero-slider-v19 .hero-actions .btn {
    min-height:40px!important;
    padding:8px 6px!important;
    font-size:11px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-features-v19>div {
    min-height:79px!important;
    padding:8px 4px!important;
  }
}
@media (max-width:350px){
  body.cms-theme .hero-slider-v19 .hero-copy-v19 h1 {
    font-size:23px!important;
    min-height:5.1em;
  }
  body.cms-theme .hero-slider-v19 .hero-copy-v19 p{min-height:5.4em}
  body.cms-theme .hero-slider-v19 .hero-actions {grid-template-columns:1fr!important}
  body.cms-theme .hero-slider-v19 .hero-features-v19>div {min-height:93px!important}
  body.cms-theme .hero-slider-v19 .hero-features-v19 b{font-size:9px!important}
}

/* 2. The redundant endpoint/cloud/security/field/license mobile list. */
@media(max-width:700px){
  body.cms-theme .managed-grid>.managed-list {display:none!important}
  body.cms-theme .managed-grid {gap:14px!important}
}

/* 3. Smaller, consistent partner marks and a shorter section on mobile. */
@media(max-width:700px){
  body.cms-theme .partners {
    padding:22px 0 24px!important;
  }
  body.cms-theme .partner-head {gap:7px!important}
  body.cms-theme .partner-head h2 {
    font-size:clamp(22px,5vw,26px)!important;
    line-height:1.18!important;
    margin:3px 0 0!important;
  }
  body.cms-theme .partner-head p {
    font-size:11px!important;
    line-height:1.42!important;
    max-width:32rem!important;
  }
  body.cms-theme .partner-marquee {
    margin-top:9px!important;
    padding:3px 0!important;
  }
  body.cms-theme .partner-track {gap:8px!important}
  body.cms-theme .partner-logo {
    flex:0 0 108px!important;
    width:108px!important;
    height:53px!important;
    padding:7px 9px!important;
    border-radius:11px!important;
    box-shadow:0 3px 11px rgba(15,56,95,.035)!important;
  }
  body.cms-theme .partner-logo img {
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-height:39px!important;
    object-fit:contain!important;
  }
  body.cms-theme .partner-marquee::before,
  body.cms-theme .partner-marquee::after{width:18px!important}
}

/* 4. A typographic service index: no chunky cards and no large blank right halves.
   Rows use thin rules, clear headings, compact summaries and a quiet call-to-action. */
.v45-catalog .v43-results-section {
  background:#fff!important;
  padding-top:38px!important;
  padding-bottom:52px!important;
}
.v45-catalog .v43-results-main {
  min-width:0;
}
.v45-catalog .v43-results-head {
  border-bottom:1px solid #d7e7f2!important;
  padding-bottom:17px!important;
  margin-bottom:8px!important;
}
.v45-catalog .v43-results-head h2 {
  font-size:clamp(25px,2.65vw,34px)!important;
  letter-spacing:-.04em;
}
.v45-catalog .v46-service-directory {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:28px!important;
  row-gap:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  counter-reset:v68service;
  overflow:visible!important;
}
.v45-catalog .v46-service-entry,
.v45-catalog .v46-service-entry:not(:last-child) {
  position:relative;
  display:block!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  border-bottom:1px solid #dae8f1!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  counter-increment:v68service;
  transition:none!important;
}
.v45-catalog .v46-service-entry::before,
.v45-catalog .v46-service-entry::after {display:none!important;content:none!important}
.v45-catalog .v46-service-entry-link {
  position:relative;
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) auto!important;
  grid-template-rows:auto!important;
  align-items:start!important;
  align-content:start!important;
  gap:11px!important;
  width:100%!important;
  min-height:102px!important;
  height:auto!important;
  padding:20px 8px!important;
  color:inherit;
  background:transparent!important;
  border:0!important;
  border-radius:10px!important;
  box-shadow:none!important;
  transition:background .2s ease!important;
}
.v45-catalog .v46-entry-icon {
  grid-column:1!important;
  grid-row:1!important;
  width:46px!important;
  height:46px!important;
  margin:0!important;
  border:1px solid #d2eaf7!important;
  border-radius:13px!important;
  background:#eff9ff!important;
  color:#078dc9!important;
}
.v45-catalog .v46-entry-icon svg {
  display:block!important;
  width:24px!important;height:24px!important;
  max-width:24px!important;max-height:24px!important;
  stroke-width:1.8!important;
}
.v45-catalog .v46-entry-copy {
  grid-column:2!important;
  grid-row:1!important;
  display:block!important;
  min-width:0;
  padding-top:2px;
}
.v45-catalog .v46-entry-title {
  display:block;
  font-size:15.5px!important;
  line-height:1.32!important;
  font-weight:850!important;
  color:#0b2f50!important;
  overflow-wrap:break-word;
}
.v45-catalog .v46-entry-summary {
  display:block;
  max-width:45ch;
  font-size:12.1px!important;
  line-height:1.55!important;
  margin-top:5px!important;
  color:#607f95!important;
}
.v45-catalog .v46-entry-aside {
  display:flex!important;
  grid-column:3!important;
  grid-row:1!important;
  justify-content:flex-start!important;
  align-items:center!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  margin:4px 0 0!important;
  min-width:0!important;
}
.v45-catalog .v46-entry-tech {display:none!important}
.v45-catalog .v46-entry-action {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:29px!important;
  margin:0!important;
  padding:5px 9px!important;
  border:1px solid #bfdff1!important;
  border-radius:8px!important;
  background:rgba(249,253,255,.95)!important;
  color:#137eaf!important;
  font-size:10.7px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-decoration:none!important;
  white-space:nowrap;
  box-shadow:none!important;
}
@media(hover:hover) and (pointer:fine) {
  .v45-catalog .v46-service-entry:hover {transform:none!important;box-shadow:none!important;border-color:#d9e7f0!important}
  .v45-catalog .v46-service-entry-link:hover {
    background:linear-gradient(100deg,#f4fbff 0%,#fff 100%)!important;
  }
  .v45-catalog .v46-service-entry-link:hover .v46-entry-title{color:#057cad!important}
  .v45-catalog .v46-service-entry-link:hover .v46-entry-action{background:#eaf7fd!important;color:#076f9f!important}
}
.v45-catalog .v46-service-entry-link:focus-visible {
  outline:2px solid #0d9ddb!important;outline-offset:2px;
}
@media(max-width:1080px){
  .v45-catalog .v46-service-directory {grid-template-columns:1fr!important}
  .v45-catalog .v46-service-entry-link {min-height:88px!important}
}
@media(max-width:600px){
  .v45-catalog .v43-results-section {padding-top:27px!important}
  .v45-catalog .v46-service-entry-link {
    grid-template-columns:41px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:5px 12px!important;
    padding:16px 1px!important;
    min-height:0!important;
  }
  .v45-catalog .v46-entry-icon {
    grid-column:1!important;grid-row:1 / span 2!important;
    width:40px!important;height:40px!important;
    border-radius:11px!important;
  }
  .v45-catalog .v46-entry-icon svg {width:21px!important;height:21px!important}
  .v45-catalog .v46-entry-copy {grid-column:2!important;grid-row:1!important}
  .v45-catalog .v46-entry-title {font-size:14.8px!important}
  .v45-catalog .v46-entry-summary {font-size:11.9px!important;line-height:1.49!important}
  .v45-catalog .v46-entry-aside {
    grid-column:2!important;grid-row:2!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    margin:0!important;
  }
  .v45-catalog .v46-entry-action {
    min-height:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    border-radius:0!important;
    color:#0983be!important;
    font-size:11.5px!important;
    text-decoration:underline!important;
    text-underline-offset:3px!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  body.cms-theme .hero-slider-v19 .hero-slide,
  .v45-catalog .v46-service-entry-link{transition:none!important}
}

/* Final mobile hero refinement: avoid fake whitespace between headline and
   description. Shorter slides are vertically centered inside the shared track. */
@media(max-width:600px){
  body.cms-theme .hero-slider-v19 .hero-copy-v19 h1,
  body.cms-theme .hero-slider-v19 .hero-copy-v19 p {min-height:0!important}
  body.cms-theme .hero-slider-v19 .hero-slide,
  body.cms-theme .hero-slider-v19 .hero-slide.active {
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  body.cms-theme .hero-slider-v19 .hero-content {
    align-self:stretch!important;
    flex:0 0 auto!important;
    min-height:0!important;
    margin:auto!important;
  }
}
