@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap);*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;scroll-padding-top:20px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0d0d0d;color:var(--color-primario);font-family:var(--font-primary);margin:0}#root,body{overflow-x:hidden;width:100%}code{font-family:var(--font-mono)}a,button{-webkit-tap-highlight-color:transparent}input,select,textarea{font-size:16px}@media (pointer:fine){::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#22c55e40;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#22c55e73}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--black-900:#0b0e11;--black-800:#11151c;--white-100:#fff;--white-200:#e5e7eb;--white-300:#9ca3af;--green-500:#4ade80;--green-600:#22c55e;--blue-500:#38bdf8;--blue-600:#0ea5e9;--bg-hero:#0b0e11;--bg-projects:#f1f5f9;--bg-contact:#e2e8f0;--glass-bg:#ffffff40;--glass-border:#ffffff59;--glass-shadow:0 8px 30px #00000026;--font-primary:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",monospace;--section-padding:120px;--container-width:1200px}.Hero{background:#0b0e11;min-height:100vh;min-height:100dvh;overflow:hidden;position:relative}.Hero-overlay{background:radial-gradient(circle at top,#00000026,#000000e6);inset:0;position:absolute;z-index:1}.Hero-content{align-items:center;color:#e5e7eb;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:1100px;min-height:100vh;min-height:100dvh;padding:0 24px;position:relative;text-align:center;z-index:2}.Hero-eyebrow{color:var(--color-secundario);font-family:var(--font-mono);margin-bottom:16px}.Hero-title{line-height:1.2;margin:0}.Hero-cta{align-items:center;background:var(--green-500);border-radius:999px;color:#022c22;display:inline-flex;font-size:.95rem;font-weight:500;justify-content:center;margin-top:40px;min-height:44px;padding:14px 32px;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.Hero-cta:hover{box-shadow:0 10px 25px #22c55e59;transform:translateY(-2px)}.Hero-name{color:var(--color-secundario);display:inline-block;font-size:clamp(1.5rem,5.5vw,3rem)}.Hero-role{color:#fff;display:inline-block;font-size:clamp(1.75rem,6.5vw,3.2rem)}.Hero-subtitle{font-size:clamp(.95rem,2.5vw,1.2rem);margin-top:16px;max-width:540px;opacity:.85}.Hero-icons{display:flex;gap:20px;margin-top:36px}.Hero-icon{align-items:center;background:#0006;border:1px solid #fff3;border-radius:50%;display:flex;height:64px;justify-content:center;transition:all .25s ease;width:64px}.Hero-icon img{height:28px;width:28px}.Hero-icon:hover{border-color:var(--color-secundario);box-shadow:0 0 20px #4ade8066;transform:translateY(-4px)}.Hero-wave{bottom:-1px;height:260px;left:0;pointer-events:none;position:absolute;width:100%;z-index:3}.Hero-wave svg{display:block;height:100%;width:100%}@media (max-width:768px){.Hero-content{padding:0 20px}.Hero-subtitle{margin-top:12px}.Hero-icons{gap:14px;margin-top:28px}.Hero-icon{height:52px;width:52px}.Hero-icon img{height:22px;width:22px}.Hero-cta{margin-top:32px;padding:13px 28px}.Hero-wave{height:140px}}@media (max-width:480px){.Hero-content{padding:0 16px}.Hero-name{font-size:1.4rem}.Hero-role{font-size:1.85rem;line-height:1.15}.Hero-subtitle{font-size:.88rem;line-height:1.5;margin-top:14px}.Hero-icons{gap:12px;margin-top:24px}.Hero-icon{height:48px;width:48px}.Hero-icon img{height:20px;width:20px}.Hero-cta{font-size:.9rem;margin-top:28px;padding:12px 26px}.Hero-wave{height:100px}}.Projects{background:#f1f5f9;padding:50px 24px 100px}.Projects-container{margin:0 auto;max-width:1200px;text-align:center}.Projects-title{color:#0f172a;font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:16px}.Projects-subtitle{color:#64748b;font-size:1rem;line-height:1.6;margin:0 auto 32px;max-width:640px}.Projects-switch{display:flex;flex-wrap:wrap;gap:36px;justify-content:center;margin-bottom:64px}.Projects-switch button{background:none;border:none;color:#475569;cursor:pointer;font-size:.95rem;letter-spacing:.08em;min-height:44px;opacity:.6;padding:8px 4px;text-transform:uppercase;transition:all .25s ease}.Projects-switch button.active{color:var(--color-secundario);opacity:1}.Projects-filters{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:72px}.Filter-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff8c;border:1px solid #fff9;border-radius:999px;color:#0f172a;cursor:pointer;font-size:.9rem;padding:10px 22px;transition:all .25s ease}.Filter-btn.active{background:var(--color-secundario);border-color:var(--color-secundario);box-shadow:0 8px 20px #22c55e40;color:#022c22}.Projects-grid{grid-gap:48px;display:grid;gap:48px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.Project-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffa6;border-radius:20px;box-shadow:0 20px 40px #00000014;color:inherit;overflow:hidden;text-decoration:none;transition:transform .35s ease,box-shadow .35s ease}.Project-card img{height:200px;object-fit:cover;width:100%}.Project-card.clickable{cursor:pointer}.Project-card.clickable:hover{box-shadow:0 30px 60px #22c55e40;transform:translateY(-12px)}.Project-card-content{padding:24px;text-align:left}.Project-card-header{align-items:center;display:flex;justify-content:space-between}.Project-card-content h3{color:#0f172a;font-size:1.1rem}.Project-card-link-icon{color:var(--color-secundario);font-size:2.2rem}.Project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.Project-tag{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a0d;border-radius:999px;color:#0f172a;font-size:.75rem;padding:6px 12px}.Projects-more{margin-top:64px}.Projects-more button{background:none;border:none;color:#475569;cursor:pointer;font-size:.85rem;letter-spacing:.08em;opacity:.7;text-transform:uppercase}.Projects-more button:hover{opacity:1}.Projects-empty{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff9;border:1px solid #ffffffb3;border-radius:24px;box-shadow:0 20px 50px #0000000f;margin:40px auto 20px;max-width:620px;padding:56px 32px;text-align:center}.Projects-empty-icon{align-items:center;background:#22c55e1f;border-radius:16px;color:#22c55e;color:var(--green-600,#22c55e);display:inline-flex;height:64px;justify-content:center;margin:0 auto 20px;width:64px}.Projects-empty-title{color:#0f172a;font-family:JetBrains Mono,monospace;font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:1.6rem;letter-spacing:.02em;margin:0 0 16px}.Projects-empty-text{color:#64748b;font-size:1rem;line-height:1.7;margin:0 auto 32px;max-width:480px}.Projects-empty-btn{align-items:center;background:#4ade80;background:var(--color-secundario,var(--green-500,#4ade80));border-radius:999px;color:#022c22;display:inline-flex;font-size:.92rem;font-weight:500;gap:10px;padding:12px 26px;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,gap .25s ease}.Projects-empty-btn:hover{box-shadow:0 10px 25px #22c55e59;gap:14px;transform:translateY(-2px)}@media (max-width:640px){.Projects-empty{margin:20px auto;padding:40px 22px}.Projects-empty-title{font-size:1.35rem}.Projects-empty-text{font-size:.95rem}}@media (max-width:768px){.Projects{padding:40px 20px 80px}.Projects-subtitle{margin-bottom:28px;padding:0 4px}.Projects-switch{gap:24px;margin-bottom:40px}.Projects-switch button{font-size:.88rem}.Projects-filters{gap:12px;margin-bottom:40px}.Filter-btn{font-size:.85rem;min-height:40px;padding:9px 18px}.Projects-grid{gap:24px}}@media (max-width:480px){.Projects{padding:32px 16px 64px}.Projects-switch{gap:18px;margin-bottom:32px}.Projects-switch button{font-size:.82rem;letter-spacing:.06em}.Projects-filters{gap:8px;margin-bottom:32px}.Filter-btn{font-size:.8rem;padding:8px 14px}}.About{margin:0 auto;max-width:900px;padding:80px 20px}.About-title{color:var(--color-secundario);font-size:1.2rem;letter-spacing:.5px;margin-bottom:40px;text-align:center}.About-text p{color:var(--third-color);font-size:1.05rem;line-height:1.8;margin-bottom:26px;text-align:center}.About-text strong{color:var(--color-primario);font-weight:600}@media (max-width:768px){.About{padding:60px 20px}.About-text p{font-size:1rem}}.Skills{margin:0 auto;max-width:1100px}.Skills-stats{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:56px}.Stat-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #fff9;border-radius:18px;cursor:default;padding:28px 20px;text-align:center;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.Stat-card:hover{border-color:#22c55e59;box-shadow:0 20px 40px #22c55e1f;transform:translateY(-4px)}.Stat-icon{align-items:center;background:#22c55e1f;border-radius:12px;color:#22c55e;color:var(--green-600,#22c55e);display:inline-flex;height:48px;justify-content:center;margin:0 auto 14px;width:48px}.Stat-value{color:#0f172a;font-family:JetBrains Mono,monospace;font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:700;letter-spacing:-.02em;line-height:1.1}.Stat-label{color:#64748b;font-size:.82rem;line-height:1.4;margin-top:10px}.Skills-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:24px}.Skills-filter{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff8c;border:1px solid #0f172a1a;border-radius:999px;color:#334155;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;padding:8px 18px;transition:all .25s ease}.Skills-filter:hover{border-color:#22c55e73;color:#0f172a}.Skills-filter.active{background:#4ade80;background:var(--color-secundario,var(--green-500,#4ade80));border-color:#4ade80;border-color:var(--color-secundario,var(--green-500,#4ade80));box-shadow:0 6px 16px #22c55e40;color:#022c22}.Skills-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:radial-gradient(circle at 15% 20%,#22c55e14,#0000 55%),radial-gradient(circle at 85% 80%,#38bdf80f,#0000 55%),#ffffff73;border:1px solid #ffffffb3;border-radius:24px;box-shadow:0 20px 50px #0f172a0f,0 0 0 1px #0f172a08;overflow:hidden;padding:32px;position:relative}.Skills-panel:before{background-image:linear-gradient(rgba(15,23,42,.025) 1px,#0000 0),linear-gradient(90deg,rgba(15,23,42,.025) 1px,#0000 0);background-size:40px 40px;content:"";inset:0;pointer-events:none;position:absolute}.Skills-panel-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));position:relative;z-index:1}.SkillCard{align-items:center;background:#ffffffbf;border:1px solid #0f172a0f;border-radius:14px;cursor:default;display:flex;gap:16px;min-height:72px;padding:18px 20px;position:relative;transition:background .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}.SkillCard:hover{background:#fffffff2;border-color:#22c55e66;box-shadow:0 12px 24px #22c55e1f;transform:translateY(-3px)}.SkillCard.featured{background:linear-gradient(135deg,#22c55e1a,#fffc);border-color:#22c55e47}.SkillCard.featured:before{color:#22c55e;color:var(--green-600,#22c55e);content:"★";font-size:.7rem;opacity:.85;position:absolute;right:10px;top:8px}.SkillCard-visual{align-items:center;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.SkillCard-visual img{object-fit:contain}.SkillCard-mono,.SkillCard-visual img{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));height:100%;width:100%}.SkillCard-mono{-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.SkillCard-badge{align-items:center;background:linear-gradient(135deg,#1e293b,#334155);border-radius:10px;box-shadow:0 3px 8px #0f172a26;color:#fff;display:flex;font-family:JetBrains Mono,monospace;font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:.85rem;font-weight:700;height:100%;justify-content:center;letter-spacing:.04em;width:100%}.SkillCard.featured .SkillCard-badge{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 3px 10px #22c55e59;color:#022c22}.SkillCard-name{color:#0f172a;font-size:.92rem;font-weight:500;letter-spacing:-.005em;line-height:1.3}.Skills-footer-note{color:#94a3b8;font-size:.78rem;font-style:italic;margin-top:32px;text-align:center}@media (max-width:768px){.Skills-stats{gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:40px}.Stat-card{padding:20px 12px}.Stat-icon{height:40px;margin-bottom:10px;width:40px}.Skills-filters{gap:8px;margin-bottom:20px}.Skills-filter{font-size:.8rem;padding:7px 14px}.Skills-panel{border-radius:20px;padding:20px 16px}.Skills-panel-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.SkillCard{gap:12px;min-height:64px;padding:14px}.SkillCard-visual{height:34px;width:34px}.SkillCard-name{font-size:.85rem}}@media (max-width:420px){.Skills-panel-grid{grid-template-columns:1fr}}.ProjectModal-backdrop{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ab3;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.ProjectModal{background:#f8fafc;border-radius:20px;display:flex;flex-direction:column;max-height:90vh;max-width:760px;overflow:hidden;position:relative;width:100%}.ProjectModal-close{background:#ffffffaa;border:none;border-radius:7px;cursor:pointer;font-size:1.4rem;position:absolute;right:14px;top:14px;transition:all .5s ease-in-out;z-index:2}.ProjectModal-close:hover{background:#fff!important;border-radius:10px;font-size:1.8rem}.ProjectModal-headerBlock{flex-shrink:0}.ProjectModal-image{cursor:zoom-in;height:220px;object-fit:cover;width:100%}.ProjectModal-gallery{display:flex;gap:12px;overflow-x:auto;padding:12px 16px}.ProjectModal-gallery img{border-radius:10px;cursor:zoom-in;flex-shrink:0;height:100px}.ProjectModal-body{overflow-y:auto;padding-bottom:32px}.ProjectModal-header{padding:16px 24px 8px}.ProjectModal-header h3{color:#0f172a;font-size:1.4rem}.ProjectModal-category{color:var(--color-secundario);font-size:.8rem;text-transform:uppercase}.ProjectModal-tags{display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 16px}.ProjectModal-tag{background:#0f172a14;border-radius:999px;font-size:.75rem;padding:6px 12px}.ProjectModal-content{color:#334155;line-height:1.7;padding:0 24px}.ProjectModal-content h3{color:#0f172a;margin-top:24px}.ProjectModal-content pre{border-radius:12px;margin:16px 0;overflow:auto}.inline-code{background:#0f172a1a;border-radius:6px;padding:2px 6px}.ProjectModal-cta{background:var(--color-secundario);border-radius:999px;color:#022c22;display:block;font-weight:500;margin:32px 24px 0;padding:14px;text-align:center;text-decoration:none}.ProjectModal-cta:hover{box-shadow:0 10px 25px #22c55e59}.ProjectModal-lightbox{align-items:center;background:#000000e6;display:flex;inset:0;justify-content:center;position:fixed;z-index:1100}.ProjectModal-lightbox img{max-height:90%;max-width:90%}.ProjectModal-lightbox-close{background:none;border:none;color:#fff;cursor:pointer;font-size:1.5rem;position:absolute;right:20px;top:20px}@media (max-width:768px){.ProjectModal-image{height:180px}.ProjectModal-gallery img{height:80px}}.Contact{background:#f1f5f9;overflow:hidden;padding:30px 24px 200px;position:relative;text-align:center}.StyledHr{background:linear-gradient(90deg,#0000,#22c55e99,#0000);border:none;height:3px;margin-bottom:100px;margin-top:0;max-width:720px;opacity:.9;width:100%}.Contact-separator{height:120px;left:0;position:absolute;top:0;width:100%}.Contact-separator svg{display:block;height:100%;width:100%}.Contact-title{color:var(--color-secundario);font-family:var(--font-mono);font-size:clamp(1.7rem,5vw,2.6rem);margin-bottom:24px}.Contact-text{color:#475569;font-size:clamp(.95rem,2vw,1.1rem);line-height:1.7;margin:0 auto 64px;max-width:700px}.Contact-actions{display:flex;flex-wrap:wrap;gap:18px;justify-content:center}.Contact-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff9;border:1px solid #0f172a26;border-radius:999px;color:#0f172a;display:inline-flex;font-size:.9rem;gap:8px;justify-content:center;min-height:48px;padding:14px 26px;text-decoration:none;transition:all .25s ease}.Contact-btn:hover{border-color:var(--color-secundario);color:var(--color-secundario);transform:translateY(-2px)}.Contact-btn.primary{background:var(--color-secundario);border-color:var(--color-secundario);color:#022c22}.Contact-btn.primary:hover{box-shadow:0 10px 25px #22c55e59}.Contact-wave{bottom:0;height:180px;left:0;pointer-events:none;position:absolute;width:100%}.Contact-wave svg{display:block;height:100%;width:100%}@media (max-width:768px){.Contact{padding:24px 20px 140px}.StyledHr{margin-bottom:56px}.Contact-text{line-height:1.6;margin:0 auto 40px}.Contact-actions{gap:12px}.Contact-wave{height:120px}}@media (max-width:480px){.Contact{padding:20px 16px 120px}.StyledHr{margin-bottom:40px}.Contact-title{margin-bottom:18px}.Contact-text{margin-bottom:32px;max-width:420px}.Contact-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:420px}.Contact-btn{font-size:.85rem;padding:13px 16px}.Contact-btn.primary{grid-column:1/-1}.Contact-wave{height:90px}}.Footer{background:#0b0e11;color:#94a3b8;font-size:.85rem;padding:40px 20px;text-align:center}.Footer p{margin-bottom:12px}.Footer-links{display:flex;flex-wrap:wrap;gap:18px;justify-content:center}.Footer-links a{color:#94a3b8;text-decoration:none;transition:color .25s ease}.Footer-links a:hover{color:var(--color-secundario)}.FloatingContact{align-items:center;background:var(--color-secundario);border-radius:50%;bottom:calc(24px + env(safe-area-inset-bottom, 0px));box-shadow:0 10px 25px #22c55e59,0 0 0 4px #4ade802e;color:#022c22;display:flex;font-size:1.2rem;height:56px;justify-content:center;opacity:0;pointer-events:none;position:fixed;right:24px;text-decoration:none;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease,box-shadow .3s ease;width:56px;z-index:999}.FloatingContact.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.FloatingContact:focus-visible,.FloatingContact:hover{box-shadow:0 14px 30px #22c55e73,0 0 0 6px #4ade8038;outline:none;transform:scale(1.06)}@keyframes floatingPulse{0%,to{box-shadow:0 10px 25px #22c55e59,0 0 0 4px #4ade802e}50%{box-shadow:0 10px 25px #22c55e73,0 0 0 8px #4ade801a}}.FloatingContact.visible{animation:floatingPulse 2.6s ease-in-out infinite}@media (max-width:480px){.FloatingContact{bottom:calc(16px + env(safe-area-inset-bottom, 0px));height:52px;right:16px;width:52px}.FloatingContact svg{height:30px;width:30px}}@media (prefers-reduced-motion:reduce){.FloatingContact.visible{animation:none}}
/*# sourceMappingURL=main.4365664a.css.map*/