:root{--color-bg: #faf9f9;--color-surface: #ededed;--color-line: #808080;--color-ink: #1c1c1c;--color-ink-muted: #5c5c5c;--color-accent: #2e6f52;--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: 46rem;--page-max: 72rem;--gutter: 1.25rem;--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}}.site-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);max-width:var(--page-max);margin:0 auto;padding:var(--space-3) var(--gutter);flex-wrap:wrap}.site-header__name{font-family:var(--font-display);font-weight:700;font-size:var(--step-0);text-decoration:none}.site-header__nav{display:flex;gap:var(--space-3);font-size:var(--step--1)}.site-header__nav a{text-decoration:none}.site-header__nav a:hover{text-decoration:underline}.hero{background:var(--color-surface);display:grid;grid-template-columns:1fr;align-items:end;max-width:var(--page-max);margin:0 auto;padding:var(--space-5) var(--gutter) 0;gap:var(--space-4)}.hero__text{padding-bottom:var(--space-5)}@keyframes rise-in{from{opacity:0;transform:translateY(0.75em)}to{opacity:1;transform:translateY(0)}}.hero__name,.hero__role,.hero__status{animation:rise-in 700ms var(--ease-out) both}.hero__name{margin-bottom:var(--space-1)}.hero__role{animation-delay:90ms}.hero__status{animation-delay:180ms}.hero__role{font-size:var(--step-1);color:var(--color-ink-muted);max-width:32em}.hero__status{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-mono);font-size:var(--step--1);color:var(--color-ink-muted);margin-top:var(--space-2)}.status-dot{width:.55em;height:.55em;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 0 rgba(46,111,82,.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(46,111,82,.45)}70%{box-shadow:0 0 0 .5em rgba(46,111,82,0)}100%{box-shadow:0 0 0 0 rgba(46,111,82,0)}}.hero__photo{justify-self:center;width:min(60vw,300px)}section{max-width:var(--page-max);margin:0 auto;padding:var(--space-6) var(--gutter)}.about{border-top:1px solid var(--color-line)}.about__content{max-width:var(--content-max)}.werdegang,.skills,.kontakt-teaser,.kontakt-seite{border-top:1px solid var(--color-line)}.site-footer{max-width:var(--page-max);margin:0 auto;padding:var(--space-4) var(--gutter) var(--space-5);border-top:1px solid var(--color-line);color:var(--color-ink-muted);font-size:var(--step--1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-1)}.site-footer p{margin:0}@media(min-width: 56.25em){.hero{grid-template-columns:1.3fr 1fr;padding-top:var(--space-6)}.hero__photo{justify-self:end;width:min(24vw,360px)}}@media(min-width: 64em){:root{--gutter: 2rem}}.timeline{list-style:none;margin:var(--space-4) 0 0;padding:0;border-left:1px solid var(--color-line)}.timeline__item{position:relative;padding:0 0 var(--space-4) var(--space-4)}.timeline__item::before{content:"";position:absolute;left:-0.3125rem;top:.4em;width:.5rem;height:.5rem;border-radius:50%;background:var(--color-ink)}.timeline__zeit{display:block;font-family:var(--font-mono);font-size:var(--step--1);color:var(--color-ink-muted);margin-bottom:.25em}.timeline__station{color:var(--color-ink-muted);margin-bottom:var(--space-1)}.skills__manifest{margin:var(--space-4) 0 0}.skills__row{display:grid;grid-template-columns:8rem 1fr;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--color-surface);font-family:var(--font-mono);font-size:var(--step--1)}.skills__row dt{color:var(--color-ink-muted)}.skills__row dt::after{content:":"}.skills__row dd{margin:0}.kontakt-block{margin:var(--space-4) 0 0;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-surface)}.kontakt-block__row dt{font-weight:600;color:var(--color-ink-muted)}.kontakt-block__row dd{margin:0}.kontakt-block__pending{color:var(--color-ink-muted);font-style:italic}@media(max-width: 30em){.skills__row,.kontakt-block__row{grid-template-columns:1fr;gap:.25rem}}