.about-page{--ink: #1e1e1e;--green: #307666;--mint: #e4f4f2;--kicker: #dadade;box-sizing:border-box;min-height:100dvh;padding-block:var(--chapter-pad, 72px);background:#fff;color:var(--ink);font-family:DM Sans,Helvetica Neue,sans-serif}.about-page *,.about-page *:before,.about-page *:after{box-sizing:border-box}.about-bar{display:flex;justify-content:flex-end;width:min(1728px,100%);margin:0 auto;padding:24px 0}.about-bar .hello-nav{gap:40px}.about-bar .hello-nav-link{font-size:16px;letter-spacing:0;line-height:normal}.about-page main{padding-inline:var(--gutter, 65px);display:flex;flex-direction:column;gap:28px}.about-hero{display:grid;width:100%;grid-template-columns:minmax(0,1.44fr) minmax(0,1fr);column-gap:clamp(48px,4vw,57.6px);align-items:start;justify-content:start}.about-strengths{margin-left:0;min-width:0}.section-kicker{display:flex;align-items:center;gap:24px;margin:0;color:var(--kicker);font-size:16px;font-weight:500;line-height:normal;letter-spacing:.04em;text-transform:uppercase}.section-rule{display:block;width:112px;height:2px;background:var(--kicker)}.section-rule-long{width:240px}.about-title,.about-strengths h2,.about-references h2{margin:0;color:var(--ink);font-family:Gloock,Times New Roman,serif;font-weight:400}.about-title{margin-top:8px;font-size:var(--display, 156px);line-height:.82;letter-spacing:var(--display-track, -.03em)}.about-roles{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0 0;padding:0;list-style:none}.about-roles li{color:var(--ink);font-size:20px;font-weight:500;line-height:normal;text-transform:uppercase}.about-roles .is-lead{color:var(--green)}.about-bio{margin-top:32px;max-width:none}.about-bio p,.reference-quote p,.strength p{margin:0;font-family:Inter,DM Sans,sans-serif;font-size:16px;font-weight:400;line-height:24px}.about-bio p+p,.reference-quote p+p{margin-top:24px}.about-strengths h2,.about-references h2{margin-top:12px;font-size:var(--subhead, 64px);line-height:.9;letter-spacing:var(--subhead-track, -.03em)}.strength-list{display:flex;flex-direction:column;gap:16px;width:100%;margin:32px 0 0}.reference-row>div{height:100%}.strength{display:flex;align-items:flex-start;gap:16px;width:100%;min-width:0;padding:0}.strength-icon{display:grid;flex-shrink:0;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:var(--mint);color:var(--green)}.strength-icon svg{display:block;width:22px;height:22px;overflow:visible;fill:none;stroke:currentColor;stroke-width:calc(1.75 * 24 / 22);stroke-linecap:round;stroke-linejoin:round}.strength-copy{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0}.strength h3{margin:0;color:var(--ink);font-size:20px;font-weight:600;line-height:1.25;text-transform:uppercase}.about-references{padding-top:32px}.about-references h2{margin-bottom:0}.references-subtitle{margin:16px 0 28px;color:var(--ink);font-size:20px;font-weight:500;line-height:normal;text-transform:uppercase}.reference-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}.reference-card{display:grid;grid-template-columns:104px 1px minmax(0,1fr);column-gap:16px;align-items:stretch;height:100%;min-width:0}.reference-identity{display:flex;flex-direction:column;align-items:stretch;min-width:0;gap:24px}.reference-portrait{display:block;width:100%;height:auto;aspect-ratio:1;flex-shrink:0;border-radius:16px;object-fit:cover;object-position:center;background:#fff;box-shadow:inset 0 0 0 1px #30766629}.reference-id-copy{display:flex;flex-direction:column;gap:0;min-width:0}.reference-name,.reference-role,.reference-company{margin:0}.reference-name{color:var(--green);font-size:15px;font-weight:600;line-height:1.3;letter-spacing:.02em;text-transform:uppercase}.reference-role{margin-top:6px;color:var(--ink);font-size:13px;font-weight:400;line-height:1.4;letter-spacing:normal;text-transform:none}.reference-company{margin-top:4px;color:#307666b8;font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}.reference-divider{width:1px;background:var(--rule)}.reference-content{display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:100%}.reference-pull{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;margin:0}.reference-mark{color:var(--green);font-family:Gloock,Times New Roman,serif;font-size:40px;line-height:.7}.reference-pull p{margin:0;color:var(--ink);font-family:Gloock,Times New Roman,serif;font-size:25px;font-weight:400;line-height:1.28}.reference-excerpt{margin:16px 0 0;color:var(--ink);font-family:Inter,DM Sans,sans-serif;font-size:16px;font-weight:400;line-height:24px}.reference-full{display:grid;grid-template-rows:0fr}.reference-full.is-open{grid-template-rows:auto}.reference-full-inner{overflow:hidden}.reference-full.is-open .reference-full-inner{padding-top:14px}.reference-full p{margin:0;color:var(--ink);font-family:Inter,DM Sans,sans-serif;font-size:16px;font-weight:400;line-height:24px}.reference-full p+p{margin-top:16px}.reference-foot{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:auto;padding-top:16px}.reference-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;min-width:0}@media(min-width:1440px){.reference-tags{flex-wrap:nowrap}.reference-tags .pill{flex-shrink:0;padding-inline:6px}}.reference-toggle{display:inline-flex;align-items:center;flex-shrink:0;align-self:flex-end;gap:6px;margin-top:0;margin-left:0;padding:0;border:0;background:none;color:var(--green);font-family:inherit;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer}.reference-toggle-label{text-decoration:underline;text-underline-offset:3px}.reference-toggle:focus-visible{outline:2px solid var(--green);outline-offset:3px}@media(max-width:900px){.reference-row{grid-template-columns:1fr}}@media(max-width:860px){.about-hero{grid-template-columns:minmax(0,1fr);row-gap:48px}}@media(max-width:680px){.strength-icon{width:40px;height:40px}.strength-icon svg{width:18px;height:18px}}@media(max-width:600px){.reference-card{grid-template-columns:minmax(0,1fr);row-gap:16px}.reference-divider{display:none}.reference-identity{flex-direction:row;align-items:center;gap:14px}.reference-portrait{width:72px;height:72px;aspect-ratio:auto;border-radius:12px}}@media(prefers-reduced-motion:reduce){.about-page *{animation:none!important;transition:none!important}}.hello-page{--ink: #1e1e1e;--ink-soft: #1f2725;--green: #307666;box-sizing:border-box;min-height:calc(100dvh - var(--site-nav, 56px));height:auto;display:flex;flex-direction:column;padding:calc(clamp(20px,2.2dvh,32px) + 24px) 0 clamp(6px,1dvh,12px);background:#fff;color:var(--ink);font-family:DM Sans,Helvetica Neue,sans-serif;overflow:visible}body:has(.hello-page){background:#fff;background-image:none;color:#1e1e1e;font-family:DM Sans,Helvetica Neue,sans-serif}.hello-bar{width:min(var(--page, 1440px),100%);margin-inline:auto}.hello-bar{display:flex;justify-content:flex-end;flex:none;padding:0 0 64px}.hello-nav{display:flex;flex-wrap:nowrap;justify-content:flex-end;align-items:flex-start;gap:clamp(12px,2vw,36px)}.hello-nav-link{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--ink);font-size:clamp(12px,1.45dvh,16px);font-weight:500;line-height:1.2;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.hello-nav-link[aria-current=page]{color:var(--green)}.hello-nav-link:hover,.hello-nav-link:focus-visible{color:var(--green)}.hello-nav-link:focus-visible{outline:2px solid var(--green);outline-offset:3px}.hello-nav-rule{display:block;width:64px;height:2px}.hello-main{--hello-gap: 24px;flex:1;min-height:0;padding-inline:var(--hello-inset, 28px);display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr) minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--hello-gap);row-gap:54px;align-items:start;align-content:start}.hello-intro{grid-column:1 / span 2;grid-row:1;display:flex;flex-direction:column;gap:6px;min-width:0}.name-lockup{position:relative;min-height:0;width:100%;height:auto;margin:0}.name-lockup img{display:block;width:100%;height:auto;max-width:100%;max-height:none;object-fit:fill;object-position:left center}.name-wordmark{clip-path:polygon(0 0,70.6% 0,70.6% 50.5%,100% 50.5%,100% 100%,0 100%)}.name-lockup .name-bubble{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;clip-path:inset(3.6% 1.2% 49.3% 70.6%)}.hello-role{margin:0;padding-left:0;width:max-content;max-width:100%;min-width:0;color:var(--ink-soft);font-size:16px;font-weight:500;line-height:1.25;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.hello-position{display:flex;flex-wrap:wrap;align-items:center;column-gap:14px;row-gap:4px;width:100%;max-width:none;margin:0;color:var(--ink);font-family:DM Sans,Helvetica Neue,sans-serif;font-size:16px;font-weight:500;line-height:20px;letter-spacing:.01em;text-transform:none}.hello-position-phrase{white-space:nowrap}.hello-position-rule{flex:none;width:1px;height:16px;background:var(--green)}.hello-position-rule[hidden]{display:none}.hello-lower{display:contents}.hello-quote{grid-column:1;grid-row:2;width:100%;min-width:0;margin:0;align-self:start;container-type:inline-size;color:var(--ink);font-family:Gloock,Times New Roman,serif;font-weight:400;line-height:1.16}.hello-quote-text{display:block;font-size:clamp(32px,8.82cqi,84px);line-height:1.16}.hello-page .mini-rel{display:contents}.hello-page .mini-rel-copy{position:relative;top:auto;left:auto;grid-column:2;grid-row:2;width:auto;max-width:none;transform:none;align-self:start;padding:0 4px 0 16px}.hello-page .portrait-slot{grid-column:3;grid-row:2;width:100%;height:auto;min-height:0;align-self:start;justify-content:flex-end;align-items:flex-start;container-type:normal;overflow:visible;z-index:4}.hello-page .portrait{--rel-face: 27%;--rel-sole: 9.375%;position:relative;width:100%;height:auto;max-height:none;aspect-ratio:1024 / 1536;overflow:visible;margin-top:calc(-1 * var(--rel-face));margin-bottom:calc(-1 * var(--rel-sole));transform:none}.hello-page .pour-rig{overflow:visible;z-index:6}.hello-great{color:var(--green)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-height:900px)and (min-width:900px){.hello-main{row-gap:20px}}@media(max-height:800px)and (min-width:900px){.hello-page{padding-top:12px}.hello-main{row-gap:8px}.hello-page .portrait{margin-top:calc(-1 * var(--rel-face) - 6vh)}}@media(max-width:899px)and (min-width:600px){.hello-page{height:auto;min-height:calc(100dvh - var(--site-nav, 56px));padding:20px 0 0;overflow:visible}.hello-main{display:grid;flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto;align-content:start;column-gap:24px;row-gap:40px;align-items:start}.hello-intro,.hello-quote,.hello-lower,.name-lockup{min-width:0;max-width:100%}.hello-intro,.hello-quote{grid-column:1 / -1}.hello-lower{display:contents}.hello-quote{grid-row:2;max-width:none}.hello-quote-text{font-size:clamp(28px,4.2vw,40px);line-height:1.16}.hello-quote br{display:none}.hello-page .mini-rel{display:contents}.hello-page .mini-rel-copy{order:0;grid-column:1;grid-row:3;position:relative;top:auto;left:auto;width:auto;max-width:none;transform:none;align-self:start;border-left:1px solid rgba(30,30,30,.16);padding:0 4px 0 16px}.hello-page .portrait-slot{position:relative;order:0;grid-column:2;grid-row:3;align-self:start;width:100%;height:auto;justify-content:flex-end;container-type:normal;overflow:visible}.hello-page .portrait{--rel-face: 6.45%}.name-lockup img{width:100%;height:auto;max-height:none}}@media(max-width:599px){.hello-page{height:auto;min-height:100dvh;padding:16px 0 32px;overflow:visible}.hello-nav{flex-wrap:wrap;gap:12px 16px}.hello-main{display:flex;flex-direction:column;gap:20px}.hello-intro{grid-column:auto}.hello-lower{display:grid;grid-template-columns:1fr}.hello-quote{grid-column:auto;grid-row:auto}.hello-page .mini-rel{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;height:auto}.hello-page .mini-rel-copy,.hello-page .portrait-slot{grid-column:auto;grid-row:auto;order:0;width:100%}.hello-page .mini-rel-copy{position:relative;top:auto;left:auto;transform:none;border-left:0;padding:0}.hello-page .portrait-slot{width:min(100%,480px);max-width:none;margin-inline:auto;container-type:normal;overflow:visible;justify-content:center}.hello-page .portrait{--rel-face: 6.45%;position:relative;inset:auto;transform:none;width:100%;height:auto;max-height:none}.hello-intro,.hello-lower,.name-lockup,.hello-page .mini-rel{width:100%;min-width:0;max-width:100%}.name-lockup{height:auto}.name-lockup img{width:100%;height:auto;max-width:100%;max-height:none}.hello-role{width:100%;max-width:100%;white-space:normal;font-size:clamp(13px,3.7vw,16px);letter-spacing:.04em;line-height:1.35;padding-left:0}.hello-lower{grid-template-columns:1fr;row-gap:20px;padding-left:0}.hello-quote{width:100%;max-width:none}.hello-quote-text{font-size:clamp(30px,10.4cqi,44px);line-height:1.15}.hello-page .energy-message{min-height:3.9em}.hello-quote br{display:none}}@media(min-width:900px){.hello-page{min-height:calc(100dvh - var(--site-nav, 56px));height:auto;padding-bottom:24px;overflow:visible}.hello-main{flex:1;min-height:0;align-content:start}.hello-page .portrait-slot{position:relative;align-self:start;height:auto;overflow:visible}.hello-page .portrait{position:relative;inset:auto;width:100%;max-height:none;transform:none}}.connect-page{--ink: #1e1e1e;--green: #307666;--mint: #e4f4f2;--kicker: #dadade;box-sizing:border-box;padding-block:var(--chapter-pad, 72px) calc(clamp(24px,3vh,40px) + 24px);background:#fff;color:var(--ink);font-family:DM Sans,Helvetica Neue,sans-serif}.connect-page *,.connect-page *:before,.connect-page *:after{box-sizing:border-box}.connect-page main{padding-inline:var(--gutter, 65px)}.connect-heading .section-kicker{padding-left:0}.connect-follow h1{margin:12px 0 0;color:var(--ink);font-family:Gloock,Times New Roman,serif;font-size:var(--display, 156px);font-weight:400;line-height:.82;letter-spacing:var(--display-track, -.03em)}.connect-subtitle{margin:20px 0 0;padding-left:0;color:var(--ink);font-size:20px;font-weight:500;line-height:normal;text-transform:uppercase}.connect-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;row-gap:16px;align-items:start}.connect-copy{grid-column:1;grid-row:1;min-width:0}.connect-intro{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:24px;row-gap:24px;align-items:center;margin-top:24px;padding-left:0}.connect-intro p{margin:0;color:var(--ink);font-family:Inter,Helvetica Neue,sans-serif;font-size:16px;font-weight:400;line-height:24px}.connect-icon{display:block;width:48px;height:48px;border:0;border-radius:50%;background:var(--mint);transition:background-color .22s var(--motion-ease, ease)}.connect-icon img{display:block;width:48px;height:48px}.connect-icon:hover,.connect-icon:focus-visible{background:#d3ebe6;opacity:1}.connect-icon:focus-visible{outline:2px solid var(--green);outline-offset:3px}.connect-form{display:flex;grid-column:2;grid-row:1;flex-direction:column;justify-content:flex-start;align-self:start;gap:8px;height:auto;min-height:0;padding:16px;border-radius:16px;background:var(--mint)}.connect-fields{display:flex;flex:none;flex-direction:column;gap:8px;min-height:0}.connect-form label{display:flex;flex-direction:column;gap:6px}.connect-message{flex:none;min-height:0}.connect-form input,.connect-form textarea{width:100%;margin:0;padding:16px;border:0;border-radius:8px;outline:none;background-color:#fff;box-shadow:inset 0 0 0 1px #d4e5e1;color:#1e1e1e;caret-color:#1e1e1e;font-family:Inter,Helvetica Neue,sans-serif;font-size:14px;font-weight:500;line-height:20px}.connect-form textarea{flex:none;height:52px;min-height:52px;resize:vertical}.connect-form input::placeholder,.connect-form textarea::placeholder{color:#6d7c78;opacity:1}.connect-form input:focus,.connect-form textarea:focus{outline:none}.connect-form input:focus-visible,.connect-form textarea:focus-visible{background-color:#fff;box-shadow:inset 0 0 0 2px #307666}.connect-form input[aria-invalid=true],.connect-form textarea[aria-invalid=true],.connect-form input[aria-invalid=true]:hover,.connect-form textarea[aria-invalid=true]:hover{box-shadow:inset 0 0 0 1px #8a3d32}.connect-form input[aria-invalid=true]:focus-visible,.connect-form textarea[aria-invalid=true]:focus-visible{box-shadow:inset 0 0 0 2px #307666}.connect-form input:-webkit-autofill,.connect-form input:-webkit-autofill:hover,.connect-form textarea:-webkit-autofill,.connect-form textarea:-webkit-autofill:hover,.connect-form input:autofill,.connect-form textarea:autofill{-webkit-text-fill-color:#1e1e1e;caret-color:#1e1e1e;transition:none;box-shadow:inset 0 0 0 1px #d4e5e1,inset 0 0 0 1000px #fff}.connect-form input:-webkit-autofill:focus-visible,.connect-form textarea:-webkit-autofill:focus-visible,.connect-form input:autofill:focus-visible,.connect-form textarea:autofill:focus-visible{-webkit-text-fill-color:#1e1e1e;caret-color:#1e1e1e;box-shadow:inset 0 0 0 2px #307666,inset 0 0 0 1000px #fff}.connect-form button{width:100%;margin:0;padding:16px;border:0;border-radius:8px;background:var(--green);color:#e4f4f2;font-family:Inter,Helvetica Neue,sans-serif;font-size:14px;font-weight:500;line-height:20px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.connect-form button:hover:not(:disabled){background:#28685a}.connect-form button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.connect-form button:disabled{cursor:progress;opacity:.8}.connect-error,.connect-status{display:flex;align-items:flex-start;gap:6px;margin:0;color:#8a3d32;font-family:Inter,Helvetica Neue,sans-serif;font-size:14px;font-weight:500;line-height:20px}.connect-error svg,.connect-status svg{flex:none;width:14px;height:14px;margin-top:3px}.connect-status{color:var(--ink);min-height:0}.connect-status:empty{display:none}.connect-status[data-state=success]{color:var(--ink)}.connect-status[data-state=success] svg{color:var(--green)}.connect-status[data-state=error]{color:#8a3d32}.connect-status a{color:var(--green)}.connect-sr,.connect-gotcha{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:861px){.connect-layout{grid-template-rows:auto auto;row-gap:0}.connect-copy{display:grid;grid-template-rows:subgrid;grid-row:1 / -1}.connect-heading{display:contents}.connect-heading .reveal{grid-row:1}.connect-heading .section-kicker{grid-row:1;margin-bottom:12px}.connect-follow{grid-row:2}.connect-follow h1{margin-top:0;margin-bottom:20px}.connect-subtitle{margin-top:0}.connect-form{grid-row:2;align-self:stretch;height:100%}.connect-fields,.connect-message{flex:1}.connect-form textarea{flex:1 1 auto;height:auto;min-height:52px}}@media(max-width:860px){.connect-heading .section-kicker,.connect-subtitle,.connect-intro{padding-left:0}.connect-intro{grid-template-columns:40px minmax(0,1fr);column-gap:16px}.connect-icon,.connect-icon img{width:40px;height:40px}.connect-layout{grid-template-columns:minmax(0,1fr)}.connect-copy,.connect-form{grid-column:1;width:100%}.connect-copy{grid-row:1}.connect-form{grid-row:2}.connect-form input,.connect-form textarea,.connect-form button{font-size:16px}}@media(prefers-reduced-motion:reduce){.connect-page *{animation:none!important;transition:none!important}}.portfolio-page{--ink: #1e1e1e;--kicker: #dadade;box-sizing:border-box;padding-block:var(--chapter-pad, 72px) clamp(28px,4vh,48px);background:#fff;color:var(--ink);font-family:DM Sans,Helvetica Neue,sans-serif}.portfolio-page *,.portfolio-page *:before,.portfolio-page *:after{box-sizing:border-box}.portfolio-page main{padding-inline:var(--gutter, 65px)}.portfolio-heading .section-kicker{padding-left:0}.portfolio-heading h1{margin:12px 0 0;color:var(--ink);font-family:Gloock,Times New Roman,serif;font-size:var(--display, 156px);font-weight:400;line-height:.82;letter-spacing:var(--display-track, -.03em)}.portfolio-studies{margin-top:20px}.portfolio-soon{margin:0;padding-left:0;color:var(--ink);font-size:20px;font-weight:500;line-height:normal;text-transform:uppercase}@media(prefers-reduced-motion:reduce){.portfolio-page *{animation:none!important;transition:none!important}}.resume-page{--ink: #1e1e1e;--green: #307666;--mint: #e4f4f2;--kicker: #dadade;box-sizing:border-box;padding-block:var(--chapter-pad, 72px);background:#fff;color:var(--ink);font-family:DM Sans,Helvetica Neue,sans-serif}.resume-page *,.resume-page *:before,.resume-page *:after{box-sizing:border-box}.resume-page main{padding-inline:var(--gutter, 65px);display:flex;flex-direction:column;gap:32px}.resume-heading .section-kicker,.resume-block .section-kicker{padding-left:0}.resume-kicker.is-card{color:#30766640;padding-left:0}.resume-kicker.is-card .section-rule{background:var(--rule)}.resume-title,.resume-page h2{margin:8px 0 0;color:var(--ink);font-family:Gloock,Times New Roman,serif;font-weight:400}.resume-title{font-size:var(--display, 156px);line-height:.82;letter-spacing:var(--display-track, -.03em)}.resume-subtitle{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0 0;padding-left:0;color:var(--ink);font-size:20px;font-weight:500;line-height:normal;text-transform:uppercase}.resume-page h2{font-size:var(--subhead, 64px);line-height:.9;letter-spacing:var(--subhead-track, -.03em)}.resume-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(min(300px,100%),400px);column-gap:clamp(48px,4vw,57.6px);align-items:start}.resume-main,.resume-side,.resume-block{display:flex;flex-direction:column;min-width:0}.resume-main{gap:28px}.resume-block{gap:32px}.resume-side{gap:32px;padding-top:36px}.resume-summary{margin:0;padding-left:0;color:var(--ink);font-family:Inter,Helvetica Neue,sans-serif;font-size:16px;font-weight:400;line-height:24px}.resume-summary strong{font-weight:700}.resume-role-body strong{font-weight:600}.resume-roles{display:flex;flex-direction:column;gap:0}.resume-role{display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:22px;align-items:stretch}.resume-rail{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:1px}.resume-rail img{display:block;width:16px;height:16px}.resume-line{flex:1;width:2px;min-height:24px;background:#e4f4f2}.resume-role-body{display:flex;flex-direction:column;gap:0;min-width:0;padding-bottom:36px;border-bottom:1px solid rgba(48,118,102,.16);margin-bottom:36px;background:transparent}.resume-roles>:last-child .resume-role-body{margin-bottom:0;padding-bottom:0;border-bottom:0}.resume-company{margin:0;color:var(--green);font-family:Inter,Helvetica Neue,sans-serif;font-size:13px;font-weight:400;line-height:1.4}.resume-facts p{margin:0;color:var(--ink);font-family:Inter,Helvetica Neue,sans-serif;font-size:14px;font-weight:400;line-height:20px}.resume-role-body h3{margin:4px 0 0;color:var(--green);font-family:DM Sans,Helvetica Neue,sans-serif;font-size:18px;font-weight:600;line-height:1.3;text-transform:uppercase}.resume-facts h3,.resume-skill-group h3{margin:0;color:var(--ink);font-family:DM Sans,Helvetica Neue,sans-serif;font-size:20px;font-weight:500;line-height:normal;text-transform:capitalize}.resume-highlights,.resume-full ul{margin:8px 0 0;padding:0 0 0 18px;color:var(--ink);font-family:Inter,Helvetica Neue,sans-serif;font-size:15px;font-weight:400;line-height:1.5}.resume-full ul{margin:0;font-size:16px;line-height:24px}.resume-highlights li+li,.resume-full li+li{margin-top:8px}.resume-scope{margin:10px 0 0;color:var(--ink);font-family:Inter,Helvetica Neue,sans-serif;font-size:15px;font-weight:400;line-height:1.5}.resume-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:14px 0 0;padding:14px 0;border-top:1px solid rgba(48,118,102,.16);border-bottom:1px solid rgba(48,118,102,.16);background:transparent}.resume-metrics.is-single{grid-template-columns:minmax(0,1fr);align-items:center}.resume-metrics.is-single .resume-metric{display:flex;align-items:center;gap:16px}.resume-metric+.resume-metric{padding-left:24px;border-left:1px solid rgba(48,118,102,.16)}.resume-metric-value,.resume-metric-label{margin:0}.resume-metric-value{color:var(--green);font-family:Gloock,Times New Roman,serif;font-size:34px;font-weight:400;line-height:1}.resume-metric-label{margin-top:6px;color:var(--ink);font-family:Inter,Helvetica Neue,sans-serif;font-size:13px;font-weight:400;line-height:1.35}.resume-metrics.is-single .resume-metric-label{margin-top:0}.resume-selected-label{margin:16px 0 0;color:var(--ink);font-size:12px;font-weight:600;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}.resume-full{display:grid;grid-template-rows:0fr}.resume-full.is-open{grid-template-rows:auto}.resume-full-inner{overflow:hidden}.resume-full.is-open .resume-full-inner{padding-top:12px}.resume-role-toggle{display:inline-flex;align-items:center;align-self:flex-end;gap:6px;margin-top:12px;padding:0;border:0;background:none;color:var(--green);font-family:inherit;font-size:14px;font-weight:500;line-height:1.2;cursor:pointer}.resume-role-toggle span{text-decoration:underline;text-underline-offset:3px}.resume-role-toggle svg{display:block;transition:transform var(--motion-hover, .24s) var(--motion-ease, ease)}.resume-role-toggle svg.is-open{transform:rotate(180deg)}.resume-role-toggle:focus-visible{outline:2px solid var(--green);outline-offset:3px}@media(max-width:360px){.resume-metrics:not(.is-single){grid-template-columns:1fr}.resume-metrics:not(.is-single) .resume-metric+.resume-metric{padding-top:12px;padding-left:0;border-left:0;border-top:1px solid rgba(48,118,102,.16)}}.resume-earlier-wrap{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.resume-earlier-panel{display:grid;width:100%;grid-template-rows:0fr}.resume-earlier-panel.is-open{grid-template-rows:auto}.resume-earlier-panel-inner{overflow:hidden}.resume-earlier-panel.is-open .resume-earlier-panel-inner{padding-top:32px}.resume-earlier-list{margin:10px 0 0;padding:0 0 0 18px;color:var(--ink);font-family:Inter,Helvetica Neue,sans-serif;font-size:16px;font-weight:400;line-height:24px}.resume-earlier{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:0;padding:0;border:0;background:transparent;color:var(--green);font-family:DM Sans,Helvetica Neue,sans-serif;font-size:20px;font-weight:500;line-height:normal;text-transform:capitalize;cursor:pointer}.resume-earlier svg{display:block;transition:transform var(--motion-fast, .2s) var(--motion-ease, cubic-bezier(.22, 1, .36, 1))}.resume-earlier svg.is-open{transform:rotate(90deg)}.resume-earlier:hover,.resume-earlier:focus-visible{color:#28685a}.resume-earlier:focus-visible,.resume-download:focus-visible{outline:2px solid var(--green);outline-offset:3px}.resume-download{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;margin:0;padding:16px;border:0;border-radius:8px;background:var(--green);color:#e4f4f2;text-decoration:none;font-family:Inter,Helvetica Neue,sans-serif;font-size:14px;font-weight:500;line-height:20px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.resume-download img{display:block;width:14px;height:14px}.resume-download:hover{background:#28685a}.resume-card h2{margin-bottom:32px}.resume-skill-groups,.resume-facts{display:flex;flex-direction:column;gap:32px}.resume-facts{gap:33px}.resume-skill-group{display:flex;flex-direction:column;gap:16px}.resume-skill-group ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}@media(max-width:960px){.resume-layout{display:flex;flex-direction:column;gap:32px}.resume-side{display:contents}.resume-download,.resume-main,.resume-card{width:100%}.resume-download{order:1;margin-top:8px}.resume-main{order:2}.resume-card{order:3}}@media(max-width:860px){.resume-skill-group li{white-space:normal}}@media(prefers-reduced-motion:reduce){.resume-page *{animation:none!important;transition:none!important}}:root{--paper: #faf9f6;--ink: #1c1b19;--muted: #6a645d;--line: #d8d2c8;--note-yellow: #f3e18a;--note-pink: #f3c4cc;--note-blue: #c5d6ef;--note-green: #c5dfc0;--note-orange: #f3cf9c;--note-lavender: #d5cce9;--note-ink: #2a2622;--grid-dot: rgba(48, 42, 36, .14);--shadow-note: 3px 7px 16px rgba(40, 32, 24, .12);--font-ui: "Source Sans 3", Helvetica, sans-serif;--font-display: "Newsreader", "Times New Roman", serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background-color:var(--paper);background-image:radial-gradient(var(--grid-dot) 1.05px,transparent 1.2px);background-size:22px 22px;background-attachment:fixed;color:var(--ink);font-family:var(--font-ui)}button,a{font:inherit}a{color:inherit;text-decoration:none}.page{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.topbar,.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 5vw;font-size:12px;letter-spacing:.08em}.identity{font-family:var(--font-ui);font-weight:600;letter-spacing:.12em;text-transform:uppercase}.top-nav a{color:var(--muted)}.top-nav a:hover,.top-nav a:focus-visible{color:var(--ink)}.intro{position:relative;flex:1;display:flex;flex-direction:column;min-height:calc(100dvh - 76px)}.work{padding:12px 5vw 64px}.work h2{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:500;font-optical-sizing:auto;letter-spacing:-.02em}.work-note{max-width:36rem;color:var(--muted)}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.work-card{padding:18px;border:1px dashed var(--line);background:color-mix(in srgb,var(--paper) 80%,white)}.work-card span{font-size:11px;letter-spacing:.14em;color:var(--muted)}.work-card h3{margin:10px 0 8px;font-family:var(--font-display);font-size:1.05rem;font-weight:500;letter-spacing:-.015em}.work-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.45}.footer span{max-width:40rem}@media(max-width:900px){body{background-size:18px 18px}.topbar,.footer{padding:18px 20px}.work-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}html{scroll-behavior:smooth}.site{--page: 1440px;--display: clamp(84px, 6.4vw, 92.16px);--display-track: -.03em;--subhead: clamp(36px, 2.8vw, 40.32px);--subhead-track: -.03em;--chapter-pad: clamp(48px, 6vh, 72px);--gutter: clamp(24px, 4.5vw, 64.8px);--hello-inset: clamp(16px, 2vw, 28px);--ink: #1e1e1e;--green: #307666;--mint: #e4f4f2;--pill-fill: rgba(48, 118, 102, .2);--pill-line: rgba(48, 118, 102, .8);--rule: rgba(48, 118, 102, .25);background:#fff;color:#1e1e1e}.site-nav,.hello-main,.about-page main,.resume-page main,.portfolio-page main,.connect-page main{width:min(var(--page),100%);margin-inline:auto;box-sizing:border-box}.site-bar{position:sticky;top:0;z-index:40;box-sizing:border-box;width:100%;padding:clamp(8px,1.5dvh,18px) 0 12px;background:#fff}.site-nav{position:relative;display:flex;justify-content:flex-end;padding-inline:var(--hello-inset)}.site-menu{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin:-8px 0;padding:0;border:0;background:transparent;color:#1e1e1e;cursor:pointer}.site-menu:focus-visible{outline:2px solid #307666;outline-offset:3px}.site-menu-mark,.site-menu-mark:before,.site-menu-mark:after{display:block;width:22px;height:1.5px;background:currentColor;content:""}.site-menu-mark{position:relative}.site-menu-mark:before,.site-menu-mark:after{position:absolute;left:0}.site-menu-mark:before{top:-7px}.site-menu-mark:after{top:7px}.site-nav.is-open .site-menu-mark{background:transparent}.site-nav.is-open .site-menu-mark:before{top:0;transform:rotate(40deg)}.site-nav.is-open .site-menu-mark:after{top:0;transform:rotate(-40deg)}#hello,#about,#resume,#portfolio,#connect{scroll-margin-top:var(--site-nav, 56px)}@media(max-width:860px){.site{--display: clamp(56px, 14vw, 84px);--subhead: clamp(36px, 7vw, 48px);--chapter-pad: clamp(48px, 6vh, 64px)}.site-menu{display:inline-flex}.site-nav.is-open{flex-direction:column;align-items:flex-end;gap:8px}.site-bar .hello-nav{display:none;position:static;flex-direction:column;align-items:flex-end;gap:16px;width:100%;margin:0;padding:8px 0 12px;background:#fff}.site-nav.is-open .hello-nav{display:flex}.site-bar .hello-nav-link{font-size:15px}}@media(max-width:600px){.site{--display: clamp(48px, 15vw, 68px);--subhead: clamp(32px, 8.5vw, 42px);--gutter: 20px}}.panel{padding:24px;border-radius:16px;background:var(--mint)}.pill{padding:4px 8px;border:1px solid var(--pill-line);border-radius:200px;background:var(--pill-fill);color:var(--pill-line);font-family:Inter,Helvetica Neue,sans-serif;font-size:16px;font-weight:500;line-height:20px}.site-footer{background:#fff;border-top:1px solid var(--rule);color:var(--ink);font-family:DM Sans,Helvetica Neue,sans-serif}.site-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(var(--page),100%);margin-inline:auto;box-sizing:border-box;padding:20px var(--gutter, 65px) 28px;font-size:13px;font-weight:400;line-height:1.4}.site-footer p{margin:0}.site-footer a{color:var(--green);text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer a:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:2px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:root{--motion-fast: .2s;--motion-press: .15s;--motion-hover: .22s;--motion-enter: .5s;--motion-editorial: .55s;--motion-stagger: .11s;--motion-distance: 24px;--motion-distance-display: 28px;--motion-lift: 5px;--motion-ease: cubic-bezier(.22, 1, .36, 1);--motion-shadow: 0 12px 28px rgba(30, 30, 30, .1)}@media(max-width:860px){:root{--motion-distance: 20px;--motion-distance-display: 24px;--motion-lift: 4px}}@media(max-width:600px){:root{--motion-distance: 16px;--motion-distance-display: 20px}}@keyframes reveal-rise{0%{opacity:0;transform:translate3d(0,var(--motion-distance),0)}to{opacity:1;transform:translateZ(0)}}@keyframes reveal-fade{0%{opacity:0}to{opacity:1}}@keyframes reveal-bubble{0%{opacity:0;transform:translate3d(0,var(--motion-distance),0) scale(.94)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes line-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}html.motion .reveal[data-armed]:not(.is-in):not(.reveal-stagger){opacity:0;transform:translate3d(0,var(--motion-distance),0)}html.motion .reveal-fade[data-armed]:not(.is-in){transform:none}html.motion .reveal.is-in:not(.reveal-stagger){animation:reveal-rise var(--motion-enter) var(--motion-ease) both;animation-delay:var(--reveal-delay, 0ms)}html.motion .reveal-editorial{--motion-distance: var(--motion-distance-display)}html.motion .reveal-editorial.is-in:not(.reveal-stagger){animation-duration:var(--motion-editorial)}html.motion .reveal-fade.is-in{animation-name:reveal-fade}html.motion .reveal.is-in.is-settled,html.motion .reveal-stagger.is-in>.is-settled{animation:none;opacity:1;transform:translateZ(0)}html.motion .reveal-stagger[data-armed]:not(.is-in)>*{opacity:0;transform:translate3d(0,var(--motion-distance),0)}html.motion .reveal-stagger.is-in>*{animation:reveal-rise var(--motion-enter) var(--motion-ease) both;animation-delay:calc(var(--reveal-delay, 0ms) + (var(--stagger-i, 0) * var(--motion-stagger)))}html.motion .reveal-stagger.is-in>:nth-child(1){--stagger-i: 0}html.motion .reveal-stagger.is-in>:nth-child(2){--stagger-i: 1}html.motion .reveal-stagger.is-in>:nth-child(3){--stagger-i: 2}html.motion .reveal-stagger.is-in>:nth-child(4){--stagger-i: 3}html.motion .reveal-stagger.is-in>:nth-child(5){--stagger-i: 4}html.motion .reveal-stagger.is-in>:nth-child(6){--stagger-i: 5}html.motion .reveal-stagger.is-in>:nth-child(7){--stagger-i: 6}html.motion .reveal-stagger.is-in>:nth-child(8){--stagger-i: 7}html.motion .reveal.is-in .section-rule,html.motion .hello-page.is-open .fuel-rule{transform-origin:left center;animation:rule-draw var(--motion-editorial) var(--motion-ease) both;animation-delay:calc(var(--reveal-delay, 0ms) + var(--motion-stagger))}html.motion .reveal.is-in .resume-line{transform-origin:top center;animation:line-draw var(--motion-editorial) var(--motion-ease) both;animation-delay:var(--reveal-delay, 0ms)}html.motion .hello-page.is-open .name-wordmark,html.motion .hello-page.is-open .hello-role,html.motion .hello-page.is-open .hello-quote,html.motion .hello-page.is-open .mini-rel-copy{animation:reveal-rise var(--motion-enter) var(--motion-ease) both;animation-delay:calc(var(--reveal-index, 0) * var(--motion-stagger))}html.motion .hello-page.is-open .name-wordmark,html.motion .hello-page.is-open .hello-quote{--motion-distance: var(--motion-distance-display);animation-duration:var(--motion-editorial)}html.motion .hello-page.is-open .name-bubble{transform-origin:85% 27%;animation:reveal-bubble var(--motion-editorial) var(--motion-ease) both;animation-delay:calc(1 * var(--motion-stagger))}html.motion .hello-page.is-open .hello-role{--reveal-index: 2}html.motion .hello-page.is-open .hello-quote{--reveal-index: 3.5}html.motion .hello-page.is-open .mini-rel-copy{--reveal-index: 4.5}html.motion .hello-page.is-open .portrait-slot{animation:reveal-fade var(--motion-enter) var(--motion-ease) both;animation-delay:calc(2.5 * var(--motion-stagger))}html.motion .hello-page.is-open .fuel-rule{animation-delay:calc(5.5 * var(--motion-stagger))}html.motion .connect-intro.reveal-stagger.is-in>:nth-child(1),html.motion .connect-intro.reveal-stagger.is-in>:nth-child(2){--stagger-i: 0}html.motion .connect-intro.reveal-stagger.is-in>:nth-child(3),html.motion .connect-intro.reveal-stagger.is-in>:nth-child(4){--stagger-i: 1}html.motion .connect-intro.reveal-stagger.is-in>:nth-child(5),html.motion .connect-intro.reveal-stagger.is-in>:nth-child(6){--stagger-i: 2}html.motion .resume-subtitle.reveal-stagger.is-in>*{--stagger-i: 0}html.motion .resume-subtitle.reveal-stagger.is-in>:nth-child(2){--stagger-i: 1}html.motion .resume-subtitle.reveal-stagger.is-in>:nth-child(3){--stagger-i: 2}.hello-nav-link,.text-button,.connect-status a,.connect-icon,.resume-earlier,.site-menu-mark,.site-menu-mark:before,.site-menu-mark:after{transition:color var(--motion-hover) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease),opacity var(--motion-fast) var(--motion-ease),transform var(--motion-hover) var(--motion-ease),top var(--motion-fast) var(--motion-ease)}.hello-nav-rule{transform-origin:center;transform:scaleX(0);transition:transform var(--motion-hover) var(--motion-ease)}.hello-nav-link[aria-current=page] .hello-nav-rule{transform:scaleX(1)}.pour-button,.connect-form button,.resume-download{transition:background-color var(--motion-hover) var(--motion-ease),color var(--motion-hover) var(--motion-ease),opacity var(--motion-press) var(--motion-ease),transform var(--motion-press) var(--motion-ease)}.connect-form input,.connect-form textarea{transition:box-shadow var(--motion-fast) var(--motion-ease)}.connect-form input:hover:not(:focus-visible),.connect-form textarea:hover:not(:focus-visible){box-shadow:inset 0 0 0 1px #c5dbd6}html.motion .connect-form button:active:not(:disabled),html.motion .resume-download:active,html.motion .pour-button:active:not(:disabled){transform:translateY(1px)}@media(hover:hover)and (pointer:fine){html.motion .strength{transition:transform var(--motion-hover) var(--motion-ease)}html.motion .strength h3{transition:color var(--motion-hover) var(--motion-ease)}html.motion .strength:hover{transform:translate(4px)}html.motion .strength:hover h3{color:#28685a}html.motion .reference-card{transition:transform var(--motion-hover) var(--motion-ease),box-shadow var(--motion-hover) var(--motion-ease)}html.motion .reference-card:hover{transform:translateY(-4px);box-shadow:var(--motion-shadow)}html.motion .resume-skill-group li{transition:background-color var(--motion-hover) var(--motion-ease),color var(--motion-hover) var(--motion-ease),border-color var(--motion-hover) var(--motion-ease)}html.motion .resume-skill-group li:hover{border-color:#28685a;background:#30766652;color:#28685a}}.resume-earlier[aria-disabled=true]{cursor:default}@media(prefers-reduced-motion:reduce){.hello-nav-rule{transform:none;transition:none}}
