nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0a0ad9;border-bottom:1px solid #1f1f1f;position:fixed;top:0;left:0;right:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:1.5rem 4rem;display:flex}.nav-logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--white);font-size:1.1rem;font-weight:800;text-decoration:none}.nav-links{gap:2.5rem;list-style:none;display:flex}.nav-links a{color:var(--gray);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--white)}.nav-hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:4px;display:none}.nav-hamburger span{background:var(--white);transform-origin:50%;width:100%;height:1px;transition:transform .3s,opacity .3s;display:block}.nav-hamburger.is-open span:first-child{transform:translateY(6px)rotate(45deg)}.nav-hamburger.is-open span:nth-child(2){opacity:0}.nav-hamburger.is-open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}@media (max-width:1024px){nav,.nav-inner{padding:1.2rem 1.5rem}.nav-links{display:none}.nav-hamburger{display:flex}}
.mobile-menu{z-index:90;background:var(--black);visibility:hidden;opacity:0;pointer-events:none;padding:6rem 2rem 3rem;transition:opacity .3s,visibility .3s;position:fixed;inset:0}.mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}.mobile-menu-links{flex-direction:column;gap:0;list-style:none;display:flex}.mobile-menu-links li a{font-family:var(--font-display);letter-spacing:-.03em;color:var(--white);opacity:0;border-bottom:1px solid #1a1a1a;align-items:baseline;gap:1rem;padding:1.5rem 0;font-size:clamp(2rem,10vw,3.5rem);font-weight:700;text-decoration:none;transition:opacity .35s,transform .35s,color .2s;display:flex;transform:translateY(16px)}.mobile-menu.is-open .mobile-menu-links li a{opacity:1;transform:translateY(0)}.mobile-menu-links li a:hover,.mobile-menu-links li a.active{color:var(--gray)}.mobile-menu-num{font-family:var(--font-mono);color:var(--gray);letter-spacing:.1em;font-size:.65rem;font-weight:400}
#hero{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;width:100%;max-width:1100px;min-height:100vh;margin:0 auto;padding-top:80px;padding-left:4rem;padding-right:4rem;display:grid}.hero-text{max-width:540px}.hero-tag{letter-spacing:.2em;text-transform:uppercase;color:var(--gray);align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:.7rem;display:flex}.hero-tag:before{content:"";background:var(--gray);width:24px;height:1px;display:inline-block}.hero-name{font-family:var(--font-display);letter-spacing:-.04em;margin-bottom:1.5rem;font-size:clamp(3.5rem,7vw,6rem);font-weight:800;line-height:.95}.hero-name span{color:var(--gray);font-weight:400;display:block}.hero-desc{color:var(--gray);max-width:380px;margin-bottom:2.5rem;font-size:.9rem;line-height:1.8}.hero-cta{align-items:center;gap:1rem;display:flex}.btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--white);color:var(--black);background:var(--white);cursor:pointer;padding:.8rem 1.8rem;font-size:.72rem;text-decoration:none;transition:all .2s}.btn:hover{color:var(--white);background:0 0}.btn-ghost{color:var(--gray);background:0 0;border-color:#2a2a2a}.btn-ghost:hover{border-color:var(--white);color:var(--white)}.hero-avatar{justify-content:center;align-items:center;display:flex;position:relative}.avatar-wrap{width:340px;height:340px;position:relative}.avatar-ring{border:1px solid #222;border-radius:50%;animation:20s linear infinite spin;position:absolute;inset:-16px}.avatar-ring:before{content:"";background:#22c55e;border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;left:50%;transform:translate(-50%)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.avatar-circle{background:var(--gray-dim);border:1px solid #2a2a2a;border-radius:50%;justify-content:center;align-items:center;width:340px;height:340px;display:flex;position:relative;overflow:hidden}.avatar-photo{object-fit:cover;object-position:center 37%;border-radius:50%;width:100%;height:100%}.avatar-label{letter-spacing:.2em;text-transform:uppercase;color:var(--gray);white-space:nowrap;font-size:.65rem;position:absolute;bottom:-2.5rem;left:50%;transform:translate(-50%)}@media (max-width:1024px){#hero{text-align:center;grid-template-columns:1fr;padding:6rem 1.5rem 3rem}.hero-avatar{order:-1}.avatar-wrap{width:200px;height:200px;margin-top:40px}.avatar-circle{width:200px;height:200px}.hero-tag{justify-content:center}.hero-desc{margin:0 auto 2rem}.hero-cta{justify-content:center}.hero-text{flex-direction:column;align-items:center;max-width:100%;display:flex}}@media (max-width:375px){#hero{padding:5rem 1rem 3rem;overflow-x:hidden}.hero-name{font-size:2.5rem}.hero-cta{flex-direction:column;width:100%}.btn{text-align:center;width:100%}}
.about-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:6rem;display:grid}.about-text p{color:var(--gray);margin-bottom:1.2rem;font-size:.92rem;line-height:1.9}.about-text p strong{color:var(--white);font-weight:500}.about-stack{flex-direction:column;gap:.5rem;display:flex}.stack-item{border:1px solid #1f1f1f;justify-content:space-between;align-items:center;padding:.9rem 1.2rem;font-size:.75rem;transition:border-color .2s,background .2s;display:flex}.stack-item:hover{background:#111;border-color:#444}.stack-name{color:var(--white)}.stack-tag{color:var(--gray);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem}@media (max-width:1024px){.about-grid{grid-template-columns:1fr;gap:3rem}}
.now-grid{background:#1a1a1a;border:1px solid #1a1a1a;grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.now-card{background:var(--black);padding:2rem;transition:background .2s;position:relative;overflow:hidden}.now-card:hover{background:#0f0f0f}.now-card-icon{margin-bottom:1rem;font-size:1.4rem;display:block}.now-card-label{letter-spacing:.18em;text-transform:uppercase;color:var(--gray);margin-bottom:.5rem;font-size:.65rem}.now-card-title{font-family:var(--font-display);margin-bottom:.4rem;font-size:1.1rem;font-weight:600;line-height:1.3}.now-card-sub{color:var(--gray);font-size:.78rem}.now-card-note{color:var(--gray);opacity:.6;margin-top:.35rem;font-size:.72rem}.now-live{letter-spacing:.12em;text-transform:uppercase;color:var(--gray);align-items:center;gap:.4rem;font-size:.6rem;display:flex;position:absolute;top:1.5rem;right:1.5rem}.now-updated{letter-spacing:.12em;text-transform:uppercase;color:var(--gray);font-size:.6rem;position:absolute;top:1.5rem;right:1.5rem}.now-card-title a,.now-card-sub a{color:inherit;text-decoration:none}.now-card-title a:hover,.now-card-sub a:hover{text-decoration:underline}.now-live-dot{background:#22c55e;border-radius:50%;width:5px;height:5px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.2}}.now-carousel-btn{width:2.5rem;color:var(--gray);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.6rem;transition:color .15s,background .15s;display:flex;position:absolute;top:0;bottom:0}.now-carousel-btn--prev:hover{color:var(--white);background:linear-gradient(90deg,#ffffff08,#0000)}.now-carousel-btn--next:hover{color:var(--white);background:linear-gradient(270deg,#ffffff08,#0000)}.now-carousel-btn--prev{left:0}.now-carousel-btn--next{right:0}.now-carousel-counter{letter-spacing:.12em;color:var(--gray);opacity:.5;font-size:.6rem;position:absolute;bottom:.5rem;left:50%;transform:translate(-50%)}@media (max-width:1024px){.now-grid{grid-template-columns:1fr}}
.projects-list{flex-direction:column;display:flex}.project-item{color:inherit;cursor:pointer;border-bottom:1px solid #1a1a1a;grid-template-columns:3rem 1fr auto;align-items:center;gap:2rem;padding:2rem 0;text-decoration:none;transition:padding-left .3s;display:grid}.project-item--placeholder{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z'/%3E%3C/svg%3E") 12 12,not-allowed}.project-item:not(.project-item--placeholder):hover{padding-left:1rem}.project-item:not(.project-item--placeholder):hover .project-arrow{opacity:1;transform:translate(0)}.project-num{color:var(--gray);letter-spacing:.1em;font-size:.65rem}.project-name{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:.3rem;font-size:1.3rem;font-weight:700}.project-desc{color:var(--gray);font-size:.78rem}.project-tags{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.tag{letter-spacing:.1em;text-transform:uppercase;color:var(--gray);border:1px solid #2a2a2a;padding:.3rem .6rem;font-size:.6rem}.project-arrow{color:var(--white);opacity:0;margin-left:1rem;font-size:1.2rem;transition:all .3s;transform:translate(-8px)}@media (max-width:1024px){.project-item{grid-template-columns:2rem 1fr}.project-tags{display:none}}
#contact{flex-direction:column;justify-content:center;min-height:60vh;display:flex}.contact-big{font-family:var(--font-display);letter-spacing:-.04em;margin-bottom:3rem;font-size:clamp(3rem,8vw,7rem);font-weight:800;line-height:1}.contact-big span{color:var(--gray)}.contact-links{flex-wrap:wrap;gap:2rem;display:flex}.contact-link{color:var(--gray);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #0000;align-items:center;gap:.6rem;padding-bottom:2px;font-size:.78rem;text-decoration:none;transition:color .2s,border-color .2s;display:flex}.contact-link:hover{color:var(--white);border-color:var(--white)}@media (max-width:1024px){.contact-big{font-size:2.5rem}}@media (max-width:375px){.contact-links{flex-direction:column;align-items:center;gap:1rem}}
footer{max-width:100%;color:var(--gray);letter-spacing:.1em;text-transform:uppercase;border-top:1px solid #1a1a1a;padding:2rem 0;font-size:.65rem}footer .container{justify-content:space-between;display:flex}@media (max-width:1024px){footer .container{text-align:center;flex-direction:column;gap:1rem}}
