body.v7{margin:0;background:#020814;color:#f5fbff;font-family:Arial,sans-serif;overflow:hidden}.v7 #app{height:100vh;box-sizing:border-box;padding:16px 20px;display:grid;grid-template-rows:64px 1fr;gap:12px;background:radial-gradient(circle at 50% 15%,#0a293a,#020814 58%)}.v7 header{display:flex;align-items:center;justify-content:space-between}.brand-area{display:flex;align-items:center;gap:14px}.brand-area #brandLogo{min-width:140px;font-size:23px;font-weight:800;letter-spacing:.12em}.brand-area #brandLogo img,.v7-splash img{max-width:190px;max-height:56px}.brand-copy{display:flex;flex-direction:column;border-left:1px solid #174151;padding-left:13px}.brand-copy b{font-size:12px;letter-spacing:.14em}.brand-copy small{color:#91a8b8;margin-top:4px}.layout{min-height:0;display:grid;grid-template-columns:190px minmax(0,1fr) 270px;gap:12px}.glass-v7{background:rgba(6,29,43,.58);border:1px solid #174151;border-radius:19px;backdrop-filter:blur(20px)}.left,.right{padding:15px;overflow:auto}.v7 label{display:block;color:#58f0e6;font-size:10px;letter-spacing:.16em;margin-bottom:12px}.left #scenarioList button{width:100%;border:1px solid transparent;background:transparent;color:#b6c9d4;padding:11px 9px;border-radius:12px;text-align:left;margin-bottom:5px;cursor:pointer}.left #scenarioList button span{display:inline-block;width:28px;font-size:18px}.left #scenarioList button.on{color:#fff;background:rgba(88,240,230,.10);border-color:rgba(88,240,230,.32)}.center{min-width:0;display:grid;grid-template-rows:minmax(0,1fr) 78px;gap:10px}.center .scene-shell{height:100%;aspect-ratio:auto;border-radius:20px;overflow:hidden}.scene-focus{position:absolute;inset:0;pointer-events:none;z-index:2;background:rgba(2,8,20,0);backdrop-filter:blur(0);transition:.3s}.scene-shell.focus .scene-focus{background:rgba(2,8,20,.20);backdrop-filter:blur(5px)}.scene-shell.focus .scene-title,.scene-shell.focus #hotspots,.scene-shell.focus .story-card,.scene-shell.focus .scene-core{z-index:6}.scene-title small{display:block;color:#58f0e6;margin-top:4px}.cases{padding:11px 14px}.cases label{margin-bottom:8px}.cases #caseList{display:flex;gap:8px;overflow:auto}.cases button,.btn-v7{white-space:nowrap;border:1px solid #235063;background:#092536;color:#c6d7df;padding:9px 11px;border-radius:11px;cursor:pointer}.cases button.on{color:#fff;border-color:#58f0e6;background:rgba(88,240,230,.13)}.btn-v7{width:100%}.right h2{font-size:22px;margin:0 0 18px}.right #emptyState{padding:18px 0;color:#8fa8b5}.right #emptyState strong{color:#dff}.right #emptyState p{font-size:13px;line-height:1.5}.ready{display:flex;justify-content:space-between;color:#a9bfca}.ready b{font-size:23px;color:#58f0e6}.progress{height:5px;background:#12303f;border-radius:9px;margin:8px 0 18px;overflow:hidden}.progress i{display:block;height:100%;background:#58f0e6;transition:.35s}.right #outcomes div{padding:7px 0;color:#e8ffff;font-size:12px}.count{margin:17px 0;padding:13px;border:1px solid #174151;border-radius:13px}.count b{display:block;font-size:28px;color:#58f0e6}.count span{font-size:11px;color:#91a8b8}.tools{position:fixed;right:22px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:20}.tools button{width:39px;height:39px;border-radius:12px;border:1px solid #235063;background:rgba(6,29,43,.90);color:#dfffff;font-size:18px;cursor:pointer}.hotspot{border:0;background:transparent;padding:0}.hotspot-dot{display:block!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;aspect-ratio:1/1!important;box-sizing:border-box!important;border-radius:50%!important;flex:none!important}.modal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(1,7,14,.48);backdrop-filter:blur(10px)}.modal.on{display:flex}.modal-card{position:relative;width:min(1120px,88vw);max-height:88vh;overflow:auto;background:linear-gradient(150deg,rgba(10,42,60,.94),rgba(3,18,30,.94));border:1px solid rgba(88,240,230,.26);border-radius:24px;box-shadow:0 0 80px rgba(0,0,0,.45);padding:24px}.modal-card.small{width:min(480px,90vw)}.modal-card.tiny{width:min(430px,90vw)}.modal-card .x{position:absolute;right:15px;top:12px;border:0;background:transparent;color:#fff;font-size:25px;cursor:pointer;z-index:4}.modal-card .field{padding:13px 0}.modal-card .field>strong{float:right}.modal-card input[type=range],.modal-card input[type=email]{width:100%;box-sizing:border-box}.modal-card input[type=email]{padding:12px;border-radius:12px;border:1px solid #235063;background:#061d2b;color:#fff;margin:14px 0}.switchline{display:flex;align-items:center;justify-content:space-between}.solution-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.solution-head h2{font-size:34px;margin:6px 0}.big-ready{font-size:46px;color:#58f0e6;font-weight:800}.solution-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.solution-visual{position:relative;border-radius:18px;overflow:hidden;min-height:270px;border:1px solid #174151}.solution-visual img{width:100%;height:100%;object-fit:cover;display:block}.visual-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,8,20,.65),transparent 55%);display:flex;align-items:flex-end;padding:18px;font-size:20px;font-weight:700}.business-card{border:1px solid #174151;border-radius:18px;padding:18px;background:rgba(5,24,38,.66)}.business-card p{display:flex;justify-content:space-between;border-bottom:1px solid #173543;padding:11px 0;margin:0}.section-label{margin:20px 0 10px}.architecture{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.arch-group{border:1px solid #174151;border-radius:15px;padding:13px;background:rgba(5,24,38,.55)}.arch-group>strong{display:block;color:#58f0e6;margin-bottom:9px}.arch-group span{display:block;padding:7px 0;border-bottom:1px solid #16323f}.arch-group em{display:block;color:#8299a5;font-size:10px;font-style:normal}.modal-outcomes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.modal-outcomes div{border:1px solid #174151;border-radius:12px;padding:10px}.solution-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.story-card small{display:block;color:#58f0e6;margin-top:8px}.v7-splash{position:fixed;inset:0;z-index:120;background:#020814;display:grid;place-items:center;text-align:center;transition:opacity .45s,visibility .45s}.v7-splash.off{opacity:0;visibility:hidden}.v7-splash #splashLogo{font-size:38px;font-weight:800;letter-spacing:.14em}.v7-splash i{display:block;width:160px;height:1px;background:#58f0e6;margin:18px auto;box-shadow:0 0 18px #58f0e6}.v7-splash small{color:#8fa8b5}.qr-wrap{padding:10px;border-radius:18px;background:#fff;width:190px;height:190px;display:grid;place-items:center;margin:14px auto}.qr-img{width:170px;height:170px}.modal-card.small>b,.modal-card.small>small{display:block;text-align:center;margin-top:8px}@media(max-width:1000px){.layout{grid-template-columns:165px minmax(0,1fr) 230px}.architecture{grid-template-columns:repeat(2,1fr)}}
#consultModal input{width:100%;box-sizing:border-box;padding:12px;border-radius:12px;border:1px solid #235063;background:#061d2b;color:#fff;margin:6px 0}
/* v0.8 Visual Storytelling */
.hotspot-dot{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;aspect-ratio:1/1!important;flex:none!important;border-radius:50%!important}
.service-visual{position:absolute;width:92px;height:58px;object-fit:cover;border-radius:12px;left:50%;bottom:29px;transform:translateX(-50%);border:1px solid rgba(88,240,230,.42);box-shadow:0 8px 28px rgba(0,0,0,.32),0 0 22px rgba(88,240,230,.12);background:#071e2d;animation:visualIn .32s ease both}
@keyframes visualIn{from{opacity:0;transform:translateX(-50%) translateY(6px) scale(.94)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
.success-flash .modal-card{box-shadow:0 0 0 1px rgba(88,240,230,.8),0 0 80px rgba(88,240,230,.28)!important}


/* v0.9 Motion & Service Visuals */
.business-success{
  display:inline-block;
  font-weight:900;
  letter-spacing:.14em;
  background:linear-gradient(90deg,#5ff4e9,#c8fbff,#8fb6ff,#b98cff,#5ff4e9);
  background-size:300% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:businessSuccessGradient 9s linear infinite,businessSuccessBreath 4.8s ease-in-out infinite;
}
.brand-area{position:relative}
.brand-area::after{
  content:"";
  position:absolute;
  left:150px;right:0;bottom:-10px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(88,240,230,.7),rgba(142,170,255,.35),transparent);
  transform-origin:center;
  animation:headerLineBreath 5.4s ease-in-out infinite;
}
@keyframes businessSuccessGradient{0%{background-position:0 50%}100%{background-position:300% 50%}}
@keyframes businessSuccessBreath{0%,100%{filter:drop-shadow(0 0 2px rgba(88,240,230,.12));opacity:.88}50%{filter:drop-shadow(0 0 11px rgba(88,240,230,.4));opacity:1}}
@keyframes headerLineBreath{0%,100%{opacity:.18;transform:scaleX(.72)}50%{opacity:.72;transform:scaleX(1)}}

.scene-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:opacity,transform,filter}
.scene-layer.current{opacity:1;transform:scale(1);transition:opacity .46s ease,transform .46s ease,filter .46s ease}
.scene-layer.current.leaving{opacity:0;transform:scale(.994);filter:blur(2px)}
.scene-layer.next{opacity:0;transform:scale(1.012);pointer-events:none;z-index:1;transition:opacity .46s ease,transform .46s ease,filter .46s ease}
.scene-layer.next.visible{opacity:1;transform:scale(1);filter:blur(0)}
.scene-vignette,.scene-title,#hotspots,.scene-core,.story-card{z-index:3}

.capability-list{display:grid;gap:7px;margin:12px 0 18px}
.capability{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(120,170,190,.14);border-radius:10px;color:#718895;font-size:11px;letter-spacing:.04em}
.capability.on{color:#efffff;border-color:rgba(88,240,230,.32);background:rgba(88,240,230,.07);box-shadow:inset 0 0 18px rgba(88,240,230,.025)}
.capability span{width:16px;color:#58f0e6}
.coverage-head b{font-size:20px;color:#58f0e6}

.service-visual{
  width:110px!important;
  height:62px!important;
  object-fit:contain!important;
  background:rgba(3,18,30,.38);
  border:1px solid rgba(88,240,230,.22);
  border-radius:13px;
  padding:5px;
  backdrop-filter:blur(7px);
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.22));
  transform:translate(-38px,-74px);
  pointer-events:none;
  animation:serviceVisualIn .38s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes serviceVisualIn{from{opacity:0;transform:translate(-38px,-64px) scale(.92)}to{opacity:1;transform:translate(-38px,-74px) scale(1)}}

.hotspot-dot{
  width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;
  aspect-ratio:1/1!important;border-radius:50%!important;box-sizing:border-box!important;flex:0 0 16px!important;
}


/* v1.0 Showcase Edition */
.coverage-title{
  margin:14px 0 9px;
  color:#6feee5;
  font-size:10px;
  letter-spacing:.16em;
}
.capability-list{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 17px;
}
.capability{
  display:inline-flex;
  width:auto;
  padding:7px 10px;
  border-radius:999px;
  font-size:10px;
  letter-spacing:.05em;
}
.capability.on{
  color:#f3ffff;
  background:rgba(88,240,230,.09);
  border-color:rgba(88,240,230,.38);
}
.solution-status{
  align-self:flex-start;
  padding:10px 13px;
  border-radius:999px;
  border:1px solid rgba(88,240,230,.35);
  color:#72f7ec;
  background:rgba(88,240,230,.08);
  font-size:11px;
  letter-spacing:.11em;
  white-space:nowrap;
}

.primary-visual-card{
  position:absolute;
  z-index:7;
  top:18%;
  width:min(300px,28%);
  aspect-ratio:16/9;
  opacity:0;
  pointer-events:none;
  transform:translateY(10px) scale(.95);
  transition:opacity .35s ease,transform .42s cubic-bezier(.2,.8,.2,1);
  border-radius:18px;
  border:1px solid rgba(88,240,230,.30);
  background:linear-gradient(145deg,rgba(5,25,40,.82),rgba(4,15,28,.62));
  backdrop-filter:blur(10px);
  box-shadow:0 20px 55px rgba(0,0,0,.32),inset 0 0 30px rgba(88,240,230,.035);
  padding:9px 10px 11px;
  overflow:hidden;
}
.primary-visual-card.right{right:3.2%;left:auto}
.primary-visual-card.left{left:3.2%;right:auto}
.primary-visual-card.on{opacity:1;transform:translateY(0) scale(1)}
.primary-visual-card img{
  display:block;
  width:100%;
  height:calc(100% - 31px);
  object-fit:contain;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.28));
}
.primary-visual-card strong{
  display:block;
  margin-top:3px;
  color:#fff;
  font-size:12px;
  letter-spacing:.03em;
  text-align:center;
}
.primary-visual-kicker{
  position:absolute;
  top:8px;
  left:10px;
  padding:4px 7px;
  border-radius:8px;
  color:#8ef9ef;
  background:rgba(3,20,31,.72);
  border:1px solid rgba(88,240,230,.24);
  font-size:8px;
  letter-spacing:.13em;
  z-index:2;
}
.primary-hotspot .hotspot-dot{
  box-shadow:0 0 0 5px rgba(88,240,230,.13),0 0 22px rgba(88,240,230,.72)!important;
}
.primary-hotspot .hotspot-label{
  border-color:rgba(88,240,230,.55)!important;
  background:rgba(5,29,41,.92)!important;
}
.service-visual{display:none!important}

@media (max-width:1200px){
  .primary-visual-card{width:240px;max-width:29%}
}

/* v1.1 premium splash */
.splash-v11{background:radial-gradient(circle at 50% 45%,#092131 0,#020813 42%,#01050c 100%);overflow:hidden}
.splash-v11-inner{display:flex!important;flex-direction:column;align-items:center;min-width:320px}
.splash-logo-v11{animation:splashLogoIn .65s cubic-bezier(.2,.8,.2,1) both}
.splash-success{margin-top:16px;font-size:17px;font-weight:800;letter-spacing:.24em;background:linear-gradient(90deg,#63f5e9,#d8ffff,#8fb9ff,#bd8cff,#63f5e9);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;animation:splashSuccessIn .65s .32s ease forwards,splashGradient 7s .8s linear infinite,splashBreathe 3.6s 1s ease-in-out infinite}
.splash-neon-line{position:relative;width:280px;height:2px;margin:17px 0 13px}
.splash-neon-line i{position:absolute;inset:0;background:linear-gradient(90deg,transparent,#55f5e9 20%,#7fc7ff 62%,#a48cff 82%,transparent);transform:scaleX(0);transform-origin:left;box-shadow:0 0 7px rgba(88,240,230,.55),0 0 18px rgba(88,240,230,.22);animation:splashLineDraw .85s .72s cubic-bezier(.3,.8,.2,1) forwards}
.splash-neon-line b{position:absolute;top:-3px;left:-12px;width:30px;height:8px;border-radius:50%;opacity:0;background:radial-gradient(ellipse,#eaffff 0,#63f5e9 28%,rgba(88,240,230,0) 72%);animation:splashPulse 1.05s 1.22s ease-out forwards}
.splash-v11 #splashSub{opacity:0;letter-spacing:.16em;animation:splashSubIn .55s .92s ease forwards}
@keyframes splashLogoIn{from{opacity:0;transform:translateY(6px) scale(.975);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@keyframes splashSuccessIn{from{opacity:0;transform:translateY(7px) scale(.97)}to{opacity:.96;transform:none}}
@keyframes splashGradient{to{background-position:300% 50%}}
@keyframes splashBreathe{0%,100%{filter:drop-shadow(0 0 3px rgba(88,240,230,.15));opacity:.84}50%{filter:drop-shadow(0 0 12px rgba(88,240,230,.48));opacity:1}}
@keyframes splashLineDraw{to{transform:scaleX(1)}}
@keyframes splashPulse{0%{opacity:0;transform:translateX(0) scale(.7)}15%{opacity:1}85%{opacity:.9}100%{opacity:0;transform:translateX(280px) scale(1.25)}}
@keyframes splashSubIn{to{opacity:.72}}
