/* ==========================================================
   SSB Digital ultra responsive + anime.js visual integrity patch
   Scope: keep every visual as a designed motion system on desktop,
   tablet and mobile; prevent stacked-box fallbacks and platform nav bugs.
   ========================================================== */

html, body{
  max-width:100%;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  height:auto!important;
}

/* Home /01 tile: permanent contrast recovery. */
body.home-v3 .solution-card.feature-card:first-child,
body.home-v3 .solution-bento > .solution-card.feature-card:first-child{
  background:
    radial-gradient(circle at 12% 10%,rgba(254,0,0,.085),transparent 32%),
    radial-gradient(circle at 92% 0%,rgba(124,189,240,.24),transparent 42%),
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,247,247,.91) 58%,rgba(246,250,255,.88))!important;
  color:#080d1a!important;
  border-color:rgba(254,0,0,.14)!important;
  box-shadow:0 28px 76px rgba(8,13,26,.09),0 16px 42px rgba(254,0,0,.075),inset 0 1px 0 rgba(255,255,255,.98)!important;
}
body.home-v3 .solution-card.feature-card:first-child h3,
body.home-v3 .solution-card.feature-card:first-child p,
body.home-v3 .solution-card.feature-card:first-child .microtags span,
body.home-v3 .solution-card.feature-card:first-child .cute-icon{
  color:inherit!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
}
body.home-v3 .solution-card.feature-card:first-child h3{color:#080d1a!important;font-weight:520!important;}
body.home-v3 .solution-card.feature-card:first-child p{color:#536176!important;}
body.home-v3 .solution-card.feature-card:first-child .num,
body.home-v3 .solution-card.feature-card:first-child .text-link{color:#d00000!important;}
body.home-v3 .solution-card.feature-card:first-child .microtags span{
  color:#536176!important;
  background:rgba(255,255,255,.86)!important;
  border-color:rgba(8,13,26,.08)!important;
}
body.home-v3 .solution-card.feature-card:first-child .cute-icon{
  color:#fe0000!important;
  background:linear-gradient(145deg,#fff,#fff0f1)!important;
  border-color:rgba(254,0,0,.13)!important;
}

/* Platform selector: one active tab only. Hover is subtle, not selected. */
body.platform-showcase-page.route-scroll-page .route-capability-nav.platform-index{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  touch-action:pan-x pan-y!important;
}
body.platform-showcase-page.route-scroll-page .route-capability-nav.platform-index a{
  scroll-snap-align:center;
  transform:none!important;
  transition:background .24s ease, color .24s ease, border-color .24s ease, box-shadow .24s ease!important;
}
body.platform-showcase-page.route-scroll-page .route-capability-nav.platform-index a:not(.active):not(.is-active):not([aria-current="location"]):hover{
  color:#172033!important;
  background:rgba(255,255,255,.88)!important;
  border-color:rgba(254,0,0,.14)!important;
  box-shadow:0 12px 28px rgba(8,13,26,.07),inset 0 1px 0 rgba(255,255,255,.96)!important;
}
body.platform-showcase-page.route-scroll-page .route-capability-nav.platform-index a:not(.active):not(.is-active):not([aria-current="location"]):hover span{
  color:#fe0000!important;
}
body.platform-showcase-page.route-scroll-page .route-capability-nav.platform-index a.active,
body.platform-showcase-page.route-scroll-page .route-capability-nav.platform-index a.is-active,
body.platform-showcase-page.route-scroll-page .route-capability-nav.platform-index a[aria-current="location"]{
  color:#fff!important;
  background:linear-gradient(135deg,#c9000d,#ff2834 56%,#2563eb)!important;
  border-color:rgba(254,0,0,.28)!important;
  box-shadow:0 18px 42px rgba(254,0,0,.20),inset 0 1px 0 rgba(255,255,255,.26)!important;
}
body.platform-showcase-page.route-scroll-page .route-capability-nav.platform-index a.active span,
body.platform-showcase-page.route-scroll-page .route-capability-nav.platform-index a.is-active span,
body.platform-showcase-page.route-scroll-page .route-capability-nav.platform-index a[aria-current="location"] span{color:#fff!important;}

body.platform-showcase-page.route-scroll-page .platform-business-scroll,
body.platform-showcase-page.route-scroll-page .platform-showcase-stack,
body.platform-showcase-page.route-scroll-page .route-showcase-stack{
  overflow:visible!important;
  height:auto!important;
  max-height:none!important;
}
body.platform-showcase-page .platform-business-panel{
  content-visibility:visible!important;
  contain:none!important;
  min-height:auto!important;
  scroll-margin-top:calc(var(--header-h,88px) + 114px)!important;
}

/* Platform diagrams: preserve the network/flow layout in every responsive mode.
   This overrides older mobile fallbacks that converted diagrams to card grids. */
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart){
  overflow:hidden!important;
}
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-diagram{
  position:relative!important;
  display:block!important;
  min-height:430px!important;
  height:430px!important;
  margin:18px 0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 50% 50%,rgba(254,0,0,.08),transparent 25%),
    radial-gradient(circle at 16% 20%,rgba(124,189,240,.13),transparent 28%),
    repeating-linear-gradient(90deg,rgba(8,13,26,.035) 0 1px,transparent 1px 46px),
    repeating-linear-gradient(0deg,rgba(8,13,26,.03) 0 1px,transparent 1px 46px),
    linear-gradient(160deg,#fff,#f7fbff 55%,#fff4f4)!important;
}
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-lines{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:.72!important;
  pointer-events:none!important;
}
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-node,
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-flow-step,
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-module,
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-core{
  position:absolute!important;
  box-sizing:border-box!important;
  display:grid!important;
  align-content:center!important;
  background:rgba(255,255,255,.84)!important;
  border:1px solid rgba(8,13,26,.08)!important;
  box-shadow:0 16px 36px rgba(8,13,26,.09),inset 0 1px 0 rgba(255,255,255,.92)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  border-radius:16px!important;
  min-height:auto!important;
  max-width:none!important;
  transform:none!important;
  z-index:4!important;
}
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-node,
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-module{
  width:min(172px,29%)!important;
  padding:12px 13px!important;
}
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-flow-step{
  width:min(126px,20%)!important;
  padding:12px 10px!important;
  text-align:center!important;
}
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-core,
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-flow-step[data-platform-core]{
  width:min(210px,34%)!important;
  padding:16px 14px!important;
  text-align:center!important;
  z-index:5!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  background:linear-gradient(180deg,#fff,#fff1f2 55%,#eff6ff)!important;
  border-color:rgba(254,0,0,.18)!important;
  box-shadow:0 22px 60px rgba(254,0,0,.12),0 20px 54px rgba(8,13,26,.12)!important;
}
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) small{
  color:#c9000d!important;
  font-size:10px!important;
  letter-spacing:.12em!important;
  font-weight:950!important;
  text-transform:uppercase!important;
}
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) b{
  color:#111827!important;
  font-size:clamp(13px,1.35vw,18px)!important;
  line-height:1.12!important;
  font-weight:950!important;
}
body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) span{
  color:#667286!important;
  font-size:clamp(9px,.98vw,12px)!important;
  line-height:1.25!important;
  font-weight:760!important;
}

/* Generic source/output graph positions. */
body.platform-showcase-page .platform-domain-chart .source-a{left:3%!important;top:16%!important;}
body.platform-showcase-page .platform-domain-chart .source-b{left:3%!important;top:42%!important;}
body.platform-showcase-page .platform-domain-chart .source-c{left:3%!important;top:68%!important;}
body.platform-showcase-page .platform-domain-chart .output-a{right:3%!important;top:16%!important;}
body.platform-showcase-page .platform-domain-chart .output-b{right:3%!important;top:42%!important;}
body.platform-showcase-page .platform-domain-chart .output-c{right:3%!important;top:68%!important;}

/* Five-step governance maps. */
body.platform-showcase-page .platform-domain-chart .flow-a{left:4%!important;top:46%!important;}
body.platform-showcase-page .platform-domain-chart .flow-b{left:22%!important;top:16%!important;}
body.platform-showcase-page .platform-domain-chart .flow-c{left:50%!important;top:50%!important;}
body.platform-showcase-page .platform-domain-chart .flow-d{right:22%!important;bottom:15%!important;top:auto!important;}
body.platform-showcase-page .platform-domain-chart .flow-e{right:4%!important;top:46%!important;}

/* Orbit/module maps. */
body.platform-showcase-page .platform-domain-chart .module-a{left:10%!important;top:8%!important;}
body.platform-showcase-page .platform-domain-chart .module-b{right:10%!important;top:8%!important;}
body.platform-showcase-page .platform-domain-chart .module-c{right:3%!important;top:50%!important;transform:translateY(-50%)!important;}
body.platform-showcase-page .platform-domain-chart .module-d{right:10%!important;bottom:8%!important;}
body.platform-showcase-page .platform-domain-chart .module-e{left:10%!important;bottom:8%!important;}
body.platform-showcase-page .platform-domain-chart .module-f{left:3%!important;top:50%!important;transform:translateY(-50%)!important;}

@media (max-width:1180px){
  body.platform-showcase-page.route-scroll-page .route-showcase-stack > .platform-business-panel,
  body.platform-showcase-page.route-scroll-page .route-showcase-stack > .platform-business-panel:nth-child(even){
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
}
@media (max-width:760px){
  body.platform-showcase-page .platform-business-panel{scroll-margin-top:172px!important;}
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-diagram{
    height:560px!important;
    min-height:560px!important;
    margin:12px 0!important;
  }
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-lines{
    display:block!important;
    transform:scaleY(1.18);
    transform-origin:center center;
  }
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-node,
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-module{
    width:31%!important;
    padding:9px 8px!important;
    border-radius:14px!important;
  }
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-flow-step{
    width:27%!important;
    padding:9px 7px!important;
    border-radius:14px!important;
  }
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-core,
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-flow-step[data-platform-core]{
    width:34%!important;
    padding:12px 8px!important;
  }
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) small{font-size:7.6px!important;letter-spacing:.05em!important;}
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) b{font-size:12px!important;}
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) span{font-size:7.7px!important;}
  body.platform-showcase-page .platform-domain-chart .source-a{top:15%!important;}
  body.platform-showcase-page .platform-domain-chart .source-b{top:42%!important;}
  body.platform-showcase-page .platform-domain-chart .source-c{top:69%!important;}
  body.platform-showcase-page .platform-domain-chart .output-a{top:15%!important;}
  body.platform-showcase-page .platform-domain-chart .output-b{top:42%!important;}
  body.platform-showcase-page .platform-domain-chart .output-c{top:69%!important;}
  body.platform-showcase-page .platform-domain-chart .flow-a{left:3%!important;top:45%!important;}
  body.platform-showcase-page .platform-domain-chart .flow-b{left:20%!important;top:16%!important;}
  body.platform-showcase-page .platform-domain-chart .flow-d{right:20%!important;bottom:16%!important;}
  body.platform-showcase-page .platform-domain-chart .flow-e{right:3%!important;top:45%!important;}
  body.platform-showcase-page .platform-domain-chart .module-a{left:6%!important;top:9%!important;}
  body.platform-showcase-page .platform-domain-chart .module-b{right:6%!important;top:9%!important;}
  body.platform-showcase-page .platform-domain-chart .module-c{right:2%!important;top:50%!important;}
  body.platform-showcase-page .platform-domain-chart .module-d{right:6%!important;bottom:9%!important;}
  body.platform-showcase-page .platform-domain-chart .module-e{left:6%!important;bottom:9%!important;}
  body.platform-showcase-page .platform-domain-chart .module-f{left:2%!important;top:50%!important;}
}
@media (max-width:430px){
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-diagram{height:540px!important;min-height:540px!important;}
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-node,
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-module{width:32%!important;}
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-core,
  body.platform-showcase-page .platform-domain-chart:not(.platform-enterprise-ai-chart) .platform-flow-step[data-platform-core]{width:32%!important;}
}

/* Services page: keep visual animations as live scenes, not vertical mini-cards. */
body.services-page .service-visual-card{
  overflow:hidden!important;
  min-width:0!important;
}
body.services-page .service-motion-visual,
body.services-page .premium-motion-visual,
body.services-page .service-motion-window,
body.services-page .premium-visual-shell{
  width:100%!important;
  max-width:100%!important;
  min-height:clamp(390px,48vw,560px)!important;
  overflow:hidden!important;
  border-radius:30px!important;
}
body.services-page .service-motion-strip,
body.services-page .premium-motion-strip{
  position:absolute!important;
  left:clamp(14px,3vw,28px)!important;
  right:clamp(14px,3vw,28px)!important;
  bottom:clamp(14px,3vw,28px)!important;
  z-index:9!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(8px,1.6vw,14px)!important;
  margin:0!important;
  pointer-events:none!important;
}
body.services-page .service-motion-tile,
body.services-page .premium-mini-card{
  min-width:0!important;
  min-height:66px!important;
  padding:clamp(10px,1.8vw,16px)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.82)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  box-shadow:0 16px 40px rgba(8,13,26,.11)!important;
}
body.services-page .service-motion-tile strong,
body.services-page .premium-mini-card strong{font-size:clamp(18px,3vw,28px)!important;line-height:1!important;}
@media (max-width:760px){
  body.services-page .service-motion-visual,
  body.services-page .premium-motion-visual,
  body.services-page .service-motion-window,
  body.services-page .premium-visual-shell{min-height:500px!important;}
  body.services-page .service-motion-strip,
  body.services-page .premium-motion-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;left:12px!important;right:12px!important;bottom:12px!important;}
  body.services-page .service-motion-tile,
  body.services-page .premium-mini-card{min-height:58px!important;padding:9px 8px!important;border-radius:14px!important;}
  body.services-page .service-motion-tile span,
  body.services-page .premium-mini-card span{display:none!important;}
  body.services-page .service-motion-tile small,
  body.services-page .premium-mini-card small{font-size:8px!important;letter-spacing:.08em!important;}
  body.services-page .service-motion-tile strong,
  body.services-page .premium-mini-card strong{font-size:18px!important;}
}

