@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/167cd0713aa75522-s.1nzccunaoxsdm.woff2)format("woff2");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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e455bcff747f0d5e-s.1wuo3gtslpr33.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/791bf8c4bb753ed6-s.p.0ggqn9ig56u4s.woff2)format("woff2");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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_a8fcc338-module__knQbEW__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_a8fcc338-module__knQbEW__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
.page-module___8aEwW__aboutContent{max-width:760px}.page-module___8aEwW__wrap{z-index:1;max-width:1220px;margin:0 auto;padding:0 26px;position:relative}.page-module___8aEwW__aboutStacks{max-width:760px;margin-top:44px}.page-module___8aEwW__contactSection{text-align:center;padding-top:clamp(88px,13vh,128px);padding-bottom:clamp(64px,9vh,96px);position:relative}.page-module___8aEwW__codeSection{padding:clamp(64px,9vh,96px) 0;position:relative}.page-module___8aEwW__aboutSection{padding-top:clamp(64px,9vh,96px);padding-bottom:clamp(32px,4vh,48px);position:relative}.page-module___8aEwW__rendersSection{padding-top:clamp(32px,4vh,48px);padding-bottom:clamp(88px,13vh,128px);position:relative}.page-module___8aEwW__rendersHeader{margin-bottom:56px}.page-module___8aEwW__footer{border-top:1px solid var(--line-soft);z-index:1;padding:30px 0;position:relative}.page-module___8aEwW__footerWrap{max-width:1220px;color:var(--muted-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:0 26px;font-size:13px;display:flex}.page-module___8aEwW__aboutH2{letter-spacing:-.03em;margin:18px 0 26px;font-size:clamp(30px,4.5vw,52px);font-weight:700;line-height:1.08}.page-module___8aEwW__aboutP{color:var(--muted);margin-bottom:16px;font-size:clamp(16px,1.3vw,18px);line-height:1.7}.page-module___8aEwW__contactH2{letter-spacing:-.035em;margin:20px 0 18px;font-size:clamp(36px,6vw,80px);font-weight:700;line-height:1.02}.page-module___8aEwW__contactP{color:var(--muted);max-width:520px;margin:0 auto 40px;font-size:clamp(16px,1.4vw,19px)}.page-module___8aEwW__contactEyebrow{justify-content:center}.page-module___8aEwW__amberItalic{color:var(--amber);font-style:italic}.page-module___8aEwW__stackTitle{letter-spacing:.08em;text-transform:uppercase;color:var(--amber);margin-bottom:16px;font-size:13px;font-weight:600}.page-module___8aEwW__stackList{margin:0;padding:0;list-style:none}.page-module___8aEwW__stackItem{color:var(--muted);border-bottom:1px solid var(--line-soft);padding:6px 0;font-size:15px}.page-module___8aEwW__contactActions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.page-module___8aEwW__codeSecHead{margin-bottom:56px}.page-module___8aEwW__codeReveal{height:100%}.page-module___8aEwW__panelRepoPath{font-family:var(--font-mono);font-size:11px}.page-module___8aEwW__panelTitle{color:var(--cream);margin-bottom:10px;font-size:20px;font-weight:600}.page-module___8aEwW__panelBlurb{color:var(--muted);margin-bottom:16px;font-size:15px;line-height:1.6}.page-module___8aEwW__panelTags{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.page-module___8aEwW__panelLinks{gap:20px;font-size:14px;display:flex}.page-module___8aEwW__panelLinkSource{color:var(--amber);align-items:center;gap:4px;display:flex}.page-module___8aEwW__panelLinkLive{color:var(--muted);align-items:center;gap:4px;display:flex}.page-module___8aEwW__panelStats{border-top:1px solid var(--line-soft);color:var(--muted-2);font-size:12px;font-family:var(--font-mono);gap:16px;margin-top:16px;padding-top:16px;display:flex}.page-module___8aEwW__heroHeader{align-items:center;min-height:100vh;padding:140px 0 90px;display:flex}.page-module___8aEwW__heroWrap{width:100%}.page-module___8aEwW__heroH1{letter-spacing:-.035em;margin:22px 0 26px;font-size:clamp(40px,7vw,92px);font-weight:700;line-height:1.02}.page-module___8aEwW__heroP{color:var(--muted);max-width:480px;margin-bottom:28px;font-size:clamp(16px,1.4vw,19px)}.page-module___8aEwW__heroMeta{color:var(--muted);flex-wrap:wrap;gap:10px;margin-bottom:36px;font-size:14px;display:flex}.page-module___8aEwW__heroMetaStrong{color:var(--cream)}.page-module___8aEwW__heroGrid{grid-template-columns:1fr 1fr;align-items:center;gap:72px;display:grid}.page-module___8aEwW__codeGrid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.page-module___8aEwW__stacks{grid-template-columns:1fr 1fr;gap:40px;display:grid}@media (max-width:900px){.page-module___8aEwW__heroGrid{grid-template-columns:1fr;gap:48px}.page-module___8aEwW__codeGrid{grid-template-columns:1fr}}@media (max-width:520px){.page-module___8aEwW__stacks{grid-template-columns:1fr;gap:32px}}
.resume-module__R4NoHW__sheet{--display:var(--font-fraunces), Georgia, "Times New Roman", serif;--mono:var(--font-geist-mono), ui-monospace, SFMono-Regular, Menlo, monospace;--accent:var(--amber);--rule:var(--line);z-index:1;max-width:54rem;padding:140px max(16px, env(safe-area-inset-right,0px)) clamp(4rem, 9vw, 6rem) max(16px, env(safe-area-inset-left,0px));flex-direction:column;gap:clamp(2.25rem,4.5vw,3.25rem);margin:0 auto;font-size:15px;line-height:1.6;display:flex;position:relative}.resume-module__R4NoHW__sheet a{color:var(--cream);text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}.resume-module__R4NoHW__sheet a:hover{color:var(--accent);text-decoration-color:currentColor}.resume-module__R4NoHW__sheet a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.resume-module__R4NoHW__masthead{flex-direction:column;gap:1rem;display:flex}.resume-module__R4NoHW__mastheadTop{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;display:flex}.resume-module__R4NoHW__sheet h1{font-family:var(--display);font-optical-sizing:auto;letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(2.6rem,9vw,4.25rem);font-weight:500;line-height:.95}.resume-module__R4NoHW__role{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.78rem}.resume-module__R4NoHW__contact{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:.35rem 1.1rem;min-width:0;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.resume-module__R4NoHW__contact li{overflow-wrap:anywhere;min-width:0}.resume-module__R4NoHW__summary{max-inline-size:62ch;margin:0;font-size:clamp(1.02rem,2.1vw,1.16rem);line-height:1.55}.resume-module__R4NoHW__sheet section{flex-direction:column;gap:1.5rem;display:flex}.resume-module__R4NoHW__sheet h2{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--rule);margin:0;padding-bottom:.6rem;font-size:.72rem;font-weight:500}.resume-module__R4NoHW__entry{gap:.5rem 2rem;min-width:0;display:grid}@media (min-width:820px){.resume-module__R4NoHW__entry{grid-template-columns:9.5rem 1fr}.resume-module__R4NoHW__entry>.resume-module__R4NoHW__when{grid-row:span 2}}.resume-module__R4NoHW__when{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;padding-top:.3rem;font-size:.75rem}.resume-module__R4NoHW__entryBody{flex-direction:column;gap:.6rem;min-width:0;display:flex}.resume-module__R4NoHW__sheet h3{font-family:var(--display);font-optical-sizing:auto;letter-spacing:-.005em;margin:0;font-size:1.18rem;font-weight:600;line-height:1.25}.resume-module__R4NoHW__org{color:var(--muted);font-weight:400}.resume-module__R4NoHW__points{flex-direction:column;gap:.55rem;margin:0;padding-left:1.05rem;display:flex}.resume-module__R4NoHW__points li{padding-left:.2rem}.resume-module__R4NoHW__points li::marker{color:var(--accent)}.resume-module__R4NoHW__skills{flex-direction:column;gap:.9rem;display:flex}.resume-module__R4NoHW__skillRow{gap:.2rem 2rem;min-width:0;display:grid}@media (min-width:820px){.resume-module__R4NoHW__skillRow{grid-template-columns:9.5rem 1fr}}.resume-module__R4NoHW__skillLabel{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);padding-top:.22rem;font-size:.72rem}.resume-module__R4NoHW__skillList{min-width:0}.resume-module__R4NoHW__creds{flex-direction:column;gap:.85rem;display:flex}.resume-module__R4NoHW__cred{gap:.15rem 2rem;min-width:0;display:grid}@media (min-width:820px){.resume-module__R4NoHW__cred{grid-template-columns:9.5rem 1fr}}.resume-module__R4NoHW__cred .resume-module__R4NoHW__when{padding-top:.1rem}.resume-module__R4NoHW__credName{min-width:0}.resume-module__R4NoHW__credName span{color:var(--muted)}.resume-module__R4NoHW__updated{font-family:var(--mono);color:var(--muted);border-top:1px solid var(--rule);padding-top:1.1rem;font-size:.72rem}@media print{.resume-module__R4NoHW__sheet{--cream:#111;--muted:#555;--accent:#2f4858;--rule:#ddd;max-width:none;color:var(--cream);gap:1.5rem;padding:0;font-size:10.5pt;line-height:1.45}.resume-module__R4NoHW__sheet h1{font-size:30pt}.resume-module__R4NoHW__summary{max-inline-size:none;font-size:10.5pt}.resume-module__R4NoHW__sheet section{break-inside:avoid;gap:.9rem}.resume-module__R4NoHW__entry,.resume-module__R4NoHW__cred,.resume-module__R4NoHW__skillRow{break-inside:avoid}.resume-module__R4NoHW__updated,.resume-module__R4NoHW__noPrint{display:none}.resume-module__R4NoHW__sheet a{color:#111;text-decoration:none}}
