.ProjectBackdrop-module__MDMf0G__backdrop{z-index:0;pointer-events:none;background:var(--bg-main,#0a0e0c);opacity:0;visibility:hidden;transition:opacity .5s cubic-bezier(.4,0,.2,1),visibility 0s linear .5s;position:absolute;inset:0;overflow:hidden}.ProjectBackdrop-module__MDMf0G__visible{opacity:1;visibility:visible;transition:opacity .5s cubic-bezier(.4,0,.2,1),visibility linear}.ProjectBackdrop-module__MDMf0G__canvas{width:100%;height:100%;display:block}@media (prefers-reduced-motion:reduce){.ProjectBackdrop-module__MDMf0G__backdrop,.ProjectBackdrop-module__MDMf0G__visible{transition:none}}
.SkillsTierList-module__d5z6Pq__board{--board-height:clamp(580px, calc(100svh - 220px), 800px);--header-height:46px;--tier-size:calc((var(--board-height) - var(--header-height) - 5px) / 4);width:100%;height:var(--board-height);font-family:var(--font-mono), monospace;flex-direction:column;display:flex;container-type:inline-size}.SkillsTierList-module__d5z6Pq__row{grid-template-columns:var(--tier-size) repeat(4, minmax(0, 1fr));border-top:1px solid var(--border-color);flex:1 1 0;min-height:0;display:grid}.SkillsTierList-module__d5z6Pq__row:last-child{border-bottom:1px solid var(--border-color)}.SkillsTierList-module__d5z6Pq__header{flex:0 0 var(--header-height)}.SkillsTierList-module__d5z6Pq__corner,.SkillsTierList-module__d5z6Pq__columnHeader{min-width:0;color:var(--text-main);text-transform:uppercase;letter-spacing:.14em;align-items:center;padding:12px 14px;font-size:10px;font-weight:700;line-height:1.5;display:flex}.SkillsTierList-module__d5z6Pq__columnHeader{border-left:1px solid var(--border-color)}.SkillsTierList-module__d5z6Pq__tierLabel{z-index:2;background:var(--tier-color);color:#0a0e0c;font-size:28px;font-weight:800;font-family:"Press Start 2P", var(--font-mono), monospace;justify-content:center;align-items:center;line-height:1.4;display:flex;position:relative}.SkillsTierList-module__d5z6Pq__tierDescription{font-family:var(--font-mono), monospace;z-index:20;border:1px solid var(--tier-color);color:var(--tier-color);letter-spacing:.02em;text-align:center;opacity:0;pointer-events:none;background:#0a0e0cf7;border-radius:16px;justify-content:center;align-items:center;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.45;transition:opacity .2s,transform .2s;display:flex;position:absolute;inset:8px;transform:scale(.94)}.SkillsTierList-module__d5z6Pq__tierLabel:hover,.SkillsTierList-module__d5z6Pq__tierLabel:focus-visible{z-index:20}.SkillsTierList-module__d5z6Pq__tierLabel:hover .SkillsTierList-module__d5z6Pq__tierDescription,.SkillsTierList-module__d5z6Pq__tierLabel:focus-visible .SkillsTierList-module__d5z6Pq__tierDescription{opacity:1;transform:scale(1)}.SkillsTierList-module__d5z6Pq__tierLabel:focus-visible{outline:2px solid var(--text-main);outline-offset:-5px}.SkillsTierList-module__d5z6Pq__cell{border-left:1px solid var(--border-color);flex-wrap:wrap;place-content:center;gap:10px;min-width:0;padding:10px;display:flex}.SkillsTierList-module__d5z6Pq__skill{--card-width:min(116px, calc((100cqw - var(--tier-size)) / 8 - 18px));--card-height:calc((var(--tier-size) - 30px) / 2);width:var(--card-width);height:var(--card-height);color:var(--text-main);cursor:default;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;transition:transform .25s;display:flex;position:relative}.SkillsTierList-module__d5z6Pq__skill:before{content:"";z-index:-1;aspect-ratio:1;background:var(--tier-color);opacity:0;pointer-events:none;border-radius:16px;width:100%;transition:opacity .25s;position:absolute;top:50%;left:50%;translate:-50% -50%}.SkillsTierList-module__d5z6Pq__skill:hover,.SkillsTierList-module__d5z6Pq__skill:focus-visible{z-index:10;transform:scale(1.05)}.SkillsTierList-module__d5z6Pq__skill:hover:before,.SkillsTierList-module__d5z6Pq__skill:focus-visible:before{opacity:1}.SkillsTierList-module__d5z6Pq__skill:focus-visible{outline:2px solid var(--accent-sky);outline-offset:2px}.SkillsTierList-module__d5z6Pq__icon{width:clamp(28px, calc(var(--card-height) * .6), 72px);height:clamp(28px, calc(var(--card-height) * .6), 72px);color:var(--text-main);opacity:.85;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .25s,color .25s;display:flex}.SkillsTierList-module__d5z6Pq__icon svg{width:100%;height:100%}.SkillsTierList-module__d5z6Pq__icon.SkillsTierList-module__d5z6Pq__wordmark{width:min(76px,100%)}.SkillsTierList-module__d5z6Pq__brandIcon{width:100%;height:100%;-webkit-mask:var(--brand-icon) center / contain no-repeat;mask:var(--brand-icon) center / contain no-repeat;background:currentColor}.SkillsTierList-module__d5z6Pq__wordmark .SkillsTierList-module__d5z6Pq__brandIcon{-webkit-mask-size:100%;mask-size:100%}.SkillsTierList-module__d5z6Pq__rasterWindow{flex-shrink:0;width:90px;height:22px;display:block;overflow:hidden}.SkillsTierList-module__d5z6Pq__rasterLogo{filter:grayscale()invert();mix-blend-mode:screen;width:100%;height:auto;display:block;transform:translateY(-30%)}.SkillsTierList-module__d5z6Pq__skill:hover .SkillsTierList-module__d5z6Pq__rasterLogo,.SkillsTierList-module__d5z6Pq__skill:focus-visible .SkillsTierList-module__d5z6Pq__rasterLogo{filter:grayscale();mix-blend-mode:multiply}[data-theme=light] .SkillsTierList-module__d5z6Pq__rasterLogo{filter:grayscale();mix-blend-mode:multiply}.SkillsTierList-module__d5z6Pq__skillName{max-width:100%;color:var(--text-muted);font-size:clamp(10px, calc(var(--card-height) / 7), 15px);letter-spacing:.01em;text-align:center;white-space:normal;margin-top:6px;font-weight:700;line-height:1.4;transition:color .25s}.SkillsTierList-module__d5z6Pq__skill:hover .SkillsTierList-module__d5z6Pq__icon,.SkillsTierList-module__d5z6Pq__skill:focus-visible .SkillsTierList-module__d5z6Pq__icon{color:#0a0e0c;opacity:1}.SkillsTierList-module__d5z6Pq__skill:hover .SkillsTierList-module__d5z6Pq__skillName,.SkillsTierList-module__d5z6Pq__skill:focus-visible .SkillsTierList-module__d5z6Pq__skillName{color:#0a0e0c}@media (min-width:769px) and (max-width:1023px){.SkillsTierList-module__d5z6Pq__board{--tier-size:120px;height:auto}.SkillsTierList-module__d5z6Pq__row{min-height:180px}.SkillsTierList-module__d5z6Pq__header{min-height:var(--header-height)}.SkillsTierList-module__d5z6Pq__skill{--card-width:min(82px, calc((100cqw - 120px) / 8 - 10px));--card-height:70px}.SkillsTierList-module__d5z6Pq__cell{gap:6px;padding:10px 6px}.SkillsTierList-module__d5z6Pq__columnHeader{padding-inline:10px;font-size:9px}.SkillsTierList-module__d5z6Pq__skillName{white-space:normal;font-size:9px}}@media (max-width:768px){.SkillsTierList-module__d5z6Pq__board{height:auto;display:block}.SkillsTierList-module__d5z6Pq__row.SkillsTierList-module__d5z6Pq__header{display:none}.SkillsTierList-module__d5z6Pq__row{padding-bottom:20px;display:block}.SkillsTierList-module__d5z6Pq__tierLabel{letter-spacing:.06em;font-size:21px;font-family:var(--font-mono), monospace;justify-content:flex-start;gap:14px;padding:14px 20px}.SkillsTierList-module__d5z6Pq__tierDescription{color:#0a0e0c;text-align:left;letter-spacing:.02em;opacity:1;background:0 0;border:0;border-radius:0;padding:0;font-size:12px;position:static;inset:auto;transform:none}.SkillsTierList-module__d5z6Pq__cell{border-left:0;place-content:flex-start;gap:8px;padding:14px 20px 0}.SkillsTierList-module__d5z6Pq__cell:before{content:attr(data-category);width:100%;color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700}.SkillsTierList-module__d5z6Pq__cell:not(:has(.SkillsTierList-module__d5z6Pq__skill)){display:none}.SkillsTierList-module__d5z6Pq__skill{--card-width:88px;--card-height:80px}.SkillsTierList-module__d5z6Pq__icon{width:clamp(30px,5.5vw,44px);height:clamp(30px,5.5vw,44px)}.SkillsTierList-module__d5z6Pq__skillName{white-space:normal;font-size:clamp(10px,2.4vw,13px)}}@media (prefers-reduced-motion:reduce){.SkillsTierList-module__d5z6Pq__skill,.SkillsTierList-module__d5z6Pq__skill:before,.SkillsTierList-module__d5z6Pq__icon,.SkillsTierList-module__d5z6Pq__skillName,.SkillsTierList-module__d5z6Pq__tierDescription{transition:none}.SkillsTierList-module__d5z6Pq__skill:hover,.SkillsTierList-module__d5z6Pq__skill:focus-visible,.SkillsTierList-module__d5z6Pq__tierDescription{transform:none}}
.ExperienceTimeline-module__51Rk5G__timeline{--timeline-accent:var(--section-accent,var(--accent-sky));isolation:isolate;padding:10px 0 74px;position:relative}.ExperienceTimeline-module__51Rk5G__entry{z-index:1;width:64%;margin-bottom:64px;position:relative}.ExperienceTimeline-module__51Rk5G__entry:last-of-type{margin-bottom:0}.ExperienceTimeline-module__51Rk5G__entry[data-side=right]{margin-left:auto}.ExperienceTimeline-module__51Rk5G__entry[data-side=left]{margin-right:auto}.ExperienceTimeline-module__51Rk5G__card{opacity:1;transform:none}.ExperienceTimeline-module__51Rk5G__timeline[data-motion=ready] .ExperienceTimeline-module__51Rk5G__card{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-delay:calc(.15s + var(--entry-index,0) * .14s);transform:translateY(12px)}.ExperienceTimeline-module__51Rk5G__timeline[data-visible=true] .ExperienceTimeline-module__51Rk5G__card{opacity:1;transform:none}.ExperienceTimeline-module__51Rk5G__period{color:var(--text-muted);letter-spacing:.02em;margin:0 0 12px;font-size:11px;line-height:1.8}.ExperienceTimeline-module__51Rk5G__role{color:var(--text-main);letter-spacing:-1px;text-wrap:pretty;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,2.6vw,34px);font-weight:400;line-height:1.2}.ExperienceTimeline-module__51Rk5G__organizationLine{flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:13px;line-height:1.7;display:flex}.ExperienceTimeline-module__51Rk5G__organization{color:var(--timeline-accent);align-items:center;gap:9px;font-size:14px;font-weight:600;display:inline-flex}a.ExperienceTimeline-module__51Rk5G__organization{text-decoration:none;transition:color .3s,text-shadow .3s}a.ExperienceTimeline-module__51Rk5G__organization:hover{color:var(--text-main);text-shadow:0 0 8px color-mix(in srgb, var(--timeline-accent) 45%, transparent)}.ExperienceTimeline-module__51Rk5G__organization>span{transition:transform .2s}a.ExperienceTimeline-module__51Rk5G__organization:hover>span{transform:translate(2px,-2px)}.ExperienceTimeline-module__51Rk5G__location,.ExperienceTimeline-module__51Rk5G__honors{color:var(--text-muted);font-size:11px}.ExperienceTimeline-module__51Rk5G__location:before{content:"·";opacity:.5;margin-right:14px}.ExperienceTimeline-module__51Rk5G__summary{color:var(--text-muted);margin:17px 0 0;font-size:13px;line-height:1.9}.ExperienceTimeline-module__51Rk5G__bullets{flex-direction:column;gap:10px;margin:18px 0 0;padding:0;list-style:none;display:flex}.ExperienceTimeline-module__51Rk5G__bullets li{color:var(--text-muted);padding-left:24px;font-size:13px;line-height:1.85;position:relative}.ExperienceTimeline-module__51Rk5G__bullets li:before{content:"./";color:var(--timeline-accent);opacity:.8;font-size:11px;position:absolute;top:0;left:0}.ExperienceTimeline-module__51Rk5G__stack{flex-wrap:wrap;align-items:baseline;gap:5px 0;margin:25px 0 0;padding:0;list-style:none;display:flex}.ExperienceTimeline-module__51Rk5G__technology{color:color-mix(in srgb, var(--timeline-accent) 70%, var(--text-muted));align-items:center;font-size:10px;line-height:1.9;transition:color .3s,text-shadow .3s;display:inline-flex}.ExperienceTimeline-module__51Rk5G__technology:not(:last-child):after{content:"·";color:var(--text-muted);opacity:.55;margin-inline:9px}.ExperienceTimeline-module__51Rk5G__timeline[data-visible=true][data-motion=ready] .ExperienceTimeline-module__51Rk5G__technology{animation:ExperienceTimeline-module__51Rk5G__techGlint 1.4s ease calc(.55s + var(--tech-index,0) * .12s) backwards}.ExperienceTimeline-module__51Rk5G__technology:hover{color:var(--timeline-accent);text-shadow:0 0 8px color-mix(in srgb, var(--timeline-accent) 50%, transparent)}.ExperienceTimeline-module__51Rk5G__graph{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ExperienceTimeline-module__51Rk5G__line,.ExperienceTimeline-module__51Rk5G__pulse{fill:none;stroke:var(--timeline-accent);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ExperienceTimeline-module__51Rk5G__line{stroke-width:1.5px;stroke-dasharray:100;stroke-dashoffset:0;opacity:.65;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--timeline-accent) 45%, transparent))}.ExperienceTimeline-module__51Rk5G__timeline[data-motion=ready] .ExperienceTimeline-module__51Rk5G__line{stroke-dashoffset:100px}.ExperienceTimeline-module__51Rk5G__timeline[data-visible=true][data-motion=ready] .ExperienceTimeline-module__51Rk5G__line{animation:1.6s cubic-bezier(.22,1,.36,1) both ExperienceTimeline-module__51Rk5G__drawLine}.ExperienceTimeline-module__51Rk5G__pulse{stroke-width:2.25px;stroke-dasharray:2 98;opacity:0}.ExperienceTimeline-module__51Rk5G__timeline[data-visible=true][data-motion=ready] .ExperienceTimeline-module__51Rk5G__pulse{opacity:.85;animation:5s linear 2s infinite ExperienceTimeline-module__51Rk5G__travel}.ExperienceTimeline-module__51Rk5G__node{fill:var(--bg-main);stroke:var(--text-muted);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%}.ExperienceTimeline-module__51Rk5G__timeline[data-motion=ready] .ExperienceTimeline-module__51Rk5G__node{opacity:0;transition:opacity .4s,transform .5s cubic-bezier(.22,1,.36,1);transition-delay:calc(.45s + var(--entry-index,0) * .14s);transform:scale(.4)}.ExperienceTimeline-module__51Rk5G__timeline[data-visible=true] .ExperienceTimeline-module__51Rk5G__node{opacity:1;transform:scale(1)}.ExperienceTimeline-module__51Rk5G__present{fill:var(--timeline-accent);stroke:var(--timeline-accent);filter:drop-shadow(0 0 4px color-mix(in srgb, var(--timeline-accent) 70%, transparent))}.ExperienceTimeline-module__51Rk5G__timeline[data-visible=true][data-motion=ready] .ExperienceTimeline-module__51Rk5G__present{animation:3s ease-in-out .8s infinite ExperienceTimeline-module__51Rk5G__breathe}.ExperienceTimeline-module__51Rk5G__ring{fill:none;stroke:var(--timeline-accent);stroke-width:1.5px;opacity:0;transform-box:fill-box;transform-origin:50%}.ExperienceTimeline-module__51Rk5G__timeline[data-visible=true][data-motion=ready] .ExperienceTimeline-module__51Rk5G__ring{animation:2.8s cubic-bezier(.22,1,.36,1) .9s infinite ExperienceTimeline-module__51Rk5G__ping}.ExperienceTimeline-module__51Rk5G__year{fill:var(--timeline-accent);font-family:var(--font-mono,monospace);font-size:12px;font-weight:600}.ExperienceTimeline-module__51Rk5G__timeline[data-motion=ready] .ExperienceTimeline-module__51Rk5G__year{opacity:0;transition:opacity .4s;transition-delay:calc(.5s + var(--entry-index,0) * .14s)}.ExperienceTimeline-module__51Rk5G__timeline[data-visible=true] .ExperienceTimeline-module__51Rk5G__year{opacity:1}.ExperienceTimeline-module__51Rk5G__timeline[data-running=false] .ExperienceTimeline-module__51Rk5G__pulse,.ExperienceTimeline-module__51Rk5G__timeline[data-running=false] .ExperienceTimeline-module__51Rk5G__present,.ExperienceTimeline-module__51Rk5G__timeline[data-running=false] .ExperienceTimeline-module__51Rk5G__ring{animation-play-state:paused}@keyframes ExperienceTimeline-module__51Rk5G__drawLine{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes ExperienceTimeline-module__51Rk5G__travel{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100px}}@keyframes ExperienceTimeline-module__51Rk5G__breathe{0%,to{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--timeline-accent) 60%, transparent))}50%{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--timeline-accent) 95%, transparent))}}@keyframes ExperienceTimeline-module__51Rk5G__ping{0%{opacity:.6;transform:scale(1)}75%,to{opacity:0;transform:scale(3)}}@keyframes ExperienceTimeline-module__51Rk5G__techGlint{0%,to{color:color-mix(in srgb, var(--timeline-accent) 70%, var(--text-muted));text-shadow:none}30%{color:var(--timeline-accent);text-shadow:0 0 8px color-mix(in srgb, var(--timeline-accent) 55%, transparent)}}@media (max-width:1023px){.ExperienceTimeline-module__51Rk5G__entry{width:68%}.ExperienceTimeline-module__51Rk5G__role{font-size:29px}}@media (max-width:768px){.ExperienceTimeline-module__51Rk5G__timeline{padding:0}.ExperienceTimeline-module__51Rk5G__entry{width:100%;margin-bottom:43px}.ExperienceTimeline-module__51Rk5G__entry:not(:last-of-type){border-bottom:1px solid var(--border-color);padding-bottom:34px}.ExperienceTimeline-module__51Rk5G__graph{display:none}.ExperienceTimeline-module__51Rk5G__role{letter-spacing:-.7px;font-size:clamp(25px,6.5vw,33px)}.ExperienceTimeline-module__51Rk5G__period{margin-bottom:10px;font-size:10px}.ExperienceTimeline-module__51Rk5G__organizationLine{gap:5px 10px;margin-top:11px}.ExperienceTimeline-module__51Rk5G__organization{font-size:13px}.ExperienceTimeline-module__51Rk5G__location{font-size:10px}.ExperienceTimeline-module__51Rk5G__location:before{margin-right:10px}.ExperienceTimeline-module__51Rk5G__summary{margin-top:14px;font-size:12px}.ExperienceTimeline-module__51Rk5G__bullets{gap:14px;margin-top:18px}.ExperienceTimeline-module__51Rk5G__bullets li{font-size:12px}.ExperienceTimeline-module__51Rk5G__stack{margin-top:20px}}@media (prefers-reduced-motion:reduce){.ExperienceTimeline-module__51Rk5G__timeline[data-motion] .ExperienceTimeline-module__51Rk5G__card,.ExperienceTimeline-module__51Rk5G__timeline[data-motion] .ExperienceTimeline-module__51Rk5G__node,.ExperienceTimeline-module__51Rk5G__timeline[data-motion] .ExperienceTimeline-module__51Rk5G__year{opacity:1;transition:none;transform:none}.ExperienceTimeline-module__51Rk5G__timeline[data-motion] .ExperienceTimeline-module__51Rk5G__line{stroke-dashoffset:0;animation:none}.ExperienceTimeline-module__51Rk5G__timeline[data-motion] .ExperienceTimeline-module__51Rk5G__pulse,.ExperienceTimeline-module__51Rk5G__timeline[data-motion] .ExperienceTimeline-module__51Rk5G__ring{opacity:0;animation:none}.ExperienceTimeline-module__51Rk5G__timeline[data-motion] .ExperienceTimeline-module__51Rk5G__present,.ExperienceTimeline-module__51Rk5G__timeline[data-motion] .ExperienceTimeline-module__51Rk5G__technology{animation:none}}
