
/* v1.5 Neon Matrix Storytelling */

/* 1. Splash: line is visually separated from Powered by */
.splash-v11-inner{gap:0!important}
.splash-success{margin-bottom:0!important}
.splash-neon-line{margin:20px 0 22px!important;width:220px!important}
.splash-v11 #splashSub{
  display:block!important;
  margin-top:2px!important;
  position:relative!important;
  top:auto!important;
  line-height:1.3!important;
  opacity:.72;
}

/* 2. Main grid: story removed from center lower area */
.center{grid-template-rows:minmax(0,1fr) auto!important;gap:10px!important}
.v14-lower{display:none!important}

/* 3. Unified scenario symbol */
#scenarioList button span{
  width:18px!important;height:18px!important;flex:0 0 18px!important;
  display:grid!important;place-items:center!important;
  color:transparent!important;font-size:0!important;
  position:relative;
}
#scenarioList button span::before{
  content:"";
  width:9px;height:9px;border-radius:3px;
  border:1px solid rgba(139,190,205,.72);
  transform:rotate(45deg);
  background:rgba(84,134,151,.10);
  transition:.28s ease;
}
#scenarioList button.on span::before{
  border-color:#64f4e9;
  background:rgba(88,240,230,.28);
  box-shadow:0 0 0 4px rgba(88,240,230,.08),0 0 14px rgba(88,240,230,.48);
  transform:rotate(45deg) scale(1.05);
}

/* 4. Vertical Master Matrix rail inside the scene */
.v15-matrix-rail{
  position:absolute;z-index:12;left:14px;top:18px;bottom:18px;
  width:124px;padding:9px 7px;border-radius:15px;
  background:rgba(2,18,28,.62);border:1px solid rgba(77,166,188,.25);
  backdrop-filter:blur(9px);overflow:hidden;
  transition:.25s ease;
}
.v15-matrix-rail label{
  display:block;padding:0 3px 7px;color:#65efe5;
  font-size:7px;letter-spacing:.12em;
}
#v15MatrixItems{
  height:calc(100% - 20px);overflow-y:auto;overflow-x:hidden;
  display:flex;flex-direction:column;gap:5px;padding-right:2px;
  scrollbar-width:thin;
}
.v15-matrix-item{
  position:relative;min-height:38px;border-radius:8px;
  border:1px solid rgba(91,146,163,.12);
  background:rgba(5,24,34,.54);
  display:flex;align-items:center;gap:6px;padding:4px 5px;
  opacity:.20;filter:saturate(.2);
  transition:.28s ease;
}
.v15-matrix-item img{
  width:33px;height:28px;flex:0 0 33px;object-fit:contain;
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.28));
}
.v15-matrix-item em{
  font-style:normal;font-size:7px;line-height:1.05;color:#9fb2bb;
}
.v15-matrix-item.applicable{
  opacity:.72;filter:saturate(.9);
  border-color:rgba(88,240,230,.18);
}
.v15-matrix-item.applicable em{color:#d1e2e8}
.v15-matrix-item.selected{
  opacity:1;filter:saturate(1);
  background:rgba(7,43,53,.78);
  border-color:rgba(88,240,230,.50);
}
.v15-matrix-item.primary{
  border-color:#68fff3;
  box-shadow:inset 0 0 15px rgba(88,240,230,.10),0 0 10px rgba(88,240,230,.10);
}
.v15-fallback-dot{
  width:16px;height:16px;border-radius:5px;
  border:1px solid #335667;flex:0 0 16px;
}

/* 5. No cards around service images: transparent floating visuals */
.v14-service-cluster{display:none!important}
.v15-visual-stage{position:absolute;inset:0;z-index:10;pointer-events:none}
.v15-service-visual{
  position:absolute;transform:translate(-50%,-50%) scale(.88);
  width:132px;opacity:0;
  animation:v15VisualIn .48s cubic-bezier(.16,.82,.22,1) forwards,
            v15Float 4.8s 1s ease-in-out infinite;
  text-align:center;
}
.v15-service-visual.primary{width:210px;z-index:3}
.v15-service-visual img{
  display:block;width:100%;height:92px;object-fit:contain;margin:auto;
  filter:drop-shadow(0 10px 10px rgba(0,0,0,.35))
         drop-shadow(0 0 12px rgba(88,240,230,.24));
}
.v15-service-visual.primary img{
  height:142px;
  filter:drop-shadow(0 14px 14px rgba(0,0,0,.38))
         drop-shadow(0 0 18px rgba(88,240,230,.42));
}
.v15-service-visual span{
  display:inline-block;margin-top:-2px;padding:4px 7px;border-radius:8px;
  color:#f1ffff;background:rgba(3,21,31,.72);
  border:1px solid rgba(88,240,230,.25);
  font-size:8px;line-height:1;backdrop-filter:blur(5px);
}
.v15-service-visual.primary span{
  border-color:rgba(88,240,230,.55);font-size:9px;font-weight:700;
}
@keyframes v15VisualIn{
  from{opacity:0;transform:translate(-50%,-44%) scale(.78);filter:blur(4px)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1);filter:none}
}
@keyframes v15Float{
  0%,100%{margin-top:0}
  50%{margin-top:-5px}
}

/* 6. Animated neon connections */
.v15-neon-links{
  position:absolute;inset:0;width:100%;height:100%;z-index:7;
  pointer-events:none;overflow:visible;
}
.v15-neon-links path{
  fill:none;stroke:url(#v15Line);stroke-width:1.7;
  opacity:.48;filter:url(#v15Glow);
  stroke-dasharray:10 7;
  animation:v15Flow 2.7s linear infinite,v15LineIn .55s ease both;
}
.v15-neon-links path.primary-link{
  stroke-width:2.5;opacity:.82;
}
@keyframes v15Flow{to{stroke-dashoffset:-34}}
@keyframes v15LineIn{from{opacity:0}to{opacity:.55}}

/* Keep background identifiable */
.scene-shell.focus .scene-layer.current,
.scene-shell.focus .scene-layer.next{filter:blur(1.5px)!important}
.scene-shell.focus .scene-focus{background:rgba(2,10,15,.10)!important}

/* 7. Solution Story moves to right block */
.v15-right-story{
  display:none;margin:17px 0 14px;padding:11px 10px;
  border-top:1px solid rgba(88,240,230,.18);
  border-bottom:1px solid rgba(88,240,230,.18);
}
.v15-right-story.on{display:block;animation:v15RightIn .32s ease}
.v15-right-story label{
  display:block;color:#63efe5;font-size:8px;letter-spacing:.14em;margin-bottom:7px;
}
.v15-right-story strong{
  display:block;color:#fff;font-size:12px;line-height:1.18;margin-bottom:5px;
}
.v15-right-story p{
  margin:0;color:#9eb3bd;font-size:10px;line-height:1.35;
}
@keyframes v15RightIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

/* Legacy floating story popup removed */
.v15-disabled-story,.story-card{display:none!important}

/* right-side layout */
.right .count{margin-top:10px!important}

/* Cases get more vertical breathing room */
.cases{padding:10px 13px!important}
#caseList{gap:8px!important}

@media(max-width:1400px){
  .v15-matrix-rail{width:108px;left:10px}
  .v15-service-visual{width:112px}
  .v15-service-visual.primary{width:180px}
  .v15-service-visual img{height:78px}
  .v15-service-visual.primary img{height:120px}
}
