@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#f1f2f2;background:#111315;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg:#111315;--panel:#191c1f;--panel2:#202326;--ink:#f2f3f3;--muted:#a2a7ad;--subtle:#777e87;--line:#2d3135;--blue:#7894f7;--scroll-progress:0%;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}::selection{background:#718eff;color:#101317}:focus-visible{outline:2px solid #9bb0ff;outline-offset:5px}p,h1,h2,h3{margin-top:0}p{line-height:1.8}h1,h2,h3{font-family:Space Grotesk,sans-serif}.shell{width:min(1200px,calc(100% - 112px));margin-inline:auto}.scroll-progress{position:fixed;height:2px;top:0;left:0;width:var(--scroll-progress);background:linear-gradient(90deg,#5272f5,#9eb5ff);z-index:110}.site-header{position:fixed;inset:0 0 auto;z-index:100;transition:background .3s,border-color .3s;background:transparent;border-bottom:1px solid transparent}.site-header.is-scrolled{background:#111315ee;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-bottom-color:#ffffff12}.header-inner{height:98px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:14px;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:17px;letter-spacing:-.035em}.brand-symbol{display:grid;place-items:center;border-radius:12px;border:1px solid #53585e;width:42px;height:42px;font-size:20px}.brand-period,.title-dot,.heading-period{color:#89a0ff}.brand-name{font-size:16px}.main-nav{display:flex;align-items:center;gap:46px}.main-nav>a{font-size:14px;font-weight:600;color:#d0d2d5;transition:color .2s}.main-nav>a:hover,.main-nav>a.is-active{color:#fff}.main-nav>a.nav-contact{padding:15px 27px;border-radius:50px;background:#2a2c30;color:#fff;display:flex;gap:8px;align-items:center;transition:background .2s,transform .2s}.main-nav>a.nav-contact:hover{background:#444850;transform:translateY(-2px)}.menu-toggle{display:none;align-items:center;justify-content:center;border:1px solid var(--line);background:#232629;color:#fff;border-radius:11px;width:44px;height:44px;cursor:pointer}.hero{min-height:min(880px,100svh);height:auto;position:relative;overflow:hidden;background:radial-gradient(ellipse at 82% 55%,#1a1c1e,#131516 42%,#111315 74%)}.hero-art{position:absolute;top:-70px;bottom:-30px;right:-9vw;width:min(850px,70vw);pointer-events:none;opacity:.77;animation:art-in 1.2s ease both}.hero-art img{width:100%;height:100%;object-fit:contain;object-position:center}.hero-soft-light{position:absolute;inset:0;background:linear-gradient(90deg,#111315 7%,#111315e6 26%,#1113155a 54%,#11131500 90%);pointer-events:none}.hero-inner{min-height:min(880px,100svh);position:relative;display:flex;flex-direction:column;justify-content:center;padding-top:110px;padding-bottom:42px}.hero-content{max-width:705px;z-index:1;padding-block:100px 55px}.hero-overline{font-size:11px;letter-spacing:.24em;font-weight:700;color:#c1c5cb;display:flex;align-items:center;gap:12px;margin-bottom:29px;animation:rise-in .9s .1s both}.overline-line{display:inline-block;width:29px;height:1px;background:#91a6ff}.overline-dot{color:#7a8fd0}.hero h1{font-size:clamp(60px,6.25vw,106px);line-height:1.03;letter-spacing:-.077em;font-weight:600;margin:0 0 29px;animation:rise-in .9s .2s both}.hero h1>span:first-of-type{color:#b9bec2}.hero-description{font-size:clamp(17px,1.6vw,20px);line-height:1.72;color:#afb4ba;max-width:565px;margin-bottom:26px;animation:rise-in .9s .3s both}.hero-description strong{font-weight:600;color:#d9dcdf}.availability{font-weight:600;font-size:14px;display:flex;align-items:center;gap:11px;margin:29px 0 38px;animation:rise-in .9s .38s both}.availability-dot,.little-green-dot{width:10px;height:10px;background:#48df76;border-radius:50%;box-shadow:0 0 0 4px #46d87122,0 0 16px #4dfd78aa}.availability svg{margin-left:4px}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;animation:rise-in .9s .46s both}.button{display:inline-flex;align-items:center;gap:14px;justify-content:center;border-radius:9px;padding:16px 22px;font-size:14px;font-weight:700;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-3px)}.button-light{color:#121415;background:#f5f5f5}.button-light:hover{background:#dce4ff}.button-outline{border:1px solid #50545a;background:#151719;color:#e4e6e8}.button-outline:hover{border-color:#8da1de}.hero-bottom{display:flex;justify-content:space-between;align-items:center;position:absolute;bottom:40px;left:0;right:0;font-size:10px;font-weight:700;letter-spacing:.17em;color:#81888f}.scroll-cue{display:flex;align-items:center;gap:15px;transition:color .2s}.scroll-cue:hover{color:#fff}.scroll-line{display:inline-block;width:60px;height:1px;background:#7a8086;position:relative}.scroll-line:after{content:"";position:absolute;right:0;top:-2px;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:5px solid #aaaeb1}.section{padding:140px 0;position:relative}.section:nth-of-type(2n){background:#141618}.section-heading{margin-bottom:62px}.section-kicker{display:flex;align-items:center;gap:15px;color:#9ca7bb;font-size:11px;letter-spacing:.19em;font-weight:800;margin-bottom:24px}.section-kicker>span:first-child{color:#8ba3ff}.kicker-rule{height:1px;width:33px;background:#6279ab}.section-heading h2,.contact-heading h2{font-size:clamp(42px,5vw,70px);line-height:1.1;letter-spacing:-.067em;font-weight:600;margin:0 0 20px}.section-heading p{font-size:17px;color:#a8acb2;max-width:560px;line-height:1.7;margin:0}.reveal{transition:opacity .7s,transform .7s}.js .reveal:not(.is-visible){opacity:0;transform:translateY(25px)}.about-grid{display:grid;grid-template-columns:1.3fr .75fr;gap:12%;align-items:start}.about-main p{color:#b1b5bb;font-size:16px;margin-bottom:23px}.about-main p strong{color:#fafafa}.about-main p.about-lead{font-family:Space Grotesk,sans-serif;font-size:clamp(24px,2.5vw,33px);line-height:1.45;letter-spacing:-.04em;font-weight:500;color:#fff;margin-bottom:30px}.about-lead em{font-style:normal;color:#92a7fd}.text-link{font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid #767f96;padding:5px 0 12px;margin-top:12px;transition:gap .2s,color .2s}.text-link:hover{gap:20px;color:#9dafef}.about-side{border-top:1px solid var(--line)}.about-detail{display:grid;grid-template-columns:120px 1fr;padding:23px 0;border-bottom:1px solid var(--line);gap:16px;align-items:start}.about-detail>span{color:#78818c;font-size:10px;font-weight:800;letter-spacing:.14em;margin-top:3px}.about-detail strong{font-size:14px;line-height:1.6;color:#dce0e4;font-weight:600}.about-detail strong svg{vertical-align:middle;margin-right:5px}.skills-section{background:#151719}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.skill-card{padding:32px;min-height:260px;border:1px solid #303437;background:#1b1e20;border-radius:15px;transition:background .3s,border-color .3s,transform .3s}.skill-card:hover{background:#22262a;border-color:#596784;transform:translateY(-4px)}.skill-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.15em;color:#8395c8}.skill-top svg{color:#8c9299}.skill-card h3{font-size:29px;margin:28px 0 4px;letter-spacing:-.05em}.skill-card p{font-size:13px;color:#9da3ab;margin:0 0 23px}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tags span{padding:8px 11px;border:1px solid #34393e;border-radius:6px;font-size:12px;color:#d8dce0;background:#222528}.projects-list{display:grid;gap:24px}.project-card{border:1px solid #34373b;background:#1a1d1f;border-radius:17px;overflow:hidden;display:grid;grid-template-columns:1.09fr .91fr;min-height:520px;transition:border-color .25s,transform .25s}.project-card:hover{border-color:#6578a3;transform:translateY(-4px)}.project-main{padding:43px 43px 38px;display:flex;flex-direction:column}.project-overline{font-size:10px;font-weight:800;letter-spacing:.18em;color:#98a7c9;display:flex;align-items:center;justify-content:space-between;gap:12px}.project-status{font-size:10px;letter-spacing:.04em;padding:8px 11px;border-radius:25px;background:#26302a;color:#8bdeac;white-space:nowrap}.project-status.building{color:#adc0ff;background:#2a3348}.project-main h3{font-size:clamp(33px,3.5vw,49px);letter-spacing:-.06em;line-height:1.05;margin:43px 0 13px;font-weight:600}.project-description{color:#bdc1c6;font-size:15px;line-height:1.75;margin:0 0 26px}.project-bullets{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:13px}.project-bullets li{font-size:13px;color:#aeb5bc;padding-left:22px;position:relative;line-height:1.5}.project-bullets li:before{content:"↗";position:absolute;left:0;top:-2px;color:#829cff;font-size:16px}.project-tech{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:17px}.project-tech span{font-size:11px;color:#d8dce2;padding:7px 9px;border-radius:4px;background:#2a2e33}.project-links{display:flex;gap:24px;flex-wrap:wrap;align-items:center;padding-top:26px}.project-link{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;color:#dbe4ff;transition:color .2s}.project-link:hover{color:#fff}.project-links-unavailable{font-size:10px;letter-spacing:.14em;color:#89909b}.project-visual{position:relative;display:flex;align-items:center;justify-content:center;background:#222936;overflow:hidden;min-height:430px}.project-dark .project-visual{background:#232426}.project-visual:before{content:"";position:absolute;width:100%;height:100%;background:radial-gradient(circle at 50% 42%,#617aff30 0%,transparent 58%)}.project-dark .project-visual:before{background:radial-gradient(circle at 50% 45%,#b0b2b218 0%,transparent 60%)}.project-visual-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(to top,black,transparent 95%);mask-image:linear-gradient(to top,black,transparent 95%)}.project-logo-orbit{position:relative;width:min(65%,315px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;filter:drop-shadow(0 25px 50px #03070e70);transition:transform .5s}.project-card:hover .project-logo-orbit{transform:scale(1.065) rotate(-3deg)}.project-logo-orbit:before{content:"";position:absolute;inset:-26px;border:1px solid #ffffff22;border-radius:50%}.project-logo-orbit img{width:100%;height:100%;object-fit:contain;border-radius:50%}.project-visual-caption{font-size:10px;letter-spacing:.18em;font-weight:700;position:absolute;bottom:28px;right:30px;color:#bdc4d0}.project-footnote{text-align:center;color:#9098a2;padding:36px 0 0;font-size:13px;display:flex;align-items:center;justify-content:center;gap:10px}.project-footnote svg{color:#97acff}.experience-section{background:#141618}.timeline{position:relative}.timeline-entry{display:grid;grid-template-columns:35px 250px 1fr;gap:25px;min-height:240px}.timeline-track{display:flex;justify-content:center;position:relative}.timeline-track:before{content:"";position:absolute;left:50%;top:7px;bottom:-7px;width:1px;background:#3d4657}.timeline-entry:last-child .timeline-track:before{bottom:50%}.timeline-node{display:block;width:13px;height:13px;background:#9eb0fd;border:3px solid #171a20;border-radius:50%;z-index:1;box-shadow:0 0 0 1px #8b9bd2,0 0 20px #7291ed44;margin-top:6px}.timeline-date{font-size:12px;letter-spacing:.1em;color:#929cae;font-weight:700;padding-top:3px}.timeline-card{padding:0 0 56px;border-bottom:1px solid #34383d}.timeline-entry:last-child .timeline-card{border-bottom:0}.timeline-card-header{display:flex;justify-content:space-between}.timeline-card-header svg{color:#737d8d}.timeline-card h3{font-size:clamp(25px,2.4vw,36px);letter-spacing:-.05em;margin:0 0 8px}.timeline-company{font-weight:600;color:#a3b3e0;margin:0;font-size:15px}.timeline-description{font-size:15px;max-width:600px;color:#a6adb7;margin:21px 0 16px}.timeline-location{font-size:12px;color:#858e98;display:flex;align-items:center;gap:7px}.education-card{border:1px solid #363b42;background:linear-gradient(128deg,#1d2126,#171a1d);border-radius:17px;padding:50px;display:grid;grid-template-columns:1.15fr .85fr;gap:60px}.education-eyebrow,.courses-label{font-size:11px;font-weight:800;letter-spacing:.15em;color:#96a8cf}.education-main h3{font-size:clamp(34px,3.7vw,50px);letter-spacing:-.058em;margin:28px 0 6px}.education-main p{font-size:17px;color:#e0e3e6;margin:0 0 10px}.education-caption{color:#9ca4ac;font-size:13px}.education-courses{border-left:1px solid #3a3f48;padding-left:36px}.education-courses>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.education-courses>div span{border:1px solid #414650;background:#252a31;border-radius:8px;padding:11px 13px;font-size:13px;color:#d7dce3}.education-courses small{color:#94a8ff;font-size:11px}.contact-section{background:#101214;padding-top:150px;padding-bottom:125px}.contact-shell{max-width:1000px}.contact-heading{text-align:center;margin-bottom:53px}.contact-kicker{justify-content:center}.contact-heading h2{font-size:clamp(52px,7vw,94px);margin-bottom:19px}.contact-heading p{color:#adb3ba;font-size:17px}.contact-cards{max-width:720px;margin:0 auto;display:grid;gap:16px}.email-card{padding:27px 30px;display:flex;align-items:center;gap:24px;border:1px solid #343b43;border-radius:13px;background:#1c2024;transition:background .25s,transform .25s,border-color .25s}.email-card:hover{background:#252b32;border-color:#7487bc;transform:translateY(-3px)}.email-icon{width:58px;height:58px;border-radius:12px;background:#2b333f;color:#a7bdff;display:grid;place-items:center;flex-shrink:0}.email-body{min-width:0;display:grid;gap:8px}.email-label{font-size:11px;font-weight:800;letter-spacing:.15em;color:#8ea8f5}.email-address{font-size:clamp(13px,2.2vw,21px);font-weight:600;overflow-wrap:anywhere}.email-arrow{margin-left:auto;color:#aeb9ca}.contact-below{max-width:720px;margin:44px auto 0;display:flex;justify-content:space-between;gap:16px;font-size:10px;letter-spacing:.13em;color:#8b949e;font-weight:700}.contact-below>span:last-child{display:flex;align-items:center;gap:10px}.little-green-dot{width:6px;height:6px}.footer{background:#101214;border-top:1px solid #2b2e32}.footer-inner{min-height:140px;display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-inner>div:first-child{display:flex;align-items:center;gap:25px}.footer-brand{font-family:Space Grotesk,sans-serif;font-size:27px;font-weight:700}.footer-brand span{color:#89a0ff}.copyright{font-size:12px;color:#848b94}.footer-right{display:flex;gap:20px;align-items:center}.footer-right a{transition:color .2s}.footer-right a:hover{color:#a0b4ff}.back-to-top{font-size:12px;color:#c6cbd2;display:flex;align-items:center;gap:8px}@keyframes rise-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes art-in{0%{opacity:0;transform:translate(38px) rotate(-2deg)}to{opacity:.77;transform:translate(0) rotate(0)}}@media(max-width:1000px){.shell{width:min(1200px,calc(100% - 64px))}.main-nav{gap:25px}.hero-art{right:-26%;width:92vw;opacity:.55}.hero-content{max-width:650px}.project-card{grid-template-columns:1fr .85fr}.project-main{padding:35px}.timeline-entry{grid-template-columns:26px 200px 1fr;gap:18px}.education-card{gap:32px;padding:37px}}@media(max-width:720px){.shell{width:calc(100% - 40px)}.header-inner{height:76px}.brand-symbol{width:37px;height:37px}.menu-toggle{display:flex}.main-nav{display:none;position:absolute;top:75px;left:20px;right:20px;background:#202326;border:1px solid #41464e;box-shadow:0 24px 55px #0009;border-radius:12px;padding:15px;flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav a{padding:13px 15px}.main-nav>a.nav-contact{margin-top:9px;justify-content:space-between;padding:13px 16px}.hero{min-height:780px}.hero-inner{min-height:780px;padding-top:120px}.hero-art{width:750px;right:-425px;top:70px;opacity:.36}.hero-soft-light{background:linear-gradient(90deg,#111315 4%,#111315c2 68%,#1113155c)}.hero-content{padding-block:60px}.hero h1{font-size:clamp(49px,11.5vw,76px);letter-spacing:-.072em}.hero-description{font-size:17px}.hero-overline{font-size:10px;letter-spacing:.16em}.hero-bottom{bottom:27px}.hero-coordinate{display:none}.section{padding:100px 0}.section-heading{margin-bottom:40px}.about-grid,.skills-grid{grid-template-columns:1fr;gap:25px}.about-detail{grid-template-columns:120px 1fr}.skill-card{min-height:auto}.project-card{grid-template-columns:1fr}.project-visual{order:-1;min-height:320px}.project-logo-orbit{width:210px}.project-main{padding:32px 25px}.project-main h3{margin-top:25px}.timeline-entry{grid-template-columns:25px 1fr;gap:17px}.timeline-date{grid-column:2;grid-row:1}.timeline-track{grid-column:1;grid-row:1/3}.timeline-card{grid-column:2;padding-bottom:47px}.timeline-entry{min-height:auto;margin-bottom:12px}.education-card{grid-template-columns:1fr;gap:25px;padding:29px}.education-courses{border-left:0;border-top:1px solid #414751;padding:23px 0 0}.contact-section{padding-block:110px}.email-card{padding:19px;gap:15px}.email-icon{width:47px;height:47px}.contact-below{flex-direction:column;align-items:center;text-align:center}.footer-inner,.footer-inner>div:first-child{flex-direction:column;align-items:flex-start}.footer-inner{padding-block:30px;gap:22px}.footer-inner>div:first-child{gap:8px}.footer-right{align-self:stretch;justify-content:space-between}}@media(max-width:400px){.hero h1{font-size:46px}.hero-actions{align-items:stretch}.hero-actions a{width:100%}.hero-description{font-size:16px}.project-visual{min-height:270px}.email-address{font-size:13px}.email-arrow{display:none}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal:not(.is-visible){opacity:1;transform:none}}
