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