.ResumeSections-module__mZIitG__body{text-align:left;grid-template-columns:minmax(0,1.45fr) minmax(190px,1fr);gap:clamp(24px,4vw,38px);display:grid}.ResumeSections-module__mZIitG__body section{min-width:0}.ResumeSections-module__mZIitG__primaryColumn{align-content:start;gap:22px;min-width:0;display:grid}.ResumeSections-module__mZIitG__sectionHead{border-bottom:1px solid;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:10px;display:flex}.ResumeSections-module__mZIitG__sectionHead h2{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:13px;font-weight:800;line-height:1.3}.ResumeSections-module__mZIitG__projectList{margin:0;padding:0;list-style:none}.ResumeSections-module__mZIitG__projectList li+li{border-top:1px dashed var(--rule)}.ResumeSections-module__mZIitG__projectLink{min-height:60px;color:inherit;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0;text-decoration:none;transition:background-color .18s,transform .18s;display:grid}.ResumeSections-module__mZIitG__projectLink:hover,.ResumeSections-module__mZIitG__projectLink:focus-visible{background:#a9c3c92b}.ResumeSections-module__mZIitG__projectLink:active{transform:translate(2px,2px)}.ResumeSections-module__mZIitG__projectLink:hover .ResumeSections-module__mZIitG__projectName,.ResumeSections-module__mZIitG__projectLink:focus-visible .ResumeSections-module__mZIitG__projectName{text-underline-offset:3px;text-decoration:underline}.ResumeSections-module__mZIitG__projectNumber{font-variant-numeric:tabular-nums;font-size:12px;font-weight:750}.ResumeSections-module__mZIitG__projectName{min-width:0;font-family:var(--display);overflow-wrap:anywhere;font-size:clamp(18px,2.6vw,23px);font-weight:400;line-height:1.15;transition:color .18s,transform .18s}.ResumeSections-module__mZIitG__projectLink:hover .ResumeSections-module__mZIitG__projectName,.ResumeSections-module__mZIitG__projectLink:focus-visible .ResumeSections-module__mZIitG__projectName{font-family:var(--accent);color:var(--accent-red);font-size:clamp(21px,2.9vw,26px);transform:translate(3px)rotate(-1deg)}.ResumeSections-module__mZIitG__projectLink:active .ResumeSections-module__mZIitG__projectName{transform:translate(5px,2px)rotate(1deg)}.ResumeSections-module__mZIitG__projectDestination{white-space:nowrap;font-size:12px}.ResumeSections-module__mZIitG__projectDestination span{font-size:13px}.ResumeSections-module__mZIitG__details{align-content:start;gap:22px;display:grid}.ResumeSections-module__mZIitG__education p{margin:0}.ResumeSections-module__mZIitG__degree{font-family:var(--display);padding-top:14px;font-size:21px;font-weight:400;line-height:1.3}.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__specialization,.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__institution{margin-top:4px;font-size:13px;line-height:1.55}.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__educationMeta{margin-top:10px;font-size:12px;line-height:1.5}.ResumeSections-module__mZIitG__factList{margin:12px 0 0}.ResumeSections-module__mZIitG__factList div+div{margin-top:9px}.ResumeSections-module__mZIitG__factList dt{letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:800}.ResumeSections-module__mZIitG__factList dd{margin:2px 0 0;font-size:13px;line-height:1.5}@media (prefers-reduced-motion:reduce){.ResumeSections-module__mZIitG__projectLink,.ResumeSections-module__mZIitG__projectName{transition:none}}@media (max-width:480px){.ResumeSections-module__mZIitG__body{grid-template-columns:1fr;gap:18px}.ResumeSections-module__mZIitG__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ResumeSections-module__mZIitG__sectionHead{padding-bottom:6px}.ResumeSections-module__mZIitG__sectionHead h2{letter-spacing:.04em;font-size:12px}.ResumeSections-module__mZIitG__projectLink{min-height:44px;padding-block:5px}.ResumeSections-module__mZIitG__degree{padding-top:8px}.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__educationMeta{margin-top:6px}.ResumeSections-module__mZIitG__factList{margin-top:8px}.ResumeSections-module__mZIitG__factList div+div{margin-top:6px}}@media (min-width:481px) and (max-height:850px){.ResumeSections-module__mZIitG__projectLink{min-height:50px}.ResumeSections-module__mZIitG__primaryColumn,.ResumeSections-module__mZIitG__details{gap:18px}}@media (min-width:601px) and (max-height:600px){.ResumeSections-module__mZIitG__body{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px}.ResumeSections-module__mZIitG__primaryColumn,.ResumeSections-module__mZIitG__details{gap:14px}.ResumeSections-module__mZIitG__projectLink{grid-template-columns:18px minmax(0,1fr);gap:3px;min-height:40px;padding-block:4px}.ResumeSections-module__mZIitG__projectDestination{grid-column:2;font-size:11px}.ResumeSections-module__mZIitG__sectionHead{padding-bottom:6px}.ResumeSections-module__mZIitG__sectionHead h2{letter-spacing:.02em;font-size:11px}.ResumeSections-module__mZIitG__degree{padding-top:8px}.ResumeSections-module__mZIitG__factList{margin-top:8px}.ResumeSections-module__mZIitG__factList div+div{margin-top:6px}}@media (max-width:480px) and (max-height:700px){.ResumeSections-module__mZIitG__body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.ResumeSections-module__mZIitG__details{grid-template-columns:1fr;gap:12px}.ResumeSections-module__mZIitG__primaryColumn{gap:12px}.ResumeSections-module__mZIitG__sectionHead h2{letter-spacing:.02em;font-size:10px}.ResumeSections-module__mZIitG__projectLink{grid-template-columns:16px minmax(0,1fr);gap:3px;min-height:44px;padding-block:3px}.ResumeSections-module__mZIitG__projectDestination{grid-column:2;font-size:10px}.ResumeSections-module__mZIitG__projectName{font-size:18px}.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__specialization,.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__institution,.ResumeSections-module__mZIitG__factList dd{font-size:11px;line-height:1.35}.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__educationMeta,.ResumeSections-module__mZIitG__factList dt{font-size:10px}.ResumeSections-module__mZIitG__factList div+div{margin-top:5px}}@media (max-width:480px) and (max-height:600px){.ResumeSections-module__mZIitG__details,.ResumeSections-module__mZIitG__primaryColumn{gap:10px}.ResumeSections-module__mZIitG__sectionHead{padding-bottom:4px}.ResumeSections-module__mZIitG__degree{padding-top:4px;font-size:18px;line-height:1.1}.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__specialization,.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__institution{margin-top:3px;line-height:1.2}.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__educationMeta{margin-top:4px;line-height:1.3}.ResumeSections-module__mZIitG__factList{margin-top:6px}.ResumeSections-module__mZIitG__factList dt{letter-spacing:.02em;line-height:1.1}.ResumeSections-module__mZIitG__factList dd{margin-top:1px;line-height:1.25}.ResumeSections-module__mZIitG__factList div+div{margin-top:4px}}@media (min-width:601px) and (max-height:420px){.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__specialization,.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__institution,.ResumeSections-module__mZIitG__factList dd{font-size:11px;line-height:1.3}.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__educationMeta,.ResumeSections-module__mZIitG__factList dt{font-size:10px;line-height:1.25}.ResumeSections-module__mZIitG__degree{padding-top:6px;font-size:18px}.ResumeSections-module__mZIitG__factList{margin-top:6px}.ResumeSections-module__mZIitG__factList div+div{margin-top:4px}.ResumeSections-module__mZIitG__details{gap:10px}}@media (min-width:701px) and (min-height:851px){.ResumeSections-module__mZIitG__sectionHead h2{font-size:14px}.ResumeSections-module__mZIitG__projectLink{min-height:70px}.ResumeSections-module__mZIitG__projectName{font-size:26px}.ResumeSections-module__mZIitG__projectLink:hover .ResumeSections-module__mZIitG__projectName,.ResumeSections-module__mZIitG__projectLink:focus-visible .ResumeSections-module__mZIitG__projectName{font-size:29px}.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__specialization,.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__institution,.ResumeSections-module__mZIitG__factList dd{font-size:15px}.ResumeSections-module__mZIitG__details{gap:28px}}@media (min-width:481px) and (max-width:600px) and (max-height:600px){.ResumeSections-module__mZIitG__body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.ResumeSections-module__mZIitG__primaryColumn,.ResumeSections-module__mZIitG__details{gap:8px}.ResumeSections-module__mZIitG__sectionHead{padding-bottom:4px}.ResumeSections-module__mZIitG__sectionHead h2{letter-spacing:.01em;font-size:10px}.ResumeSections-module__mZIitG__projectLink{grid-template-columns:14px minmax(0,1fr);gap:2px;min-height:36px;padding-block:3px}.ResumeSections-module__mZIitG__projectDestination{grid-column:2;font-size:10px}.ResumeSections-module__mZIitG__projectName{font-size:18px}.ResumeSections-module__mZIitG__degree{padding-top:4px;font-size:18px;line-height:1.1}.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__specialization,.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__institution,.ResumeSections-module__mZIitG__factList dd{font-size:10px;line-height:1.2}.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__educationMeta,.ResumeSections-module__mZIitG__factList dt{font-size:9px;line-height:1.2}.ResumeSections-module__mZIitG__education .ResumeSections-module__mZIitG__educationMeta{margin-top:4px}.ResumeSections-module__mZIitG__factList{margin-top:6px}.ResumeSections-module__mZIitG__factList div+div{margin-top:4px}}
.DeskBackground-module__-OJaTa__desk{z-index:0;pointer-events:none;background-color:#e7e0ca;background-image:linear-gradient(#4d5f581f 1px,#0000 1px),linear-gradient(90deg,#4d5f581f 1px,#0000 1px);background-size:28px 28px;position:fixed;inset:0;overflow:hidden}.DeskBackground-module__-OJaTa__backing{position:absolute;box-shadow:8px 12px #282e3114}.DeskBackground-module__-OJaTa__checks{background:conic-gradient(#b75538 25%, #e7b988 0 50%, #b75538 0 75%, #e7b988 0) 0 0 / 72px 72px;border:12px solid #ead5ae;width:max(28vw,220px);height:64%;top:-8%;left:-7%;transform:rotate(-12deg)}.DeskBackground-module__-OJaTa__waves{background-color:#2f5c60;background-image:repeating-radial-gradient(circle at 0 100%,#0000 0 14px,#a8c6b8 15px 18px,#0000 19px 32px);background-size:120px 120px;border:10px solid #2f5c60;width:max(30vw,230px);height:72%;top:9%;right:-9%;transform:rotate(13deg)}.DeskBackground-module__-OJaTa__stripes{background:repeating-linear-gradient(90deg,#d8ac41 0 16px,#f1dc97 16px 19px,#3e5550 19px 22px,#f1dc97 22px 25px);border-top:12px solid #ead5ae;width:55%;height:180px;bottom:-72px;left:-9%;transform:rotate(9deg)}@media (max-width:1100px){.DeskBackground-module__-OJaTa__checks{width:38%;left:-16%}.DeskBackground-module__-OJaTa__waves{width:38%;right:-16%}}
.RoleRotator-module__M2MgRW__viewport{width:min(280px,100%);height:var(--role-height,48px);display:block;position:relative;overflow:hidden}.RoleRotator-module__M2MgRW__screenReaderText{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.RoleRotator-module__M2MgRW__track{will-change:transform;flex-direction:column;animation:12s ease-in-out infinite RoleRotator-module__M2MgRW__swipe;display:flex}.RoleRotator-module__M2MgRW__frame{width:100%;height:var(--role-height,48px);flex:none;align-items:flex-start;display:flex}.RoleRotator-module__M2MgRW__paper{border-left:4px solid var(--accent-red);max-width:100%;color:var(--ink);font-family:var(--accent);text-align:left;background:#f2eedf;align-items:center;padding:5px 14px 8px 10px;font-size:23px;font-weight:400;line-height:1.05;display:inline-flex;position:relative;transform:rotate(-1.5deg);box-shadow:3px 4px #282e3130}.RoleRotator-module__M2MgRW__paper:after{content:"";background-color:#ec173a;background-image:linear-gradient(135deg,#eceddc 25%,#0000 25%),linear-gradient(225deg,#eceddc 25%,#0000 25%),linear-gradient(315deg,#eceddc 25%,#0000 25%),linear-gradient(45deg,#eceddc 25%,#0000 25%);background-position:-12px 0,-12px 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;height:5px;position:absolute;bottom:0;left:0;right:0}@keyframes RoleRotator-module__M2MgRW__swipe{0%,28%{transform:translateY(0)}33%,61%{transform:translateY(calc(-1 * var(--role-height,48px)))}66%,94%{transform:translateY(calc(-2 * var(--role-height,48px)))}to{transform:translateY(calc(-3 * var(--role-height,48px)))}}@media (max-width:480px){.RoleRotator-module__M2MgRW__paper{padding:4px 8px 7px;font-size:20px}}@media (prefers-reduced-motion:reduce){.RoleRotator-module__M2MgRW__track{will-change:auto;animation:none}.RoleRotator-module__M2MgRW__frame:not(:first-child){display:none}}@media (max-width:360px){.RoleRotator-module__M2MgRW__paper{padding-inline:8px;font-size:18px}}@media (min-width:601px) and (max-height:600px),(max-width:480px) and (max-height:700px){.RoleRotator-module__M2MgRW__paper{padding:3px 8px 6px;font-size:17px}}@media (max-width:480px) and (max-height:600px){.RoleRotator-module__M2MgRW__paper{padding-block:2px 5px;font-size:16px}}@media (min-width:481px) and (max-width:600px) and (max-height:600px){.RoleRotator-module__M2MgRW__paper{padding:3px 5px 6px;font-size:14px}}
.NotebookTurn-module__N-AsRq__book{--margin-line:43px;--notebook-blank-layer:2;--notebook-face-layer:3;--notebook-binding-layer:4;--notebook-control-layer:5;--notebook-motion-layer:6;isolation:isolate}.NotebookTurn-module__N-AsRq__blank{z-index:var(--notebook-blank-layer);border:1px solid var(--paper-edge);background-color:var(--paper);background-image:linear-gradient(90deg, transparent calc(var(--margin-line) - 1px), #83adb873 calc(var(--margin-line) - 1px), #83adb873 calc(var(--margin-line) + 1px), transparent calc(var(--margin-line) + 1px)), repeating-linear-gradient(to bottom, transparent 0 27px, #89a8b11f 28px 29px), linear-gradient(#f8f6ee99, #f8f6ee99), var(--paper-image);background-position:50%;background-size:100% 100%,100% 29px,cover,cover;position:absolute;inset:0;box-shadow:0 24px 52px #0e171b40,5px 7px #0e171b2e}.NotebookTurn-module__N-AsRq__face{z-index:var(--notebook-face-layer);transform-origin:50%;position:relative}.NotebookTurn-module__N-AsRq__face>article{box-shadow:none}.NotebookTurn-module__N-AsRq__book[data-turned=true] .NotebookTurn-module__N-AsRq__face{visibility:hidden}.NotebookTurn-module__N-AsRq__book[data-motion=remove] .NotebookTurn-module__N-AsRq__face,.NotebookTurn-module__N-AsRq__book[data-motion=return] .NotebookTurn-module__N-AsRq__face{visibility:visible;z-index:var(--notebook-motion-layer);pointer-events:none;will-change:transform, opacity;animation:.62s cubic-bezier(.3,.05,.6,.95) both NotebookTurn-module__N-AsRq__lift-sheet}.NotebookTurn-module__N-AsRq__book[data-motion=return] .NotebookTurn-module__N-AsRq__face{animation-direction:reverse}@keyframes NotebookTurn-module__N-AsRq__lift-sheet{0%{opacity:1;transform:translateY(0)scale(1);box-shadow:0 0 #0e171b00}40%{opacity:1;transform:translateY(-12px)scale(1.012);box-shadow:0 20px 36px #0e171b33}to{opacity:0;transform:translateY(-28px)scale(1.025);box-shadow:0 28px 48px #0e171b33}}.NotebookTurn-module__N-AsRq__turnControl{z-index:var(--notebook-control-layer);color:#586266;min-width:104px;min-height:44px;font-family:var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;justify-content:flex-end;align-items:center;gap:7px;padding:9px 13px 6px;font-size:16px;line-height:1;display:flex;position:absolute;bottom:0;right:0}.NotebookTurn-module__N-AsRq__turnControl:hover{color:var(--ink)}.NotebookTurn-module__N-AsRq__turnControl:focus-visible{outline:2px dashed var(--ink);outline-offset:-5px}.NotebookTurn-module__N-AsRq__turnControl[aria-disabled=true]{opacity:.5}.NotebookTurn-module__N-AsRq__book[data-turned=true] .NotebookTurn-module__N-AsRq__turnControl{flex-direction:row-reverse;justify-content:flex-start}.NotebookTurn-module__N-AsRq__book[data-turned=true] .NotebookTurn-module__N-AsRq__turnControl svg{transform:scaleX(-1)}.NotebookTurn-module__N-AsRq__pageNumber{z-index:3;color:var(--muted);font-family:var(--accent);pointer-events:none;font-size:14px;line-height:1;position:absolute;bottom:13px;left:50%;transform:translate(-50%)}.NotebookTurn-module__N-AsRq__announcement{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:700px){.NotebookTurn-module__N-AsRq__book{--margin-line:20px}}@media (max-width:480px){.NotebookTurn-module__N-AsRq__book{--margin-line:11px}}@media (prefers-reduced-motion:reduce){.NotebookTurn-module__N-AsRq__book[data-motion=remove] .NotebookTurn-module__N-AsRq__face,.NotebookTurn-module__N-AsRq__book[data-motion=return] .NotebookTurn-module__N-AsRq__face{animation-duration:1ms}}
.TechStackPage-module__d4-nSG__frame{inset:28px 32px 56px calc(var(--margin-line) + 16px);color:var(--ink);position:absolute;container-type:size}.TechStackPage-module__d4-nSG__layout{grid-template-rows:auto minmax(0,1fr);gap:14px;height:100%;display:grid}.TechStackPage-module__d4-nSG__header h2{font-family:var(--display);margin:0;font-size:clamp(30px,5cqw,40px);font-weight:400;line-height:1.1}.TechStackPage-module__d4-nSG__groups{grid-template-rows:repeat(5,minmax(0,1fr));display:grid}.TechStackPage-module__d4-nSG__group{border-top:1px solid var(--rule);flex-direction:column;justify-content:center;min-width:0;padding:4px 0;display:flex}.TechStackPage-module__d4-nSG__group h3{margin:0 0 7px;font-size:14px;font-weight:650;line-height:1.25}.TechStackPage-module__d4-nSG__group ul{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px 10px;margin:0;padding:0;list-style:none;display:grid}.TechStackPage-module__d4-nSG__group li{text-align:center;flex-direction:column;align-items:center;gap:8px;min-width:0;font-size:12px;line-height:1.3;display:flex}.TechStackPage-module__d4-nSG__mark{flex:none;place-items:center;width:clamp(30px,5cqh,44px);height:clamp(30px,5cqh,44px);display:grid}.TechStackPage-module__d4-nSG__mark img,.TechStackPage-module__d4-nSG__mark svg{object-fit:contain;width:100%;height:100%;display:block}.TechStackPage-module__d4-nSG__name{max-width:100%}@container (max-width:440px){.TechStackPage-module__d4-nSG__layout{gap:10px}.TechStackPage-module__d4-nSG__header h2{font-size:30px}.TechStackPage-module__d4-nSG__groups{grid-template-rows:1fr 1fr 1fr 1fr 1.15fr}.TechStackPage-module__d4-nSG__group{padding:5px 0}.TechStackPage-module__d4-nSG__group h3{margin-bottom:7px;font-size:12px}.TechStackPage-module__d4-nSG__group ul{grid-template-columns:repeat(var(--tech-columns), minmax(0, 1fr));column-gap:6px}.TechStackPage-module__d4-nSG__group li{gap:6px;font-size:11px}.TechStackPage-module__d4-nSG__mark{width:clamp(22px,5cqh,34px);height:clamp(22px,5cqh,34px)}}@container (max-width:300px) and (max-height:600px){.TechStackPage-module__d4-nSG__layout{gap:8px}.TechStackPage-module__d4-nSG__header h2{font-size:28px}.TechStackPage-module__d4-nSG__group{padding:4px 0}.TechStackPage-module__d4-nSG__group h3{margin-bottom:5px;font-size:11px}.TechStackPage-module__d4-nSG__group li{gap:4px;font-size:9.5px}}@container (min-width:400px) and (max-height:350px){.TechStackPage-module__d4-nSG__layout{gap:6px}.TechStackPage-module__d4-nSG__header h2{font-size:22px}.TechStackPage-module__d4-nSG__groups{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.TechStackPage-module__d4-nSG__group{justify-content:flex-start;padding:2px 0 0}.TechStackPage-module__d4-nSG__group:last-child{grid-column:1/-1}.TechStackPage-module__d4-nSG__group h3{margin-bottom:3px;font-size:9px;line-height:1.1}.TechStackPage-module__d4-nSG__group ul{grid-template-columns:repeat(var(--tech-columns), minmax(0, 1fr));column-gap:4px}.TechStackPage-module__d4-nSG__group li{gap:2px;font-size:9px;line-height:1.15}.TechStackPage-module__d4-nSG__mark{width:14px;height:14px}}@media (max-width:480px){.TechStackPage-module__d4-nSG__frame{inset:20px 14px 48px calc(var(--margin-line) + 10px)}}
.NotebookEntrance-module__pRS6Cq__shell{z-index:1;width:min(100%,820px);position:relative}.NotebookEntrance-module__pRS6Cq__shell [data-entry]{animation:NotebookEntrance-module__pRS6Cq__component-enter .36s cubic-bezier(.2, .7, .2, 1) var(--entry-delay) backwards}.NotebookEntrance-module__pRS6Cq__shell [data-entry=contact]{--entry-delay:80ms}.NotebookEntrance-module__pRS6Cq__shell [data-entry=identity]{--entry-delay:.18s}.NotebookEntrance-module__pRS6Cq__shell [data-entry=intro]{--entry-delay:.3s}:is(.NotebookEntrance-module__pRS6Cq__shell [data-entry=projects],.NotebookEntrance-module__pRS6Cq__shell [data-entry=education]){--entry-delay:.42s}:is(.NotebookEntrance-module__pRS6Cq__shell [data-entry=open-source],.NotebookEntrance-module__pRS6Cq__shell [data-entry=details]){--entry-delay:.56s}.NotebookEntrance-module__pRS6Cq__shell [data-entry=control]{--entry-delay:.72s}@keyframes NotebookEntrance-module__pRS6Cq__component-enter{0%{opacity:0;pointer-events:none;transform:translateY(10px)}to{opacity:1;pointer-events:auto;transform:none}}@media (max-width:480px) and (min-height:701px){:is(.NotebookEntrance-module__pRS6Cq__shell [data-entry=education],.NotebookEntrance-module__pRS6Cq__shell [data-entry=details]){--entry-delay:.68s}.NotebookEntrance-module__pRS6Cq__shell [data-entry=control]{--entry-delay:.82s}}:is(.NotebookEntrance-module__pRS6Cq__shell:focus-within [data-entry],.NotebookEntrance-module__pRS6Cq__shell[data-entrance-revealed=true] [data-entry]){animation:none}@media (prefers-reduced-motion:reduce){.NotebookEntrance-module__pRS6Cq__shell [data-entry]{animation:none}}
.page-module___8aEwW__stage{--stage-inset:clamp(16px, 3dvh, 32px);height:100dvh;padding:var(--stage-inset) 24px;isolation:isolate;background-color:var(--surround);justify-content:center;align-items:center;display:flex;position:relative;overflow:clip}@media (any-hover:hover) and (any-pointer:fine){.page-module___8aEwW__stage,.page-module___8aEwW__stage a,.page-module___8aEwW__stage button,.page-module___8aEwW__stage button[aria-disabled=true]{cursor:var(--cursor-default)}.page-module___8aEwW__stage:active,.page-module___8aEwW__stage a:active,.page-module___8aEwW__stage button:active{cursor:var(--cursor-pressed)}}.page-module___8aEwW__playingCat{z-index:2;pointer-events:none;width:170px;height:auto;position:absolute;bottom:0;right:-170px}.page-module___8aEwW__notebook{z-index:1;perspective:1800px;width:min(100%,820px);position:relative}.page-module___8aEwW__underPage{border:1px solid var(--paper-edge);pointer-events:none;background:repeating-linear-gradient(#0000 0 27px,#89a8b11c 28px 29px),#eee9dc;position:absolute;inset:0;box-shadow:4px 7px #282e311f}.page-module___8aEwW__underPageBack{z-index:0;transform:translate(11px,10px)rotate(.45deg)}.page-module___8aEwW__underPageFront{z-index:1;transform:translate(6px,5px)rotate(.2deg)}.page-module___8aEwW__sheet{z-index:2;--margin-line:43px;isolation:isolate;width:100%;height:min(1025px, calc(100dvh - 2 * var(--stage-inset) - 12px));background:var(--paper);border:1px solid var(--paper-edge);transform-origin:0;transform-style:preserve-3d;backface-visibility:hidden;position:relative;box-shadow:0 24px 52px #0e171b40,5px 7px #0e171b2e}.page-module___8aEwW__binding{z-index:var(--notebook-binding-layer,4);pointer-events:none;flex-direction:column;justify-content:space-around;display:flex;position:absolute;top:24px;bottom:24px;left:-8px}.page-module___8aEwW__bindingHole{background:#43514f;border:3px solid #e8e1d2;border-radius:50%;width:16px;height:16px;position:relative;box-shadow:inset 2px 2px 3px #0c14148c,1px 1px #ffffff8c}.page-module___8aEwW__bindingHole:before{content:"";border:2px solid #876f55;border-right:0;border-radius:8px 0 0 8px;width:22px;height:6px;position:absolute;top:2px;left:-18px;box-shadow:0 1px #ffffff80}.page-module___8aEwW__paperTint{z-index:-1;pointer-events:none;background-image:linear-gradient(90deg, transparent calc(var(--margin-line) - 1px), #83adb87a calc(var(--margin-line) - 1px), #83adb87a calc(var(--margin-line) + 1px), transparent calc(var(--margin-line) + 1px)), repeating-linear-gradient(to bottom, transparent 0 27px, #89a8b121 28px 29px), linear-gradient(#f8f6ee91, #f8f6ee91), var(--paper-image);opacity:.93;background-position:50%;background-size:100% 100%,100% 29px,cover,cover;position:absolute;inset:0}.page-module___8aEwW__sheetContent{z-index:1;flex-direction:column;justify-content:flex-start;gap:22px;height:100%;padding:28px 56px 52px;display:flex;position:relative}.page-module___8aEwW__contactHeader{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 18px;font-size:12px;line-height:1.4;display:flex}.page-module___8aEwW__contactActions{align-items:center;gap:6px;display:flex}.page-module___8aEwW__contactHeader a{border-bottom:1px solid var(--rule);min-height:36px;color:var(--ink);white-space:nowrap;background:#fffffcbd;align-items:center;padding:4px 7px;text-decoration:none;transition:transform .16s,background-color .16s;display:inline-flex;box-shadow:1px 2px #282e311c}.page-module___8aEwW__contactHeader .page-module___8aEwW__contactLink{border-left:2px solid var(--accent-red);letter-spacing:.1em;text-transform:uppercase;font-weight:800}.page-module___8aEwW__contactHeader a:hover,.page-module___8aEwW__contactHeader a:focus-visible{background:#f2eedf;transform:translateY(-2px)}.page-module___8aEwW__contactHeader ul{flex-wrap:nowrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.page-module___8aEwW__nameplate{grid-template-columns:minmax(0,1fr) 148px;align-items:center;gap:24px;padding-top:20px;display:grid}.page-module___8aEwW__kicker{text-transform:uppercase;letter-spacing:.13em;margin:0 0 10px;font-size:11px;font-weight:700}.page-module___8aEwW__name{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:clamp(44px,6.5dvh,64px);font-weight:400;line-height:1.1}.page-module___8aEwW__nameLine{width:fit-content;min-height:1.1em;display:block}.page-module___8aEwW__nameLine:hover,.page-module___8aEwW__nameLine:focus-visible{font-family:var(--accent)}.page-module___8aEwW__role{height:var(--role-height,48px);margin:18px 0 0}.page-module___8aEwW__photo{background:#fffdf7;justify-self:end;width:148px;padding:8px;position:relative;transform:rotate(2deg);box-shadow:3px 5px #282e3130}.page-module___8aEwW__photo img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;display:block}.page-module___8aEwW__intro{border-left:3px solid var(--accent-red);background:#fffffca3;flex-wrap:wrap;flex:none;align-items:baseline;gap:5px 9px;margin:0;padding:10px 12px 11px;line-height:1.35;display:flex;box-shadow:2px 3px #282e311a}.page-module___8aEwW__introLead{letter-spacing:-.01em;font-size:15px;font-weight:700}.page-module___8aEwW__introAside{z-index:0;font-family:var(--accent);padding:1px 5px 2px;font-size:20px;line-height:1.1;position:relative;transform:rotate(-.6deg)}.page-module___8aEwW__introAside:before{content:"";z-index:-1;background:#ffe889c7;position:absolute;inset:48% 0 0;transform:rotate(.8deg)}.page-module___8aEwW__resumeContent:focus{outline:none}.page-module___8aEwW__missing{min-height:0;padding:50px}.page-module___8aEwW__missing p:not(.page-module___8aEwW__kicker){font-size:15px;line-height:1.6}.page-module___8aEwW__missing a{text-underline-offset:4px;font-weight:800}@media (max-width:700px){.page-module___8aEwW__stage{padding-inline:20px}.page-module___8aEwW__sheet{--margin-line:20px}.page-module___8aEwW__sheetContent{padding-inline:32px}.page-module___8aEwW__nameplate{grid-template-columns:minmax(0,1fr) 104px;gap:12px}.page-module___8aEwW__name{font-size:clamp(36px,7vw,52px)}.page-module___8aEwW__photo{width:104px}}@media (max-width:1100px){.page-module___8aEwW__playingCat{display:none}}@media (max-width:480px){.page-module___8aEwW__stage{--stage-inset:12px;--role-height:38px;padding-inline:14px}.page-module___8aEwW__sheet{--margin-line:11px}.page-module___8aEwW__binding{left:-6px}.page-module___8aEwW__bindingHole{border-width:2px;width:13px;height:13px}.page-module___8aEwW__bindingHole:before{width:16px;height:5px;left:-13px}.page-module___8aEwW__sheetContent{gap:14px;padding:16px 18px 44px}.page-module___8aEwW__contactHeader{gap:5px;font-size:11px}.page-module___8aEwW__contactHeader a{min-height:28px;padding:4px}.page-module___8aEwW__contactHeader ul{gap:4px}.page-module___8aEwW__nameplate{grid-template-columns:minmax(0,1fr) 68px;gap:8px;padding-top:12px}.page-module___8aEwW__name{font-size:clamp(29px,8.5vw,40px)}.page-module___8aEwW__role{margin-top:8px}.page-module___8aEwW__photo{width:68px;padding:4px}.page-module___8aEwW__intro{gap:4px;margin:0;padding:8px}.page-module___8aEwW__introLead{font-size:13px}.page-module___8aEwW__introAside{font-size:17px}}@media (prefers-reduced-motion:reduce){.page-module___8aEwW__playingCat{display:none}.page-module___8aEwW__contactHeader a{transition:none}}.page-module___8aEwW__nameBlock{min-width:0}.page-module___8aEwW__nameLine:focus-visible{outline:2px dashed var(--ink);outline-offset:3px}@media (max-width:360px){.page-module___8aEwW__contactHeader{font-size:10px}.page-module___8aEwW__contactHeader ul{gap:3px}.page-module___8aEwW__nameplate{grid-template-columns:minmax(0,1fr) 58px}.page-module___8aEwW__photo{width:58px}}@media (min-width:481px) and (max-height:850px){.page-module___8aEwW__sheetContent{gap:12px;padding:20px 40px 48px}.page-module___8aEwW__nameplate{padding-top:12px}.page-module___8aEwW__name{font-size:48px}.page-module___8aEwW__role{margin-top:10px}.page-module___8aEwW__intro{padding-block:8px}}@media (min-width:601px) and (max-height:600px){.page-module___8aEwW__stage{--stage-inset:12px}.page-module___8aEwW__notebook{width:min(100%,960px)}.page-module___8aEwW__sheetContent{grid-template-rows:auto 1fr;grid-template-columns:220px minmax(0,1fr);gap:12px 24px;padding:14px 28px 44px;display:grid}.page-module___8aEwW__sheetContent header,.page-module___8aEwW__intro{grid-column:1}.page-module___8aEwW__resumeContent{grid-area:1/2/3}.page-module___8aEwW__contactHeader{flex-wrap:wrap;font-size:10px}.page-module___8aEwW__contactHeader a{min-height:26px}.page-module___8aEwW__nameplate{grid-template-columns:1fr;padding-top:8px;position:relative}.page-module___8aEwW__name{font-size:34px}.page-module___8aEwW__photo{width:50px;padding:3px;position:absolute;bottom:0;right:0}.page-module___8aEwW__role{--role-height:38px;margin:6px 56px 0 0}.page-module___8aEwW__intro{align-self:start;padding:6px}.page-module___8aEwW__introLead{font-size:12px}.page-module___8aEwW__introAside{font-size:16px}.page-module___8aEwW__playingCat{display:none}}@media (max-width:480px) and (max-height:700px){.page-module___8aEwW__sheetContent{gap:10px;padding:12px 14px 40px}.page-module___8aEwW__name{font-size:26px}.page-module___8aEwW__role{--role-height:32px;margin-top:5px}.page-module___8aEwW__nameplate{padding-top:8px}.page-module___8aEwW__intro{gap:3px;padding:6px}.page-module___8aEwW__introLead{font-size:12px}.page-module___8aEwW__introAside{font-size:15px}}@media (max-width:480px) and (max-height:600px){.page-module___8aEwW__sheetContent{gap:8px;padding:10px 14px 36px}.page-module___8aEwW__name{font-size:24px}.page-module___8aEwW__role{--role-height:28px;margin-top:4px}.page-module___8aEwW__nameplate{padding-top:6px}.page-module___8aEwW__intro{gap:2px;padding:4px 6px;line-height:1.2}.page-module___8aEwW__introAside{font-size:14px;line-height:1.05}}@media (min-width:601px) and (max-height:420px){.page-module___8aEwW__sheetContent{gap:10px 24px;padding-bottom:40px}.page-module___8aEwW__name{font-size:32px}.page-module___8aEwW__introAside{font-size:15px}}@media (min-width:701px) and (min-height:851px){.page-module___8aEwW__sheetContent{padding-top:24px;padding-bottom:48px}.page-module___8aEwW__introLead{font-size:17px}.page-module___8aEwW__introAside{font-size:23px}}@media (min-width:481px) and (max-width:600px) and (max-height:600px){.page-module___8aEwW__stage{--stage-inset:10px;padding-inline:20px}.page-module___8aEwW__sheetContent{grid-template-rows:auto 1fr;grid-template-columns:164px minmax(0,1fr);gap:8px 14px;padding:10px 18px 32px;display:grid}.page-module___8aEwW__sheetContent header,.page-module___8aEwW__intro{grid-column:1}.page-module___8aEwW__resumeContent{grid-area:1/2/3}.page-module___8aEwW__contactHeader{flex-wrap:wrap;gap:4px;font-size:9px}.page-module___8aEwW__contactHeader a{min-height:24px;padding:3px}.page-module___8aEwW__contactHeader ul{gap:3px}.page-module___8aEwW__nameplate{grid-template-columns:1fr;padding-top:6px;position:relative}.page-module___8aEwW__name{font-size:26px}.page-module___8aEwW__photo{width:40px;padding:3px;position:absolute;bottom:0;right:0}.page-module___8aEwW__role{--role-height:30px;margin:4px 44px 0 0}.page-module___8aEwW__intro{align-self:start;gap:2px;padding:4px}.page-module___8aEwW__introLead{font-size:11px}.page-module___8aEwW__introAside{font-size:13px}}.page-module___8aEwW__resumeDownload{font-weight:700}
