:root{--bg: #E0F2FE;--text: #1f2937;--muted: #475569;--primary: #0E7490;--primary-dark: #0A5C72;--surface: #FFFFFF}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:repeating-linear-gradient(135deg,var(--bg) 0px,var(--bg) 30px,rgba(186,230,253,.2) 30px,rgba(186,230,253,.2) 60px),linear-gradient(135deg,#e0f2fe,#bae6fd,#e0f2fe);background-attachment:fixed;background-size:100% 100%,400% 400%;animation:gradientShift 20s ease infinite}h1,h2,h3,h4,h5,h6{text-shadow:0 1px 1px rgba(0,0,0,.2)}p,li,span,div,a,label{text-shadow:0 .5px 1px rgba(0,0,0,.15)}.muted{text-shadow:0 .5px 1px rgba(0,0,0,.2)}.card,.hero-card,.nav-header,.footer,input,textarea,select,button,.card h1,.card h2,.card h3,.card h4,.card h5,.card h6,.card p,.card li,.card span,.card div,.card a,.hero-card h1,.hero-card h2,.hero-card h3,.hero-card h4,.hero-card h5,.hero-card h6,.hero-card p,.hero-card li,.hero-card span,.hero-card div,.hero-card a{text-shadow:none}@keyframes gradientShift{0%,to{background-position:0% 0%,0% 50%}50%{background-position:0% 0%,100% 50%}}a{color:inherit;text-decoration:none}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 1rem}.nav-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--surface);border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.nav{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{font-weight:700;font-size:1.125rem;cursor:pointer;display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.brand:hover{opacity:.8}.brand-logo{height:40px;width:auto;object-fit:contain;transition:transform .3s cubic-bezier(.4,0,.2,1)}.brand:hover .brand-logo{transform:scale(1.05)}.brand-text{display:none}@media(min-width:768px){.brand-text{display:inline}}.hamburger{display:inline-flex;flex-direction:column;gap:4px;background:transparent;border:1px solid #e5e7eb;border-radius:8px;padding:6px 8px}.hamburger span{display:block;width:20px;height:2px;background:var(--text)}.nav-links{display:none;align-items:center;gap:1rem}.nav-links a{color:var(--muted);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.nav-links a:hover{color:var(--primary);transform:translateY(-2px)}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--primary);transition:width .3s cubic-bezier(.4,0,.2,1)}.nav-links a:hover:after{width:100%}.nav-links .btn-primary{background:var(--primary);color:#fff;padding:.5rem .9rem;border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-links .btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #0e74904d}.nav-links .btn-primary:after{display:none}@media(min-width:768px){.hamburger{display:none}.nav-links{display:flex}}.nav-links.open{position:absolute;left:0;right:0;top:64px;display:flex;flex-direction:column;background:var(--surface);border-bottom:1px solid #e5e7eb;padding:.75rem 1rem 1rem}main{padding-top:64px}.hero{padding:3rem 0 2rem;opacity:1;visibility:visible}.hero h1,.hero p{visibility:visible}.hero-grid{display:grid;grid-template-columns:1fr;gap:2rem}.hero h1{font-size:2rem;line-height:1.2;margin:0 0 .5rem;text-shadow:-1px -1px 0 rgba(255,255,255,.9),1px -1px 0 rgba(255,255,255,.9),-1px 1px 0 rgba(255,255,255,.9),1px 1px 0 rgba(255,255,255,.9),0 0 6px rgba(255,255,255,.6)}.hero p{color:var(--muted);margin:0 0 1.25rem}.hero-cta{display:inline-block;background:var(--primary);color:#fff;padding:.75rem 1rem;border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden}.hero-cta:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.hero-cta:hover:before{width:300px;height:300px}.hero-cta:hover{background:var(--primary-dark);transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #0e749066}.hero-cta:active{transform:translateY(0) scale(.98)}.hero-card{background:var(--surface);border:1px solid #e5e7eb;border-radius:12px;padding:1rem}.hero-image-wrapper{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem}.hero-image{width:100%;max-width:400px;height:auto;border-radius:12px;object-fit:cover;box-shadow:0 10px 30px #0000001a;transition:transform .3s ease}.hero-image-wrapper:hover .hero-image{transform:scale(1.02)}.hero-credentials{width:100%;max-width:400px;display:flex;flex-direction:column;gap:1rem;padding-top:1rem}.credential-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;background:#fffc;border-radius:8px;border-left:3px solid var(--primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.credential-item strong{font-size:1rem;font-weight:600;color:var(--text)}.credential-item .muted{font-size:.875rem;color:var(--muted)}@media(min-width:1024px){.hero-credentials{max-width:350px}}@media(min-width:1024px){.hero{padding:4rem 0 3rem}.hero-grid{grid-template-columns:1.2fr 1fr;align-items:center}.hero h1{font-size:2.5rem}.hero-image{max-width:350px}}.section{padding:3rem 0;visibility:visible}.section h2{margin:0 0 1rem;font-size:1.75rem}.muted{color:var(--muted)}.about-content-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:start}.about-text{max-width:800px}.about-carousel-wrapper{width:100%;max-width:min(400px,70vw);margin:0 auto}.carousel-container{position:relative;width:100%;aspect-ratio:1 / 1;overflow:hidden;border-radius:16px;box-shadow:0 8px 24px #0000001f;background:transparent}.carousel-track{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1);height:100%;width:100%;align-items:stretch}.carousel-slide{width:100%;min-width:100%;max-width:100%;flex-shrink:0;flex-grow:0;height:100%;position:relative}.carousel-image{width:100%;height:100%;object-fit:contain;display:block;background:transparent;border-radius:16px}.carousel-caption{padding:1rem;text-align:center;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;font-size:.9rem;color:var(--text);line-height:1.5;margin-top:1rem;box-shadow:0 2px 8px #0000001a}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--primary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10;box-shadow:0 4px 12px #00000026;opacity:0}.carousel-container:hover .carousel-button{opacity:1}.carousel-button:hover{background:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 6px 20px #0003}.carousel-button:active{transform:translateY(-50%) scale(.95)}.carousel-button svg{width:20px;height:20px}.carousel-button-prev{left:1rem}.carousel-button-next{right:1rem}.carousel-indicators{display:flex;justify-content:center;gap:.75rem;margin-top:1.5rem}.carousel-indicator{width:10px;height:10px;border-radius:50%;border:2px solid var(--primary);background:transparent;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);padding:0}.carousel-indicator:hover{background:#0e74904d;transform:scale(1.3)}.carousel-indicator.active{background:var(--primary);width:32px;border-radius:5px;transform:scale(1)}@media(min-width:1024px){.about-content-grid{grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center}.about-carousel-wrapper{max-width:100%}}@media(max-width:768px){.carousel-button{width:40px;height:40px;opacity:1}.carousel-button svg{width:18px;height:18px}.carousel-button-prev{left:.5rem}.carousel-button-next{right:.5rem}.carousel-indicator{width:8px;height:8px}.carousel-indicator.active{width:24px}}.cards{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.cards{grid-template-columns:repeat(3,1fr)}}.card{background:var(--surface);border:1px solid #e5e7eb;border-radius:12px;padding:1rem;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;transform-style:preserve-3d;perspective:1000px}.card:hover{transform:translateY(-8px) rotateX(2deg) rotateY(-2deg) scale(1.02);box-shadow:0 20px 40px #00000026,0 10px 20px #0e74901a;border-color:var(--primary)}.card h3{transition:color .3s ease}.card:hover h3{color:var(--primary)}.footer{background:var(--surface);border-top:1px solid #e5e7eb;margin-top:2rem;width:100%}.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;padding:2rem 1rem 1rem}.footer-grid>div{display:flex;flex-direction:column;gap:.5rem}.footer-grid h3,.footer-grid h4{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.footer-grid p{margin:0;font-size:.9rem;color:var(--muted);word-wrap:break-word;line-height:1.6}@media(min-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem;padding:2.5rem 1rem 1.5rem}}@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(4,1fr);gap:2rem}}.footer-bottom{padding:.75rem 1rem 1.5rem;color:var(--muted);font-size:.875rem;text-align:center;word-wrap:break-word}@media(min-width:768px){.footer-bottom{text-align:left}}.form{display:grid;gap:.75rem;max-width:640px}.input,.textarea,.select{width:100%;padding:.65rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem}.textarea{min-height:120px}.btn{display:inline-block;padding:.7rem 1rem;border-radius:10px;border:1px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .5s,height .5s}.btn:active:after{width:300px;height:300px}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #0e74904d}.btn.outline{border-color:var(--primary);color:var(--primary);background:transparent}.btn.outline:hover{border-color:var(--primary-dark);color:var(--primary-dark);background:#0e74900d;transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px #0e749033}.btn:active{transform:translateY(0) scale(.98)}.experience-section{background:linear-gradient(to bottom,var(--bg),var(--surface))}.timeline{position:relative;max-width:900px;margin:0 auto;padding:2rem 0}.timeline-line{position:absolute;left:20px;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--primary),var(--primary-dark));border-radius:2px}.timeline-item{position:relative;margin-bottom:3rem;padding-left:4rem}.timeline-item:last-child{margin-bottom:0}.timeline-dot-wrapper{position:absolute;left:0;top:.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;z-index:2}.timeline-dot{width:16px;height:16px;border-radius:50%;background:var(--primary);border:3px solid var(--surface);box-shadow:0 0 0 3px var(--primary);transition:all .3s ease}.timeline-dot.current{background:var(--primary-dark);box-shadow:0 0 0 3px var(--primary-dark),0 0 20px #0e749066;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 3px var(--primary-dark),0 0 20px #0e749066}50%{box-shadow:0 0 0 3px var(--primary-dark),0 0 30px #0e749099}}.timeline-content{background:var(--surface);border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1)}.timeline-item:hover .timeline-content{transform:translate(8px);box-shadow:0 4px 16px #0000001a;border-color:var(--primary)}.timeline-period{font-size:.875rem;color:var(--primary);font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.timeline-title{font-size:1.125rem;font-weight:700;color:var(--text);margin:0 0 .5rem;line-height:1.4}.timeline-org{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:.25rem}.timeline-location{font-size:.9rem;color:var(--muted);margin-bottom:.75rem;font-style:italic}.timeline-description{font-size:.95rem;color:var(--muted);line-height:1.6;margin:.75rem 0 0}@media(min-width:768px){.timeline{padding:3rem 0}.timeline-line{left:30px}.timeline-item{padding-left:5rem}.timeline-dot-wrapper{left:10px;width:50px;height:50px}.timeline-dot{width:20px;height:20px}.timeline-content{padding:2rem}.timeline-title{font-size:1.25rem}}.publications-section{background:linear-gradient(to bottom,var(--surface),var(--bg))}.publications-list{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.publication-item{position:relative;height:100%;transform-style:preserve-3d;perspective:1000px}.publication-content{background:var(--surface);border:1px solid #e5e7eb;border-radius:8px;padding:1rem 1.25rem;box-shadow:0 1px 4px #0000000d;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;height:180px;display:flex;flex-direction:column;overflow:hidden;transform:translateZ(0);will-change:transform}.publication-content:hover{transform:translateY(-10px) translateZ(10px) rotateX(3deg) rotateY(-2deg) scale(1.02)!important;border-color:var(--primary);box-shadow:0 20px 40px #00000026,0 10px 20px #0e74901a}.publication-content.expanded{padding:1.5rem 1.75rem;box-shadow:0 4px 12px #0000001a;border-color:var(--primary);height:auto;min-height:180px}.publication-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .2s ease}.publication-modal{background:var(--surface);border-radius:12px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.service-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;opacity:1;visibility:visible}.service-modal{background:var(--surface);border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;position:relative;z-index:10001;opacity:1;visibility:visible;transform:scale(1);display:block}.service-modal-close{position:absolute;top:1rem;right:1rem;background:var(--primary);color:#fff;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;cursor:pointer;transition:all .2s ease;z-index:1;line-height:1}.service-modal-close:hover{background:var(--primary-dark);transform:scale(1.1) rotate(90deg)}.service-modal-content{padding:2.5rem}.service-modal-content h2{font-size:1.75rem;font-weight:700;color:var(--text);margin:0 0 1.5rem;line-height:1.3;padding-right:2.5rem}.service-subservices-list{list-style:none;padding:0;margin:0}.service-subservices-list li{padding:.75rem 1rem;margin-bottom:.5rem;background:#0e74900d;border-left:3px solid var(--primary);border-radius:4px;font-size:1rem;color:var(--text);transition:all .2s ease}.service-subservices-list li:hover{background:#0e74901a;transform:translate(4px)}.publication-modal-close{position:absolute;top:1rem;right:1rem;background:var(--primary);color:#fff;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;cursor:pointer;transition:all .2s ease;z-index:1}.publication-modal-close:hover{background:var(--primary-dark);transform:scale(1.1)}.publication-modal-content{padding:2.5rem}.publication-modal-title{font-size:1.5rem;font-weight:700;color:var(--text);margin:1rem 0 1.5rem;line-height:1.4;padding-right:2rem}.publication-header{display:flex;align-items:flex-start;gap:1rem;position:relative;flex:1;min-height:0}.publication-preview{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #f1f5f9;flex-shrink:0}.publication-preview-text{font-size:.875rem;color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.publication-details{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.publication-year{display:inline-block;background:var(--primary);color:#fff;padding:.3rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;flex-shrink:0;margin-top:.125rem}.publication-title{font-size:.95rem;font-weight:600;color:var(--text);margin:0;line-height:1.4;flex:1;padding-right:2rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:0}.publication-content.expanded .publication-title{font-size:1.1rem;font-weight:700;margin-bottom:.75rem;padding-right:0;-webkit-line-clamp:unset;display:block}.publication-authors{font-size:1rem;color:var(--text);margin-bottom:.5rem;font-weight:500}.publication-journal{font-size:.95rem;color:var(--muted);margin-bottom:.75rem}.publication-doi{font-size:.9rem;color:var(--muted);margin-bottom:1rem}.publication-doi a{color:var(--primary);text-decoration:none;transition:color .2s}.publication-doi a:hover{color:var(--primary-dark);text-decoration:underline}.publication-abstract{font-size:.95rem;color:var(--muted);line-height:1.6;margin:1rem 0 0;padding-top:1rem;border-top:1px solid #e5e7eb}.publication-category{margin-bottom:3rem;display:contents}.publication-category-title{grid-column:1 / -1;margin-bottom:1.5rem}.publication-category-title{font-size:1.5rem;font-weight:700;color:var(--text);margin:0 0 2rem;padding-bottom:.75rem;border-bottom:2px solid var(--primary)}.publication-type{display:inline-block;background:#0e74901a;color:var(--primary);padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:600;margin-bottom:.5rem}@media(max-width:1400px){.publications-list,.publication-category{grid-template-columns:repeat(4,1fr)}}@media(max-width:1024px){.publications-list,.publication-category{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.publications-list,.publication-category{grid-template-columns:repeat(2,1fr)}.publication-content{padding:1rem 1.25rem}.publication-content.expanded{padding:1.5rem 1.75rem}.publication-title{font-size:.9rem}.publication-content.expanded .publication-title{font-size:1.1rem}}@media(max-width:480px){.publications-list,.publication-category{grid-template-columns:1fr}}@media(min-width:1401px){.publication-content{padding:1.25rem 1.5rem}.publication-content.expanded{padding:2rem 2.25rem}.publication-title{font-size:1rem}.publication-content.expanded .publication-title{font-size:1.25rem}.publication-category-title{font-size:1.75rem}}
