:root{--bg: #f6f4ee;--surface: #ffffff;--surface-alt: #ece9df;--text: #1b2430;--text-muted: #5c6672;--primary: #1d3143;--primary-contrast: #f6f4ee;--accent: #a34f1e;--accent-contrast: #ffffff;--border: #dcd7ca;--line: #c7c1b2;--focus: #1d3143;--shadow: 0 18px 40px -20px rgba(20, 24, 20, .35);--font-display: "Sora", system-ui, -apple-system, sans-serif;--font-body: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--sp-8: 4rem;--radius: 10px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #11161d;--surface: #182130;--surface-alt: #1f2a3b;--text: #eceee9;--text-muted: #9aa5b2;--primary: #8fb0d1;--primary-contrast: #0e1420;--accent: #e79552;--accent-contrast: #1a1006;--border: #2b3648;--line: #33405780;--focus: #8fb0d1;--shadow: 0 18px 46px -18px rgba(0, 0, 0, .6)}}:root[data-theme=dark]{--bg: #11161d;--surface: #182130;--surface-alt: #1f2a3b;--text: #eceee9;--text-muted: #9aa5b2;--primary: #8fb0d1;--primary-contrast: #0e1420;--accent: #e79552;--accent-contrast: #1a1006;--border: #2b3648;--line: #33405780;--focus: #8fb0d1;--shadow: 0 18px 46px -18px rgba(0, 0, 0, .6)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;padding:0;background:var(--bg);color:var(--text);font:400 16px/1.55 var(--font-body)}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0 0 .5rem;color:var(--text)}a{text-decoration:none;color:inherit}button{font-family:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}.container{margin:0 auto;max-width:1100px}.d-flex{display:flex}.flex-center{display:flex;justify-content:center;align-items:center}.flex-v-center{align-items:center}.space-between{justify-content:space-between;align-items:center}.flex-column{flex-direction:column}.m-1{margin:var(--sp-4)}.mt-1{margin-top:var(--sp-4)}.mb-2{margin-bottom:var(--sp-6)}.mr-1{margin-right:var(--sp-4)}.p-1{padding:var(--sp-4)}.p-l-1{padding-left:var(--sp-4)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card section{padding:var(--sp-4)}.btn-row{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-5)}.btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:.65rem 1.1rem;border-radius:var(--radius);font-weight:600;font-size:.94rem;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease,box-shadow .2s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:var(--primary-contrast)}.btn-primary:hover{box-shadow:0 8px 20px -10px var(--primary)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:hover{background:var(--surface-alt)}.social-row{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.badge-link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--surface-alt);border:1px solid var(--border);color:var(--text-muted);text-decoration:none;cursor:pointer;transition:transform .15s ease,color .2s ease,border-color .2s ease,background .2s ease}.badge-link:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.badge-linkedin{background:#0a66c2;border-color:#0a66c2;color:#fff}.badge-linkedin:hover{color:#fff;border-color:#0a66c2;background:#0958a8}.badge-gitlab{background:#fc6d26;border-color:#fc6d26;color:#fff}.badge-gitlab:hover{color:#fff;border-color:#fc6d26;background:#e05d1c}.badge-strava{background:#fc4c02;border-color:#fc4c02;color:#fff}.badge-strava:hover{color:#fff;border-color:#fc4c02;background:#dd4302}.badge-xing{background:#026466;border-color:#026466;color:#fff}.badge-xing:hover{color:#fff;border-color:#026466;background:#014e50}.tag{font-family:var(--font-mono);font-size:.62rem;padding:.15rem .5rem;border-radius:20px;background:var(--surface-alt);color:var(--text-muted)}.hero-eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--sp-3)}
