@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Space+Grotesk:wght@500;600;700&display=swap);html{background:#f0f3ef}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}button,input,textarea{font-family:inherit}::selection{background:#3157ff;color:#fff}:root{--ink:#141824;--muted:#5d6270;--paper:#f0f3ef;--paper-strong:#fafbf8;--line:#14182429;--cobalt:#3157ff;--orange:#ff633d;--yellow:#f2ca52;--orchid:#bd4de0;--shadow:0 24px 70px #1b202f1c;--scroll-y:0px}:root[data-theme=dark]{--ink:#f7f7f1;--muted:#b5b7c2;--paper:#11141d;--paper-strong:#1b1f2b;--line:#f7f7f129;--shadow:0 24px 70px #00000047}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#f0f3ef;background:var(--paper);color:#141824;color:var(--ink);max-width:100%;overflow-x:hidden;transition:color .2s ease,background .2s ease}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}.app-shell{isolation:isolate;min-height:100vh;overflow:clip;position:relative}.paint-backdrop{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.paint{filter:saturate(1.08);opacity:.9;position:absolute;will-change:transform}.paint:after,.paint:before{background:inherit;border-radius:inherit;content:"";position:absolute}.paint-cobalt{background:#3157ff;background:var(--cobalt);border-radius:68% 32% 60% 40%/52% 66% 34% 48%;height:25vw;min-height:260px;min-width:440px;right:-20vw;top:8vh;transform:translate3d(0,0,0) rotate(-12deg);transform:translate3d(0,calc(var(--scroll-y)*-.11),0) rotate(-12deg);width:42vw}.paint-cobalt:before{height:44%;left:-15%;top:12%;transform:rotate(-24deg);width:28%}.paint-cobalt:after{border-radius:46% 54% 70% 30%;height:18%;left:-22%;top:58%;width:13%}.paint-orange{background:#ff633d;background:var(--orange);border-radius:37% 63% 31% 69%/60% 35% 65% 40%;height:19vw;left:-17vw;min-height:220px;min-width:380px;top:76vh;transform:translate3d(0,0,0) rotate(17deg);transform:translate3d(0,calc(var(--scroll-y)*-.17),0) rotate(17deg);width:34vw}.paint-orange:before{height:39%;right:-10%;top:2%;transform:rotate(20deg);width:23%}.paint-orange:after{height:15%;right:-20%;top:33%;width:10%}.paint-yellow{background:#f2ca52;background:var(--yellow);border-radius:59% 41% 72% 28%/45% 66% 34% 55%;height:17vw;min-height:190px;min-width:320px;right:-10vw;top:165vh;transform:translate3d(0,0,0) rotate(-8deg);transform:translate3d(0,calc(var(--scroll-y)*-.08),0) rotate(-8deg);width:29vw}.paint-yellow:before{height:28%;left:-12%;top:60%;transform:rotate(-35deg);width:20%}.paint-yellow:after{height:11%;left:-23%;top:76%;width:7%}.paint-orchid{background:#bd4de0;background:var(--orchid);border-radius:68% 32% 49% 51%/39% 64% 36% 61%;height:21vw;left:-19vw;min-height:230px;min-width:400px;top:275vh;transform:translate3d(0,0,0) rotate(13deg);transform:translate3d(0,calc(var(--scroll-y)*-.13),0) rotate(13deg);width:36vw}.paint-orchid:before{height:31%;right:-8%;top:9%;transform:rotate(33deg);width:19%}.paint-orchid:after{height:14%;right:-19%;top:6%;width:8%}.paint-cobalt-small{background:#3157ff;background:var(--cobalt);border-radius:43% 57% 60% 40%/64% 37% 63% 36%;height:10vw;min-height:120px;min-width:190px;right:-5vw;top:390vh;transform:translate3d(0,0,0) rotate(-19deg);transform:translate3d(0,calc(var(--scroll-y)*-.06),0) rotate(-19deg);width:16vw}.paint-speckles{border-radius:50%;height:9px;opacity:.75;position:absolute;width:9px}.paint-speckles-one{background:#ff633d;background:var(--orange);box-shadow:33px -21px 0 5px #ff633d,82px 17px 0 -1px #ff633d,-21px 33px 0 2px #ff633d;box-shadow:33px -21px 0 5px var(--orange),82px 17px 0 -1px var(--orange),-21px 33px 0 2px var(--orange);right:9vw;top:62vh;transform:translateY(0);transform:translateY(calc(var(--scroll-y)*-.2))}.paint-speckles-two{background:#bd4de0;background:var(--orchid);box-shadow:42px 19px 0 4px #bd4de0,91px -12px 0 1px #bd4de0,-27px -28px 0 2px #bd4de0;box-shadow:42px 19px 0 4px var(--orchid),91px -12px 0 1px var(--orchid),-27px -28px 0 2px var(--orchid);left:7vw;top:228vh;transform:translateY(0);transform:translateY(calc(var(--scroll-y)*-.15))}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb,#f0f3ef 88%,#0000);background:color-mix(in srgb,var(--paper) 88%,#0000);border-bottom:1px solid #14182429;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.nav-shell{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr auto 1fr;margin:0 auto;min-height:76px;width:min(1180px,calc(100% - 40px))}.brand,.nav-shell{align-items:center}.brand{color:#141824;color:var(--ink);display:inline-flex;font:700 18px/1 Space Grotesk,sans-serif;gap:11px;letter-spacing:-.04em;text-decoration:none}.brand strong{color:#3157ff;color:var(--cobalt)}.brand-mark{background:#3157ff;background:var(--cobalt);color:#fff;display:grid;font:700 12px/1 Space Grotesk,sans-serif;height:34px;letter-spacing:-.08em;place-items:center;transform:rotate(-4deg);width:34px}.main-nav{align-items:center;display:flex;gap:28px}.main-nav a{color:#5d6270;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.06em;position:relative;text-decoration:none;text-transform:uppercase}.main-nav a:after{background:#ff633d;background:var(--orange);bottom:-10px;content:"";height:2px;left:0;position:absolute;right:100%;transition:right .18s ease}.main-nav a.active,.main-nav a:hover{color:#141824;color:var(--ink)}.main-nav a.active:after,.main-nav a:hover:after{right:0}.nav-actions{align-items:center;display:flex;gap:8px;justify-self:end}.menu-button,.nav-actions a,.nav-actions button{background:color-mix(in srgb,#fafbf8 75%,#0000);background:color-mix(in srgb,var(--paper-strong) 75%,#0000);border:1px solid #14182429;border:1px solid var(--line);border-radius:50%;color:#141824;color:var(--ink);cursor:pointer;display:grid;height:38px;place-items:center;transition:transform .16s ease,background .16s ease;width:38px}.menu-button:hover,.nav-actions a:hover,.nav-actions button:hover{background:#fafbf8;background:var(--paper-strong);transform:translateY(-2px)}.menu-button{display:none}.page-shell{margin:0 auto;min-height:75vh;position:relative;width:min(1180px,calc(100% - 40px));z-index:1}.page-enter{animation:page-enter .42s cubic-bezier(.2,.8,.2,1) both}@keyframes page-enter{0%{opacity:0;transform:translateY(14px)}}.eyebrow{align-items:center;color:#5d6270;color:var(--muted);display:inline-flex;font-size:12px;font-weight:600;gap:9px;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}.status-dot{background:#2da66d;border-radius:50%;box-shadow:0 0 0 5px #2da66d24;height:8px;width:8px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Space Grotesk,sans-serif}.hero-section{grid-gap:clamp(40px,9vw,130px);align-items:center;display:grid;gap:clamp(40px,9vw,130px);grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);min-height:690px;padding:96px 0 110px}.hero-copy h1{font-size:clamp(54px,7.6vw,108px);letter-spacing:-.075em;line-height:.91;margin:24px 0 28px;max-width:830px}.hero-copy h1 em{color:#3157ff;color:var(--cobalt);font-family:inherit;font-style:normal;position:relative;white-space:nowrap}.hero-copy h1 em:after{background:#f2ca52;background:var(--yellow);border-radius:60% 30% 50% 35%;bottom:.02em;content:"";height:.12em;left:2%;position:absolute;right:-3%;transform:rotate(-2deg);z-index:-1}.hero-lede{color:#5d6270;color:var(--muted);font-size:clamp(18px,2vw,23px);line-height:1.55;max-width:660px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}.button{align-items:center;border:1px solid #141824;border:1px solid var(--ink);border-radius:2px;display:inline-flex;font-weight:600;gap:10px;justify-content:center;min-height:50px;padding:0 20px;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}.button:hover{box-shadow:5px 5px 0 #141824;box-shadow:5px 5px 0 var(--ink);transform:translate(-2px,-2px)}.button-primary{background:#141824;background:var(--ink);color:#fafbf8;color:var(--paper-strong)}.button-secondary{background:color-mix(in srgb,#fafbf8 76%,#0000);background:color-mix(in srgb,var(--paper-strong) 76%,#0000);color:#141824;color:var(--ink)}.hero-note{align-self:end;background:color-mix(in srgb,#fafbf8 88%,#0000);background:color-mix(in srgb,var(--paper-strong) 88%,#0000);border:1px solid #14182429;border:1px solid var(--line);box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow);margin-bottom:75px;padding:26px;transform:rotate(2deg)}.note-number{color:#ff633d;color:var(--orange);display:block;font:700 34px/1 Space Grotesk,sans-serif}.hero-note p{font-size:17px;line-height:1.55;margin:24px 0}.hero-note>span:last-child{color:#5d6270;color:var(--muted);font-size:13px}.note-rule{background:#f2ca52;background:var(--yellow);height:5px;margin-bottom:16px;transform:rotate(-3deg);width:48px}.contribution-card,.section-block{margin:50px 0 140px}.section-heading{margin-bottom:45px;max-width:760px}.contribution-heading h2,.section-heading h2{font-size:clamp(36px,5vw,66px);letter-spacing:-.055em;line-height:.98;margin:14px 0 0}.split-heading{align-items:end;display:flex;gap:35px;justify-content:space-between;max-width:none}.text-link{align-items:center;display:inline-flex;font-weight:600;gap:8px;text-underline-offset:5px}.featured-projects{border-top:1px solid #14182429;border-top:1px solid var(--line)}.featured-project{grid-gap:28px;align-items:center;border-bottom:1px solid #14182429;border-bottom:1px solid var(--line);display:grid;gap:28px;grid-template-columns:78px 1fr auto;min-height:190px;overflow:hidden;padding:28px 18px;position:relative;text-decoration:none;transition:padding .22s ease,background .22s ease}.featured-project:before{background:var(--accent);content:"";inset:0 auto 0 0;position:absolute;transform:scaleY(0);transition:transform .22s ease;width:6px}.featured-project:hover{background:color-mix(in srgb,#fafbf8 82%,#0000);background:color-mix(in srgb,var(--paper-strong) 82%,#0000);padding-left:34px}.featured-project:hover:before{transform:scaleY(1)}.featured-project h3{font-size:clamp(24px,3vw,38px);letter-spacing:-.04em;margin:4px 0 10px}.featured-project p{color:#5d6270;color:var(--muted);line-height:1.55;margin:0;max-width:700px}.project-index{color:var(--accent);font:700 22px/1 Space Grotesk,sans-serif}.project-year{color:#5d6270;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.1em}.project-arrow{transition:transform .18s ease}.featured-project:hover .project-arrow{transform:translate(4px,-4px)}.accent-cobalt{--accent:var(--cobalt)}.accent-orange{--accent:var(--orange)}.accent-yellow{--accent:var(--yellow)}.accent-orchid{--accent:var(--orchid)}.skills-section{grid-gap:clamp(50px,9vw,130px);align-items:start;display:grid;gap:clamp(50px,9vw,130px);grid-template-columns:1fr 1fr}.skill-groups{border-top:1px solid #14182429;border-top:1px solid var(--line)}.skill-group{grid-gap:24px;border-bottom:1px solid #14182429;border-bottom:1px solid var(--line);display:grid;gap:24px;grid-template-columns:90px 1fr;padding:26px 0}.skill-group>span{color:#3157ff;color:var(--cobalt);font:600 14px/1.5 Space Grotesk,sans-serif;text-transform:uppercase}.skill-group p{line-height:1.7;margin:0}.contribution-card{background:#161b28;border:1px solid #ffffff21;box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow);color:#f8f9f4;padding:clamp(24px,5vw,58px)}.contribution-heading{align-items:start;display:flex;gap:30px;justify-content:space-between;margin-bottom:50px}.contribution-heading .eyebrow{color:#aeb4c1}.connection-status{align-items:center;border:1px solid #ffffff29;border-radius:99px;color:#c7cbd4;display:inline-flex;font-size:12px;gap:8px;padding:9px 12px;white-space:nowrap}.connection-status span{background:#f2ca52;background:var(--yellow);border-radius:50%;height:7px;width:7px}.contribution-grid{grid-gap:4px;display:grid;gap:4px;grid-auto-columns:11px;grid-auto-flow:column;grid-template-rows:repeat(7,11px);max-width:100%;overflow:hidden}.contribution-cell{background:#272d3c;border-radius:2px;height:11px;width:11px}.contribution-cell.level-1{background:#433883}.contribution-cell.level-2{background:#3157ff}.contribution-cell.level-3{background:#9370ef}.contribution-cell.level-4{background:#f2ca52}.contribution-footer{align-items:center;color:#b6bac5;display:flex;font-size:14px;gap:30px;justify-content:space-between;margin-top:32px}.contribution-footer p{margin:0;max-width:650px}.contribution-footer .text-link{color:#fff}.recognition-grid{border-left:1px solid #14182429;border-left:1px solid var(--line);border-top:1px solid #14182429;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,1fr)}.recognition-grid article{background:color-mix(in srgb,#fafbf8 75%,#0000);background:color-mix(in srgb,var(--paper-strong) 75%,#0000);border-bottom:1px solid #14182429;border-bottom:1px solid var(--line);border-right:1px solid #14182429;border-right:1px solid var(--line);padding:34px}.recognition-grid article>span{color:#ff633d;color:var(--orange);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.recognition-grid h3{font-size:27px;letter-spacing:-.04em;margin:18px 0 10px}.recognition-grid p{color:#5d6270;color:var(--muted);line-height:1.6;margin-bottom:0}.page-intro{max-width:930px;padding:110px 0 90px}.contact-copy h1,.page-intro h1{font-size:clamp(58px,8vw,112px);letter-spacing:-.075em;line-height:.9;margin:22px 0 26px}.page-intro>p{color:#5d6270;color:var(--muted);font-size:21px;line-height:1.6;max-width:700px}.timeline{margin:0 0 150px;position:relative}.timeline-item{grid-gap:34px;display:grid;gap:34px;grid-template-columns:110px 180px 1fr;padding:0 0 95px;position:relative}.timeline-item-past:before{background:linear-gradient(180deg,#0000,#14182429 18%,#14182429);background:linear-gradient(to bottom,#0000,var(--line) 18%,var(--line));bottom:0;content:"";left:54px;position:absolute;top:-95px;width:1px}.timeline-marker{display:flex;justify-content:center;position:relative;width:110px;z-index:1}.timeline-marker span{background:var(--accent);border:8px solid #f0f3ef;border:8px solid var(--paper);border-radius:50%;color:#fff;display:grid;font:700 13px/1 Space Grotesk,sans-serif;height:58px;place-items:center;width:58px}.timeline-period{color:#5d6270;color:var(--muted);font-size:13px;font-weight:600;padding-top:17px;text-transform:uppercase}.timeline-content{background:color-mix(in srgb,#fafbf8 85%,#0000);background:color-mix(in srgb,var(--paper-strong) 85%,#0000);border:1px solid #14182429;border:1px solid var(--line);box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow);padding:32px}.timeline-current{padding:0 0 110px;position:relative}.current-work-stack{grid-gap:72px;display:grid;gap:72px;position:relative}.current-work-stack:before{background:linear-gradient(180deg,#14182429 0,#14182429 76%,#0000);background:linear-gradient(to bottom,var(--line) 0,var(--line) 76%,#0000 100%);bottom:-110px;content:"";left:54px;position:absolute;top:-58px;width:1px}.current-experience{grid-gap:34px;display:grid;gap:34px;grid-template-columns:110px 180px 1fr;position:relative}.current-experience:first-child:before{background:linear-gradient(180deg,#14182429 0,#14182429 72%,#0000);background:linear-gradient(to bottom,var(--line) 0,var(--line) 72%,#0000 100%);bottom:-72px;content:"";left:63px;position:absolute;top:-58px;width:1px}.company-row{align-items:baseline;display:flex;gap:16px;justify-content:space-between}.company-name{color:var(--accent);font-size:13px;font-weight:600}.company-name,.employment-type{letter-spacing:.08em;text-transform:uppercase}.employment-type{color:#5d6270;color:var(--muted);font-size:10px;font-weight:700}.timeline-content h2{font-size:clamp(30px,4vw,46px);letter-spacing:-.05em;margin:8px 0 14px}.timeline-summary{color:#141824;color:var(--ink);font-size:18px;line-height:1.55}.timeline-content ul{border-top:1px solid #14182429;border-top:1px solid var(--line);color:#5d6270;color:var(--muted);margin:24px 0;padding:24px 0 0 20px}.timeline-content li{line-height:1.55;margin-bottom:11px;padding-left:6px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list span{background:color-mix(in srgb,#f0f3ef 70%,#0000);background:color-mix(in srgb,var(--paper) 70%,#0000);border:1px solid #14182429;border:1px solid var(--line);color:#5d6270;color:var(--muted);font-size:12px;padding:7px 10px}.projects-intro{padding-bottom:50px}.project-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}.project-filters button{background:color-mix(in srgb,#fafbf8 65%,#0000);background:color-mix(in srgb,var(--paper-strong) 65%,#0000);border:1px solid #14182429;border:1px solid var(--line);color:#5d6270;color:var(--muted);cursor:pointer;padding:10px 15px}.project-filters button.active,.project-filters button:hover{background:#141824;background:var(--ink);border-color:#141824;border-color:var(--ink);color:#fafbf8;color:var(--paper-strong)}.project-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:150px}.project-card{background:color-mix(in srgb,#fafbf8 87%,#0000);background:color-mix(in srgb,var(--paper-strong) 87%,#0000);border:1px solid #14182429;border:1px solid var(--line);display:flex;flex-direction:column;min-height:480px;overflow:hidden;padding:clamp(26px,4vw,42px);transition:transform .18s ease,box-shadow .18s ease}.project-card:hover{box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow);transform:translateY(-5px)}.project-card-top{color:#5d6270;color:var(--muted);display:flex;font-size:12px;justify-content:space-between}.project-number{color:var(--accent);font:700 22px/1 Space Grotesk,sans-serif}.project-gesture{align-items:center;display:flex;gap:8px;height:90px;margin:24px 0 12px;transform:rotate(-7deg)}.project-gesture span{background:var(--accent);border-radius:60% 30% 55% 35%;display:block;height:18px}.project-gesture span:first-child{width:46%}.project-gesture span:nth-child(2){height:28px;width:25%}.project-gesture span:nth-child(3){border-radius:50%;height:9%;width:9%}.project-card h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.055em;line-height:1;margin:10px 0 14px}.project-card>p{color:#5d6270;color:var(--muted);line-height:1.6}.project-card .tag-list{margin-top:auto;padding-top:30px}.project-links{border-top:1px solid #14182429;border-top:1px solid var(--line);display:flex;gap:20px;margin-top:25px;padding-top:20px}.project-links a{align-items:center;display:inline-flex;font-size:13px;font-weight:600;gap:7px;text-underline-offset:4px}.resume-intro .button{margin-top:22px;width:-webkit-fit-content;width:fit-content}.resume-sheet{background:color-mix(in srgb,#fafbf8 92%,#0000);background:color-mix(in srgb,var(--paper-strong) 92%,#0000);border:1px solid #14182429;border:1px solid var(--line);box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow);margin:0 0 150px;padding:clamp(30px,6vw,70px)}.resume-sheet-header{grid-gap:60px;align-items:end;border-bottom:4px solid #141824;border-bottom:4px solid var(--ink);display:grid;gap:60px;grid-template-columns:1fr 1fr;padding-bottom:42px}.resume-sheet-header h2{font-size:clamp(40px,6vw,72px);letter-spacing:-.06em;margin:9px 0 0}.resume-sheet-header p{color:#5d6270;color:var(--muted);font-size:18px;line-height:1.6;margin:0}.resume-columns{grid-gap:70px;display:grid;gap:70px;grid-template-columns:1.6fr .8fr;padding:50px 0}.resume-columns h3{color:#3157ff;color:var(--cobalt);font-size:14px;letter-spacing:.09em;margin:0 0 28px;text-transform:uppercase}.resume-role{border-bottom:1px solid #14182429;border-bottom:1px solid var(--line);margin-bottom:26px;padding:0 0 26px}.resume-role>div{display:flex;gap:20px;justify-content:space-between}.resume-role strong{font-family:Space Grotesk,sans-serif;font-size:19px}.resume-role span{color:#5d6270;color:var(--muted);font-size:12px;text-transform:uppercase}.resume-role p{color:#ff633d;color:var(--orange);font-weight:600;margin:5px 0 9px}.resume-role small{color:#5d6270;color:var(--muted);font-size:14px;line-height:1.55}.resume-aside{border-left:1px solid #14182429;border-left:1px solid var(--line);padding-left:38px}.resume-aside div{margin-bottom:28px}.resume-aside strong{font-family:Space Grotesk,sans-serif}.resume-aside p{color:#5d6270;color:var(--muted);line-height:1.55;margin:6px 0 0}.contact-page{grid-gap:clamp(50px,10vw,140px);align-items:center;display:grid;gap:clamp(50px,10vw,140px);grid-template-columns:1.25fr .75fr;min-height:calc(100vh - 77px);padding:100px 0 130px}.contact-copy h1{max-width:780px}.contact-copy p{color:#5d6270;color:var(--muted);font-size:21px;line-height:1.6;max-width:620px}.contact-copy .button{margin-top:25px;width:-webkit-fit-content;width:fit-content}.contact-links{border-top:1px solid #14182429;border-top:1px solid var(--line)}.contact-links>a{grid-gap:18px;align-items:center;border-bottom:1px solid #14182429;border-bottom:1px solid var(--line);display:grid;gap:18px;grid-template-columns:auto 1fr auto;padding:24px 2px;text-decoration:none}.contact-links>a:hover>svg:last-child{transform:translate(4px,-4px)}.contact-links svg{transition:transform .18s ease}.contact-links span{overflow:hidden;text-overflow:ellipsis}.contact-links small{color:#5d6270;color:var(--muted);display:block;font-size:11px;letter-spacing:.1em;margin-bottom:3px;text-transform:uppercase}.site-footer{grid-gap:28px;align-items:center;border-top:1px solid #14182429;border-top:1px solid var(--line);color:#5d6270;color:var(--muted);display:grid;font-size:13px;gap:28px;grid-template-columns:1fr auto auto;margin:0 auto;min-height:150px;position:relative;width:min(1180px,calc(100% - 40px));z-index:1}.site-footer p{margin:0}.footer-links{display:flex;gap:18px}.footer-links a{text-underline-offset:4px}@media (max-width:900px){.nav-shell{display:flex}.brand{margin-right:auto}.menu-button{display:grid;order:3}.main-nav{background:#fafbf8;background:var(--paper-strong);border:1px solid #14182429;border:1px solid var(--line);box-shadow:0 24px 70px #1b202f1c;box-shadow:var(--shadow);display:none;left:20px;padding:18px;position:absolute;right:20px;top:76px}.main-nav.is-open{grid-gap:4px;display:grid;gap:4px}.main-nav a{padding:14px 8px}.main-nav a:after{display:none}.nav-actions{order:2}.nav-actions a{display:none}.hero-section{grid-template-columns:1fr;min-height:auto;padding-top:80px}.hero-note{justify-self:end;margin:0;width:min(460px,90%)}.contact-page,.skills-section{grid-template-columns:1fr}.current-experience,.timeline-item{gap:22px;grid-template-columns:95px 1fr}.timeline-period{grid-column:2;padding:0 0 8px}.current-experience>.timeline-content,.timeline-item>.timeline-content{grid-column:2}.current-work-stack:before{left:54px}.current-experience:first-child:before{left:63px}.project-grid,.resume-columns{grid-template-columns:1fr}.resume-columns{gap:45px}.resume-aside{border-left:0;padding:0}.site-footer{grid-template-columns:auto 1fr auto;padding:30px 0}.site-footer small{grid-column:2}}@media (max-width:620px){.nav-shell,.page-shell,.site-footer{width:min(100% - 28px,1180px)}.nav-shell{gap:8px}.nav-actions{gap:4px}.paint{opacity:.2}.paint-speckles{opacity:.45}.hero-section{padding:68px 0 95px}.contact-copy h1,.hero-copy h1,.page-intro h1{font-size:clamp(48px,16vw,70px)}.contact-copy p,.hero-lede,.page-intro>p{font-size:17px}.hero-actions .button{width:100%}.contribution-card,.section-block{margin-bottom:95px}.contribution-footer,.contribution-heading,.split-heading{align-items:flex-start;flex-direction:column}.featured-project{gap:12px;grid-template-columns:45px 1fr;min-height:210px;padding-inline:5px}.featured-project:hover{padding-left:10px}.project-arrow{display:none}.skills-section{gap:10px}.skill-group{gap:12px;grid-template-columns:65px 1fr}.recognition-grid{grid-template-columns:1fr}.page-intro{padding:78px 0 55px}.timeline-item{gap:12px;grid-template-columns:48px 1fr;padding-bottom:60px}.timeline-marker{width:48px}.timeline-marker span{border-width:6px;height:46px;width:46px}.timeline-content{padding:24px 20px}.current-work-stack:before,.timeline-item-past:before{left:23px}.current-work-stack{gap:60px}.current-experience:first-child:before{bottom:-60px;left:32px;top:-48px}.project-card{min-height:440px}.resume-sheet{padding:24px}.resume-sheet-header{gap:20px;grid-template-columns:1fr}.resume-role>div{flex-direction:column;gap:6px}.contact-page{min-height:auto;padding-top:75px}.site-footer{grid-template-columns:auto 1fr}.footer-links,.site-footer small{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.paint,.paint-speckles{transform:none!important}}
/*# sourceMappingURL=main.91f9f34b.css.map*/