html{font-size:13px;-webkit-print-color-adjust:exact;print-color-adjust:exact}body{box-sizing:border-box;width:100%;max-width:76rem;margin:0 auto;padding:0 1rem;overflow-wrap:anywhere;font-family:Palatino,Palatino Linotype,Palatino LT STD,Book Antiqua,Georgia,serif;color:#111;background-color:#fffff8;counter-reset:sidenote-counter}h1{margin-top:4rem;margin-bottom:1.5rem;font-size:3.2rem;font-weight:400;line-height:1}h2{margin:1rem 0;font-size:2.2rem;font-style:italic;font-weight:400;line-height:1}h3{margin-top:2rem;margin-bottom:1.4rem;font-size:1.7rem;font-style:italic;font-weight:400;line-height:1}hr{display:block;width:55%;height:1px;padding:0;margin:1em 0;border:0;border-top:1px solid #ccc}p,dl,ol,ul{font-size:1.4rem;line-height:2rem}p{padding:0;margin:0;vertical-align:baseline}blockquote{font-size:1.4rem}blockquote p{width:55%;margin-right:40px}blockquote footer{width:55%;font-size:1.1rem;text-align:right}article{padding:5rem 0}section{padding-top:.5rem;padding-bottom:.5rem}section>p,section>footer,section>table{width:55%}section>dl,section>ol,section>ul{width:50%;padding-inline-start:5%}section>p,section>ul{box-sizing:border-box;width:100%}dt:not(:first-child),li:not(:first-child){margin-top:.25rem}figure{max-width:55%;padding:0;margin:0 0 3em;font:inherit;font-size:100%;vertical-align:baseline;border:0}figcaption{position:relative;float:right;clear:right;max-width:40%;margin-top:0;margin-bottom:0;font-size:1.1rem;line-height:1.6;vertical-align:baseline}a:link,a:visited{color:inherit;text-decoration-thickness:.05em;text-underline-offset:.1em}article a:link,article a:visited{padding:.08em .3em;border:1px solid #b6c9d8;border-radius:.3em;background:#eaf1f6;color:#164b70;font-weight:600;text-decoration:none;-webkit-box-decoration-break:clone;box-decoration-break:clone}article a:hover{border-color:#759bb7;background:#d9e8f2;text-decoration:underline;text-underline-offset:.12em}article a:focus-visible{outline:2px solid #164b70;outline-offset:3px}img{max-width:100%;height:auto}code,pre>code{font-family:consolas,Liberation Mono,menlo,courier,monospace;font-size:1rem;line-height:1.42}h1>code,h2>code,h3>code{font-size:.8em}pre>code{display:block;width:52.5%;padding:1rem;overflow-x:auto;font-size:.9rem;background:#00000080;color:#fff}.fullwidth{max-width:90%;clear:both}pre.fullwidth>code{width:90%}span.newthought{font-variant:small-caps;font-size:1.2em}@media(max-width:760px){hr,section>p,section>footer,section>table{width:100%}pre>code{width:97%}section>dl,section>ol{width:90%}figure{max-width:90%}figcaption{max-width:none;margin-right:0}blockquote{margin-right:0;margin-left:1.5em}blockquote p,blockquote footer{width:100%}}body>header{display:grid;grid-template-columns:minmax(0,1fr);margin:1rem 0;background:transparent}time{border:1px solid rgb(17 17 17 / .13);background:linear-gradient(145deg,#fffef9,#fff5d6)}body>header .header-home>img{width:48px;height:48px;padding:.18rem;border:1px solid rgb(17 17 17 / .16);border-radius:50%;background:#fffff8;object-fit:cover;justify-self:start}body>header>div{min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.55rem 1rem;align-self:center}body>header:has(>.header-home){display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}body>header:has(>.header-home) nav{flex:1 1 16rem}body>header>.header-home{display:inline-flex;align-items:center;gap:.75rem;flex-shrink:0;color:inherit;text-decoration:none}body>header>.header-home:focus-visible{outline:2px solid currentcolor;outline-offset:4px}body>header h1{margin:0;font-size:clamp(1.65rem,4vw,2.2rem);line-height:.95;letter-spacing:-.045em}body>header>div>p{margin:0;font-size:1.05rem;font-style:italic;color:#222}body>header nav{display:flex;justify-content:flex-end;flex-basis:100%;flex-wrap:wrap;gap:.3rem;font-size:.85rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body>header nav a{gap:.35rem;display:inline-flex;align-items:center;box-sizing:border-box;min-height:30px;padding:.2rem .5rem;border:1px solid rgb(17 17 17 / .14);border-radius:999px;background:#ffffff80;text-decoration:none}body>header nav a:hover,body>header nav a:focus{position:relative;top:2px;background:#ffffffd1}a.project-badge{display:inline-flex;padding:.35rem .65rem;border:1px solid;border-radius:999px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.85rem;line-height:1.4;text-decoration:none}a.gitshaman-badge,a.brainspeed-badge,a.baecation-badge,a.opencycling-badge{font-weight:600}a.gitshaman-badge{border-color:#c4b5fd;background:#ede9fe;color:#6d28d9}a.gitshaman-badge:hover,a.gitshaman-badge:focus{background:#ddd6fe}a.brainspeed-badge{border-color:#f9a8d4;background:#fce7f3;color:#be185d}a.brainspeed-badge:hover,a.brainspeed-badge:focus{background:#fbcfe8}a.baecation-badge{border-color:#fcd34d;background:#fef3c7;color:#b45309}a.baecation-badge:hover,a.baecation-badge:focus{background:#fde68a}a.opencycling-badge{border-color:#5eead4;background:#ccfbf1;color:#0f766e}a.opencycling-badge:hover,a.opencycling-badge:focus{background:#99f6e4}.profile-summary{margin:0}.skill-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:.65rem;margin:0;padding:0;list-style:none;font-size:.92rem;line-height:1.35}.skill-group{display:grid;min-width:0;gap:.4rem;align-content:start;margin:0;padding:.5rem;border:1px solid var(--skill-border);border-radius:.65rem;background:linear-gradient(135deg,#ffffff9e,#fffff81a),var(--skill-bg)}.skill-group--1{--skill-bg: #e7eef3;--skill-border: #bdcdd8;--skill-accent: #39576c}.skill-group--2{--skill-bg: #f2e8f2;--skill-border: #d5c2d8;--skill-accent: #6f496e}.skill-group--3{--skill-bg: #e8eee3;--skill-border: #c1cfb7;--skill-accent: #49613d}.skill-group--4{--skill-bg: #ecd7cf;--skill-border: #cfbcb7;--skill-accent: #61473d}.skill-group strong{color:var(--skill-accent);font-size:.8rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:.04em;text-transform:uppercase}.skill-tags{display:flex;flex-wrap:wrap;gap:.28rem}.skill-tags span{display:inline-flex;align-items:center;padding:.1rem .44rem;border:1px solid rgb(17 17 17 / .12);border-radius:999px;background:#ffffff94;color:#222;font-size:.76rem;line-height:1.3;white-space:normal}time{padding:.15rem .4rem;margin:0;border-radius:.25rem;font-weight:400;color:#111;font-size:.9em}@media(min-width:600px){body>header{align-items:center;gap:.5rem .75rem}.profile-summary,.skill-groups{grid-column:1 / -1}}.cv-columns{display:grid;gap:2rem}.cv-columns>section{min-width:0}@media(min-width:800px){.cv-columns{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}@media print{.cv-columns{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}body{max-width:none;margin:0;padding:0}}body>header nav .nav-icon{width:1.1rem;height:1.1rem;flex-shrink:0}
