@font-face{font-family:Geist;src:url(/fonts/geist-latin.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Söhne;src:url(/fonts/soehne-halbfett.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Söhne;src:url(/fonts/soehne-halbfett-kursiv.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@property --canvas{syntax: "<color>"; inherits: true; initial-value: #f6f5f2;}@property --ink{syntax: "<color>"; inherits: true; initial-value: #1a1c1e;}@property --muted{syntax: "<color>"; inherits: true; initial-value: #686c70;}:root{--canvas: #f6f5f2;--ink: #1a1c1e;--muted: #686c70;--top-pad: clamp(5rem, 12vh, 8rem);--home-rhythm: 3.5rem;--prose-gap: 1.1em;--font-sans: "Söhne", "Geist", "Helvetica Neue", Helvetica, Arial, sans-serif;--measure: 62ch;--ease: cubic-bezier(.22, .61, .36, 1);--dur-hover: .16s;--dur-cross: .21s;--dur-page: .34s;--dur-reveal: .42s;--dur-theme: .48s;color-scheme:light}@media(prefers-color-scheme:dark){:root{--canvas: #171614;--ink: #eae7e0;--muted: #8f8a80;color-scheme:dark}}@media(prefers-reduced-motion:no-preference){:root{transition:--canvas var(--dur-theme) var(--ease),--ink var(--dur-theme) var(--ease),--muted var(--dur-theme) var(--ease)}}@media(max-width:640px){:root{--top-pad: clamp(3rem, 7.5vh, 5rem);--home-rhythm: 2.8rem;--prose-gap: .9em}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}img,picture,svg{display:block;max-width:100%}html{font-family:var(--font-sans);color:var(--ink);background:var(--canvas)}body{font-size:1.0625rem;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-variant-numeric:proportional-nums lining-nums}a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:var(--muted);transition:text-decoration-color var(--dur-hover) var(--ease)}a:hover{text-decoration-color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}::selection{background:var(--ink);color:var(--canvas)}.page{max-width:640px;margin-inline:auto;padding:var(--top-pad) clamp(1.25rem,5vw,2rem) 6rem}.t-name,.home .t-name,.t-case-title{font-size:1.0625rem;font-weight:400;line-height:1.6}.t-label{font-size:1.0625rem;font-weight:400;color:var(--muted);text-wrap:balance}.prose{max-width:var(--measure);font-size:1.0625rem;line-height:1.6;text-wrap:pretty}.prose+.prose{margin-top:var(--prose-gap)}.t-meta{font-size:1.0625rem;font-weight:400;color:var(--muted)}@media(prefers-reduced-motion:reduce){a,.work-row,.work-title,.work-meta,.work-desc{transition:none}}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{0%{opacity:0}}@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation:var(--dur-page) var(--ease) both fade-out!important}::view-transition-new(root){animation:var(--dur-page) var(--ease) both fade-in!important}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.top-fade{position:fixed;inset:0 0 auto;height:calc(var(--top-pad) - 1.75rem);z-index:20;pointer-events:none;background-color:var(--canvas);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.85) 16%,rgba(0,0,0,.5) 42%,rgba(0,0,0,.18) 68%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom,#000,#000000d9 16%,#00000080,#0000002e 68%,#0000)}html.js-stagger main.page :where(h1,h2,p,li){opacity:0;transform:translateY(5px);transition:opacity var(--dur-reveal) var(--ease),transform var(--dur-reveal) var(--ease)}html.js-stagger main.page :where(h1,h2,p,li).s-in{opacity:1;transform:none}@media print{:root{--canvas: #f6f5f2;--ink: #1a1c1e;--muted: #686c70;color-scheme:light}html{background:#fff}.top-fade{display:none}html.js-stagger main.page :where(h1,h2,p,li){opacity:1;transform:none}a{text-decoration-color:var(--ink)}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
