:root{--color-black:#000;--color-white:#fff;--color-gray-light:#e8e8e8;--color-gray-medium:#b5b5b5;--color-gray-dark:#333;--color-blue:#041145;--color-blue-light:#0a1d6b;--bg-light:#e8e8e8;--bg-dark:#000;--bg-section:#f5f5f5;--text-dark:#1a1a1a;--text-light:#fff;--text-muted:#666;--font-primary:"Poppins", sans-serif;--font-display:"Playfair Display", serif;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:6rem;--transition-fast:.2s ease;--transition-normal:.3s ease;--transition-slow:.5s ease;--radius-sm:4px;--radius-md:8px;--radius-lg:20px;--radius-full:50px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-primary);background-color:var(--bg-light);color:var(--text-dark);line-height:1.6;overflow-x:hidden}a{color:inherit;transition:var(--transition-fast);text-decoration:none}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}h1{font-size:clamp(3rem,8vw,5rem);font-weight:800}h2{font-size:clamp(2rem,5vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}h4{font-size:1.25rem}p{color:var(--text-muted);font-size:1rem}.container{width:100%;max-width:1400px;padding:0 var(--spacing-md);margin:0 auto}.section{padding:var(--spacing-xl) 0}.section-dark{background-color:var(--bg-dark);color:var(--text-light)}.section-light{background-color:var(--bg-light);color:var(--text-dark)}.flex-center{justify-content:center;align-items:center;display:flex}.back-to-top-floating{background:var(--color-blue);width:48px;height:48px;color:var(--color-white);cursor:pointer;opacity:0;visibility:hidden;z-index:90;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .25s,transform .25s,visibility .25s,background .2s;display:flex;position:fixed;bottom:28px;right:28px;transform:translateY(12px);box-shadow:0 8px 22px #0000004d}.back-to-top-floating.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top-floating:hover{background:var(--color-blue-light);transform:translateY(-3px)}.back-to-top-floating:focus-visible{outline:2px solid var(--color-white);outline-offset:2px}@media (width<=768px){.back-to-top-floating{width:42px;height:42px;bottom:20px;right:20px}}.navbar{z-index:1000;padding:var(--spacing-sm) var(--spacing-lg);transition:var(--transition-normal);background:0 0;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000f2;box-shadow:0 2px 20px #0000004d}.navbar-logo{width:50px;height:50px}.navbar-logo img{object-fit:contain;width:100%;height:100%}.navbar-menu{align-items:center;gap:var(--spacing-md);display:flex}.navbar-link{color:var(--text-light);text-transform:uppercase;letter-spacing:1px;padding:var(--spacing-xs) var(--spacing-sm);font-size:.9rem;font-weight:500;position:relative}.navbar-link:after{content:"";background:var(--color-white);width:0;height:2px;transition:var(--transition-normal);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.navbar-link:hover:after{width:100%}.navbar-cta{background:var(--color-white);color:var(--color-black);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:1px;transition:var(--transition-normal);font-size:.85rem;font-weight:600}.navbar-cta:hover{background:var(--color-blue);color:var(--color-white);transform:translateY(-2px)}.language-switcher{align-items:center;gap:var(--spacing-xs);margin-left:var(--spacing-sm);display:flex}.lang-btn{color:var(--text-light);opacity:.6;border-radius:var(--radius-sm);transition:var(--transition-fast);padding:4px 8px;font-size:.8rem;font-weight:600}.lang-btn.active{opacity:1;background:#ffffff1a}.lang-btn:hover{opacity:1}.menu-toggle{z-index:1001;flex-direction:column;gap:5px;padding:10px;display:none}.menu-toggle span{background:var(--color-white);width:25px;height:2px;transition:var(--transition-normal)}.hero{grid-template-columns:1fr 1fr;min-height:100vh;display:grid;overflow:hidden}.hero-left{background:var(--bg-light);padding:var(--spacing-xl);flex-direction:column;justify-content:center;display:flex;position:relative}.hero-logo{top:var(--spacing-lg);left:var(--spacing-lg);width:60px;height:60px;position:absolute}.hero-content{max-width:488px}.hero-greeting{color:var(--text-dark);margin-bottom:var(--spacing-sm);font-size:1.46rem;font-weight:400;font-family:var(--font-display);font-style:italic}.hero-name{color:var(--color-black);margin-bottom:var(--spacing-sm);font-size:clamp(2.93rem,6.83vw,4.88rem);font-weight:800;line-height:1}.hero-role{color:var(--text-muted);letter-spacing:2px;font-size:.98rem;font-weight:400}.hero-right{background:var(--bg-dark);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-right:before{content:"";border:1px solid #ffffff1a;border-radius:50%;width:350px;height:350px;animation:4s ease-in-out infinite pulse-ring;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-right:after{content:"";border:1px solid #ffffff0d;border-radius:50%;width:450px;height:450px;animation:4s ease-in-out .5s infinite pulse-ring;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse-ring{0%,to{opacity:1;transform:translate(-50%,-50%)scale(1)}50%{opacity:.5;transform:translate(-50%,-50%)scale(1.05)}}.hero-image-wrapper{z-index:1;justify-content:center;align-items:center;width:75%;max-width:474px;display:flex;position:relative}.hero-image-wrapper:before{content:"";border:2px solid var(--color-blue);opacity:.6;transition:all .5s;position:absolute;inset:-15px}.hero-image-wrapper:hover:before{opacity:1;border-color:var(--color-white);inset:-20px}.hero-image-wrapper:after{content:"";border-left:3px solid var(--color-blue);border-top:3px solid var(--color-blue);width:40px;height:40px;transition:all .5s;position:absolute;top:-25px;left:-25px}.hero-image{object-fit:cover;object-position:center;filter:grayscale();width:100%;height:auto;transition:filter .5s,transform .5s,box-shadow .5s;box-shadow:0 25px 50px #00000080}.hero-image:hover{filter:grayscale(0%);transform:scale(1.02);box-shadow:0 30px 60px #04114566}.corner-accent{width:40px;height:40px;transition:all .5s;position:absolute}.corner-accent.bottom-right{border-right:3px solid var(--color-blue);border-bottom:3px solid var(--color-blue);bottom:-25px;right:-25px}.hero-image-wrapper:hover .corner-accent{border-color:var(--color-white)}.hero-image-wrapper:hover .corner-accent.bottom-right{bottom:-30px;right:-30px}.hero-socials{bottom:var(--spacing-lg);left:var(--spacing-lg);position:absolute}.social-icons-container{align-items:center;gap:var(--spacing-sm);flex-flow:wrap;display:flex}.social-icons-container.light .social-icon{color:var(--color-white);background:#ffffff1a}.social-icons-container.dark .social-icon{color:var(--color-blue);background:#0411451a}.social-icon{border-radius:var(--radius-md);width:46px;height:46px;color:var(--color-white);transition:var(--transition-normal);background:#ffffff1a;justify-content:center;align-items:center;display:flex}.social-icon:hover{background:var(--color-blue);color:var(--color-white);transform:translateY(-3px)}.about-section{padding:var(--spacing-xl) 0}.about-container{gap:var(--spacing-xl);grid-template-columns:1fr 1.5fr;align-items:start;display:grid}.about-left{gap:var(--spacing-md);flex-direction:column;display:flex;position:relative}.about-image-wrapper{border-radius:var(--radius-md);aspect-ratio:4/5;background:linear-gradient(135deg,#667eea 0%,#041145 100%);max-width:400px;position:relative;overflow:hidden}.about-image-wrapper--transparent{background:0 0}.about-image-wrapper--transparent .about-photo{object-fit:contain}.about-photo{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .5s}.about-photo:hover{transform:scale(1.03)}.about-image-wrapper img{width:100%;height:auto}.about-badge{top:var(--spacing-md);left:var(--spacing-md);background:var(--color-blue);color:var(--color-white);padding:var(--spacing-sm) var(--spacing-md);text-transform:uppercase;letter-spacing:2px;font-size:.8rem;font-weight:600;position:absolute}.about-right h2{margin-bottom:var(--spacing-xs);color:var(--text-dark);font-size:1.8rem}.about-subtitle{text-transform:uppercase;letter-spacing:3px;color:var(--text-muted);margin-bottom:var(--spacing-sm);font-size:.75rem}.about-separator{background:var(--color-gray-medium);width:100%;height:1px;margin:var(--spacing-md) 0}.about-content{color:var(--text-muted);font-size:1rem;line-height:1.8}.about-content p{margin-bottom:var(--spacing-sm)}.read-more-btn{align-items:center;gap:var(--spacing-xs);text-transform:uppercase;letter-spacing:2px;color:var(--color-blue);margin-top:var(--spacing-md);transition:var(--transition-normal);font-size:.85rem;font-weight:600;display:inline-flex}.read-more-btn:hover{gap:var(--spacing-sm)}.projects-section{background:var(--bg-dark);padding:var(--spacing-xl) 0}.section-header{text-align:center;margin-bottom:var(--spacing-lg)}.section-header h2{color:var(--text-light);margin-bottom:var(--spacing-xs);font-size:1.8rem}.section-header p{color:#fff9;max-width:600px;margin:0 auto}.projects-filter{justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);display:flex}.filter-btn{padding:var(--spacing-xs) var(--spacing-md);text-transform:uppercase;letter-spacing:1px;color:#fff9;border-radius:var(--radius-full);transition:var(--transition-normal);font-size:.8rem;font-weight:600}.filter-btn.active,.filter-btn:hover{color:var(--color-white);background:#ffffff1a}.projects-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));display:grid}.project-card{border-radius:var(--radius-md);transition:var(--transition-normal);background:#11142a;border:1px solid #ffffff14;overflow:hidden}.project-card:hover{background:#1a1f3d;border-color:#ffffff29;transform:translateY(-5px);box-shadow:0 12px 32px #0006}.project-thumbnail{aspect-ratio:16/10;overflow:hidden}.project-thumbnail img{object-fit:cover;width:100%;height:100%;transition:var(--transition-slow)}.project-card:hover .project-thumbnail img{transform:scale(1.05)}.project-info{padding:var(--spacing-md)}.project-info h3{color:var(--text-light);margin-bottom:var(--spacing-xs);font-size:1.2rem}.project-info h3 a.project-title-link{color:inherit;text-decoration:none;transition:color .25s}.project-info h3 a.project-title-link:hover{color:var(--primary-color,#041145);text-underline-offset:4px;text-decoration:underline}.project-info p{color:#ffffffc7;margin-bottom:var(--spacing-sm);font-size:.9rem}.project-tags{margin-bottom:var(--spacing-sm);flex-wrap:wrap;gap:.45rem;display:flex}.project-tag{letter-spacing:.3px;color:#ffffffeb;background:#ffffff14;border:1px solid #ffffff26;border-radius:999px;padding:3px 10px;font-size:.7rem;font-weight:500}.project-links{gap:var(--spacing-sm);margin-top:var(--spacing-sm);display:flex}.project-link{color:var(--color-white);border-radius:var(--radius-full);transition:var(--transition-normal);background:#ffffff1a;border:1px solid #ffffff2e;align-items:center;gap:6px;padding:7px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.project-link:hover{background:var(--color-white);color:var(--color-blue);border-color:var(--color-white)}.events-section{background:var(--bg-section);padding:var(--spacing-xl) 0}.events-section .section-header h2{color:var(--text-dark)}.events-section .section-header p{color:var(--text-muted)}.events-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));display:grid}.event-card{background:var(--color-white);border-radius:var(--radius-md);transition:var(--transition-normal);overflow:hidden;box-shadow:0 4px 20px #00000014}.event-card:hover{transform:translateY(-5px);box-shadow:0 10px 40px #00000026}.event-thumbnail{aspect-ratio:16/10;position:relative;overflow:hidden}.event-thumbnail img{object-fit:cover;width:100%;height:100%;transition:var(--transition-slow)}.event-card:hover .event-thumbnail img{transform:scale(1.05)}.event-badge{top:var(--spacing-sm);right:var(--spacing-sm);background:var(--color-blue);color:var(--color-white);text-transform:uppercase;letter-spacing:1px;border-radius:var(--radius-full);padding:4px 12px;font-size:.7rem;font-weight:600;position:absolute}.event-info{padding:var(--spacing-md)}.event-date{color:var(--text-muted);margin-bottom:var(--spacing-xs);flex-wrap:wrap;align-items:center;gap:1rem;font-size:.8rem;display:flex}.event-meta{align-items:center;gap:6px;display:inline-flex}.event-album-link{margin-top:var(--spacing-sm);text-transform:uppercase;letter-spacing:1px;color:var(--color-blue);border-radius:var(--radius-full);transition:var(--transition-normal);background:#04114514;border:1px solid #04114526;align-items:center;gap:8px;padding:8px 16px;font-size:.78rem;font-weight:600;display:inline-flex}.event-album-link:hover{background:var(--color-blue);color:var(--color-white);border-color:var(--color-blue);transform:translateY(-1px)}.event-info h3{color:var(--text-dark);margin-bottom:var(--spacing-xs);font-size:1.2rem}.event-info p{color:var(--text-muted);margin-bottom:var(--spacing-sm);font-size:.9rem}.event-gallery{margin-top:var(--spacing-sm);gap:4px;display:flex}.gallery-thumb{border-radius:var(--radius-sm);cursor:pointer;width:50px;height:50px;transition:var(--transition-fast);overflow:hidden}.gallery-thumb:hover{transform:scale(1.1)}.gallery-thumb img{object-fit:cover;width:100%;height:100%}.contact-section{background:var(--bg-light);padding:var(--spacing-xl) 0}.contact-container{gap:var(--spacing-xl);grid-template-columns:1fr 1fr;align-items:start;display:grid}.contact-left h2{margin-bottom:var(--spacing-xs);color:var(--text-dark);font-size:1.8rem}.contact-subtitle{text-transform:uppercase;letter-spacing:3px;color:var(--text-muted);margin-bottom:var(--spacing-sm);font-size:.75rem}.contact-text{color:var(--text-muted);margin-bottom:var(--spacing-md);font-size:1rem;line-height:1.8}.contact-socials{align-items:center;display:flex}.contact-socials .social-icons-container{gap:var(--spacing-sm)}.contact-socials .social-icon{color:var(--color-blue);background:#0411451a}.contact-socials .social-icon:hover{background:var(--color-blue);color:var(--color-white)}.contact-form{background:var(--color-white);padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:0 4px 20px #00000014}.contact-linkedin{padding:var(--spacing-md);justify-content:center;align-items:center;min-height:360px;display:flex}.contact-linkedin .badge-base.LI-profile-badge{width:100%;max-width:360px;margin:0 auto}.form-group{margin-bottom:var(--spacing-md)}.form-group label{color:var(--text-dark);margin-bottom:var(--spacing-xs);font-size:.85rem;font-weight:600;display:block}.form-group input,.form-group textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-gray-medium);border-radius:var(--radius-sm);transition:var(--transition-fast);font-family:inherit;font-size:1rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-blue);outline:none;box-shadow:0 0 0 3px #0411451a}.form-group textarea{resize:vertical;min-height:150px}.submit-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-blue);color:var(--color-white);text-transform:uppercase;letter-spacing:2px;border-radius:var(--radius-sm);transition:var(--transition-normal);font-size:.9rem;font-weight:600}.submit-btn:hover{background:var(--color-blue-light);transform:translateY(-2px)}.footer{background:var(--bg-dark);padding:var(--spacing-lg) 0;text-align:center}.footer-content{align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.back-to-top{align-items:center;gap:var(--spacing-xs);text-transform:uppercase;letter-spacing:2px;color:var(--text-light);transition:var(--transition-normal);font-size:.8rem;font-weight:600;display:inline-flex}.back-to-top:hover{color:var(--color-blue);transform:translateY(-3px)}.footer-socials{justify-content:center;display:flex}.footer-socials .social-icons-container{gap:var(--spacing-sm)}.footer-socials .social-icon{color:var(--color-white);background:#ffffff1a}.footer-socials .social-icon:hover{background:var(--color-blue);color:var(--color-white)}.footer-copyright{color:#ffffff80;font-size:.85rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.6s forwards fadeIn}.animate-fade-in-up{animation:.6s forwards fadeInUp}.loading-spinner{border:3px solid #0411451a;border-top-color:var(--color-blue);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{z-index:2000;opacity:0;pointer-events:none;transition:var(--transition-normal);background:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;pointer-events:all}.modal-content{max-width:90vw;max-height:90vh}.modal-content img{object-fit:contain;max-width:100%;max-height:90vh}.modal-close{top:var(--spacing-md);right:var(--spacing-md);width:50px;height:50px;color:var(--color-white);cursor:pointer;transition:var(--transition-normal);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute}.modal-close:hover{background:var(--color-blue)}@media (width<=1024px){.hero{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.hero-left{padding:var(--spacing-lg);order:2}.hero-right{order:1;min-height:50vh}.about-container,.contact-container{gap:var(--spacing-lg);grid-template-columns:1fr}.navbar-menu{background:var(--bg-dark);justify-content:center;gap:var(--spacing-lg);width:100%;height:100vh;transition:var(--transition-normal);flex-direction:column;position:fixed;top:0;right:-100%}.navbar-menu.active{right:0}.menu-toggle{display:flex}}@media (width<=768px){:root{--spacing-lg:3rem;--spacing-xl:4rem}.hero-name{font-size:2.5rem}.projects-grid,.events-grid{grid-template-columns:1fr}.hero-socials{left:var(--spacing-md);bottom:var(--spacing-md)}}@media (width<=480px){.hero-left{padding:var(--spacing-md)}.section-header h2{font-size:1.5rem}.contact-form{padding:var(--spacing-md)}}
