:root{--primary-color:#1ca59a;--dark-color:#19191a;--light-bg:#fff;--off-white:#fcfcfc;--gray-text:#64748b;--gray-border:#eaeaea;--accent-yellow:#f4c446;--accent-purple:#8b5cf6;--secondary-blue:#2f6bd3;--font-family-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-family-mono:"Courier New",monospace;--font-family-code:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace;--font-sm:0.875rem;--font-base:1rem;--font-lg:1.125rem;--font-xl:1.5rem;--font-2xl:1.75rem;--font-3xl:2.5rem;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:5rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:100%;--shadow-sm:0 2px 6px #0000001a;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--transition:all 0.3s ease;--transition-fast:all 0.2s ease}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--light-bg);color:#19191a;color:var(--dark-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family-sans);margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-family:var(--font-family-code)}*{box-sizing:border-box;margin:0;padding:0}.App-header{align-items:center;background-color:var(--light-bg);box-shadow:0 2px 4px #00000005;display:flex;flex-wrap:wrap;gap:var(--space-xl);justify-content:space-between;padding:var(--space-xl) var(--space-4xl)}@media (max-width:1024px){.App-header{padding:var(--space-lg) var(--space-2xl)}}@media (max-width:768px){.App-header{gap:var(--space-lg);justify-content:center;padding:var(--space-lg) var(--space-lg)}}@media (max-width:640px){.App-header{align-items:center;flex-direction:column;gap:var(--space-md);padding:var(--space-md) var(--space-lg)}}.card-info{background-color:var(--light-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md),0 0 0 1px var(--gray-border);padding:0;transition:var(--transition)}.card-info:hover{box-shadow:var(--shadow-lg),0 0 0 1px var(--gray-border);transform:translateY(-2px) rotate(2deg)}@media (max-width:1024px){.card-info{width:30%}}@media (max-width:768px){.card-info{margin-bottom:var(--space-xl);width:48%}}@media (max-width:640px){.card-info{margin-bottom:var(--space-2xl);rotate:0;width:100%}.card-info:hover{rotate:0}}.header-card{align-items:center;border-bottom:1px solid var(--gray-border);gap:var(--space-md);padding:var(--space-lg) var(--space-xl) var(--space-sm) var(--space-xl)}.items-balls{display:flex;flex-shrink:0;font-size:var(--font-xl);gap:var(--space-sm)}.item-def-1{margin-left:var(--space-xl);margin-top:var(--space-md);padding:var(--space-md) 0}.subitem-def-1{color:var(--gray-text);font-size:var(--font-sm);line-height:1.5;margin-bottom:var(--space-xs);margin-left:var(--space-2xl)}.item-class{color:var(--dark-color);font-size:var(--font-base);line-height:1.6;margin-left:var(--space-md);padding:var(--space-md) 0}.box-title-section{margin:var(--space-2xl) 0;padding:var(--space-2xl) var(--space-lg);text-align:center}.back-legend{pointer-events:none}.front-legend{background-image:linear-gradient(135deg,var(--primary-color),var(--secondary-blue),#4facfe)}.front-legend,.front-legend2{font-size:clamp(1.5rem,4vw,2rem);margin:0}p{color:var(--dark-color);line-height:1.6;margin-bottom:var(--space-lg)}.icon-stack{object-fit:contain}.item-tech{font-size:var(--font-lg);gap:var(--space-md);margin-bottom:var(--space-md);transition:var(--transition-fast)}.item-tech:hover{transform:translateX(4px)}.cards-tech{gap:var(--space-xl);margin:0 auto;margin-bottom:var(--space-2xl);padding:0 var(--space-lg);width:min(90%,1200px)}.card-tech{background-color:var(--light-bg);border:1px solid var(--gray-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:300px;padding:var(--space-xl);transition:var(--transition)}.card-tech:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-8px)}.card-tech:focus-within{outline:2px solid var(--primary-color);outline-offset:2px}.card-tech h3{color:var(--dark-color);font-size:var(--font-lg);letter-spacing:.3px;margin-bottom:var(--space-xl)}@media (max-width:768px){.box-title-section{margin:var(--space-xl) 0;padding:var(--space-xl) var(--space-md)}.back-legend{font-size:clamp(2rem,5vw,3rem)}.cards-tech{gap:var(--space-lg);margin-bottom:var(--space-xl)}.card-tech{max-width:250px;min-width:180px;padding:var(--space-lg)}.card-tech h3{font-size:var(--font-base);margin-bottom:var(--space-lg)}}@media (max-width:640px){.cards-tech{gap:var(--space-md);padding:0 var(--space-md)}.card-tech{flex-basis:calc(50% - var(--space-md));max-width:100%;min-width:160px;padding:var(--space-md)}.item-tech{font-size:var(--font-base);gap:var(--space-sm);margin-bottom:var(--space-sm)}.icon-stack{height:18px;width:18px}}@media (max-width:480px){.card-tech{flex-basis:100%;max-width:100%;min-width:auto}.card-tech h3,.item-tech{font-size:var(--font-sm)}}.card-info{background-color:#fff;border-radius:10px;box-shadow:0 6px 24px 0 #0000000d,0 0 0 1px #00000014;rotate:2deg;width:25%}@media (max-width:480px){.card-info{height:300px;margin-bottom:40px;width:100%}.item-class{margin-left:10px}}.item-def-1{margin-left:2rem}.subitem-def-1{margin-bottom:2px;margin-left:3rem}.item-class{margin-left:1rem}.header-card{display:flex;justify-content:space-between;padding:1rem 2rem .5rem}.items-balls{font-size:1.5rem}.box-title-section{align-items:center;display:flex;justify-content:center;position:relative}.back-legend{color:#0000000d;font-size:clamp(3rem,6vw,5rem);font-weight:900;letter-spacing:5px;position:absolute}.front-legend{-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(135deg,#1ca59a,#2f6bd3,#4facfe);color:#0000;font-size:2rem;font-weight:900;z-index:1}p{margin-bottom:20px}.front-legend2{-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(135deg,#ffb75e,#ed8f03);color:#0000;font-size:2rem;font-weight:900;z-index:1}.icon-stack{height:20px;width:20px}.item-tech{align-items:center;display:flex;font-size:1.1rem;gap:12px;margin-bottom:12px}.cards-tech{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:32px;margin-left:5%;width:90%}.card-tech{background-color:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 30px #0000000a;flex:1 1;min-width:200px;padding:20px;transition:transform .3s ease,box-shadow .3s ease}.card-tech:hover{border-color:#d1d5db;box-shadow:0 15px 35px #00000014;transform:translateY(-5px)}.card-tech h3{color:#1f2937;font-size:1.3rem;font-weight:700;margin-bottom:24px;margin-top:0}.banner{align-items:center;background:linear-gradient(135deg,var(--primary-color),var(--secondary-blue),#4facfe);display:flex;gap:var(--space-2xl);justify-content:space-between;min-height:500px;overflow:hidden;padding:var(--space-2xl) var(--space-4xl);position:relative;width:100%}.banner:before{background:radial-gradient(circle,#ffffff26,#0000 70%);content:"";height:600px;left:-200px;pointer-events:none;position:absolute;top:-200px;width:600px;z-index:0}.card-banner{color:var(--light-bg);display:flex;flex-direction:column;gap:var(--space-lg);max-width:550px;z-index:10}.badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#ffffff26;border:1px solid #fff3;border-radius:var(--radius-md);display:inline-block;font-size:var(--font-sm);font-weight:500;opacity:.9;padding:var(--space-sm) var(--space-md);width:fit-content}.card-banner h1{font-size:clamp(2rem,5vw,2.5rem);font-weight:800;letter-spacing:-1px;line-height:1.2;margin:0}.card-banner p{font-size:clamp(1rem,2vw,1.1rem);line-height:1.6;margin:0;max-width:100%;opacity:.95}.actions{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-lg)}.btn-outline,.btn-primary{align-items:center;border:2px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-base);font-weight:600;gap:var(--space-sm);justify-content:center;min-height:44px;padding:12px 24px;text-decoration:none;transition:var(--transition);white-space:nowrap}.btn-primary{background:var(--light-bg);box-shadow:0 4px 15px #0003;color:var(--secondary-blue)}.btn-primary:focus-visible,.btn-primary:hover{background:#f0f9fb;box-shadow:0 6px 20px #00000040;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-outline{background:#0000;border-color:var(--light-bg);color:var(--light-bg)}.btn-outline:focus-visible,.btn-outline:hover{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;transform:translateY(-2px)}.btn-outline:active{transform:translateY(0)}.wave-container{bottom:0;height:100px;left:0;pointer-events:none;position:absolute;width:100%;z-index:1}.waves{display:block;height:100%;width:100%}.parallax>use{animation:move-forever 25s cubic-bezier(.55,.5,.45,.5) infinite;opacity:.8}.parallax>use:first-child{animation-delay:-2s;animation-duration:7s;opacity:1}.parallax>use:nth-child(2){animation-delay:-3s;animation-duration:10s}.parallax>use:nth-child(3){animation-delay:-4s;animation-duration:13s}.parallax>use:nth-child(4){animation-delay:-5s;animation-duration:20s;opacity:.6}@media (max-width:1024px){.banner{gap:var(--space-xl);min-height:450px;padding:var(--space-2xl) var(--space-2xl)}.card-banner{max-width:100%}.banner:before{height:400px;left:-150px;top:-150px;width:400px}}@media (max-width:768px){.banner{align-items:center;flex-direction:column-reverse;gap:var(--space-xl);min-height:auto;padding:var(--space-xl) var(--space-lg);text-align:center}.card-banner{max-width:100%}.card-banner h1{font-size:clamp(1.5rem,4vw,2rem)}.card-banner p{font-size:clamp(.9rem,2vw,1rem)}.actions{justify-content:center;margin-top:var(--space-md)}.btn-outline,.btn-primary{font-size:var(--font-sm);min-height:40px;padding:10px 20px}.banner:before{height:300px;left:-100px;top:-100px;width:300px}.wave-container{height:60px}}@media (max-width:640px){.banner{gap:var(--space-lg);min-height:auto;padding:var(--space-xl) var(--space-md)}.badge{font-size:var(--font-sm);padding:var(--space-sm) var(--space-md)}.card-banner h1{font-size:clamp(1.25rem,3vw,1.75rem)}.card-banner p{font-size:var(--font-sm)}.actions{flex-direction:column;width:100%}.btn-outline,.btn-primary{font-size:var(--font-sm);padding:12px 16px;width:100%}.banner:before{height:200px;left:-50px;top:-50px;width:200px}.wave-container{height:40px}}@media (max-width:480px){.banner{gap:var(--space-md);padding:var(--space-lg) var(--space-md)}.card-banner h1{font-size:clamp(1rem,2.5vw,1.5rem)}.card-banner p{font-size:var(--font-sm);opacity:.9}.badge{font-size:.75rem;padding:8px 12px}.btn-outline,.btn-primary{font-size:.875rem;padding:10px 16px}.wave-container{height:30px}.banner:before{opacity:.5}}.btn-outline:focus-visible,.btn-primary:focus-visible{outline:3px solid #ffffff80;outline-offset:2px}@keyframes move-forever{0%{transform:translate3d(-90px,0,0)}to{transform:translate3d(85px,0,0)}}@media (max-width:900px){.banner{flex-direction:column;padding:2rem;text-align:center}}.merry{animation:float 4s ease-in-out infinite;bottom:65px;filter:drop-shadow(0 8px 6px rgba(0,0,0,.2));image-rendering:pixelated;position:absolute;right:5%;width:110px;z-index:5}.merry:after{background:#0003;border-radius:50%;bottom:-5px;content:"";filter:blur(4px);height:10px;left:20%;position:absolute;width:60%}@keyframes float{0%{transform:translateY(0) translateX(0)}50%{transform:translateY(-10px) translateX(5px)}to{transform:translateY(0) translateX(0)}}.badge{background:#ffffff1a;border-radius:20px;padding:6px 12px}.experience-section{background-color:var(--light-bg);padding:var(--space-3xl) var(--space-lg);position:relative}.experience-container{margin:0 auto;max-width:1100px;padding:0 var(--space-lg)}.experience-grid{grid-gap:var(--space-3xl);display:grid;gap:var(--space-3xl);grid-template-columns:1fr 1fr}.timeline-header{align-items:center;display:flex;gap:12px;margin-bottom:var(--space-2xl);position:relative}.timeline-title{color:var(--dark-color);font-size:clamp(1.25rem,3vw,1.5rem);font-weight:800;letter-spacing:-.5px;margin:0}.icon-primary{color:var(--primary-color)}.icon-primary,.icon-secondary{display:flex;flex-shrink:0;font-size:var(--font-2xl)}.icon-secondary{color:var(--accent-yellow)}.timeline{border-left:3px solid var(--gray-border);display:flex;flex-direction:column;gap:var(--space-2xl);margin-left:16px;padding-left:var(--space-xl);position:relative;transition:border-color var(--transition)}.timeline:hover{border-left-color:var(--primary-color)}.timeline-item{animation:fadeInUp .6s ease-out forwards;opacity:0;position:relative}.timeline-item:first-child{animation-delay:.1s}.timeline-item:nth-child(2){animation-delay:.2s}.timeline-item:nth-child(3){animation-delay:.3s}.timeline-item:nth-child(4){animation-delay:.4s}.timeline-item:nth-child(5){animation-delay:.5s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.timeline-dot{border:3px solid var(--light-bg);border-radius:var(--radius-full);box-shadow:0 0 0 4px var(--light-bg);height:18px;left:-41px;position:absolute;top:8px;transition:var(--transition);width:18px}.timeline-item:hover .timeline-dot{box-shadow:0 0 0 4px var(--light-bg),0 0 12px #1ca59a66;transform:scale(1.3)}.dot-primary{background-color:var(--primary-color)}.dot-secondary{background-color:var(--accent-yellow)}.dot-gray{background-color:var(--gray-border)}.timeline-date{display:inline-block;font-family:var(--font-family-mono);font-size:var(--font-sm);font-weight:700;letter-spacing:.5px;margin-bottom:var(--space-xs);text-transform:uppercase}.date-primary{color:var(--primary-color)}.date-secondary{color:var(--accent-yellow)}.date-gray{color:var(--gray-text)}.timeline-role{color:var(--dark-color);font-size:clamp(1rem,2vw,1.125rem);font-weight:700;letter-spacing:-.3px;margin-bottom:var(--space-xs);margin-top:var(--space-sm)}.timeline-company{color:var(--gray-text);font-size:.95rem;font-weight:600;margin-bottom:var(--space-lg)}.timeline-description{color:var(--gray-text);font-size:.95rem;line-height:1.7;margin-top:var(--space-md)}@media (max-width:1024px){.experience-section{padding:var(--space-2xl) var(--space-lg)}.experience-grid{gap:var(--space-2xl)}.timeline{margin-left:12px;padding-left:var(--space-lg)}.timeline-dot{height:16px;left:-38px;width:16px}.timeline-role{font-size:1rem}}@media (max-width:768px){.experience-section{padding:var(--space-2xl) var(--space-md)}.experience-grid{gap:var(--space-2xl);grid-template-columns:1fr}.timeline-header{margin-bottom:var(--space-xl)}.timeline-title{font-size:1.25rem}.timeline{margin-left:10px;padding-left:var(--space-lg)}.timeline-dot{height:14px;left:-36px;width:14px}.timeline-role{font-size:.95rem}.timeline-company{font-size:.9rem}.timeline-date{font-size:.8rem}}@media (max-width:640px){.experience-section{padding:var(--space-xl) var(--space-md)}.experience-container{padding:0 var(--space-sm)}.timeline-header{gap:8px;margin-bottom:var(--space-lg)}.timeline-title{font-size:1.1rem}.icon-primary,.icon-secondary{font-size:var(--font-xl)}.timeline{border-left-width:2px;gap:var(--space-xl);margin-left:8px;padding-left:var(--space-lg)}.timeline-dot{box-shadow:0 0 0 3px var(--light-bg);height:12px;left:-32px;width:12px}.timeline-item:hover .timeline-dot{transform:scale(1.2)}.timeline-role{font-size:.9rem}.timeline-company{font-size:.85rem;margin-bottom:var(--space-md)}.timeline-description{font-size:.9rem}}@media (max-width:480px){.experience-section{padding:var(--space-lg) var(--space-md)}.timeline-header{gap:6px}.timeline-title{font-size:1rem}.icon-primary,.icon-secondary{font-size:var(--font-lg)}.timeline{border-left-width:2px;margin-left:6px;padding-left:var(--space-lg)}.timeline-dot{left:-30px;top:6px}.timeline-date{font-size:.75rem}.timeline-role{font-size:.85rem}.timeline-company{font-size:.8rem}.timeline-description{font-size:.85rem;margin-top:var(--space-sm)}}@media (prefers-reduced-motion:reduce){.timeline-item{animation:none;opacity:1}.timeline,.timeline-item:hover .timeline-dot{transition:none}}.timeline-desc{color:#4a4a4a;font-size:.95rem;line-height:1.6}@media (max-width:900px){.experience-grid{gap:3rem;grid-template-columns:1fr}.experience-section{padding:3rem 1.5rem}}.footer-section{background-color:var(--off-white);border-top:1px solid var(--gray-border);margin-top:var(--space-3xl);padding-bottom:var(--space-2xl);padding-top:var(--space-3xl);position:relative}.footer-container{margin:0 auto;max-width:1200px;padding:0 var(--space-lg)}.footer-cta{align-items:center;border-bottom:1px solid var(--gray-border);display:flex;gap:var(--space-2xl);justify-content:space-between;padding-bottom:var(--space-3xl)}.cta-text h2{color:var(--dark-color);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:800;letter-spacing:-.5px;margin-bottom:var(--space-md);margin-top:0}.cta-text p{color:var(--gray-text);font-size:var(--font-base);line-height:1.6;margin:0;max-width:400px}.cta-buttons{display:flex;flex-shrink:0;flex-wrap:wrap;gap:var(--space-lg)}.btn-email,.btn-linkedin{align-items:center;border:2px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-base);font-weight:600;gap:var(--space-sm);justify-content:center;min-height:44px;padding:12px 24px;text-decoration:none;transition:var(--transition);white-space:nowrap}.btn-email{background-color:var(--primary-color);box-shadow:0 4px 12px #1ca59a40;color:var(--light-bg)}.btn-email:hover{background-color:#158578;box-shadow:0 6px 16px #1ca59a59;transform:translateY(-2px)}.btn-email:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-email:active{transform:translateY(0)}.btn-linkedin{background-color:initial;border:2px solid var(--gray-border);color:var(--gray-text)}.btn-linkedin:hover{background-color:var(--off-white);border-color:var(--dark-color);color:var(--dark-color);transform:translateY(-2px)}.btn-linkedin:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-linkedin:active{transform:translateY(0)}.footer-bottom{border-top:1px solid var(--gray-border);color:var(--gray-text);font-size:var(--font-sm);gap:var(--space-lg);justify-content:space-between;padding-top:var(--space-2xl)}.footer-bottom,.footer-logo{align-items:center;display:flex}.footer-logo{cursor:pointer;font-family:var(--font-family-mono);font-size:1.1rem;font-weight:600;gap:5px;text-decoration:none;transition:var(--transition-fast);white-space:nowrap}.footer-logo:hover{transform:translateY(-2px)}.footer-logo:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--primary-color);outline-offset:2px}.logo-item1,.logo-item2,.logo-item3,.logo-item4{transition:var(--transition-fast)}.footer-logo:hover .logo-item1{transform:translateY(-2px)}.footer-logo:hover .logo-item2{color:var(--primary-color)}.footer-logo:hover .logo-item4{transform:scale(1.2)}.footer-copyright{flex-grow:1;text-align:right}.footer-year{color:var(--dark-color);font-weight:600}@media (max-width:1024px){.footer-section{padding-bottom:var(--space-xl);padding-top:var(--space-2xl)}.footer-cta{gap:var(--space-xl);padding-bottom:var(--space-2xl)}.cta-text p{max-width:300px}.cta-buttons{gap:var(--space-md)}}@media (max-width:768px){.footer-section{padding-bottom:var(--space-lg);padding-top:var(--space-2xl)}.footer-container{padding:0 var(--space-md)}.footer-cta{align-items:flex-start;flex-direction:column;gap:var(--space-lg);padding-bottom:var(--space-xl)}.cta-text h2{font-size:1.4rem}.cta-text p{font-size:.95rem;max-width:100%}.cta-buttons{flex-direction:column;width:100%}.btn-email,.btn-linkedin{width:100%}.footer-bottom{align-items:center;flex-direction:column;gap:var(--space-md);justify-content:center;padding-top:var(--space-lg);text-align:center}.footer-copyright{flex-grow:1;text-align:center}}@media (max-width:640px){.footer-section{padding-bottom:var(--space-lg);padding-top:var(--space-xl)}.cta-text h2{font-size:1.25rem}.cta-text p{font-size:.9rem}.btn-email,.btn-linkedin{font-size:.95rem;min-height:40px;padding:10px 20px}.footer-bottom{gap:var(--space-sm);padding-top:var(--space-md)}.footer-logo{font-size:1rem;gap:3px}.footer-copyright{font-size:.8rem}}@media (max-width:480px){.footer-section{margin-top:var(--space-2xl);padding-bottom:var(--space-md);padding-top:var(--space-lg)}.footer-container{padding:0 var(--space-md)}.cta-text h2{font-size:1.1rem}.cta-text p{font-size:.85rem}.btn-email,.btn-linkedin{font-size:.85rem;padding:10px 16px}.footer-bottom{gap:var(--space-xs);padding-top:var(--space-md)}.footer-logo{font-size:.9rem;gap:2px}.footer-copyright{font-size:.75rem}.footer-year{display:block}}@media (prefers-reduced-motion:reduce){.btn-email,.btn-linkedin,.footer-logo,.footer-logo:hover .logo-item1,.footer-logo:hover .logo-item4{transform:none;transition:none}}.footer-copy{color:#888;font-size:.875rem;text-align:right}.footer-copy p{margin:.25rem 0}.made-with{font-size:.8rem}.heart{color:#ef4444}@media (max-width:768px){.footer-cta{flex-direction:column;text-align:center}.cta-buttons{flex-wrap:wrap;justify-content:center;width:100%}.footer-bottom{flex-direction:column;text-align:center}.footer-copy{margin-top:1rem;text-align:center}}.container-logo{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-family:var(--font-family-mono);font-size:1.2rem;font-weight:600;gap:5px;justify-content:center;padding:var(--space-sm);transition:var(--transition);-webkit-user-select:none;user-select:none;white-space:nowrap}.container-logo:hover{background-color:#1ca59a0d}.container-logo:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.logo-item1,.logo-item3{color:var(--primary-color);font-weight:700}.logo-item2{color:var(--dark-color);font-weight:700}.logo-item4{color:var(--accent-yellow);font-weight:700}.container-logo span{display:inline-block;letter-spacing:.5px;transition:var(--transition-fast)}.container-logo:hover .logo-item1{transform:translateY(-3px)}.container-logo:hover .logo-item2{color:var(--primary-color);transform:skewX(-5deg)}.container-logo:hover .logo-item3{transform:rotate(-10deg)}.container-logo:hover .logo-item4{animation:bounce .6s ease-in-out;transform:scale(1.25) rotate(8deg)}@keyframes bounce{0%,to{transform:scale(1.25) rotate(8deg) translateY(0)}50%{transform:scale(1.25) rotate(8deg) translateY(-6px)}}@media (max-width:1024px){.container-logo{font-size:1.1rem;gap:4px;padding:var(--space-xs)}}@media (max-width:768px){.container-logo{font-size:1rem;gap:3px;padding:var(--space-xs)}}@media (max-width:640px){.container-logo{font-size:.95rem;gap:2px;padding:var(--space-xs)}}@media (max-width:480px){.container-logo{font-size:.9rem;gap:2px;padding:var(--space-xs)}.container-logo span{letter-spacing:.2px}.container-logo:hover .logo-item1{transform:translateY(-2px)}.container-logo:hover .logo-item4{transform:scale(1.2) rotate(8deg)}}@media (prefers-reduced-motion:reduce){.container-logo,.container-logo span,.container-logo:hover .logo-item1,.container-logo:hover .logo-item2,.container-logo:hover .logo-item3,.container-logo:hover .logo-item4{animation:none;transform:none;transition:none}.container-logo:hover .logo-item2{color:var(--primary-color)}}@media print{.container-logo{cursor:default}.container-logo:hover{background-color:initial}}.container-menu{gap:var(--space-lg);justify-content:space-between}.container-menu,.itens-menu{align-items:center;display:flex;flex:1 1}.itens-menu{gap:clamp(1.5rem,5vw,2.5rem);justify-content:center;list-style:none}.itens-menu a,.itens-menu li{position:relative}.itens-menu a{color:var(--dark-color);display:inline-block;font-size:var(--font-base);font-weight:500;padding:var(--space-sm) 0;text-decoration:none;transition:var(--transition-fast)}.itens-menu a:after{background:var(--primary-color);bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .3s cubic-bezier(.34,1.56,.64,1);width:0}.itens-menu a:hover{color:var(--primary-color)}.itens-menu a:hover:after{width:100%}.itens-menu a:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--primary-color);outline-offset:4px}.itens-menu button{align-items:center;background:var(--primary-color);border:2px solid #0000;border-radius:var(--radius-md);color:var(--light-bg);cursor:pointer;display:flex;font-size:var(--font-base);font-weight:600;gap:var(--space-sm);justify-content:center;min-height:44px;min-width:44px;padding:10px 20px;transition:var(--transition-fast);white-space:nowrap}.itens-menu button:hover{background:#158578;box-shadow:0 4px 12px #1ca59a4d;transform:translateY(-2px)}.itens-menu button:focus-visible{outline:2px solid var(--dark-color);outline-offset:2px}.itens-menu button:active{box-shadow:0 2px 6px #1ca59a33;transform:translateY(0)}.itens-language{align-items:center;border-left:1px solid var(--gray-border);display:flex;gap:var(--space-sm);list-style:none;margin-left:auto;padding-left:var(--space-lg)}.itens-language button{align-items:center;background:#0000;border:2px solid #0000;border-radius:var(--radius-full);cursor:pointer;display:flex;height:44px;justify-content:center;min-height:44px;min-width:44px;padding:0;transition:var(--transition-fast);width:44px}.itens-language button:hover{background:var(--off-white);transform:scale(1.05)}.itens-language button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.image-bandeira{border-radius:var(--radius-full);cursor:pointer;height:28px;object-fit:cover;transition:var(--transition-fast);width:28px}.image-bandeira:hover{box-shadow:var(--shadow-sm);transform:scale(1.15)}@media (max-width:1024px){.container-menu{gap:var(--space-md)}.itens-menu{gap:1.5rem}.itens-menu a{font-size:.95rem}.itens-menu button{padding:8px 16px}}@media (max-width:768px){.itens-menu{font-size:.9rem;gap:1.2rem}.itens-menu a{font-size:.9rem;padding:var(--space-xs) 0}.itens-menu li:nth-child(5){display:none}.itens-language{margin-left:var(--space-md);padding-left:var(--space-md)}.itens-language button{height:40px;min-height:40px;min-width:40px;width:40px}.image-bandeira{height:24px;width:24px}.itens-menu button{font-size:.9rem;padding:8px 14px}}@media (max-width:640px){.container-menu{flex-direction:column;gap:var(--space-md);width:100%}.itens-menu{flex-wrap:wrap;gap:1rem;justify-content:center;width:100%}.itens-menu a{font-size:.85rem}.itens-menu li:nth-child(4),.itens-menu li:nth-child(5){display:none}.itens-language{border-left:none;gap:var(--space-sm);justify-content:center;margin-left:0;padding-left:0;width:100%}.itens-menu button{font-size:.85rem;min-width:40px;padding:8px 12px}.image-bandeira{height:22px;width:22px}}@media (max-width:480px){.itens-menu{gap:.8rem}.itens-menu a{font-size:.75rem}.itens-menu li:nth-child(3),.itens-menu li:nth-child(4),.itens-menu li:nth-child(5){display:none}.itens-menu button{font-size:.75rem;min-height:36px;min-width:36px;padding:6px 10px}.image-bandeira{height:20px;width:20px}.itens-language button{height:36px;min-height:36px;min-width:36px;width:36px}}@media (prefers-reduced-motion:reduce){.image-bandeira,.itens-language button,.itens-menu a,.itens-menu a:after,.itens-menu button{transition:none}.image-bandeira:hover,.itens-menu button:hover{transform:none}}.projects-section{background-color:var(--light-bg);padding:var(--space-3xl) var(--space-lg);position:relative}.projects-container{margin:0 auto;max-width:1200px;padding:0 var(--space-lg)}.projects-header{margin-bottom:var(--space-3xl);text-align:center}.projects-subtitle{color:var(--primary-color);display:block;font-family:var(--font-family-mono);font-size:var(--font-sm);font-weight:700;letter-spacing:.15em;margin-bottom:var(--space-md);text-transform:uppercase}.projects-title{color:var(--dark-color);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:800;letter-spacing:-1px;margin-bottom:var(--space-lg);margin-top:0}.projects-desc{color:var(--gray-text);font-size:clamp(.95rem,2vw,1rem);line-height:1.7;margin:0 auto;max-width:600px}.projects-grid{grid-gap:var(--space-2xl);animation:fadeIn .6s ease-out;display:grid;gap:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.project-card{background-color:var(--off-white);border:1px solid var(--gray-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:var(--transition)}.project-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-8px)}.project-card:focus-within{box-shadow:var(--shadow-lg),0 0 0 2px var(--primary-color)}.card-top-bar{height:6px;transition:height var(--transition-fast);width:100%}.project-card:hover .card-top-bar{height:8px}.bar-teal{background:linear-gradient(to right,var(--primary-color),#4facfe)}.bar-purple{background:linear-gradient(to right,var(--accent-purple),#ec4899)}.bar-yellow{background:linear-gradient(to right,var(--accent-yellow),#f97316)}.card-content{display:flex;flex-direction:column;flex-grow:1;gap:var(--space-lg);padding:var(--space-xl)}.card-icons{align-items:flex-start;display:flex;gap:var(--space-md);justify-content:space-between}.icon-box{align-items:center;border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:var(--font-2xl);justify-content:center;min-height:48px;min-width:48px;padding:var(--space-lg);transition:var(--transition-fast)}.teal-box{background-color:#1ca59a1a;color:var(--primary-color)}.project-card:hover .teal-box{background-color:#1ca59a33}.purple-box{background-color:#8b5cf61a;color:var(--accent-purple)}.project-card:hover .purple-box{background-color:#8b5cf633}.yellow-box{background-color:#f4c4461a;color:var(--accent-yellow)}.project-card:hover .yellow-box{background-color:#f4c44633}.project-title{color:var(--dark-color);font-size:clamp(1rem,2vw,1.25rem);font-weight:700;letter-spacing:-.3px;margin:0}.project-description{color:var(--gray-text);flex-grow:1;font-size:.95rem;line-height:1.6;margin:0}.tech-tags{gap:var(--space-sm);margin-top:auto}.tech-tag{background-color:#1ca59a14;border:1px solid #1ca59a33;border-radius:var(--radius-md);color:var(--primary-color);display:inline-block;font-size:.8rem;font-weight:600;padding:6px 12px;transition:var(--transition-fast);white-space:nowrap}.tech-tag:hover{background-color:#1ca59a26;border-color:var(--primary-color);transform:scale(1.05)}.github-link{align-items:center;border-radius:var(--radius-md);color:var(--gray-text);display:inline-flex;font-size:var(--font-2xl);justify-content:center;min-height:44px;min-width:44px;transition:var(--transition-fast)}.github-link:hover{background-color:#0000000d;color:var(--dark-color);transform:translateY(-2px)}.github-link:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width:1024px){.projects-section{padding:var(--space-2xl) var(--space-lg)}.projects-header{margin-bottom:var(--space-2xl)}.projects-grid{gap:var(--space-xl)}.projects-title{font-size:2rem}}@media (max-width:768px){.projects-section{padding:var(--space-2xl) var(--space-md)}.projects-container{padding:0 var(--space-md)}.projects-header{margin-bottom:var(--space-2xl)}.projects-title{font-size:1.5rem}.projects-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card-content{gap:var(--space-md);padding:var(--space-lg)}.project-title{font-size:1.1rem}.project-description{font-size:.9rem}.icon-box{min-height:44px;min-width:44px;padding:var(--space-md)}}@media (max-width:640px){.projects-section{padding:var(--space-xl) var(--space-md)}.projects-subtitle{font-size:.75rem}.projects-title{font-size:1.25rem;margin-bottom:var(--space-md)}.projects-desc{font-size:.9rem}.projects-grid{gap:var(--space-lg);grid-template-columns:1fr}.card-content{gap:var(--space-md);padding:var(--space-lg)}.card-icons{gap:var(--space-sm)}.project-title{font-size:1rem}.project-description{font-size:.85rem;line-height:1.5}.tech-tag{font-size:.75rem;padding:4px 10px}.icon-box{font-size:var(--font-lg);min-height:40px;min-width:40px;padding:var(--space-md)}}@media (max-width:480px){.projects-section{padding:var(--space-lg) var(--space-md)}.projects-title{font-size:1.1rem}.card-top-bar{height:4px}.project-card:hover .card-top-bar{height:6px}.project-title{font-size:.95rem}.project-description{font-size:.8rem}.tech-tag{font-size:.7rem;padding:3px 8px}.card-icons{gap:var(--space-xs)}.icon-box{font-size:var(--font-lg);min-height:36px;min-width:36px;padding:var(--space-sm)}}@media (prefers-reduced-motion:reduce){.project-card,.projects-grid,.tech-tag{animation:none;transition:none}}.github-link:hover{color:#1ca59a}.card-title{color:#19191a;font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.card-text{color:#666;flex-grow:1;font-size:.9rem;line-height:1.6;margin-bottom:1.5rem}.card-footer{display:flex;flex-direction:column;gap:1.5rem;margin-top:auto}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{border-radius:4px;font-family:Courier New,monospace;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.tag-python{background-color:#ebf8ff;color:#3182ce}.tag-next{background-color:#f1f5f9;color:#334155}.tag-csharp{background-color:#faf5ff;color:#9333ea}.tag-net{background-color:#fef2f2;color:#dc2626}.tag-sql{background-color:#fffbeb;color:#d97706}.tag-react{background-color:#e0fcff;color:#0891b2}.tag-node{background-color:#f0fdf4;color:#16a34a}.btn-repo{align-items:center;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;display:flex;font-size:.875rem;font-weight:600;justify-content:center;padding:.75rem;text-decoration:none;transition:all .2s;width:100%}.btn-repo i{margin-right:.5rem}.btn-repo:hover{background-color:#fafafa;border-color:#1ca59a;color:#1ca59a}.projects-action{margin-top:3rem;text-align:center}.view-all-link{align-items:center;color:#1ca59a;display:inline-flex;font-weight:700;gap:.5rem;text-decoration:none;transition:all .2s}.view-all-link:hover{text-decoration:underline;text-underline-offset:4px}@media (max-width:768px){.projects-title{font-size:2rem}.projects-section{padding:3rem 1.5rem}}.about-section{margin:0 auto;max-width:92%;padding:var(--space-2xl) var(--space-lg) var(--space-2xl) var(--space-2xl);position:relative;text-align:justify}.about-section h2{font-size:clamp(1.75rem,5vw,2.5rem);font-weight:800;letter-spacing:-.5px;margin-top:0}.about-section h2,.about-section p{color:var(--dark-color);margin-bottom:var(--space-xl)}.about-section p{font-family:var(--font-family-sans);font-size:clamp(1rem,2vw,1.15rem);line-height:1.8;margin-top:var(--space-xl);padding-left:var(--space-2xl);position:relative;transition:var(--transition-fast)}.about-section p:first-of-type{color:var(--primary-color);font-size:clamp(1.05rem,2.2vw,1.2rem);font-weight:500;letter-spacing:.3px}.about-section p:last-of-type{margin-bottom:0}.about-section p:before{color:var(--accent-yellow);content:"•";font-family:var(--font-family-mono);font-size:var(--font-2xl);left:0;position:absolute;top:-4px;transition:var(--transition-fast)}.about-section p:hover:before{color:var(--primary-color);transform:scale(1.3)}.about-section p:first-of-type:before{color:var(--primary-color)}.about-section p::selection{background:var(--primary-color);color:var(--light-bg)}.about-section p::-moz-selection{background:var(--primary-color);color:var(--light-bg)}.about-section a{color:var(--primary-color);font-weight:600;position:relative;text-decoration:none;transition:var(--transition-fast)}.about-section a:after{background:var(--primary-color);bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.about-section a:hover{color:#158578}.about-section a:hover:after{width:100%}.about-section a:focus-visible{border-radius:2px;outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width:1024px){.about-section{padding:var(--space-xl) var(--space-lg) var(--space-xl) var(--space-xl)}.about-section p{font-size:clamp(.95rem,1.8vw,1.1rem);padding-left:var(--space-xl)}.about-section p:before{font-size:var(--font-xl);left:-4px}}@media (max-width:768px){.about-section{max-width:95%;padding:var(--space-xl) var(--space-lg) var(--space-xl) var(--space-xl);text-align:left}.about-section h2{font-size:1.75rem;margin-bottom:var(--space-lg)}.about-section p{font-size:1.05rem;line-height:1.7;margin-bottom:var(--space-lg);margin-top:var(--space-lg);padding-left:var(--space-xl)}.about-section p:first-of-type{font-size:1.1rem}.about-section p:before{font-size:var(--font-lg);left:-2px;top:0}}@media (max-width:640px){.about-section{max-width:100%;padding:var(--space-lg) var(--space-md) var(--space-lg) var(--space-lg);text-align:left}.about-section h2{font-size:1.4rem;margin-bottom:var(--space-md)}.about-section p{font-size:1rem;line-height:1.65;margin-bottom:var(--space-md);margin-top:var(--space-md);padding-left:var(--space-lg)}.about-section p:first-of-type{font-size:1.05rem}.about-section p:before{font-size:var(--font-lg);left:-1px;top:1px}.about-section p:hover:before{transform:scale(1.2)}}@media (max-width:480px){.about-section{max-width:100%;padding:var(--space-md) var(--space-md) var(--space-md) var(--space-lg);text-align:left}.about-section h2{font-size:1.2rem;margin-bottom:var(--space-md)}.about-section p{font-size:.95rem;line-height:1.6;margin-bottom:var(--space-md);margin-top:var(--space-md);padding-left:var(--space-lg)}.about-section p:first-of-type{font-size:1rem}.about-section p:before{font-size:1.2rem;left:0;top:2px}.about-section a{word-break:break-word}}@media (prefers-reduced-motion:reduce){.about-section a,.about-section p,.about-section p:before{transition:none}.about-section p:hover:before{transform:none}.about-section a:after{transition:none}}
/*# sourceMappingURL=main.190bfbd2.css.map*/