/* product + solution page base styles (restored)
   cloud.css was corrupted to a truncated copy of index.css;
   without .jdc-product-banner{position:relative}, the light
   ::before overlay in index.css paints over the whole page. */

.jdc-product-page{
  position:relative;
  width:100%;
  max-width:100%;
  overflow-x:clip;
  background:#fff;
  color:#262626
}
.jdc-product-banner{
  position:relative;
  z-index:1;
  margin-top:0;
  min-height:360px;
  height:360px;
  overflow:hidden;
  background-color:#f7fbff;
  background-repeat:no-repeat;
  background-position:right center;
  background-size:cover;
  box-sizing:border-box
}
.jdc-product-banner .m-product-bg{
  display:none;
  position:absolute;
  left:0;right:0;top:0;bottom:0;
  z-index:0;
  background-repeat:no-repeat;
  background-position:right center;
  background-size:auto 100%
}
.jdc-product-banner .j-w{
  position:relative;
  z-index:2;
  height:100%;
  box-sizing:border-box
}
.jdc-product-banner-ct{
  position:relative;
  z-index:2;
  max-width:640px;
  padding:110px 0 48px;
  box-sizing:border-box
}
.jdc-product-banner-tit{
  margin:0;
  color:#262626;
  font-size:36px;
  line-height:48px;
  font-weight:700
}
.jdc-product-banner-tit strong{font-weight:700;color:inherit}
.jdc-product-banner-subtit{
  margin:12px 0 0;
  color:#262626;
  font-size:22px;
  line-height:32px;
  font-weight:500
}
.jdc-product-banner-subtit strong{font-weight:500;color:inherit}
.jdc-product-banner-txt{
  margin:16px 0 0;
  color:#595959;
  font-size:14px;
  line-height:24px;
  max-width:560px
}
.m-showbox{margin-top:8px}
.p-showbox{display:block}
.p-showbox-m{display:none}
.jdc-product-btn,
.jdc-product-btn2{
  box-sizing:border-box;
  display:inline-block;
  vertical-align:middle;
  margin-top:24px;
  min-width:120px;
  height:36px;
  padding:0 20px;
  line-height:34px;
  text-align:center;
  font-size:14px;
  border-radius:6px;
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease,padding .2s ease
}
.jdc-product-btn{
  color:#fff;
  background:linear-gradient(90deg,#004f9b,#1f72fc);
  border:1px solid #1f72fc
}
.jdc-product-btn:hover{color:#fff;opacity:.92}
.jdc-product-btn2{
  color:#1f72fc;
  background:#fff;
  border:1px solid #8cc7ff
}
.jdc-product-btn2:hover{color:#1f72fc;border-color:#1f72fc}
.jdc-product-btn .arr-white,
.jdc-product-btn2 .arr-red{display:inline-block}
.ml10{margin-left:10px}

/* solution banner CTAs — same as homepage industry solutions cards */
.jdc-solution-page .jdc-product-banner .jdc-solution-banner-actions{
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:28px;
  padding-top:0;
  flex-shrink:0;
  width:auto;
  max-width:100%
}
.jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:auto;
  max-width:none;
  min-width:120px;
  height:36px;
  padding:0 16px;
  background:linear-gradient(90deg,#0059eb,#2677ff);
  font-size:14px;
  line-height:1;
  font-weight:400;
  color:#fff!important;
  text-decoration:none;
  cursor:pointer;
  border:0!important;
  border-radius:0!important;
  -webkit-border-radius:0!important;
  position:relative;
  overflow:hidden;
  box-sizing:border-box;
  box-shadow:none!important;
  --capability-btn-mx:50%;
  --capability-btn-my:50%
}
.jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-btn:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  opacity:0;
  background:radial-gradient(200px circle at var(--capability-btn-mx) var(--capability-btn-my),hsla(0,0%,100%,.28),hsla(0,0%,100%,0) 65%)
}
.jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-btn:hover:before{opacity:1}
.jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-btn-text{
  position:relative;
  z-index:2;
  display:inline-block;
  line-height:1.2;
  color:#fff
}
.jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-link{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  width:auto;
  margin:0;
  white-space:nowrap;
  font-size:14px;
  line-height:22px;
  font-weight:400;
  color:rgba(0,0,0,.9);
  text-decoration:none;
  cursor:pointer;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  min-width:0!important;
  height:auto!important;
  transition:color .3s ease-in-out
}
.jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-link:hover{color:#0052d9}
.jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-link-arrow{
  position:relative;
  display:inline-block;
  margin-left:4px;
  width:16px;
  height:16px;
  font-style:normal
}
.jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-link-arrow:after,
.jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-link-arrow:before{
  content:"";
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:50%;
  transition:.3s ease-in-out
}
.jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-link-arrow:before{
  background-image:url(../portal-home/images/tpm-portal-capability-link-arrow-default.svg)
}
.jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-link-arrow:after{
  transform:translateX(-3px);
  opacity:0;
  background-image:url(../portal-home/images/tpm-portal-capability-link-arrow-active.svg)
}
.jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-link:hover .tpm-portal-capability__card-link-arrow:before{
  transform:translateX(3px)
}
.jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-link:hover .tpm-portal-capability__card-link-arrow:after{
  transform:translateX(0);
  opacity:1
}
@media screen and (max-width:768px){
  .jdc-solution-page .jdc-product-banner .jdc-solution-banner-actions{
    gap:12px;
    margin-top:16px;
    flex-wrap:wrap
  }
  .jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-btn{
    min-width:100px;
    height:34px;
    padding:0 14px;
    font-size:13px
  }
  .jdc-solution-page .jdc-product-banner .tpm-portal-capability__card-link{
    font-size:13px;
    line-height:20px
  }
}

/* sticky section nav */
.jdc-product-nav-wrap{
  position:relative;
  z-index:20;
  background:#fff
}
.ui-ceilinglamp-2{position:relative}
.jdc-product-nav{
  position:-webkit-sticky;
  position:sticky;
  top:var(--jc-hd-height,60px);
  z-index:30;
  height:72px;
  background:#fff;
  border-bottom:1px solid #e8ecf2;
  box-sizing:border-box
}
.jdc-product-nav .nav-bar{
  position:relative;
  display:flex;
  align-items:center;
  height:72px;
  font-size:0;
  white-space:nowrap
}
.jdc-product-nav .nav-item{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
  width:auto;
  min-width:96px;
  height:72px;
  margin:0 8px 0 0;
  padding:0 12px;
  line-height:72px;
  font-size:16px;
  color:#595959;
  cursor:pointer;
  position:relative;
  box-sizing:border-box;
  transition:color .25s ease
}
.jdc-product-nav .nav-item span{
  display:inline-block;
  line-height:72px;
  color:inherit
}
.jdc-product-nav .nav-item:hover{color:#1f72fc}
.jdc-product-nav .nav-item.on{color:#1f72fc;font-weight:600}
/* product pages fallback underline */
.jdc-product-nav .nav-item.on:after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:16px;
  height:3px;
  background:#1f72fc;
  border-radius:0
}
/* solution / sliding bar: hide per-item underline */
.jdc-solution-page .jdc-product-nav .nav-item.on:after,
.jdc-product-nav .nav-bar.has-nav-indicator .nav-item.on:after{
  display:none!important;
  content:none!important
}
.jdc-product-nav .nav-indicator{
  position:absolute;
  top:auto;
  left:0;
  bottom:16px;
  display:block;
  width:0;
  height:3px;
  margin:0;
  padding:0;
  background:#1f72fc;
  border:0;
  border-radius:0!important;
  opacity:0;
  pointer-events:none;
  z-index:2;
  font-style:normal;
  -webkit-transform:translate3d(0,0,0);
  transform:translate3d(0,0,0);
  -webkit-transition:transform .38s cubic-bezier(.33,0,.2,1),width .38s cubic-bezier(.33,0,.2,1),opacity .2s ease;
  transition:transform .38s cubic-bezier(.33,0,.2,1),width .38s cubic-bezier(.33,0,.2,1),opacity .2s ease;
  will-change:transform,width
}
.jdc-product-nav .nav-indicator.is-ready{opacity:1}
@media (prefers-reduced-motion:reduce){
  .jdc-product-nav .nav-indicator{
    -webkit-transition:none!important;
    transition:none!important
  }
}
.jdc-product-nav .product-price{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  height:36px;
  padding:0 18px;
  color:#fff;
  font-size:14px;
  line-height:36px;
  background:linear-gradient(90deg,#004f9b,#1f72fc);
  border-radius:6px;
  text-decoration:none
}
.jdc-product-nav .product-price:hover{color:#fff;opacity:.92}
.jdc-product-nav .product-price .icon-tab{
  display:inline-block;
  margin-left:6px;
  width:6px;height:8px;
  background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='6' height='8' viewBox='0 0 6 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.375.625L4.75 4 1.375 7.375' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat
}

/* floors */
.jdc-product-floor,
.jdc-product-floor2,
.jdc-product-floor-item{
  position:relative;
  padding:56px 0;
  box-sizing:border-box
}
.jdc-product-floor{background:#fff}
.jdc-product-floor2{background:#f0f4f8}
.product-tit{
  margin:0;
  color:#262626;
  font-size:28px;
  line-height:40px;
  font-weight:600;
  text-align:center
}
.sol-floor-desc{
  margin:12px auto 0;
  max-width:760px;
  color:#8c8c8c;
  font-size:14px;
  line-height:22px;
  text-align:center
}
/* solution floors: homepage-style small tag + large title, left aligned */
.jdc-solution-page .sol-floor-hd{
  margin:0 0 32px;
  text-align:left
}
.jdc-solution-page .sol-floor-hd .tpm-portal-section__tag{
  margin:0;
  font-size:12px;
  line-height:20px;
  font-weight:500;
  color:#a7a7a7;
  letter-spacing:.04em
}
.jdc-solution-page .sol-floor-hd .tpm-portal-section__title{
  display:block;
  margin:8px 0 0;
  max-width:920px;
  font-size:32px;
  line-height:40px;
  font-weight:500;
  color:#000;
  text-align:left;
  -ms-flex:none;
  flex:none
}
.jdc-solution-page .product-tit,
.jdc-solution-page .sol-floor-desc{display:none}

/* hybrid core capabilities: same item+img pattern as product pages */
.jdc-solution-page .jdc-solution-features-grid .item{
  display:flex;
  align-items:flex-start
}
.jdc-solution-page .jdc-solution-features-grid .item img.img{
  flex-shrink:0;
  width:48px;
  height:48px;
  margin-right:16px;
  object-fit:contain
}
.jdc-product-floor2 .item,
.jdc-product-floor .item,
.jdc-solution-page .item{
  display:flex;
  align-items:flex-start;
  min-height:120px;
  margin-top:24px;
  padding:24px;
  background:#fff;
  border:1px solid #e8ecf2;
  box-sizing:border-box;
  transition:box-shadow .2s ease,border-color .2s ease
}
.jdc-product-floor2 .item:hover,
.jdc-product-floor .item:hover,
.jdc-solution-page .item:hover{
  border-color:#c9d7ef;
  box-shadow:0 8px 24px rgba(0,79,155,.08)
}
.jdc-product-floor2 .item.item-no-icon,
.jdc-product-floor .item.item-no-icon,
.jdc-solution-page .item.item-no-icon{
  display:block
}
.jdc-product-floor2 .item .cont,
.jdc-product-floor .item .cont,
.jdc-solution-page .item .cont{
  flex:1;
  min-width:0;
  margin:0
}
.jdc-product-floor2 .item .cont b,
.jdc-product-floor .item .cont b,
.jdc-solution-page .item .cont b{
  display:block;
  color:#262626;
  font-size:18px;
  line-height:26px;
  font-weight:600
}
.jdc-product-floor2 .item .cont p,
.jdc-product-floor .item .cont p,
.jdc-solution-page .item .cont p{
  margin:8px 0 0;
  color:#595959;
  font-size:14px;
  line-height:22px
}
/* solution page: taller hero banner */
.jdc-solution-page .jdc-product-banner{
  min-height:480px;
  height:480px
}
.jdc-solution-page .jdc-product-banner-ct{
  padding-top:140px;
  padding-bottom:64px
}
@media screen and (min-width:1400px){
  .jdc-solution-page .jdc-product-banner{
    min-height:520px;
    height:520px
  }
  .jdc-solution-page .jdc-product-banner-ct{padding-top:160px}
}

.jdc-solution-features-grid{
  margin-top:8px
}
.jdc-solution-features-grid > [class*=j-col-]{
  float:left;
  box-sizing:border-box
}

/* architecture stack */
.jdc-solution-arch-floor{background:#fff}
.jdc-solution-arch-stack{
  margin:32px auto 0;
  max-width:920px;
  display:flex;
  flex-direction:column;
  gap:12px
}
.sol-arch-layer{
  display:flex;
  align-items:stretch;
  min-height:72px;
  background:#f7fbff;
  border:1px solid #e1e8f3;
  overflow:hidden
}
.sol-arch-layer-label{
  flex:0 0 120px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px 12px;
  color:#fff;
  font-size:16px;
  font-weight:600;
  background:linear-gradient(180deg,#1f72fc,#004f9b);
  box-sizing:border-box
}
.sol-arch-layer-body{
  flex:1;
  display:flex;
  align-items:center;
  padding:16px 20px;
  color:#595959;
  font-size:14px;
  line-height:22px;
  box-sizing:border-box
}

/* scenario tabs */
.jdc-solution-tabs{margin-top:28px}
.jdc-solution-tab-bar{
  display:flex;
  justify-content:center;
  margin-bottom:8px
}
.jdc-solution-tab-bar .nav-bar{
  display:inline-flex;
  align-items:center;
  height:48px;
  padding:4px;
  background:#fff;
  border:1px solid #e8ecf2;
  border-radius:8px;
  box-sizing:border-box
}
.jdc-solution-tab-bar .nav-item{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:120px;
  height:40px;
  margin:0;
  padding:0 18px;
  line-height:40px;
  font-size:14px;
  color:#595959;
  cursor:pointer;
  border-radius:6px;
  box-sizing:border-box
}
.jdc-solution-tab-bar .nav-item span{line-height:40px;color:inherit}
.jdc-solution-tab-bar .nav-item:hover{color:#1f72fc}
.jdc-solution-tab-bar .nav-item.on{
  color:#fff;
  font-weight:600;
  background:linear-gradient(90deg,#004f9b,#1f72fc)
}
.jdc-solution-tab-bar .nav-item.on:after{display:none}
.jdc-solution-tab-body{margin-top:8px}
.sol-detail-panel{display:none}
.sol-detail-panel.on{display:block}
.sol-scenario-intro{
  margin:16px auto 0;
  max-width:760px;
  color:#595959;
  font-size:14px;
  line-height:22px;
  text-align:center
}

/* clearfix helpers used by j-row grids */
.jdc-product-page .j-row:after,
.jdc-solution-page .j-row:after{
  content:"";
  display:block;
  clear:both
}

@media screen and (max-width:1200px){
  .jdc-product-banner-ct{padding-left:20px;padding-right:20px}
}

@media screen and (max-width:768px){
  .jdc-product-banner{
    height:auto;
    min-height:280px;
    background-position:center top
  }
  .jdc-solution-page .jdc-product-banner{
    min-height:320px;
    height:auto
  }
  .jdc-product-banner .m-product-bg{display:block}
  .jdc-product-banner-ct{
    max-width:none;
    padding:88px 16px 32px
  }
  .jdc-solution-page .jdc-product-banner-ct{
    padding:96px 16px 40px
  }
  .jdc-product-banner-tit{font-size:26px;line-height:36px}
  .jdc-product-banner-subtit{font-size:18px;line-height:26px}
  .jdc-product-banner-txt{font-size:13px;line-height:20px}
  .p-showbox{display:none}
  .p-showbox-m{display:block}
  .jdc-product-btn,
  .jdc-product-btn2{
    min-width:104px;
    margin-top:16px;
    padding:0 14px
  }
  .jdc-product-nav{
    top:0;
    height:auto;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch
  }
  .jdc-product-nav .nav-bar{
    height:56px;
    padding:0 12px;
    justify-content:flex-start
  }
  .jdc-product-nav .nav-item{
    min-width:72px;
    height:56px;
    line-height:56px;
    padding:0 10px;
    font-size:14px
  }
  .jdc-product-nav .nav-item span{line-height:56px}
  .jdc-product-nav .nav-indicator,
  .jdc-product-nav .nav-item.on:after{bottom:12px}
  .jdc-product-nav .product-price{
    display:none
  }
  .jdc-product-floor,
  .jdc-product-floor2,
  .jdc-product-floor-item{padding:36px 0}
  .product-tit{font-size:22px;line-height:30px}
  .sol-floor-desc{padding:0 16px}
  .jdc-solution-page .sol-floor-hd{margin-bottom:20px}
  .jdc-solution-page .sol-floor-hd .tpm-portal-section__title{font-size:22px;line-height:30px;max-width:none}
  .jdc-product-floor2 .item,
  .jdc-product-floor .item,
  .jdc-solution-page .item{
    min-height:0;
    margin-top:12px;
    padding:16px
  }
  .jdc-solution-features-grid > [class*=j-col-]{
    float:none;
    width:100%
  }
  .sol-arch-layer{flex-direction:column}
  .sol-arch-layer-label{
    flex:none;
    width:100%;
    justify-content:flex-start;
    padding:12px 16px
  }
  .jdc-solution-tab-bar .nav-bar{
    width:100%;
    height:auto;
    flex-wrap:wrap;
    justify-content:stretch
  }
  .jdc-solution-tab-bar .nav-item{
    flex:1 1 30%;
    min-width:0;
    padding:0 8px;
    font-size:13px
  }
}
