@property --accent-h{syntax: "<number>"; inherits: true; initial-value: 191;}:root{--accent-h: 191;--accent: hsl(var(--accent-h) 72% 67%);--accent-strong: hsl(var(--accent-h) 78% 55%);--accent-dim: hsl(var(--accent-h) 45% 40%);--bg: #0a0e14;--bg-raise: #121826;--bg-raise-2: #1a2233;--ink: #f2f6fa;--ink-soft: #c7d2dd;--muted: #93a3b4;--line: #232c3d;--line-soft: #1a2130;--ok: #7bd8a0;--warn: #e8b45a;--stop: #e8837a;--cat-startup: hsl(var(--accent-h) 72% 67%);--cat-ecommerce: #e8b45a;--cat-auftrag: #7bd8a0;--cat-verein: #d9954a;--cat-research: #8fa8ff;--cat-content: #e88fb8;--cat-game: #b69cff;--cat-bildung: #b7c85a;--sans: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--mono: Consolas, "SF Mono", "Cascadia Code", Menlo, monospace;--max-w: 1100px;--text-w: 68ch;color-scheme:dark;animation:accent-drift 14s ease-in-out infinite alternate}@keyframes accent-drift{0%{--accent-h: 186}to{--accent-h: 199}}:root[data-theme=light]{--bg: #f3f5f7;--bg-raise: #ffffff;--bg-raise-2: #e9edf1;--ink: #131a22;--ink-soft: #37424e;--muted: #5d6b7a;--line: #d5dce2;--line-soft: #e4e9ed;--accent: hsl(var(--accent-h) 80% 34%);--accent-strong: hsl(var(--accent-h) 85% 28%);--accent-dim: hsl(var(--accent-h) 40% 55%);--cat-startup: hsl(var(--accent-h) 80% 34%);--cat-ecommerce: #a2701e;--cat-auftrag: #2e7d4f;--cat-verein: #a6511f;--cat-research: #4256b8;--cat-content: #b04a7c;--cat-game: #6d4fc2;--cat-bildung: #6f7f2c;color-scheme:light}@media(prefers-reduced-motion:reduce){:root{animation:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@view-transition{navigation:auto}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}:root[data-theme=light] body:after{opacity:.035}::selection{background:var(--accent);color:var(--bg)}h1,h2,h3,h4{line-height:1.15;text-wrap:balance;margin:0 0 .5em}h1{font-size:clamp(2.4rem,6vw,4.2rem);font-weight:300;letter-spacing:-.025em}h2{font-size:clamp(1.5rem,3.2vw,2.1rem);font-weight:350;letter-spacing:-.015em}h3{font-size:1.2rem;font-weight:600}p{margin:0 0 1em;max-width:var(--text-w)}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--accent-strong)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}code,.mono{font-family:var(--mono);font-size:.88em}.wrap{max-width:var(--max-w);margin:0 auto;padding:0 24px}.eyebrow{font-family:var(--mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-bottom:14px}.section{padding:88px 0}.section+.section{border-top:1px solid var(--line-soft)}@supports (animation-timeline: view()){.reveal{animation:reveal-up .9s ease-out both;animation-timeline:view();animation-range:entry 0% entry 42%}@keyframes reveal-up{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:3px 11px;color:var(--muted);white-space:nowrap}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted)}.badge[data-status=aktiv]{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.badge[data-status=aktiv]:before{background:var(--ok)}.badge[data-status=im-bau]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.badge[data-status=im-bau]:before{background:var(--accent)}.badge[data-status=pausiert]{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.badge[data-status=pausiert]:before{background:var(--warn)}.badge[data-status=abgeschlossen]{color:var(--ink-soft)}.badge[data-status=abgeschlossen]:before{background:var(--ink-soft)}.badge[data-status=gestoppt]{color:var(--stop);border-color:color-mix(in srgb,var(--stop) 40%,transparent)}.badge[data-status=gestoppt]:before{background:var(--stop)}.card{background:var(--bg-raise);border:1px solid var(--line);border-radius:14px;padding:26px 28px;transition:border-color .25s ease,transform .25s ease}.card:hover{border-color:var(--accent-dim);transform:translateY(-3px)}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:.95rem;color:var(--bg);background:var(--accent);border:1px solid transparent;border-radius:999px;padding:11px 24px;text-decoration:none;transition:background .2s ease,color .2s ease}.btn:hover{background:var(--ink);color:var(--bg)}.btn.ghost{background:transparent;color:var(--accent);border-color:var(--accent-dim)}.btn.ghost:hover{border-color:var(--accent);color:var(--accent-strong);background:transparent}.meta-line{font-family:var(--mono);font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 18px}.grid{display:grid;gap:18px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link[data-astro-cid-5hce7sga]{position:absolute;left:-9999px;top:12px;z-index:1001;background:var(--accent);color:var(--bg);padding:10px 18px;border-radius:8px;font-weight:600;text-decoration:none}.skip-link[data-astro-cid-5hce7sga]:focus{left:12px}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft)}.bar[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:28px;padding-top:14px;padding-bottom:14px}.brand[data-astro-cid-3ef6ksr2]{font-size:1rem;color:var(--ink);text-decoration:none;letter-spacing:.02em}.brand[data-astro-cid-3ef6ksr2] .dot[data-astro-cid-3ef6ksr2]{color:var(--accent)}nav[data-astro-cid-3ef6ksr2]{display:flex;gap:22px;margin-left:auto}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--ink-soft);text-decoration:none;font-size:.95rem}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover,nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]{color:var(--accent)}.tools[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:14px}.lang[data-astro-cid-3ef6ksr2]{color:var(--muted);text-decoration:none;font-size:.78rem;letter-spacing:.1em}.lang[data-astro-cid-3ef6ksr2]:hover{color:var(--accent)}#theme-toggle[data-astro-cid-3ef6ksr2]{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;display:grid;place-items:center}#theme-toggle[data-astro-cid-3ef6ksr2]:hover{border-color:var(--accent-dim)}#theme-toggle[data-astro-cid-3ef6ksr2] .ico[data-astro-cid-3ef6ksr2]{width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:inset -4px -3px 0 0 var(--bg)}[data-theme=light] #theme-toggle[data-astro-cid-3ef6ksr2] .ico[data-astro-cid-3ef6ksr2]{box-shadow:none}@media(max-width:640px){nav[data-astro-cid-3ef6ksr2]{gap:14px}.bar[data-astro-cid-3ef6ksr2]{gap:14px}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--line-soft);padding:44px 0 56px;margin-top:88px}.inner[data-astro-cid-sz7xmlte]{display:grid;gap:16px}.sig[data-astro-cid-sz7xmlte]{color:var(--accent);font-size:.85rem;margin:0}nav[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:10px 22px}nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--ink-soft);text-decoration:none;font-size:.9rem}nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent)}.meta[data-astro-cid-sz7xmlte]{color:var(--muted);font-size:.78rem;margin:0}.meta[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--muted)}
