.projects-list-container{padding:clamp(2rem,5vw,4rem)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}@media (max-width:768px){.projects-grid{grid-template-columns:1fr;gap:1.5rem}.projects-list-container{padding:2rem 1rem}}
.project-card-link{color:inherit;text-decoration:none}.project-card{background:var(--gradient-card);-webkit-backdrop-filter:blur(5px);border-radius:var(--soft-border);border:1px solid #0000;flex-direction:column;height:100%;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.5s both fadeInUp;display:flex;overflow:hidden;box-shadow:0 4px 30px #0000001a}.project-card:hover{border-color:rgba(var(--secondary-rgb), .6);box-shadow:0 4px 30px rgba(var(--secondary-rgb), .2);transform:translateY(-8px)}.project-card-image{background:var(--gradient-card-strong);justify-content:center;align-items:center;width:100%;height:200px;display:flex;overflow:hidden}.project-card-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .3s}.project-card-image.no-image{background:var(--gradient-card)}.project-card-image.no-image:after{content:"Image indisponible";color:rgba(var(--white-rgb), .8);font-size:.95rem}.project-card:hover .project-card-image img{transform:scale(1.05)}.project-card-content{flex-direction:column;flex:1;padding:1.5rem;display:flex}.project-card-title{color:var(--white);margin:0 0 .75rem;font-size:1.25rem;font-weight:700}.project-card-description{color:var(--white);flex:1;margin:0 0 1rem;font-size:.95rem;line-height:1.5}.project-card-tech{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.tech-badge{background:var(--primary);color:var(--reel-white);border-radius:var(--soft-border);padding:.375rem .75rem;font-size:.8rem;font-weight:500;transition:all .3s;display:inline-block}.tech-badge:hover{background:var(--secondary)}.project-card-date{color:var(--white);margin:auto 0 0;font-size:.85rem}
.contact-section{padding:clamp(2rem,5vw,4rem)}.portfolio-contact-form{background:var(--gradient-card);-webkit-backdrop-filter:var(--transparent-backdrop-filter);backdrop-filter:var(--transparent-backdrop-filter);border-radius:var(--soft-border);box-shadow:var(--shadow-s);font-family:var(--font);flex-direction:column;gap:20px;margin:auto;padding:40px;animation:.5s both fadeInUp;display:flex}.portfolio-contact-form label{color:var(--white);margin-bottom:8px;font-size:1rem;font-weight:600;display:block}.portfolio-contact-form input,.portfolio-contact-form textarea{border-radius:var(--soft-border);width:100%;font-family:var(--font);background-color:var(--input-bg);color:var(--white);padding:12px;font-size:1rem;transition:all .3s}.portfolio-contact-form input::-moz-placeholder{color:var(--placeholder-color)}.portfolio-contact-form textarea::-moz-placeholder{color:var(--placeholder-color)}.portfolio-contact-form input::placeholder,.portfolio-contact-form textarea::placeholder{color:var(--placeholder-color)}.portfolio-contact-form input:focus,.portfolio-contact-form textarea:focus{background-color:var(--input-bg-focus);box-shadow:0 0 0 3px rgba(var(--secondary-rgb), .2);outline:none}.portfolio-contact-form textarea{resize:vertical;min-height:150px;font-family:var(--font)}.portfolio-contact-form button{background-color:var(--primary);color:var(--white);border-radius:var(--soft-border);cursor:pointer;font-size:1rem;font-weight:600;font-family:var(--font);align-self:flex-end;padding:12px 24px;transition:all .3s}.portfolio-contact-form button:hover{background-color:var(--secondary);border-color:var(--secondary-darker)}.portfolio-contact-form button:active{background-color:var(--secondary-darker)}.portfolio-contact-form button:disabled{opacity:.6;cursor:not-allowed}.portfolio-contact-form--disabled{opacity:.45;pointer-events:none;-webkit-user-select:none;user-select:none;filter:grayscale(.3)}.contact-unavailable{text-align:center;background:rgba(var(--secondary-rgb), .08);border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:1.25rem 1.75rem;display:flex}.contact-unavailable-icon{font-size:1.75rem}.contact-unavailable-title{color:var(--secondary);margin:0;font-size:1rem;font-weight:700}.contact-unavailable-text{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.6}.contact-unavailable-link{color:var(--primary);font-weight:600;text-decoration:none;transition:all .2s}.contact-unavailable-link:hover{color:var(--secondary);border-bottom-color:var(--secondary)}.contact-success{color:#dcfce7;background-color:#22c55e33;border-radius:8px;margin-bottom:10px;padding:12px;font-size:.9rem}.contact-error{color:#f87171;padding:8px 0;font-size:.9rem}span.required{color:var(--secondary);margin-left:4px}@media (max-width:768px){.contact-section{padding:2rem 1rem}.portfolio-contact-form{padding:20px}}
.career-content{flex-direction:column;gap:2rem;display:flex}.experience{flex-direction:column;gap:.5rem;width:100%;padding-left:1rem;display:flex}.experience-section{gap:4rem;margin-left:2rem;animation:.5s both fadeInUp;display:flex}.experience-section:has(.experience:hover){--primary:var(--secondary);--primary-dark:var(--secondary-dark);--primary-light:var(--secondary-light)}.experience-header{flex-direction:row;align-items:center;gap:1rem;display:flex}.experience-timeline{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:4px;display:flex}.experience-bullet{background-color:var(--primary);border-radius:8px;width:18px;height:20px}.experience-bar{background-color:var(--primary-dark);border-radius:2px;width:4px;height:100%}.experience-type{color:var(--primary);font-size:.9rem;font-weight:600}.experience-title{color:var(--primary);font-size:1.2rem;font-weight:700}.experience-company{color:var(--white);font-size:1rem;font-weight:500}.experience-period{color:var(--white);font-size:.9rem;font-weight:400}.experience-description{color:var(--white);font-size:1rem;font-weight:400}@media (max-width:768px){.experience-section{gap:1rem;margin-left:.25rem}.experience-header{flex-direction:column;align-items:flex-start;gap:.25rem}.experience-title{font-size:1.05rem}}
.about-section{padding:clamp(2rem,5vw,4rem)}.about-profile{background:var(--gradient-card);border-radius:16px;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.5rem;padding:1.75rem 2rem;animation:.5s fadeInUp;display:flex}.about-profile-main{flex:1}.about-profile-role{color:var(--primary);margin:0 0 .6rem;font-size:1rem;font-weight:700}.about-profile-desc{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.7}.about-profile-desc strong{color:var(--white);font-weight:600}.about-stats{flex-shrink:0;align-items:center;gap:2rem;display:flex}.about-stat{text-align:center;flex-direction:column;align-items:center;display:flex}.about-stat-value{color:var(--primary);font-size:1.4rem;font-weight:800;line-height:1}.about-stat-label{color:var(--text-muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;margin-top:.3rem;font-size:.72rem}.about-block{margin-bottom:1.5rem;padding:1.5rem;animation:.5s .1s both fadeInUp}.about-block-title{text-transform:uppercase;letter-spacing:.1em;color:var(--white);margin:0 0 1.25rem;font-size:.8rem;font-weight:700}.about-block-prefix{color:var(--primary)}.about-stack{flex-wrap:wrap;gap:.5rem;display:flex}.about-bottom{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:0;display:grid}.about-bottom .about-block{margin-bottom:0}.about-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.about-list li{color:var(--text-muted);padding-left:1.25rem;font-size:.95rem;line-height:1.5;position:relative}.about-list li:before{content:"→";color:var(--primary);font-size:.85rem;position:absolute;left:0}.about-values-text{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.7}.about-values-text strong{color:var(--white);font-weight:600}.about-cta{text-align:center;margin-top:1.5rem;padding:1.5rem}.about-cta p{color:var(--white);margin:0;font-size:1rem}.cta-link{color:var(--primary);font-weight:600;text-decoration:none;transition:all .3s}.cta-link:hover{color:var(--secondary);border-bottom-color:var(--secondary)}@media (max-width:1024px){.about-bottom{grid-template-columns:1fr}}@media (max-width:768px){.about-section{padding:1.5rem 1rem}.about-profile{flex-direction:column;gap:1.25rem;padding:1.25rem 1rem}.about-stats{justify-content:space-around;gap:.5rem;width:100%}.about-stat-label{white-space:normal}.about-block{padding:1.25rem 1rem}}
