/* V3.2: isolated visual system for Block 02. Hero V2.1 CSS untouched. */
.solutions{--sx:50%;--sy:50%;padding:clamp(42px,5vh,65px) clamp(22px,4vw,68px) 54px;background:radial-gradient(ellipse 80% 75% at 80% 38%,rgba(32,83,148,.19),transparent 76%),linear-gradient(145deg,#d1d9e0 0%,#e8e8e6 44%,#b9c7d2 100%);min-height: min(930px, 100vh)}
.solutions::before{opacity:.37;background-size:47px 47px;mask-image:linear-gradient(90deg,#000,transparent 92%)}
.solutions::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(330px circle at var(--sx) var(--sy),rgba(255,255,255,.22),transparent 80%);z-index:0}
.solutions-shell{max-width:1650px;z-index:1}.solutions-heading{max-width:1050px}.solutions-heading h2{font-size:clamp(30px,3.1vw,51px);line-height:1.12;max-width:970px;margin:12px 0 10px}.solutions-heading>p{font-size:clamp(13px,1vw,16px);line-height:1.5;max-width:850px}
.solutions-workspace{margin-top:18px;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(20px,2.5vw,48px);align-items:center}
.solutions-network{width:100%;max-width:660px;min-height:0;aspect-ratio:600/470}.network-lines{inset:0 0}.network-center{width:24%;top:50%;box-shadow:0 0 0 10px rgba(32,83,148,.07),0 18px 50px rgba(16,35,56,.2)}.network-center:after{content:"";position:absolute;inset:-12px;border:1px solid rgba(32,83,148,.25);border-radius:50%;animation:v32Pulse 5s ease-in-out infinite;pointer-events:none}
.network-node{width:38%;min-height:105px;padding:13px 15px;background:rgba(232,232,230,.65);border-color:rgba(32,83,148,.45);box-shadow:0 12px 32px rgba(16,35,56,.08);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);transition:box-shadow .28s,border-color .28s,background .28s,color .28s}
.network-node:nth-of-type(1),.network-node:nth-of-type(2){top:0}.network-node:nth-of-type(3),.network-node:nth-of-type(4){bottom:0}.network-node strong{font-size:clamp(12px,1.05vw,16px);margin-top:7px}.network-node.is-active{box-shadow:0 18px 38px rgba(16,35,56,.22)}
.node-float{display:block;animation:v32Float 5s ease-in-out infinite}.network-node:nth-of-type(2) .node-float{animation-delay:-1.25s}.network-node:nth-of-type(3) .node-float{animation-delay:-2.5s}.network-node:nth-of-type(4) .node-float{animation-delay:-3.75s}
@media(hover:hover) and (pointer:fine){.network-node:hover{transform:translateY(-6px);box-shadow:0 24px 42px rgba(16,35,56,.19);border-color:var(--yale)}}
.solution-details{min-height:0;align-self:center;padding:17px 12px 18px clamp(24px,2.7vw,44px);position:relative;background:radial-gradient(350px circle at var(--px,50%) var(--py,50%),rgba(255,255,255,.56),transparent 70%);border-left:2px solid rgba(32,83,148,.4)}.solution-details h3{font-size:clamp(25px,2.2vw,37px);margin:16px 0 10px}.detail-description{font-size:clamp(13px,1vw,15px);line-height:1.52;margin:0}.detail-rule{margin:16px 0 12px;padding:10px 0}.solution-details ul{gap:7px;margin-bottom:12px}.solution-details li{font-size:clamp(12px,.95vw,14px)}.detail-link{padding:8px 0}.solutions-hint{margin:0;font-size:9px}
/* Scroll-triggered choreography; visibility defaults to ON before JS. */
.v32-motion .solutions .v32-in{opacity:0;filter:blur(9px);transform:translateY(35px);transition:opacity .95s cubic-bezier(.16,1,.3,1),transform .95s cubic-bezier(.16,1,.3,1),filter .95s cubic-bezier(.16,1,.3,1)}
.v32-motion .solutions .v32-in.v32-show{opacity:1;filter:blur(0);transform:translateY(0)}
.v32-motion .solutions .network-node.v32-in{transition:opacity .9s,transform .9s,filter .9s,box-shadow .3s,background .3s,color .3s,border-color .3s}
.v32-motion .solutions .network-node.v32-in.v32-show:hover{transform:translateY(-6px)}
/* Every panel change is animated after content is replaced, in staggered order. */
.solution-details.v32-switch .detail-top{animation:v32Slide .6s .02s both}.solution-details.v32-switch h3{animation:v32Slide .65s .10s both}.solution-details.v32-switch .detail-description{animation:v32Slide .65s .20s both}.solution-details.v32-switch .detail-rule{animation:v32Slide .55s .29s both}.solution-details.v32-switch li:nth-child(1){animation:v32Slide .6s .34s both}.solution-details.v32-switch li:nth-child(2){animation:v32Slide .6s .41s both}.solution-details.v32-switch li:nth-child(3){animation:v32Slide .6s .48s both}.solution-details.v32-switch li:nth-child(4){animation:v32Slide .6s .55s both}.solution-details.v32-switch li:nth-child(5){animation:v32Slide .6s .62s both}.solution-details.v32-switch .detail-link{animation:v32Slide .65s .70s both}
@keyframes v32Slide{from{opacity:0;transform:translate3d(0,22px,0);filter:blur(6px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}@keyframes v32Float{50%{transform:translateY(-5px)}}@keyframes v32Pulse{50%{transform:scale(1.08);opacity:.3}}
/* Global cursor; no blend modes that can make it invisible. */
.v32-cursor{position:fixed;left:0;top:0;width:30px;height:30px;border:2px solid #205394;background:rgba(232,232,230,.19);border-radius:50%;pointer-events:none;z-index:2147483647;opacity:0;transform:translate3d(-100px,-100px,0) translate(-50%,-50%);transition:width .22s,height .22s,background .22s,border-color .22s,opacity .15s;box-shadow:0 0 0 1px rgba(232,232,230,.55)}
.v32-cursor::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;background:#205394;border-radius:50%;transform:translate(-50%,-50%)}.v32-cursor.on-dark{border-color:#e8e8e6;background:rgba(32,83,148,.22)}.v32-cursor.on-dark::after{background:#e8e8e6}.v32-cursor.on-target{width:51px;height:51px;background:rgba(32,83,148,.14)}
@media(hover:hover) and (pointer:fine){body.v32-mouse,body.v32-mouse a,body.v32-mouse button{cursor:none}}
@media(max-width:1100px) and (min-width:701px){.solutions-workspace{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:16px}.network-node{min-height:95px;padding:10px}.network-node strong{font-size:12px}.solutions-network{max-width:none}.solutions-heading h2{font-size:clamp(31px,3.5vw,42px)}}
@media(max-width:820px) and (min-width:701px){.solutions-workspace{grid-template-columns:1fr}.solutions-network{max-width:600px;margin:auto}.solution-details{max-width:600px;margin:auto}}
@media(max-width:700px){.solutions{min-height:0;padding:60px 23px 62px}.solutions-heading h2{font-size:clamp(32px,8vw,46px)}.solutions-workspace{display:none}.solutions-mobile{display:grid;margin-top:25px}.v32-cursor{display:none!important}.mobile-solution{background:rgba(232,232,230,.7);backdrop-filter:blur(7px)}}
@media(prefers-reduced-motion:reduce){.v32-motion .solutions .v32-in{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.node-float,.network-center:after,.solution-details.v32-switch *{animation:none!important}.v32-cursor{display:none!important}body.v32-mouse,body.v32-mouse a,body.v32-mouse button{cursor:auto!important}}
