:root{--graphit-950:#0c0b0a;--graphit-900:#131210;--graphit-850:#1a1815;--graphit-800:#221f1b;--graphit-700:#2f2b26;--graphit-600:#46413a;--kalk-50:#fbf9f5;--kalk-100:#f5f1ea;--kalk-200:#ece6db;--kalk-300:#ddd5c7;--stein-400:#a59d91;--stein-500:#8a8276;--stein-600:#675f55;--eiche-300:#dcc09a;--eiche-400:#c9a177;--eiche-500:#a97c50;--eiche-600:#8a5d35;--eiche-700:#6e4e2f;--sattel-300:#e3a672;--sattel-400:#a65a1d;--sattel-500:#8b4513;--sattel-600:#6e360f;--sattel-700:#5a2c0c;--gruen-500:#3f8f5a;--rot-500:#c8412f;--color-bg:var(--kalk-100);--color-bg-raised:var(--kalk-50);--color-surface:var(--kalk-200);--color-surface-strong:var(--kalk-300);--color-text:var(--graphit-900);--color-text-muted:var(--stein-600);--color-line:#1312101f;--color-line-strong:#13121042;--color-detail:var(--eiche-600);--color-accent:var(--sattel-500);--color-accent-hover:var(--sattel-400);--color-on-accent:var(--kalk-50);--color-accent-text:var(--sattel-700);--color-focus:var(--sattel-600);--color-success:var(--gruen-500);--color-error:var(--rot-500);--color-glass:#f5f1eab8;--color-selection:#8b451338;--font-sans:var(--font-geist), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:var(--font-accent), ui-serif, Georgia, serif;--font-mono:var(--font-geist-mono), ui-monospace, "SFMono-Regular", Menlo, monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:clamp(1.0625rem, 1.02rem + .18vw, 1.1875rem);--text-lg:clamp(1.125rem, 1.04rem + .38vw, 1.375rem);--text-xl:clamp(1.25rem, 1.1rem + .62vw, 1.75rem);--text-2xl:clamp(1.5rem, 1.22rem + 1.2vw, 2.375rem);--text-3xl:clamp(1.875rem, 1.38rem + 2.1vw, 3.5rem);--text-4xl:clamp(2.25rem, 1.45rem + 3.4vw, 5rem);--text-5xl:clamp(2.5rem, 1.3rem + 5vw, 6.5rem);--text-display:clamp(2.5rem, 1.1rem + 6.2vw, 8.5rem);--text-section-heading:clamp(1.75rem, 1.25rem + 2vw, 3.125rem);--leading-display:.94;--leading-tight:1.04;--leading-snug:1.22;--leading-body:1.62;--tracking-display:-.045em;--tracking-tight:-.03em;--tracking-snug:-.015em;--tracking-label:.14em;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-s:1rem;--space-m:1.5rem;--space-l:2rem;--space-xl:3rem;--space-2xl:4.5rem;--space-3xl:6.5rem;--section-space:clamp(3rem, 2.25rem + 2.5vw, 4.75rem);--section-space-s:clamp(2.25rem, 1.75rem + 1.8vw, 3.5rem);--gutter:clamp(1.25rem, .55rem + 2.9vw, 3rem);--container:90rem;--container-narrow:46rem;--header-height:4.5rem;--crumbs-top:min(clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem), max(1rem, 3.6svh));--radius-xs:4px;--radius-s:8px;--radius-m:14px;--radius-l:22px;--radius-xl:32px;--radius-pill:999px;--shadow-s:0 1px 2px #0c0b0a14, 0 2px 8px #0c0b0a0f;--shadow-m:0 2px 6px #0c0b0a14, 0 12px 32px #0c0b0a1a;--shadow-l:0 8px 24px #0c0b0a1f, 0 32px 80px #0c0b0a2e;--shadow-glow:0 0 0 1px #8b451380, 0 10px 40px #8b451373;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-soft:cubic-bezier(.33, 1, .68, 1);--ease-spring:linear(0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017 19.4%, 1.067, 1.089 24.8%, 1.085 27.7%, 1.035 35.1%, 1.012 39.2%, .996 44.6%, .998 55.5%, 1);--duration-fast:.18s;--duration-base:.32s;--duration-slow:.7s;--duration-reveal:1.1s;--z-base:1;--z-raised:10;--z-sticky:50;--z-header:100;--z-overlay:200;--z-consent:300;--z-skip:400}[data-theme=light]{--color-bg:var(--kalk-100);--color-bg-raised:var(--kalk-50);--color-surface:var(--kalk-200);--color-surface-strong:var(--kalk-300);--color-text:var(--graphit-900);--color-text-muted:var(--stein-600);--color-line:#1312101f;--color-line-strong:#13121042;--color-detail:var(--eiche-600);--color-accent-text:var(--sattel-700);--color-focus:var(--sattel-600);--color-glass:#f5f1eab8}[data-theme=dark]{--color-bg:var(--graphit-900);--color-bg-raised:var(--graphit-850);--color-surface:var(--graphit-800);--color-surface-strong:var(--graphit-700);--color-text:var(--kalk-100);--color-text-muted:var(--stein-400);--color-line:#f5f1ea1f;--color-line-strong:#f5f1ea42;--color-detail:var(--eiche-400);--color-accent-text:var(--sattel-300);--color-focus:var(--sattel-400);--color-glass:#131210b8}[data-theme=sand]{--color-bg:var(--kalk-200);--color-bg-raised:var(--kalk-100);--color-surface:var(--kalk-300)}[data-theme=ink]{--color-bg:var(--graphit-950);--color-bg-raised:var(--graphit-900);--color-surface:var(--graphit-850);--color-surface-strong:var(--graphit-800);--color-text:var(--kalk-100);--color-text-muted:var(--stein-400);--color-line:#f5f1ea1a;--color-line-strong:#f5f1ea38;--color-detail:var(--eiche-400);--color-accent-text:var(--sattel-300);--color-focus:var(--sattel-400);--color-glass:#0c0b0ab8}
*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100dvh}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}ul,ol{list-style:none}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-weight:inherit;font-size:inherit;text-wrap:balance}p{text-wrap:pretty}table{border-collapse:collapse}fieldset{border:0;min-width:0}[hidden]{display:none!important}
html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;interpolate-size:allow-keywords;background:var(--graphit-950);scroll-padding-top:calc(var(--header-height) + 1.5rem)}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);font-feature-settings:"ss01", "cv11";color:var(--color-text);background:var(--color-bg);overflow-x:clip}[data-theme]{color:var(--color-text);background-color:var(--color-bg)}::selection{background:var(--color-selection);color:inherit}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-xs)}strong,b{font-weight:600}p,li,dd{-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:10 4 4}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:clip}
.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.accent{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--color-detail);font-style:italic;font-weight:400}.label{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:500;line-height:1.4}.grain{isolation:isolate;position:relative}.grain:after{content:"";z-index:-1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:160px 160px;position:absolute;inset:0}
@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transition:opacity var(--duration-reveal) var(--ease-out), transform var(--duration-reveal) var(--ease-out), clip-path 1.4s var(--ease-out);transition-delay:var(--reveal-delay,0s);transform:translateY(2rem)}.js [data-reveal=fade]{transform:none}.js [data-reveal=scale]{transform:scale(.94)}.js [data-reveal=mask]{opacity:1;clip-path:inset(0 0 100%);transform:none}.js [data-reveal=mask-x]{opacity:1;clip-path:inset(0 100% 0 0);transform:none}.js [data-reveal][data-revealed]{opacity:1;clip-path:inset(0);transform:none}.js [data-reveal=words]{opacity:1;transform:none}.js [data-reveal=words] [data-word]{clip-path:var(--word-mask)}.js [data-reveal=words][data-revealed] [data-word]{clip-path:var(--word-open);transition:clip-path 0s linear calc(var(--reveal-delay,0s) + var(--i,0) * 55ms + 1.15s)}.js [data-reveal=words] [data-word]>span{transform:translate3d(0, var(--word-offset), 0);transition:transform 1.15s var(--ease-out);transition-delay:calc(var(--reveal-delay,0s) + var(--i,0) * 55ms)}.js [data-reveal=words][data-revealed] [data-word]>span{transform:none}[data-animate=load] [data-word]{animation:1.2s step-end both word-mask;animation-delay:calc(var(--load-delay,80ms) + var(--i,0) * 70ms)}[data-animate=load] [data-word]>span{animation:word-rise 1.2s var(--ease-out) both;animation-delay:calc(var(--load-delay,80ms) + var(--i,0) * 70ms)}[data-animate=load-fade]{animation:fade-rise 1.1s var(--ease-out) both;animation-delay:var(--load-delay,.3s)}[data-animate=load-rise]{animation:rise 1.3s var(--ease-out) both;animation-delay:var(--load-delay,0s)}}[data-word]{--word-mask:inset(-.6em -.6em -.22em -.6em);--word-open:inset(-1.5em);--word-offset:135%;vertical-align:top;display:inline-block}[data-word]>span{display:inline-block}@keyframes word-rise{0%{transform:translate3d(0, var(--word-offset), 0)}to{transform:none}}@keyframes word-mask{0%{clip-path:var(--word-mask)}to{clip-path:var(--word-open)}}@keyframes fade-rise{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:none}}@keyframes rise{0%{transform:translateY(2.5rem)}to{transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.6)}}::view-transition{pointer-events:none}::view-transition-old(.page){animation:.22s var(--ease-in-out) both page-out}::view-transition-new(.page){animation:.52s var(--ease-out) .12s both page-in}@keyframes page-out{to{opacity:0;transform:translateY(-12px)}}@keyframes page-in{0%{opacity:0;transform:translateY(18px)}}::view-transition-group(site-header){z-index:100;animation:none}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}}

