@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.relative{position:relative}.absolute{position:absolute}.top-0{top:0}.left-1\/2{left:50%}.inset-0{inset:0}.z-0{z-index:0}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.h-14{height:3.5rem}.h-full{height:100%}.w-24{width:6rem}.w-full{width:100%}.h-auto{height:auto}.w-auto{width:auto}.max-h-\[70\%\]{max-height:70%}.max-w-\[70\%\]{max-width:70%}.overflow-hidden{overflow:hidden}.pointer-events-none{pointer-events:none}.will-change-transform{will-change:transform}.whitespace-nowrap{white-space:nowrap}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y,0))}.-translate-y-8{--tw-translate-y:-2rem;transform:translate(var(--tw-translate-x,0), var(--tw-translate-y))}.transition-\[opacity\,filter\]{transition-property:opacity,filter}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.object-contain{object-fit:contain}.space-x-4>:not([hidden])~:not([hidden]){margin-left:1rem}@media (width>=768px){.md\:h-24{height:6rem}.md\:w-48{width:12rem}}:root{--font-sans:"Geist Variable", "Inter Variable", "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono Variable", "SFMono-Regular", "Cascadia Code", "Roboto Mono", ui-monospace, monospace;--accent:#6366f1;--accent-hover:#4f46e5;--text-main:#111827;--text-secondary:#6b7280;--bg-main:#fff;--bg-soft:#f9fafb;--bg-surface:#f8fafc;--portfolio-action-radius:8px;--portfolio-action-height:52px;--portfolio-action-primary-bg:#0071e3;--portfolio-action-primary-bg-hover:#005fcf;--portfolio-action-primary-text:#f8fbff;--portfolio-action-primary-border:#0071e3;--portfolio-action-primary-shadow:0 18px 34px #0071e333;--portfolio-action-secondary-bg:#ffffff94;--portfolio-action-secondary-bg-hover:#ffffffe0;--portfolio-action-secondary-text:#0f172a;--portfolio-action-secondary-border:#0f172a29;--portfolio-action-secondary-border-hover:#0071e35c;--shadow-soft-lg:0 22px 55px #0f172a24;--shadow-soft-md:0 14px 35px #0f172a1f;--ring-soft:0 0 0 1px #94a3b82e;--reveal-ease:cubic-bezier(.34, 1.56, .64, 1);--reveal-duration:1.26s}html.dark{--accent:#f5f5f5;--accent-hover:#fff;--text-main:#f8fafc;--text-secondary:#a1a1aa;--bg-main:#0a0a0a;--bg-soft:#111;--bg-surface:#0a0a0a;--portfolio-action-primary-bg:#4da3ff;--portfolio-action-primary-bg-hover:#7dbdff;--portfolio-action-primary-text:#06111f;--portfolio-action-primary-border:#4da3ff;--portfolio-action-primary-shadow:0 18px 38px #4da3ff29;--portfolio-action-secondary-bg:#ffffff0e;--portfolio-action-secondary-bg-hover:#4da3ff1f;--portfolio-action-secondary-text:#eaf4ff;--portfolio-action-secondary-border:#4da3ff5c;--portfolio-action-secondary-border-hover:#4da3ff99;--shadow-soft-lg:0 24px 70px #00000075;--shadow-soft-md:0 18px 44px #0000005c;--ring-soft:0 0 0 1px #94a3b82e}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:clip}body{font-family:var(--font-sans);background-color:var(--bg-surface);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.5;transition:background-color .36s cubic-bezier(.16,1,.3,1),color .36s cubic-bezier(.16,1,.3,1);overflow-x:clip}html.dark body{background:radial-gradient(circle at 50% 0,#ffffff0e,#0000 30rem),linear-gradient(#0a0a0a 0%,#0b0b0b 46%,#090909 100%)}.gradient-text{background:linear-gradient(135deg,#7c5cbf,#4f8ef7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.reveal-item{opacity:0;transform:translate3d(var(--reveal-x,0), var(--reveal-distance,64px), 0) rotate(var(--reveal-rotate,0deg)) scale(var(--reveal-scale-from,.76));transform-origin:50%;transition:opacity var(--reveal-duration) var(--reveal-ease), transform var(--reveal-duration) var(--reveal-ease);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform}.reveal-item.is-visible{opacity:1;transform:translate3d(0, 0, 0) scale(var(--reveal-scale-to,1))}.reveal-title{--reveal-delay:0s}.reveal-content{--reveal-delay:.12s}@media (prefers-reduced-motion:reduce){.reveal-item{opacity:1;will-change:auto;transform:none;transition:none!important}}html.in-iframe::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}html.in-iframe body::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}html.in-iframe ::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}html.in-iframe,html.in-iframe body,html.in-iframe *{scrollbar-width:none;-ms-overflow-style:none}html.dark :where(.hero-bottom-fade){background:linear-gradient(#0a0a0a00 0%,#0a0a0a47 38%,#0a0a0abd 72%,#0a0a0a 100%)!important}html.dark :where(.label-top,.meta-servicios,.meta-stack,.meta-garantias,.meta-proyectos){color:#4da3ff!important}html.dark :where(.hero-stripe-pro-v2 h1,.servicios-heading h2,.stack-header h2,.garantias-header h2,.proyectos-header h2),html.dark :where(.col-texto h2){color:#f8fafc!important}html.dark :where(.meta-sobre){color:#4da3ff!important}html.dark :where(.texto-bio,.texto-contenido p,.servicios-summary,.garantia-item p,.proyecto-info p){color:#d4d4d8!important;text-shadow:none!important}html.dark :where(.texto-contenido strong){color:#f8fafc!important}html.dark :where(.foto-wrapper img){border-color:#fff3!important}html.dark :where(.sub-frase){color:#dffbff!important}html.dark :where(.service-cta-link){color:#f4f4f5!important}html.dark :where(.hero-stripe-pro-v2 h1,.sub-frase,.texto-bio,.label-top){text-shadow:0 1px 2px #000000b8,0 12px 42px #00000075!important}html.dark :where(.texto-bio){color:#d4d4d8!important}html.dark :where(.btn-ghost-slim){-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);color:#f4f4f5!important;background:#0a0a0aad!important;border-color:#a7f3ff3d!important;box-shadow:0 14px 34px #00000047,0 0 22px #8b9cff17,inset 0 1px #ffffff14!important}html.dark :where(.btn-ghost-slim:hover){color:#0a0a0a!important;background:#fafafa!important;border-color:#fff!important}html.dark :where(.btn-apple-blue){color:#0a0a0a!important;background:linear-gradient(135deg,#fff 0%,#f5f7ff 52%,#e7fbff 100%)!important;border:1px solid #ffffffc7!important;box-shadow:0 16px 38px #00000057,0 0 24px #a7f3ff24,inset 0 0 0 1px #0000000f!important}html.dark :where(.btn-apple-blue:hover){color:#000!important;background:linear-gradient(135deg,#fff 0%,#f7f8ff 48%,#ecfbff 100%)!important;border-color:#ffffffe6!important;box-shadow:0 18px 40px #00000057,0 0 22px #a7f3ff2e,inset 0 0 0 1px #00000012!important}html.dark :where(.role-strip,.role-card,.garantia-item,.stack-cat,.proyecto-card){box-shadow:0 18px 50px #0000002e;background:#121212db!important;border-color:#ffffff1f!important}html.dark :where(.role-card:hover,.garantia-item:hover,.stack-cat:hover,.proyecto-card:hover,.proyecto-card:focus-within){background:#18181bf5!important;border-color:#ffffff47!important;box-shadow:0 26px 68px #0000006b,inset 0 0 0 1px #ffffff14!important}html.dark :where(.role-card strong,.garantia-item h3,.cat-title,.proyecto-info h3){color:#f8fafc!important}html.dark :where(.item-stack){background:#f7f7f8!important;border-color:#fff3!important;box-shadow:0 10px 26px #00000042,inset 0 1px #ffffffd1!important}html.dark :where(.item-stack img){opacity:1!important;filter:grayscale(0%)saturate(1.05)contrast(1.04)!important}html.dark :where(.item-stack:hover){background:#fff!important;border-color:#ffffff80!important}html.dark :where(.proyecto-imagen){background:#111!important}html.dark :where(.proyecto-overlay){background:#000000b8!important}html.dark :where(.proyecto-tags span){border:1px solid #ffffff1f;color:#e5e7eb!important;background:#ffffff14!important}html.dark :where(.card-fluid-overlay){opacity:calc(var(--cf-a,0) * .86)}html.dark :where(.cookie-banner-root,.career-backdrop){color:#e2e8f0}html.dark :where(.cookie-banner-card){background:#121212f0!important;border-color:#ffffff29!important;box-shadow:0 24px 70px #00000075,inset 0 1px #ffffff14!important}html.dark :where(.cookie-title){color:#f8fafc!important}html.dark :where(.cookie-text){color:#d4d4d8!important}html.dark :where(.cookie-links a){color:#f5f5f5!important}html.dark :where(.btn.ghost){color:#e2e8f0!important;background:#ffffff14!important;border-color:#ffffff29!important}html.dark :where(.footer-custom){background:linear-gradient(#0a0a0a 0%,#111 100%)!important;border-top-color:#ffffff1f!important}html.dark :where(.footer-primary){color:#f8fafc!important}html.dark :where(.footer-secondary,.footer-legal a,.footer-legal-btn,.footer-landing-link,.footer-portfolio-link){color:#a1a1aa!important}html.dark :where(.footer-tertiary){color:#f5f5f5!important}html.dark :where(.footer-dot){color:#52525b!important}html.dark :where(.footer-icons a){color:#d4d4d8!important;background:#ffffff0f!important;border-color:#ffffff1f!important}html.dark :where(.footer-icons a:hover){color:#0a0a0a!important;background:#f5f5f5!important;border-color:#fff!important}html.dark .hero-stripe-pro-v2 h1,html.dark .col-texto h2,html.dark .servicios-heading h2,html.dark .stack-header h2,html.dark .garantias-header h2,html.dark .proyectos-header h2{color:#f8fafc!important}html.dark .meta-sobre,html.dark .meta-servicios,html.dark .meta-stack,html.dark .meta-garantias,html.dark .meta-proyectos,html.dark .label-top{color:#4da3ff!important}html.dark .service-cta-link{color:#f4f4f5!important}html.dark .sub-frase{color:#dffbff!important}html.dark .texto-contenido p,html.dark .texto-bio,html.dark .servicios-summary,html.dark .garantia-item p,html.dark .proyecto-info p{color:#d4d4d8!important}html.dark .texto-contenido strong,html.dark .role-card strong,html.dark .garantia-item h3,html.dark .cat-title,html.dark .proyecto-info h3{color:#f8fafc!important}html.dark :where(.galeria-nova-page,.ember-page,.vshield-page,.chatbot-case-page){--principal:#f5f5f7!important;--secundario:#a1a1aa!important;--fondo:#0a0a0a!important;--fondo-suave:#111113!important;--borde:#ffffff1f!important;color:#f5f5f7!important;background:radial-gradient(circle at 50% 0,#0071e324,#0000 36rem),#0a0a0a!important}html.dark :where(.galeria-nova-page,.ember-page,.vshield-page,.chatbot-case-page) :where(.hero,.mockup-container,.mockup-grid-container,.stack-section,.proof-section,.automation-section){background:#111113!important}html.dark :where(.galeria-nova-page,.ember-page,.vshield-page,.chatbot-case-page) :where(.tag,.window-mockup,.window-mockup-small,.browser-frame,.proof-card,.automation-card,.panel-card){background:#18181b!important;border-color:#ffffff1f!important}html.dark :where(.galeria-nova-page,.ember-page,.vshield-page,.chatbot-case-page) :where(.window-header,.browser-header){background:#202024!important;border-color:#ffffff1f!important}html.dark :where(.galeria-nova-page,.ember-page,.vshield-page,.chatbot-case-page) :where(.section-body p,.hero-sub,.cta-section p,.proof-card p,.automation-card p){color:#d4d4d8!important}html.dark :where(.galeria-nova-page,.ember-page,.vshield-page,.chatbot-case-page) :where(.stack-item){color:#f5f5f7!important;background:#ffffff14!important;border:1px solid #ffffff14!important}html.dark :where(.galeria-nova-page,.ember-page,.vshield-page,.chatbot-case-page) :where(.btn-outline){color:#f5f5f7!important;border-color:#ffffff38!important}.cookie-banner-root.svelte-zvfgak{z-index:15000;padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom,0px));pointer-events:none;font-family:var(--font-sans,"Inter", system-ui, sans-serif);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.cookie-banner-card.svelte-zvfgak{pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);contain:layout style paint;background:#fffffff5;border:1px solid #e8e8ed;border-radius:18px;width:100%;max-width:520px;padding:20px 22px;box-shadow:0 18px 50px #1d1d1f24,inset 0 1px #ffffffe6}.cookie-title.svelte-zvfgak{color:#1d1d1f;letter-spacing:-.02em;margin:0 0 8px;font-size:15px;font-weight:700}.cookie-text.svelte-zvfgak{color:#424245;margin:0 0 10px;font-size:13px;line-height:1.55}.cookie-links.svelte-zvfgak{margin:0 0 16px;font-size:12px}.cookie-links.svelte-zvfgak a:where(.svelte-zvfgak){color:#0071e3;font-weight:600;text-decoration:none}.cookie-links.svelte-zvfgak a:where(.svelte-zvfgak):hover{text-decoration:underline}.cookie-actions.svelte-zvfgak{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.btn.svelte-zvfgak{cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:transform .2s,box-shadow .2s}.btn.primary.svelte-zvfgak{color:#fff;background:#0071e3;box-shadow:0 6px 20px #0071e340}.btn.primary.svelte-zvfgak:hover{background:#0077ed;transform:translateY(-1px)}.btn.ghost.svelte-zvfgak{color:#1d1d1f;background:#0000000d;border:1px solid #e8e8ed}.btn.ghost.svelte-zvfgak:hover{background:#00000014}@media (width<=480px){.cookie-actions.svelte-zvfgak{flex-direction:column-reverse;align-items:stretch}.btn.svelte-zvfgak{justify-content:center;width:100%}}.cv-modal-content.svelte-fc65ed{background:linear-gradient(#fffc,#0000 132px),#f7fafc;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.cv-modal-head.svelte-fc65ed{border-bottom:1px solid #0f172a1a;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;display:flex}.cv-modal-head.svelte-fc65ed p:where(.svelte-fc65ed){color:#0071e3;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px;font-size:.7rem;font-weight:820;line-height:1.1}.cv-modal-head.svelte-fc65ed h2:where(.svelte-fc65ed){color:#111827;letter-spacing:0;margin:0;font-size:clamp(1.45rem,2vw,2.05rem);font-weight:850;line-height:1}.cv-modal-actions.svelte-fc65ed{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.cv-modal-actions.svelte-fc65ed a:where(.svelte-fc65ed),.cv-modal-actions.svelte-fc65ed button:where(.svelte-fc65ed){color:#111827;width:38px;height:38px;font:inherit;cursor:pointer;background:#ffffffb8;border:1px solid #0f172a1f;border-radius:7px;justify-content:center;align-items:center;padding:0;line-height:1;text-decoration:none;transition:transform .18s,background-color .18s,border-color .18s;display:inline-flex}.cv-modal-actions.svelte-fc65ed a:where(.svelte-fc65ed) svg:where(.svelte-fc65ed),.cv-modal-actions.svelte-fc65ed button:where(.svelte-fc65ed) svg:where(.svelte-fc65ed){fill:currentColor;width:18px;height:18px}.cv-modal-actions.svelte-fc65ed a:where(.svelte-fc65ed):hover,.cv-modal-actions.svelte-fc65ed button:where(.svelte-fc65ed):hover{background:#dbeafec7;border-color:#0071e347;transform:translateY(-1px)}.cv-preview-wrap.svelte-fc65ed{background-color:#0000;background-image:linear-gradient(#0f172a0a 1px,#0000 1px),linear-gradient(90deg,#0f172a0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:0;padding:14px;overflow:auto}.cv-preview-link.svelte-fc65ed{border-radius:10px;width:100%;max-width:860px;margin:0 auto;text-decoration:none;display:block}.cv-preview-image.svelte-fc65ed{background:#f8fafc;border:1px solid #0f172a1f;border-radius:10px;width:100%;height:auto;display:block;box-shadow:0 18px 48px #0f172a1f}.cv-preview-fallback.svelte-fc65ed{text-align:center;background:#f8fafc;border:1px solid #0f172a1f;border-radius:10px;place-content:center;gap:16px;min-height:360px;display:grid}.cv-preview-fallback.svelte-fc65ed p:where(.svelte-fc65ed){color:#475569;margin:0;font-size:.98rem;font-weight:650}.cv-preview-fallback.svelte-fc65ed a:where(.svelte-fc65ed){border-radius:var(--portfolio-action-radius);background:var(--portfolio-action-primary-bg);min-height:42px;color:var(--portfolio-action-primary-text);justify-content:center;align-items:center;padding:0 16px;font-size:.9rem;font-weight:780;text-decoration:none;display:inline-flex}html.dark .cv-modal-content.svelte-fc65ed{background:linear-gradient(#0f172a80,#0000 132px),#0a121f}html.dark .cv-modal-head.svelte-fc65ed{border-bottom-color:#ffffff1a}html.dark .cv-modal-head.svelte-fc65ed p:where(.svelte-fc65ed){color:#4da3ff}html.dark .cv-modal-head.svelte-fc65ed h2:where(.svelte-fc65ed){color:#f8fafc}html.dark .cv-modal-actions.svelte-fc65ed a:where(.svelte-fc65ed),html.dark .cv-modal-actions.svelte-fc65ed button:where(.svelte-fc65ed){color:#f8fafc;background:#ffffff0e;border-color:#ffffff1f}html.dark .cv-modal-actions.svelte-fc65ed a:where(.svelte-fc65ed):hover,html.dark .cv-modal-actions.svelte-fc65ed button:where(.svelte-fc65ed):hover{background:#4da3ff1f;border-color:#4da3ff52}html.dark .cv-preview-wrap.svelte-fc65ed{background-color:#0000;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}html.dark .cv-preview-image.svelte-fc65ed,html.dark .cv-preview-fallback.svelte-fc65ed{background:#0f172a;border-color:#ffffff1f;box-shadow:0 18px 48px #0000004d}html.dark .cv-preview-fallback.svelte-fc65ed p:where(.svelte-fc65ed){color:#cbd5e1}@media (width<=760px){.cv-modal-head.svelte-fc65ed{flex-direction:column;padding:15px}.cv-modal-actions.svelte-fc65ed{justify-content:stretch;width:100%}.cv-modal-actions.svelte-fc65ed a:where(.svelte-fc65ed){flex:auto}.cv-preview-wrap.svelte-fc65ed{padding:8px}}.footer-custom.svelte-mhgu6k{text-align:center;background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border-top:1px solid #e2e8f0;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:42px 20px 48px}.footer-copy.svelte-mhgu6k{max-width:1100px;margin:0 auto 24px;padding:0 16px}.footer-legal.svelte-mhgu6k{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;max-width:1100px;margin:0 auto 28px;padding:0 16px;font-size:13px;font-weight:600;display:flex}.footer-legal.svelte-mhgu6k a:where(.svelte-mhgu6k){color:#64748b;text-decoration:none}.footer-legal.svelte-mhgu6k a:where(.svelte-mhgu6k):hover{color:#334155;text-decoration:none}.footer-dot.svelte-mhgu6k{color:#94a3b8;-webkit-user-select:none;user-select:none}.footer-primary.svelte-mhgu6k,.footer-secondary.svelte-mhgu6k,.footer-tertiary.svelte-mhgu6k{margin:0;line-height:1.65}.footer-primary.svelte-mhgu6k{color:#0f172a;letter-spacing:.1px;font-size:14px;font-weight:600}.footer-secondary.svelte-mhgu6k{color:#475569;margin-top:6px;font-size:13px;font-weight:500}.footer-tertiary.svelte-mhgu6k{color:#2563eb;margin-top:6px;font-size:13px;font-weight:600}.footer-icons.svelte-mhgu6k{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.footer-icons.svelte-mhgu6k a:where(.svelte-mhgu6k){color:#475569;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;text-decoration:none;transition:all .3s;display:inline-flex}.footer-icons.svelte-mhgu6k a:where(.svelte-mhgu6k):hover{color:#fff;background-color:#2563eb;border-color:#2563eb;transform:translateY(-4px);box-shadow:0 8px 20px #2563eb40}.footer-icons.svelte-mhgu6k svg:where(.svelte-mhgu6k){width:20px;height:20px}.footer-malt-icon.svelte-mhgu6k{background-color:currentColor;width:22px;height:22px;display:block;-webkit-mask:url(../../../imagenes/malt-svgrepo-com.svg) 50%/contain no-repeat;mask:url(../../../imagenes/malt-svgrepo-com.svg) 50%/contain no-repeat}@media (width<=768px){.footer-custom.svelte-mhgu6k{padding-top:34px}.footer-copy.svelte-mhgu6k{margin-bottom:26px;padding:0 14px}.footer-primary.svelte-mhgu6k,.footer-secondary.svelte-mhgu6k,.footer-tertiary.svelte-mhgu6k{font-size:12px;line-height:1.7}.footer-icons.svelte-mhgu6k{gap:16px}.footer-icons.svelte-mhgu6k a:where(.svelte-mhgu6k){width:44px;height:44px}.footer-icons.svelte-mhgu6k svg:where(.svelte-mhgu6k){width:18px;height:18px}.footer-malt-icon.svelte-mhgu6k{width:20px;height:20px}}body{cursor:auto}.cursor-dot.svelte-16f0zcm{pointer-events:none;z-index:999999;opacity:.9;background-color:#fff;border-radius:50%;width:6px;height:6px;position:fixed;top:0;left:0;transform:translate(-50%,-50%);box-shadow:0 0 3px #0006}.cursor-outline.svelte-16f0zcm{pointer-events:none;z-index:999998;will-change:transform;opacity:.6;border:1px solid #0071e380;border-radius:50%;width:25px;height:25px;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-dot[hidden].svelte-16f0zcm,.cursor-outline[hidden].svelte-16f0zcm{display:none}@media (width<=768px){.cursor-dot.svelte-16f0zcm,.cursor-outline.svelte-16f0zcm{display:none!important}}.header-brand.svelte-1qallbu{min-height:44px;color:inherit;filter:drop-shadow(0 1px 1px #1d1d1f0f)drop-shadow(0 3px 8px #1d1d1f1a);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:.12rem;text-decoration:none;display:flex}.header-brand-mv.svelte-1qallbu{aspect-ratio:632/292;width:auto;max-width:min(54vw,188px);height:30px;display:block}.header-brand-tag.svelte-1qallbu{font-family:var(--font-sans);letter-spacing:.12em;color:#1d1d1fb3;text-transform:uppercase;white-space:nowrap;font-size:.5rem;font-weight:600;line-height:1.05}@media (width<=768px){.header-brand.svelte-1qallbu{gap:.1rem;min-height:36px}.header-brand-mv.svelte-1qallbu{max-width:min(46vw,150px);height:24px}.header-brand-tag.svelte-1qallbu{letter-spacing:.1em;font-size:.42rem}}.motion-header.svelte-12qhfyh{--motion-bg:#ffffff8a;--motion-bg-open:#fffc;--motion-border:#1d1d1f1a;--motion-text:#111318;--motion-muted:#11131894;--motion-hover:#0071e314;z-index:100;pointer-events:none;font-family:var(--font-sans);justify-content:center;padding-top:1rem;display:flex;position:fixed;top:0;left:0;right:0}html.dark .motion-header.svelte-12qhfyh{--motion-bg:#121212ad;--motion-bg-open:#121212e6;--motion-border:#ffffff12;--motion-text:#f8fafc;--motion-muted:#e4e4e79e;--motion-hover:#ffffff1a}.motion-header-shell.svelte-12qhfyh{z-index:2;pointer-events:auto;background:var(--motion-bg);border:1px solid var(--motion-border);-webkit-backdrop-filter:blur(22px)saturate(1.35);backdrop-filter:blur(22px)saturate(1.35);border-radius:10px;width:100%;max-width:50vw;transition:max-width .5s cubic-bezier(.625,.05,0,1),background-color .4s cubic-bezier(.625,.05,0,1),border-color .4s cubic-bezier(.625,.05,0,1),box-shadow .4s cubic-bezier(.625,.05,0,1);position:relative;overflow:hidden;box-shadow:0 18px 50px #0f172a14,inset 0 1px #ffffffb3}.motion-header.menu-open.svelte-12qhfyh .motion-header-shell:where(.svelte-12qhfyh){background:var(--motion-bg-open);border-color:#1d1d1f21;max-width:75vw;box-shadow:0 24px 70px #0f172a24,inset 0 1px #ffffffd9}html.dark .motion-header-shell.svelte-12qhfyh{box-shadow:0 18px 50px #00000047}html.dark .motion-header.menu-open.svelte-12qhfyh .motion-header-shell:where(.svelte-12qhfyh){border-color:#ffffff14;box-shadow:0 24px 70px #00000057}.motion-header-bar.svelte-12qhfyh{z-index:2;justify-content:space-between;align-items:center;min-height:48px;padding:.25rem;display:flex;position:relative}.motion-menu-toggle.svelte-12qhfyh,.motion-header-actions.svelte-12qhfyh a:where(.svelte-12qhfyh),.motion-theme-toggle.svelte-12qhfyh,.motion-locale-toggle.svelte-12qhfyh{height:40px;color:var(--motion-text);background:0 0;border:0;border-radius:7px;transition:background-color .4s cubic-bezier(.625,.05,0,1),color .4s cubic-bezier(.625,.05,0,1),transform .4s cubic-bezier(.625,.05,0,1)}.motion-menu-toggle.svelte-12qhfyh{cursor:pointer;font:inherit;letter-spacing:0;align-items:center;gap:.58rem;padding:0 .75rem 0 .62rem;font-size:.78rem;font-weight:600;display:inline-flex}.motion-menu-toggle.svelte-12qhfyh:hover,.motion-header-actions.svelte-12qhfyh a:where(.svelte-12qhfyh):hover,.motion-theme-toggle.svelte-12qhfyh:hover,.motion-locale-toggle.svelte-12qhfyh:hover{background:var(--motion-hover);color:#0071e3}html.dark .motion-menu-toggle.svelte-12qhfyh:hover,html.dark .motion-header-actions.svelte-12qhfyh a:where(.svelte-12qhfyh):hover,html.dark .motion-theme-toggle.svelte-12qhfyh:hover,html.dark .motion-locale-toggle.svelte-12qhfyh:hover{color:#fff}.motion-menu-lines.svelte-12qhfyh{place-items:center;width:40px;height:40px;margin-left:-.35rem;display:inline-grid;position:relative}.motion-menu-lines.svelte-12qhfyh span:where(.svelte-12qhfyh){transform-origin:50%;background:currentColor;border-radius:999px;width:24px;height:1px;transition:transform .4s cubic-bezier(.625,.05,0,1);position:absolute}.motion-menu-lines.svelte-12qhfyh span:where(.svelte-12qhfyh):first-child{transform:translateY(4px)}.motion-menu-lines.svelte-12qhfyh span:where(.svelte-12qhfyh):last-child{transform:translateY(-4px)}.motion-menu-toggle.open.svelte-12qhfyh .motion-menu-lines:where(.svelte-12qhfyh) span:where(.svelte-12qhfyh):first-child{transform:rotate(45deg)}.motion-menu-toggle.open.svelte-12qhfyh .motion-menu-lines:where(.svelte-12qhfyh) span:where(.svelte-12qhfyh):last-child{transform:rotate(-45deg)}.motion-header-logo.svelte-12qhfyh{justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.motion-header-logo.svelte-12qhfyh .header-brand{filter:none;gap:.08rem;min-height:40px}.motion-header-logo.svelte-12qhfyh .header-brand-mv{max-width:76px;height:22px}.motion-header-logo.svelte-12qhfyh .header-brand-tag{letter-spacing:.11em;color:#11131894;font-size:.38rem;line-height:1;display:block}html.dark .motion-header-logo.svelte-12qhfyh .header-brand-mv path{fill:#f8fafc}html.dark .motion-header-logo.svelte-12qhfyh .header-brand-tag{color:#e2e8f0a8}.motion-header-actions.svelte-12qhfyh{align-items:center;gap:.08rem;display:inline-flex}.motion-header-actions.svelte-12qhfyh a:where(.svelte-12qhfyh){justify-content:center;align-items:center;width:36px;text-decoration:none;display:inline-flex}.motion-theme-toggle.svelte-12qhfyh{cursor:pointer;justify-content:center;align-items:center;width:36px;padding:0;display:inline-flex}.motion-theme-toggle.svelte-12qhfyh svg:where(.svelte-12qhfyh){fill:currentColor;width:14px;height:14px}.motion-locale-toggle.svelte-12qhfyh{width:36px;font:inherit;letter-spacing:.08em;cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:.68rem;font-weight:700;display:inline-flex}.motion-header-actions.svelte-12qhfyh svg:where(.svelte-12qhfyh){fill:currentColor;width:14px;height:14px}.motion-menu-overlay.svelte-12qhfyh{z-index:1;pointer-events:auto;background:#f8fafcc7;border:0;animation:.5s cubic-bezier(.625,.05,0,1) both svelte-12qhfyh-motionOverlayIn;position:fixed;inset:0}html.dark .motion-menu-overlay.svelte-12qhfyh{background:#000000a8}.motion-menu-panel.svelte-12qhfyh{z-index:2;border-top:1px solid #1d1d1f14;width:100%;padding:1rem;animation:.5s cubic-bezier(.625,.05,0,1) .12s both svelte-12qhfyh-motionPanelIn;position:relative;overflow:hidden}.motion-menu-grid.svelte-12qhfyh{overscroll-behavior:contain;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-height:65vh;display:grid;overflow-y:auto}.motion-menu-group.svelte-12qhfyh{background:0 0;border-radius:7px;flex-direction:column;gap:1rem;min-width:0;padding:1rem;display:flex}.motion-menu-group.muted.svelte-12qhfyh{background:#1113180b}html.dark .motion-menu-group.muted.svelte-12qhfyh{background:#ffffff0e}.motion-menu-group.svelte-12qhfyh h3:where(.svelte-12qhfyh){color:var(--motion-muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:650;line-height:1.1}.motion-menu-links.svelte-12qhfyh{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.motion-menu-links.svelte-12qhfyh hr:where(.svelte-12qhfyh){border:0;border-top:1px solid #1d1d1f1a;width:100%;margin:0}.motion-menu-link.svelte-12qhfyh{--mx:50%;--my:50%;color:#1113189e;width:fit-content;max-width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:clamp(1.35rem,2.05vw,1.8rem);font-weight:450;line-height:1.05;text-decoration:none;transition:color .4s cubic-bezier(.625,.05,0,1);display:block;position:relative}html.dark .motion-menu-link.svelte-12qhfyh{color:#e4e4e7ad}.motion-menu-link.svelte-12qhfyh>span:where(.svelte-12qhfyh){z-index:1;line-height:1.12;display:block;position:relative;overflow:hidden}.motion-menu-link.svelte-12qhfyh>span:where(.svelte-12qhfyh)>span:where(.svelte-12qhfyh){white-space:nowrap;animation:.5s cubic-bezier(.625,.05,0,1) both svelte-12qhfyh-motionLinkIn;animation-delay:calc(.3s + (var(--stagger,0) * 20ms));display:block}.motion-menu-link.svelte-12qhfyh:after{content:"";transform-origin:100%;background:currentColor;width:100%;height:1px;transition:transform .4s cubic-bezier(.625,.05,0,1),transform-origin 0s linear .4s;position:absolute;bottom:-.25rem;left:0;transform:scaleX(0)}.motion-menu-link.svelte-12qhfyh:hover{color:var(--motion-text)}.motion-menu-link.svelte-12qhfyh:hover:after{transform-origin:0;transition:transform .4s cubic-bezier(.625,.05,0,1),transform-origin;transform:scaleX(1)}.motion-menu-link.svelte-12qhfyh:focus-visible,.motion-menu-toggle.svelte-12qhfyh:focus-visible,.motion-header-actions.svelte-12qhfyh a:where(.svelte-12qhfyh):focus-visible,.motion-theme-toggle.svelte-12qhfyh:focus-visible,.motion-locale-toggle.svelte-12qhfyh:focus-visible{outline-offset:3px;outline:2px solid #0071e38c}@keyframes svelte-12qhfyh-motionPanelIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:70vh}}@keyframes svelte-12qhfyh-motionLinkIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes svelte-12qhfyh-motionOverlayIn{0%{opacity:0}to{opacity:1}}@media (width<=1023px){.motion-header-shell.svelte-12qhfyh{max-width:70vw}.motion-header.menu-open.svelte-12qhfyh .motion-header-shell:where(.svelte-12qhfyh){max-width:85vw}}@media (width<=767px),(hover:none),(pointer:coarse){.motion-header-shell.svelte-12qhfyh{-webkit-backdrop-filter:blur(10px)saturate(1.1);backdrop-filter:blur(10px)saturate(1.1)}}@media (width<=767px){.motion-header.svelte-12qhfyh{padding-top:.5rem}.motion-header-shell.svelte-12qhfyh{max-width:95vw}.motion-header.menu-open.svelte-12qhfyh .motion-header-shell:where(.svelte-12qhfyh){border-top-left-radius:0;border-top-right-radius:0;max-width:100vw;top:0}.motion-header-bar.svelte-12qhfyh{min-height:46px}.motion-menu-toggle.svelte-12qhfyh{padding-right:.62rem;font-size:.75rem}.motion-header-logo.svelte-12qhfyh .header-brand-mv{max-width:66px;height:19px}.motion-header-logo.svelte-12qhfyh .header-brand-tag{font-size:.34rem}.motion-header-actions.svelte-12qhfyh a:where(.svelte-12qhfyh),.motion-theme-toggle.svelte-12qhfyh{width:34px}.motion-locale-toggle.svelte-12qhfyh{width:32px;font-size:.64rem}.motion-menu-grid.svelte-12qhfyh{grid-template-columns:1fr;gap:1rem}.motion-menu-link.svelte-12qhfyh{font-size:1.6rem}}
