:root{--color-bg: #161616;--color-surface: #1c1c1c;--color-card: #1c1c1c;--color-line: #3a3a3a;--color-border: #ffffff16;--color-ink: #efefef;--color-ink-muted: #a8a8a8;--color-accent: #4ed9a0;--color-accent-dim: #4ed9a026;--radius-card: 0.5rem;--radius-pill: 999px;--font-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;--font-body: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--step--1: clamp(0.875rem, 0.85rem + 0.1vw, 0.9375rem);--step-0: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem);--step-1: clamp(1.25rem, 1.18rem + 0.35vw, 1.5rem);--step-2: clamp(1.75rem, 1.55rem + 1vw, 2.5rem);--step-3: clamp(2.5rem, 2.1rem + 2vw, 3.75rem);--space-1: 0.5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2.5rem;--space-5: 4rem;--space-6: 6rem;--content-max: 40rem;--page-max: 84rem;--gutter: 1.5rem;--sidebar-width: 22rem;--motion-fast: 180ms;--motion-medium: 300ms;--ease-out: cubic-bezier(0.16, 1, 0.3, 1)}@font-face{font-family:"Montserrat";font-style:normal;font-weight:600 800;font-display:swap;src:url("/fonts/montserrat-var.woff2") format("woff2")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url("/fonts/ibm-plex-sans-var.woff2") format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/ibm-plex-mono-400.woff2") format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/ibm-plex-mono-500.woff2") format("woff2")}*,*::before,*::after{box-sizing:border-box}html{min-height:100dvh}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.15;margin:0 0 var(--space-2)}h1{font-size:var(--step-3)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1);font-weight:600}p{margin:0 0 var(--space-2);max-width:38em}a{color:inherit;text-decoration-color:var(--color-line);text-underline-offset:.2em;transition:color var(--motion-fast) var(--ease-out),text-decoration-color var(--motion-fast) var(--ease-out)}a:hover{color:var(--color-accent);text-decoration-color:var(--color-accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}code,.fingerprint{font-family:var(--font-mono);font-size:var(--step--1)}img{max-width:100%;display:block}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}}.shell{max-width:var(--page-max);margin:0 auto;display:block}.sidebar{padding:var(--space-4) var(--gutter);display:flex;flex-direction:column;gap:var(--space-4)}.sidebar__top{display:flex;flex-direction:column;gap:var(--space-3)}.sidebar__photo{width:8rem;height:8rem;border-radius:50%;overflow:hidden;background:var(--color-surface)}.sidebar__photo img{width:100%;height:100%;object-fit:cover;object-position:top center}.sidebar__name{font-family:var(--font-display);font-weight:800;font-size:var(--step-2);line-height:1.1;margin:0}.sidebar__name a{color:inherit;text-decoration:none}.sidebar__role{color:var(--color-ink-muted);font-size:var(--step--1);max-width:22em;margin:0}.sidebar__status{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-mono);font-size:var(--step--1);color:var(--color-ink-muted)}.status-dot{width:.5em;height:.5em;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 0 rgba(78,217,160,.5);animation:status-pulse 2.4s var(--ease-out) 1;animation-delay:500ms;animation-fill-mode:backwards}@keyframes status-pulse{0%{box-shadow:0 0 0 0 rgba(78,217,160,.45)}70%{box-shadow:0 0 0 .5em rgba(78,217,160,0)}100%{box-shadow:0 0 0 0 rgba(78,217,160,0)}}.sidebar__nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.sidebar__nav a{display:flex;align-items:center;gap:.9rem;text-decoration:none;color:var(--color-ink-muted);font-size:var(--step--1);padding:.3rem 0}.sidebar__nav a:hover,.sidebar__nav a:focus-visible{color:var(--color-ink)}.sidebar__nav .num{font-family:var(--font-mono);color:var(--color-accent);font-size:.75em}.sidebar__nav .bar{width:1.5rem;height:1px;background:var(--color-line);transition:width var(--motion-medium) var(--ease-out),background var(--motion-medium) var(--ease-out)}.sidebar__nav a:hover .bar,.sidebar__nav a:focus-visible .bar{width:2.5rem;background:var(--color-accent)}.sidebar__social{display:flex;flex-wrap:wrap;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--step--1)}.sidebar__social a{display:inline-flex;align-items:center;gap:.4em;text-decoration:none}.sidebar__social a:hover{color:var(--color-accent)}.icon{width:1em;height:1em}.main{padding:var(--space-5) var(--gutter) var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.section-head{display:flex;align-items:baseline;gap:.8rem;margin-bottom:var(--space-3)}.section-head .num{font-family:var(--font-mono);color:var(--color-accent);font-size:var(--step--1)}.section-head h1,.section-head h2{margin:0;font-size:var(--step-1)}.page-title{font-size:var(--step-1)}.section-body{max-width:var(--content-max)}.section-body p{color:var(--color-ink-muted)}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:var(--space-4)}.site-footer{padding:0 var(--gutter) var(--space-4);color:var(--color-ink-muted);font-size:var(--step--1)}.site-footer p{margin:0}@media(min-width: 64em){:root{--gutter: 2.5rem}.shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;justify-content:space-between;padding:var(--space-5) var(--space-4)}.main{padding:var(--space-6) var(--space-5) var(--space-6) var(--space-4)}}.site-footer__legal{display:flex;gap:var(--space-2)}.site-footer__legal a{text-decoration:none}.site-footer__legal a:hover{color:var(--color-accent)}.job{display:grid;grid-template-columns:1fr;gap:.35rem;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.job:last-child{border-bottom:none}.job__zeit{font-family:var(--font-mono);font-size:var(--step--1);color:var(--color-accent)}.job__rolle{margin:0;font-size:var(--step-0);font-weight:600}.job__station{color:var(--color-ink-muted);margin:0}.job__desc{margin:.4rem 0 0;color:var(--color-ink-muted);max-width:36em}@media(min-width: 40em){.job{grid-template-columns:7rem 1fr;gap:var(--space-3)}}.skills__group{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.skills__group:last-child{border-bottom:none}.skills__cat{font-family:var(--font-mono);font-size:var(--step--1);color:var(--color-ink-muted);margin:0 0 .6rem}.skills__tags{display:flex;flex-wrap:wrap;gap:.5rem}.skills__tag{font-family:var(--font-mono);font-size:var(--step--1);color:var(--color-ink);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:.3rem .8rem}.kontakt-cta{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-mono);color:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-pill);padding:.7rem 1.4rem;text-decoration:none;transition:background var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.kontakt-cta:hover{background:var(--color-accent);color:#0d1310}.kontakt-block{margin:0}.kontakt-block--page{margin-top:var(--space-3);max-width:var(--content-max)}.kontakt-block__row{display:grid;grid-template-columns:7rem 1fr;gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.kontakt-block__row:last-child{border-bottom:none}.kontakt-block__row dt{font-weight:600;color:var(--color-ink-muted)}.kontakt-block__row dd{margin:0}.kontakt-block__row dd a{display:inline-flex;align-items:center;gap:.45em}.kontakt-block__pending{color:var(--color-ink-muted);font-style:italic}@media(max-width: 30em){.kontakt-block__row{grid-template-columns:1fr;gap:.25rem}}