/* Insights visuals: reserve a single cinematic frame and keep text overlays in bounds. */
body.insights-page .generative-visual{
  position:relative!important;
  overflow:hidden!important;
  min-height:clamp(410px,56vw,560px)!important;
  border-radius:32px!important;
}
body.insights-page .module-visual{
  position:absolute!important;
  inset:0!important;
  min-height:100%!important;
  overflow:hidden!important;
}
body.insights-page .module-svg{
  position:absolute!important;
  inset:clamp(62px,12%,86px) 5% clamp(94px,18%,124px)!important;
  width:90%!important;
  height:auto!important;
  max-height:70%!important;
}
body.insights-page .module-caption{
  position:absolute!important;
  left:clamp(18px,5vw,42px)!important;
  right:clamp(18px,5vw,42px)!important;
  bottom:clamp(18px,5vw,38px)!important;
  z-index:6!important;
  max-width:none!important;
}
body.insights-page .visual-frame-title,
body.insights-page .module-title{
  max-width:calc(100% - 28px)!important;
}
@media (max-width:760px){
  body.insights-page .generative-visual{min-height:470px!important;border-radius:26px!important;}
  body.insights-page .module-svg{inset:70px 2% 118px!important;width:96%!important;}
  body.insights-page .module-caption{left:14px!important;right:14px!important;bottom:14px!important;}
}
