.grain-overlay{pointer-events:none;z-index:9990;opacity:.032;mix-blend-mode:overlay;will-change:auto;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px;width:100vw;height:100vh;position:fixed;inset:0}.more-about-layout{scrollbar-width:none;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow-y:auto}.more-about-layout::-webkit-scrollbar{display:none}.more-about-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:3rem;display:flex}.more-about-logo{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);font-size:.8rem}.more-about-title{letter-spacing:-.02em;color:var(--text-1);text-align:center;margin-bottom:3rem;font-size:clamp(2.5rem,5vw,4rem);font-weight:700}.more-about-cards{grid-template-columns:repeat(3,1fr);gap:1.5rem;width:100%;max-width:1000px;display:grid}.more-about-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;transition:all .3s var(--ease);cursor:pointer;border-radius:6px;flex-direction:column;align-items:center;padding:3rem 2rem;text-decoration:none;display:flex}.more-about-card:hover{border-color:var(--accent);background:#ffffff0a;transform:translateY(-4px)}.more-about-icon{color:var(--accent);margin-bottom:1.5rem;font-size:2.5rem}.more-about-card-title{font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-1);text-transform:uppercase;margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.more-about-card-desc{color:var(--text-2);font-size:.9rem;line-height:1.5}.more-about-footer{justify-content:center;gap:1.5rem;margin-top:2rem;display:flex}@media (width<=900px){.more-about-cards{grid-template-columns:1fr;gap:1rem}.more-about-card{padding:2rem 1.5rem}.more-about-title{margin-bottom:2rem}.more-about-footer{margin-top:2rem}}.job-offer-layout{scrollbar-width:none;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow-y:auto}.job-offer-layout::-webkit-scrollbar{display:none}.job-offer-title{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);text-align:center;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.job-offer-wrapper{flex-direction:column;width:100%;max-width:900px;display:flex}.job-offer-form{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:1rem;width:100%;padding:1.5rem;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group.full-width{grid-column:1/-1}.form-label{font-size:.75rem;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-weight:600}.form-input,.form-select,.form-textarea{border:1px solid var(--border);font-family:var(--font-sans);color:var(--text-1);background:#0003;border-radius:4px;outline:none;padding:.75rem 1rem;font-size:.9rem;transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);background:#0006}.form-textarea{resize:none;height:80px}.form-submit-wrap{justify-content:center;margin-top:1rem;display:flex}.form-select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 1rem center;background-repeat:no-repeat;background-size:1em}.form-select option{background:var(--bg-elev);color:var(--text-1)}@media (width<=768px){.form-grid{grid-template-columns:1fr;gap:1rem}.job-offer-form{gap:1rem;padding:1.5rem}.form-textarea{height:60px}}.freelance-layout{scrollbar-width:none;flex-direction:column;justify-content:center;width:100%;height:100%;display:flex;overflow-y:auto}.freelance-layout::-webkit-scrollbar{display:none}.freelance-title{letter-spacing:-.02em;color:var(--text-1);margin-bottom:.5rem;font-size:clamp(2rem,4vw,3rem);font-weight:700}.freelance-subtitle{color:var(--text-2);max-width:90%;margin-bottom:2rem;font-size:1rem;line-height:1.6}.freelance-split{grid-template-columns:1fr 1fr;align-items:center;gap:2.5rem;width:100%;max-width:1100px;display:grid}.freelance-services{flex-direction:column;display:flex}.services-list{flex-direction:column;gap:1.25rem;display:flex}.service-item{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:1rem;padding:1.25rem;transition:all .3s;display:flex}.service-item:hover{border-color:var(--accent);background:#ffffff08;transform:translateY(-2px)}.service-icon{color:var(--accent);background:#c8f1350d;border:1px solid #c8f1351a;border-radius:6px;justify-content:center;align-items:center;margin-top:.15rem;padding:.75rem;font-size:1.5rem;display:flex}.service-info h3{font-family:var(--font-mono);color:var(--text-1);text-transform:uppercase;margin-bottom:.5rem;font-size:.95rem}.service-info p{color:var(--text-2);margin:0;font-size:.85rem}.freelance-form-container{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:1.5rem}.freelance-form-container .form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.freelance-form-container .form-group{flex-direction:column;gap:.5rem;display:flex}.freelance-form-container .full-width{grid-column:1/-1}@media (width<=900px){.freelance-split{grid-template-columns:1fr;gap:2rem}.freelance-form-container .form-grid{grid-template-columns:1fr}}:root{--bg:#0a0a0a;--bg-elev:#111;--bg-card:#ffffff06;--border:#ffffff12;--border-hover:#ffffff2e;--text-1:#e2e8f0;--text-2:#94a3b8;--text-3:#64748b;--accent:#c8f135;--font-sans:"Outfit", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--ease:cubic-bezier(.25, .46, .45, .94);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:var(--bg);color:var(--text-1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul{list-style:none}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 2.5rem}.page-wrapper{padding-top:64px}.section{padding:9rem 0}.divider{background:var(--border);width:100%;height:1px}.page-viewport{flex-direction:column;justify-content:center;min-height:calc(100vh - 64px);padding:4rem 0;display:flex}.projects-viewport{flex-direction:column;height:100vh;padding:calc(64px + 2rem) 0 2rem;display:flex;overflow:hidden}.projects-viewport .container{flex-direction:column;height:100%;display:flex}.home-layout{grid-template-columns:1fr 1fr;align-items:center;gap:5rem;display:grid}.stats-grid{border:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.projects-header-row{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.blog-layout{grid-template-columns:1fr 2fr;align-items:center;gap:6rem;display:grid}.contact-layout{grid-template-columns:1fr 1fr;align-items:center;gap:6rem;display:grid}.nav-root{z-index:1000;transition:background .35s var(--ease), backdrop-filter .35s var(--ease), border-color .35s;border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}.nav-root.is-scrolled{-webkit-backdrop-filter:blur(24px);border-bottom-color:var(--border);background:#0a0a0ad9}.nav-inner{justify-content:space-between;align-items:center;max-width:1200px;height:64px;margin:0 auto;padding:0 2.5rem;display:flex}.nav-logo{letter-spacing:.12em;text-transform:uppercase;color:var(--text-1);font-size:.8rem;font-weight:700;transition:color .2s}.nav-logo:hover{color:var(--accent)}.nav-links{align-items:center;gap:2.5rem;display:flex}.nav-link{letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);padding-bottom:2px;font-size:.76rem;font-weight:500;transition:color .2s;position:relative}.nav-link:after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform .3s var(--ease);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.nav-link:hover{color:var(--text-1)}.nav-link:hover:after,.nav-link.is-active:after{transform-origin:0;transform:scaleX(1)}.nav-link.is-active{color:var(--text-1)}.nav-resume{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-2);border-radius:3px;padding:.5rem 1.1rem;font-size:.76rem;font-weight:600;transition:border-color .2s,background .2s,color .2s}.nav-resume:hover{border-color:var(--accent);color:var(--accent);background:#c8f1350f}.lang-switcher{z-index:100;position:relative}.lang-trigger{border:1px solid var(--border);color:var(--text-2);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:3px;align-items:center;gap:.35rem;padding:.4rem .65rem;font-size:.72rem;font-weight:600;transition:border-color .2s,color .2s,background .2s;display:flex}.lang-trigger:hover{border-color:var(--border-hover);color:var(--text-1);background:#ffffff08}.lang-globe{flex-shrink:0;width:14px;height:14px}.lang-code{text-align:center;min-width:1.4em}.lang-chevron{width:10px;height:10px;transition:transform .2s var(--ease);opacity:.6}.lang-chevron.is-open{transform:rotate(180deg)}.lang-dropdown{background:var(--bg-elev);border:1px solid var(--border);width:220px;animation:lang-slide-in .18s var(--ease) both;border-radius:6px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 32px #00000073,0 2px 8px #00000040}@keyframes lang-slide-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.lang-search-wrap{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.65rem .85rem;display:flex}.lang-search-icon{width:14px;height:14px;color:var(--text-3);flex-shrink:0}.lang-search{width:100%;font-family:var(--font-sans);color:var(--text-1);caret-color:var(--accent);background:0 0;border:none;outline:none;font-size:.82rem}.lang-search::placeholder{color:var(--text-3);font-size:.78rem}.lang-list{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;max-height:240px;padding:.35rem 0;overflow-y:auto}.lang-list::-webkit-scrollbar{width:4px}.lang-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.lang-option{width:100%;font-family:var(--font-sans);color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;padding:.55rem .85rem;font-size:.84rem;transition:background .15s,color .15s;display:flex}.lang-option:hover{color:var(--text-1);background:#ffffff0a}.lang-option.is-active{color:var(--accent)}.lang-option-flag{font-size:1rem;line-height:1}.lang-option-label{flex:1}.lang-check{width:14px;height:14px;color:var(--accent);flex-shrink:0}.lang-empty{text-align:center;color:var(--text-3);padding:1rem;font-size:.82rem}.hero{align-items:center;min-height:100vh;padding:8rem 0 6rem;display:flex}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-2);margin-bottom:2.5rem;font-size:.72rem}.hero-title{letter-spacing:-.035em;color:var(--text-1);margin-bottom:3rem;font-size:clamp(4.5rem,9.5vw,9rem);font-weight:800;line-height:.9}.hero-title em{color:var(--text-2);font-style:normal}.hero-desc{color:var(--text-2);max-width:500px;margin-bottom:3.5rem;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.8}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.btn{letter-spacing:.08em;text-transform:uppercase;transition:all .2s var(--ease);white-space:nowrap;border-radius:3px;align-items:center;gap:.4rem;padding:.85rem 1.75rem;font-size:.82rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--text-1);color:var(--bg);border:1px solid var(--text-1)}.btn-primary:hover{background:var(--accent);border-color:var(--accent);color:var(--bg);transform:translateY(-1px)}.btn-ghost{color:var(--text-2);border:1px solid var(--border);background:0 0}.btn-ghost:hover{border-color:var(--border-hover);color:var(--text-1);transform:translateY(-1px)}.section-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:.75rem;margin-bottom:1.25rem;font-size:.68rem;font-weight:500;display:flex}.section-label:after{content:"";background:var(--text-3);width:32px;height:1px;display:inline-block}.section-title{letter-spacing:-.025em;color:var(--text-1);margin-bottom:4.5rem;font-size:clamp(2rem,4vw,3.5rem);font-weight:700;line-height:1.1}.about-layout{grid-template-columns:1fr 1fr;align-items:start;gap:7rem;display:grid}.about-text{color:var(--text-2);font-size:1.1rem;line-height:1.9}.about-text p+p{margin-top:1.5rem}.about-text strong{color:var(--text-1);font-weight:500}.about-stats{grid-template-columns:1fr 1fr;gap:2.5rem;display:grid}.about-stat{border-top:1px solid var(--border);padding-top:1.5rem}.about-stat-num{letter-spacing:-.04em;color:var(--text-1);margin-bottom:.5rem;font-size:3.5rem;font-weight:700;line-height:1}.about-stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-size:.76rem;font-weight:500}.skills-grid{border:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:0;display:grid}.skill-group{border-right:1px solid var(--border);padding:2rem}.skill-group:last-child{border-right:none}.skill-group-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border);margin-bottom:1.25rem;padding-bottom:1rem;font-size:.68rem}.skill-list{flex-direction:column;gap:.6rem;display:flex}.skill-item{color:var(--text-2);font-size:.92rem;transition:color .2s}.skill-item:hover{color:var(--text-1)}.projects-grid{border:1px solid var(--border);background:var(--border);flex:1;grid-template-rows:1fr 1fr;grid-template-columns:repeat(2,1fr);gap:1px;min-height:0;display:grid}.project-card{background:var(--bg);transition:background .25s var(--ease);flex-direction:column;gap:1rem;padding:2.5rem;display:flex;position:relative;overflow:hidden}.project-card:after{content:"";pointer-events:none;border:1px solid #0000;transition:border-color .25s;position:absolute;inset:0}.project-card:hover{background:#ffffff08}.project-card:hover:after{border-color:#ffffff24}.project-index{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.1em;font-size:.68rem}.project-name{letter-spacing:-.01em;color:var(--text-1);font-size:1.25rem;font-weight:600;line-height:1.3;transition:color .2s}.project-card:hover .project-name{color:var(--accent)}.project-blurb{color:var(--text-2);flex:1;font-size:.92rem;line-height:1.75}.project-pills{flex-wrap:wrap;gap:.4rem;margin-top:.25rem;display:flex}.project-pill{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-3);border:1px solid var(--border);border-radius:2px;padding:.25rem .6rem;font-size:.66rem}.project-footer{border-top:1px solid var(--border);align-items:center;gap:1.5rem;margin-top:.25rem;padding-top:.5rem;display:flex}.project-cta{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:.35rem;font-size:.76rem;font-weight:600;transition:color .2s;display:flex}.project-cta:hover{color:var(--text-1)}.blog-list{border-top:1px solid var(--border)}.blog-row{border-bottom:1px solid var(--border);transition:padding .2s var(--ease);cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:2rem;padding:2.25rem 0;display:grid}.blog-row:hover{padding-left:.75rem}.blog-row-title{color:var(--text-1);margin-bottom:.4rem;font-size:1.1rem;font-weight:500;line-height:1.4;transition:color .2s}.blog-row:hover .blog-row-title{color:var(--accent)}.blog-row-meta{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.06em;font-size:.7rem}.blog-arrow{color:var(--text-3);font-size:1.1rem;transition:color .2s,transform .2s}.blog-row:hover .blog-arrow{color:var(--text-1);transform:translate(5px)}.contact-wrap{max-width:720px}.contact-heading{letter-spacing:-.035em;color:var(--text-1);margin-bottom:1.75rem;font-size:clamp(3rem,6vw,5.5rem);font-weight:700;line-height:1.02}.contact-sub{color:var(--text-2);max-width:480px;margin-bottom:3.5rem;font-size:1.05rem;line-height:1.8}.contact-socials{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.contact-social{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;transition:color .2s;display:flex}.contact-social:hover{color:var(--text-1)}.contact-footer{border-top:1px solid var(--border);font-family:var(--font-mono);color:var(--text-3);letter-spacing:.08em;margin-top:6rem;padding-top:3rem;font-size:.72rem}@media (width<=900px){.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-group{border-bottom:1px solid var(--border);border-right:none}.skill-group:nth-child(odd){border-right:1px solid var(--border)}.skill-group:last-child,.skill-group:nth-last-child(2):nth-child(odd){border-bottom:none}.about-layout{grid-template-columns:1fr;gap:4rem}.projects-grid{grid-template-columns:1fr}.projects-viewport{height:auto;padding:6rem 0 2.5rem;overflow:visible}.page-viewport{min-height:auto;padding:6rem 0 2.5rem}.home-layout{grid-template-columns:1fr;gap:3rem}.stats-grid{grid-template-columns:1fr 1fr}.blog-layout,.contact-layout{grid-template-columns:1fr;gap:3rem}}@media (width<=640px){.container{padding:0 1.25rem}.page-viewport,.projects-viewport{padding-top:160px}.nav-inner{flex-direction:column;gap:1.1rem;height:auto;padding:1rem 1.25rem}.nav-links{flex-wrap:wrap;justify-content:center;gap:1.25rem;display:flex}.hero-title{font-size:clamp(3.5rem,14vw,5rem)}.hero-actions{flex-direction:column;align-items:flex-start}.about-stats{grid-template-columns:1fr 1fr;gap:1.5rem}.skills-grid{grid-template-columns:1fr}.skill-group{border-right:none;border-bottom:1px solid var(--border)}.skill-group:last-child{border-bottom:none}.contact-socials{gap:1.5rem}.blog-row{grid-template-columns:1fr;padding-left:0}.blog-row:hover{padding-left:0}.blog-arrow{display:none}}
