@import "https://fonts.googleapis.com/css2?family=Anton&family=Space+Grotesk:wght@400;500;700&display=swap";
:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-custom:#00688f;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--project-blue:#7aa2ff;--ink:#08060d;--paper:#f0efeb;--detail:#3f3849;--label:#5f5868;--error:#b42318;--shadow:#0000001a 0 10px 15px -3px,#0000000d 0 4px 6px -2px;--sans:"Space Grotesk",system-ui,"Segoe UI",Roboto,sans-serif;--heading:"Space Grotesk",system-ui,"Segoe UI",Roboto,sans-serif;--display:"Anton",var(--heading);--mono:ui-monospace,Consolas,monospace;color:var(--text);background:var(--bg);font:18px/145% var(--sans);letter-spacing:.18px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:auto;background:#16171d}body{min-height:100svh;color:var(--text);background:var(--bg)}body.nav-open{overflow:hidden}@media (hover:hover) and (pointer:fine){html{scrollbar-width:none}body{-ms-overflow-style:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}}#root,body>main{width:100%}main{overflow-x:clip}h1,h2,h3,p{margin:0}a{color:inherit}button,input,textarea{font:inherit}button{color:inherit}img,svg{max-width:100%}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-shell{width:min(1180px,100% - 64px);margin:0 auto}.loading-screen{z-index:30;visibility:visible;pointer-events:auto;place-items:center;transition:visibility 0s linear 1.35s;display:grid;position:fixed;inset:0}.loading-screen.is-hidden{visibility:hidden;pointer-events:none}.loading-curtain{background:#fff;width:50%;transition:transform 1.35s cubic-bezier(.76,0,.24,1);position:absolute;top:0;bottom:0}.loading-curtain-left{left:0}.loading-curtain-right{right:0}.loading-screen.is-hidden .loading-curtain-left{transform:translate(-100%)}.loading-screen.is-hidden .loading-curtain-right{transform:translate(100%)}.loading-copy{z-index:1;color:var(--ink);justify-items:center;gap:10px;transition:opacity .45s,transform .75s;display:grid;position:relative}.loading-screen.is-hidden .loading-copy{opacity:0;transform:scale(.96)}.loading-box{border:2px solid var(--ink);background:#fff;width:32px;height:32px;animation:2.8s ease-in-out infinite loading-box-rotate,2.8s linear infinite loading-box-base;position:relative;overflow:hidden}.loading-box-fill{background:var(--ink);animation:2.8s cubic-bezier(.65,0,.35,1) infinite loading-box-fill;position:absolute;inset:-1px}.loading-label{letter-spacing:.32em;text-transform:uppercase;opacity:.62;font-size:.9rem}@keyframes loading-box-rotate{0%,18%,22%{transform:rotate(0)}38%,68%,72%{transform:rotate(180deg)}88%,to{transform:rotate(360deg)}}@keyframes loading-box-base{0%,21.59%,71.6%,to{background:#fff}21.6%,71.59%{background:var(--ink)}}@keyframes loading-box-fill{0%{clip-path:inset(100% 0 0);background:var(--ink)}20%,21.5%{clip-path:inset(0);background:var(--ink)}21.51%{clip-path:inset(100% 0 0);background:#fff}50%{clip-path:inset(0 0 100%);background:#fff}70%,71.5%{clip-path:inset(0);background:#fff}71.51%,to{clip-path:inset(0 0 100%);background:var(--ink)}}.custom-scrollbar{z-index:16;border-left:1px solid var(--ink);background:#fff;width:18px;position:fixed;top:0;bottom:0;right:0}.custom-scrollbar-track{cursor:pointer;width:100%;height:100%;padding:2px;position:relative}.custom-scrollbar-thumb{cursor:grab;background:var(--ink);width:calc(100% - 4px);position:absolute;left:2px}.custom-scrollbar-thumb:active{cursor:grabbing}.site-nav{z-index:24;pointer-events:none;justify-content:flex-end;padding:24px 28px;display:flex;position:fixed;top:0;left:0;right:0}.site-nav-toggle{cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:4px;width:92px;height:92px;padding:0;transition:transform .22s;position:relative;overflow:hidden}.site-nav-toggle:hover{transform:translateY(-1px)}.site-nav-toggle span{width:44px;height:4px;transition:background .18s,top .22s,transform .22s,opacity .18s;position:absolute;left:50%;transform:translate(-50%)}.site-nav-toggle span.is-on-dark{background:#ffffffb3}.site-nav-toggle span.is-on-light{background:var(--ink)}.site-nav-toggle span:first-child{top:24px}.site-nav-toggle span:nth-child(2){top:42px}.site-nav-toggle span:nth-child(3){top:60px}.site-nav-toggle.is-open span:first-child{top:42px;transform:translate(-50%)rotate(45deg)}.site-nav-toggle.is-open span:nth-child(2){opacity:0}.site-nav-toggle.is-open span:nth-child(3){top:42px;transform:translate(-50%)rotate(-45deg)}.site-nav-overlay{z-index:21;opacity:0;pointer-events:none;background:#00000047;border:0;transition:opacity .28s;position:fixed;inset:0}.site-nav-overlay.is-open{opacity:1;pointer-events:auto}.site-nav-drawer{z-index:23;width:min(360px,88vw);transition:transform .34s cubic-bezier(.76,0,.24,1);position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.site-nav-drawer.is-open{transform:translate(0)}.site-nav-panel{background:linear-gradient(#fffffff5,#f4f2f7f5),#fff;border-left:1px solid #0000;flex-direction:column;justify-content:center;align-items:flex-start;gap:36px;height:100%;padding:96px 32px 32px;display:flex}.site-nav-drawer.is-open .site-nav-panel{border-left-color:#08060d14;box-shadow:-24px 0 48px #08060d1f}.site-nav-section,.site-nav-social-block{flex-direction:column;align-items:flex-start;gap:12px;display:flex;position:relative}.site-nav-section-title{color:#08060d85;letter-spacing:.18em;text-transform:uppercase;margin:0 0 6px;font-size:.78rem}.site-nav-active-dot{background:var(--accent-custom);border-radius:999px;width:18px;height:18px;transition:transform .16s ease-in-out;position:absolute;top:0;left:0}.site-nav-link{color:var(--ink);font-family:var(--heading);text-transform:uppercase;text-align:left;padding-left:0;font-size:2.13rem;line-height:.92;text-decoration:none;transition:padding-left .22s,transform .22s,opacity .22s,color .22s}.site-nav-link:hover{color:var(--accent-custom);opacity:.7;transform:translate(6px)}.site-nav-link.is-active{color:var(--accent-custom);opacity:1}.site-nav-link.is-indicator-target{padding-left:28px}.site-nav-socials{align-items:center;gap:12px;display:flex}#center{--hero-progress:0;width:100%;min-height:calc(100svh - var(--hero-progress)*34svh);background:#000;padding:0;position:relative;overflow:hidden}.intro-copy{z-index:1;justify-items:center;gap:12px;width:max-content;max-width:calc(100% - 40px);display:grid;position:absolute;top:50svh;left:50%;transform:translate(-50%,-50%)}.hero-title{font-family:var(--display);text-transform:uppercase;color:#fff;letter-spacing:.03em;margin:0;font-size:8rem;font-weight:900;line-height:.96;display:inline-flex;position:relative;overflow:hidden}.hero-title-text{z-index:1;opacity:0;color:#0000;display:inline-block;position:relative}.hero-title-reveal{z-index:3;transform-origin:0;background:#fff;position:absolute;inset:0;transform:scaleX(0)}.hero-title-reveal-accent{z-index:2;background:var(--accent-custom)}.hero-title.is-revealed .hero-title-text{animation:1.05s step-end 1.58s forwards hero-title-text-reveal}.hero-title.is-revealed .hero-title-reveal{animation:1.05s cubic-bezier(.22,1,.36,1) 1.48s forwards hero-title-bar-reveal}.hero-title.is-revealed .hero-title-reveal-accent{animation:2.2s cubic-bezier(.22,1,.36,1) 1.23s forwards hero-title-bar-reveal-accent}.hero-subtitle{color:#fff;letter-spacing:.24em;text-transform:uppercase;opacity:.82;font-size:2rem;display:inline-block}.hero-subtitle-text{opacity:0;will-change:transform,opacity;display:inline-block;transform:translateY(.62em)}.hero-subtitle.is-revealed .hero-subtitle-text{animation:.58s cubic-bezier(.22,1,.36,1) 3.5s forwards hero-subtitle-rise}@keyframes hero-title-text-reveal{0%,48%{opacity:0;color:#0000}49%,to{opacity:1;color:#fff}}@keyframes hero-title-bar-reveal{0%{transform-origin:0;transform:scaleX(0)}48%{transform-origin:0;transform:scaleX(1)}49%{transform-origin:100%;transform:scaleX(1)}to{transform-origin:100%;transform:scaleX(0)}}@keyframes hero-title-bar-reveal-accent{0%{transform-origin:0;transform:scaleX(0)}44%{transform-origin:0;transform:scaleX(1)}45%{transform-origin:100%;transform:scaleX(1)}to{transform-origin:100%;transform:scaleX(0)}}@keyframes hero-subtitle-rise{0%{opacity:0;transform:translateY(.62em)}to{opacity:.82;transform:translateY(0)}}.hero-scroll-hint{z-index:1;color:#ffffffe6;letter-spacing:.28em;text-shadow:0 1px 10px #00000047;text-transform:uppercase;opacity:0;justify-items:center;gap:10px;font-size:.84rem;font-weight:800;text-decoration:none;transition:opacity .26s,transform .26s;display:inline-grid;position:absolute;bottom:54px;left:50%;transform:translate(-50%,12px)}.hero-scroll-hint.is-visible{opacity:1;transform:translate(-50%)}.hero-scroll-hint.is-hidden{opacity:0;pointer-events:none;transition-delay:0s;transform:translate(-50%,8px)}.hero-scroll-icon{filter:drop-shadow(0 2px 8px #00000038);width:28px;height:28px;animation:1.6s ease-in-out infinite hero-scroll-arrow-bob}@keyframes hero-scroll-arrow-bob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}#statement{z-index:0;background:#fff;width:100%;min-height:200svh;position:relative}.statement-shell{place-items:center;min-height:100svh;display:grid;position:sticky;top:0}.statement-shell p{text-align:center;color:var(--ink);max-width:12ch;font-size:6rem;font-weight:700;line-height:.95}#skills{z-index:1;background:#000;width:100%;margin-top:-100svh;padding:184px 0;position:relative}#skills .section-shell{color:#fff;text-align:left}#skills h2,.experience-header h2,.projects-header h2{text-transform:uppercase;color:inherit;margin:0 0 40px;font-size:6.4rem;font-weight:900;line-height:.96}.skills-title{align-items:flex-start;gap:0;display:inline-flex}.skills-title-char{line-height:.96;display:inline-flex}.skills-title-char.is-space{flex:0 0 .28em;width:.28em}.skills-title-char-clip{height:.96em;margin-right:.02em;padding-right:.02em;display:inline-flex;overflow:hidden}.skills-title-char-inner{transition:transform .28s cubic-bezier(.76,0,.24,1);transition-delay:calc(var(--char-index)*20ms);will-change:transform;flex-direction:column;align-items:flex-start;display:flex;transform:translateY(0)}.skills-title-char-inner span{line-height:.96;display:block}@media (hover:hover) and (pointer:fine){.skills-title:hover .skills-title-char-inner{transform:translateY(-110%)}}.skills-groups{gap:48px;display:grid}.skills-group{border-bottom:1px solid #ffffff1f;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);align-items:start;gap:72px;padding-bottom:32px;display:grid}.skills-group:last-child{border-bottom:0;padding-bottom:0}.skills-nav-label{color:#ffffffc7;opacity:var(--skill-visibility);transform:translateY(calc((1 - var(--skill-visibility))*34px));text-transform:uppercase;font-size:3.4rem;font-weight:800;line-height:.9;transition:opacity .1s linear,transform .1s linear}.skills-list{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:18px 28px;display:grid}.skill-row{min-height:44px;opacity:var(--skill-visibility);transform:translateY(calc((1 - var(--skill-visibility))*34px));grid-template-columns:40px minmax(0,1fr);align-items:center;gap:16px;transition:opacity .28s linear,transform .28s cubic-bezier(.22,1,.36,1);display:grid}.skill-icon{color:#fff;background:#1f2028;border:0;border-radius:8px;place-items:center;width:40px;height:40px;font-size:.78rem;font-weight:700;display:inline-grid}.skill-icon-yellow{color:#08060d;background:#f7df1e}.skill-icon-blue{background:#2f7fd3}.skill-icon-cyan{color:#69dbff;background:#08060d;font-size:1.4rem}.skill-icon-white{color:#08060d;background:#fff}.skill-icon-teal{color:#0f6473;background:#ecfeff}.skill-icon-green,.skill-icon-emerald{background:#22c55e}.skill-icon-indigo{background:#334155}.skill-icon-violet{background:#635bff}.skill-icon-orange{background:#f97316}.skill-name{color:#fff;font-size:1.4rem;line-height:1.15}#experience{background:#fff;width:100%;padding:160px 0 180px}.experience-shell{color:var(--ink)}.experience-header{text-align:left;justify-items:start;margin-bottom:88px;display:grid}.experience-header h2{color:var(--ink);margin:0}.experience-timeline{--experience-marker-top:0px;--experience-marker-left:calc(1.36rem + 1px);position:relative}.experience-list{--experience-row-gap:56px;--experience-connector-gap:16px;gap:var(--experience-row-gap);justify-items:start;display:grid}.experience-item{grid-template-columns:180px minmax(320px,1.35fr) minmax(0,1.35fr);align-items:start;gap:24px;display:grid}.experience-role,.experience-summary{text-align:left;opacity:0;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--stagger-delay);align-self:start;transform:translateY(48px)}.experience-item.is-revealed .experience-role,.experience-item.is-revealed .experience-summary{opacity:1;transform:translateY(0)}.experience-role-label{color:var(--label);text-transform:uppercase;margin:0;font-size:1.05rem}.experience-role h3{color:var(--ink);flex-wrap:nowrap;align-items:flex-start;gap:14px;margin:0;font-size:3.2rem;line-height:.96;display:flex;position:relative}.experience-company-name{transform-origin:0;will-change:transform;transition:transform .22s;display:inline-block}.experience-item.is-active .experience-company-name{transform:scale(1.04)}.experience-company-logo{color:#fff;object-fit:contain;background:var(--accent-custom);border-radius:8px;flex:none;place-items:center;width:3rem;height:3rem;font-size:.8rem;font-weight:800;display:inline-grid}.experience-year-block{opacity:1;flex-direction:column;justify-content:flex-start;align-self:stretch;align-items:flex-start;width:100%;display:flex;position:relative}.experience-year{z-index:3;margin:0 0 var(--experience-connector-gap);color:#08060de6;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:left;font-size:1.75rem;font-weight:500;line-height:.96;transition:color .22s,transform .22s;position:relative}.experience-year.is-active{color:var(--ink);transform:translate(2px)scale(1.16)}.experience-year-connector{width:2px;min-height:0;margin-left:.68rem;margin-bottom:calc((var(--experience-row-gap)*-1) + var(--experience-connector-gap));background:var(--ink);flex:auto;position:relative;left:.68rem}.experience-progress-marker{top:var(--experience-marker-top);left:var(--experience-marker-left);pointer-events:none;z-index:2;background:var(--ink);border-radius:999px;width:14px;height:14px;transition:top .28s cubic-bezier(.22,1,.36,1),opacity .18s;position:absolute;transform:translate(-50%,-50%)}.experience-progress-marker:after{content:"";transform-origin:50%;border:1.5px solid #08060d3d;border-radius:999px;width:14px;height:14px;animation:1.9s ease-out infinite experience-marker-radiate;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)scale(1)}@keyframes experience-marker-radiate{0%{opacity:0;transform:translate(-50%,-50%)scale(1)}12%{opacity:.28;transform:translate(-50%,-50%)scale(1.05)}to{opacity:0;transform:translate(-50%,-50%)scale(2.7)}}.experience-details{color:#3f3849eb;text-wrap:pretty;max-width:34rem;font-size:1.05rem;line-height:1.65}.experience-details ul{margin:0;padding-left:1.2rem}.experience-details-list-emphasis li::marker{font-size:1.35em}.experience-details li+li{margin-top:.35rem}#projects{--project-count:4;z-index:1;background:#000;width:100%;padding:0;position:relative}.projects-shell{--project-step-height:62svh;--projects-panel-size:clamp(31rem,50vw,52rem);min-height:calc(100svh + (var(--project-count) - 1)*var(--project-step-height) + 32svh);position:relative}.projects-pin{box-sizing:border-box;align-items:flex-start;height:100svh;min-height:100svh;padding-top:clamp(72px,10svh,112px);padding-bottom:clamp(56px,8svh,96px);display:flex;position:sticky;top:0}.projects-scroll-track{pointer-events:none;margin-top:-50svh}.projects-scroll-step{height:var(--project-step-height)}.projects-stage{color:var(--paper);gap:20px;width:min(1800px,100% - 88px);display:grid;position:relative}.projects-header{text-align:left;justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.projects-header h2{color:var(--paper);margin:0}.projects-body{grid-template-columns:minmax(0,1fr)minmax(0,var(--projects-panel-size));align-items:start;gap:clamp(32px,3vw,56px);display:grid}.projects-list{min-width:0}.project-tab{color:#f0efeb8f;isolation:isolate;align-items:start;gap:16px;padding:12px 0 14px;transition:color .28s;display:grid}.project-tab.is-active{color:var(--paper)}.projects-list>.project-tab{animation:.46s cubic-bezier(.22,1,.36,1) both project-tab-swap-in}.projects-list>.project-tab.project-tab-transition-forward .project-tab-title-block{animation:.52s cubic-bezier(.22,1,.36,1) both project-tab-copy-in}.projects-list>.project-tab.project-tab-transition-forward .project-tab-main{animation:.58s cubic-bezier(.22,1,.36,1) 40ms both project-tab-copy-in}.projects-list>.project-tab.project-tab-transition-backward .project-tab-title-block{animation:.52s cubic-bezier(.22,1,.36,1) both project-tab-copy-in-backward}.projects-list>.project-tab.project-tab-transition-backward .project-tab-main{animation:.58s cubic-bezier(.22,1,.36,1) 40ms both project-tab-copy-in-backward}.project-tab-title-block{justify-items:start;margin-bottom:4px;display:grid}.project-tab-title-block h3{color:currentColor;text-align:left;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.2em;margin:0;font-size:3.8rem;font-weight:900;line-height:1;display:inline-flex}.project-tab-title-icon{color:var(--paper);background:#070a10;border:1.5px solid #f0efeb8a;border-radius:999px;flex:none;align-self:center;place-items:center;width:.78em;height:.78em;display:inline-grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff12,0 0 18px #7aa2ff18}.project-tab-title-icon:before{content:"";opacity:.85;background:radial-gradient(circle at 30% 28%,#ffffff5c,#0000 32%),radial-gradient(circle at 68% 72%,#7aa2ff42,#0000 38%);position:absolute;inset:0}.project-icon-part{display:block;position:absolute}.project-tab-title-icon-lead .project-icon-part:first-child{border:2px solid #7aa2ff;border-radius:999px;animation:1.7s cubic-bezier(.22,1,.36,1) infinite project-icon-radar;inset:24%}.project-tab-title-icon-lead .project-icon-part:nth-child(2){background:#f0efeb;border-radius:999px;width:16%;height:16%;top:42%;left:42%;box-shadow:0 0 12px #7aa2ff}.project-tab-title-icon-lead .project-icon-part:nth-child(3){transform-origin:0;background:#7aa2ff;border-radius:999px;width:32%;height:5%;animation:1.7s linear infinite project-icon-sweep;top:48%;left:50%}.project-tab-title-icon-apex .project-icon-part:first-child,.project-tab-title-icon-apex .project-icon-part:nth-child(2),.project-tab-title-icon-apex .project-icon-part:nth-child(3){background:#f0efeb;border-radius:999px 999px 2px 2px;width:12%;animation:1.4s ease-in-out infinite project-icon-column;bottom:23%}.project-tab-title-icon-apex .project-icon-part:first-child{height:34%;left:28%}.project-tab-title-icon-apex .project-icon-part:nth-child(2){height:50%;animation-delay:.12s;left:44%}.project-tab-title-icon-apex .project-icon-part:nth-child(3){height:40%;animation-delay:.24s;left:60%}.project-tab-title-icon-inventory .project-icon-part:first-child{border:2px solid #14b8a6;border-radius:4px;width:46%;height:46%;animation:1.6s ease-in-out infinite project-icon-stock;top:27%;left:27%;box-shadow:inset 0 0 0 2px #f0efeb22}.project-tab-title-icon-inventory .project-icon-part:nth-child(2){background:#f0efeb;border-radius:999px;width:30%;height:5%;top:39%;left:35%;box-shadow:0 12px #f0efeb,0 24px #f0efeb}.project-tab-title-icon-inventory .project-icon-part:nth-child(3){background:#070a10;border:2px solid #f0efeb;border-radius:2px;width:18%;height:18%;top:17%;left:41%}.project-tab-title-icon-kabab .project-icon-part:first-child{background:#ef4444;border-radius:54% 46% 56% 44%;width:42%;height:54%;animation:1.2s ease-in-out infinite project-icon-flame;top:20%;left:29%;transform:rotate(-12deg)}.project-tab-title-icon-kabab .project-icon-part:nth-child(2){background:#fbbf24;border-radius:50% 50% 58% 42%;width:22%;height:30%;animation:1.2s ease-in-out .12s infinite project-icon-flame;top:38%;left:40%}.project-tab-title-icon-kabab .project-icon-part:nth-child(3){background:#f0efeb;border-radius:999px;width:58%;height:5%;top:72%;left:21%}.project-tab-title-icon-edvvo .project-icon-part:first-child,.project-tab-title-icon-edvvo .project-icon-part:nth-child(2){border:2px solid #f0efeb;border-radius:3px;width:28%;height:42%;top:28%}.project-tab-title-icon-edvvo .project-icon-part:first-child{left:22%;transform:skewY(-8deg)}.project-tab-title-icon-edvvo .project-icon-part:nth-child(2){right:22%;transform:skewY(8deg)}.project-tab-title-icon-edvvo .project-icon-part:nth-child(3){background:#7aa2ff;border-radius:999px;width:13%;height:13%;animation:1.6s ease-in-out infinite project-icon-study-dot;top:44%;left:43%}@keyframes project-icon-radar{0%{opacity:.2;transform:scale(.72)}65%,to{opacity:.9;transform:scale(1.18)}}@keyframes project-icon-sweep{0%{transform:rotate(-45deg)}to{transform:rotate(315deg)}}@keyframes project-icon-column{0%,to{transform:translateY(0)}50%{transform:translateY(-12%)}}@keyframes project-icon-stock{0%,to{transform:translateY(0)}50%{transform:translateY(-5%)scale(1.04)}}@keyframes project-icon-flame{0%,to{transform:translateY(0)rotate(-12deg)scale(1)}50%{transform:translateY(-6%)rotate(-5deg)scale(1.08)}}@keyframes project-icon-study-dot{0%,to{transform:translate(-82%)}50%{transform:translate(82%)}}.project-tab-main{text-align:left;justify-items:start;gap:9px;display:grid}.project-tab-tag{color:currentColor;font-size:.98rem;font-weight:700}.project-tab-date{letter-spacing:.18em;text-transform:uppercase;color:#f0efeb94;font-size:.76rem;line-height:1}.project-tab-summary p{color:#f0efebc7;max-width:42ch;margin:0;font-size:1rem;line-height:1.38}.project-tab-tech-stack{gap:5px;margin-top:4px;display:grid}.project-tab-tech-stack p{color:#f0efebb3;max-width:46ch;margin:0;font-size:.9rem;line-height:1.34}.project-tab-tech-stack span{color:#f0efebeb;text-transform:uppercase;letter-spacing:.08em;min-width:5.5rem;margin-right:.65rem;font-size:.72rem;font-weight:800;display:inline-block}.project-tab-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:8px;padding-top:8px;display:grid}.project-tab-stat{gap:4px;display:grid}.project-tab-stat strong{color:var(--paper);font-size:1.34rem;line-height:.95}.project-tab-stat span{letter-spacing:.08em;text-transform:uppercase;color:#f0efeb9e;font-size:.76rem}.project-tab-number{--project-number-step:.82em;align-items:flex-start;gap:.01em;padding-top:0;font-size:5.25rem;font-weight:900;line-height:.76;display:inline-flex}.projects-header-number{color:var(--paper);width:min(100%,var(--projects-panel-size));flex:none;justify-content:flex-end;font-size:6.4rem;transform:translate(14px)}.project-tab-number-static{color:var(--project-blue);display:block}.project-tab-number-digit{width:.72em;height:var(--project-number-step);flex:0 0 .72em;position:relative;overflow:hidden}.project-tab-number-digit-track{will-change:transform;flex-direction:column;display:flex;transform:translateY(0)}.project-tab-number-digit-track.is-forward{animation:.32s cubic-bezier(.22,1,.36,1) forwards project-number-forward}.project-tab-number-digit-track.is-backward{animation:.32s cubic-bezier(.22,1,.36,1) forwards project-number-backward}.project-tab-number-digit-value{height:var(--project-number-step);line-height:var(--project-number-step)}@keyframes project-number-forward{0%{transform:translateY(0)}to{transform:translateY(calc(-1*var(--project-number-step)))}}@keyframes project-number-backward{0%{transform:translateY(calc(-1*var(--project-number-step)))}to{transform:translateY(0)}}@keyframes project-tab-swap-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes project-tab-copy-in{0%{opacity:0;clip-path:inset(0 0 18%);transform:translateY(24px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}@keyframes project-tab-copy-in-backward{0%{opacity:0;clip-path:inset(18% 0 0);transform:translateY(-24px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}.projects-panel{--projects-cursor-x:50%;--projects-cursor-y:50%;width:100%;aspect-ratio:var(--project-media-ratio,16/10);cursor:pointer;place-self:start end;place-items:stretch stretch;min-height:0;max-height:calc(100svh - 260px);display:grid;position:relative;overflow:hidden}.projects-panel-cursor{left:var(--projects-cursor-x);top:var(--projects-cursor-y);z-index:3;-webkit-backdrop-filter:invert()contrast(1.1)grayscale(.35);backdrop-filter:invert()contrast(1.1)grayscale(.35);color:var(--ink);letter-spacing:.12em;text-shadow:0 1px #ffffff47;text-transform:uppercase;pointer-events:none;opacity:0;border:1.5px solid var(--ink);background:#ffffff8f;border-radius:999px;place-items:center;width:82px;height:82px;font-size:.76rem;font-weight:800;transition:opacity .2s,transform .28s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;transform:translate(-50%,-50%)scale(.68)}.projects-panel-cursor.is-visible{opacity:1;transform:translate(-50%,-50%)scale(1)}.projects-panel-card{background:#05080d;border:1px solid #f0efeb6e;transition:opacity .28s,transform .34s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;inset:0 0 1px;overflow:hidden}.projects-panel-link,.project-tab-mobile-media-link{z-index:2;position:absolute;inset:0}.projects-panel-image{object-fit:contain;object-position:center;background:#05080d;width:100%;height:100%;display:block}.projects-mobile-list,.projects-mobile-number{display:none}#contact{z-index:0;background:#fff;width:100%;min-height:100svh;padding:0;position:relative}#contact .section-shell{align-content:center;align-items:center;width:min(1320px,100% - 96px);min-height:100svh;padding-block:clamp(84px,9svh,120px);display:grid;position:relative}.contact-layout{grid-template-columns:minmax(250px,.9fr) minmax(420px,1.45fr) 56px;align-items:center;gap:clamp(20px,3vw,40px);width:100%;display:grid}.contact-media{aspect-ratio:4/5;background:#eef0ef;align-self:center;width:100%;min-height:0;max-height:calc(100svh - 190px);overflow:hidden}.contact-media-image{object-fit:contain;object-position:center;transform-origin:50%;width:100%;height:100%;display:block}.contact-content{align-content:start;width:100%;display:grid}#contact h2{color:var(--ink);margin-bottom:28px;font-size:4.6rem;font-weight:800;line-height:.94}.contact-form{gap:18px;width:100%;display:grid}.contact-field{display:block}.contact-field input,.contact-field textarea{color:var(--ink);background:0 0;border:0;border-bottom:1.5px solid #08060de0;border-radius:0;outline:none;width:100%;padding:10px 6px 12px;font-size:1rem;line-height:1.5;transition:border-color .18s,transform .18s}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#3f3849b3}.contact-field.has-error input,.contact-field.has-error textarea{color:var(--error);border-bottom-color:var(--error)}.contact-field.has-error input::placeholder,.contact-field.has-error textarea::placeholder{color:var(--error)}.contact-field textarea{resize:vertical;min-height:7.5rem}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--ink);transform:translateY(-1px)}.contact-submit-row{justify-items:center;display:grid;position:relative}.contact-submit{color:var(--ink);letter-spacing:.08em;cursor:pointer;isolation:isolate;border:1.5px solid var(--ink);background:#fff;border-radius:0;justify-content:center;justify-self:center;align-items:center;width:13ch;padding:12px 18px;font-size:.86rem;font-weight:700;transition:color .24s;display:inline-flex;position:relative;overflow:hidden}.contact-submit:disabled{opacity:.72;cursor:default}.contact-submit:before{content:"";transform-origin:0;z-index:0;background:var(--ink);transition:transform .34s cubic-bezier(.22,1,.36,1);position:absolute;inset:-1px;transform:scaleX(0)}.contact-submit:hover:before,.contact-submit.is-active:before{transform:scaleX(1)}.contact-submit span{z-index:1;position:relative}.contact-submit:hover,.contact-submit.is-active{color:#fff}.contact-status{text-align:center;color:var(--ink);white-space:nowrap;margin:0;font-size:.96rem;position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%)}.contact-status-error{color:var(--error)}.contact-side-actions{align-content:start;justify-items:center;gap:18px;display:grid}.contact-side-button{color:var(--ink);border:1.5px solid var(--ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;font-size:.84rem;font-weight:700;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.contact-side-button:before{content:"";border-radius:inherit;z-index:0;background:var(--ink);width:100%;height:100%;transition:transform .38s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.contact-side-icon{object-fit:contain;z-index:1;color:var(--ink);width:28px;height:28px;transition:color .38s;position:relative}.contact-side-brand{z-index:1;color:var(--ink);font-size:1rem;font-weight:900;line-height:1;transition:color .38s;position:relative}.contact-side-button:hover:before{transform:translate(-50%,-50%)scale(1)}.contact-side-button:hover .contact-side-icon,.contact-side-button:hover .contact-side-brand{color:#fff}.contact-success-flight{z-index:0;height:0;position:fixed;overflow:visible}.contact-success-trail{width:var(--contact-flight-distance);clip-path:inset(0 100% 0 0);background-image:radial-gradient(circle,#08060d8c 1.4px,#0000 1.5px);background-repeat:repeat-x;background-size:10px 4px;height:4px;animation:5s linear forwards contact-success-trail;position:absolute;top:-1px;left:0}.contact-success-plane{color:var(--ink);width:24px;height:24px;animation:3s linear forwards contact-success-plane;position:absolute;top:-10px;left:0}.contact-success-label{left:calc(var(--contact-flight-distance) + 8px);color:var(--ink);letter-spacing:.04em;white-space:nowrap;font-size:.92rem;font-weight:700;animation:3s linear forwards contact-success-label;position:absolute;top:0;transform:translateY(-50%)}.contact-success-burst{left:calc(var(--contact-flight-distance) + 28px);pointer-events:none;width:28px;height:28px;position:absolute;top:12px;transform:translate(-50%,-50%)}.contact-success-burst span{transform-origin:50% -7px;background:var(--ink);width:2px;height:3px;animation:1s ease-out contact-success-burst;position:absolute;top:50%;left:50%}.contact-success-burst span:first-child{transform:translate(-50%,50%)rotate(0)}.contact-success-burst span:nth-child(2){transform:translate(-550%,50%)rotate(45deg)}.contact-success-burst span:nth-child(3){transform:translate(-1050%,-175%)rotate(90deg)}.contact-success-burst span:nth-child(4){transform:translate(-550%,-275%)rotate(135deg)}.contact-success-burst span:nth-child(5){transform:translate(-50%,-325%)rotate(180deg)}.contact-success-burst span:nth-child(6){transform:translate(450%,-275%)rotate(225deg)}.contact-success-burst span:nth-child(7){transform:translate(950%,-175%)rotate(270deg)}.contact-success-burst span:nth-child(8){transform:translate(450%,50%)rotate(315deg)}@keyframes contact-success-label{0%,90%{opacity:1}to{opacity:0}}@keyframes contact-success-burst{0%{opacity:0;height:2px}20%{opacity:1;height:4px}to{opacity:0;height:6px}}@keyframes contact-success-trail{0%{opacity:0;clip-path:inset(0 100% 0 0)}8%,60%{opacity:.85;clip-path:inset(0)}to{opacity:.85;clip-path:inset(0 0 0 100%)}}@keyframes contact-success-plane{0%{opacity:0;left:0}8%,99%{opacity:1}99%,to{left:var(--contact-flight-distance)}to{opacity:0}}.site-footer{text-align:center;padding-inline:20px;position:absolute;bottom:28px;left:0;right:0}.site-footer p{color:#3f3849b8;letter-spacing:.04em;margin:0;font-size:.88rem}@media (max-width:1320px) and (min-width:1025px){.hero-title{font-size:6.4rem}#skills h2,.experience-header h2,.projects-header h2,.projects-header-number{font-size:5.2rem}.projects-shell{--project-step-height:54svh;--projects-panel-size:clamp(27rem,47vw,42rem)}.projects-pin{padding-top:86px;padding-bottom:72px}.projects-body{gap:32px}.project-tab-title-block h3{font-size:3.6rem}}@media (max-height:860px) and (min-width:1025px){.projects-shell{--project-step-height:46svh;--projects-panel-size:clamp(26rem,47vw,50rem)}.projects-pin{padding-top:72px;padding-bottom:56px}.project-tab-title-block h3{font-size:3rem}.project-tab{gap:12px}.project-tab-main{gap:7px}.projects-panel{max-height:calc(100svh - 218px)}#contact .section-shell{padding-block:72px 86px}.contact-media{max-height:calc(100svh - 170px)}#contact h2{margin-bottom:20px;font-size:3.8rem}.contact-form{gap:14px}.contact-field textarea{min-height:5.75rem}.contact-side-actions{gap:12px}.contact-side-button{width:50px;height:50px}#contact .site-footer{bottom:18px}}@media (max-width:1200px){.skills-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1024px){:root{font-size:16px}.section-shell{width:calc(100% - 40px)}.custom-scrollbar{display:none}.site-nav{padding:18px}.site-nav-panel{gap:44px;padding:92px 28px 28px}.site-nav-section{gap:16px}.site-nav-section-title{letter-spacing:.2em;margin-bottom:10px;font-size:.96rem}.site-nav-link{font-size:2.55rem}#center{min-height:calc(100svh - var(--hero-progress)*26svh)}.hero-title{white-space:normal;text-align:center;max-width:8ch;font-size:4.5rem}.hero-subtitle{letter-spacing:.16em;font-size:1.2rem}.hero-scroll-hint{gap:8px;font-size:.76rem;bottom:42px}.statement-shell p{font-size:3rem}#skills{padding:184px 0}#skills h2,.experience-header h2,.projects-header h2{font-size:3.8rem}.skills-group{grid-template-columns:1fr;gap:18px;padding-bottom:24px}.skills-nav-label{font-size:2.8rem}.skill-name{font-size:1.1rem}.experience-list{--experience-row-gap:40px;--experience-connector-gap:12px}.experience-item{grid-template-columns:1fr;gap:16px;padding-left:52px}.experience-role h3{flex-wrap:wrap;font-size:2.3rem}.experience-year-block{align-self:start;gap:6px}.experience-progress-marker{left:calc(1.36rem + 1px)}#projects{min-height:auto;padding:48px 0 96px}.projects-shell{min-height:auto}.projects-pin{height:auto;min-height:auto;padding:0;position:static}.projects-stage{gap:0}.projects-header{z-index:4;background:#000;align-items:flex-start;padding:16px 0 18px;position:sticky;top:16px}.projects-header:before{content:"";background:#000;height:16px;position:absolute;bottom:100%;left:0;right:0}.projects-body,.projects-scroll-track,.projects-header-number{display:none}.projects-mobile-list{display:block}.projects-mobile-number{z-index:6;color:var(--paper);text-shadow:-1px 0 var(--ink),1px 0 var(--ink),0 -1px var(--ink),0 1px var(--ink);pointer-events:none;opacity:0;visibility:hidden;width:fit-content;font-size:4.4rem;transition:opacity .18s,transform .18s,visibility 0s linear .18s;display:inline-flex;position:fixed;bottom:22px;right:20px;transform:translateY(8px)scale(.94)}.projects-mobile-number.is-visible{opacity:1;visibility:visible;transition-delay:0s;transform:translateY(0)scale(1)}.project-tab{gap:18px;padding:24px 0 64px}.project-tab-title-block h3{font-size:2.6rem}.project-tab-summary p,.project-tab-tech-stack p{max-width:100%}.project-tab-tag{font-size:.8rem}.project-tab-mobile-media{aspect-ratio:var(--project-media-ratio,16/10);background:#05080d;border:1px solid #f0efeb52;gap:0;width:100%;margin-top:4px;display:grid;position:relative;overflow:hidden}.project-tab-mobile-image{object-fit:contain;object-position:center;background:#05080d;width:100%;height:100%;display:block}#contact .section-shell{box-sizing:border-box;background:#fff;width:calc(100% - 40px);height:auto;min-height:100svh;padding:88px 0 96px}.contact-layout{grid-template-columns:1fr;align-items:start;gap:24px}.contact-media{display:none}#contact h2{margin-bottom:24px;font-size:3.2rem}.contact-form{gap:18px}.contact-field textarea{min-height:6.25rem}.contact-submit{width:min(100%,13ch);min-width:13ch}.contact-side-actions{grid-auto-columns:max-content;grid-auto-flow:column;justify-content:center;gap:14px;margin-top:32px}}@media (max-width:640px){.hero-title{font-size:4rem}#skills h2,.experience-header h2,.projects-header h2{font-size:3.4rem}.skills-list{grid-template-columns:repeat(2,minmax(0,1fr))}.project-tab-title-block h3{font-size:2.25rem}.project-tab-tech-stack p{gap:2px;display:grid}.project-tab-tech-stack span{margin-right:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.skills-title-char-inner{transition:none}}
