@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600;700&family=Inter:wght@300;400;600;700&display=swap";:root{--bg:#f6f4ef;--surface:#fff;--text:#121212;--text-muted:#6b6b6b;--text-strong:#0b0b0b;--border:#1212120f;--shadow:0 10px 30px #0808080f;--accent:#92979b;--accent-2:#bfc4c6;--glass:#12121205;--glass-2:#12121203;--sans:Inter, Satoshi, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--heading:"Space Grotesk", "Clash Display", "General Sans", system-ui, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, "Roboto Mono", monospace;font:18px/1.6 var(--sans);letter-spacing:.2px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--container-width:1100px}@media (width<=1024px){:root{font-size:16px}}body{background:var(--bg);min-width:0;margin:0;overflow-x:hidden}*,:before,:after{box-sizing:border-box}a,a:visited{color:inherit;text-decoration:none}html{scroll-behavior:smooth}.social.linkedin:hover{color:#0a66c2}.social.email:hover{color:#16a34a}.social.tiktok:hover{color:#111}.social.instagram:hover{color:#e4405f}.social.x:hover{color:#000}.social.facebook:hover{color:#1877f2}.social.threads:hover{color:#101010}.social.whatsapp:hover{color:#25d366}.social.github:hover{color:#111827}#root{width:min(100%, var(--container-width));box-sizing:border-box;flex-direction:column;max-width:100%;min-height:100svh;margin:0 auto;padding:28px 20px;display:flex;overflow-x:hidden}h1,h2{font-family:var(--heading);color:var(--text-strong);margin:0}h1{letter-spacing:-1px;font-size:56px;font-weight:700}h2{color:var(--sand);font-size:20px;font-weight:600}p{color:var(--text-muted);margin:0}code{font-family:var(--mono);color:var(--sand);background:#ffffff05;border-radius:6px;padding:4px 8px}.container{width:100%;max-width:var(--container-width);margin:0 auto}:target:before{content:"";height:84px;margin-top:-84px;display:block}.app{color:var(--text);min-height:100vh}.nav{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);background:linear-gradient(#ffffff05,#ffffff03);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:8px 14px;display:flex;position:sticky;top:16px}.nav .brand{font-family:var(--heading);color:var(--text-strong);font-weight:700}.nav .links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:18px;min-width:0;display:flex}.nav a{color:var(--text-muted);white-space:nowrap;border-radius:8px;padding:6px 10px}.nav a:hover{color:var(--text-strong);background:var(--glass)}.nav .cta{background:linear-gradient(90deg,var(--accent-2),var(--accent));color:var(--text-strong);box-shadow:var(--shadow);border-radius:8px;padding:8px 12px}.mobile-toggle{cursor:pointer;background:0 0;border:0;padding:8px;display:none}.mobile-toggle .hamburger{background:var(--text-strong);width:22px;height:2px;display:block;position:relative}.mobile-toggle .hamburger:before,.mobile-toggle .hamburger:after{content:"";background:var(--text-strong);height:2px;transition:transform .22s;position:absolute;left:0;right:0}.mobile-toggle .hamburger:before{top:-7px}.mobile-toggle .hamburger:after{top:7px}.mobile-toggle .hamburger.open{background:0 0}.mobile-toggle .hamburger.open:before{transform:translateY(7px)rotate(45deg)}.mobile-toggle .hamburger.open:after{transform:translateY(-7px)rotate(-45deg)}.mobile-menu{background:linear-gradient(#0808080f, #0808080f), var(--accent-2);z-index:80;height:70vh;box-shadow:var(--shadow);-webkit-overflow-scrolling:touch;border:1px solid #12121214;border-radius:12px;flex-direction:column;gap:12px;padding:20px;display:flex;position:fixed;inset:72px 12px 20px;overflow-y:auto}.mobile-menu a{color:#f6f4ef;border-radius:8px;padding:12px;text-decoration:none}.mobile-menu a:hover{background:#ffffff1f}.hero-section{align-items:center;gap:48px;width:100%;max-width:100%;padding:72px 0;display:flex;position:relative}.hero-left,.hero-right{min-width:0}.hero-right{flex:1;justify-content:center;display:flex}.hero h1{margin-bottom:12px;font-size:clamp(36px,6vw,64px);line-height:.95}.tagline{color:var(--accent);margin-bottom:12px;font-weight:600}.hero p{max-width:640px;color:var(--text-muted);margin-bottom:18px}.hero .actions{gap:12px;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:12px 18px}.btn.primary{background:linear-gradient(90deg,var(--accent-2),var(--accent));color:var(--text-strong);box-shadow:var(--shadow)}.btn.ghost{color:var(--text);background:0 0;border:1px solid #0000000a}.bg-blob{filter:blur(36px);pointer-events:none;background:radial-gradient(circle at 20% 30%,#787d821f,#a0a4a70f 40%,#0000 60%);width:520px;height:520px;position:absolute;top:10%;right:-8%;transform:translateZ(0)}.about,.services,.projects,.tech,.contact,.privacy{padding:56px 0}.chips{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.chip{color:var(--text);background:#00000008;border:1px solid #0000000a;border-radius:999px;padding:10px 12px;font-size:15px;font-weight:600}.services-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.card{background:linear-gradient(#ffffff05,#ffffff03);border:1px solid #ffffff05;border-radius:12px;padding:20px;transition:transform .28s,box-shadow .28s}.card:hover{box-shadow:var(--shadow);transform:translateY(-8px)}.card h3{color:var(--text-strong);margin-top:0}.projects-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.project{min-width:0;overflow:hidden}.project img{object-fit:cover;border-radius:10px;width:100%;max-width:100%;height:auto;display:block}.project .meta{padding:12px}.project .tech{flex-wrap:wrap;gap:8px;display:flex}.tech-row{flex-wrap:nowrap;align-items:center;gap:14px;min-width:0;display:flex;overflow-x:hidden}.tech-card{scroll-snap-align:center;background:var(--surface);border:1px solid var(--border);min-width:200px;box-shadow:var(--shadow);text-align:center;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-width:200px;min-height:260px;padding:24px;font-size:18px;transition:transform .3s,box-shadow .3s;display:flex}.tech-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0000001a}.tech-image{background:#fffffff2;border:1px solid #0000000a;border-radius:18px;justify-content:center;align-items:center;width:100px;height:100px;display:flex;overflow:hidden}.tech-image img{object-fit:cover;width:100%;height:100%;transition:transform .34s;display:block}.tech-card:hover .tech-image img{transform:scale(1.04)}.tech-name{letter-spacing:.02em;margin-top:0;font-weight:700}.embla__container{align-items:stretch;gap:18px;padding:8px;transition:transform .4s;display:flex}.contact .cta-row{align-items:center;gap:12px;display:flex}.social-grid{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.social{background:#00000008;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:16px;font-weight:700;display:flex}.social span.icon{width:22px;height:22px;color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.privacy-content{max-width:840px;color:var(--text-muted);gap:14px;margin-top:18px;display:grid}.privacy-content a{color:var(--text-strong);border-bottom:1px solid var(--accent);font-weight:700}.footer{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;padding:28px 0;display:flex}@media (width<=880px){.hero-section{flex-direction:column;padding:40px 0}.services-grid,.projects-grid{grid-template-columns:1fr}.nav{padding:8px}.hero p{max-width:100%}.hero-left,.hero-right{width:100%}.hero-right{margin-top:24px}.hero .actions{flex-direction:column;align-items:stretch}.hero .actions .btn{justify-content:center;width:100%;min-width:0}.bg-blob{transform:translateX(-50%) translateY(var(--blob-y,0));width:320px;height:320px;left:50%;right:auto}.footer{flex-direction:column;align-items:flex-start;gap:14px}.mobile-toggle{display:inline-flex}.nav .links{display:none}.mobile-menu{display:flex}}.embla{width:100%;overflow:hidden}.embla__container{align-items:stretch;gap:16px;padding:6px;display:flex}.embla__slide{scroll-snap-align:center;flex:none}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .56s,transform .56s;transform:translateY(12px)}.reveal.visible{opacity:1;transform:none}.typing{color:var(--accent);padding-right:14px;font-weight:600;position:relative}.typing:after{content:"";background:var(--text-strong);width:2px;height:1.05em;animation:1s step-start infinite blink;position:absolute;top:0;right:4px}@keyframes blink{50%{opacity:0}}.portrait img{filter:grayscale();border-radius:16px;transition:filter .26s,transform .26s,box-shadow .26s}.portrait img:hover{filter:grayscale(0%);transform:scale(1.02);box-shadow:0 14px 40px #00000014}.social span.icon{color:var(--accent);transition:color .2s,transform .2s}.social:hover span.icon{color:var(--accent-2);transform:translateY(-3px)}.tech-card .icon svg{width:28px;height:28px}@media (width<=600px){.social{padding:14px 16px;font-size:18px}.social span.icon{width:26px;height:26px}.tech-card{min-width:200px;padding:20px;font-size:18px}.tech-carousel{gap:20px}.btn{padding:10px 14px;font-size:15px}}@media (width<=420px){.btn{padding:8px 12px;font-size:14px}}@media (width<=600px){.footer .btn,.footer a.btn{padding:10px 12px;font-size:15px}}@media (width<=420px){.footer .btn,.footer a.btn{padding:8px 10px;font-size:14px}}@media (width<=600px){.hero .actions,.contact .cta-row,.social-grid,.footer .actions{gap:10px;flex-direction:column!important;align-items:stretch!important}}@media (width<=420px){.hero .actions,.contact .cta-row,.social-grid,.footer .actions{gap:8px}}
