.nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 32px;position:sticky;top:0}.nav__inner{justify-content:space-between;align-items:center;max-width:740px;height:52px;margin:0 auto;display:flex}.nav__logo{font-family:var(--font-mono);letter-spacing:.04em;color:var(--fg);font-size:13px;text-decoration:none;transition:opacity .16s}.nav__logo:hover{opacity:.6}.nav__logo-muted{opacity:.35}.nav__links{gap:28px;margin:0;padding:0;list-style:none;display:flex}.nav__link{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px;text-decoration:none;transition:color .16s;position:relative}.nav__link:after{content:"";background:var(--fg);transform-origin:0;height:1px;transition:transform .2s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.nav__link:hover{color:var(--fg)}.nav__link:hover:after{transform:scaleX(1)}.nav__link--active{color:var(--fg)}.nav__link--active:after{transform:scaleX(1)}
.hero{border-bottom:1px solid var(--border);padding:96px 0 88px}.hero__eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);opacity:0;align-items:center;gap:10px;margin-bottom:24px;font-size:11px;animation:.6s cubic-bezier(.16,1,.3,1) forwards hero-fade-up;display:flex;transform:translateY(14px)}.hero__eyebrow:before{content:"";background:var(--muted);flex-shrink:0;width:20px;height:1px;display:inline-block}.hero__name{font-family:var(--font-sans);letter-spacing:-.03em;color:var(--fg);opacity:0;margin-bottom:20px;font-size:clamp(40px,7vw,64px);font-weight:300;line-height:1.08;animation:.6s cubic-bezier(.16,1,.3,1) .1s forwards hero-fade-up;transform:translateY(14px)}.hero__name-strong{font-weight:500;display:block}.hero__tagline{color:var(--muted);opacity:0;max-width:420px;margin-bottom:40px;font-size:16px;font-weight:300;line-height:1.65;animation:.6s cubic-bezier(.16,1,.3,1) .2s forwards hero-fade-up;transform:translateY(14px)}.hero__actions{opacity:0;flex-wrap:wrap;align-items:center;gap:12px;animation:.6s cubic-bezier(.16,1,.3,1) .3s forwards hero-fade-up;display:flex;transform:translateY(14px)}.hero__scroll{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);opacity:0;align-items:center;gap:10px;margin-top:72px;font-size:10px;animation:.6s cubic-bezier(.16,1,.3,1) .42s forwards hero-fade-up;display:flex;transform:translateY(14px)}.hero__scroll-line{background:var(--border-md);width:40px;height:1px;position:relative;overflow:hidden}.hero__scroll-line:after{content:"";background:var(--muted);width:100%;height:100%;animation:2s ease-in-out infinite hero-scrollline;position:absolute;top:0;left:0}.btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--fg);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:11px 22px;font-size:11px;text-decoration:none;transition:background .18s,color .18s;display:inline-flex}.btn--primary{background:var(--fg);color:var(--bg)}.btn--primary:hover,.btn--ghost{color:var(--fg);background:0 0}.btn--ghost:hover{background:var(--fg);color:var(--bg)}@keyframes hero-fade-up{to{opacity:1;transform:translateY(0)}}@keyframes hero-scrollline{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}
.about{border-bottom:1px solid var(--border);padding:80px 0}.about__grid{grid-template-columns:1fr 1fr;align-items:start;gap:64px;display:grid}@media (max-width:600px){.about__grid{grid-template-columns:1fr;gap:40px}}.about__text p{color:var(--muted);margin-bottom:16px;font-size:15px;font-weight:300;line-height:1.75}.about__text p:last-child{margin-bottom:0}.about__text strong{color:var(--fg);font-weight:500}.about__meta{gap:0;display:grid}.about__meta-item{border-bottom:1px solid var(--border);flex-direction:column;gap:3px;padding:16px 0;display:flex}.about__meta-item:first-child{padding-top:0}.about__meta-item:last-child{border-bottom:none;padding-bottom:0}.about__meta-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px}.about__meta-value{color:var(--fg);font-size:14px;font-weight:400}
.projects{border-bottom:1px solid var(--border);padding:80px 0}.projects__list{gap:0;display:grid}.project-card{border-bottom:1px solid var(--border);color:inherit;cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:28px 0;text-decoration:none;transition:padding-left .24s cubic-bezier(.16,1,.3,1);display:grid;position:relative}.project-card:before{content:"";background:var(--fg);width:0;transition:width .24s cubic-bezier(.16,1,.3,1);position:absolute;top:0;bottom:0;left:0}.project-card:hover{padding-left:20px}.project-card:hover:before{width:2px}.project-card:first-child{border-top:1px solid var(--border)}.project__index{font-family:var(--font-mono);color:var(--muted);letter-spacing:.08em;margin-bottom:8px;font-size:10px}.project__name{letter-spacing:-.02em;color:var(--fg);margin-bottom:6px;font-size:17px;font-weight:500;transition:opacity .16s}.project__desc{color:var(--muted);max-width:480px;font-size:13px;font-weight:300;line-height:1.6}.project__tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border-md);padding:3px 8px;font-size:9px;transition:color .16s,border-color .16s}.project-card:hover .tag{color:var(--fg);border-color:var(--fg)}.project__arrow{color:var(--muted);flex-shrink:0;font-size:18px;transition:transform .22s cubic-bezier(.16,1,.3,1),color .22s}.project-card:hover .project__arrow{color:var(--fg);transform:translate(4px,-4px)}
.skills{border-bottom:1px solid var(--border);padding:80px 0}.skills__grid{grid-template-columns:1fr 1fr;gap:48px 64px;display:grid}@media (max-width:600px){.skills__grid{grid-template-columns:1fr;gap:40px}}.skill-group__title{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:10px;font-size:10px}.skill-list{gap:16px;display:grid}.pb{gap:7px;display:grid}.pb__header{justify-content:space-between;align-items:baseline;display:flex}.pb__label{font-size:13px;font-family:var(--font-sans);color:var(--fg);font-weight:400}.pb__value{font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px;transition:color .2s,opacity .2s}.pb:hover .pb__value{color:var(--fg);opacity:1}.pb__track{border:1px solid var(--border-md);width:100%;height:4px;overflow:hidden}.pb__fill{background:var(--fg);width:0%;height:100%;transition:width .7s cubic-bezier(.16,1,.3,1)}.skill-pills{flex-wrap:wrap;gap:8px;display:flex}.skill-pill{font-family:var(--font-mono);letter-spacing:.06em;color:var(--fg);border:1px solid var(--border-md);cursor:default;padding:5px 12px;font-size:11px;transition:background .16s,color .16s,border-color .16s}.skill-pill:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.contact{padding:80px 0 100px}.contact__grid{grid-template-columns:1fr 1fr;align-items:start;gap:64px;display:grid}@media (max-width:600px){.contact__grid{grid-template-columns:1fr;gap:48px}}.contact__heading{letter-spacing:-.03em;margin-bottom:16px;font-size:clamp(28px,5vw,42px);font-weight:300;line-height:1.15}.contact__heading strong{font-weight:500}.contact__sub{color:var(--muted);margin-bottom:32px;font-size:14px;font-weight:300;line-height:1.7}.contact__links{gap:0;display:grid}.contact__link{border-bottom:1px solid var(--border);color:var(--fg);justify-content:space-between;align-items:center;padding:14px 0;text-decoration:none;transition:padding-left .2s cubic-bezier(.16,1,.3,1);display:flex}.contact__link:first-child{border-top:1px solid var(--border)}.contact__link:hover{padding-left:10px}.contact__link-label{flex-direction:column;gap:1px;display:flex}.contact__link-type{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:9px}.contact__link-handle{font-size:14px;font-weight:400}.contact__link-arrow{color:var(--muted);font-size:16px;transition:transform .2s cubic-bezier(.16,1,.3,1),color .2s}.contact__link:hover .contact__link-arrow{color:var(--fg);transform:translate(3px,-3px)}.form{gap:16px;display:grid}.field{gap:6px;display:grid}.field__label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10px}.field__input,.field__textarea{font-family:var(--font-sans);color:var(--fg);border:1px solid var(--border-md);resize:none;background:0 0;outline:none;width:100%;padding:11px 14px;font-size:14px;transition:border-color .16s}.field__input::placeholder,.field__textarea::placeholder{color:var(--muted);opacity:.6}.field__input:focus,.field__textarea:focus{border-color:var(--fg)}.field__textarea{height:100px}.form__submit{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--fg);background:var(--fg);color:var(--bg);cursor:pointer;align-self:start;padding:11px 22px;font-size:11px;transition:background .18s,color .18s}.form__submit:hover{color:var(--fg);background:0 0}
