@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#080808;--bg-card:#0f0f0f;--bg-card-hover:#141414;--text-primary:#f0f0f0;--text-sec:#7a7a7a;--text-dim:#3a3a3a;--green:#0f8;--green-dim:#00ff8814;--green-border:#0f86;--green-glow:#00ff8826;--card-border:#ffffff1a;--card-border-h:#00ff8880;--font-display:"Space Grotesk", sans-serif;--font-mono:"Space Mono", monospace;--radius:4px;--radius-lg:6px}html{scroll-behavior:auto}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-display);-webkit-font-smoothing:antialiased;overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--green-border);border-radius:0}#canvas{z-index:0;pointer-events:none;opacity:.35;width:100%;height:100%;position:fixed;top:0;left:0}.nav{z-index:200;-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--card-border);background:#080808eb;justify-content:space-between;align-items:center;padding:1rem 4%;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{font-family:var(--font-mono);color:var(--text-primary);letter-spacing:.08em;border:1px solid var(--card-border);border-radius:0;padding:.3rem .75rem;font-size:.88rem;font-weight:700;text-decoration:none;transition:border-color .2s,color .2s}.nav-logo:hover{border-color:var(--green-border);color:var(--green)}.nav-links{align-items:center;gap:.15rem;display:flex}.nav-links a{color:var(--text-sec);letter-spacing:.04em;border-radius:0;padding:.4rem .85rem;font-size:.82rem;font-weight:500;text-decoration:none;transition:color .2s,background .2s}.nav-links a:hover,.nav-links a.active{color:var(--text-primary);background:#ffffff0a}.nav-cta{background:var(--green)!important;color:#000!important;font-weight:700!important;font-family:var(--font-mono)!important;letter-spacing:.06em!important;border-radius:0!important;padding:.45rem 1.1rem!important;font-size:.78rem!important;transition:opacity .2s!important}.nav-cta:hover{opacity:.85}.mobile-menu-btn{border:1px solid var(--card-border);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:0;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-size:1rem;display:none}.mobile-nav{z-index:190;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;transition:transform .4s cubic-bezier(.77,0,.175,1);display:flex;position:fixed;inset:0;transform:translate(100%)}.mobile-nav.open{transform:translate(0)}.mobile-nav a{color:var(--text-primary);letter-spacing:-.04em;text-transform:uppercase;font-size:2.5rem;font-weight:700;text-decoration:none;transition:color .2s}.mobile-nav a:hover{color:var(--green)}.hero{z-index:10;flex-direction:column;justify-content:flex-end;min-height:100vh;padding:0 5% 5rem;display:flex;position:relative}.hero-badge{border:1px solid var(--green-border);color:var(--green);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;background:0 0;border-radius:0;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.35rem .85rem;font-size:.66rem;display:inline-flex}.hero-badge:before{content:"";background:var(--green);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.6)}}.hero-title{letter-spacing:-.05em;text-transform:uppercase;color:var(--text-primary);margin-bottom:.1em;font-size:clamp(5rem,14vw,12rem);font-weight:700;line-height:.85}.hero-title .accent{color:var(--green);display:block}.hero-sub{color:var(--text-sec);font-size:clamp(.9rem,2vw,1.2rem);font-weight:500;line-height:1.4;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin-bottom:2.5rem}.hero-sub strong{color:var(--green);font-weight:700}.hero-actions{flex-wrap:wrap;gap:.6rem;margin-bottom:3.5rem;display:flex}.btn-outline{border:1px solid var(--card-border);color:var(--text-sec);font-size:.8rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:.5rem;padding:.6rem 1.2rem;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.btn-outline:hover{border-color:var(--green-border);color:var(--green);background:var(--green-dim)}.btn-primary{background:var(--green);color:#000;font-size:.82rem;font-weight:700;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;border-radius:0;align-items:center;gap:.5rem;padding:.65rem 1.5rem;text-decoration:none;transition:opacity .2s,transform .15s;display:inline-flex}.btn-primary:hover{opacity:.85;transform:scale(1.02)}.scroll-hint{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.1em;font-size:.68rem;animation:2.2s ease-in-out infinite floaty}@keyframes floaty{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:.9;transform:translateY(7px)}}.main-content{z-index:10;flex-direction:column;gap:1.5rem;padding:0 5% 2rem;display:flex;position:relative}.bento-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.bento-full{grid-column:1/-1}.bento-card{background:var(--bg-card);border:1px solid var(--card-border);border-radius:0;padding:2.5rem;transition:border-color .25s,transform .25s;position:relative;overflow:hidden}.bento-card:hover{border-color:var(--card-border-h);transform:translateY(-2px)}.bento-card:before{content:"";background:var(--green);opacity:0;width:40px;height:2px;transition:opacity .3s,width .3s;position:absolute;top:0;left:0}.bento-card:hover:before{opacity:1;width:80px}.card-label{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--green);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.62rem;display:flex}.card-label:before{content:"";background:var(--green);width:20px;height:1px;display:inline-block}.card-title{letter-spacing:-.04em;text-transform:uppercase;color:var(--text-primary);margin-bottom:1.2rem;font-size:clamp(1.8rem,3.5vw,3.2rem);font-weight:700;line-height:.92}.card-title .green{color:var(--green)}.card-body{color:var(--text-sec);font-size:.88rem;line-height:1.75}.m4sora-card{border-color:var(--green-border);border-width:1px}.m4sora-name{letter-spacing:-.05em;color:var(--green);margin-bottom:1rem;font-size:clamp(3rem,7vw,6rem);font-weight:700;line-height:.9;text-decoration:none;transition:opacity .2s;display:block}.m4sora-cta-badge{border:1px solid var(--green-border);color:var(--green);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.62rem;text-decoration:none;transition:background .2s;animation:3s ease-in-out infinite badge-blink;display:inline-flex}.m4sora-cta-badge:hover{background:var(--green-dim)}@keyframes badge-blink{0%,90%,to{opacity:1}95%{opacity:.5}}.m4sora-link{text-decoration:none;display:block}.m4sora-link:hover .m4sora-name{opacity:.75}.stats-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--card-border);border-radius:0;padding:2.5rem;transition:border-color .25s;position:relative;overflow:hidden}.stat-card:hover{border-color:var(--card-border-h)}.stat-card:before{content:"";background:var(--green);opacity:0;width:40px;height:2px;transition:opacity .3s,width .3s;position:absolute;top:0;left:0}.stat-card:hover:before{opacity:1;width:60px}.stat-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:.6rem;margin-bottom:1rem;font-size:.6rem;display:flex}.stat-badge{background:var(--green-dim);color:var(--green);border:1px solid var(--green-border);letter-spacing:.1em;border-radius:0;padding:.1rem .5rem;font-size:.55rem}.stat-value{letter-spacing:-.06em;color:var(--text-primary);margin-bottom:.75rem;font-size:clamp(3rem,7vw,6rem);font-weight:700;line-height:1}.stat-desc{color:var(--text-sec);font-size:.82rem;line-height:1.6}.resume-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;display:flex}.resume-info h3{letter-spacing:-.03em;text-transform:uppercase;color:var(--text-primary);margin-bottom:.4rem;font-size:1.6rem;font-weight:700}.resume-info p{color:var(--text-sec);font-size:.82rem;font-family:var(--font-mono)}.btn-resume{background:var(--green);color:#000;font-size:.82rem;font-weight:700;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:0;align-items:center;gap:.6rem;padding:.85rem 2rem;text-decoration:none;transition:opacity .2s,transform .15s;display:inline-flex}.btn-resume:hover{opacity:.85;transform:scale(1.02)}.btn-resume svg{width:16px;height:16px}.projects-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--card-border);color:var(--text-primary);border-radius:0;flex-direction:column;gap:1.2rem;padding:2rem;text-decoration:none;transition:border-color .25s,transform .25s;display:flex;position:relative;overflow:hidden}.project-card:hover{border-color:var(--card-border-h);transform:translateY(-3px)}.project-card:before{content:"";background:var(--green);width:0;height:2px;transition:width .35s;position:absolute;top:0;left:0}.project-card:hover:before{width:100%}.project-num{font-family:var(--font-mono);letter-spacing:.18em;color:var(--green);text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.6rem;display:flex}.project-live{background:var(--green-dim);border:1px solid var(--green-border);color:var(--green);letter-spacing:.1em;border-radius:0;padding:.12rem .5rem;font-size:.55rem}.project-title{letter-spacing:-.03em;color:var(--text-primary);text-transform:uppercase;font-size:1.5rem;font-weight:700;line-height:1.1}.project-desc{color:var(--text-sec);flex:1;font-size:.82rem;line-height:1.65}.project-tags{flex-wrap:wrap;gap:.4rem;display:flex}.project-tag{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--card-border);background:0 0;border-radius:0;padding:.2rem .55rem;font-size:.58rem;transition:color .2s,border-color .2s}.project-card:hover .project-tag{color:var(--text-sec);border-color:#ffffff26}.project-arrow{font-family:var(--font-mono);color:var(--green);letter-spacing:.06em;font-size:.72rem;transition:letter-spacing .2s}.project-card:hover .project-arrow{letter-spacing:.14em}.skill-list{list-style:none}.skill-item{border-bottom:1px solid var(--card-border);opacity:0;align-items:center;gap:1.5rem;padding:1.1rem 0;transition:opacity .5s,transform .5s,border-color .25s;display:flex;transform:translate(-24px)}.skill-item.visible{opacity:1;transform:translate(0)}.skill-item:hover{border-color:var(--green-border)}.skill-num{font-family:var(--font-mono);color:var(--green);letter-spacing:.1em;min-width:1.8rem;font-size:.62rem}.skill-text{letter-spacing:-.025em;text-transform:uppercase;font-size:clamp(1rem,2.2vw,1.9rem);font-weight:700}.exp-list{flex-direction:column;gap:0;display:flex}.exp-item{border-bottom:1px solid var(--card-border);padding:1.4rem 0}.exp-item:last-child{border-bottom:none}.exp-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.3rem;display:flex}.exp-role{color:var(--text-primary);letter-spacing:-.01em;text-transform:uppercase;font-size:1rem;font-weight:700}.exp-date{font-family:var(--font-mono);color:var(--green);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:.62rem}.exp-company{font-family:var(--font-mono);color:var(--text-sec);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem;font-size:.68rem;display:block}.exp-desc{color:var(--text-sec);font-size:.85rem;line-height:1.65}.exp-tags{flex-wrap:wrap;gap:.35rem;margin-top:.6rem;display:flex}.exp-tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--green);border:1px solid var(--green-border);background:var(--green-dim);border-radius:0;padding:.18rem .55rem;font-size:.58rem}.footer{z-index:10;background:var(--bg-card);border-top:2px solid var(--card-border);margin-top:4rem;padding:6rem 5% 3.5rem;position:relative}.footer-headline{letter-spacing:-.05em;text-transform:uppercase;color:var(--text-primary);margin-bottom:3rem;font-size:clamp(2.5rem,7vw,6rem);font-weight:700;line-height:.88}.footer-headline em{color:var(--green);font-style:normal}.footer-links{flex-wrap:wrap;gap:.6rem;margin-bottom:3.5rem;display:flex}.footer-links a{color:var(--text-sec);font-family:var(--font-mono);letter-spacing:.06em;border:1px solid var(--card-border);background:0 0;border-radius:0;padding:.65rem 1.5rem;font-size:.82rem;font-weight:500;text-decoration:none;transition:color .2s,border-color .2s,background .2s}.footer-links a:hover{color:var(--green);border-color:var(--green-border);background:var(--green-dim)}.footer-bottom{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;border-top:1px solid var(--card-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-top:2rem;font-size:.66rem;display:flex}.page-wrap{z-index:10;min-height:100vh;padding:10rem 5% 6rem;position:relative}.works-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.5rem;margin-top:3.5rem;display:grid}.work-card{color:var(--text-primary);border:1px solid var(--card-border);background:var(--bg-card);border-radius:0;padding:2.5rem;text-decoration:none;transition:border-color .25s,transform .25s;display:block;position:relative;overflow:hidden}.work-card:before{content:"";background:var(--green);width:0;height:2px;transition:width .35s;position:absolute;top:0;left:0}.work-card:hover{border-color:var(--card-border-h);transform:translateY(-3px)}.work-card:hover:before{width:100%}.work-card-header{justify-content:space-between;align-items:center;margin-bottom:1.2rem;display:flex}.work-num{font-family:var(--font-mono);color:var(--green);letter-spacing:.14em;text-transform:uppercase;font-size:.6rem}.work-badge{font-family:var(--font-mono);color:var(--green);border:1px solid var(--green-border);border-radius:0;padding:.15rem .55rem;font-size:.6rem}.work-title{letter-spacing:-.03em;text-transform:uppercase;margin-bottom:.75rem;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:700}.work-desc{color:var(--text-sec);margin-bottom:1.2rem;font-size:.85rem;line-height:1.65}.work-tags{flex-wrap:wrap;gap:.4rem;margin-bottom:1.4rem;display:flex}.work-link{font-family:var(--font-mono);color:var(--green);letter-spacing:.08em;font-size:.75rem;transition:letter-spacing .2s}.work-card:hover .work-link{letter-spacing:.16em}.display-xl{letter-spacing:-.05em;text-transform:uppercase;color:var(--text-primary);margin-bottom:1.5rem;font-size:clamp(3.5rem,10vw,9rem);font-weight:700;line-height:.88}.display-xl em{color:var(--green);font-style:normal}.display-lg{letter-spacing:-.04em;text-transform:uppercase;color:var(--text-primary);margin-bottom:1.5rem;font-size:clamp(2rem,5.5vw,5rem);font-weight:700;line-height:.92}.display-lg em{color:var(--green);font-style:normal}.body-text{color:var(--text-sec);font-size:clamp(.9rem,1.8vw,1.1rem);line-height:1.75}.eyebrow{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-sec);margin-bottom:1.2rem;font-size:.66rem}.section-label{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--green);margin-bottom:1.2rem;font-size:.62rem}.brand-name{color:var(--green);letter-spacing:-.05em;text-transform:uppercase;font-size:clamp(4rem,12vw,10rem);font-weight:700}@media (width<=1024px){.projects-grid{grid-template-columns:1fr 1fr}}@media (width<=768px){.nav-links{display:none}.mobile-menu-btn{display:flex}.hero{padding:0 5% 4rem}.hero-title{font-size:clamp(3.5rem,16vw,6rem)}.bento-grid{grid-template-columns:1fr}.bento-full{grid-column:1}.stats-row{grid-template-columns:1fr 1fr}.projects-grid{grid-template-columns:1fr}.resume-card{flex-direction:column;align-items:flex-start}.footer-bottom{flex-direction:column}.bento-card,.stat-card{padding:1.75rem}}@media (width<=480px){.stats-row{grid-template-columns:1fr}.hero-title{font-size:3rem}}.text-green{color:var(--green)}.desktop-br{display:block}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}
