.services,.approach,.contact{isolation:isolate;overflow:clip}
.services{background:linear-gradient(180deg,var(--ice),#f1f5fc 75%,var(--cream))}
.section-top{position:relative}.section-top::after{content:'';position:absolute;left:0;right:0;bottom:-18px;height:1px;background:currentColor;opacity:.13;transform-origin:left}
.service-list{position:relative}.service{position:relative}.service::before{content:'';position:absolute;left:-16px;top:28px;bottom:28px;width:2px;background:var(--blue);transform:scaleY(0);transition:transform .5s}.service[open]::before{transform:scaleY(1)}
.section-motion .reveal-item{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}
.section-motion .reveal-item.is-seen{opacity:1;transform:none}
.section-motion .service svg :is(path,rect){stroke-dasharray:180;stroke-dashoffset:180;transition:stroke-dashoffset 1.6s ease .15s}.section-motion .service.is-seen svg :is(path,rect){stroke-dashoffset:0}
.approach{position:relative;background:linear-gradient(140deg,var(--cream),#f5f0e9 65%,#ddeaff)}
.approach-layout{align-items:start}.approach-layout>div:first-child{position:sticky;top:90px}
.process-art{position:relative;display:block;height:280px;margin:45px 0 0;max-width:450px;perspective:900px}
.process-field{position:absolute;inset:0;background:radial-gradient(ellipse,#2b66ff16,transparent 65%);border-radius:50%}
.process-ring{position:absolute;inset:30px 15px;border:1px solid #2b66ff30;border-radius:50%;transform:rotateX(58deg) rotateZ(-22deg)}
.process-ring.second{inset:5px 45px;transform:rotateY(55deg) rotateZ(28deg)}
.glass-module{position:absolute;left:50%;top:45%;width:112px;height:128px;margin:-64px 0 0 -56px;border:2px solid #d8edff;border-radius:24px;background:linear-gradient(125deg,#ffffffd9 0%,#82b6ff42 20%,#144dad44 52%,#e2f6ffad 74%,#2b66ff4a);box-shadow:inset 3px 3px 9px #fff,inset -6px -5px 15px #2b66ff6a,0 22px 45px #144dad24;transform:rotateY(-25deg) rotateZ(-12deg);display:grid;place-items:center;color:#1248a0;backdrop-filter:blur(6px)}
.glass-module::before{content:'';position:absolute;inset:10px;border:1px solid #fff9;border-radius:16px}.glass-module svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:1.5;filter:drop-shadow(0 1px 1px white)}
.process-caption{position:absolute;bottom:12px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:16px;font:10px var(--tech);letter-spacing:2px;color:#4a638b}.process-caption b{color:var(--blue);font-size:20px;font-weight:600}
.process-list{position:relative;padding-left:28px}.process-list::before,.process-list::after{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:#00113a12}.process-list::after{background:var(--blue);transform-origin:top;transform:scaleY(var(--process-progress,0))}
.process-list li{position:relative;min-height:190px;padding:32px 0;transition:color .35s}.process-list li::before{content:'';position:absolute;left:-32px;top:40px;width:10px;height:10px;border-radius:50%;background:var(--cream);border:1px solid #93a8c9;transition:background .35s,box-shadow .35s;z-index:1}.process-list li.is-active::before,.process-list li.is-complete::before{background:var(--blue);border-color:var(--blue)}.process-list li.is-active::before{box-shadow:0 0 0 6px #2b66ff18}.process-list li.is-active h3,.process-list li.is-active>span{color:var(--blue)}.process-list h3{font-size:28px}.process-list p{font-size:13px;max-width:330px}
.contact{background:radial-gradient(ellipse at 85% 50%,#153675 0%,transparent 55%),var(--navy)}.contact-orbit{will-change:transform;opacity:.35}.contact-crystal{position:absolute;right:14%;top:50%;width:140px;height:160px;margin:0;left:auto;opacity:.65;transform:translateY(-50%) rotateY(-28deg) rotateZ(18deg);color:#daebff;background:linear-gradient(125deg,#c7e2ff55,#2b66ff20 40%,#9bc7ff66 75%,#123c8933);box-shadow:inset 3px 3px 9px #bbdcff99,inset -6px -5px 15px #2b66ff60,0 25px 65px #00092766;z-index:-1}.contact>p,.contact-number{position:relative}
.section-motion .contact .button.is-seen{transition-delay:160ms}
.motion-off .reveal-item{opacity:1;transform:none;transition:none}.motion-off .service svg :is(path,rect){stroke-dashoffset:0;transition:none}
@media(max-width:900px){.contact-crystal{right:4%;opacity:.25}.process-list{padding-left:20px}.process-list li::before{left:-24px}}
@media(max-width:600px){.approach-layout>div:first-child{position:static}.process-art{height:215px;max-width:320px;margin:25px auto 35px}.glass-module{width:88px;height:100px;margin:-50px 0 0 -44px;border-radius:19px}.glass-module svg{width:42px;height:42px}.process-list li{min-height:150px;padding:25px 0}.process-list li::before{top:34px}.process-list h3{font-size:25px}.process-list p{font-size:12px}.contact-crystal{width:120px;height:140px;margin:0;top:38%;right:-30px}.section-motion .reveal-item{transform:translateY(16px)}.section-motion .reveal-item.is-seen{transform:none}}
@media(prefers-reduced-motion:reduce){.section-motion:not(.motion-enabled) .reveal-item{opacity:1;transform:none}.section-motion:not(.motion-enabled) .service svg :is(path,rect){stroke-dashoffset:0}.contact-orbit{will-change:auto}}
@media(prefers-reduced-motion:reduce){.motion-enabled.section-motion .reveal-item{transition:opacity .75s ease,transform .85s ease!important}.motion-enabled.section-motion .service svg :is(path,rect){transition:stroke-dashoffset 1.6s ease!important}}
