/*
 * Banking360 R46: responsive reflow under narrow windows and enlarged browser
 * display settings. Scoped to this product page; does not disable user zoom.
 */
body[data-page-key="product-banking360"]{
 max-width:100%;
 overflow-x:clip;
}
body[data-page-key="product-banking360"] .bank360-product{
 min-width:0!important;
 max-width:100%!important;
}
@media(max-width:900px){
 body[data-page-key="product-banking360"] :is(
  .ns-topbar,.ns-topbar-row,.ns-topbar-tools,.ns-topbar-cta,
  .ns-prefbar,.ns-prefbar label,.ns-header,.ns-nav,.ns-brand,
  .bk-art-mobile,.bk-art-mobile-copy,.bk-art-mobile-actions,
  .bk-art-mobile-dashboard,.bk-mobile-brand,.bk-mobile-brand-wordmark,
  .bk-mobile-heading,.bk-mobile-lead,.bk-mobile-dashboard-shell,
  .bk-mobile-dashboard-grid,.bk-mobile-dashboard-grid>div
 ){
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
 }
 body[data-page-key="product-banking360"] .ns-topbar{
  width:100%!important;
 }
 body[data-page-key="product-banking360"] .ns-topbar-row{
  width:92%!important;
  max-width:92%!important;
  margin-inline:auto!important;
 }
 body[data-page-key="product-banking360"] .ns-topbar-tools{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:7px!important;
  width:100%!important;
 }
 body[data-page-key="product-banking360"] .ns-topbar-cta{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  width:100%!important;
  min-width:0!important;
 }
 body[data-page-key="product-banking360"] .ns-prefbar{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
 }
 body[data-page-key="product-banking360"] .ns-prefbar label{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden;
 }
 body[data-page-key="product-banking360"] .ns-prefbar select{
  display:block!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  padding-inline:4px 15px!important;
  font-size:clamp(9px,1.8vw,12px)!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  box-sizing:border-box!important;
 }
 body[data-page-key="product-banking360"] .ns-nav{
  gap:clamp(4px,2vw,14px)!important;
  max-width:92%!important;
  min-width:0!important;
  margin-inline:auto!important;
 }
 body[data-page-key="product-banking360"] .ns-brand{
  display:flex!important;
  flex:0 1 auto!important;
  max-width:calc(100% - 57px)!important;
  min-width:0!important;
  overflow:hidden;
 }
 body[data-page-key="product-banking360"] .ns-brand img{
  display:block!important;
  height:auto!important;
  max-height:48px!important;
  width:min(150px,100%)!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
 }
 body[data-page-key="product-banking360"] .ns-menu{
  flex:none!important;
  margin-left:auto!important;
 }
 .bank360-product .bk-art-mobile{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
 }
 .bank360-product .bk-mobile-brand{
  min-width:0!important;
  max-width:100%!important;
  gap:clamp(4px,2vw,10px)!important;
 }
 .bank360-product .bk-mobile-brand-wordmark{
  flex:1 1 0!important;
  min-width:0!important;
  max-width:100%!important;
 }
 .bank360-product .bk-mobile-brand-wordmark strong{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  font-size:clamp(15px,4.1vw,24px)!important;
 }
 .bank360-product .bk-mobile-brand-wordmark small{
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  font-size:clamp(8px,1.7vw,10px)!important;
  letter-spacing:.12em!important;
 }
 .bank360-product .bk-mobile-heading{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-wrap:break-word!important;
  word-break:normal!important;
  font-size:clamp(25px,7.4vw,43px)!important;
  line-height:1.14!important;
  letter-spacing:-.034em!important;
 }
 .bank360-product .bk-mobile-heading span{
  display:block!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
 }
 .bank360-product .bk-mobile-lead,
 .bank360-product .bk-mobile-eyebrow{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.66!important;
 }
 .bank360-product .bk-mobile-eyebrow{
  letter-spacing:clamp(.02em,.13vw,.1em)!important;
 }
 .bank360-product .bk-art-mobile-actions{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
 }
 .bank360-product .bk-art-mobile-actions>a.bk-btn{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
  box-sizing:border-box!important;
 }
 .bank360-product .bk-mobile-dashboard-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
 .bank360-product .bk-mobile-dashboard-check>strong{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
 }
}
@media(max-width:440px){
 .bank360-product .bk-art-mobile-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
 }
 .bank360-product .bk-mobile-dashboard-grid{
  gap:6px!important;
 }
 .bank360-product .bk-mobile-dashboard-grid>div{
  padding:9px 7px!important;
 }
}
@media(max-width:310px){
 .bank360-product .bk-mobile-dashboard-grid{
  grid-template-columns:minmax(0,1fr)!important;
 }
 .bank360-product .bk-mobile-brand-status{
  display:none!important;
 }
 .bank360-product .bk-mobile-heading{
  font-size:clamp(24px,7.2vw,28px)!important;
 }
}

