:root{--bg:#020506;--panel:#091012;--line:#21353a;--muted:#96a9ad;--text:#f4f8f9;--cyan:#00e6e8;--green:#39f29d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}.wrap,header{width:min(1240px,calc(100% - 80px));margin:auto}header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:20px}.brand img{width:155px;height:auto}.brand>span{font-size:9px;letter-spacing:.23em;color:var(--cyan);border-left:1px solid var(--line);padding-left:20px}nav{display:flex;align-items:center;gap:30px;font-size:12px;color:#b8c6c9}.outline{border:1px solid #335054;padding:10px 18px;color:var(--cyan)}a:hover{color:var(--cyan)}.menu{display:none}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;z-index:10;background:white;color:black;padding:10px}.hero{position:relative;padding-top:80px}.eyebrow{color:var(--cyan);font-size:10px;font-weight:600;letter-spacing:.19em}.hero h1{font-size:clamp(70px,8.1vw,112px);line-height:.98;letter-spacing:-.065em;font-weight:600;margin:34px 0 35px;position:relative;z-index:2}h1 span{-webkit-text-stroke:1px #94a5ad;color:transparent}h2{font-size:clamp(35px,4.3vw,58px);line-height:1.1;letter-spacing:-.045em;font-weight:500;margin:20px 0 32px}h2 span{color:#889ca3}h3{font-weight:500;font-size:22px;letter-spacing:-.03em}p{color:var(--muted)}.hero-bottom{position:relative;z-index:2;max-width:480px}.hero-bottom p{font-size:17px;color:#dce4e5}.hero-bottom p span{display:block;color:var(--muted);font-size:15px;margin-top:16px;max-width:390px}.actions{display:flex;align-items:center;gap:25px;margin-top:30px}.button{background:var(--cyan);color:#021011;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:15px 23px;font-size:12px;font-weight:bold;transition:transform .2s}.button:hover{background:#55f6f3;color:#021011;transform:translateY(-2px)}.textlink{font-size:12px;border-bottom:1px solid #335054;padding-bottom:5px}.hero-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:60px;margin-top:75px;padding:20px 0;color:#82979d;font-size:10px;letter-spacing:.15em}.hero-strip span:before{content:'+';color:var(--cyan);margin-right:12px}.visual{position:absolute;width:49%;right:0;top:188px;perspective:1000px}.window{background:#0b1316;border:1px solid #34555e;border-radius:8px;box-shadow:0 0 100px #00b7c51a;transform:rotateY(-8deg) rotateZ(3deg);overflow:hidden}.windowbar{height:35px;display:flex;align-items:center;gap:5px;padding:0 14px;background:#0e1c21;border-bottom:1px solid #21353a}.windowbar i{height:5px;width:5px;background:#45616a;border-radius:50%}.windowbar span{margin:auto;color:#77969e;font-size:8px;letter-spacing:.15em}.canvas{height:345px;padding:28px;position:relative;overflow:hidden;background:linear-gradient(120deg,#0d1b22,#051013)}.mini-brand{font-size:8px;letter-spacing:.18em}.mini-nav{position:absolute;top:33px;right:23px;font-size:6px;color:#96acb5}.mini-title{font-size:48px;line-height:1.04;letter-spacing:-.05em;position:relative;z-index:1;margin-top:48px}.mini-line{background:#3d6872;width:140px;height:2px;margin:18px 0}.mini-button{font-size:6px;background:var(--cyan);color:#001618;display:inline-block;padding:8px 15px}.orb{position:absolute;right:-15px;top:75px;width:225px;height:225px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#7eafb5 0,#2b5c66 15%,#102a34 42%,#02080c 72%);box-shadow:-15px -15px 70px #01d9e422,inset 2px 2px 3px #8ee6ea88;border:1px solid #40727d;transform:rotate(-30deg)}.orb:after{content:'';position:absolute;inset:-15px;border:1px solid #4c8c9566;border-radius:50%;transform:rotateX(65deg)}.mini-footer{font-size:6px;letter-spacing:.2em;color:#88a4ae;position:absolute;bottom:22px}.visual-note{display:block;color:#64878d;text-align:right;font-size:8px;letter-spacing:.2em;margin-top:26px}.section{padding:110px 0}.section-top{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.section-top .eyebrow{grid-column:1/-1}.intro{max-width:390px;align-self:center;font-size:15px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:35px}.services article{padding:30px;border-right:1px solid var(--line)}.services article:first-child{padding-left:0}.services article:last-child{border:0}.number{font-size:12px;color:var(--cyan)}.services h3{margin-top:35px}.services p{font-size:14px;max-width:320px}.services small{font-size:8px;letter-spacing:.15em;color:#62888f;display:block;margin-top:30px}.projects{background:#081013;border-block:1px solid #17292e}.project-heading{display:flex;justify-content:space-between;gap:40px;align-items:center}.project-heading p{max-width:320px;font-size:14px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:25px}.project-preview{position:relative;height:340px;padding:30px;overflow:hidden}.electro .project-preview{background:#e9e9e6;color:#262626}.demo-brand{font-size:10px;font-weight:bold;letter-spacing:.14em}.project-preview strong{display:block;margin-top:38px;font-size:48px;line-height:1.05;letter-spacing:-.04em;position:relative;z-index:1;font-weight:500}.project-preview em{font-style:normal;color:#d82724}.bolt{position:absolute;right:45px;top:30px;width:130px;height:270px;background:#d82724;clip-path:polygon(48% 0,100% 0,67% 42%,100% 42%,0 100%,26% 55%,0 55%);opacity:.8}.project-caption{position:absolute;bottom:20px;left:30px;font-size:7px;letter-spacing:.17em;opacity:.65}.seelen .project-preview{background:#e3e8dc;color:#3f5749}.seelen .project-preview strong{font-family:Georgia,serif;font-size:43px;line-height:1.25;margin-top:58px}.seelen em{color:#74886d}.leaf{position:absolute;width:160px;height:260px;right:0;bottom:-40px;border:1px solid #77916a;border-radius:100% 0 100% 0;transform:rotate(12deg);box-shadow:-25px -15px 0 #90a67a30,-50px -30px 0 #90a67a15}.project-label{display:flex;justify-content:space-between;align-items:center}.project-label h3{font-size:19px;margin:20px 0 0}.project-label p{font-size:12px;margin-top:3px}.project-label>span{color:var(--cyan);font-size:25px}.note{font-size:10px;margin:28px 0 0;color:#687e85}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:55px}.steps article{border-top:1px solid #2b444b;padding-top:20px}.steps span{font-size:12px;color:var(--cyan)}.steps h3{font-size:20px;margin-top:24px}.steps p{font-size:13px}.about{border-block:1px solid var(--line);padding:70px 0;display:grid;grid-template-columns:1fr 1fr;gap:80px}.about p{font-size:14px}.signature{display:block;margin-top:26px;font-size:17px}.signature small{display:block;color:#65878e;font-size:10px;margin-top:5px}.faq{max-width:900px}.faq h2{font-size:40px;margin-bottom:40px}details{border-top:1px solid var(--line);padding:22px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:15px;list-style:none;display:flex;justify-content:space-between}summary:after{content:'+';color:var(--cyan)}details[open] summary:after{content:'−'}details p{font-size:14px;max-width:700px;margin-bottom:0}.contact{padding:90px 0;background:radial-gradient(ellipse at 80% 100%,#07353a,#071014 65%);border-block:1px solid #24434b}.contact h2{font-size:clamp(43px,6.2vw,85px);margin-bottom:35px}.contact h2 span{color:var(--cyan)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-bottom p{font-size:15px}.email{display:inline-block;font-size:16px;border-bottom:1px solid #36646b;margin-top:22px}.footer-top{padding:60px 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px}.footer-top p{font-size:12px;margin:0}.footer-top>div{display:flex;gap:10px;flex-direction:column;font-size:11px;align-items:flex-end;color:#91a4a9}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;color:#6f8b93;padding:25px 0;gap:20px}.footer-bottom a{color:#b2c7cb}@media(min-width:1450px){.hero h1{font-size:118px}}@media(max-width:1000px){.wrap,header{width:calc(100% - 48px)}nav{gap:18px}.brand>span{display:none}.hero h1{font-size:80px}.visual{top:250px;width:46%}.canvas{height:290px;padding:20px}.mini-title{font-size:34px}.mini-nav{display:none}.orb{width:160px;height:160px;right:-30px}.hero-bottom{max-width:48%}.actions{align-items:flex-start;flex-direction:column;gap:18px}.services article{padding:25px 20px}.project-preview{height:290px}.project-preview strong{font-size:38px}.bolt{right:15px;width:90px}.seelen .project-preview strong{font-size:34px}.steps{gap:20px}.about{gap:40px}}@media(max-width:700px){.wrap,header{width:calc(100% - 40px)}header{height:80px}.brand img{width:135px}.menu{display:block;background:transparent;border:1px solid #365158;color:var(--text);padding:7px 12px;font-size:12px}nav{display:none;position:absolute;top:80px;left:0;right:0;padding:25px;background:#0a1418;z-index:20;flex-direction:column;align-items:stretch;border-bottom:1px solid #28434a}nav.open{display:flex}.hero{padding-top:48px}.eyebrow{font-size:8px;letter-spacing:.12em}.hero h1{font-size:clamp(55px,11.8vw,82px);margin-top:28px}.hero-bottom{max-width:100%}.hero-bottom p{font-size:16px}.hero-bottom p span{font-size:14px}.actions{flex-direction:row;align-items:center;gap:18px}.button{padding:13px 17px;font-size:11px;gap:14px}.textlink{font-size:10px}.visual{position:relative;width:95%;top:auto;right:auto;margin:55px auto 0}.canvas{height:285px}.mini-title{font-size:43px}.orb{width:185px;height:185px;right:0}.hero-strip{margin-top:32px;gap:14px;justify-content:space-between;padding:16px 0;font-size:7px;letter-spacing:.05em}.hero-strip span:before{margin-right:5px}.section{padding:65px 0}h2{font-size:36px}.section-top{display:block}.intro{font-size:14px}.services{display:block;margin-top:30px}.services article,.services article:first-child{padding:25px 0;border:0;border-bottom:1px solid var(--line)}.services h3{margin-top:20px}.services small{margin-top:20px}.project-heading{display:block}.project-grid{grid-template-columns:1fr;gap:35px}.project-preview{height:320px}.project-preview strong{font-size:46px}.seelen .project-preview strong{font-size:38px}.bolt{right:35px;width:115px}.steps{grid-template-columns:1fr 1fr;gap:30px 22px;margin-top:35px}.steps h3{font-size:18px}.about{grid-template-columns:1fr;gap:10px;padding:45px 0}.faq h2{font-size:32px}summary{font-size:14px;gap:20px}.contact{padding:65px 0}.contact-bottom{display:block}.contact-bottom .button{margin-top:10px}.email{font-size:14px}.footer-top{grid-template-columns:1fr 1fr;padding:40px 0;gap:25px}.footer-top .brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:10px}.footer-top>div{align-items:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.kristall .project-preview{background:radial-gradient(ellipse at 80% 40%,#3a3020,#151715 65%);color:#f1eadc}.kristall .demo-brand{color:#c6ac72}.kristall .project-preview strong{font-family:Georgia,serif;font-size:43px;line-height:1.2;max-width:80%}.kristall em{color:#d0b16e}.crystal{position:absolute;right:35px;bottom:35px;width:120px;height:230px;clip-path:polygon(48% 0,86% 17%,100% 72%,48% 100%,0 73%,12% 17%);background:conic-gradient(from 20deg at 50% 35%,#4d4168,#c8bad8,#756585,#e8dfed,#473c5b,#a69ab4,#4d4168);opacity:.7}.project-grid>.kristall{grid-column:1/-1}.kristall .project-preview{height:300px}.kristall .project-preview strong{margin-top:45px}@media(max-width:700px){.kristall .project-preview strong{font-size:36px}.crystal{right:15px;width:95px;height:200px;opacity:.5}}

.project .screenshot-preview{padding:0;height:auto;aspect-ratio:1333 / 882;background:#111;overflow:hidden}.screenshot-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .35s}.project:hover .screenshot-preview img{transform:scale(1.025)}.project-grid>.kristall{grid-column:auto}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.project-grid{grid-template-columns:1fr}}
/* Rotating planet and independently moving luminous ring. */
.orb{isolation:isolate;animation:planet-turn 32s linear infinite;transform:rotate(-30deg)}
.orb:before{content:'';position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from 0deg,transparent 0deg 22deg,rgba(76,192,207,.13) 30deg,transparent 42deg 65deg);mix-blend-mode:screen;box-shadow:inset -25px -10px 35px #01070bbb;animation:planet-surface 24s linear infinite}
.orb:after{inset:-18px;border:2px solid rgba(79,232,240,.72);background:transparent;box-shadow:0 0 8px rgba(0,230,232,.45),0 0 20px rgba(0,230,232,.22),inset 0 0 7px rgba(123,244,248,.22);transform:rotateX(65deg);animation:ring-orbit 18s linear infinite}
@keyframes planet-turn{from{transform:rotate(-30deg)}to{transform:rotate(330deg)}}
@keyframes planet-surface{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes ring-orbit{0%{transform:rotateZ(0deg) rotateX(65deg)}50%{transform:rotateZ(-180deg) rotateX(72deg)}100%{transform:rotateZ(-360deg) rotateX(65deg)}}
@media(prefers-reduced-motion:reduce){.orb,.orb:before,.orb:after{animation:none!important}}
/* Stable axis, moving surface, fixed illumination and equatorial ring. */
.orb{animation:none;transform:rotate(-30deg);background:#102c36;box-shadow:0 0 32px #01d9e422,inset 1px 1px 3px #8ee6ea88}
.orb:before{inset:0;mix-blend-mode:normal;transform:none;background-image:radial-gradient(ellipse at 20% 30%,#86bdc144,transparent 26%),repeating-linear-gradient(173deg,#163944 0%,#224954 7%,#16353f 13%,#31545d 17%,#102c36 24%,#234953 33%,#142f38 41%,#254651 49%,#163944 50%);background-size:200% 100%,200% 100%;box-shadow:none;animation:planet-axial-surface 40s linear infinite;opacity:.8}
.orb:after{inset:-18px;border:2px solid rgba(79,232,240,.6);background:none;box-shadow:0 0 7px #00e6e866,0 0 16px #00e6e822;transform:rotateX(65deg);animation:none}
.orb .planet-light{position:absolute;inset:0;border-radius:50%;z-index:1;pointer-events:none;background:radial-gradient(circle at 30% 25%,rgba(137,214,218,.54),transparent 36%),linear-gradient(125deg,transparent 20%,rgba(1,7,12,.28) 48%,rgba(1,6,10,.93) 80%);box-shadow:inset 1px 1px 3px #a2eef077,inset -14px -8px 22px #01070c66}
@keyframes planet-axial-surface{from{background-position:0% 0%,0% 0%}to{background-position:200% 0%,200% 0%}}
@media(prefers-reduced-motion:reduce){.orb:before{animation:none!important}}

.orb:after{border-color:rgba(79,232,240,.16);box-shadow:0 0 9px #00e6e81a}.rock-ring{position:absolute;inset:-25px;transform:rotateX(65deg);z-index:2;pointer-events:none}.rock-orbit{position:absolute;inset:0;border-radius:50%;animation:rock-revolution 16s linear infinite}.rock-orbit i{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:calc(var(--s)*1.4);background:#a4d5dc;opacity:var(--o);border-radius:25% 45% 30% 40%;transform:translate(-50%,-50%) rotate(var(--r));box-shadow:0 0 3px #00dce866}.rock-orbit i:nth-child(3n){background:#6fa1ac}.rock-orbit i:nth-child(7n){background:#e1faff;box-shadow:0 0 5px #69f3ffaa}@keyframes rock-revolution{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.rock-orbit{animation:none!important}}
.orb:before{animation:none;background-position:0% 0%,0% 0%}

/* Quiet, progressive motion with readable static fallbacks. */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.7,.25,1) var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:none}
.project .screenshot-preview{position:relative}.project .screenshot-preview:after{content:'Website ansehen ↗';position:absolute;bottom:17px;right:17px;padding:10px 15px;background:#031114ed;color:#c9ffff;border:1px solid #4be8ed66;font-size:11px;font-weight:600;letter-spacing:.03em;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;pointer-events:none}.project:hover .screenshot-preview:after,.project:focus-visible .screenshot-preview:after{opacity:1;transform:none}.screenshot-preview img{transition:transform .7s cubic-bezier(.2,.65,.3,1)}.project:hover .screenshot-preview img,.project:focus-visible .screenshot-preview img{transform:scale(1.035)}.project-label>span{transition:transform .25s,color .25s}.project:hover .project-label>span,.project:focus-visible .project-label>span{transform:translate(3px,-3px);color:#bfffff}
.button{position:relative;overflow:hidden;transition:transform .22s,box-shadow .3s,background .25s}.button:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,#ffffff66 48%,transparent 80%);transform:translateX(-140%) skewX(-15deg);transition:transform .6s;pointer-events:none}.button:hover:before,.button:focus-visible:before{transform:translateX(140%) skewX(-15deg)}.button:hover,.button:focus-visible{box-shadow:0 0 25px #00e6e82e}.button b{display:inline-block;transition:transform .25s}.button:hover b,.button:focus-visible b{transform:translate(4px,-2px)}
.steps article{position:relative;transition:border-color .6s,opacity .65s ease var(--reveal-delay,0ms),transform .65s ease var(--reveal-delay,0ms)}.steps article:before{content:'';position:absolute;top:-1px;left:0;height:2px;width:100%;background:linear-gradient(90deg,#00e6e8,#76fff8);box-shadow:0 0 12px #00e6e84d;transform:scaleX(0);transform-origin:left;transition:transform .85s cubic-bezier(.2,.7,.3,1) var(--reveal-delay,0ms)}.steps article.step-reached:before{transform:scaleX(1)}.steps article>span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #29454b;transition:border-color .5s,background .5s,box-shadow .5s}.steps article.step-reached>span{background:#00e6e80c;border-color:#00e6e888;box-shadow:0 0 15px #00e6e813}
@media(hover:none){.project .screenshot-preview:after{opacity:1;transform:none;font-size:10px;padding:7px 10px;bottom:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.button:before{display:none}.steps article:before{transition:none}.project:hover .screenshot-preview img{transform:none}}
