.projectablauf{--pa-bg:#061a32;--pa-surface:rgba(255,255,255,.035);--pa-line:rgba(163,195,232,.16);--pa-line-strong:rgba(178,208,242,.38);--pa-text:#f6f9fd;--pa-muted:#aabbd1;--pa-blue:#3b82f6;--pa-blue-soft:#7fb0ff;--pa-footer:#f8fafc;--pa-footer-text:#0e2442;position:relative;height:calc(var(--pa-scroll,500)*1vh);background:var(--bg);border-block:1px solid var(--line)}
:root[data-theme="light"] .projectablauf{--pa-bg:#f4f7fb;--pa-surface:rgba(11,42,80,.035);--pa-line:rgba(18,54,95,.12);--pa-line-strong:rgba(18,54,95,.3);--pa-text:#0a1d37;--pa-muted:#526982;--pa-blue:#1767df;--pa-blue-soft:#3d7fe8;--pa-footer:#fff;--pa-footer-text:#0d2340}
.pa-sticky{position:sticky;top:var(--header-h);min-height:calc(100svh - var(--header-h));display:grid;place-items:center;padding:4px clamp(4px,.55vw,9px);overflow:hidden}
.pa-board{position:relative;isolation:isolate;width:min(1880px,100%);height:min(960px,calc(100svh - var(--header-h) - 8px));min-height:620px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid color-mix(in srgb,var(--pa-line-strong) 70%,transparent);border-radius:clamp(18px,1.6vw,27px);background:var(--pa-bg);color:var(--pa-text);box-shadow:0 28px 75px rgba(0,16,36,.16)}
.pa-board-grid{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(var(--pa-line) 1px,transparent 1px),linear-gradient(90deg,var(--pa-line) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.78),rgba(0,0,0,.42) 82%,transparent 100%)}
.pa-board:after{content:"";position:absolute;inset:0 0 76px;z-index:-1;pointer-events:none;background:radial-gradient(circle at 76% 38%,color-mix(in srgb,var(--pa-blue) 11%,transparent),transparent 41%),linear-gradient(90deg,color-mix(in srgb,var(--pa-bg) 95%,transparent) 0 37%,transparent 63%)}
.pa-topline{display:flex;align-items:center;gap:18px;padding:clamp(20px,2.5vh,32px) clamp(28px,4vw,68px) 5px;font-size:clamp(.66rem,.8vw,.82rem);font-weight:750;letter-spacing:.22em;color:color-mix(in srgb,var(--pa-text) 82%,transparent)}
.pa-topline i{width:42px;height:2px;display:block;background:var(--pa-blue)}
.pa-main{min-height:0;display:grid;grid-template-columns:56px minmax(292px,.58fr) minmax(0,1.82fr);gap:clamp(18px,2.6vw,44px);align-items:stretch;padding:8px clamp(24px,3.8vw,64px) 10px clamp(16px,1.8vw,30px)}
.pa-side-progress{align-self:stretch;display:grid;grid-template-rows:auto minmax(100px,1fr) auto;justify-items:center;gap:14px;padding-block:10px 16px;color:var(--pa-muted)}
.pa-side-counter{display:flex;gap:4px;align-items:baseline;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.72rem;letter-spacing:.08em}.pa-side-counter strong{color:var(--pa-text);font-size:.94rem}.pa-side-track{position:relative;width:2px;height:100%;min-height:120px;background:var(--pa-line-strong);overflow:hidden}.pa-side-track span{position:absolute;inset:0;background:var(--pa-blue);transform:scaleY(0);transform-origin:top;box-shadow:0 0 16px color-mix(in srgb,var(--pa-blue) 70%,transparent)}.pa-side-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.56rem;font-weight:760;letter-spacing:.2em;white-space:nowrap}
.pa-copy{align-self:stretch;min-width:0;display:grid;grid-template-rows:auto auto 7.1em minmax(0,1fr);align-content:start;padding-top:clamp(34px,7vh,78px)}
.pa-copy h2{margin:0;color:var(--pa-text);font-size:clamp(2.65rem,4.25vw,4.55rem);line-height:.94;letter-spacing:-.045em;white-space:normal}.pa-subtitle{min-height:1.25em;margin:12px 0 0;color:var(--pa-blue-soft);font-size:clamp(1.08rem,1.48vw,1.56rem);line-height:1.22}.pa-body{height:7.1em;min-height:7.1em;max-width:34ch;margin:clamp(20px,2.8vh,30px) 0 0;color:color-mix(in srgb,var(--pa-text) 86%,var(--pa-muted));font-size:clamp(.88rem,.96vw,1.03rem);line-height:1.55;transition:opacity .18s ease,transform .18s ease}.pa-body.is-changing{opacity:.32;transform:translateY(3px)}
.pa-steps{display:grid;gap:1px;margin:8px 0 0;padding:0;list-style:none;align-content:start}.pa-step button{width:100%;min-height:50px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:center;padding:3px 8px 3px 0;border:0;background:transparent;color:var(--pa-muted);font:inherit;text-align:left;cursor:pointer;transition:color .22s ease,transform .22s ease}.pa-step button:hover{color:var(--pa-text)}.pa-step-icon{position:relative;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--pa-line-strong);border-radius:50%;background:color-mix(in srgb,var(--pa-surface) 82%,transparent);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease,background .22s ease}.pa-step-icon:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:15px;background:var(--pa-line-strong)}.pa-step:last-child .pa-step-icon:after{display:none}.pa-step-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.pa-step-label{font-size:clamp(.84rem,.9vw,.96rem);font-weight:540;line-height:1.18}.pa-step.is-active button{color:var(--pa-text);transform:translateX(7px)}.pa-step.is-active .pa-step-icon{border-color:var(--pa-blue);background:color-mix(in srgb,var(--pa-blue) 12%,transparent);box-shadow:0 0 0 5px color-mix(in srgb,var(--pa-blue) 13%,transparent),0 0 26px color-mix(in srgb,var(--pa-blue) 25%,transparent);transform:scale(1.07);color:var(--pa-blue-soft)}.pa-step.is-active .pa-step-label{font-weight:760}
.pa-engineering{min-width:0;align-self:stretch;display:grid;place-items:center;overflow:visible}.pa-svg-shell{width:116%;height:100%;min-height:0;display:grid;place-items:center;overflow:visible;margin-inline:-8%;background:transparent}.pa-svg-shell svg,.pa-svg-fallback{width:100%;height:100%;max-width:none;max-height:none;display:block;object-fit:contain;transform:scale(var(--pa-art-scale,1));transform-origin:center;filter:drop-shadow(0 16px 28px rgba(0,13,32,.1))}.pa-svg-shell .member{vector-effect:non-scaling-stroke;fill:none;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.pa-svg-shell .member.primary{stroke:var(--pa-text);opacity:.91}.pa-svg-shell .member.accent{stroke:var(--pa-blue-soft);opacity:.98;stroke-width:1.55}.pa-svg-shell .member.guide{stroke:var(--pa-muted);opacity:.34;stroke-width:.78}.pa-svg-shell .final-details{fill:var(--pa-text);font:700 14px var(--font-body);opacity:0}.pa-svg-shell .pa-motion{transform-box:fill-box;transform-origin:center;will-change:transform,opacity}
.pa-tech-row{display:none!important}
.pa-brandbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:10px clamp(28px,4vw,68px);background:var(--pa-footer);color:var(--pa-footer-text);border-top:1px solid rgba(13,35,64,.08)}.pa-brand-lockup{min-width:0;display:flex;align-items:center;gap:18px}.pa-brand-lockup img{width:clamp(160px,13vw,215px);height:auto;display:block}.pa-brand-lockup span{max-width:260px;font-size:clamp(.52rem,.62vw,.66rem);font-weight:760;letter-spacing:.12em;line-height:1.45;color:color-mix(in srgb,var(--pa-footer-text) 68%,transparent)}.pa-slogan{font-size:clamp(.62rem,.72vw,.8rem);font-weight:700;letter-spacing:.12em;white-space:nowrap}.pa-slogan strong{color:var(--pa-blue)}
.projectablauf--service .pa-main{grid-template-columns:56px minmax(285px,.56fr) minmax(0,1.9fr)}.projectablauf--service .pa-svg-shell{width:119%;margin-inline:-9.5%}.projectablauf--service .pa-body{max-width:32ch}.projectablauf--service .pa-engineering svg{overflow:visible}
@media(max-width:1180px){.pa-board{min-height:560px}.pa-main,.projectablauf--service .pa-main{grid-template-columns:46px minmax(270px,.72fr) minmax(0,1.45fr);gap:20px}.pa-topline,.pa-main,.pa-brandbar{padding-inline:26px}.pa-copy{padding-top:32px}.pa-copy h2{font-size:clamp(2.35rem,4.6vw,3.7rem)}.pa-body{height:6.7em;min-height:6.7em}.pa-step button{min-height:46px}.pa-svg-shell,.projectablauf--service .pa-svg-shell{width:110%;margin-inline:-5%}}
@media(max-width:900px){.projectablauf{height:calc(var(--pa-scroll-mobile,415)*1vh)}.pa-sticky{padding-inline:7px}.pa-board{height:calc(100svh - var(--header-h) - 14px);min-height:620px;border-radius:19px}.pa-topline{padding:17px 18px 3px;font-size:.6rem}.pa-topline i{width:28px}.pa-main,.projectablauf--service .pa-main{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:6px 18px 9px}.pa-side-progress{display:none}.pa-copy{grid-template-rows:auto auto auto auto;padding-top:4px}.pa-copy h2{font-size:clamp(2.05rem,7vw,3.05rem)}.pa-subtitle{font-size:clamp(.98rem,3vw,1.28rem);margin-top:5px}.pa-body,.projectablauf--service .pa-body{height:auto;min-height:0;max-width:68ch;margin-top:9px;font-size:.86rem;line-height:1.4}.pa-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:8px}.pa-step button{grid-template-columns:1fr;justify-items:center;min-height:39px;gap:2px;padding:0;text-align:center}.pa-step-icon{width:30px;height:30px}.pa-step-icon:after{display:none}.pa-step-icon svg{width:16px;height:16px}.pa-step-label{display:none}.pa-step.is-active button{transform:translateY(-2px)}.pa-engineering{min-height:0}.pa-svg-shell,.projectablauf--service .pa-svg-shell{width:108%;height:100%;margin-inline:-4%}.pa-brandbar{min-height:60px;padding:7px 18px}.pa-brand-lockup img{width:145px}.pa-brand-lockup span{display:none}.pa-slogan{font-size:.56rem;letter-spacing:.075em}}
@media(max-width:620px){.projectablauf{height:calc(var(--pa-scroll-mobile,385)*1vh)}.pa-board{min-height:600px;border-radius:15px}.pa-topline{padding-inline:13px;letter-spacing:.12em}.pa-main,.projectablauf--service .pa-main{padding-inline:13px}.pa-copy h2{font-size:clamp(1.95rem,9.5vw,2.62rem)}.pa-subtitle{min-height:auto;font-size:.96rem}.pa-body{font-size:.8rem;line-height:1.36;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pa-svg-shell,.projectablauf--service .pa-svg-shell{width:114%;margin-inline:-7%}.pa-brandbar{padding-inline:13px}.pa-brand-lockup img{width:122px}.pa-slogan{max-width:145px;white-space:normal;text-align:right;line-height:1.35}}
@media(max-height:700px) and (min-width:901px){.pa-board{min-height:0}.pa-main,.projectablauf--service .pa-main{grid-template-columns:44px minmax(250px,.65fr) minmax(0,1.55fr);padding-block:2px 7px}.pa-topline{padding-top:12px}.pa-copy{padding-top:14px}.pa-copy h2{font-size:2.65rem}.pa-subtitle{font-size:1.08rem}.pa-body{margin-top:10px;height:5.3em;min-height:5.3em;font-size:.8rem}.pa-step button{min-height:39px}.pa-step-icon{width:29px;height:29px}.pa-brandbar{min-height:56px}}
@media(prefers-reduced-motion:reduce){.projectablauf{height:auto}.pa-sticky{position:relative;top:auto;min-height:auto}.pa-board{height:auto;min-height:680px}.pa-step button,.pa-step-icon,.pa-body{transition:none}}
.projectablauf .pa-copy,.projectablauf--service .pa-copy{align-self:stretch;min-width:0;display:flex;flex-direction:column;align-content:initial;overflow:visible;padding-top:clamp(30px,5.5vh,62px);padding-right:clamp(4px,.8vw,12px)}
.projectablauf .pa-copy h2,.projectablauf--service .pa-copy h2{max-width:100%;margin:0;color:var(--pa-text);font-size:clamp(2.35rem,3.55vw,3.9rem);line-height:.98;letter-spacing:-.043em;white-space:normal;text-wrap:balance;overflow-wrap:normal;word-break:normal}
.projectablauf .pa-subtitle,.projectablauf--service .pa-subtitle{flex:0 0 auto;max-width:32ch;min-height:0;margin:10px 0 0;color:var(--pa-blue-soft);font-size:clamp(1rem,1.28vw,1.34rem);line-height:1.28;text-wrap:balance;overflow-wrap:normal;word-break:normal}
.projectablauf .pa-body,.projectablauf--service .pa-body{box-sizing:border-box;flex:0 0 auto;width:100%;height:auto;min-height:8.15em;max-width:34ch;margin:clamp(16px,2.1vh,22px) 0 0;padding:0 4px 8px 0;color:color-mix(in srgb,var(--pa-text) 86%,var(--pa-muted));font-size:clamp(.82rem,.9vw,.98rem);line-height:1.52;overflow:visible;overflow-wrap:normal;word-break:normal;transition:opacity .18s ease}
.projectablauf .pa-body.is-changing{opacity:.38;transform:none}
.projectablauf .pa-steps,.projectablauf--service .pa-steps{flex:0 0 auto;display:grid;gap:1px;margin:4px 0 0;padding:0;list-style:none;align-content:start}
.projectablauf--service .pa-main{grid-template-columns:56px minmax(390px,.76fr) minmax(0,1.74fr);gap:clamp(18px,2.2vw,38px)}
.projectablauf--service .pa-copy h2{font-size:clamp(2.15rem,3vw,3.35rem)}
.projectablauf--service .pa-body{max-width:33ch;min-height:8.15em}
.projectablauf--service .pa-step button{min-height:45px}
.projectablauf--service .pa-svg-shell{width:116%;margin-inline:-8%}
.projectablauf .pa-side-label{font-size:.52rem;letter-spacing:.18em;white-space:nowrap}
body[data-page="home"] .projectablauf .pa-engineering{transform:translateX(-1cm)}
.service-hero-engineering{min-height:0;aspect-ratio:1/1;border:0;background:transparent;box-shadow:none;overflow:visible}
.service-hero-engineering img{width:100%;height:auto;max-height:none;display:block;object-fit:contain;border-radius:clamp(18px,2vw,30px);filter:drop-shadow(0 18px 34px rgba(8,30,62,.10))}
@media(max-width:1280px) and (min-width:901px){.projectablauf .pa-main,.projectablauf--service .pa-main{grid-template-columns:48px minmax(330px,.82fr) minmax(0,1.5fr);gap:20px}.projectablauf .pa-copy,.projectablauf--service .pa-copy{padding-top:clamp(24px,4vh,42px)}.projectablauf .pa-copy h2,.projectablauf--service .pa-copy h2{font-size:clamp(2rem,3.25vw,3rem)}.projectablauf .pa-body,.projectablauf--service .pa-body{max-width:35ch;min-height:7.7em}.projectablauf .pa-step button,.projectablauf--service .pa-step button{min-height:43px}.projectablauf .pa-svg-shell,.projectablauf--service .pa-svg-shell{width:111%;margin-inline:-5.5%}}
@media(max-width:900px){.projectablauf .pa-main,.projectablauf--service .pa-main{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:8px}.projectablauf .pa-copy,.projectablauf--service .pa-copy{display:flex;padding-top:4px;padding-right:0;overflow:visible}.projectablauf .pa-copy h2,.projectablauf--service .pa-copy h2{font-size:clamp(2rem,7vw,2.9rem)}.projectablauf .pa-subtitle,.projectablauf--service .pa-subtitle{max-width:48ch;margin-top:5px;font-size:clamp(.95rem,3vw,1.22rem)}.projectablauf .pa-body,.projectablauf--service .pa-body{height:auto;min-height:0;max-width:68ch;margin-top:9px;padding-bottom:0;font-size:.84rem;line-height:1.4;overflow:visible}.projectablauf .pa-steps,.projectablauf--service .pa-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:9px}.projectablauf .pa-svg-shell,.projectablauf--service .pa-svg-shell{width:108%;margin-inline:-4%}body[data-page="home"] .projectablauf .pa-engineering{transform:none}.service-hero-engineering{width:min(720px,100%);margin-inline:auto}}
@media(max-width:620px){.projectablauf .pa-body,.projectablauf--service .pa-body{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:.79rem;line-height:1.36}.projectablauf .pa-copy h2,.projectablauf--service .pa-copy h2{font-size:clamp(1.9rem,9vw,2.52rem)}.projectablauf .pa-subtitle,.projectablauf--service .pa-subtitle{font-size:.94rem}.projectablauf .pa-svg-shell,.projectablauf--service .pa-svg-shell{width:112%;margin-inline:-6%}}
@media(max-height:700px) and (min-width:901px){.projectablauf .pa-copy,.projectablauf--service .pa-copy{padding-top:12px}.projectablauf .pa-copy h2,.projectablauf--service .pa-copy h2{font-size:2.45rem}.projectablauf .pa-subtitle,.projectablauf--service .pa-subtitle{font-size:1rem;margin-top:6px}.projectablauf .pa-body,.projectablauf--service .pa-body{min-height:5.5em;margin-top:8px;padding-bottom:2px;font-size:.76rem;line-height:1.38}.projectablauf .pa-step button,.projectablauf--service .pa-step button{min-height:37px}.projectablauf .pa-step-icon{width:28px;height:28px}.projectablauf .pa-steps,.projectablauf--service .pa-steps{margin-top:2px}}

.projectablauf[data-pa-disabled]{display:none!important}

.pa-step-icon img{width:20px;height:20px;object-fit:contain;display:block}
@media(max-width:900px){.pa-step-icon img{width:17px;height:17px}}
