.resume_page___uvY_{--resume-accent:#4d575e;position:relative;isolation:isolate;min-height:100vh;background:var(--color-accent-7);color:var(--color-primary);font-size:14px;line-height:1.6}[data-theme=dark] .resume_page___uvY_{--resume-accent:#a8bac7}.resume_heroBanner__ya1Tz:before{content:"";position:absolute;inset:0;pointer-events:none;background:url(/textures/resume-grain.png) repeat}.resume_heroBanner__ya1Tz{position:relative;isolation:isolate;background:#4d575e;color:#f7f5ee;--color-primary:#f7f5ee;--color-muted-text:#eeece4;--color-border-strong:rgb(247 245 238/45%);--color-border:rgb(247 245 238/25%)}.resume_heroBanner__ya1Tz:before{z-index:-1;opacity:.08;mix-blend-mode:soft-light}.resume_heroMarkLayer__yKQax{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#fff;opacity:.05;-webkit-mask:url(/_next/static/media/primary-logo.318b7d58.png) no-repeat right max(3vw,24px) center /min(38vw,510px) auto;mask:url(/_next/static/media/primary-logo.318b7d58.png) no-repeat right max(3vw,24px) center /min(38vw,510px) auto}.resume_page___uvY_ ::-moz-selection{background:var(--color-primary);color:var(--color-accent-7)}.resume_page___uvY_ ::selection{background:var(--color-primary);color:var(--color-accent-7)}.resume_page___uvY_ a,.resume_page___uvY_ button{-webkit-tap-highlight-color:transparent}.resume_page___uvY_ a:focus-visible,.resume_page___uvY_ button:focus-visible{outline:2px solid currentColor;outline-offset:6px}.resume_sheet__DuA0y{width:100%;max-width:1200px;padding:0 40px;margin:0 auto}.resume_toolbar__7ajJD{height:100px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border-strong);font-size:12px}.resume_toolbar__7ajJD a,.resume_toolbar__7ajJD button,.resume_toolbar__7ajJD>div{display:flex;align-items:center;gap:10px}.resume_toolbar__7ajJD>div{gap:22px}.resume_toolbar__7ajJD button{justify-content:center;width:40px;height:40px;cursor:pointer;border:1px solid var(--color-border);border-radius:50%}.resume_toolbar__7ajJD svg{width:16px;height:16px}.resume_download__oW7vK{font-weight:600}.resume_hero__KtXub{position:relative;z-index:1;display:grid;grid-template-columns:360px minmax(0,1fr);grid-template-rows:330px;gap:55px;height:330px;align-items:center}.resume_portrait__0zD0Y{position:relative;top:-14px;z-index:1;width:350px;padding:9px;border:1px solid var(--color-border-strong);margin:28px 0 0 22px;background:#4d575e;box-shadow:0 22px 45px rgb(0 0 0/15%);transform:rotate(-2deg)}.resume_portrait__0zD0Y img{display:block;width:100%;aspect-ratio:1;height:auto;-o-object-fit:cover;object-fit:cover;-o-object-position:center 30%;object-position:center 30%;background:var(--color-surface-strong)}.resume_portrait__0zD0Y figcaption{display:flex;justify-content:space-between;gap:8px;padding:10px 2px 1px;font-size:10px}.resume_portrait__0zD0Y figcaption span{color:var(--color-muted-text)}.resume_intro__RLokq{min-width:0}.resume_intro__RLokq h1{font-family:Alex Brush,cursive;font-size:clamp(55px,6.9vw,94px);line-height:1.15;font-weight:400;letter-spacing:0;white-space:nowrap;margin:0 0 2px}.resume_heroActions__nHeAH,.resume_role__RjjrV,.resume_summary__P102Z{margin-left:24px}.resume_role__RjjrV{font-size:15px;font-weight:500;margin-top:0;margin-bottom:14px}.resume_role__RjjrV span{color:var(--color-muted-text);margin:0 7px}.resume_summary__P102Z{max-width:510px;color:var(--color-muted-text);font-size:14px;line-height:1.8}.resume_contactLink__s9UgG{display:inline-flex;align-items:center;gap:12px;margin-top:22px;border-bottom:1px solid var(--color-border-strong);padding-bottom:4px;font-size:12px;font-weight:600}.resume_columns__X7RCX{position:relative;display:grid;grid-template-columns:1fr 2fr;grid-template-rows:max-content 72px auto auto auto;grid-template-areas:"information tools" "information experience" "skills experience" "skills projects" "skills education";gap:36px 70px;padding-top:92px;padding-bottom:60px}.resume_columns__X7RCX:before{content:"";position:absolute;top:92px;bottom:60px;left:calc((100% - 70px) / 3);border-right:1px solid var(--color-border)}.resume_columns__X7RCX>section{min-width:0;align-self:start}.resume_informationSection__Ef8vZ{grid-area:information;padding-right:35px}.resume_toolsSection__flrAO{grid-area:tools}.resume_experienceSection__Q12xn{grid-area:experience}.resume_projectsSection__0d60j{grid-area:projects}.resume_skillsSection__RP1Jc{grid-area:skills;padding-right:35px}.resume_educationSection__GPmCh{grid-area:education}.resume_heading__JC7b1{display:flex;gap:15px;align-items:baseline;font-size:18px;font-weight:600;letter-spacing:-.02em;margin:0 0 23px}.resume_heading__JC7b1>span{font-size:10px;font-weight:400;letter-spacing:0;color:var(--resume-accent);font-variant-numeric:tabular-nums}.resume_contact__n45y_{margin:0}.resume_contact__n45y_>div+div{margin-top:17px}.resume_contact__n45y_ dt,.resume_skills__zQZCP h3{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted-text);margin:0 0 5px;font-weight:500}.resume_contact__n45y_ dd{margin:0;font-size:13px;overflow-wrap:anywhere}.resume_skills__zQZCP>div+div{margin-top:22px}.resume_skills__zQZCP ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 0}.resume_skills__zQZCP li{border:1px solid var(--color-border-strong);padding:3px 9px;font-size:11px}.resume_sideNote__QI7d4{margin-top:55px;font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:21px;line-height:1.5;color:var(--color-muted-text)}.resume_entries__JwNsK{list-style:none;padding:0;margin:0}.resume_job__0yI2L{position:relative;isolation:isolate;padding:0 0 23px 20px;border-left:1px solid var(--color-border-strong)}.resume_job__0yI2L:before{content:"";position:absolute;left:-3px;top:7px;width:5px;height:5px;background:var(--color-primary);border-radius:50%}.resume_job__0yI2L:last-child{padding-bottom:0;border-color:transparent}.resume_entryTop__ONNjZ{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.resume_entryTop__ONNjZ h3{font-size:17px;line-height:1.35;font-weight:600;letter-spacing:-.02em;margin:0}.resume_previousRole__bzFnf{position:relative;margin:16px 0 0 18px;padding:11px 14px 12px 16px;border-left:1px solid var(--resume-accent);border-radius:0 3px 3px 0;background:rgb(77 87 94/9%)}.resume_previousRole__bzFnf:before{content:"";position:absolute;left:-39px;top:19px;width:38px;border-top:1px solid var(--resume-accent)}.resume_previousRoleLabel__Mnh5r{display:block;margin-bottom:4px;color:var(--resume-accent);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.resume_previousRole__bzFnf h4{margin:0;font-size:14px;line-height:1.4;font-weight:600}.resume_previousRole__bzFnf .resume_detail__8olqv{margin-top:5px}.resume_entriesContinued__zBYSR .resume_job__0yI2L:last-child{border-color:var(--color-border-strong)}.resume_earlierExperience__7orp0{position:relative;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .52s cubic-bezier(.22,1,.36,1),opacity .3s ease}.resume_earlierExperience__7orp0:before{content:"";position:absolute;top:0;left:0;height:16px;border-left:1px solid var(--color-border-strong)}.resume_earlierExperienceOpen__TL48q{grid-template-rows:1fr;opacity:1}.resume_earlierExperienceInner__OfQe_{min-height:0;margin-left:-8px;padding-left:8px;overflow:hidden}.resume_earlierExperienceInner__OfQe_ .resume_entries__JwNsK{padding-top:16px}.resume_earlierExperienceOpen__TL48q .resume_job__0yI2L{animation:resume_experienceReveal__vJ_sn .48s cubic-bezier(.22,1,.36,1) both}.resume_earlierExperienceOpen__TL48q .resume_job__0yI2L:nth-child(2){animation-delay:.1s}.resume_earlierExperience__7orp0:not(.resume_earlierExperienceOpen__TL48q) .resume_job__0yI2L{animation:resume_experienceHide__9Hysg .36s cubic-bezier(.4,0,1,1) both}@keyframes resume_experienceReveal__vJ_sn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes resume_experienceHide__9Hysg{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-12px) scale(.98)}}.resume_moreToggle__icAna{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin-top:10px;padding:8px 16px;border:1px solid var(--button-secondary-border);border-radius:3px;background:var(--button-secondary-bg);cursor:pointer;color:var(--button-secondary-text);font:inherit;font-size:12px;font-weight:600;text-align:left}.resume_page___uvY_ .resume_moreToggle__icAna:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.resume_moreToggle__icAna svg{width:15px;height:15px;transition:transform .3s ease}.resume_moreToggle__icAna[aria-expanded=true] svg{transform:rotate(180deg)}.resume_project__meBut h3{font-size:18px;line-height:1.35;font-weight:600;letter-spacing:-.02em;margin:0}.resume_date__KdUiu{flex-shrink:0;font-size:10px;color:var(--resume-accent);font-variant-numeric:tabular-nums}.resume_company__Yq_Nh{font-size:12px;margin:3px 0 5px}.resume_current__PH_6H{font-size:9px;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--color-border-strong);padding:2px 6px;margin-left:10px}.resume_detail__8olqv{font-size:12px;line-height:1.75;color:var(--color-muted-text);margin:0}.resume_project__meBut{display:grid;grid-template-columns:104px minmax(0,1fr) 18px;align-items:start;gap:18px;padding:18px 0;border-top:1px solid var(--color-border);color:inherit;text-decoration:none;transition:background-color .3s ease}.resume_project__meBut:focus-visible,.resume_project__meBut:hover{background:rgb(77 87 94/6%)}.resume_projectImage__LLT1C{display:block;width:104px;aspect-ratio:1;overflow:hidden;border:1px solid var(--color-border);border-radius:3px;background:var(--color-surface-strong)}.resume_projectImage__LLT1C img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.resume_projectBody__7ywSn{min-width:0}.resume_project__meBut>svg{flex-shrink:0;width:18px;height:18px;margin-top:2px}.resume_project__meBut .resume_detail__8olqv{margin-top:4px}.resume_stack__JLtI0{display:flex;flex-wrap:wrap;gap:5px;padding:0;margin:10px 0 0;list-style:none}.resume_stack__JLtI0 li{border:1px solid var(--color-border-strong);border-radius:2px;padding:2px 7px;background:rgb(77 87 94/8%);color:var(--color-primary);font-size:10px;font-weight:600;line-height:1.45}.resume_allProjects__VtB8j{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:11px}.resume_education__1onkq article+article{margin-top:20px}.resume_footer__SmDKD{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--color-border-strong);padding:24px 0 32px;font-size:10px;color:var(--color-muted-text)}.resume_footer__SmDKD>a:last-child{display:inline-flex;gap:7px;align-items:center}@media (min-width:768px) and (max-width:1000px){.resume_columns__X7RCX,.resume_hero__KtXub{-moz-column-gap:35px;column-gap:35px}.resume_columns__X7RCX:before{left:calc((100% - 35px) / 3)}.resume_hero__KtXub{grid-template-columns:300px minmax(0,1fr);grid-template-rows:295px;height:295px}.resume_portrait__0zD0Y{width:300px;margin-left:15px}.resume_intro__RLokq h1{font-size:clamp(55px,7.3vw,70px)}.resume_sheet__DuA0y{padding-inline:30px}.resume_informationSection__Ef8vZ,.resume_skillsSection__RP1Jc{padding-right:20px}.resume_entryTop__ONNjZ{flex-wrap:wrap;gap:2px 10px}}@media (max-width:767px){.resume_sheet__DuA0y{padding:0 24px}.resume_toolbar__7ajJD{height:72px}.resume_toolbar__7ajJD>div{gap:14px}.resume_hero__KtXub{grid-template-columns:1fr;grid-template-rows:auto auto;gap:20px;height:auto;padding-top:0;padding-bottom:30px}.resume_portrait__0zD0Y{top:0;width:min(76vw,290px);margin:-18px auto 0}.resume_portrait__0zD0Y img{aspect-ratio:1}.resume_portrait__0zD0Y figcaption{font-size:9px}.resume_heroMarkLayer__yKQax{-webkit-mask-position:122% 64%;mask-position:122% 64%;-webkit-mask-size:88vw auto;mask-size:88vw auto}.resume_intro__RLokq h1{font-size:clamp(41px,11.7vw,56px);margin-bottom:4px}.resume_heroActions__nHeAH,.resume_role__RjjrV,.resume_summary__P102Z{margin-left:12px}.resume_role__RjjrV{font-size:12px}.resume_role__RjjrV span{margin-inline:3px}.resume_summary__P102Z{font-size:13px}.resume_columns__X7RCX{grid-template-columns:1fr;grid-template-rows:none;grid-template-areas:"information" "tools" "experience" "projects" "skills" "education";gap:36px;padding-top:36px}.resume_columns__X7RCX:before{display:none}.resume_informationSection__Ef8vZ,.resume_skillsSection__RP1Jc{padding-right:0}.resume_skills__zQZCP{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px}.resume_skills__zQZCP>div+div{margin-top:0}.resume_sideNote__QI7d4{display:none}.resume_entryTop__ONNjZ{flex-direction:column;gap:3px}.resume_heading__JC7b1{margin-bottom:20px}.resume_project__meBut{grid-template-columns:76px minmax(0,1fr) 16px;gap:12px}.resume_projectImage__LLT1C{width:76px}.resume_project__meBut h3{font-size:16px}.resume_footer__SmDKD{flex-wrap:wrap}.resume_footer__SmDKD span{order:3;width:100%}}@media (prefers-reduced-motion:reduce){.resume_earlierExperienceOpen__TL48q .resume_job__0yI2L,.resume_earlierExperience__7orp0:not(.resume_earlierExperienceOpen__TL48q) .resume_job__0yI2L,.resume_hero__KtXub{animation:none}.resume_earlierExperience__7orp0,.resume_moreToggle__icAna svg,.resume_project__meBut{transition:none}}.resume_allProjects__VtB8j,.resume_contactLink__s9UgG,.resume_download__oW7vK{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;border:1px solid var(--button-border);padding:10px 16px;border-radius:3px;background:var(--button-primary-bg);color:var(--button-primary-text);font-size:12px;font-weight:600;text-decoration:none}.resume_heroActions__nHeAH{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center;margin-top:26px}.resume_contactLink__s9UgG{margin-top:0}.resume_heroSocials__jipb8{display:flex;gap:0;margin-left:auto}.resume_heroSocials__jipb8 a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent}.resume_heroSocials__jipb8 svg{width:18px;height:18px}.resume_allProjects__VtB8j:hover,.resume_contactLink__s9UgG:hover,.resume_download__oW7vK:hover,.resume_moreToggle__icAna:hover{background:var(--button-primary-hover-bg)}.resume_allProjects__VtB8j:active,.resume_contactLink__s9UgG:active,.resume_download__oW7vK:active,.resume_moreToggle__icAna:active{background:var(--button-active-bg)}.resume_page___uvY_ .resume_allProjects__VtB8j:focus-visible,.resume_page___uvY_ .resume_contactLink__s9UgG:focus-visible{outline-color:var(--color-primary)}@media (max-width:767px){.resume_heroActions__nHeAH{gap:16px}.resume_download__oW7vK{padding-inline:12px}}.resume_heroSocials__jipb8 a:focus-visible,.resume_heroSocials__jipb8 a:hover{opacity:.75}.resume_job__0yI2L:after{content:"";position:absolute;inset:-7px -10px 13px 7px;z-index:-1;border-radius:4px;background:var(--resume-accent);opacity:0;pointer-events:none;transition:opacity .22s ease}.resume_job__0yI2L:last-child:after{bottom:-7px}.resume_job__0yI2L:before{transition:transform .22s ease,background-color .22s ease}@media (hover:hover) and (pointer:fine){.resume_job__0yI2L:hover:after{opacity:.1}.resume_job__0yI2L:hover:before{transform:scale(2.2);background:var(--resume-accent)}}@media (prefers-reduced-motion:reduce){.resume_job__0yI2L:after,.resume_job__0yI2L:before{transition:none}.resume_job__0yI2L:hover:before{transform:none}}.resume_localNav__9862b{display:flex;gap:clamp(8px,1.5vw,22px);flex-wrap:wrap}.resume_localNav__9862b a{min-height:44px;display:inline-flex;align-items:center}@media (max-width:700px){.resume_toolbar__7ajJD{height:auto;min-height:100px;flex-wrap:wrap;gap:4px 16px;padding-block:14px}.resume_localNav__9862b{order:3;width:100%;justify-content:space-between}}.resume_allProjects__VtB8j{background:var(--button-secondary-bg);color:var(--button-secondary-text);border-color:var(--button-secondary-border)}.resume_allProjects__VtB8j:hover,.resume_moreToggle__icAna:hover{background:var(--button-secondary-hover-bg)}.resume_allProjects__VtB8j:active,.resume_moreToggle__icAna:active{background:var(--button-secondary-active-bg)}