:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}::-webkit-scrollbar{width:0px;height:0px}html{scrollbar-width:none;scroll-behavior:smooth}body{-ms-overflow-style:none}.navbar{position:fixed;top:2rem;left:50%;transform:translate(-50%);width:90%;max-width:1200px;z-index:1000;background:#ffffff39;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:2rem;box-shadow:0 8px 24px #0000000a;border:1.5px solid #00000031;transition:all .3s ease;-webkit-user-select:none;user-select:none}.navbar__container{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.5rem}.navbar__brand{font-size:1.2rem;font-weight:300;color:#2b2b2b;letter-spacing:1px}.navbar__menu{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.navbar__menu a{text-decoration:none;color:#111;font-weight:500;position:relative;transition:color .3s}.navbar__menu a:after{content:"";position:absolute;width:0;height:2px;background-color:#111;left:0;bottom:-3px;transition:width .3s ease}.navbar__menu a:hover:after{width:100%}.navbar__menu a:hover{color:#1990d0}.navbar__toggle{display:none;flex-direction:column;justify-content:space-between;width:24px;height:20px;background:transparent;border:none;cursor:pointer;padding:0;transition:transform .3s ease}.navbar__toggle span{display:block;height:3px;width:100%;background-color:#111;border-radius:2px;transition:all .3s ease}.navbar__toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.navbar__toggle.open span:nth-child(2){opacity:0}.navbar__toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media(max-width:768px){.navbar__toggle{display:flex}.navbar__menu{position:absolute;top:100%;left:50%;transform:translate(-50%) scaleY(0);transform-origin:top;flex-direction:column;align-items:center;background:#fffffff2;border-radius:1rem;padding:1rem 50vw;margin-top:1rem;gap:1rem;transition:transform .3s ease,opacity .3s ease;opacity:0;pointer-events:none}.navbar__menu.active{transform:translate(-50%) scaleY(1);opacity:1;pointer-events:auto}}.switch{position:relative;display:inline-block;width:40px;height:20px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;background-color:#ccc;border-radius:20px;inset:0;transition:.3s}.slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:.3s}input:checked+.slider{background-color:#007bff}input:checked+.slider:before{transform:translate(20px)}.navbar__lang{display:flex;align-items:center;margin-left:1rem}.hero{width:100vw;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#fff;position:relative;-webkit-user-select:none;user-select:none}.scroll-indicator{position:absolute;bottom:32px;width:24px;height:40px;border:2px solid #000;border-radius:14px;opacity:.6}.scroll-indicator span{position:absolute;top:8px;left:50%;width:4px;height:4px;background-color:#000;border-radius:50%;transform:translate(-50%);animation:scroll 1.5s infinite}@keyframes scroll{0%{opacity:0;transform:translate(-50%)}50%{opacity:1}to{opacity:0;transform:translate(-50%,12px)}}.profile-wrapper{position:relative;width:280px;height:280px;border-radius:50%;display:flex;align-items:center;justify-content:center}.profile-image{width:100%;height:100%;border-radius:50%;object-fit:cover;z-index:2}.profile-wrapper:before,.profile-wrapper:after{content:"";position:absolute;inset:0;border-radius:50%;z-index:1;background:#2ca0f3;animation:pulse-ring 2.5s linear infinite;will-change:transform,opacity}.profile-wrapper:after{animation-delay:1.75s}.profile-wrapper:after{animation-delay:1.2s}@keyframes pulse-ring{0%{transform:scale(1);opacity:.6}70%{opacity:.15}to{transform:scale(1.45);opacity:0}}.wave-button{--accent: #2CA0F3;position:relative;overflow:hidden;margin-top:25px;background-color:#fff;color:#000;border:2px solid #000;border-radius:6px;padding:10px 20px;width:180px;font-size:16px;font-family:inherit;font-weight:500;cursor:pointer;outline:none;transition:color .4s ease,border-color .4s ease;z-index:0}.wave-button:before{content:"";position:absolute;width:300%;height:300%;background-color:var(--accent);border-radius:50%;top:100%;left:100%;transform:translate(-50%,-50%) scale(0);transition:transform .3s ease;z-index:-1}.wave-button:hover{color:#fff;border:2px solid #2CA0F3}.wave-button:hover:before{transform:translate(-50%,-50%) scale(1)}.wave-button:active:before{background-color:#000;transition:background-color .1s}.wave-button:focus-visible{outline:2px dashed var(--accent);outline-offset:2px}.areas-section{width:100vw;min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#fff}.areas-container{width:80%;max-width:1200px;display:flex;flex-direction:column}.areas-title-wrapper{width:100%;display:flex;justify-content:flex-start;margin-bottom:16px}.areas-title{color:#111827;font-size:32px;font-weight:500}.areas-paragraph{font-size:22px;color:#4e4e4e;font-family:Inter,sans-serif;font-weight:400;line-height:1.8;text-align:justify;margin-bottom:40px}.areas-cards{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:24px;flex-wrap:wrap}.area-card{width:170px;height:170px;background-color:#fff;border:1.5px solid rgba(0,0,0,.29);border-radius:16px;box-shadow:0 4px 20px #0000001c;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.area-card-icon{width:48px;height:48px;margin-bottom:12px}.area-card-label{font-size:14px;font-weight:400;color:#000000c7;margin-top:10px;width:80%;font-family:Inter,sans-serif}.area-card{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease;cursor:pointer}.area-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px #00000029;border-color:#000000d7}.area-card:hover .area-card-icon{transform:scale(1.06);filter:brightness(0)}.area-card:hover .area-card-label{color:#000}.area-card-icon{transition:transform .3s ease,filter .3s ease}.area-card-label{transition:color .3s ease}.scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none}.scroll-line{width:1px;height:32px;background-color:#00000059;margin-bottom:6px}.scroll-dot{width:6px;height:6px;border-radius:50%;background-color:#000000b3;animation:scrollPulse 1.8s cubic-bezier(.4,0,.2,1) infinite}@keyframes scrollPulse{0%{transform:translateY(0);opacity:.3}50%{transform:translateY(10px);opacity:1}to{transform:translateY(18px);opacity:0}}.publications-section{width:100vw;min-height:100vh;display:flex;justify-content:center;padding:90px 0;background-color:#f8fafc;background-image:radial-gradient(circle,#e2e8f0 2px,transparent 1px);background-size:30px 30px;background-attachment:fixed;background-position:center top}.publications-container{width:80%;max-width:1100px;height:auto}.publications-title{font-family:Inter,sans-serif;font-size:32px;font-weight:600;color:#1f2937;margin-bottom:48px;letter-spacing:-.02em}.publications-list{display:flex;flex-direction:column;gap:22px}.publication-card{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:22px 26px;background-color:#fff;border-radius:14px;box-shadow:0 10px 30px #0000000a;transition:transform .25s ease,box-shadow .25s ease}.publication-card:hover{transform:translateY(-2px);box-shadow:0 18px 45px #00000014}.publication-year{font-family:Inter,sans-serif;font-size:16px;font-weight:600;color:#2563eb;align-self:start}.publication-content{display:flex;flex-direction:column;gap:6px}.publication-title{font-family:Inter,sans-serif;font-size:18px;font-weight:500;color:#111827;text-decoration:none;line-height:1.45}.publication-title:hover{text-decoration:underline}.publication-meta{font-family:Inter,sans-serif;font-size:14px;color:#6b7280}@media(max-width:768px){.publication-card{grid-template-columns:1fr;gap:12px}.publication-year{font-size:14px}}.talks-section{width:100vw;min-height:80vh;display:flex;align-items:center;justify-content:center;padding:80px 0;background-color:#f9fafb;background-image:repeating-linear-gradient(to bottom,#f9fafb,#f9fafb 19px,#e5e7eb 20px);background-attachment:fixed;background-position:center top}.talks-container{width:85%;max-width:1200px;display:flex;flex-direction:column;background-color:transparent}.talks-title{font-family:Inter,sans-serif;font-size:32px;font-weight:600;color:#1f2937;margin-bottom:48px;letter-spacing:-.02em;text-align:start}.talks-list{display:flex;flex-direction:column;gap:24px}.talks-card{display:flex;flex-direction:row;align-items:center;background-color:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 6px 24px #00000014;transition:transform .3s ease,box-shadow .3s ease;cursor:default}.talks-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px #0000001f}.talks-year{font-size:1.25rem;font-weight:500;color:#6366f1;width:80px;text-align:center;margin-right:24px}.talks-content{display:flex;flex-direction:column}.talks-name{font-size:1.1rem;font-weight:500;color:#111827}.talks-location{font-size:.9rem;font-weight:400;color:#6b7280;margin-top:4px}@media screen and (max-width:768px){.talks-card{flex-direction:column;align-items:flex-start}.talks-year{width:100%;text-align:left;margin-bottom:8px}}.projects-section{width:100vw;min-height:100vh;display:flex;justify-content:center;padding:80px 0;background-color:#f8fafc;-webkit-user-select:none;user-select:none;background-image:radial-gradient(circle,#e2e8f0 2px,transparent 1px);background-size:25px 25px}.projects-container{width:85%;max-width:1200px;display:flex;flex-direction:column}.projects-title{font-family:Inter,sans-serif;font-size:32px;font-weight:600;color:#1f2937;margin-bottom:48px;margin-top:48px;letter-spacing:-.02em;text-align:start}.projects-list{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.project-card{width:248px;height:370px;background-color:#fff;border-radius:14px;box-shadow:0 10px 30px #0000000a;padding:16px;display:flex;flex-direction:column;justify-content:flex-start;position:relative;transition:transform .35s ease,box-shadow .35s ease,filter .35s ease;border:1.5px solid #00000039;will-change:transform,box-shadow,filter}.project-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 60px #0000001f;border-color:#3a3a3a;filter:brightness(1.03)}.project-image{width:100%;height:150px;object-fit:cover;border-radius:12px 12px 0 0;margin-bottom:12px}.project-name{font-family:Inter,sans-serif;font-size:20px;font-weight:600;color:#111827;text-align:center;margin-bottom:8px}.project-summary{font-family:Inter,sans-serif;font-size:14px;color:#6b7280;text-align:justify;margin-bottom:60px;line-height:1.4;overflow:hidden}.project-button{position:absolute;bottom:16px;left:16px;right:16px;text-align:center;padding:10px 0;background-color:#2ca0f3;color:#fff;font-weight:500;border-radius:8px;text-decoration:none;transition:background-color .25s ease;cursor:pointer}.project-button:hover{background-color:#2384d4;color:#fff}@media screen and (max-width:768px){.projects-list{justify-content:center}.project-card{width:90%;height:auto;padding-bottom:64px}.project-summary{margin-bottom:64px}}.contact-section{width:100vw;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#f5f2f2;position:relative;-webkit-user-select:none;user-select:none}.contact-profile-wrapper{position:relative;width:280px;height:280px;border-radius:50%;display:flex;align-items:center;justify-content:center}.contact-profile-image{width:100%;height:100%;border-radius:50%;object-fit:cover;z-index:2}.contact-profile-wrapper:before{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid rgba(255,255,255,.7);animation:pulse 2.5s ease-out infinite}.contact-profile-wrapper:after{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid rgba(255,255,255,.4);animation:pulse 2.5s ease-out infinite;animation-delay:1.2s}@keyframes pulse{0%{transform:scale(1);opacity:.8}to{transform:scale(1.4);opacity:0}}.contact-wave-button{--accent: #2CA0F3}.contact-form{display:flex;flex-direction:column;width:100%;gap:15px;margin-bottom:25px}.contact-form input,.contact-form textarea{padding:12px 15px;font-size:16px;border:1.5px solid #ccc;background-color:#fff;border-radius:6px;outline:none;transition:border .3s ease;color:#000}.contact-form textarea{resize:none;width:94%}.button-send{width:80%;max-width:300px;margin:10px;background-color:#2ca0f3;color:#fff;transition:all .3s ease;border:none;padding:15px}.button-send:hover{background-color:darken(#2a98e7,10%);transform:translateY(-2px)}.button-secundary{width:80%;max-width:300px;margin:10px;background-color:transparent;color:#010101;transition:all .3s ease;border:2px solid #000000;height:20px}.button-secundary:hover{background-color:#0000;color:#fff;transform:translateY(-2px);border-color:#2a98e7;color:#2a98e7}