/* Two flexible selector columns + a full-width language control, with no
   hidden third option when phone/browser font scaling is enlarged. */
@media(max-width:500px){
 body[data-page-key="product-banking360"] .ns-prefbar{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px!important;
 }
 body[data-page-key="product-banking360"] .ns-prefbar label:nth-child(3){
  grid-column:1/-1!important;
 }
 body[data-page-key="product-banking360"] .ns-prefbar select{
  font-size:clamp(10px,2.2vw,12px)!important;
  padding-inline:7px 20px!important;
 }
}
/* Three small, labelled accessible mobile controls rather than permanent
   wide chat/adviser bars obscuring the banking hero at enlarged text zoom. */
@media(max-width:900px){
 body[data-page-key="product-banking360"] .ns-workflow-side-cta{
  position:fixed!important;
  left:12px!important;
  bottom:10px!important;
  top:auto!important;
  right:auto!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  padding:0!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:none!important;
  font-size:0!important;
  z-index:118!important;
 }
 body[data-page-key="product-banking360"] .ns-workflow-side-cta>span{
  font-size:0!important;
  line-height:0!important;
 }
 body[data-page-key="product-banking360"] .ns-workflow-side-cta>span::after{
  content:"↗"!important;
  display:inline!important;
  color:#fff!important;
  font-size:21px!important;
  font-weight:800!important;
  line-height:1!important;
 }
 body[data-page-key="product-banking360"] .ns-support{
  right:10px!important;
  bottom:10px!important;
  width:auto!important;
 }
 body[data-page-key="product-banking360"] .ns-support-launch{
  min-width:44px!important;
  max-width:44px!important;
  width:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  height:44px!important;
  padding:0!important;
  font-size:0!important;
  border-radius:12px!important;
 }
 body[data-page-key="product-banking360"] .ns-support-launch::after{
  content:"AI";
  display:inline;
  color:#fff;
  font-size:12px;
  font-weight:900;
 }
 body[data-page-key="product-banking360"] #nsGuide360Launch{
  left:calc(50% - 22px)!important;
  bottom:10px!important;
  width:44px!important;
  height:44px!important;
 }
}
@media(max-width:310px){
 body[data-page-key="product-banking360"] .ns-workflow-side-cta{
  left:7px!important;
 }
 body[data-page-key="product-banking360"] .ns-support{
  right:7px!important;
 }
}

/* At narrow CSS viewports and high browser scaling, preserve full locale
   labels instead of ellipsis: prefer three short rows to clipped selectors. */
