:root{--bg:#0c0d0f;--surface:#141519;--surface-2:#191b20;--ink:#f1f0eb;--muted:#999ca3;--line:#2b2e35;--accent:#879eff;--accent-soft:#20284b;--orange:#e4a46d;--mono:'IBM Plex Mono',monospace;--sans:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}.shell{width:min(1160px,calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:var(--bg);z-index:20;padding:10px}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:10;background:rgba(12,13,15,.88);backdrop-filter:blur(14px);border-bottom:1px solid transparent}.site-header.scrolled{border-color:var(--line)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{color:var(--ink);text-decoration:none;font-weight:800;font-size:22px;letter-spacing:-1px}.brand span{color:var(--accent)}.nav-links{display:flex;align-items:center;gap:25px}.nav-links a{font-size:12px;color:#c3c4c5;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--ink)}.nav-links .nav-contact{margin-left:9px;border:1px solid var(--line);padding:9px 13px;color:var(--ink)}.nav-contact span,.button span,.text-link span,.hero-socials span,.contact-links span{color:var(--accent);margin-left:5px}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle i{display:block;width:22px;height:1px;background:var(--ink);margin:5px}.hero{min-height:635px;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;padding-top:70px;padding-bottom:70px}.eyebrow,.section-label{font:500 11px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.status-dot,.tiny-dot{display:inline-block;width:7px;height:7px;background:#8de5ab;border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px rgba(141,229,171,.1)}h1,h2,p{margin-top:0}h1{font-size:clamp(42px,5vw,69px);line-height:1.08;letter-spacing:-.065em;margin:20px 0 24px;max-width:690px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.07em}.hero-description{max-width:480px;color:var(--muted);font-size:16px;line-height:1.75}.hero-actions{display:flex;gap:13px;margin-top:34px}.button{font:600 12px var(--sans);display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;padding:14px 17px;border:1px solid transparent;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:#111321}.button-primary:hover{background:#a0b1ff}.button-quiet{border-color:var(--line);color:var(--ink)}.button-quiet:hover{background:var(--surface)}.hero-socials{display:flex;gap:20px;margin-top:31px}.hero-socials a,.text-link{font:500 12px var(--mono);color:var(--ink);text-decoration:none}.hero-socials a:hover,.text-link:hover{color:var(--accent)}.hero-art{position:relative;height:410px;display:grid;place-items:center;isolation:isolate}.code-window{position:relative;width:min(100%,430px);background:#17191e;border:1px solid #343842;box-shadow:18px 21px 0 #101115,0 25px 60px rgba(0,0,0,.25);z-index:2;transform:rotate(-3deg)}.window-top{height:43px;display:flex;align-items:center;padding:0 15px;border-bottom:1px solid #30333b;gap:5px}.window-top span{width:7px;height:7px;border-radius:50%;background:#515562}.window-top b{font:400 10px var(--mono);color:#a8abb5;margin-left:8px}.code-lines{padding:18px 17px 12px;font:12px/1.8 var(--mono);color:#e1e2e6}.code-lines p{margin:0}.code-lines i{display:inline-block;width:28px;color:#676b76;font-style:normal}.code-lines strong{color:#b7d7bb;font-weight:400}.purple{color:#b7a3f4}.orange{color:var(--orange)}.terminal-prompt{border-top:1px solid #30333b;padding:12px 17px;font:10px var(--mono);color:#abb2bd}.terminal-prompt>span{color:#8de5ab;margin-right:8px}.cursor{display:inline-block;width:6px;height:12px;background:var(--accent);vertical-align:middle;margin-left:4px;animation:blink 1s infinite}.orbit{position:absolute;border:1px solid #272a31;border-radius:50%;z-index:0}.orbit-one{width:360px;height:360px}.orbit-two{width:480px;height:480px;border-style:dashed;animation:spin 38s linear infinite}.art-chip{position:absolute;background:#1c1f27;border:1px solid #363a45;padding:8px 11px;font:500 10px var(--mono);z-index:3;color:#d5d8e2}.chip-react{top:30px;right:11px}.chip-node{bottom:41px;left:0}.art-stamp{position:absolute;right:4px;bottom:40px;font:800 20px/.8 var(--sans);letter-spacing:-1px;color:#181a20;background:var(--orange);padding:10px;transform:rotate(8deg);z-index:3}.art-stamp small{font:500 8px var(--mono);letter-spacing:0}.proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.proof>div{display:flex;align-items:center;gap:13px;border-right:1px solid var(--line)}.proof>div:last-child{border:0}.proof strong{font-size:34px;line-height:1;letter-spacing:-.07em}.proof strong span{color:var(--accent)}.proof p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.proof-note{font:500 10px var(--mono);text-transform:uppercase;color:#c1c3c9;line-height:1.6}.section{padding-top:140px}.section-label{display:flex;gap:14px;align-items:center}.section-label span{color:var(--accent)}h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.06em;line-height:1.13;margin:0}.about-content{display:grid;grid-template-columns:1.45fr .75fr;gap:100px;margin-top:41px}.about-content h2{max-width:680px}.about-text{color:var(--muted);font-size:14px}.about-text p{margin-bottom:19px}.text-link{display:inline-block;color:var(--ink);margin-top:11px}.section-intro{display:flex;justify-content:space-between;align-items:end}.section-intro h2{margin-top:39px}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:55px}.skill-card{background:var(--surface);border:1px solid var(--line);padding:22px;min-height:190px;transition:border .25s,transform .25s}.skill-card:hover{border-color:#59617a;transform:translateY(-4px)}.skill-icon{font:400 19px var(--mono);color:var(--accent)}.skill-card h3{font-size:15px;margin:23px 0 13px;letter-spacing:-.02em}.skill-list{display:flex;flex-wrap:wrap;gap:7px}.skill-list span,.project-tags span,.timeline-tags span{font:400 10px var(--mono);color:#aeb1ba;background:#202329;padding:5px 7px}.project-heading{display:flex;align-items:end;justify-content:space-between}.project-heading h2{margin-top:39px}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:38px 18px;margin-top:56px}.project-card{background:var(--surface);border:1px solid var(--line);transition:transform .3s,border .3s;overflow:hidden}.project-card:hover{transform:translateY(-6px);border-color:#555d76}.project-visual{height:257px;background:#1b1e25;position:relative;overflow:hidden}.project-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(12,13,15,.16))}.visual-inner{position:absolute;inset:22px 23px 0;background:var(--pv);border-radius:5px 5px 0 0;padding:16px;color:#15151d;transform:translateY(17px);transition:transform .35s}.project-card:hover .visual-inner{transform:translateY(8px)}.mock-nav{height:8px;width:42%;background:rgba(255,255,255,.75);border-radius:8px}.mock-panel{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.mock-panel span{display:block;height:68px;border-radius:3px;background:rgba(255,255,255,.44)}.mock-panel span:last-child{background:rgba(20,22,34,.65)}.mock-lines{margin-top:15px;width:70%;height:6px;background:rgba(255,255,255,.7);box-shadow:0 12px 0 rgba(255,255,255,.45),0 24px 0 rgba(255,255,255,.3)}.project-body{padding:21px 22px 23px}.project-kicker{font:500 10px var(--mono);text-transform:uppercase;color:var(--accent)}.project-card h3{font-size:19px;letter-spacing:-.04em;margin:8px 0}.project-card p{font-size:13px;color:var(--muted);margin-bottom:16px}.project-footer{display:flex;justify-content:space-between;gap:15px;align-items:end}.project-tags{display:flex;gap:5px;flex-wrap:wrap}.project-links{display:flex;gap:10px;white-space:nowrap}.project-links a{font:500 10px var(--mono);text-decoration:none;color:var(--ink)}.project-links a:hover{color:var(--accent)}.experience-layout{display:grid;grid-template-columns:1fr 1fr;gap:86px;margin-top:39px}.timeline{border-top:1px solid var(--line)}.timeline-item{padding:21px 0;border-bottom:1px solid var(--line)}.timeline-top{display:flex;justify-content:space-between;gap:10px}.timeline h3{font-size:15px;letter-spacing:-.02em;margin:0}.timeline time,.timeline-role{font:400 10px var(--mono);color:var(--muted)}.timeline-role{color:var(--accent);margin:4px 0 10px}.timeline p{font-size:12px;color:var(--muted);margin-bottom:12px}.timeline-tags{display:flex;flex-wrap:wrap;gap:5px}.services-grid{border-top:1px solid var(--line);margin-top:40px}.service{display:grid;grid-template-columns:70px 1fr 1.2fr;gap:20px;align-items:start;padding:27px 0;border-bottom:1px solid var(--line);transition:padding .25s}.service:hover{padding-left:12px}.service-number{font:400 11px var(--mono);color:var(--accent)}.service h3{margin:0;font-size:19px;letter-spacing:-.04em}.service p{margin:2px 0 0;color:var(--muted);font-size:13px}.contact{margin-top:140px;margin-bottom:80px;background:var(--surface);border:1px solid var(--line);padding:65px 7%;display:grid;grid-template-columns:1fr .8fr;gap:80px}.contact h2{font-size:clamp(43px,5vw,66px);margin:16px 0}.contact-intro>p:not(.eyebrow){max-width:390px;color:var(--muted);font-size:14px}.contact-links{margin-top:38px;display:flex;gap:19px}.contact-links a{font:500 11px var(--mono);color:var(--ink);text-decoration:none}.contact-form{display:flex;flex-direction:column;gap:19px}.contact-form label{font:500 10px var(--mono);text-transform:uppercase;color:#b9bbc2}.contact-form input,.contact-form textarea{font:400 14px var(--sans);display:block;width:100%;margin-top:8px;background:transparent;border:0;border-bottom:1px solid #3b3e46;padding:8px 0;color:var(--ink);outline:0;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form .button{align-self:start;margin-top:5px}.form-feedback{font-size:12px;color:#8de5ab;margin:0}.footer{border-top:1px solid var(--line);min-height:85px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font:400 10px var(--mono)}.footer p{margin:0}.footer div{display:flex;gap:19px}.footer a{color:var(--ink);text-decoration:none}@keyframes blink{50%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}.reveal{opacity:0;transform:translateY(17px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:760px){.shell{width:min(100% - 36px,600px)}.nav{height:64px}.menu-toggle{display:block;z-index:2}.nav-links{position:absolute;top:64px;left:0;right:0;background:#121316;border-bottom:1px solid var(--line);padding:20px 24px 25px;display:flex;align-items:flex-start;flex-direction:column;gap:16px;transform:translateY(-140%);transition:transform .25s;z-index:1}.nav-links.open{transform:none}.nav-links .nav-contact{margin:3px 0 0}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:65px;gap:36px}.hero-art{height:320px;order:2}.code-window{max-width:330px}.orbit-one{width:280px;height:280px}.orbit-two{width:350px;height:350px}.chip-react{right:0;top:6px}.art-stamp{right:0;bottom:20px}.hero-description{font-size:14px}.proof{grid-template-columns:1fr 1fr;gap:0}.proof>div{padding:15px 3px;gap:9px;border-right:0}.proof>div:nth-child(1),.proof>div:nth-child(2){border-bottom:1px solid var(--line)}.proof strong{font-size:28px}.proof-note{padding-left:12px!important;border-left:1px solid var(--line)!important}.section{padding-top:91px}.about-content,.experience-layout,.contact{grid-template-columns:1fr;gap:28px}.about-content{margin-top:28px}.skills-grid{grid-template-columns:1fr 1fr;margin-top:38px;gap:9px}.skill-card{padding:16px;min-height:155px}.skill-card h3{margin-top:16px}.projects-grid{grid-template-columns:1fr;margin-top:39px;gap:16px}.project-visual{height:215px}.desktop-link{display:none}.experience-layout{margin-top:29px}.services-grid{margin-top:28px}.service{grid-template-columns:35px 1fr;gap:8px;padding:20px 0}.service p{grid-column:2}.contact{margin-top:92px;margin-bottom:46px;padding:37px 24px;gap:39px}.contact-links{flex-wrap:wrap;margin-top:25px}.footer{padding:20px 0;display:grid;grid-template-columns:auto 1fr;gap:12px}.footer p{display:none}.footer div{justify-content:end;gap:10px;text-align:right;flex-direction:column}.footer div span{font-size:9px}}@media(max-width:400px){h1{font-size:39px}.hero-actions{flex-direction:column;align-items:flex-start}.skills-grid{grid-template-columns:1fr}.skill-card{min-height:0}.proof p{font-size:10px}.proof strong{font-size:25px}}
