*{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#6366f1;--color-primary-dark:#4f46e5;--color-secondary:#ec4899;--color-accent:#f59e0b;--color-text-primary:#1f2937;--color-text-secondary:#6b7280;--color-text-light:#9ca3af;--color-bg-primary:#fff;--color-bg-secondary:#f9fafb;--color-bg-tertiary:#f3f4f6;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-xxl:4rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--color-bg-primary);color:#1f2937;color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1200px;padding:0 1.5rem;padding:0 var(--spacing-md)}@media (min-width:768px){.container{padding:0 2rem;padding:0 var(--spacing-lg)}}.app{display:flex;flex-direction:column;min-height:100vh}.app__content{flex:1 1}.app__footer{background-color:var(--color-text-primary);color:var(--color-bg-primary);margin-top:var(--spacing-xxl);padding:var(--spacing-lg) 0;text-align:center}.app__footer p{font-size:var(--font-size-sm)}.header{background-color:var(--color-bg-primary);box-shadow:var(--shadow-sm);position:-webkit-sticky;position:sticky;top:0;z-index:100}.header__nav{justify-content:space-between;padding:var(--spacing-md) 0}.header__logo,.header__nav{align-items:center;display:flex}.header__logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text;color:var(--color-primary);font-size:var(--font-size-2xl);font-weight:700}.header__menu-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:4px;padding:8px}.header__menu-icon{background-color:var(--color-text-primary);height:3px;transition:all .3s ease;width:24px}.header__menu-toggle--active .header__menu-icon:first-child{transform:rotate(45deg) translate(5px,5px)}.header__menu-toggle--active .header__menu-icon:nth-child(2){opacity:0}.header__menu-toggle--active .header__menu-icon:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.header__menu{display:flex;gap:var(--spacing-lg);list-style:none;margin:0}.header__menu-link{color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:500;position:relative;text-decoration:none;transition:color .3s ease}.header__menu-link:after{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.header__menu-link:hover{color:var(--color-primary)}.header__menu-link:hover:after{width:100%}@media (max-width:768px){.header__menu-toggle{display:flex}.header__menu{background-color:var(--color-bg-primary);box-shadow:var(--shadow-md);flex-direction:column;gap:var(--spacing-sm);left:0;max-height:0;overflow:hidden;padding:var(--spacing-md);position:absolute;right:0;top:100%;transition:max-height .3s ease}.header__menu--active{max-height:400px}.header__menu-link:after{display:none}}.hero{background:linear-gradient(135deg,#f5f7fa,#fff);padding:var(--spacing-xxl) 0}.hero__container{grid-gap:var(--spacing-xl);align-items:center;display:grid;gap:var(--spacing-xl);grid-template-columns:1fr 1fr}.hero__content{animation:fadeInUp .8s ease-out}.hero__title{color:var(--color-text-primary);font-size:var(--font-size-4xl);font-weight:700;line-height:1.2;margin-bottom:var(--spacing-md)}.hero__title-highlight{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text}.hero__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-xl);font-weight:500;margin-bottom:var(--spacing-md)}.hero__description{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:1.8;margin-bottom:var(--spacing-lg)}.hero__buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.hero__button{border-radius:var(--radius-lg);display:inline-block;font-size:var(--font-size-base);font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all .3s ease}.hero__button--primary{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff}.hero__button--primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.hero__button--secondary{background-color:initial;border:2px solid var(--color-primary);color:var(--color-primary)}.hero__button--secondary:hover{background-color:var(--color-primary);color:#fff}.hero__image{animation:fadeIn 1s ease-out}.hero__avatar,.hero__image{align-items:center;display:flex;justify-content:center}.hero__avatar{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:50%;box-shadow:var(--shadow-lg);height:400px;position:relative;width:400px}.hero__avatar:before{animation:pulse 2s ease-in-out infinite;border:2px solid var(--color-primary);border-radius:50%;content:"";height:320px;opacity:.3;position:absolute;width:320px}.hero__avatar-emoji{font-size:120px}.hero__avatar-image{border-radius:50%;height:100%;object-fit:cover;object-position:center;width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:.3;transform:scale(1.5)}50%{opacity:.1;transform:scale(1.05)}}@media (max-width:768px){.hero{padding:var(--spacing-xl) 0}.hero__container{gap:var(--spacing-lg);grid-template-columns:1fr}.hero__title{font-size:var(--font-size-3xl)}.hero__subtitle{font-size:var(--font-size-lg)}.hero__description{font-size:var(--font-size-base)}.hero__avatar{height:200px;width:200px}.hero__avatar:before{height:220px;width:220px}.hero__avatar-emoji{font-size:80px}.hero__avatar-image{height:100%;width:100%}.hero__image{order:-1}}.about{background-color:var(--color-bg-secondary);padding:var(--spacing-xxl) 0}.about__title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-xl);text-align:center}.about__content{grid-gap:var(--spacing-xl);align-items:start;display:grid;gap:var(--spacing-xl);grid-template-columns:1fr 1fr}.about__text{display:flex;flex-direction:column;gap:var(--spacing-md)}.about__paragraph{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:1.8}.about__info{display:flex;flex-direction:column;gap:var(--spacing-md)}.about__card{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:all .3s ease}.about__card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.about__card-icon{font-size:2.5rem;margin-bottom:var(--spacing-sm)}.about__card-title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-xs)}.about__card-text{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:1.6}@media (max-width:768px){.about{padding:var(--spacing-xl) 0}.about__title{font-size:var(--font-size-2xl)}.about__content{gap:var(--spacing-lg);grid-template-columns:1fr}.about__paragraph{font-size:var(--font-size-base)}}.skills{background-color:var(--color-bg-primary);padding:var(--spacing-xxl) 0}.skills__title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-sm);text-align:center}.skills__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl);text-align:center}.skills__grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.skill-card{background-color:var(--color-bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:all .3s ease}.skill-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.skill-card__header{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.skill-card__icon{font-size:2rem}.skill-card__title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:600}.skill-card__list{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style:none}.skill-card__item{align-items:center;background-color:var(--color-bg-primary);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:var(--spacing-sm);transition:background-color .3s ease}.skill-card__item:hover{background-color:var(--color-bg-tertiary)}.skill-card__name{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:500}.skill-card__badge{border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;padding:4px 12px}.skill-card__badge--learning{background-color:#fef3c7;color:#92400e}.skill-card__badge--intermediate{background-color:#dbeafe;color:#1e40af}.skill-card__badge--advanced{background-color:#d1fae5;color:#065f46}@media (max-width:768px){.skills{padding:var(--spacing-xl) 0}.skills__title{font-size:var(--font-size-2xl)}.skills__subtitle{font-size:var(--font-size-base)}.skills__grid{grid-template-columns:1fr}}.projects{background-color:var(--color-bg-secondary);padding:var(--spacing-xxl) 0}.projects__title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-sm);text-align:center}.projects__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl);text-align:center}.projects__grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.project-card{background-color:var(--color-bg-primary);border-left:4px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);transition:all .3s ease}.project-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.project-card--orange{border-left-color:#f59e0b}.project-card--blue{border-left-color:#3b82f6}.project-card--purple{border-left-color:#8b5cf6}.project-card--pink{border-left-color:#ec4899}.project-card__header{align-items:flex-start;display:flex;gap:var(--spacing-sm);justify-content:space-between}.project-card__title{color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-xl);font-weight:600}.project-card__status{border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;padding:4px 12px;white-space:nowrap}.project-card__status--completed{background-color:#d1fae5;color:#065f46}.project-card__status--progress{background-color:#fef3c7;color:#92400e}.project-card__description{color:var(--color-text-secondary);flex:1 1;font-size:var(--font-size-base);line-height:1.6}.project-card__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.project-card__tag{background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;padding:4px 12px}@media (max-width:768px){.projects{padding:var(--spacing-xl) 0}.projects__title{font-size:var(--font-size-2xl)}.projects__subtitle{font-size:var(--font-size-base)}.projects__grid{grid-template-columns:1fr}}.experience{background-color:var(--color-bg-primary);padding:var(--spacing-xxl) 0}.experience__title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-sm);text-align:center}.experience__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl);text-align:center}.experience__timeline{margin:0 auto;max-width:800px;padding-left:var(--spacing-lg);position:relative}.experience__timeline:before{background:linear-gradient(180deg,var(--color-primary),var(--color-secondary));bottom:0;content:"";left:0;position:absolute;top:0;width:2px}.experience-card{margin-bottom:var(--spacing-xl);position:relative}.experience-card:last-child{margin-bottom:0}.experience-card__marker{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border:3px solid var(--color-bg-primary);border-radius:50%;box-shadow:var(--shadow-md);height:16px;left:-29px;position:absolute;top:0;width:16px;z-index:1}.experience-card__content{background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:all .3s ease}.experience-card__content:hover{box-shadow:var(--shadow-md);transform:translateX(8px)}.experience-card__header{align-items:flex-start;display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-md);-webkit-user-select:none;user-select:none}.experience-card__header:hover .experience-card__title{color:var(--color-primary)}.experience-card__title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-xs);transition:color .3s ease}.experience-card__toggle{color:var(--color-primary);font-size:var(--font-size-sm);margin-left:var(--spacing-xs)}.experience-card__company{color:var(--color-primary);font-size:var(--font-size-base);font-weight:500}.experience-card__meta{align-items:flex-end;display:flex;flex-direction:column;gap:var(--spacing-xs)}.experience-card__period{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500}.experience-card__type{border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;padding:4px 12px;white-space:nowrap}.experience-card__type--freelance{background-color:#dbeafe;color:#1e40af}.experience-card__type--educación{background-color:#fef3c7;color:#92400e}.experience-card__type--remoto{background-color:#dbeafe;color:#1e40af}.experience-card__details{animation:slideDown .3s ease-out;border-top:1px solid #0000001a;margin-top:var(--spacing-md);padding-top:var(--spacing-md)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.experience-card__location{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;margin-bottom:var(--spacing-sm)}.experience-card__description{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:1.6;margin-bottom:var(--spacing-md)}.experience-card__achievements{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none}.experience-card__achievement{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding-left:var(--spacing-md);position:relative}.experience-card__achievement:before{color:var(--color-primary);content:"✓";font-weight:700;left:0;position:absolute}@media (max-width:768px){.experience{padding:var(--spacing-xl) 0}.experience__title{font-size:var(--font-size-2xl)}.experience__subtitle{font-size:var(--font-size-base)}.experience__timeline{padding-left:var(--spacing-md)}.experience-card__marker{left:-21px}.experience-card__header{flex-direction:column;gap:var(--spacing-sm)}.experience-card__meta{align-items:flex-start}}.education{background-color:var(--color-bg-secondary);padding:var(--spacing-xxl) 0}.education__title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-sm);text-align:center}.education__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl);text-align:center}.education__grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1000px}.education-card{align-items:center;background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;padding:var(--spacing-lg);position:relative;text-align:center;transition:all .3s ease}.education-card:before{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));content:"";height:4px;left:0;position:absolute;right:0;top:0}.education-card:hover{box-shadow:var(--shadow-md);transform:translateY(-8px)}.education-card__icon{animation:float 3s ease-in-out infinite;font-size:48px;margin-bottom:var(--spacing-md)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.education-card__content{width:100%}.education-card__degree{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:600;line-height:1.4;margin-bottom:var(--spacing-xs)}.education-card__institution{color:var(--color-primary);font-size:var(--font-size-base);font-weight:500;margin-bottom:var(--spacing-xs)}.education-card__period{color:var(--color-text-secondary)}.education-card__period,.education-card__type{font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.education-card__type{background-color:#e0e7ff;border-radius:var(--radius-sm);color:#4338ca;display:inline-block;font-weight:600;padding:4px 12px}.education-card__description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6;margin-top:var(--spacing-sm)}@media (max-width:768px){.education{padding:var(--spacing-xl) 0}.education__title{font-size:var(--font-size-2xl)}.education__subtitle{font-size:var(--font-size-base)}.education__grid{gap:var(--spacing-md);grid-template-columns:1fr}.education-card__icon{font-size:40px}.education-card__degree{font-size:var(--font-size-base)}}.contact{background-color:var(--color-bg-secondary);padding:var(--spacing-xxl) 0}.contact__title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-sm);text-align:center}.contact__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl);text-align:center}.contact__content{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:1fr 1.5fr;margin:0 auto;max-width:1000px}.contact__info{display:flex;flex-direction:column;gap:var(--spacing-md)}.contact-card{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-md);transition:all .3s ease}.contact-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.contact-card__icon{font-size:2rem;margin-bottom:var(--spacing-xs)}.contact-card__title{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:600;margin-bottom:var(--spacing-xs)}.contact-card__text{color:var(--color-text-secondary);font-size:var(--font-size-sm);word-break:break-word}.contact__social{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-md)}.contact__social-title{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:600;margin-bottom:var(--spacing-sm)}.contact__social-list{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none}.contact__social-item{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.contact__form{background-color:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.contact__form-group{margin-bottom:var(--spacing-md)}.contact__form-label{color:var(--color-text-primary);display:block;font-size:var(--font-size-base);font-weight:500;margin-bottom:var(--spacing-xs)}.contact__form-input,.contact__form-textarea{background-color:var(--color-bg-secondary);border:2px solid var(--color-bg-tertiary);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-sm);transition:all .3s ease;width:100%}.contact__form-input:focus,.contact__form-textarea:focus{background-color:var(--color-bg-primary);border-color:var(--color-primary);outline:none}.contact__form-textarea{min-height:auto;resize:vertical}.contact__form-button{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-size:var(--font-size-base);font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:all .3s ease;width:100%}.contact__form-button:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.contact__form-button:active{transform:translateY(0)}@media (max-width:768px){.contact{padding:var(--spacing-xl) 0}.contact__title{font-size:var(--font-size-2xl)}.contact__subtitle{font-size:var(--font-size-base)}.contact__content{gap:var(--spacing-lg);grid-template-columns:1fr}}
/*# sourceMappingURL=main.1a736fe4.css.map*/