.sp-anchor{position:absolute;left:0;top:24%;width:1px;height:1px;pointer-events:none}
.sw-intro{position:relative;height:500svh}
.sw-stage{--away:0;--order:0;--story:0;position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;background:radial-gradient(ellipse 70% 62% at 52% 48%,#0d2a52,#030918 72%)}
.sw-grid{position:absolute;inset:-2px;background-image:linear-gradient(#6b9ad614 1px,transparent 1px),linear-gradient(90deg,#6b9ad614 1px,transparent 1px);background-size:72px 72px;background-position:center;-webkit-mask-image:radial-gradient(ellipse 62% 56% at 55% 50%,#000 8%,transparent 78%);mask-image:radial-gradient(ellipse 62% 56% at 55% 50%,#000 8%,transparent 78%);opacity:calc(.2 + var(--order)*.8)}
#sw-graph{position:absolute;inset:0;display:block;width:100%;height:100%}
.sw-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#030918e0 0,#03091866 34%,transparent 60%),linear-gradient(0deg,#030918 0,transparent 30%,transparent 84%,#030918b3)}
.sw-nodes{position:absolute;inset:0;pointer-events:none}
.sw-node{position:absolute;left:0;top:0;display:flex;flex-direction:column;gap:.3em;padding-left:calc(10px + .7em);font:400 var(--fs-node)/1.25 'Courier New',monospace;letter-spacing:.13em;text-transform:uppercase;color:#bcd6f2;white-space:nowrap;opacity:0;will-change:transform,opacity}
.sw-node b{font-weight:400;color:#e8f3ff}
.sw-node small{font-size:.9em;color:#6f8fb4}
.sw-stage.is-tight .sw-node small{display:none}
.sw-node .on{display:none;color:#8fd0ff}
.sw-stage.is-linked .sw-node .on{display:inline}
.sw-stage.is-linked .sw-node .off{display:none}
.sw-node--hub{padding-left:calc(16px + .9em)}
.sw-node--hub b{font:500 clamp(1rem,.62rem + .55vw,1.45rem)/1 'Space Grotesk',Arial,sans-serif;letter-spacing:-.03em;text-transform:none}
.sw-node.is-hot b{color:#fff}
.sw-node.is-hot small{color:#acd4fc}
.sw-status{display:flex;align-items:center;gap:.7em}
.sw-status i{position:relative;display:block;width:clamp(80px,7vw,150px);height:3px;border-radius:2px;background:#8daed22b;overflow:hidden}.sw-status i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#3a6ea8,#bfe3ff);transform-origin:left;transform:scaleX(var(--meter,.06))}
.sw-status b{display:none;font-weight:400;color:#e4efff}
.sw-stage[data-phase="0"] .sw-status b:nth-of-type(1),.sw-stage[data-phase="1"] .sw-status b:nth-of-type(2),.sw-stage[data-phase="2"] .sw-status b:nth-of-type(3),.sw-stage[data-phase="3"] .sw-status b:nth-of-type(4){display:inline}
.sw-hero{position:absolute;left:var(--pad);bottom:19%;max-width:min(64vw,940px);transform:translate3d(calc(var(--away)*-6vw),calc(var(--away)*-5vh),0) scale(calc(1 - var(--away)*.1));transform-origin:0 60%;opacity:calc(1 - var(--away));filter:blur(calc(var(--away)*6px))}
.sw-hero>.sp-mono{margin:0 0 1.6rem;color:#9fbedf}
.sw-hero__foot{display:flex;align-items:center;gap:3.4vw;margin-top:2rem}
.sw-steps{position:absolute;left:var(--pad);bottom:18%;width:min(36rem,40vw);pointer-events:none}
.sw-step{position:absolute;left:0;bottom:0;width:100%;opacity:0;visibility:hidden;will-change:transform,opacity}
.sw-step small{display:block;margin-bottom:1.3rem;color:#86a8cc}
.sw-step h2{margin:0 0 1.3rem;font-size:clamp(2.2rem,4.4vw,5.2rem);font-weight:400;line-height:.98;letter-spacing:-.065em}
.sw-step h2 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.06em;color:#acd4fc}
.sw-step p{margin:0;max-width:28rem;font-size:var(--fs-copy);line-height:1.6;color:#a9bdd6}
.sw-services{position:relative;z-index:2;padding:calc(18px + 7rem) var(--pad) clamp(5rem,12vh,8rem)}
.sw-services__head{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:6vw;margin:7vh 0 8vh}
.sw-services .sp-h2{color:#122446}
.sw-list{list-style:none;margin:0;padding:0;border-top:1px solid #1e48852e}
.sw-row{position:relative;display:grid;grid-template-columns:4.5rem minmax(0,1.32fr) minmax(0,1fr) clamp(14rem,20vw,26rem);align-items:center;gap:2.5vw;padding:2.3rem 0;border-bottom:1px solid #1e48852e}
.sw-row::before{content:"";position:absolute;inset:0 calc(var(--pad)*-.5);border-radius:8px;background:linear-gradient(90deg,#dde8f8,#eef3fb00 85%);opacity:0;transition:opacity .45s}
.sw-row>*{position:relative}
.sw-row__n{color:#6c86ad}
.sw-row h3{margin:0;font-size:clamp(1.6rem,3.1vw,3.3rem);font-weight:400;line-height:1;letter-spacing:-.055em;color:#122446;transition:transform .7s cubic-bezier(.22,1,.36,1),color .4s}
.sw-row p{margin:0;max-width:27em;font-size:var(--fs-copy);line-height:1.55;color:#4d6690}
.sw-row .sp-chips{justify-content:flex-end}
.sw-row:hover::before{opacity:1}
.sw-row:hover h3{transform:translateX(1.1rem);color:#2f4a9b}
.sw-preview{position:fixed;left:0;top:0;z-index:40;width:clamp(260px,22vw,340px);aspect-ratio:3/2;border:1px solid #6797d16b;border-radius:10px;background:#101f35;box-shadow:0 30px 80px #0206117a;overflow:hidden;pointer-events:none;visibility:hidden;opacity:0}
.sw-preview__bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #8cb3e122;font:400 .45rem 'Courier New',monospace;letter-spacing:.1em;color:#8ca8cb}
.sw-preview__bar span{display:flex;align-items:center;gap:.5rem}
.sw-preview__bar i{width:5px;height:5px;border-radius:50%;background:#8ccaf5;box-shadow:0 0 10px #64bbff}
.sw-pane{position:absolute;left:0;right:0;top:32px;bottom:0;padding:14px;opacity:0;transform:translateY(10px);transition:opacity .35s,transform .5s cubic-bezier(.22,1,.36,1)}
.sw-preview[data-pane="0"] .sw-pane--crm,.sw-preview[data-pane="1"] .sw-pane--ops,.sw-preview[data-pane="2"] .sw-pane--portal,.sw-preview[data-pane="3"] .sw-pane--api{opacity:1;transform:none}
.sw-pane--crm{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sw-pane--crm>div{display:flex;flex-direction:column;gap:6px}
.sw-pane--crm i{width:40%;height:4px;margin-bottom:4px;border-radius:2px;background:#86bdeb}
.sw-pane--crm b{height:38px;border:1px solid #8db6e523;border-radius:4px;background:#203553;animation:sw-card 3s ease-in-out infinite}
.sw-pane--crm>div:nth-child(2) b{background:#274969;animation-delay:-1s}
.sw-pane--crm>div:nth-child(3) b{border-left:2px solid #7cb9d6;animation-delay:-2s}
.sw-pane--ops{display:grid;align-content:center;gap:12px;background:repeating-linear-gradient(90deg,#7197c517 0 1px,transparent 1px 20%)}
.sw-pane--ops b{height:16px;width:calc(var(--w)*100%);margin-left:calc(var(--x)*100%);border:1px solid #659cda60;border-radius:3px;background:linear-gradient(90deg,#274e7c,#3a6ea8);transform-origin:left;animation:sw-bar 2.8s cubic-bezier(.22,1,.36,1) infinite alternate}
.sw-pane--ops b:nth-child(2){animation-delay:-.7s}.sw-pane--ops b:nth-child(3){animation-delay:-1.4s}.sw-pane--ops b:nth-child(4){animation-delay:-2.1s}
.sw-pane--portal{display:grid;grid-template-columns:52px 1fr;gap:10px}
.sw-pane--portal aside{display:flex;flex-direction:column;gap:7px;padding:8px;border-radius:4px;background:#0c1a2d}
.sw-pane--portal aside i{height:5px;border-radius:2px;background:#4d6c94}
.sw-pane--portal aside i:first-child{background:#8fd0ff}
.sw-pane--portal>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sw-pane--portal>div b{border:1px solid #8db6e523;border-radius:4px;background:linear-gradient(160deg,#1c3354,#132540)}
.sw-pane--portal>div b:first-child{grid-column:1/-1;background:linear-gradient(120deg,#2f5f9c,#1a3358)}
.sw-pane--api svg{display:block;width:100%;height:100%;overflow:visible}
.sw-pane--api path{fill:none;stroke:#8fd0ff;stroke-width:1.3;stroke-dasharray:4 7;animation:sw-flow 1.2s linear infinite}
.sw-pane--api circle{fill:#132540;stroke:#8fd0ff;stroke-width:1.2}
.sw-pane--api text{fill:#bcd6f2;font:400 11px 'Courier New',monospace;letter-spacing:.1em}
.sw-pane--api .hub{fill:#8fd0ff;font:500 16px 'Space Grotesk',Arial,sans-serif}
.sw-process{position:relative;height:360svh}
.sw-process__stage{position:sticky;top:0;display:flex;flex-direction:column;height:100svh;min-height:620px;padding:calc(18px + 6.2rem) var(--pad) 7vh;overflow:hidden;background:radial-gradient(ellipse at 80% 70%,#1b3d6e40,transparent 60%),#030918}
.sw-process__grid{flex:1;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:6vw;min-height:0;padding-top:4vh}
.sw-phases{display:grid;gap:.15rem;margin:5vh 0 0;padding:0;list-style:none}
.sw-phases li{position:relative;display:grid;grid-template-columns:2.8rem 1fr;align-items:center;padding:.85rem 0;border-bottom:1px solid #8dafd51f;font-size:clamp(1rem,1.5vw,1.45rem);letter-spacing:-.03em;color:#4f6d93;transition:color .5s}
.sw-phases li small{color:inherit}
.sw-phases li i{position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:#acd4fc;transform-origin:left;transform:scaleX(var(--fill,0))}
.sw-phases li.is-done{color:#8fb0d4}
.sw-phases li.is-active{color:#edf6ff}
.sw-term{overflow:hidden;border:1px solid #6797d16b;border-radius:10px;background:#060f1d;box-shadow:0 40px 90px #0206118c,inset 0 1px 0 #ffffff0a}
.sw-term__bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:12px 16px;border-bottom:1px solid #8cb3e122;color:#8ca8cb}
.sw-term__dots{display:flex;gap:6px}
.sw-term__dots i{width:8px;height:8px;border-radius:50%;background:#2a4163}
.sw-term__live{display:flex;align-items:center;gap:.5rem;color:#8fd0ff}
.sw-term__live i{width:6px;height:6px;border-radius:50%;background:#8fd0ff;box-shadow:0 0 10px #64bbff;animation:loader-wait 1.2s ease-in-out infinite}
.sw-term__body{display:flex;flex-direction:column;justify-content:flex-end;height:min(50vh,430px);margin:0;padding:1.4rem 1.6rem;overflow:hidden;font:400 clamp(.66rem,.8vw,.8rem)/1.85 'Courier New',monospace;color:#9fc3e8;white-space:pre-wrap}
.sw-term__body span{display:block}
.sw-term__body .c{color:#edf6ff}
.sw-term__body .ok{color:#8fd0ff}
.sw-term__body .dim{color:#56759c}
.sw-term__body .inf{color:#cfe6ff}
.sw-term__body .caret{display:inline-block;width:.55em;height:1.05em;margin-left:2px;vertical-align:-2px;background:#acd4fc;animation:loader-wait 1s steps(2) infinite}
.sw-promise{position:relative;padding:calc(18px + 7rem) var(--pad) clamp(6rem,13vh,9rem);background:#030918}
.sw-promise__title{margin-top:7vh}
.sw-promise__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:8vh}
.sw-card{--mx:50%;--my:50%;position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:3rem;min-height:clamp(260px,34vh,340px);padding:clamp(1.2rem,2vw,2rem);overflow:hidden;border:1px solid #8dafd52b;border-radius:10px;background:#071225}
.sw-card::before{content:"";position:absolute;inset:0;background:radial-gradient(340px circle at var(--mx) var(--my),#5eacf82e,transparent 62%);opacity:0;transition:opacity .4s}
.sw-card:hover::before{opacity:1}
.sw-card>*{position:relative}
.sw-card>span{color:#6f8fb4}
.sw-card h3{margin:0 0 1rem;font-size:clamp(1.3rem,1.9vw,1.9rem);font-weight:400;line-height:1.08;letter-spacing:-.045em}
.sw-card p{margin:0;font-size:var(--fs-copy);line-height:1.55;color:#8faecb}
@keyframes sw-card{50%{transform:translateY(-2px);border-color:#8db6e555}}
@keyframes sw-bar{from{transform:scaleX(.55)}to{transform:scaleX(1)}}
@keyframes sw-flow{to{stroke-dashoffset:-22}}
@media(max-width:1000px){.sw-row{grid-template-columns:3rem minmax(0,1fr);row-gap:.9rem}.sw-row p,.sw-row .sp-chips{grid-column:2}.sw-row .sp-chips{justify-content:flex-start;max-width:none}.sw-process__grid{display:flex;flex-direction:column;align-items:stretch;gap:3vh}.sw-phases{margin-top:2.6vh}.sw-phases li{padding:.6rem 0;font-size:clamp(1.05rem,2.3vw,1.3rem)}.sw-term{display:flex;flex-direction:column;flex:1;min-height:0}.sw-term__body{flex:1;height:auto;min-height:8rem;font-size:.76rem}.sw-promise__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-preview{display:none}}
@media(max-width:700px){.sw-intro{height:440svh}.sw-hero{left:6%;right:6%;bottom:16%;max-width:none}.sw-hero__foot{display:block}.sw-hero__foot .sp-link{margin-top:1.2rem}.sw-steps{left:6%;right:6%;bottom:14%;width:auto}.sw-step h2{font-size:clamp(2rem,9vw,2.9rem)}.sw-vignette{background:linear-gradient(0deg,#030918 0,#030918cc 34%,transparent 60%),linear-gradient(180deg,#030918a6,transparent 18%)}.sw-services__head{grid-template-columns:1fr;gap:2rem}.sw-row h3{font-size:1.55rem}.sw-process__stage{padding-top:calc(10px + 5.6rem)}.sw-term__body{font-size:.7rem;padding:1rem}.sw-phases{margin-top:1.8vh}.sw-phases li{grid-template-columns:2.4rem 1fr;padding:.42rem 0;font-size:1rem}.sw-promise__grid{grid-template-columns:1fr}.sw-card{min-height:220px}}
@media(prefers-reduced-motion:reduce){.sw-pane *{animation:none!important}}
@media(max-width:700px) and (max-height:700px){.sw-process__grid{gap:2vh}.sw-phases{margin-top:1.2vh}.sw-phases li{padding:.28rem 0;font-size:.95rem}.sw-term__bar{padding:9px 14px}.sw-term__body{min-height:5.5rem;padding:.8rem 1rem}}

@media(max-width:700px){.sw-status i{width:60px}.sw-status b{display:none!important}}