@import "https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700;800&family=Syne:wght@400;700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--green:#c8f542;--green-dim:#c8f54214;--green-hover:#d4f760;--bg:#000;--bg-surface:#0d0d0d;--bg-card:#0a0a0a;--border:#1c1c1c;--border-mid:#2a2a2a;--text-primary:#f5f0e8;--text-secondary:#a09880;--text-muted:#4a4540;--font-body:"Nunito", "Varela Round", sans-serif;--font-display:"Syne", sans-serif;--section-pad:8rem clamp(1.25rem, 5vw, 4rem);--content-max:900px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text-primary);min-height:100vh;font-family:var(--font-body)}::selection{background:var(--green);color:#000}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}.hero-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);font-size:clamp(44px,8vw,88px);font-weight:800;line-height:.95}.hero-title__accent{color:var(--green)}.section-heading{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-size:clamp(26px,4vw,40px);font-weight:800;line-height:1.1}.section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--green);font-size:11px;font-family:var(--font-body);align-items:center;gap:12px;margin-bottom:1.5rem;font-weight:800;display:flex}.section-label:before{content:"";background:var(--green);width:24px;height:1.5px;display:inline-block}.app-root{background:var(--bg);color:var(--text-primary);min-height:100vh;font-family:var(--font-body)}.section-inner{max-width:var(--content-max);width:100%}.nav{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#000000ed;border-bottom:.5px solid #111;justify-content:space-between;align-items:center;height:60px;padding:0 clamp(1.25rem,5vw,4rem);display:flex;position:fixed;top:0;left:0;right:0}.nav__logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);font-size:17px;font-weight:800}.nav__logo-dot{color:var(--green)}.nav__links{gap:2rem;display:flex}.nav-link{cursor:pointer;font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);background:0 0;border:none;padding:4px 0;font-size:13px;font-weight:600;text-decoration:none;transition:color .2s;display:inline-block}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:var(--green)}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:var(--text-primary);border-radius:2px;width:22px;height:2px;transition:all .3s;display:block}.hamburger.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.mobile-menu{border-bottom:.5px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:99;background:#000000f7;flex-direction:column;align-items:center;display:none;position:fixed;top:60px;left:0;right:0}.mobile-menu.open{display:flex}.mobile-menu .nav-link{text-align:center;border-bottom:.5px solid var(--border);width:100%;padding:18px;font-size:14px}.cta-btn{border:.5px solid var(--border-mid);color:var(--text-primary);font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;padding:14px 32px;font-size:13px;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,color .2s;display:inline-block}.cta-btn:hover{background:#141414;border-color:#555}.cta-btn.primary{background:var(--green);color:#000;border-color:var(--green);font-weight:800}.cta-btn.primary:hover{background:var(--green-hover);border-color:var(--green-hover)}.hero{align-items:center;min-height:100vh;padding:60px clamp(1.25rem,5vw,4rem) 0;display:flex}.hero__label{margin-bottom:2rem}.hero__subtitle{color:var(--text-secondary);max-width:520px;margin-top:2rem;font-size:clamp(14px,2vw,16px);font-weight:400;line-height:1.9}.hero-ctas{flex-wrap:wrap;gap:1rem;margin-top:3rem;display:flex}.hero-stats{border-top:.5px solid #141414;flex-wrap:wrap;gap:2.5rem;margin-top:5rem;padding-top:2rem;display:flex}.hero-stats__num{font-family:var(--font-display);color:var(--text-primary);font-size:clamp(22px,4vw,30px);font-weight:800}.hero-stats__label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:11px;font-weight:700}.about{padding:var(--section-pad)}.about-grid{max-width:var(--content-max);grid-template-columns:1fr 1fr;gap:4rem;display:grid}.about__body{color:var(--text-secondary);flex-direction:column;gap:1.25rem;font-size:14px;font-weight:400;line-height:2;display:flex}.about__cv-link{color:var(--green);letter-spacing:.1em;text-transform:uppercase;margin-top:.5rem;font-size:12px;font-weight:800;text-decoration:none}.skills{padding:var(--section-pad);border-top:.5px solid #111}.skills__heading{margin-bottom:4rem}.skills-grid{max-width:var(--content-max);grid-template-columns:repeat(4,1fr);gap:3rem;display:grid}.skills__category-label{letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.25rem;font-size:10px;font-weight:800}.skills__tags{flex-wrap:wrap;gap:8px;display:flex}.skill-tag{border:.5px solid var(--border-mid);font-size:13px;font-family:var(--font-body);color:var(--text-secondary);letter-spacing:.02em;cursor:default;border-radius:100px;padding:6px 14px;font-weight:500;transition:border-color .2s,color .2s,background .2s;display:inline-block}.skill-tag:hover{border-color:var(--green);color:var(--green);background:var(--green-dim)}.projects{padding:var(--section-pad);border-top:.5px solid #111}.projects__heading{margin-bottom:4rem}.projects-grid{max-width:var(--content-max);background:#111;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.project-card{border:.5px solid var(--border);background:var(--bg-card);border-radius:2px;height:100%;padding:2rem;transition:border-color .25s;position:relative;overflow:hidden}.project-card:before{content:"";background:var(--green);width:2px;height:0;transition:height .35s;position:absolute;top:0;left:0}.project-card:hover:before{height:100%}.project-card:hover{border-color:var(--border-mid)}.project-card__index{letter-spacing:.15em;color:var(--border-mid);text-transform:uppercase;margin-bottom:1rem;font-size:10px;font-weight:800}.project-card__title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.75rem;font-size:17px;font-weight:700;line-height:1.3}.project-card__desc{color:var(--text-secondary);margin-bottom:1.5rem;font-size:13px;font-weight:400;line-height:1.8}.project-card__badges{flex-wrap:wrap;gap:6px;margin-bottom:2rem;display:flex}.tech-badge{font-size:11px;font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--green);background:var(--green-dim);border-radius:100px;padding:4px 10px;font-weight:700}.project-view-link{font-size:12px;font-family:var(--font-body);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-weight:700;text-decoration:none;transition:color .2s}.project-view-link:hover{color:var(--green)}.contact{padding:var(--section-pad);border-top:.5px solid #111}.contact-grid{max-width:var(--content-max);grid-template-columns:1fr 1fr;gap:5rem;display:grid}.contact__heading{margin-bottom:1.5rem}.contact__intro{color:var(--text-secondary);margin-bottom:2rem;font-size:13px;font-weight:400;line-height:1.9}.contact__email-btn{font-size:12px}.contact__socials{flex-wrap:wrap;gap:1.5rem;margin-top:3rem;display:flex}.social-link{font-size:12px;font-family:var(--font-body);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-weight:700;text-decoration:none;transition:color .2s}.social-link:hover{color:var(--text-primary)}.contact__form{flex-direction:column;gap:12px;display:flex}.contact__submit{align-self:flex-start;margin-top:4px}.input-field{background:var(--bg-card);border:.5px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-body);resize:none;border-radius:2px;outline:none;padding:14px 16px;font-size:14px;font-weight:400;transition:border-color .2s}.input-field:focus{border-color:var(--green)}.input-field::placeholder{color:var(--text-muted)}.footer{border-top:.5px solid #111;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:2rem clamp(1.25rem,5vw,4rem);display:flex}.footer__text{color:var(--border-mid);letter-spacing:.05em;font-size:12px;font-weight:600}@media (width<=768px){.nav__links{display:none}.hamburger{display:flex}.about-grid{grid-template-columns:1fr;gap:2rem}.projects-grid{grid-template-columns:1fr}.skills-grid{grid-template-columns:1fr 1fr;gap:2rem}.contact-grid{grid-template-columns:1fr;gap:2.5rem}.hero-stats{gap:1.5rem}.hero-ctas{flex-direction:column}.hero-ctas .cta-btn{text-align:center;width:100%}.project-card{padding:1.5rem}}@media (width<=480px){.skills-grid{grid-template-columns:1fr}.hero-title{line-height:1}}.build-slider{max-width:var(--content-max);border-top:.5px solid #141414;margin-top:5rem;padding-top:3rem}.build-slider__header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.build-slider__label{margin-bottom:0}.build-slider__controls{gap:8px;display:flex}.build-slider__arrow{border:.5px solid var(--border-mid);color:var(--text-secondary);cursor:pointer;width:36px;height:36px;font-size:14px;font-family:var(--font-body);background:0 0;border-radius:2px;justify-content:center;align-items:center;transition:border-color .2s,color .2s;display:flex}.build-slider__arrow:hover{border-color:var(--green);color:var(--green)}.build-slider__track{min-height:220px}.build-slide__meta{align-items:center;gap:12px;margin-bottom:1rem;display:flex}.build-slide__step{font-size:10px;font-family:var(--font-body);letter-spacing:.15em;color:var(--border-mid);text-transform:uppercase;font-weight:800}.build-slide__tag{font-size:11px;font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--green);background:var(--green-dim);border-radius:100px;padding:3px 10px;font-weight:700}.build-slide__title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.75rem;font-size:clamp(18px,3vw,24px);font-weight:700}.build-slide__body{color:var(--text-secondary);max-width:620px;margin-bottom:1.25rem;font-size:13px;font-weight:400;line-height:1.85}.build-slide__code{border:.5px solid var(--border);border-left:2px solid var(--green);background:#0a0a0a;border-radius:2px;max-width:100%;padding:14px 18px;overflow-x:auto}.build-slide__code code{color:var(--green);white-space:pre;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.7}.build-slider__dots{gap:6px;margin-top:2rem;display:flex}.build-slider__dot{background:var(--border-mid);cursor:pointer;border:none;border-radius:2px;width:20px;height:2px;padding:0;transition:background .2s,width .3s}.build-slider__dot.active{background:var(--green);width:36px}@media (width<=768px){.build-slider__track{min-height:280px}}.contact__success{border:.5px solid var(--border);border-left:2px solid var(--green);background:var(--bg-card);border-radius:2px;flex-direction:column;gap:1rem;padding:2rem;display:flex}.contact__success-title{font-family:var(--font-display);color:var(--green);letter-spacing:-.01em;font-size:20px;font-weight:700}.contact__success-body{color:var(--text-secondary);font-size:13px;line-height:1.8}.contact__error{color:#ff6b6b;font-size:12px;font-family:var(--font-body);letter-spacing:.02em;font-weight:600}.cta-btn:disabled{opacity:.5;cursor:not-allowed}