@media(max-width:320px){
 body[data-page-key="product-banking360"] .ns-prefbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  gap:6px!important;
 }
 body[data-page-key="product-banking360"] .ns-prefbar label{
  grid-column:1/-1!important;
  order:initial!important;
 }
 body[data-page-key="product-banking360"] .ns-prefbar select{
  min-height:30px!important;
  padding-inline:8px 24px!important;
  text-overflow:clip!important;
  font-size:clamp(10px,2.5vw,12px)!important;
 }
}
@media(min-width:321px) and (max-width:500px){
 body[data-page-key="product-banking360"] .ns-prefbar label:nth-child(1){
  order:0!important;
  grid-column:auto!important;
 }
 body[data-page-key="product-banking360"] .ns-prefbar label:nth-child(3){
  order:1!important;
  grid-column:auto!important;
 }
 body[data-page-key="product-banking360"] .ns-prefbar label:nth-child(2){
  order:2!important;
  grid-column:1/-1!important;
 }
}

/* Review beyond the hero: small mobile viewports with enlarged type must
 * not allow timeline grid min-content or pricing buttons to clip. */
@media(max-width:1100px){
 .bank360-product .bk-islamic-layout{
  grid-template-columns:minmax(0,1fr)!important;
 }
 .bank360-product .bk-owner-note{
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
 }
 .bank360-product .bk-pricing-boundary{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  max-width:100%!important;
  min-width:0!important;
 }
 .bank360-product .bk-pricing-boundary .bk-btn{
  max-width:100%!important;
  width:100%!important;
  flex:0 1 auto!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-align:center!important;
 }
}
@media(max-width:900px){
 .bank360-product :is(
  .bk-journey-app,.bk-journey-content,.bk-journey-main,
  .bk-journey-aside,.bk-journey-head,.bk-timeline,
  .bk-journey-head p,.bk-timeline li,.bk-timeline li b,
  .bk-timeline li span
 ){
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow-wrap:anywhere!important;
 }
 .bank360-product .bk-journey-content{
  display:block!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
 }
 .bank360-product .bk-journey-main{
  width:100%!important;
  padding:clamp(12px,3.6vw,24px)!important;
 }
 .bank360-product .bk-timeline{
  display:block!important;
  padding:0!important;
  width:100%!important;
 }
 .bank360-product .bk-timeline li{
  display:block!important;
  width:calc(100% - 18px)!important;
  max-width:calc(100% - 18px)!important;
  padding:9px 3px 14px clamp(24px,5vw,39px)!important;
  margin-left:12px!important;
  white-space:normal!important;
  word-break:normal!important;
 }
 .bank360-product .bk-timeline li b,
 .bank360-product .bk-timeline li span{
  display:block!important;
  white-space:normal!important;
  max-width:100%!important;
 }
 .bank360-product .bk-timeline li::before{
  left:-13px!important;
 }
 .bank360-product .bk-journey-aside{
  width:100%!important;
 }
 .bank360-product .bk-faq details,
 .bank360-product .bk-cap-card,
 .bank360-product .bk-plan-grid article,
 .bank360-product .bk-governance-grid article{
  min-width:0!important;
  max-width:100%!important;
 }
}

@media(max-width:900px){
 .bank360-product .bk-architecture{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
 }
 .bank360-product .bk-arch-core{
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  padding:clamp(13px,3vw,22px)!important;
  box-sizing:border-box!important;
 }
 .bank360-product .bk-arch-core strong{
  overflow-wrap:anywhere!important;
  font-size:clamp(17px,4vw,24px)!important;
 }
 .bank360-product .bk-arch-connections{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
  gap:9px!important;
  margin-top:10px!important;
 }
 .bank360-product .bk-arch-connections article{
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
  overflow-wrap:anywhere!important;
  padding:clamp(12px,3vw,19px)!important;
  box-sizing:border-box!important;
 }
 .bank360-product .bk-islamic-layout,
 .bank360-product .bk-islamic-flow,
 .bank360-product .bk-islamic-banner,
 .bank360-product .bk-islamic-banner>div,
 .bank360-product .bk-islamic-flow ol,
 .bank360-product .bk-islamic-flow li,
 .bank360-product .bk-islamic-flow li>b,
 .bank360-product .bk-islamic-flow li>span{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
 }
 .bank360-product .bk-islamic-layout{
  grid-template-columns:minmax(0,1fr)!important;
 }
 .bank360-product .bk-islamic-flow{
  width:100%!important;
  padding:clamp(12px,3vw,22px)!important;
 }
 .bank360-product .bk-islamic-banner{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  width:100%!important;
 }
 .bank360-product .bk-islamic-banner>div{
  flex:1 1 0!important;
 }
 .bank360-product .bk-islamic-banner strong{
  display:block!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
 }
 .bank360-product .bk-islamic-flow ol{
  width:100%!important;
  padding:8px 0 0!important;
 }
 .bank360-product .bk-islamic-flow li{
  display:block!important;
  width:100%!important;
  padding:10px 0 11px clamp(30px,6vw,44px)!important;
  white-space:normal!important;
  word-break:normal!important;
 }
 .bank360-product .bk-islamic-flow li:before{
  left:0!important;
 }
 .bank360-product .bk-islamic-flow li>b,
 .bank360-product .bk-islamic-flow li>span{
  display:block!important;
  white-space:normal!important;
 }
}

