@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;700&display=swap');*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#07100c;color:#c9ffd9;font-family:'IBM Plex Mono',monospace;background-image:linear-gradient(#0d1b14 1px,transparent 1px),linear-gradient(90deg,#0d1b14 1px,transparent 1px);background-size:40px 40px}a{color:#6eff9b}.skip{position:fixed;top:-5rem;background:#6eff9b;color:#07100c;padding:1rem;z-index:50}.skip:focus{top:1rem}header{height:72px;padding:0 3vw;border-bottom:1px solid #285c3a;display:grid;grid-template-columns:1fr auto auto;gap:2rem;align-items:center;background:#07100cf2;position:sticky;top:0;z-index:20}.brand{text-decoration:none;font-weight:bold}.brand i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#6eff9b;box-shadow:0 0 12px #6eff9b}nav{display:flex;gap:1.5rem}nav a{text-decoration:none;font-size:.7rem;text-transform:uppercase}nav a:before{content:'./';color:#4b8b60}.langs{border:1px solid #285c3a;padding:.25rem}.langs button,.menu{border:0;background:transparent;color:#6eff9b;font:inherit;font-size:.7rem;padding:.35rem;cursor:pointer}.langs button.active{background:#6eff9b;color:#07100c}.menu{display:none}.hero{min-height:calc(100vh - 72px);padding:8vh 6vw;display:flex;flex-direction:column;justify-content:center;position:relative}.status{position:absolute;top:2rem;left:3vw;font-size:.65rem;color:#6eff9b}.status span{margin-left:2rem;color:#668f72}.eyebrow{color:#668f72}.eyebrow span{color:#c9ffd9;margin-left:1rem}.hero h1{font-size:clamp(4rem,10vw,10rem);line-height:.85;letter-spacing:-.07em;margin:3rem 0}.hero h1>span{color:#6eff9b;text-shadow:0 0 24px #39ff7866}.cursor{animation:blink 1s step-end infinite}.lead{font-size:clamp(1rem,1.8vw,1.5rem);max-width:760px;line-height:1.65;border-left:2px solid #6eff9b;padding-left:1.5rem}.cta{margin-top:2rem;text-decoration:none}.panel,main>section:not(.hero){margin:0 3vw 8rem;border:1px solid #285c3a;padding:5vw;background:#07100ce8}label,.section-head>label{color:#6eff9b;font-size:.7rem}.about{display:grid;grid-template-columns:1fr 3fr;gap:2rem}.about h2{font-size:clamp(2rem,5vw,5rem);line-height:1.05;margin:0}.about p{grid-column:2;line-height:1.8;color:#9dbaa6}.section-head{display:grid;grid-template-columns:1fr 3fr;align-items:end;margin-bottom:3rem}.section-head h2{font-size:clamp(2.5rem,6vw,6rem);letter-spacing:-.05em;margin:0}.section-head p{grid-column:2;color:#668f72}.project{border-top:1px solid #285c3a}.project-toggle{width:100%;padding:2rem 1rem;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:70px 1fr auto auto;gap:1rem;align-items:center;text-align:left;font:inherit;cursor:pointer}.project-toggle:hover,.project-toggle:focus{background:#102219}.project-title{font-size:clamp(1.4rem,3vw,3rem);font-weight:bold}.toggle-label{font-size:.65rem;color:#6eff9b}.plus{font-size:1.5rem}.open .plus{transform:rotate(45deg)}.project-detail{padding:0 10% 2rem}.project-detail p{max-width:700px;line-height:1.7}.project-detail ul,.skills{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.project-detail li,.skills li{border:1px solid #285c3a;padding:.5rem;color:#6eff9b;font-size:.7rem}.skills li{padding:1rem;font-size:1rem;flex-grow:1}.skills span{color:#668f72;margin-right:.5rem}.timeline article{display:grid;grid-template-columns:1fr 3fr;border-top:1px solid #285c3a;padding:2rem 0}.timeline time{color:#6eff9b;font-weight:bold}.timeline p{margin:0}.contact h2{font-size:clamp(2.5rem,7vw,7rem);line-height:1;margin:2rem 0}.contact a{font-size:clamp(1rem,2.5vw,2.5rem)}footer{border-top:1px solid #285c3a;padding:2rem 3vw;display:flex;justify-content:space-between;font-size:.65rem;color:#668f72}.project-toggle:focus-visible,a:focus-visible,button:focus-visible{outline:1px solid #6eff9b;outline-offset:4px}@keyframes blink{50%{opacity:0}}@media(max-width:760px){header{grid-template-columns:1fr auto auto;gap:.4rem;padding:0 1rem}.menu{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#07100c;border-bottom:1px solid #6eff9b;padding:1rem;flex-direction:column}nav.open{display:flex}.hero{padding:8rem 1rem 4rem}.hero h1{font-size:15vw}.eyebrow span{display:block;margin:1rem 0}.panel,main>section:not(.hero){margin:0 1rem 4rem;padding:3rem 1rem}.about,.section-head{grid-template-columns:1fr}.about p,.section-head p{grid-column:1}.project-toggle{grid-template-columns:40px 1fr auto}.toggle-label{display:none}.project-detail{padding-left:3rem}.timeline article{grid-template-columns:80px 1fr}footer{gap:2rem}}
