:root{--bg-color:#0b0d0f;--bg-second-color:rgba(11,13,15,.84);--surface:#121518;--text:#f2f0e9;--muted:#969a9d;--accent:#b6f35b;--border:hsla(47,26%,93%,.14);--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1.0625rem;--text-lg:1.125rem;--title-card:1.75rem;--title-section:clamp(2.75rem,5vw,4.5rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:var(--bg-color);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}body:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.8'/%3E%3C/svg%3E");content:"";inset:0;opacity:.035;pointer-events:none;position:fixed;z-index:20}::selection{background:var(--accent);color:#0b0d0f}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em}h2{font-size:var(--title-section);font-weight:520;line-height:1}p{color:#c6c8c8;font-size:var(--text-base);line-height:1.72}section{border-bottom:1px solid var(--border);padding:clamp(5rem,10vw,9rem) 0;scroll-margin-top:5rem}.eyebrow{color:var(--accent);display:block;font-family:var(--mono);font-size:var(--text-xs);letter-spacing:.16em;line-height:1.3;margin-bottom:1.5rem;text-transform:uppercase}a,button{-webkit-tap-highlight-color:transparent}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.Menu_container__9tDYw{align-items:center;display:flex}.Menu_menuButton__VX2pA{background:transparent;border:0;color:var(--text);cursor:pointer;display:none;padding:.4rem}.Menu_menu__d7dQ8{align-items:center;display:flex;gap:1.8rem;list-style:none;margin:0;padding:0}.Menu_menu__d7dQ8 a{color:#c5c7c8;font-size:.9375rem;font-weight:600;line-height:1.3;text-decoration:none;transition:color .2s}.Menu_menu__d7dQ8 a:hover{color:var(--text)}.Menu_menu__d7dQ8 .Menu_contactLink__\+U1l5{background:var(--accent);border-radius:999px;color:#0b0d0f;display:inline-block;padding:.7rem 1rem}.Menu_menu__d7dQ8 .Menu_contactLink__\+U1l5:hover{background:#c7ff72;color:#0b0d0f}@media (max-width:680px){.Menu_menuButton__VX2pA{display:flex}.Menu_menu__d7dQ8{align-items:stretch;background:#101316;border-bottom:1px solid var(--border);display:none;flex-direction:column;gap:0;left:0;padding:1.5rem;position:absolute;right:0;top:76px}.Menu_menu__d7dQ8.Menu_open__OYvuQ{display:flex}.Menu_menu__d7dQ8 li a{display:block;font-size:1rem;padding:1rem 0}.Menu_menu__d7dQ8 .Menu_contactLink__\+U1l5{margin-top:.5rem;padding:.8rem 1rem;text-align:center}}.Header_header__HXQOm{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--bg-second-color);border-bottom:1px solid var(--border);display:flex;height:76px;justify-content:space-between;padding:0 max(1.5rem,calc(50vw - 640px));position:-webkit-sticky;position:sticky;top:0;z-index:10}.Header_logo__UsziS{align-items:center;color:var(--text);display:flex;font-size:1.25rem;font-weight:750;letter-spacing:-.06em;text-decoration:none}.Header_logo__UsziS span{color:var(--accent)}.About_about__9QFwu{display:flex;flex-direction:column;gap:clamp(4rem,7vw,6rem);justify-content:flex-end;min-height:calc(100vh - 76px);padding-top:clamp(6rem,12vw,10rem)}.About_heroRow__uZe6j{grid-gap:clamp(3rem,9vw,9rem);align-items:end;display:grid;gap:clamp(3rem,9vw,9rem);grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}.About_title__zQVAF{font-size:clamp(4rem,9vw,7.5rem);font-weight:540;line-height:.86;margin:0;max-width:760px}.About_title__zQVAF:before{color:var(--accent);content:"Senior frontend engineer";display:block;font-family:var(--mono);font-size:.75rem;letter-spacing:.16em;line-height:1;margin-bottom:2rem;text-transform:uppercase}.About_lead__75Y67{font-size:1.1875rem;line-height:1.7;margin:0;max-width:64ch}.About_details__RuZHr{grid-gap:2.5rem;border-top:1px solid var(--border);display:grid;gap:2.5rem;grid-template-columns:1fr;padding-top:clamp(3rem,5vw,4.5rem)}.About_details__RuZHr p{color:#c0c3c4;font-size:var(--text-lg);line-height:1.72;margin:0;width:100%}.About_about__9QFwu strong{color:var(--text);font-weight:600}@media (max-width:980px){.About_heroRow__uZe6j{gap:3rem;grid-template-columns:1fr}.About_lead__75Y67{max-width:760px}}.Contact_infoContainer__D7F1f{align-items:flex-start;display:flex;flex-direction:column}.Contact_infoContainer__D7F1f h3{font-size:clamp(3.5rem,8vw,6.5rem);font-weight:520;letter-spacing:-.06em;line-height:.92;margin:0 0 1rem;max-width:900px}.Contact_infoContainer__D7F1f p{color:var(--accent);font-family:var(--mono);font-size:var(--text-sm);letter-spacing:.12em;line-height:1.4;text-transform:uppercase}.Contact_links__b\+iNT{display:flex;gap:.75rem;margin:2rem 0 0;padding:0}.Contact_link__uD0KR{list-style:none}.Contact_link__uD0KR a{border:1px solid var(--border);border-radius:50%;color:var(--text);display:grid;height:52px;place-items:center;transition:.2s;width:52px}.Contact_link__uD0KR a:hover{background:var(--accent);border-color:var(--accent);color:#0b0d0f;-webkit-transform:translateY(-3px);transform:translateY(-3px)}.TechsList_techsContainer__yCIeq{display:flex;flex-wrap:wrap;gap:.45rem}.TechsList_techsContainer__yCIeq span{border:1px solid var(--border);border-radius:999px;color:#cfd1d2;font-family:var(--mono);font-size:var(--text-xs);line-height:1.25;padding:.4rem .65rem}.ProjectCard_card__fLuSa{background:var(--surface);border:1px solid var(--border);border-radius:18px;min-width:0;overflow:hidden;position:relative;transition:border-color .3s,-webkit-transform .3s;transition:transform .3s,border-color .3s;transition:transform .3s,border-color .3s,-webkit-transform .3s}.ProjectCard_card__fLuSa:hover{border-color:rgba(182,243,91,.42);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.ProjectCard_link__OQAlt{align-items:center;aspect-ratio:16/10;background:#242a2e;display:flex;justify-content:center;overflow:hidden;position:relative}.ProjectCard_img__4T6Nn{height:100%;object-fit:cover;transition:-webkit-transform .55s,-webkit-filter .55s;transition:transform .55s,filter .55s;transition:transform .55s,filter .55s,-webkit-transform .55s,-webkit-filter .55s;width:100%}.ProjectCard_privateImage__u9C56{background:#f1efe8;object-fit:contain;padding:clamp(3rem,9vw,6rem)}.ProjectCard_link__OQAlt:hover .ProjectCard_img__4T6Nn{-webkit-filter:brightness(.7);filter:brightness(.7);-webkit-transform:scale(1.035);transform:scale(1.035)}.ProjectCard_viewProject__O5y4U{align-items:center;background:var(--accent);border-radius:999px;color:#0b0d0f;display:flex;font-size:var(--text-sm);font-weight:700;gap:.4rem;opacity:0;padding:.7rem 1rem;position:absolute;-webkit-transform:translateY(8px);transform:translateY(8px);transition:.25s}.ProjectCard_link__OQAlt:hover .ProjectCard_viewProject__O5y4U{opacity:1;-webkit-transform:none;transform:none}.ProjectCard_content__DWQUN{min-height:245px;padding:1.5rem 1.5rem 4rem}.ProjectCard_meta__kao-3{align-items:center;color:var(--muted);display:flex;font-family:var(--mono);font-size:var(--text-xs);gap:1rem;justify-content:space-between;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}.ProjectCard_privateBadge__KYcMc{background:var(--accent);border-radius:999px;color:#0b0d0f;font-weight:700;padding:.25rem .5rem}.ProjectCard_content__DWQUN h3{color:var(--text);font-size:var(--title-card);font-weight:560;line-height:1.2;margin:1.3rem 0 .65rem}.ProjectCard_description__yinx\+{color:#c2c5c6;font-size:1rem;line-height:1.65;margin:0 0 1.2rem;min-height:3.4em}.ProjectCard_repoLink__zn\+bm{align-items:center;bottom:1.5rem;color:var(--text);display:flex;font-size:var(--text-sm);gap:.45rem;position:absolute;right:1.5rem;text-decoration:none}.ProjectCard_repoLink__zn\+bm:hover{color:var(--accent)}@media (max-width:560px){.ProjectCard_content__DWQUN{min-height:265px;padding:1.25rem 1.25rem 4rem}.ProjectCard_repoLink__zn\+bm{right:1.25rem}}.Projects_intro__jEtXI{grid-gap:3rem;align-items:end;display:grid;gap:3rem;grid-template-columns:1fr 1fr;margin-bottom:4rem}.Projects_intro__jEtXI h2{margin:0}.Projects_intro__jEtXI p{font-size:var(--text-lg);justify-self:end;line-height:1.7;margin:0;max-width:600px}.Projects_intro__jEtXI a{color:var(--text);text-underline-offset:4px}.Projects_container__HexWw{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.Projects_note__PEi65{border-left:3px solid var(--accent);color:#b9bcbd;font-size:var(--text-base);line-height:1.72;margin:4rem 0 0;max-width:980px;padding:1rem 0 1rem 1.5rem}@media (max-width:760px){.Projects_container__HexWw,.Projects_intro__jEtXI{grid-template-columns:1fr}.Projects_intro__jEtXI p{justify-self:start}}.Skills_skills__nO37h{grid-gap:clamp(3rem,8vw,8rem);align-items:start;display:grid;gap:clamp(3rem,8vw,8rem);grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}.Skills_skills__nO37h h2{max-width:620px}.Skills_groups__NQuyG{border-top:1px solid var(--border)}.Skills_group__PXqOA{border-bottom:1px solid var(--border);padding:1.65rem .25rem}.Skills_groupTitle__Gdx9K{align-items:baseline;display:flex;gap:1.25rem;margin-bottom:1rem}.Skills_groupTitle__Gdx9K span{color:var(--accent);font-family:var(--mono);font-size:var(--text-xs)}.Skills_groupTitle__Gdx9K h3{color:var(--text);font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0}.Skills_group__PXqOA ul{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0;padding:0 0 0 2.4rem}.Skills_group__PXqOA li{border:1px solid var(--border);border-radius:999px;color:#d2d4d5;font-family:var(--mono);font-size:var(--text-sm);line-height:1.25;padding:.45rem .72rem;transition:.2s}.Skills_group__PXqOA li:hover{background:var(--accent);border-color:var(--accent);color:#0b0d0f}@media (max-width:760px){.Skills_skills__nO37h{gap:2rem;grid-template-columns:1fr}.Skills_group__PXqOA ul{padding-left:0}}.Experience_heading__d-\+OB{grid-gap:3rem;align-items:end;display:grid;gap:3rem;grid-template-columns:1.2fr .8fr;margin-bottom:4rem}.Experience_heading__d-\+OB h2{margin:0;max-width:820px}.Experience_heading__d-\+OB p{font-size:var(--text-lg);justify-self:end;line-height:1.7;margin:0;max-width:540px}.Experience_timeline__nWQ-y{border-top:1px solid var(--border)}.Experience_job__7JdE1{grid-gap:clamp(1.5rem,4vw,4rem);border-bottom:1px solid var(--border);display:grid;gap:clamp(1.5rem,4vw,4rem);grid-template-columns:48px minmax(220px,.65fr) minmax(0,1.35fr);padding:2rem .25rem}.Experience_number__P6F0m{color:var(--accent);font-family:var(--mono);font-size:var(--text-xs);padding-top:.3rem}.Experience_company__Yu10z{align-items:flex-start;display:flex;gap:1rem}.Experience_logoFrame__HBYXo{background:#f2f0e9;border-radius:12px;display:grid;flex:0 0 52px;height:52px;overflow:hidden;padding:.55rem;place-items:center;width:52px}.Experience_logoFrame__HBYXo img{max-height:100%;max-width:100%;object-fit:contain}.Experience_company__Yu10z h3{font-size:1.4rem;font-weight:600;line-height:1.25;margin:.15rem 0 .3rem}.Experience_company__Yu10z p{color:var(--muted);font-size:var(--text-sm);line-height:1.45;margin:0}.Experience_jobMeta__QpF08{color:var(--muted);display:flex;flex-wrap:wrap;font-family:var(--mono);font-size:.8rem;gap:1rem 1.8rem;letter-spacing:.04em;line-height:1.4}.Experience_jobMeta__QpF08 span{display:flex;flex-direction:column;gap:.3rem}.Experience_jobMeta__QpF08 b{color:var(--accent);font-size:.7rem;font-weight:600;letter-spacing:.1em;line-height:1.3;text-transform:uppercase}.Experience_milestone__oql2m{color:var(--text);font-size:var(--text-lg);line-height:1.65;margin:1.25rem 0;max-width:760px}.Experience_clients__H5OHz{margin-top:clamp(5rem,9vw,8rem)}.Experience_clientGrid__Sy0Yw{border:1px solid var(--border);border-radius:18px;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.Experience_client__8vh1A{align-items:center;background:#f1efe8;border-right:1px solid rgba(11,13,15,.18);color:inherit;display:flex;flex-direction:column;gap:1.25rem;justify-content:center;min-height:220px;padding:2.25rem 2rem 1.75rem;position:relative;text-decoration:none;transition:background .25s}.Experience_client__8vh1A:last-child{border-right:0}.Experience_client__8vh1A:hover{background:#fff}.Experience_clientLogo__OBr4i{align-items:center;display:flex;height:82px;justify-content:center;width:100%}.Experience_client__8vh1A img{-webkit-filter:grayscale(1);filter:grayscale(1);max-height:72px;max-width:min(100%,230px);object-fit:contain;transition:-webkit-filter .25s,-webkit-transform .25s;transition:filter .25s,transform .25s;transition:filter .25s,transform .25s,-webkit-filter .25s,-webkit-transform .25s;width:auto}.Experience_client__8vh1A:hover img{-webkit-filter:grayscale(0);filter:grayscale(0);-webkit-transform:scale(1.04);transform:scale(1.04)}.Experience_wsj__VnU6o img,.Experience_wsj__VnU6o:hover img{-webkit-filter:grayscale(1);filter:grayscale(1)}.Experience_allHealth__pgYNx .Experience_wordmark__BDV2\+{color:#223936;font-size:clamp(1.8rem,4vw,3.3rem);font-weight:300;letter-spacing:-.06em}.Experience_industryBadge__VlAGh{align-items:center;background:rgba(34,57,54,.08);border:1px solid rgba(34,57,54,.2);border-radius:999px;color:#31433f;display:inline-flex;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;line-height:1.2;min-height:28px;padding:.38rem .65rem;text-align:center;text-transform:uppercase}@media (max-width:900px){.Experience_job__7JdE1{grid-template-columns:32px 1fr}.Experience_details__907pw{grid-column:2}.Experience_clientGrid__Sy0Yw{grid-template-columns:repeat(2,1fr)}.Experience_client__8vh1A:nth-child(2){border-right:0}.Experience_client__8vh1A:nth-child(-n+2){border-bottom:1px solid var(--border)}}@media (max-width:700px){.Experience_heading__d-\+OB{grid-template-columns:1fr}.Experience_heading__d-\+OB p{justify-self:start}.Experience_clientGrid__Sy0Yw{grid-template-columns:1fr}.Experience_client__8vh1A,.Experience_client__8vh1A:nth-child(2){border-bottom:1px solid var(--border);border-right:0;min-height:130px}.Experience_client__8vh1A:last-child{border-bottom:0}}@media (max-width:480px){.Experience_job__7JdE1{grid-template-columns:1fr}.Experience_number__P6F0m{display:none}.Experience_details__907pw{grid-column:1}}.App_content__wwONY{margin:0 auto;width:min(1280px,calc(100% - 3rem))}@media (max-width:600px){.App_content__wwONY{width:min(100% - 1.5rem,1280px)}}
/*# sourceMappingURL=main.4be4a759.css.map*/