.cv-page .cv-sheet{--cv-ink:#17151b;--cv-mute:#5f5a52;--cv-rule:#17151b29;--cv-accent:var(--ember);box-sizing:border-box;font:400 15px/1.5 var(--font-body);color:var(--cv-ink);background:var(--paper);border-radius:2px;margin:0;padding:3em 3.2em 2.6em;position:relative;box-shadow:0 30px 70px -30px #000000e6,0 0 0 1px #0a0a0f80}.cv-page .cv-sheet a{color:inherit;text-underline-offset:.2em;transition:text-decoration-color .25s var(--ease-io);-webkit-text-decoration:underline #17151b47;text-decoration:underline #17151b47;text-decoration-thickness:1px}.cv-page .cv-sheet a:hover,.cv-page .cv-sheet a:focus-visible{-webkit-text-decoration-color:var(--cv-accent);text-decoration-color:var(--cv-accent);transition-duration:.45s}.cv-page .cv-sheet a:focus-visible{outline:2px solid var(--cv-accent);outline-offset:2px;border-radius:2px}.cv-page .cv-sheet ul,.cv-page .cv-sheet ol{margin:0;padding:0;list-style:none}.cv-page .cv-sheet p{margin:0}.cv-page .cv-top{border-bottom:2px solid var(--cv-accent);padding-bottom:1.1em}.cv-page--full .cv-top+.cv-sec{margin-top:1.3em}.cv-page .cv-name{font:400 3em/.95 var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--cv-ink);margin:0}.cv-page .cv-roles{text-wrap:balance;margin-top:.7em;font-size:.96em;font-weight:600;line-height:1.4}.cv-page .cv-reach{margin-top:.75em;overflow:hidden}.cv-page .cv-sheet .cv-contact{font:400 .76em/1.5 var(--font-code);letter-spacing:.01em;color:var(--cv-mute);flex-wrap:wrap;gap:.2em 0;margin-left:-1.6em;display:flex}.cv-page .cv-sheet .cv-contact li:before{content:"·";content:"·" / "";text-align:center;width:1.6em;display:inline-block}.cv-page .cv-contact a{color:var(--cv-ink)}.cv-page .cv-summary{max-width:68ch;margin-top:1.15em;font-size:.98em;line-height:1.55}.cv-page .cv-sec{margin-top:1.5em}.cv-page .cv-h{border-bottom:1px solid var(--cv-rule);font:600 .7em/1.2 var(--font-code);text-transform:uppercase;letter-spacing:.18em;color:var(--cv-ink);margin:0 0 .85em;padding-bottom:.45em}.cv-page .cv-list{gap:1.05em;display:grid}.cv-page .cv-role-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.1em 1em;display:flex}.cv-page .cv-org{margin:0;font-size:1.02em;font-weight:700;line-height:1.3}.cv-page .cv-where,.cv-page .cv-years{font:400 .74em/1.4 var(--font-code);letter-spacing:.02em;color:var(--cv-mute);white-space:nowrap}.cv-page .cv-titles{margin-top:.1em}.cv-page .cv-titles li{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 1em;display:flex}.cv-page .cv-title{font-size:.9em;font-weight:500;line-height:1.4}.cv-page .cv-lines{gap:.28em;margin-top:.4em;display:grid}.cv-page .cv-lines li{padding-left:1.05em;font-size:.9em;line-height:1.48;position:relative}.cv-page .cv-lines li:before{content:"";background:var(--cv-accent);border-radius:50%;width:.32em;height:.32em;position:absolute;top:.62em;left:.15em}.cv-page .cv-sub{font:600 .66em/1.2 var(--font-code);text-transform:uppercase;letter-spacing:.16em;color:var(--cv-mute);margin:1.25em 0 .55em}.cv-page .cv-earlier{gap:.55em;display:grid}.cv-page .cv-earlier .cv-title b{font-weight:700}.cv-page .cv-earlier p{margin-top:.12em;font-size:.9em;line-height:1.48}.cv-page .cv-work{gap:.7em;display:grid}.cv-page .cv-work-name{font-size:.95em;font-weight:700}.cv-page .cv-work-title{color:var(--cv-mute);font-size:.9em}.cv-page .cv-work-name+.cv-work-title:before{content:"·";content:"·" / "";padding:0 .55em}.cv-page .cv-work p{margin-top:.12em;font-size:.88em;line-height:1.48}.cv-page .cv-skills{grid-template-columns:minmax(9em,28%) minmax(0,1fr);gap:.38em 1.2em;margin:0;font-size:.9em;line-height:1.45;display:grid}.cv-page .cv-skills dt{font-weight:700}.cv-page .cv-skills dd{margin:0}.cv-page .cv-more{border-top:1px solid var(--cv-rule);font:400 .74em/1.5 var(--font-code);letter-spacing:.02em;color:var(--cv-mute);margin-top:1.5em;padding-top:.8em}@media (max-width:760px){.cv-page .cv-sheet{padding:1.7em 1.35em 1.6em;font-size:14px}.cv-page .cv-name{font-size:2.5em}.cv-page .cv-skills{grid-template-columns:minmax(0,1fr);gap:.1em}.cv-page .cv-skills dd{margin-bottom:.45em}}@media (prefers-reduced-motion:reduce){.cv-page .cv-sheet a{transition:none}}@media print{@page{size:A4;margin:12mm 13mm}html:has(.cv-page){--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light!important}:is(html:has(.cv-page),body:has(.cv-page)){background:#fff!important;height:auto!important;min-height:0!important;overflow:visible!important}body:has(.cv-page) canvas{display:none!important}body:has(.cv-page) .e-top{display:none!important}body:has(.cv-page) .e-dock{display:none!important}body:has(.cv-page) .e-load{display:none!important}body:has(.cv-page) .e-poster{display:none!important}body:has(.cv-page) .e-repo{display:none!important}body:has(.cv-page) .e-probe{display:none!important}body:has(.cv-page) .e-skip{display:none!important}body:has(.cv-page) .cv-page .ms-anchor{display:none!important}body:has(.cv-page) .cv-page .bs-rail{display:none!important}body:has(.cv-page) .cv-page .bs-inline{display:none!important}body:has(.cv-page) .cv-page .pg-foot{display:none!important}body:has(.cv-page) :is(.e,.e-stage,.e-human,.e-sec,.pg-col,.bs,.bs-flow){-webkit-backdrop-filter:none!important;backdrop-filter:none!important;width:auto!important;height:auto!important;min-height:0!important;box-shadow:none!important;background:0 0!important;border:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important;transform:none!important}body:has(.cv-page) .cv-page .cv-sheet{box-shadow:none;color:#000;--cv-ink:#000;--cv-mute:#4a463f;background:#fff;border-radius:0;padding:0;font-size:9.6pt}body:has(.cv-page) .cv-page .cv-sheet a{text-decoration:none}body:has(.cv-page) .cv-page .cv-summary{max-width:none}body:has(.cv-page) .cv-page .cv-prose p{max-width:none}body:has(.cv-page) .cv-page .cv-role{break-inside:avoid}body:has(.cv-page) .cv-page .cv-earlier li{break-inside:avoid}body:has(.cv-page) .cv-page .cv-work li{break-inside:avoid}:is(body:has(.cv-page) .cv-page .cv-h,body:has(.cv-page) .cv-page .cv-sub){break-after:avoid}}.cv-page .cv-get{flex-wrap:wrap;gap:6px 26px;margin:0;display:flex}.cv-page .cv-name-k{font:600 .2em/1 var(--font-code);letter-spacing:.18em;vertical-align:.55em;color:var(--cv-accent);margin-left:.55em}.cv-page .cv-prose{gap:.55em;display:grid}.cv-page .cv-prose p{max-width:74ch;font-size:.9em;line-height:1.55}.cv-page .cv-prose--after{margin-top:.6em}.cv-page .cv-note{color:var(--cv-mute);font-size:.82em;line-height:1.5}.cv-page .cv-lede{margin-top:.45em;font-size:.92em;font-weight:600;line-height:1.5}.cv-page .cv-role--full .cv-prose{margin-top:.5em}.cv-page .cv-k{font:600 .66em/1.2 var(--font-code);text-transform:uppercase;letter-spacing:.16em;color:var(--cv-mute);margin:1.05em 0 .4em}.cv-page .cv-defs{grid-template-columns:minmax(9em,26%) minmax(0,1fr);gap:.4em 1.2em;margin:0;font-size:.88em;line-height:1.5;display:grid}.cv-page .cv-defs dt{font-weight:700}.cv-page .cv-defs dd{margin:0}.cv-page .cv-tools{font:400 .86em/1.5 var(--font-code);color:var(--cv-mute);margin-top:.15em;display:block}.cv-page--full .cv-list{gap:1.6em}.cv-page .cv-case-title{margin-top:.1em;font-size:.92em;font-style:italic}.cv-page .cv-meta{color:var(--cv-mute);margin-top:.15em;font-size:.82em;line-height:1.45}.cv-page .cv-chapter{margin-top:.8em}.cv-page .cv-chapter-t{margin:0 0 .3em;font-size:.9em;font-weight:700}.cv-page .cv-case--whole{border-left:2px solid var(--cv-accent);padding-left:1em}.cv-page .cv-stack{font:400 .74em/1.5 var(--font-code);color:var(--cv-mute);margin-top:.6em}.cv-page .cv-k-in{text-transform:uppercase;letter-spacing:.14em;color:var(--cv-ink);margin-right:.6em;font-weight:600}.cv-page .cv-case .cv-note,.cv-page .cv-group+.cv-group{margin-top:.4em}.cv-page .cv-projects{gap:.55em;display:grid}.cv-page .cv-projects p{margin-top:.1em;font-size:.86em;line-height:1.48}.cv-page .cv-projects b{font-weight:700}.cv-page .cv-role-note,.cv-page .cv-client{color:var(--cv-mute);font-weight:400}.cv-page .cv-log{gap:.3em;font-size:.88em;line-height:1.45;display:grid}.cv-page .cv-log li{grid-template-columns:6.5em minmax(0,1fr);align-items:baseline;gap:1em;display:grid}.cv-page .cv-sec .cv-skills{margin-top:.2em}@media (max-width:760px){.cv-page .cv-defs{grid-template-columns:minmax(0,1fr);gap:.1em}.cv-page .cv-defs dd{margin-bottom:.5em}.cv-page .cv-name-k{vertical-align:0;margin:.5em 0 0;font-size:.26em;display:block}}@media print{body:has(.cv-page) .cv-page .cv-projects li{break-inside:avoid}body:has(.cv-page) .cv-page .cv-chapter{break-inside:avoid}body:has(.cv-page) .cv-page .cv-log li{break-inside:avoid}body:has(.cv-page) .cv-page .cv-case-head{break-inside:avoid}:is(body:has(.cv-page) .cv-page .cv-case-head,body:has(.cv-page) .cv-page .cv-k,body:has(.cv-page) .cv-page .cv-chapter-t){break-after:avoid}:is(body:has(.cv-page--full) .cv-page .cv-role,body:has(.cv-page--full) .cv-page .cv-case){break-inside:auto}}