/* Bank staff and final call-to-action sections: no intrinsic grid-width
   overflow when 200% text/browser scaling leaves a narrow visual viewport. */
@media(max-width:900px){
 .bank360-product .bk-section-intro,
 .bank360-product .bk-people,
 .bank360-product .bk-people>div,
 .bank360-product .bk-people ul,
 .bank360-product .bk-people li,
 .bank360-product .bk-closing-layout,
 .bank360-product .bk-closing-layout>div,
 .bank360-product .bk-closing-actions{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
 }
 .bank360-product .bk-people,
 .bank360-product .bk-closing-layout{
  display:block!important;
 }
 .bank360-product .bk-people{
  padding:clamp(12px,3vw,24px)!important;
 }
 .bank360-product .bk-people ul{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:8px!important;
  margin-top:17px!important;
 }
 .bank360-product .bk-people li{
  padding:8px 10px!important;
 }
 .bank360-product .bk-people h3,
 .bank360-product .bk-closing h2{
  display:block!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  max-width:100%!important;
  font-size:clamp(22px,5vw,34px)!important;
 }
 .bank360-product .bk-closing{
  padding:clamp(30px,5vw,56px) 0!important;
 }
 .bank360-product .bk-closing-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:9px!important;
  margin-top:20px!important;
 }
 .bank360-product .bk-closing-actions a{
  display:flex!important;
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-align:center!important;
 }
 .bank360-product .bk-eyebrow{
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  display:inline-flex!important;
  flex-wrap:wrap!important;
  line-height:1.5!important;
 }
}

@media(max-width:900px){
 .bank360-product .bk-roi-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  gap:10px!important;
 }
 .bank360-product .bk-roi-actions .bk-btn,
 .bank360-product .bk-roi-actions a{
  display:flex!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-align:center!important;
  box-sizing:border-box!important;
  padding:10px 8px!important;
 }
}

/* Banking360 global topbar two-row alignment R1 — consistent with shared site chrome. */
@media (max-width: 680px) {
  body[data-page-key="product-banking360"] .ns-prefbar {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(4px, 1.2vw, 8px) !important;
  }
  body[data-page-key="product-banking360"] .ns-prefbar label {
    grid-column: auto !important;
  }
  body[data-page-key="product-banking360"] .ns-prefbar label:nth-child(1) { order: 1 !important; grid-column: auto !important; }
  body[data-page-key="product-banking360"] .ns-prefbar label:nth-child(2) { order: 3 !important; grid-column: auto !important; }
  body[data-page-key="product-banking360"] .ns-prefbar label:nth-child(3) { order: 2 !important; grid-column: auto !important; }
  body[data-page-key="product-banking360"] .ns-prefbar select {
    min-height: 44px !important;
    font-size: clamp(10px, 2.2vw, 12px) !important;
    padding-inline: 7px 20px !important;
    text-overflow: ellipsis !important;
  }
}
