:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}:root[data-theme=dark]{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{margin:0}#root{text-align:center;box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.site-header{z-index:10;transition:background-color .3s,box-shadow .3s;position:fixed;inset:0 0 auto}.site-header.scrolled{background:var(--bg);box-shadow:var(--shadow)}.site-header nav{min-height:var(--header-h);justify-content:space-between;align-items:center;padding:0 clamp(16px,4vw,48px);display:flex}.site-header a{color:var(--text);text-decoration:none;transition:color .2s}.site-header a:hover,.site-header a.active{color:var(--accent)}.site-header .logo{font-family:var(--heading);color:var(--text-h);font-size:22px;font-weight:600}.site-header ul{gap:clamp(16px,3vw,32px);margin:0;padding:0;list-style:none;display:flex}.site-header ul a{padding:4px 0;position:relative}.site-header ul a:after{content:"";background:var(--accent);border-radius:2px;height:2px;transition:scale .3s;position:absolute;inset:auto 0 0;scale:0 1}.site-header ul a:hover:after,.site-header ul a.active:after{scale:1}main{padding-top:var(--header-h)}main>section{box-sizing:border-box;min-height:80svh;scroll-margin-top:var(--header-h);grid-template-columns:minmax(0,1fr);align-content:center;transition:opacity .7s,translate .7s;display:grid}main>section:not(.is-active){opacity:0;translate:0 24px}.hero{min-height:calc(100svh - var(--header-h));justify-items:center;padding:0 24px}.hero-content{z-index:2;position:relative}.space-scene{z-index:-1;width:100%;height:100lvh;animation:2.5s ease-out both fade-in;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.hero-title{color:var(--accent);margin-bottom:16px;font-size:24px}.hero-cta{background:var(--accent);color:#fff;border-radius:8px;margin-top:32px;padding:12px 24px;text-decoration:none;display:inline-block}.hero-cta:hover{opacity:.9}.about{padding:64px 24px}.about p{max-width:640px;margin:0 auto}.skills{flex-wrap:wrap;justify-content:center;gap:12px;margin:32px 0 0;padding:0;list-style:none;display:flex}.skills li{background:var(--accent-bg);color:var(--accent);border-radius:999px;padding:6px 14px;font-size:15px}.experience{padding:64px 24px}.experience-grid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));align-items:start;gap:20px;margin-top:32px;display:grid}.info-card{background:var(--code-bg);border-radius:16px;padding:28px}.info-card h3{color:var(--text-h);margin:0 0 20px;font-size:20px}.info-card h4{color:var(--text-h);margin:2px 0;font-size:17px}.info-card h4 a{color:inherit}.info-card p{margin-top:6px;font-size:15px}.period{font-family:var(--mono);color:var(--accent);font-size:13px}.company{font-size:15px}.timeline{border-left:2px solid var(--accent-border);margin:0;padding:0 0 0 20px;list-style:none}.timeline>li{padding-bottom:24px;position:relative}.timeline>li:last-child{padding-bottom:0}.timeline>li:before{content:"";background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 4px var(--accent-bg);border-radius:50%;position:absolute;top:4px;left:-27px}.cert-list{margin:0;padding:0;list-style:none}.cert-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;display:flex}.cert-list li:first-child{padding-top:0}.cert-list li:last-child{border-bottom:none;padding-bottom:0}.projects{padding:64px 24px 96px}.project-grid{text-align:left;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:20px;margin-top:32px;display:grid}.project-card{background:radial-gradient(320px circle at var(--x,50%) var(--y,0%), var(--accent-bg), transparent 70%), var(--code-bg);opacity:0;transition:opacity .6s ease-out,translate .6s cubic-bezier(.2,.8,.2,1),box-shadow .3s;transition-delay:calc(var(--i,0) * .1s);border-radius:16px;flex-direction:column;gap:12px;padding:24px;display:flex;position:relative;translate:0 32px;box-shadow:inset 0 0 0 1px #0000}.project-card.visible{opacity:1;translate:0}@media (hover:hover){.project-card.visible:hover{box-shadow:inset 0 0 0 1px var(--accent-border), var(--shadow);transition-delay:0s;translate:0 -6px}}.project-card h3{color:var(--text-h);margin:0;font-size:20px}.project-card p{flex:1;font-size:16px}.project-meta{gap:16px;font-size:14px;display:flex}.lang-dot{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.project-links{gap:16px;display:flex}.project-links a{color:var(--accent);font-size:15px;text-decoration:none}.project-links a:hover{text-decoration:underline}.project-card.skeleton{opacity:1;min-height:180px;animation:1.4s ease-in-out infinite alternate pulse;translate:none}@keyframes pulse{to{opacity:.5}}@media (prefers-reduced-motion:reduce){main>section:not(.is-active){opacity:1;translate:none}.project-card{opacity:1;transition:box-shadow .3s;translate:none}.project-card.visible:hover{translate:none}.project-card.skeleton{animation:none}}.about-facts{text-align:left;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:20px;width:100%;max-width:860px;margin:40px auto 0;display:grid}.fact{flex-direction:column;gap:2px;font-size:15px;display:flex}.fact+.fact{margin-top:16px}.fact strong{color:var(--text-h);font-weight:600}.fact-row{flex-direction:row;justify-content:space-between}.fact-details{margin-top:4px;font-size:14px}.job-points{margin:8px 0 0;padding-left:18px;font-size:15px}.job-points li+li{margin-top:4px}.project-tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.project-tags li{background:var(--accent-bg);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:13px}.contact{padding:64px 24px 120px}.contact>p{max-width:560px;margin:0 auto}.contact-grid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:20px;margin:40px 0 0;padding:0;list-style:none;display:grid}.contact-card{overflow-wrap:anywhere;flex-direction:column;gap:6px;padding:22px;display:flex}.contact-card a,.contact-card span:last-child{color:var(--text-h);font-size:16px;text-decoration:none}.contact-card a:hover{color:var(--accent)}.company-block+.company-block{margin-top:28px}.row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.company-block>.row{margin-bottom:12px}.role{color:var(--accent);font-size:16px;font-weight:600}.cert-list li{flex-direction:column;align-items:stretch}.show-cert{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;margin-left:12px;padding:0;font-size:14px}.show-cert:hover{text-decoration:underline}.cert-viewer{background:var(--bg);width:min(960px,92vw);box-shadow:var(--shadow);border:none;border-radius:14px;padding:0;overflow:hidden}.cert-viewer::backdrop{background:#0009}.cert-viewer[open]{animation:.25s ease-out viewer-in}@keyframes viewer-in{0%{opacity:0;scale:.96}}.cert-viewer-bar{color:var(--text-h);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;font-size:15px;display:flex}.cert-viewer-bar button{color:var(--text);cursor:pointer;background:0 0;border:none;font-size:18px}.cert-viewer img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}@media (prefers-reduced-motion:reduce){.cert-viewer[open]{animation:none}}.theme-toggle{border:1px solid var(--border);width:40px;height:40px;color:var(--text-h);cursor:pointer;background:0 0;border-radius:50%;place-items:center;margin-left:clamp(12px,2vw,24px);padding:0;transition:border-color .2s,color .2s,rotate .4s;display:grid}@media (hover:hover){.theme-toggle:hover{border-color:var(--accent-border);color:var(--accent);rotate:20deg}}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.site-header ul{margin-left:auto}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}:root{--header-h:64px}@media (width<=640px){:root{--header-h:100px}.site-header nav{flex-wrap:wrap;align-content:center;row-gap:8px}.site-header ul{order:1;justify-content:space-between;width:100%;margin-left:0}.site-header .logo{font-size:20px}.theme-toggle{margin-left:auto}.hero-title{font-size:20px}.about,.experience,.projects,.contact{padding-inline:16px}.info-card{padding:20px}}.hero-sub{max-width:560px;margin:0 auto}.hero-actions,.contact-actions{flex-wrap:wrap;justify-content:center;gap:12px 16px;margin-top:32px;display:flex}.hero-actions .hero-cta,.contact-actions .hero-cta{margin-top:0}.hero-cta.secondary{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-border);background:0 0}.hero-cta.secondary:hover{background:var(--accent-bg);opacity:1}.hero-cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.services{padding:64px 24px}.section-intro{max-width:600px;margin:0 auto}.reason-grid,.package-grid,.process{text-align:left;gap:20px;margin:32px 0 0;padding:0;list-style:none;display:grid}.reason-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.reason h3{margin-bottom:8px;font-size:18px}.package-grid{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}.package{flex-direction:column;gap:6px;display:flex;position:relative}.package h3{margin:0}.package.featured{box-shadow:inset 0 0 0 2px var(--accent-border)}.badge{background:var(--accent);color:#fff;border-radius:999px;padding:3px 10px;font-size:12px;position:absolute;top:16px;right:16px}.package-note{margin:16px 0 0;font-size:15px}.package-features{margin:12px 0 0;padding-left:18px;font-size:15px}.package-features li+li{margin-top:4px}.free-check{text-align:left;background:radial-gradient(480px circle at 0% 0%, var(--accent-bg), transparent 70%), var(--code-bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;margin-top:20px;display:flex}.free-check>div{flex:320px}.free-check h3{margin-bottom:6px}.free-check .hero-cta{margin-top:0}.process-title{color:var(--text-h);margin:48px 0 0;font-size:20px}.process{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));margin-top:20px}.process li{counter-increment:step}.process h4:before{content:counter(step) ". ";color:var(--accent)}.contact-actions{margin-bottom:8px}.whatsapp-float{z-index:10;background:var(--accent);color:#fff;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:12px 18px;font-size:15px;text-decoration:none;transition:translate .2s;display:flex;position:fixed;bottom:clamp(16px,3vw,32px);right:clamp(16px,3vw,32px)}.whatsapp-float svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;width:20px;height:20px}@media (hover:hover){.whatsapp-float:hover{translate:0 -2px}}.whatsapp-float:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=640px){.services{padding-inline:16px}.whatsapp-float{padding:14px}.whatsapp-float span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}@media (prefers-reduced-motion:reduce){.whatsapp-float{transition:none}}@media (width<=640px){.site-header ul{gap:10px;font-size:14px}}button.hero-cta{font:inherit;cursor:pointer;border:0}.check-chooser{background:var(--bg);width:min(460px,92vw);color:var(--text);box-shadow:var(--shadow);text-align:left;border:none;border-radius:16px;padding:0}.check-chooser::backdrop{background:#0009}.check-chooser[open]{animation:.25s ease-out viewer-in}.check-chooser-body{padding:28px;position:relative}.check-chooser h3{color:var(--text-h);margin:0 32px 8px 0;font-size:20px}.check-chooser p{font-size:15px}.check-chooser-close{color:var(--text);cursor:pointer;background:0 0;border:none;font-size:18px;position:absolute;top:18px;right:18px}.check-options{gap:12px;margin-top:20px;display:grid}.check-option{background:var(--code-bg);color:var(--text-h);box-shadow:inset 0 0 0 1px var(--border);border-radius:12px;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;transition:box-shadow .2s,background-color .2s;display:flex}.check-option:hover,.check-option:focus-visible{background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent-border);outline:none}.check-option svg{fill:none;width:24px;height:24px;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.check-option span{flex-direction:column;min-width:0;display:flex}.check-option small{color:var(--text);overflow-wrap:break-word;font-size:14px}@media (prefers-reduced-motion:reduce){.check-chooser[open]{animation:none}}@media (width<=640px){.check-chooser-body{padding:24px 20px}.check-option{gap:12px;padding:12px 14px}.check-option small{font-size:13px}}
