@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-italic-BYAq_K0C.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-italic-Da0gXVk3.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-italic-0fly6zkB.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-italic-XgKbg5n7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-italic-dTnRTFFJ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html.personal-profile-page{scroll-behavior:auto;scroll-snap-type:none}html.personal-profile-page body{background:#fff;margin:0;overflow:visible}.personal-cv{box-sizing:border-box;min-height:100svh}@font-face{font-family:Satoshi;src:url(/fonts/satoshi/satoshi-variable.woff2)format("woff2");font-weight:300 900;font-display:swap}@font-face{font-family:General;src:url(/fonts/general-sans/general-sans-600.woff2)format("woff2");font-weight:600;font-display:swap}.personal-cv{--ink:#17191d;--muted:#5d6470;--blue:#2949dc;--line:#dfe3eb;--wash:#f3f5fb;--ease:cubic-bezier(.2,.7,.2,1);font-weight:450}.personal-cv *{box-sizing:border-box}.personal-cv{color:var(--ink);-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-family:Satoshi,Arial,sans-serif;font-size:16px;line-height:1.6}.personal-cv button,.personal-cv a{-webkit-tap-highlight-color:transparent}.personal-cv button{font:inherit}.personal-cv button,.personal-cv a,.personal-cv summary{touch-action:manipulation}.personal-cv a{color:inherit}.personal-cv a,.personal-cv button,.personal-cv summary{outline-offset:5px}.personal-cv a:focus-visible,.personal-cv button:focus-visible,.personal-cv summary:focus-visible{outline:2px solid var(--blue)}.personal-cv ::selection{color:#172d90;background:#dae0ff}.personal-cv img{max-width:100%;height:auto;display:block}.personal-cv h1,.personal-cv h2,.personal-cv h3,.personal-cv p,.personal-cv figure{margin:0}.personal-cv h1,.personal-cv h2,.personal-cv h3{text-wrap:balance;line-height:1.12}.personal-cv h1,.personal-cv h2{letter-spacing:-.055em}.personal-cv h3{letter-spacing:-.025em}.personal-cv a{text-decoration:none}.personal-cv button{cursor:pointer}.personal-cv small{font-size:12px}.personal-cv .skip-link{z-index:100;background:var(--ink);color:#fff;padding:12px 18px;position:fixed;top:8px;left:16px;transform:translateY(-200%)}.personal-cv .skip-link:focus{transform:none}.personal-cv .eyebrow{letter-spacing:.075em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600;display:block}.personal-cv .blue{color:var(--blue)}.personal-cv .muted{color:var(--muted)}.personal-cv .inline-link{color:var(--blue);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.personal-cv .inline-link:hover{text-decoration-thickness:2px}.personal-cv .arrow{transition:transform .16s var(--ease);margin-inline-start:10px;display:inline-block}.personal-cv a:hover>.arrow{transform:translate(2px,-2px)}.personal-cv.portfolio{max-width:1160px;margin:0 auto;padding-inline:36px}.personal-cv .site-nav{justify-content:space-between;align-items:center;gap:32px;min-height:92px;display:flex}.personal-cv .wordmark{align-items:center;min-width:48px;min-height:44px;display:flex}.personal-cv .wordmark img{width:48px}.personal-cv .site-nav nav{align-items:center;gap:26px;font-size:13px;display:flex}.personal-cv .site-nav nav a{align-items:center;min-height:44px;display:inline-flex}.personal-cv .site-nav nav a:hover{color:var(--blue)}.personal-cv main section[id],.personal-cv article[id],.personal-cv details[id]{scroll-margin-top:100px}.personal-cv section[tabindex="-1"]:focus,.personal-cv article[tabindex="-1"]:focus{outline:none}.personal-cv .intro-copy{max-width:52ch;color:var(--muted);font-size:17px;line-height:1.7}.personal-cv .discipline{letter-spacing:-.02em;font-size:19px;font-weight:600}.personal-cv .profile-actions{flex-wrap:wrap;align-items:center;gap:26px;margin-top:24px;display:flex}.personal-cv .button-link{background:var(--blue);color:#fff;border-radius:5px;justify-content:center;align-items:center;min-height:46px;padding:10px 18px;font-size:13px;font-weight:600;transition:background-color .16s;display:inline-flex}.personal-cv .button-link:hover{background:#1534ba}.personal-cv .text-link{align-items:center;min-height:44px;font-size:13px;display:inline-flex}.personal-cv .text-link:hover{color:var(--blue)}.personal-cv .workspace{min-width:0}.personal-cv .workspace img{mix-blend-mode:multiply;width:100%}.personal-cv .section-title{grid-template-columns:42px 1fr auto;align-items:baseline;gap:16px;margin-bottom:30px;display:grid}.personal-cv .section-title h2{font-size:33px;font-weight:700}.personal-cv .section-number{color:var(--blue);font-variant-numeric:tabular-nums;font-size:12px}.personal-cv .section-title>p{color:var(--muted);max-width:39ch;font-size:12px}.personal-cv .career-list{min-width:0}.personal-cv .group-caption{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:26px 0 12px;font-size:11px;font-weight:600}.personal-cv .group-caption:first-child{padding-top:0}.personal-cv .resume-entry{border-bottom:1px solid var(--line);grid-template-columns:154px minmax(0,1fr);gap:30px;padding-block:23px;display:grid}.personal-cv .entry-margin{padding-top:4px}.personal-cv .role-date{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.6;display:block}.personal-cv .role-date small{color:var(--muted);margin-top:6px;font-size:11px;display:block}.personal-cv .role-identity h3{font-size:22px;font-weight:650}.personal-cv .role-title{color:var(--muted);margin-top:6px;font-size:14px;line-height:1.5}.personal-cv .role-short{max-width:65ch;margin-top:12px;font-size:15px;line-height:1.65}.personal-cv .role-more{margin-top:9px}.personal-cv .role-more>summary{min-height:36px;color:var(--blue);cursor:pointer;align-items:center;gap:14px;font-size:12px;font-weight:500;list-style:none;display:inline-flex}.personal-cv .role-more>summary:hover{color:#152b95}.personal-cv .expand-mark{width:20px;height:20px;color:var(--blue);flex-shrink:0;display:inline-block;position:relative}.personal-cv .expand-mark:before,.personal-cv .expand-mark:after{content:"";background:currentColor;height:1.5px;position:absolute;inset:9px 4px}.personal-cv .expand-mark:after{transition:transform .16s var(--ease);transform:rotate(90deg)}.personal-cv details[open]>summary .expand-mark:after{transform:rotate(0)}.personal-cv summary{cursor:pointer;list-style:none}.personal-cv summary::-webkit-details-marker{display:none}.personal-cv .role-body{padding-block:18px 10px}.personal-cv .role-body:has(.role-image){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:26px;display:grid}.personal-cv .role-context{color:var(--muted);font-size:14px;line-height:1.7}.personal-cv .role-position{margin-block:24px}.personal-cv .role-position h4{margin:0;font-size:15px;font-weight:650;line-height:1.5}.personal-cv .position-date{color:var(--muted);margin:3px 0 0;font-size:12px;line-height:1.6}.personal-cv .role-body .role-position ul{margin-top:10px}.personal-cv .role-body ul{margin:16px 0 10px;padding-inline-start:19px;font-size:14px;line-height:1.7}.personal-cv .role-body li+li{margin-top:9px}.personal-cv .role-body li::marker{color:var(--blue)}.personal-cv .role-body .text-link{color:var(--blue)}.personal-cv .role-image{padding-top:3px}.personal-cv .role-image img{aspect-ratio:auto;border:1px solid var(--line);border-radius:4px;width:100%;height:auto}.personal-cv .role-image figcaption{color:var(--muted);margin-top:8px;font-size:10px}.personal-cv .sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.personal-cv .project-notes{margin-top:36px}.personal-cv .subheading{justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:12px;display:flex}.personal-cv .subheading h3{font-size:18px;font-weight:600}.personal-cv .subheading>span{color:var(--muted);font-size:11px}.personal-cv .project-note{border-bottom:1px solid var(--line)}.personal-cv .project-note>summary{grid-template-columns:94px minmax(0,1fr) 24px;align-items:start;gap:22px;padding:21px 0;display:grid}.personal-cv .project-note>summary:hover .project-note-copy strong{color:var(--blue)}.personal-cv .project-date{color:var(--muted);padding-top:4px;font-size:12px}.personal-cv .project-note-copy strong{font-size:17px;font-weight:600;display:block}.personal-cv .project-note-copy>span{color:var(--muted);max-width:60ch;margin-top:6px;font-size:13px;line-height:1.65;display:block}.personal-cv .project-note .expand-mark{margin-top:3px}.personal-cv .project-note-body{padding:0 30px 24px 116px}.personal-cv .project-note-body>p{max-width:65ch;margin-top:14px;font-size:14px;line-height:1.7}.personal-cv .project-links{color:var(--blue);flex-wrap:wrap;gap:26px;margin-top:12px;display:flex}.personal-cv .project-proof{border:1px solid var(--line);border-radius:4px;width:100%;max-width:560px;margin-top:16px}.personal-cv .capability-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.personal-cv .capability-list>div{min-width:0;position:relative}.personal-cv .capability-number{color:var(--blue);margin-bottom:12px;font-size:11px;display:block}.personal-cv .capability-list h3{margin-bottom:12px;font-size:21px}.personal-cv .capability-list p{color:var(--muted);max-width:30ch;font-size:14px;line-height:1.7}.personal-cv .foundation-grid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:38px;margin-top:42px;padding-top:30px;display:grid}.personal-cv .foundation-grid h3{margin-top:12px;font-size:17px;font-weight:600;line-height:1.4}.personal-cv .foundation-grid p{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.75}.personal-cv .foundation-grid strong{color:var(--ink);font-weight:500}.personal-cv .toolkit{margin-top:18px}.personal-cv .toolkit>summary{color:var(--blue);align-items:center;gap:14px;min-height:44px;font-size:12px;display:inline-flex}.personal-cv .toolkit dl{margin:14px 0 0}.personal-cv .toolkit dl>div{border-top:1px solid var(--line);grid-template-columns:160px 1fr;gap:24px;padding:12px 0;font-size:13px;display:grid}.personal-cv .toolkit dt{font-weight:600}.personal-cv .toolkit dd{color:var(--muted);margin:0}.personal-cv .contact-block{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:end;gap:40px;margin-top:44px;padding:34px 0 0;display:grid}.personal-cv .contact-block h3{letter-spacing:-.04em;margin-top:12px;font-size:30px}.personal-cv .contact-block p{color:var(--muted);max-width:44ch;margin-top:16px;font-size:14px;line-height:1.7}.personal-cv .contact-links{min-width:0}.personal-cv .email-link{color:var(--blue);overflow-wrap:anywhere;padding-block:10px;font-size:15px;line-height:1.6;display:inline-block}.personal-cv .social-links{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.personal-cv .social-links .text-link{font-size:12px}.personal-cv .social-links .arrow{margin-inline-start:6px}.personal-cv .copy-email{border:0;border-bottom:1px solid var(--line);color:var(--muted);background:0 0;min-height:44px;padding:9px 0;font-size:12px;position:relative}.personal-cv .copy-email:hover{color:var(--blue);border-color:var(--blue)}.personal-cv .copy-feedback{color:var(--blue);font-size:11px;display:block}.personal-cv .copy-feedback:empty{display:none}.personal-cv .site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:24px;margin-top:52px;padding:24px 0 32px;font-size:11px;display:flex}.personal-cv .site-footer a{min-height:32px}.personal-cv .site-footer a:hover{color:var(--blue)}.personal-cv.variant-cv{max-width:1080px}.personal-cv .cv-profile{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);align-items:center;column-gap:44px;padding:38px 0 0;display:grid}.personal-cv .cv-profile h1{margin-top:21px;font-size:70px;font-weight:800;line-height:.99}.personal-cv .cv-profile .discipline{margin-top:24px}.personal-cv .cv-profile .intro-copy{margin-top:16px;font-size:16px}.personal-cv .cv-profile .workspace{padding-top:36px}.personal-cv .current-line{border-bottom:1px solid var(--line);grid-column:1/-1;margin-top:32px;padding:26px 0 32px}.personal-cv .current-line>p{flex-wrap:wrap;gap:18px;margin-top:10px;font-size:13px;display:flex}.personal-cv .current-line a:hover{color:var(--blue)}.personal-cv .current-line strong{font-weight:650}.personal-cv .current-separator{color:#a6adbb}.personal-cv .cv-experience,.personal-cv .cv-background{padding-top:46px}.personal-cv .cv-experience .section-title{grid-template-columns:32px 1fr auto}.personal-cv .cv-experience .career-list,.personal-cv .cv-experience .project-notes{padding-inline-start:48px}.personal-cv .cv-background .capability-list,.personal-cv .cv-background .foundation-grid,.personal-cv .cv-background .toolkit,.personal-cv .cv-background .contact-block{margin-inline-start:48px}.personal-cv .section-intro{color:var(--muted);max-width:54ch;margin-top:22px;font-size:15px;line-height:1.75}@media (width<=1000px){.personal-cv.portfolio{padding-inline:30px}.personal-cv .section-title{grid-template-columns:32px 1fr!important}.personal-cv .section-title>p{grid-column:2;max-width:none}.personal-cv .cv-profile h1{font-size:61px}.personal-cv .cv-profile{column-gap:25px}.personal-cv .contact-block{gap:26px}.personal-cv .email-link{font-size:14px}}@media (width<=760px){.personal-cv.portfolio{padding-inline:24px}.personal-cv .site-nav{min-height:80px}.personal-cv .site-nav nav{gap:18px;font-size:12px}.personal-cv .site-nav nav .text-link{font-size:12px}.personal-cv .site-nav nav .arrow{margin-inline-start:6px}.personal-cv .cv-profile{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);padding-top:24px}.personal-cv .cv-profile h1{font-size:49px}.personal-cv .cv-profile .discipline{font-size:17px}.personal-cv .cv-profile .intro-copy{font-size:15px}.personal-cv .cv-profile .workspace{padding-top:0}.personal-cv .current-line{padding-bottom:25px}.personal-cv .current-line>p{gap:9px;display:grid}.personal-cv .current-separator{display:none}.personal-cv .cv-experience .career-list,.personal-cv .cv-experience .project-notes{padding-inline-start:0}.personal-cv .cv-background .capability-list,.personal-cv .cv-background .foundation-grid,.personal-cv .cv-background .toolkit,.personal-cv .cv-background .contact-block{margin-inline-start:0}.personal-cv .resume-entry{grid-template-columns:124px minmax(0,1fr);gap:20px}.personal-cv .role-body:has(.role-image){display:block}.personal-cv .role-image{max-width:520px;margin-top:20px}.personal-cv .capability-list{gap:24px}.personal-cv .capability-list h3{font-size:19px}.personal-cv .capability-list p{font-size:13px}.personal-cv .foundation-grid{gap:24px}.personal-cv .contact-block{grid-template-columns:1fr;gap:18px}.personal-cv .contact-block p{max-width:54ch}.personal-cv .site-footer{gap:15px}.personal-cv .site-footer>span{max-width:28ch}}@media (width<=540px){.personal-cv .site-nav{gap:24px;min-height:78px}.personal-cv .site-nav nav{gap:14px}.personal-cv .site-nav nav>a:nth-child(2){display:none}.personal-cv .site-nav .wordmark img{width:44px}.personal-cv.portfolio{padding-inline:22px}.personal-cv .cv-profile{padding-top:15px;display:block}.personal-cv .cv-profile h1{max-width:12ch;font-size:55px}.personal-cv .cv-profile .intro-copy{font-size:15px}.personal-cv .cv-profile .workspace{width:230px;margin:16px 0 0 auto}.personal-cv .cv-profile .discipline{font-size:16px}.personal-cv .current-line{margin-top:14px}.personal-cv .current-line>p{font-size:12px}.personal-cv .cv-experience,.personal-cv .cv-background{padding-top:34px}.personal-cv .section-title{gap:10px;margin-bottom:24px;grid-template-columns:25px 1fr!important}.personal-cv .section-title h2{font-size:29px}.personal-cv .section-title>p{font-size:12px}.personal-cv .resume-entry{padding-block:21px;display:block}.personal-cv .entry-margin{margin-bottom:10px;padding-top:0}.personal-cv .role-identity h3{font-size:21px}.personal-cv .role-title{font-size:13px}.personal-cv .role-short{font-size:14px}.personal-cv .group-caption{padding-top:22px;font-size:10px}.personal-cv .role-more>summary{min-height:40px}.personal-cv .project-note>summary{grid-template-columns:minmax(0,1fr) 24px;gap:7px 12px}.personal-cv .project-date{grid-column:1;font-size:11px}.personal-cv .project-note-copy{grid-column:1}.personal-cv .project-note .expand-mark{grid-area:1/2/3;align-self:center}.personal-cv .project-note-body{padding:6px 0 23px}.personal-cv .project-links{gap:6px 18px}.personal-cv .subheading{gap:12px}.personal-cv .subheading h3{font-size:17px}.personal-cv .subheading>span{font-size:10px}.personal-cv .capability-list{grid-template-columns:1fr;gap:22px}.personal-cv .capability-list>div{grid-template-columns:22px 90px minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.personal-cv .capability-list h3{margin:0;font-size:16px}.personal-cv .capability-list p{max-width:none;font-size:13px}.personal-cv .capability-number{margin:0;font-size:10px}.personal-cv .foundation-grid{grid-template-columns:1fr;gap:26px;margin-top:30px}.personal-cv .foundation-grid h3{font-size:17px}.personal-cv .toolkit dl>div{grid-template-columns:1fr;gap:6px}.personal-cv .contact-block{margin-top:28px;padding-top:28px}.personal-cv .contact-block h3{font-size:28px}.personal-cv .contact-block p,.personal-cv .email-link{font-size:14px}.personal-cv .social-links{gap:16px}.personal-cv .site-footer{font-size:10px}.personal-cv .site-footer>span{max-width:24ch}.personal-cv main section[id],.personal-cv article[id],.personal-cv details[id]{scroll-margin-top:120px}}@media (prefers-reduced-motion:no-preference){.personal-cv details[open]>.role-body,.personal-cv details[open]>.project-note-body,.personal-cv details[open]>dl{animation:.18s ease-out detail-appear}@keyframes detail-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}}@media print{.personal-cv .site-nav,.personal-cv .site-footer,.personal-cv .profile-actions,.personal-cv .copy-email,.personal-cv .skip-link{display:none!important}.personal-cv.portfolio{max-width:none;padding:0}.personal-cv .role-more>summary{color:#000}.personal-cv details{break-inside:avoid}.personal-cv a{color:#000}.personal-cv{font-size:12pt}}.personal-cv.cv-refined{--cv-gutter:48px;max-width:1160px}.personal-cv.cv-refined .site-nav{min-height:98px}.personal-cv.cv-refined .site-nav nav a{text-underline-offset:6px}.personal-cv.cv-refined .site-nav nav a:hover{text-decoration:underline}.personal-cv.cv-refined .cv-profile{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:36px;padding-top:32px}.personal-cv .cv-greeting{align-items:center;gap:13px;display:flex}.personal-cv .cv-greeting>img{width:38px;height:38px}.personal-cv .cv-greeting>span{font-size:15px;font-weight:600;line-height:1.5}.personal-cv .greeting-location{color:var(--muted);font-size:11px;font-weight:450;display:block}.personal-cv.cv-refined .cv-profile h1{margin-top:24px;font-size:clamp(58px,5.5vw,78px)}.personal-cv.cv-refined .cv-profile .discipline{margin-top:25px;font-size:18px}.personal-cv.cv-refined .cv-profile .intro-copy{max-width:49ch;font-size:15px;line-height:1.75}.personal-cv.cv-refined .profile-actions{gap:26px;margin-top:25px}.personal-cv.cv-refined .button-link{--button-fill:var(--blue);background-color:var(--button-fill);border-radius:9px 9px 9px 3px;gap:10px;padding:10px 16px;transition:background-color .16s,scale .14s ease-out}.personal-cv.cv-refined .button-link:active{scale:.98}.personal-cv.cv-refined .contact-icon{flex:0 0 24px;place-items:center;width:24px;height:24px;display:grid}.personal-cv.cv-refined .contact-icon .morph-svg{width:24px;height:24px}.personal-cv.cv-refined .contact-icon [fill]{transition:fill .16s}.personal-cv.cv-refined .morph-svg,.personal-cv.cv-refined .profile-icon{pointer-events:none;flex-shrink:0;display:block}.personal-cv.cv-refined .morph-svg{width:18px;height:18px}.personal-cv.cv-refined .expand-mark .morph-svg{stroke-width:2px;width:16px;height:16px}.personal-cv.cv-refined .document-icon{width:20px;height:20px}.personal-cv.cv-refined .external-icon{stroke-width:2px;width:14px;height:14px}.personal-cv.cv-refined .cv-abilities .profile-icon{stroke-width:1.5px;width:26px;height:26px}@media (hover:hover) and (pointer:fine){.personal-cv.cv-refined .button-link:hover{--button-fill:#203bc6}}.personal-cv.cv-refined .text-link{gap:5px;min-height:36px}.personal-cv.cv-refined .resume-link{gap:8px}.personal-cv.cv-refined .resume-link>span{text-underline-offset:5px;-webkit-text-decoration:underline #ccd1df;text-decoration:underline #ccd1df}.personal-cv.cv-refined .resume-link:hover>span{-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue)}.personal-cv .document-icon{color:var(--blue);flex-shrink:0}.personal-cv .external-icon{flex-shrink:0}.personal-cv .cv-desk{align-self:center;min-width:0;padding-top:14px}.personal-cv.cv-refined .cv-desk .workspace{width:100%;margin:0;padding:0}.personal-cv .desk-caption{text-align:center;max-width:74%;color:var(--muted);margin:15px auto 0;font-size:11px}.personal-cv .cv-current{border-bottom:1px solid var(--line);grid-column:1/-1;grid-template-columns:132px minmax(0,1fr);align-items:start;gap:24px;margin-top:25px;padding:32px 0;display:grid}.personal-cv .cv-current>.eyebrow{padding-top:9px}.personal-cv .cv-current-links{grid-template-columns:1fr 1.25fr;gap:24px;display:grid}.personal-cv .cv-current-links>a{width:fit-content;padding:4px 0;display:block}.personal-cv .current-company{letter-spacing:-.025em;text-underline-offset:5px;width:fit-content;font-size:18px;font-weight:650;-webkit-text-decoration:underline #dfe3ed;text-decoration:underline #dfe3ed;text-decoration-thickness:1px}.personal-cv .cv-current-links>a>span:last-child{color:var(--muted);margin-top:3px;font-size:12px;display:block}.personal-cv .cv-current-links>a:hover .current-company{color:var(--blue);text-decoration-color:currentColor}.personal-cv.cv-refined .cv-experience,.personal-cv.cv-refined .cv-background{padding-top:42px}.personal-cv .cv-section-heading{justify-content:space-between;align-items:center;gap:24px;min-height:112px;margin-bottom:26px;display:flex}.personal-cv .cv-section-heading .eyebrow{letter-spacing:.09em;font-size:10px}.personal-cv .cv-section-heading h2{margin-top:12px;font-size:42px;font-weight:750}.personal-cv .heading-object{flex:0 0 124px;place-items:center;width:124px;display:grid}.personal-cv .idea-object{width:90px;height:90px;transform:rotate(13deg)}.personal-cv .record-object{width:94px;height:100px;position:relative}.personal-cv .record-sheet{border-radius:4px;width:70px;height:90px;position:absolute}.personal-cv .record-sheet-back{background:#dce2ff;inset:0 auto auto 13px;transform:rotate(-12deg);box-shadow:0 3px 7px #1c2b530f}.personal-cv .record-sheet-front{color:var(--ink);background:#fff;padding:15px 10px 9px;inset:7px auto auto 17px;transform:rotate(8deg);box-shadow:0 0 0 1px #00000012,0 4px 6px #1925500a,0 12px 22px #19255014}.personal-cv .record-tab{background:var(--blue);border-radius:1px 1px 3px 3px;width:11px;height:21px;position:absolute;inset:-4px 11px auto auto}.personal-cv .record-sheet-front strong{letter-spacing:-.04em;font-size:15px;font-weight:750;line-height:1.18;display:block}.personal-cv .record-lines{border-block:1px solid #bac2d4;width:33px;height:9px;margin-top:11px;display:block}.personal-cv.cv-refined .cv-experience .career-list,.personal-cv.cv-refined .cv-experience .project-notes{padding-inline-start:var(--cv-gutter)}.personal-cv.cv-refined .resume-entry{grid-template-columns:172px minmax(0,1fr);gap:32px;padding-block:24px}.personal-cv.cv-refined .role-name{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.personal-cv.cv-refined .role-identity h3{font-size:23px;transition:color .15s ease-out}.personal-cv .startup-label{color:#29419a;background:#edf0ff;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600;line-height:1.6}.personal-cv.cv-refined .role-date{font-size:12px}.personal-cv.cv-refined .role-short{margin-top:10px;font-size:14px}.personal-cv.cv-refined .role-title{font-size:13px}.personal-cv.cv-refined .role-more{margin-top:13px}.personal-cv.cv-refined .role-more>summary{border-radius:3px;gap:8px;min-height:36px;padding:4px 0;transition:background-color .15s ease-out,color .15s ease-out}.personal-cv.cv-refined .role-more>summary:hover,.personal-cv.cv-refined .role-more[open]>summary{color:#1c36aa}.personal-cv.cv-refined .role-more .expand-mark{background:var(--wash);border-radius:50%;transition:color .15s,background-color .15s}.personal-cv.cv-refined .role-more>summary:hover .expand-mark,.personal-cv.cv-refined .role-more[open]>summary .expand-mark{background:var(--blue);color:#fff}.personal-cv.cv-refined .role-more .expand-mark:before,.personal-cv.cv-refined .role-more .expand-mark:after{inset-inline:6px}.personal-cv.cv-refined .expand-mark:has(.morph-svg){place-items:center;display:grid}.personal-cv.cv-refined .expand-mark:has(.morph-svg):before{content:none}.personal-cv.cv-refined .expand-mark:has(.morph-svg):after{content:none}.personal-cv.cv-refined .resume-entry:has(.role-more[open]) .role-identity h3{color:var(--blue)}.personal-cv.cv-refined .role-body{padding-block:22px 5px}.personal-cv.cv-refined .role-image img{outline-offset:-1px;border:0;outline:1px solid #0000001a}.personal-cv.cv-refined .project-notes{margin-top:32px}.personal-cv.cv-refined .subheading h3{font-size:19px}.personal-cv.cv-refined .project-note>summary{padding-block:23px}.personal-cv.cv-refined .disclosure-chevron{color:var(--blue);align-self:center;place-items:center;transition:transform .16s ease-out;display:grid}.personal-cv.cv-refined .cv-background{padding-top:52px}.personal-cv.cv-refined .cv-background .capability-list,.personal-cv.cv-refined .cv-background .foundation-grid,.personal-cv.cv-refined .cv-background .toolkit,.personal-cv.cv-refined .cv-background .contact-block{margin-inline-start:var(--cv-gutter)}.personal-cv.cv-refined .cv-abilities{gap:36px}.personal-cv.cv-refined .cv-abilities>div{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:15px 12px;display:grid}.personal-cv .cv-abilities svg{color:var(--blue)}.personal-cv.cv-refined .cv-abilities h3{margin:0;font-size:21px}.personal-cv.cv-refined .cv-abilities p{grid-column:1/-1;max-width:33ch;font-size:14px}.personal-cv.cv-refined .foundation-grid{margin-top:36px;padding-top:27px}.personal-cv.cv-refined .toolkit>summary{background:var(--wash);border-radius:6px;gap:8px;min-height:36px;padding:5px 11px}.personal-cv.cv-refined .contact-block{background:#f3f5fd;border:0;border-radius:10px;align-items:center;gap:36px;margin-top:36px;padding:30px;position:relative}.personal-cv.cv-refined .contact-block .eyebrow{color:#3e52a0}.personal-cv.cv-refined .contact-block h3{font-size:31px}.personal-cv.cv-refined .contact-block p{margin-top:13px;font-size:13px}.personal-cv.cv-refined .email-link{text-underline-offset:5px;font-size:15px;font-weight:550;-webkit-text-decoration:underline #bbc6f0;text-decoration:underline #bbc6f0}.personal-cv.cv-refined .email-link:hover{text-decoration-color:currentColor}.personal-cv.cv-refined .social-links .text-link:hover{text-underline-offset:4px;text-decoration:underline}.personal-cv.cv-refined .social-links{gap:17px}.personal-cv.cv-refined .copy-email{background:#fff;border:1px solid #d8def1;border-radius:4px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:5px 9px;display:inline-flex}.personal-cv.cv-refined .copy-email[data-copied=true]{color:#24533c;border-color:#adcbb9}.personal-cv.cv-refined .site-footer{margin-top:36px}@media (width<=1000px){.personal-cv.cv-refined{--cv-gutter:0px}.personal-cv.cv-refined .cv-profile{column-gap:22px}.personal-cv.cv-refined .cv-profile h1{font-size:62px}.personal-cv.cv-refined .cv-profile .discipline{font-size:16px}.personal-cv.cv-refined .cv-profile .intro-copy{font-size:14px}.personal-cv .cv-current{grid-template-columns:105px minmax(0,1fr);gap:20px}.personal-cv .cv-current-links{grid-template-columns:1fr 1.25fr;gap:18px}.personal-cv.cv-refined .resume-entry{grid-template-columns:145px minmax(0,1fr);gap:27px}.personal-cv.cv-refined .cv-abilities{gap:26px}.personal-cv.cv-refined .contact-block{grid-template-columns:1fr;gap:22px}}@media (width<=760px){.personal-cv.cv-refined .cv-profile h1{font-size:51px}.personal-cv.cv-refined .cv-profile .discipline{line-height:1.55}.personal-cv .cv-greeting{gap:10px}.personal-cv .cv-greeting>img{width:33px;height:33px}.personal-cv .cv-current{grid-template-columns:1fr;gap:12px;margin-top:18px;padding-top:26px}.personal-cv .cv-current-links{grid-template-columns:1fr 1.1fr}.personal-cv .current-company{gap:14px;font-size:17px}.personal-cv .cv-current-links>a>span:last-child{font-size:11px}.personal-cv .cv-section-heading h2{font-size:36px}.personal-cv .heading-object{flex-basis:95px;width:95px}.personal-cv .idea-object{width:80px;height:80px}.personal-cv.cv-refined .resume-entry{grid-template-columns:128px minmax(0,1fr);gap:22px}.personal-cv.cv-refined .cv-abilities{gap:24px}.personal-cv.cv-refined .cv-abilities h3{font-size:18px}.personal-cv.cv-refined .cv-abilities p{font-size:13px}}@media (width<=600px){.personal-cv.cv-refined .cv-profile{grid-template-columns:1fr;padding-top:18px;display:grid}.personal-cv.cv-refined .cv-profile h1{font-size:clamp(52px,10.5vw,68px)}.personal-cv.cv-refined .cv-profile .discipline{margin-top:22px;font-size:16px}.personal-cv.cv-refined .cv-profile .intro-copy{font-size:15px}.personal-cv .cv-desk{width:min(300px,87%);margin:22px 0 0 auto;padding-top:0}.personal-cv .desk-caption{margin-top:1px;font-size:10px}.personal-cv .cv-current{margin-top:0;padding-top:23px}.personal-cv .cv-current-links{grid-template-columns:1fr;gap:16px}.personal-cv .cv-current-links>a{flex-wrap:wrap;align-items:baseline;column-gap:20px;width:100%;display:flex}.personal-cv .cv-current-links>a>span:last-child{font-size:11px}.personal-cv .cv-section-heading{gap:15px;min-height:97px;margin-bottom:22px}.personal-cv .cv-section-heading h2{margin-top:10px;font-size:33px}.personal-cv .cv-section-heading .eyebrow{font-size:9px}.personal-cv .heading-object{flex-basis:78px;width:78px}.personal-cv .record-object{transform-origin:50%;transform:scale(.78)}.personal-cv .idea-object{width:69px;height:69px}.personal-cv.cv-refined .cv-experience,.personal-cv.cv-refined .cv-background{padding-top:28px}.personal-cv.cv-refined .resume-entry{padding-block:23px;display:block}.personal-cv.cv-refined .role-name{gap:8px 12px}.personal-cv.cv-refined .role-identity h3{font-size:22px}.personal-cv.cv-refined .role-date{font-size:11px}.personal-cv.cv-refined .role-more>summary{min-height:40px}.personal-cv.cv-refined .project-note>summary .disclosure-chevron{grid-area:1/2/3}.personal-cv.cv-refined .cv-abilities{grid-template-columns:1fr;gap:26px}.personal-cv.cv-refined .cv-abilities>div{grid-template-columns:26px minmax(0,1fr);gap:9px 13px}.personal-cv.cv-refined .cv-abilities h3{font-size:20px}.personal-cv.cv-refined .cv-abilities p{grid-column:2;max-width:none;font-size:14px}.personal-cv.cv-refined .contact-block{padding:23px 20px}.personal-cv.cv-refined .contact-block h3{font-size:28px}.personal-cv.cv-refined .email-link{font-size:14px}.personal-cv.cv-refined .social-links{gap:12px 17px}}@media (prefers-reduced-motion:reduce){.personal-cv.cv-refined *,.personal-cv.cv-refined :before,.personal-cv.cv-refined :after{transition:none!important;animation:none!important}.personal-cv.cv-refined .button-link:active{scale:none}}@media print{.personal-cv .cv-greeting>img,.personal-cv .heading-object,.personal-cv .cv-desk{display:none}.personal-cv.cv-refined .cv-profile{display:block}.personal-cv.cv-refined .cv-section-heading{min-height:0}.personal-cv.cv-refined .contact-block{background:0 0;padding:0}}.personal-cv section[id],.personal-cv article[id],.personal-cv details[id],.personal-cv #contact{scroll-margin-top:24px}.personal-cv .copy-email{min-width:108px}.personal-cv .copy-feedback{position:static}.personal-cv .copy-status{color:#5d6470;min-height:18px;margin-top:5px;font-size:11px;display:block}.personal-cv.cv-refined .copy-email{transition:scale .14s ease-out,background-color .15s ease-out,border-color .15s ease-out}.personal-cv.cv-refined .copy-email:active{scale:.97}.personal-cv.cv-refined .resume-link .document-icon{transition:transform .15s ease-out}@media (hover:hover) and (pointer:fine){.personal-cv.cv-refined .copy-email:hover{background:#edf1ff;border-color:#b6c3ee}.personal-cv.cv-refined .resume-link:hover .document-icon{transform:translateY(-2px)}}@media (prefers-reduced-motion:no-preference){.personal-cv .cv-greeting>img{transform-origin:65% 85%;animation:.36s ease-out .18s profile-hello}.personal-cv .cv-desk .workspace{animation:.42s cubic-bezier(.2,.7,.2,1) workspace-settle}@keyframes profile-hello{0%,to{transform:rotate(0)}35%{transform:rotate(-12deg)}70%{transform:rotate(6deg)}}@keyframes workspace-settle{0%{opacity:.5;transform:translateY(6px)rotate(.6deg)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){.personal-cv.cv-refined .copy-email:active{scale:none}.personal-cv.cv-refined .resume-link:hover .document-icon{transform:none}}
