:root{--bg:#07101e;--panel:#0b1729;--line:rgba(190,211,245,.14);--text:#eef5ff;--muted:#91a2b9;--blue:#4285ff;--cyan:#85baff;--lime:#b8ff72;--display:'Manrope',sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--display);line-height:1.5}.noise{position:fixed;inset:0;opacity:.028;pointer-events:none;z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E")}.container{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{height:86px;display:flex;align-items:center;position:absolute;z-index:3;width:100%;border-bottom:1px solid transparent}.nav-wrap{display:flex;align-items:center;justify-content:space-between}.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;letter-spacing:-.8px}.brand>span:last-child>span{color:#6ba5ff}.brand-mark{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:linear-gradient(135deg,#5592ff,#2253d0);font-family:var(--mono);font-size:14px}.nav{display:flex;align-items:center;gap:30px}.nav a{color:#b9c5d7;text-decoration:none;font-size:13px;font-weight:600;transition:.2s}.nav a:hover{color:#fff}.nav .nav-cta{color:white;padding:10px 16px;border:1px solid rgba(159,189,247,.28);border-radius:5px}.nav-cta span{color:var(--cyan);padding-left:7px}.menu-toggle{display:none}.hero{min-height:740px;position:relative;overflow:hidden;padding-top:167px;border-bottom:1px solid var(--line)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(119,151,201,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(119,151,201,.06) 1px,transparent 1px);background-size:66px 66px;mask-image:linear-gradient(to bottom,black,transparent 80%)}.hero-glow{position:absolute;width:800px;height:560px;right:-100px;top:-200px;background:radial-gradient(ellipse,rgba(41,103,241,.23),transparent 64%)}.hero-content{position:relative;z-index:1}.eyebrow,.kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:1px;font-size:10px;color:#94a5bc}.eyebrow{display:flex;align-items:center;gap:10px;color:#b0c1d6}.pulse{width:7px;height:7px;background:var(--lime);border-radius:50%;box-shadow:0 0 12px var(--lime)}h1,h2,h3,p{margin-top:0}h1{margin:27px 0 23px;font-size:clamp(46px,6.1vw,82px);line-height:1.09;letter-spacing:-4.6px;max-width:860px;font-weight:700}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--cyan);letter-spacing:-5px}h1 .outline{color:transparent;-webkit-text-stroke:1px #a8b7c9}.hero-copy{color:#a2b2c7;font-size:16px;line-height:1.75;max-width:500px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:15px 17px 15px 20px;min-height:49px;border-radius:5px;text-decoration:none;font-size:13px;font-weight:800;transition:.25s;cursor:pointer;border:0}.button-primary{background:#e8f1ff;color:#061122}.button-primary:hover{background:#fff;transform:translateY(-2px);box-shadow:0 12px 30px rgba(95,156,255,.22)}.button span{font-size:19px;font-weight:400}.text-link{font-size:13px;font-weight:700;text-decoration:none;color:#e1ecff}.text-link span{color:var(--cyan);padding-left:6px}.hero-proof{display:flex;align-items:center;gap:13px;margin-top:67px;color:#8596ac;font-size:11px;line-height:1.55}.avatars{display:flex}.avatars b{display:grid;place-items:center;margin-left:-5px;width:28px;height:28px;border-radius:50%;border:2px solid #091424;background:#294873;font:8px var(--mono);color:#c9deff}.avatars b:nth-child(2){background:#7e5436}.avatars b:nth-child(3){background:#496b4d}.avatars b:nth-child(4){background:#16304c;color:var(--cyan)}.hero-orbit{position:absolute;right:5%;top:155px;width:410px;height:410px;border:1px solid rgba(124,166,239,.16);border-radius:50%;display:grid;place-items:center;transform:rotate(-19deg)}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px solid rgba(124,166,239,.12);border-radius:50%}.hero-orbit:before{inset:45px}.hero-orbit:after{inset:106px}.orbit-inner{height:115px;width:115px;border-radius:50%;display:grid;grid-template-columns:1fr 1fr;place-items:center;color:#b6d6ff;background:radial-gradient(circle at 30% 30%,#386bc5,#102655 63%,#0b1730);box-shadow:0 0 70px #1b51af;font:11px var(--mono);letter-spacing:1px}.scroll-note{position:absolute;bottom:25px;left:max(24px,calc((100% - 1180px)/2));font:9px var(--mono);letter-spacing:1.2px;color:#687a92;display:flex;gap:10px;align-items:center}.scroll-note span{display:inline-block;width:35px;height:1px;background:#6f8fc2}.section{padding:134px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:56px}.kicker{color:#78a8ff;margin-bottom:15px}h2{font-size:clamp(34px,4vw,54px);line-height:1.17;letter-spacing:-3px;font-weight:700;margin-bottom:0}h2 span{font-family:Georgia,serif;font-weight:400;color:var(--cyan);letter-spacing:-2px}.lead{max-width:330px;color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 4px}.service-grid{display:grid;grid-template-columns:1.33fr 1fr 1fr;gap:13px}.service-card{min-height:381px;padding:24px;background:linear-gradient(145deg,rgba(18,34,59,.95),rgba(8,19,35,.95));border:1px solid var(--line);position:relative;overflow:hidden;transition:.25s}.service-card:hover{border-color:rgba(111,166,255,.42);transform:translateY(-4px)}.card-top{display:flex;justify-content:space-between;align-items:center}.card-number{font:10px var(--mono);color:#6b7e99}.icon{width:36px;height:36px;border:1px solid rgba(124,171,255,.38);border-radius:8px;position:relative}.icon-window:after{content:"";position:absolute;inset:9px 7px;border:1px solid #8cbdff;border-top-width:3px}.icon-flow:before,.icon-flow:after{content:"";position:absolute;border:1px solid #8cbdff;width:7px;height:7px;border-radius:2px}.icon-flow:before{top:8px;left:8px;box-shadow:12px 12px 0 -1px #0b1729,12px 12px 0 0 #8cbdff}.icon-flow:after{height:13px;width:13px;border-width:0 0 1px 1px;left:11px;top:10px}.icon-spark:after{content:"✦";position:absolute;inset:6px;color:#8cbdff;text-align:center;font-size:19px}.service-card h3{font-size:20px;letter-spacing:-1px;margin:67px 0 10px}.service-card p{font-size:13px;line-height:1.7;color:#92a2b8;max-width:260px}.service-card>a{position:absolute;bottom:26px;font-size:12px;color:#dfeaff;text-decoration:none;font-weight:700}.service-card>a span{color:#75adff;margin-left:7px}.web-visual{position:absolute;width:225px;height:154px;right:-13px;bottom:-23px;background:#e7eced;border-radius:3px 0 0 0;padding:14px;transform:rotate(-5deg);box-shadow:-10px 10px 25px rgba(0,0,0,.2)}.visual-nav{width:100%;height:6px;border-bottom:1px solid #9ba3ac}.visual-title{width:86px;height:22px;background:#142844;margin-top:18px}.visual-lines{width:72px;height:24px;border-top:2px solid #618de7;border-bottom:2px solid #618de7;margin-top:12px}.visual-orb{position:absolute;width:70px;height:70px;background:#9ec9ff;border-radius:50%;right:20px;bottom:17px}.projects{padding-bottom:142px}.all-projects{margin-bottom:9px}.project-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.project{min-width:0}.project-screen{height:390px;overflow:hidden;position:relative}.project-one .project-screen{background:#cbd0cc;color:#14263a;padding:44px}.screen-brand{font:700 52px/.73 Georgia;letter-spacing:-3px}.screen-arch{position:absolute;width:330px;height:350px;border-radius:180px 180px 0 0;right:36px;bottom:-88px;background:linear-gradient(135deg,#4a5660,#e7c7a1 42%,#786951);box-shadow:inset 45px 0 60px rgba(0,0,0,.21)}.project-screen p{position:absolute;bottom:34px;left:44px;font:10px/1.4 var(--mono);letter-spacing:1.2px}.project-two .project-screen{background:#15212e;padding:39px}.screen-logo{font:700 57px var(--display);letter-spacing:-5px;color:#eeefef}.screen-building{position:absolute;width:270px;height:410px;right:10px;bottom:-90px;background:repeating-linear-gradient(90deg,#293b4c 0 25px,#152331 25px 33px),linear-gradient(#496477,#192837);clip-path:polygon(45% 0,100% 21%,100% 100%,0 100%,0 17%)}.project-two p{left:39px;color:#a5bdd2}.project-meta{display:flex;justify-content:space-between;align-items:flex-start;padding-top:16px}.project-meta h3{font-size:14px;margin-bottom:3px;letter-spacing:-.4px}.project-meta p,.project-meta>span{font:10px var(--mono);color:#7890ac;margin:0}.process{background:#0d1c31}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process-steps article{padding:24px 24px 0 0;min-height:180px;border-right:1px solid var(--line);margin-right:24px}.process-steps article:last-child{border:0}.process-steps span{font:10px var(--mono);color:#79aaff}.process-steps h3{font-size:17px;margin:32px 0 8px;letter-spacing:-.5px}.process-steps p{font-size:12px;line-height:1.7;color:#8ea1bb;max-width:180px}footer{background:#060e1b;padding:52px 0 18px}.footer-main{display:grid;grid-template-columns:1.2fr 1fr .7fr .4fr;gap:30px;padding-bottom:47px}.footer-main>p{color:#8496ad;font-size:13px;margin:0;line-height:1.7}.footer-links{display:flex;flex-direction:column;gap:9px}.footer-links a,.footer-bottom a{color:#9eafc4;font-size:12px;text-decoration:none}.socials{display:flex;gap:8px}.socials a{display:grid;place-items:center;border:1px solid rgba(155,189,237,.27);width:28px;height:28px;border-radius:50%;font:10px var(--mono);color:#b8d0f0;text-decoration:none}.footer-bottom{padding-top:17px;border-top:1px solid var(--line);display:flex;gap:25px;color:#62758e;font-size:10px}.footer-bottom a:last-child{margin-left:auto}@media(max-width:820px){.container{width:min(100% - 36px,600px)}.site-header{height:72px}.nav{display:none}.nav.open{display:flex;position:absolute;top:58px;left:18px;right:18px;padding:20px;align-items:flex-start;flex-direction:column;background:#0a172a;border:1px solid var(--line);gap:18px}.menu-toggle{display:flex;border:0;background:none;padding:8px;flex-direction:column;gap:5px}.menu-toggle i{display:block;height:1px;width:21px;background:#dbeaff}.hero{min-height:720px;padding-top:142px}.hero-orbit{width:260px;height:260px;right:-75px;top:265px;opacity:.65}.hero-orbit:before{inset:27px}.hero-orbit:after{inset:68px}.orbit-inner{height:79px;width:79px;font-size:8px}.hero-copy{font-size:14px;max-width:390px}.hero-proof{margin-top:145px}.scroll-note{display:none}.section{padding:82px 0}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:36px}.lead{font-size:13px}.service-grid,.project-grid,.service-card{min-height:300px}.service-card.featured{min-height:360px}.service-card h3{margin-top:45px}.process-steps{grid-template-columns:1fr 1fr}.process-steps article:nth-child(2){border-right:0;margin-right:0;padding-right:0}.process-steps article:nth-child(n+3){border-top:1px solid var(--line);padding-top:22px}.project-screen{height:320px}.project-one .project-screen{padding:32px}.screen-brand{font-size:41px}.screen-arch{width:240px;height:270px;right:10px}.project-screen p{left:32px;bottom:25px}.project-two .project-screen{padding:30px}.project-two p{left:30px}.form-row{grid-template-columns:1fr;gap:0}.footer-main{grid-template-columns:1fr 1fr;gap:27px}.footer-main .socials{justify-content:flex-end}.footer-bottom{flex-wrap:wrap;gap:12px}.footer-bottom a:last-child{margin-left:0}h1{letter-spacing:-3px}h2{letter-spacing:-2.3px}}@media(max-width:410px){.hero-actions{gap:16px;flex-wrap:wrap}.project-screen{height:280px}.screen-building{right:-35px;transform:scale(.8);transform-origin:bottom right}.footer-main{grid-template-columns:1fr}.footer-main .socials{justify-content:flex-start}.footer-bottom{flex-direction:column}.service-card{padding:19px}}
/* HERO: edge-to-edge photograph with independent mobile composition. */
.hero.hero-photo-layout { min-height:700px; padding:156px 0 100px; isolation:isolate; }
.hero.hero-photo-layout .hero-content { display:block; position:relative; z-index:2; }
.hero-photo-layout .hero-text { width:51%; max-width:600px; min-width:0; }
.hero.hero-photo-layout h1 { max-width:600px; margin:22px 0; font-size:clamp(44px,4.2vw,60px); line-height:1.1; letter-spacing:-2.7px; }
.hero.hero-photo-layout .hero-copy { max-width:510px; margin-bottom:0; color:#c5d1e2; font-size:15px; line-height:1.75; }
.hero.hero-photo-layout .hero-actions { flex-wrap:wrap; gap:12px; margin-top:28px; }
.hero.hero-photo-layout .hero-actions a { gap:12px; padding:13px 16px; min-height:50px; }
.hero-photo-layout .hero-photo { position:absolute; inset:0; z-index:0; display:block; width:100%; height:100%; pointer-events:none; }
.hero-photo-layout .hero-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:68% 58%; }
.hero.hero-photo-layout::after { content:""; display:block; position:absolute; inset:0; z-index:1; width:auto; height:auto; border-radius:0; filter:none; pointer-events:none; background:linear-gradient(180deg,rgba(7,16,30,.65),transparent 24%,transparent 78%,rgba(7,16,30,.5)),linear-gradient(90deg,rgba(7,16,30,.98) 0%,rgba(7,16,30,.94) 26%,rgba(7,16,30,.65) 49%,rgba(7,16,30,.18) 74%,rgba(7,16,30,.12) 100%); }
.hero.hero-photo-layout .scroll-note { z-index:2; color:#acbbcf; }
.hero-photo-layout .hero-actions a:focus-visible { outline:3px solid #85baff; outline-offset:5px; }
@media (min-width:821px) and (max-width:1100px) {
  .hero.hero-photo-layout { min-height:660px; padding-top:142px; }
  .hero-photo-layout .hero-text { width:54%; }
  .hero.hero-photo-layout h1 { letter-spacing:-1.9px; }
}
@media (max-width:820px) {
  .hero.hero-photo-layout { min-height:560px; padding:108px 0 44px; }
  .hero-photo-layout .hero-text { width:100%; max-width:540px; }
  .hero.hero-photo-layout h1 { margin:16px 0; font-size:clamp(36px,9.3vw,46px); line-height:1.08; letter-spacing:-1.6px; }
  .hero.hero-photo-layout .hero-copy { max-width:480px; font-size:14px; line-height:1.65; color:#d0daE8; }
  .hero.hero-photo-layout .hero-actions { margin-top:22px; gap:9px; }
  .hero.hero-photo-layout .hero-actions a { width:auto; flex:0 1 auto; min-height:46px; padding:10px 14px; font-size:12px; }
  .hero-photo-layout .hero-photo img { object-position:72% 58%; }
  .hero.hero-photo-layout::after { background:linear-gradient(180deg,rgba(7,16,30,.62),rgba(7,16,30,.22) 55%,rgba(7,16,30,.48)),linear-gradient(90deg,rgba(7,16,30,.88),rgba(7,16,30,.72) 62%,rgba(7,16,30,.53)); }
}
@media (max-width:600px) {
  .hero.hero-photo-layout { padding:100px 0 36px; }
  .hero.hero-photo-layout .hero-actions { flex-direction:column; align-items:stretch; max-width:360px; }
  .hero.hero-photo-layout .hero-actions a { flex:none; width:100%; }
  .hero.hero-photo-layout .hero-label { font-size:8px; letter-spacing:.8px; gap:7px; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-photo-layout .hero-actions a, .hero-photo-layout .hero-actions a span { transition:none; }
  .hero-photo-layout .hero-actions a:hover, .hero-photo-layout .hero-actions a:hover span { transform:none; }
}

/* Compact phone HERO only; tablet and desktop rules remain unchanged. */
@media (max-width:767px) {
  .hero.hero-photo-layout { min-height:500px; padding:88px 0 28px; }
  .hero.hero-photo-layout .hero-text { max-width:440px; }
  .hero.hero-photo-layout .hero-label { font-size:8px; letter-spacing:.55px; gap:6px; margin:0; }
  .hero.hero-photo-layout h1 { max-width:430px; margin:12px 0; font-size:clamp(34px,8.85vw,38px); line-height:1.07; letter-spacing:-1.35px; }
  .hero.hero-photo-layout .hero-copy { max-width:370px; font-size:15px; line-height:1.5; color:#dbe3ef; }
  .hero.hero-photo-layout .hero-actions { flex-direction:column; align-items:flex-start; gap:3px; max-width:100%; margin-top:17px; }
  .hero.hero-photo-layout .hero-actions a { flex:none; width:auto; max-width:100%; min-height:44px; padding:9px 14px; gap:12px; font-size:12px; }
  .hero.hero-photo-layout .hero-actions .button-secondary { padding:8px 0; border:0; border-radius:0; background:transparent; color:#dbe8fa; box-shadow:none; }
  .hero.hero-photo-layout .hero-actions .button-secondary:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
  .hero.hero-photo-layout .hero-photo img { object-position:75% center; }
  .hero.hero-photo-layout::after { background:linear-gradient(180deg,rgba(7,16,30,.55),rgba(7,16,30,.30) 55%,rgba(7,16,30,.55)),linear-gradient(90deg,rgba(7,16,30,.93),rgba(7,16,30,.80) 62%,rgba(7,16,30,.65)); }
  .hero.hero-photo-layout .scroll-note { display:none; }
}

/* Digital ecosystem: preserve the complete diagram and soften only its edges. */
.td-tech-visual .td-ecosystem-media { width:min(100%,880px); border-color:rgba(124,178,255,.12); border-radius:8px; box-shadow:0 18px 44px rgba(0,0,0,.18),0 0 42px rgba(45,112,238,.10); }
.td-tech-visual .td-ecosystem-media picture { display:block; aspect-ratio:1586 / 992; }
.td-tech-visual .td-ecosystem-media img { width:100%; height:auto; aspect-ratio:1586 / 992; object-fit:contain; }
.td-tech-visual .td-ecosystem-media::after { background:linear-gradient(90deg,rgba(8,20,35,.5),transparent 3%,transparent 97%,rgba(8,20,35,.5)),linear-gradient(0deg,rgba(8,20,35,.55),transparent 5%,transparent 95%,rgba(8,20,35,.35)); }
@media (max-width:767px) {
  section.td-tech-visual { padding:56px 0; }
  .td-tech-visual .td-tech-intro { margin-bottom:24px; }
  .td-tech-visual .td-ecosystem-media { border-radius:4px; }
}

/* Featured client project; demonstration cards retain their own labels. */
.td-portfolio .td-project-featured { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); border-color:rgba(124,178,255,.36); background:linear-gradient(135deg,#102540,#09182a); box-shadow:0 0 36px rgba(53,116,240,.08); }
.td-project-featured .td-fachprojekt-image { display:flex; align-items:center; min-width:0; overflow:hidden; background:#081321; }
.td-project-featured picture { display:block; width:100%; aspect-ratio:1585 / 693; overflow:hidden; }
.td-project-featured img { display:block; width:100%; height:auto; aspect-ratio:1585 / 693; object-fit:contain; transition:transform .35s ease; }
.td-project-featured .td-project-content { padding:28px; }
.td-project-featured .td-project-top { margin-bottom:18px; }
.td-project-featured .td-project-state { color:#b9d8ff; padding:5px 8px; border:1px solid rgba(133,186,255,.36); background:rgba(66,133,255,.12); }
.td-project-featured .td-project-content h3 { font-size:28px; text-transform:none; letter-spacing:-1px; }
.td-project-featured .td-project-content>p { min-height:0; }
.td-project-featured .td-project-content .td-fachprojekt-subtitle { margin-bottom:14px; color:#e0ebfa; font-size:15px; line-height:1.45; font-weight:600; }
.td-project-featured .td-project-content>a { min-height:44px; align-items:center; color:#eaf3ff; }
.td-project-featured .td-project-content>a:focus-visible { outline:2px solid #85baff; outline-offset:4px; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .td-portfolio .td-project-featured:hover { transform:translateY(-3px); border-color:rgba(133,186,255,.65); }
  .td-project-featured:hover img { transform:scale(1.015); }
}
@media (max-width:1020px) { .td-portfolio .td-project-featured { grid-template-columns:minmax(0,1fr); } }
@media (max-width:767px) {
  .td-project-featured .td-project-content { padding:18px; }
  .td-project-featured .td-project-top { margin-bottom:12px; }
  .td-project-featured .td-project-content h3 { font-size:25px; }
  .td-project-featured .td-project-content .td-fachprojekt-subtitle { font-size:14px; margin-bottom:10px; }
  .td-project-featured .td-project-content>p { font-size:12.5px; line-height:1.6; }
  .td-project-featured .td-project-tags { margin:14px 0 8px; }
}
@media (prefers-reduced-motion:reduce) { .td-portfolio .td-project-featured { animation:none; } .td-project-featured img { transition:none; } }

/* FachProjekt client testimonial, within the existing portfolio reveal. */
.td-portfolio .td-client-testimonial { position:relative; grid-column:1 / -1; min-width:0; margin:0; padding:28px 34px 28px 88px; overflow:hidden; border:1px solid rgba(139,184,247,.16); background:linear-gradient(115deg,rgba(17,38,66,.8),rgba(8,22,39,.7)); box-shadow:inset 0 0 42px rgba(54,116,228,.035); }
.td-client-testimonial .td-testimonial-quote { position:absolute; top:13px; left:25px; color:rgba(133,186,255,.28); font:86px/1 Georgia,serif; pointer-events:none; }
.td-client-testimonial blockquote { margin:0; max-width:960px; }
.td-client-testimonial blockquote p { margin:0; color:#d3e0f1; font-size:16px; line-height:1.75; }
.td-client-testimonial figcaption { display:flex; flex-direction:column; gap:3px; margin-top:17px; }
.td-client-testimonial figcaption strong { color:#edf4ff; font-size:13px; font-weight:800; }
.td-client-testimonial figcaption span { color:#98acc5; font-size:12px; }
@media (max-width:767px) {
  .td-portfolio .td-client-testimonial { padding:22px 20px; }
  .td-client-testimonial .td-testimonial-quote { top:8px; left:auto; right:14px; font-size:76px; color:rgba(133,186,255,.10); }
  .td-client-testimonial blockquote, .td-client-testimonial figcaption { position:relative; }
  .td-client-testimonial blockquote p { font-size:14px; line-height:1.65; }
  .td-client-testimonial figcaption { margin-top:14px; }
}
