@charset "UTF-8";#intro{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}#intro .intro-text{flex:1 1 350px;max-width:550px}#intro .intro-text .intro-subtitle{border:none;color:var(--color-accent);font-family:Inter,sans-serif;font-size:.6rem;font-weight:500;letter-spacing:.5px;margin:-.75rem 0 0;opacity:.8;padding-bottom:0;text-transform:uppercase}#intro .intro-text h3{color:var(--color-accent);font-size:1.5rem;line-height:1.3;margin-top:1rem}@media(max-width:768px){#intro .intro-text h3{font-size:1.2rem}}#intro .intro-text p{font-size:1.15rem;line-height:1.5;margin-top:.7rem;max-width:520px}@media(max-width:768px){#intro .intro-text p{font-size:1rem}}#intro .intro-img{flex:1;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width:768px){#intro .intro-img{text-align:left}}#intro .intro-img img{background-color:#f5f5f5;border-radius:50%;box-shadow:0 6px 20px #00000026;height:220px;-o-object-fit:cover;object-fit:cover;transition:box-shadow .3s ease;width:220px}@media(max-width:768px){#intro .intro-img img{height:180px;width:180px}}@media(max-width:480px){#intro .intro-img img{height:150px;width:150px}}#intro .intro-img img:focus,#intro .intro-img img:hover{box-shadow:0 12px 40px #0000004d;outline:none}#intro #fun-shapes{align-items:flex-end;display:flex;gap:2rem;height:100px;justify-content:center}#intro #fun-shapes .shape{animation-direction:alternate;animation-iteration-count:infinite;animation-timing-function:ease-in-out;cursor:default;height:40px;width:40px}#intro #fun-shapes .circle{animation-duration:4.5s;animation-name:bounceColorRotate;border:3px solid #7a6853;border-radius:50%}#intro #fun-shapes .square{animation-duration:5s;animation-name:bounceFillRotate;background-color:#7a6853}#intro #fun-shapes .triangle{animation-delay:.5s;animation-direction:alternate;animation-duration:4.5s;animation-iteration-count:infinite;animation-name:bounceRotate;animation-timing-function:ease-in-out;border-bottom:50px solid #7a6853;border-left:25px solid transparent;border-right:25px solid transparent;height:0;width:0}.intro-bottom{align-items:center;display:flex;gap:2rem;margin-top:2rem}@media(max-width:768px){.intro-bottom{align-items:flex-start;flex-direction:column;gap:1.5rem}}.intro-cta{display:flex;flex-wrap:wrap;gap:1rem}.cta-button{align-items:center;border:2px solid transparent;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}@media(max-width:768px){.cta-button{font-size:.8rem;padding:.5rem 1rem}}.cta-button.cta-email{background:var(--color-accent);color:#fff}.cta-button.cta-email:hover{background:#6b5a47;transform:translateY(-2px)}.cta-button.cta-linkedin{background:transparent;border-color:var(--color-accent);color:var(--color-accent)}.cta-button.cta-linkedin:hover{background:var(--color-accent);color:#fff;transform:translateY(-2px)}body.dark-mode .intro-text .intro-subtitle,body.dark-mode .intro-text h3,body.dark-mode .intro-text p{color:var(--color-accent-dark)}body.dark-mode .intro-text .cta-button.cta-email{background:var(--color-accent-dark)}body.dark-mode .intro-text .cta-button.cta-email:hover{background:#d4c9b3}body.dark-mode .intro-text .cta-button.cta-linkedin{border-color:var(--color-accent-dark);color:var(--color-accent-dark)}body.dark-mode .intro-text .cta-button.cta-linkedin:hover{background:var(--color-accent-dark);color:var(--color-bg-dark)}@keyframes bounceRotate{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-30px) rotate(15deg)}to{transform:translateY(0) rotate(0)}}@keyframes bounceFillRotate{0%{background-color:#7a6853;transform:translateY(0) rotate(0)}50%{background-color:#bfa46f;transform:translateY(-30px) rotate(-15deg)}to{background-color:#7a6853;transform:translateY(0) rotate(0)}}@keyframes bounceColorRotate{0%{border-color:#7a6853;transform:translateY(0) rotate(0)}50%{border-color:#bfa46f;transform:translateY(-30px) rotate(15deg)}to{border-color:#7a6853;transform:translateY(0) rotate(0)}}ul{margin:0;padding:0}.logoloop{overflow-x:hidden;position:relative;--logoloop-gap:60px;--logoloop-logoHeight:40px;--logoloop-logoWidth:none;--logoloop-fadeColorAuto:var(--color-bg-light,#f5f0e6)}.logoloop--scale-hover{padding-bottom:calc(var(--logoloop-logoHeight)*.1);padding-top:calc(var(--logoloop-logoHeight)*.1)}body.dark-mode .logoloop{--logoloop-fadeColorAuto:var(--color-bg-dark,#1e1e1e)}.logoloop__track{display:flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:-moz-max-content;width:max-content;will-change:transform}.logoloop__item,.logoloop__list{align-items:center;display:flex}.logoloop__item{flex:0 0 auto;font-size:var(--logoloop-logoHeight);height:var(--logoloop-logoHeight);justify-content:center;line-height:1;max-width:var(--logoloop-logoWidth,var(--logoloop-logoHeight))}.logoloop__item,.logoloop__item:last-child{margin-right:var(--logoloop-gap)}.logoloop__node{align-items:center;display:inline-flex;justify-content:center}.logoloop__item img{display:block;height:var(--logoloop-logoHeight);image-rendering:-webkit-optimize-contrast;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;width:100%;-webkit-user-drag:none;filter:brightness(0) saturate(100%) invert(34%) sepia(9%) saturate(1128%) hue-rotate(352deg) brightness(80%) contrast(95%);pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1),filter .3s ease}body.dark-mode .logoloop__item img{filter:brightness(0) invert(1)}.logoloop--scale-hover .logoloop__item{overflow:visible}.logoloop--scale-hover .logoloop__item:hover .logoloop__node,.logoloop--scale-hover .logoloop__item:hover img{transform:scale(1.2);transform-origin:center center}.logoloop--scale-hover .logoloop__node{transition:transform .3s cubic-bezier(.4,0,.2,1)}.logoloop__link{align-items:center;border-radius:4px;display:inline-flex;text-decoration:none;transition:opacity .2s ease}.logoloop__link:hover{opacity:.8}.logoloop__link:focus-visible{outline:2px solid currentColor;outline-offset:2px}.logoloop--fade:after,.logoloop--fade:before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:clamp(24px,8%,120px);z-index:1}.logoloop--fade:before{background:linear-gradient(to right,var(--logoloop-fadeColor,var(--logoloop-fadeColorAuto)) 0,transparent 100%);left:0}.logoloop--fade:after{background:linear-gradient(to left,var(--logoloop-fadeColor,var(--logoloop-fadeColorAuto)) 0,transparent 100%);right:0}@media(prefers-reduced-motion:reduce){.logoloop__track{transform:translateZ(0)!important}.logoloop__item img,.logoloop__node{transition:none!important}}#projects .projects-header{margin-bottom:3rem;text-align:center}#projects .projects-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2.5rem}@media(min-width:768px){#projects .projects-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){#projects .projects-grid{grid-template-columns:repeat(3,1fr)}}#projects .projects-logo-loop{border-top:1px solid rgba(0,0,0,.1);margin-bottom:2rem;margin-top:3rem;min-height:100px;padding:2rem 0}#projects .project-card{background:transparent;border-radius:.5rem;display:flex;flex-direction:column;opacity:1;overflow:visible;position:relative;transform:translateY(0);transition:opacity .5s ease,transform .5s ease;--glow-x:50%;--glow-y:50%;--glow-intensity:0;--glow-radius:200px;--glow-color:122,104,83}#projects .project-card .project-card-inner{background:#f5f5f5;border-radius:inherit;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:background-color .3s ease,box-shadow .3s ease,transform .2s ease;width:100%}#projects .project-card:hover{transform:translateY(-4px)}#projects .project-card:hover .project-card-inner{box-shadow:0 12px 24px #00000026}#projects .project-card.magic-bento-card:after{background:radial-gradient(var(--glow-radius) circle at var(--glow-x) var(--glow-y),rgba(var(--glow-color),calc(var(--glow-intensity)*.8)) 0,rgba(var(--glow-color),calc(var(--glow-intensity)*.4)) 30%,transparent 60%);border-radius:inherit;content:"";inset:0;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:source-out;mask-composite:subtract;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;opacity:var(--glow-intensity);padding:2px;pointer-events:none;position:absolute;transition:opacity .3s ease;z-index:1}#projects .project-card.magic-bento-card:hover:after{opacity:1}#projects .project-card :global(.magic-particle){pointer-events:none;position:absolute;z-index:100}#projects .project-card.hidden-project{display:none;opacity:0;transform:translateY(20px)}#projects .project-card.hidden-project.show{display:block;opacity:1;transform:translateY(0)}#projects .project-card .project-image{align-items:center;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-dark));display:flex;height:200px;justify-content:center;overflow:hidden;position:relative;width:100%}@media(max-width:768px){#projects .project-card .project-image{height:150px}}@media(max-width:480px){#projects .project-card .project-image{height:120px}}#projects .project-card .project-image img{display:block;filter:brightness(0) invert(1);height:100%;margin:0 auto;max-height:50%;max-width:60%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;transition:transform .3s ease,filter .3s ease;width:100%;z-index:1}#projects .project-card .project-image:after{background:#0000001a;content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}#projects .project-card .project-image .image-gradient-overlay{background:linear-gradient(135deg,#0003,#0006);inset:0;opacity:.8;pointer-events:none;position:absolute;transition:opacity .3s ease;transition:background .3s ease}#projects .project-card:hover .project-image img{transform:scale(1.1)}#projects .project-card:hover .project-image:after{opacity:1}#projects .project-card:hover .project-image .image-gradient-overlay{opacity:.6}#projects .project-card .project-content{display:flex;flex:1;flex-direction:column;padding:1.5rem;position:relative;z-index:2}@media(max-width:768px){#projects .project-card .project-content{padding:1.25rem}}@media(max-width:480px){#projects .project-card .project-content{padding:1rem}}#projects .project-card .project-content h3{color:var(--color-text-light);font-size:1.125rem;font-weight:600;margin:0 0 .5rem}#projects .project-card .project-content .project-description-container{margin-bottom:1rem}#projects .project-card .project-content .project-description-container .project-description{color:var(--color-text-light);font-size:.875rem;line-height:1.5;margin:0 0 .5rem;opacity:.7;transition:max-height .3s ease,color .3s ease,opacity .3s ease}#projects .project-card .project-content .project-description-container .project-description.truncated{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}#projects .project-card .project-content .project-description-container .project-description.expanded{display:block;overflow:visible}#projects .project-card .project-content .project-description-container .show-more-desc-btn{background:none;border:none;color:var(--color-accent);cursor:pointer;display:block;font-size:.8rem;font-weight:600;padding:.25rem 0;text-decoration:underline;transition:color .3s ease}#projects .project-card .project-content .project-description-container .show-more-desc-btn:hover{color:var(--color-accent-dark)}#projects .project-card .project-content .project-description-container .show-more-desc-btn .hidden{display:none}#projects .project-card .project-content .project-contributions{margin-bottom:1.5rem}#projects .project-card .project-content .project-contributions h4{color:var(--color-accent);font-size:.85rem;font-weight:600;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}#projects .project-card .project-content .project-contributions p{color:var(--color-text-light);font-size:.8rem;line-height:1.4;margin:0 0 .5rem;opacity:.7;padding-left:1rem;position:relative;transition:color .3s ease,opacity .3s ease}#projects .project-card .project-content .project-contributions p:before{color:var(--color-accent);content:"•";left:0;position:absolute;top:0}#projects .project-card .project-content .project-links{display:flex;flex-wrap:wrap;gap:.75rem}#projects .project-card .project-content .project-link{align-items:center;background:var(--color-accent);border:2px solid var(--color-accent);border-radius:.25rem;color:#fff;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}#projects .project-card .project-content .project-link:hover{background:var(--color-accent-dark);box-shadow:0 4px 12px #7a68534d;color:#fff;transform:translateY(-2px)}#projects .project-card .project-content .project-link.detail-link{background:transparent;border-color:var(--color-accent);color:var(--color-accent)}#projects .project-card .project-content .project-link.detail-link:hover{background:var(--color-accent);color:#fff}#projects .project-card .project-content .project-link.detail-link svg{transition:transform .3s ease}#projects .project-card .project-content .project-link.detail-link:hover svg{transform:scale(1.1)}#projects .project-card .project-content .project-link svg{transition:transform .3s ease}#projects .project-card .project-content .project-link:hover svg{transform:translate(2px)}#projects .show-more-container{text-align:center}#projects .show-more-container .show-more-btn{background:var(--color-accent);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:background-color .3s ease,transform .2s ease}#projects .show-more-container .show-more-btn:hover{background:var(--color-accent-dark);transform:translateY(-2px)}#projects .show-more-container .show-more-btn .show-less-text{display:none}#projects .show-more-container .show-more-btn .show-less-text:not(.hidden),#projects .show-more-container .show-more-btn .show-more-text{display:inline}#projects .show-more-container .show-more-btn .show-more-text.hidden{display:none}body.dark-mode #projects .projects-logo-loop{border-top-color:#ffffff1a}body.dark-mode #projects .projects-header h2{color:var(--color-text-dark)}body.dark-mode #projects .projects-header .projects-subtitle{color:var(--color-accent-dark);opacity:.8}body.dark-mode #projects .project-card{--glow-color:212,201,179}body.dark-mode #projects .project-card .project-card-inner{background:var(--color-bg-dark);box-shadow:0 4px 6px #0000004d}body.dark-mode #projects .project-card:hover .project-card-inner{box-shadow:0 12px 24px #0006}body.dark-mode #projects .project-card .project-content h3{color:var(--color-text-dark)}body.dark-mode #projects .project-card .project-content .project-description-container .project-description{color:var(--color-accent-dark);opacity:.8}body.dark-mode #projects .project-card .project-content .project-description-container .show-more-desc-btn{color:var(--color-accent-dark)}body.dark-mode #projects .project-card .project-content .project-description-container .show-more-desc-btn:hover{color:var(--color-text-dark)}body.dark-mode #projects .project-card .project-content .project-contributions h4{color:var(--color-accent-dark)}body.dark-mode #projects .project-card .project-content .project-contributions p{color:var(--color-accent-dark);opacity:.8}body.dark-mode #projects .project-card .project-content .project-contributions p:before{color:var(--color-accent-dark)}body.dark-mode #projects .project-card .project-content .project-link{background:var(--color-accent-dark);border-color:var(--color-accent-dark);color:var(--color-bg-dark)}body.dark-mode #projects .project-card .project-content .project-link:hover{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 4px 12px #d5cab44d;color:var(--color-bg-dark)}body.dark-mode #projects .project-card .project-content .project-link.detail-link{background:transparent;border-color:var(--color-accent-dark);color:var(--color-accent-dark)}body.dark-mode #projects .project-card .project-content .project-link.detail-link:hover{background:var(--color-accent-dark);color:var(--color-bg-dark)}body.dark-mode #projects .show-more-btn{background:var(--color-accent-dark)}body.dark-mode #projects .show-more-btn:hover{background:var(--color-accent)}#experiences{overflow:visible}#experiences .experiences-header{margin-bottom:3rem}#experiences .experiences-header .experiences-subtitle{color:#666;font-size:1.125rem;margin:0}#experiences .experiences-timeline{margin:0 auto;max-width:700px;min-height:450px;padding:0 2rem;position:relative}#experiences .experiences-timeline .timeline-line{background:#ddd;height:100%;left:50%;position:absolute;top:0;transform:translate(-50%);width:1px;z-index:1}#experiences .experiences-timeline .experience-item{align-items:center;display:flex;margin-bottom:3rem;position:relative}#experiences .experiences-timeline .experience-item:last-child{margin-bottom:0}#experiences .experiences-timeline .experience-item .timeline-dot{align-items:center;background:var(--color-accent);border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;height:32px;justify-content:center;left:50%;position:absolute;transform:translate(-50%);width:32px;z-index:10}#experiences .experiences-timeline .experience-item .timeline-dot svg{height:16px;width:16px}#experiences .experiences-timeline .experience-item .experience-content{position:relative;width:45%}#experiences .experiences-timeline .experience-item .experience-content.left{margin-left:0;margin-right:auto;padding-right:2rem;text-align:right}#experiences .experiences-timeline .experience-item .experience-content.left .experience-date,#experiences .experiences-timeline .experience-item .experience-content.left h3,#experiences .experiences-timeline .experience-item .experience-content.left ul{text-align:left}#experiences .experiences-timeline .experience-item .experience-content.right{margin-left:auto;margin-right:0;padding-left:2rem;text-align:left}#experiences .experiences-timeline .experience-item .experience-content h3{color:var(--color-text-light);line-height:1.3;margin:0 0 .25rem}#experiences .experiences-timeline .experience-item .experience-content .experience-role{color:#666;font-size:.875rem;line-height:1.4;margin:0 0 .5rem}#experiences .experiences-timeline .experience-item .experience-content .experience-role-list{color:#666;font-size:.875rem;line-height:1.4;list-style-position:outside;margin:0 0 .5rem;padding-left:1.2rem}#experiences .experiences-timeline .experience-item .experience-content .experience-role-list li{margin-bottom:.3rem}#experiences .experiences-timeline .experience-item .experience-content .experience-role-list li:last-child{margin-bottom:0}#experiences .experiences-timeline .experience-item .experience-content .experience-date{color:var(--color-accent);font-size:.875rem;font-weight:600;margin:0}@media(max-width:768px){#experiences .experiences-timeline{padding:0 1rem}#experiences .experiences-timeline .timeline-line{left:1rem}#experiences .experiences-timeline .experience-item .timeline-dot{left:0}#experiences .experiences-timeline .experience-item .experience-content{margin-left:2rem!important;margin-right:0!important;padding-left:1rem!important;padding-right:0!important;text-align:left!important;width:calc(100% - 4rem)}}body.dark-mode #experiences .experiences-header h2{color:var(--color-text-dark)}body.dark-mode #experiences .experiences-header .experiences-subtitle{color:#999}body.dark-mode #experiences .experiences-timeline .timeline-line{background:#555}body.dark-mode #experiences .experiences-timeline .experience-item .timeline-dot{background:var(--color-accent-dark);color:var(--color-text-light)}body.dark-mode #experiences .experiences-timeline .experience-item .experience-content h3{color:var(--color-text-dark)}body.dark-mode #experiences .experiences-timeline .experience-item .experience-content .experience-role,body.dark-mode #experiences .experiences-timeline .experience-item .experience-content .experience-role-list{color:#999}body.dark-mode #experiences .experiences-timeline .experience-item .experience-content .experience-date{color:var(--color-accent-dark)}.contact-links{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem}.contact-links a{align-items:center;color:var(--color-text-light);display:inline-flex;font-size:1rem;font-weight:600;transition:color .3s ease}.contact-links a:focus,.contact-links a:hover{color:var(--color-accent);outline:none}.contact-links svg{fill:currentColor;flex-shrink:0;margin-right:.4rem}body.dark-mode .contact-links a{color:var(--color-text-dark)}body.dark-mode .contact-links a:focus,body.dark-mode .contact-links a:hover{color:var(--color-accent-dark)}
