:root{--navy-950: #041b45;--navy-900: #06265c;--navy-800: #0b3477;--blue-600: #07306c;--blue-500: #07306c;--blue-100: #e8eef7;--accent-contrast: #fff;--ink: #0c2146;--muted: #52627c;--line: #d3dbe6;--surface: #f6f7f9;--canvas: #eceff3;--shadow: 0 10px 28px rgba(9, 38, 89, .08);--shell: 1320px;--radius: 8px;--font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}html[data-theme=dark]{color-scheme:dark;--navy-950: #f4f8ff;--navy-900: #dbe8f8;--navy-800: #b8cee8;--blue-600: #82aee5;--blue-500: #82aee5;--blue-100: #18375f;--accent-contrast: #06162f;--ink: #e8f0fb;--muted: #a7b6ca;--line: #2a4263;--surface: #0d2445;--canvas: #06162f;--shadow: 0 12px 30px rgba(0, 0, 0, .26)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;min-width:320px;overflow-x:clip;background:var(--canvas);color:var(--ink);font-family:var(--font)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid rgba(23,105,255,.35);outline-offset:3px}img{display:block;max-width:100%}.reveal{opacity:0;transition:opacity .65s ease,transform .7s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.reveal-fade{transform:none}.reveal-up{transform:translateY(34px)}.reveal-left{transform:translate(-38px)}.reveal-right{transform:translate(38px)}.reveal-scale{transform:translateY(18px) scale(.965)}.reveal.is-visible{opacity:1;transform:none}.reveal-stagger>*,.reveal .stagger-children>*{opacity:0;transform:translateY(18px) scale(.985);transition:opacity .48s ease,transform .56s cubic-bezier(.22,1,.36,1)}.reveal-stagger.is-visible>*,.reveal.is-visible .stagger-children>*{opacity:1;transform:none}.reveal-stagger.is-visible>:nth-child(2),.reveal.is-visible .stagger-children>:nth-child(2){transition-delay:70ms}.reveal-stagger.is-visible>:nth-child(3),.reveal.is-visible .stagger-children>:nth-child(3){transition-delay:.14s}.reveal-stagger.is-visible>:nth-child(4),.reveal.is-visible .stagger-children>:nth-child(4){transition-delay:.21s}.reveal-stagger.is-visible>:nth-child(5),.reveal.is-visible .stagger-children>:nth-child(5){transition-delay:.28s}.reveal-stagger.is-visible>:nth-child(6),.reveal.is-visible .stagger-children>:nth-child(6){transition-delay:.35s}.reveal-stagger.is-visible>:nth-child(7),.reveal.is-visible .stagger-children>:nth-child(7){transition-delay:.42s}.reveal-stagger.is-visible>:nth-child(8),.reveal.is-visible .stagger-children>:nth-child(8){transition-delay:.49s}.hero .hero-copy{opacity:0;transform:translate(-24px);transition:opacity .65s 80ms ease,transform .7s 80ms cubic-bezier(.22,1,.36,1)}.hero .portrait-wrap{opacity:0;transform:translate(28px) scale(.97);transition:opacity .7s .16s ease,transform .78s .16s cubic-bezier(.22,1,.36,1)}.hero.is-visible .hero-copy,.hero.is-visible .portrait-wrap{opacity:1;transform:none}.reveal .section-heading svg,.reveal .card-heading svg,.reveal .skill-heading svg{transform:scale(.65) rotate(-12deg);transition:transform .55s .16s cubic-bezier(.34,1.56,.64,1)}.reveal.is-visible .section-heading svg,.reveal.is-visible .card-heading svg,.reveal.is-visible .skill-heading svg{transform:none}.reveal.is-visible .research-icon{animation:research-float 4s ease-in-out infinite}.reveal.is-visible .research-icon svg{animation:research-brain-glow 2.4s ease-in-out infinite}.shell{width:min(calc(100% - 48px),var(--shell));max-width:100%;margin-inline:auto}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:1000;background:#fffffff5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,backdrop-filter .22s ease}.site-header.is-scrolled{background:#ffffffb8;border-color:#adbcd18c;-webkit-backdrop-filter:blur(18px) saturate(165%);backdrop-filter:blur(18px) saturate(165%);box-shadow:0 8px 28px #07306c1a}.header-inner{min-height:70px;display:flex;align-items:center;gap:28px;transition:min-height .22s ease,gap .22s ease}.site-header.is-scrolled .header-inner{min-height:56px;gap:22px}.brand{display:flex;align-items:center;flex:0 0 auto}.brand-logo{width:220px;height:50px;display:block;overflow:hidden;transition:width .22s ease,height .22s ease}.site-header.is-scrolled .brand-logo{width:200px;height:42px}.theme-logo{display:block;width:100%;height:100%;object-fit:contain}.theme-logo-on-dark,html[data-theme=dark] .theme-logo-on-light{display:none}html[data-theme=dark] .theme-logo-on-dark{display:block}.site-nav{display:flex;justify-content:center;align-self:stretch;align-items:center;gap:18px;margin-left:auto}.site-nav a{height:100%;display:grid;place-items:center;position:relative;color:var(--ink);font-size:13px;white-space:nowrap;transition:color .18s ease,transform .18s ease}.site-nav a:after{content:"";position:absolute;height:3px;left:0;right:0;bottom:0;background:var(--blue-600);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.site-nav a.active{color:var(--blue-600)}.site-nav a.active:after{transform:scaleX(1)}.cv-button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:9px;padding:12px 18px;border:1px solid var(--blue-600);border-radius:7px;background:transparent;color:var(--blue-600);font-size:13px;font-weight:700;white-space:nowrap;transition:padding .22s ease,color .22s ease,transform .18s ease,box-shadow .18s ease;min-width:118px;justify-content:center}.cv-button:before{content:"";position:absolute;z-index:-1;inset:0;background:var(--blue-600);transform:scaleX(0);transform-origin:left center;transition:transform .28s cubic-bezier(.22,1,.36,1)}.cv-button:hover:before,.cv-button:focus-visible:before{transform:scaleX(1)}.site-header.is-scrolled .cv-button{padding-block:10px}.theme-toggle{height:34px;display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.theme-toggle:hover{border-color:var(--blue-600);box-shadow:0 5px 14px #07306c1f}.theme-symbol{flex:0 0 auto}.theme-track{width:30px;height:17px;position:relative;border-radius:999px;background:#cbd7e7;transition:background-color .2s ease}.theme-thumb{width:13px;height:13px;position:absolute;top:2px;left:2px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #03163d47;transition:transform .22s cubic-bezier(.34,1.56,.64,1)}.theme-toggle[aria-checked=true] .theme-track{background:#456f9f}.theme-toggle[aria-checked=true] .theme-thumb{transform:translate(13px)}.menu-button{display:none;border:0;background:transparent;color:var(--navy-900);padding:8px}.hero{background:linear-gradient(90deg,#fff 0% 55%,#f3f7fc);overflow:hidden;max-width:100%}.hero-grid{min-height:385px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:50px}.hero-copy{padding-block:42px 30px;position:relative;z-index:2}.hero h1{margin:0 0 6px;font-size:clamp(46px,6vw,64px);line-height:1;letter-spacing:.035em;color:var(--navy-900)}.hero-headline{margin:0;max-width:720px;font-size:18px;line-height:1.55;font-weight:760;color:var(--navy-950)}.contact-row,.social-row{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:19px}.contact-row span,.contact-row a,.social-row a{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.contact-row svg,.social-row svg{color:var(--blue-600)}.social-row{margin-top:14px}.social-link-orcid svg{color:#a6ce39}.social-link-researchgate svg{color:#0cb}.hero-summary{max-width:700px;margin:22px 0 0;color:var(--ink);font-size:14px;line-height:1.65}.portrait-wrap{height:385px;align-self:end;position:relative;display:flex;align-items:flex-end;justify-content:center}.portrait-wrap img{max-height:100%;width:auto;position:relative;z-index:2;object-fit:contain;object-position:bottom;filter:drop-shadow(0 12px 28px rgba(7,48,108,.16));pointer-events:none;-webkit-user-select:none;user-select:none;mix-blend-mode:normal;-webkit-mask-image:radial-gradient(ellipse at center,#000 32%,rgba(0,0,0,.7) 60%,transparent 69%);-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-image:radial-gradient(ellipse at center,#000 32%,rgba(0,0,0,.7) 60%,transparent 69%);mask-position:center;mask-repeat:no-repeat;mask-size:100% 100%}.portrait-wrap:before{content:"";width:420px;height:420px;border-radius:50%;position:absolute;bottom:-165px;background:#e9f0f8}.portrait-pattern{position:absolute;width:220px;height:220px;right:4%;top:5%;opacity:.42;background-image:radial-gradient(#b8c8de 1.4px,transparent 1.4px);background-size:9px 9px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent);mask-image:linear-gradient(to bottom,#000,transparent)}.metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;position:relative;z-index:5;margin-top:-2px;max-width:100%}.metric-card{min-height:78px;display:flex;align-items:center;justify-content:center;gap:20px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.metric-icon{color:var(--blue-600);flex:0 0 auto}.metric-card strong,.metric-card span{display:block}.metric-card strong{font-size:20px;color:var(--navy-950);font-variant-numeric:tabular-nums}.metric-card span{margin-top:2px;color:var(--muted);font-size:12px}.research-panel{margin-top:24px;scroll-margin-top:86px;padding:14px 20px 20px;border-radius:var(--radius);background:linear-gradient(120deg,#07306c,#031d4b);color:#fff;display:grid;grid-template-columns:1.35fr 1fr;gap:32px;box-shadow:var(--shadow);max-width:100%}.research-eyebrow{display:block;margin-bottom:7px;font-size:14px;font-weight:700;color:#bcd7ff}.research-copy{display:flex;align-items:center;gap:20px}.research-icon{width:75px;height:75px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;border:1px solid #57a0ff;background:#042151b3;color:#dcecff}.research-panel h2{margin:0;font-size:19px}.research-subtitle{margin:4px 0 0;color:#d7e5f8;font-size:13px}.research-summary{margin:11px 0 0;color:#edf5ff;font-size:12px;line-height:1.55}.research-tags{align-content:center;display:flex;flex-wrap:wrap;gap:10px;padding-top:13px}.research-tags span{padding:8px 14px;border-radius:6px;border:1px solid rgba(130,181,255,.32);background:#2c68b859;font-size:12px}.portfolio-sections{padding-block:18px 36px}.section-block{margin-top:14px;scroll-margin-top:86px}.content-card,.skill-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 20px #09265909}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;max-width:100%}.about-card,.strengths-card{padding:18px 22px}.card-heading,.section-heading,.project-title,.skill-heading{display:flex;align-items:center;gap:11px}.card-heading{color:var(--blue-600)}.card-heading h2,.section-heading h2,.skill-heading h3{margin:0;color:var(--navy-950);font-size:17px}.about-card>p{margin:14px 0 0;color:#40516b;font-size:13px;line-height:1.65}.strengths-card ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 34px;margin:18px 0 0;padding:0;list-style:none}.strengths-card li{display:flex;align-items:center;gap:10px;color:#31435f;font-size:13px}.strengths-card li svg{color:var(--blue-600);flex:0 0 auto}.section-heading{padding:17px 22px 10px;color:var(--blue-600)}.timeline{position:relative;padding:0 22px 17px 51px}.timeline:before{content:"";position:absolute;top:14px;bottom:30px;left:29px;width:1px;background:#cdd9e8}.timeline-item{position:relative}.timeline-item+.timeline-item{margin-top:7px}.timeline-dot{position:absolute;z-index:2;left:-28px;top:13px;width:10px;height:10px;border-radius:50%;background:var(--blue-600);box-shadow:0 0 0 3px #eef4ff;animation:timeline-dot-breathe 2.4s ease-in-out infinite}.timeline-dot:after{content:"";position:absolute;inset:-3px;z-index:-1;border:2px solid rgba(23,105,255,.62);border-radius:inherit;animation:timeline-dot-ripple 2.4s ease-out infinite}.timeline-item:nth-child(2) .timeline-dot,.timeline-item:nth-child(2) .timeline-dot:after{animation-delay:.45s}.timeline-item:nth-child(3) .timeline-dot,.timeline-item:nth-child(3) .timeline-dot:after{animation-delay:.9s}.timeline-item:nth-child(4) .timeline-dot,.timeline-item:nth-child(4) .timeline-dot:after{animation-delay:1.35s}.timeline-item:nth-child(5) .timeline-dot,.timeline-item:nth-child(5) .timeline-dot:after{animation-delay:1.8s}.timeline-card{padding:10px 14px;border:1px solid var(--line);border-radius:7px;background:#fff}.timeline-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.timeline-title-row h3{margin:0;color:var(--navy-950);font-size:14px}.timeline-title-row p{margin:3px 0 0;color:#40516b;font-size:13px}.timeline-title-row time{color:var(--blue-600);font-size:13px;font-weight:700;white-space:nowrap}.timeline-summary{margin:5px 0 0;max-width:990px;color:#4a5a72;font-size:12px;line-height:1.45}.timeline-responsibilities{display:grid;gap:3px;margin:6px 0 0;padding-left:17px;color:#53627a;font-size:12px;line-height:1.45}.timeline-responsibilities li::marker{color:var(--blue-600)}.projects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 10px 12px}.project-card{min-width:0;padding:14px 12px;border:1px solid var(--line);border-radius:7px;background:#fff}.project-title{align-items:flex-start;color:var(--blue-600)}.project-title svg{flex:0 0 auto}.project-title h3{margin:1px 0 0;color:var(--navy-950);font-size:14px;line-height:1.35;min-height:38px}.project-stack{margin:9px 0 0;padding:6px 8px;border-left:2px solid var(--blue-600);border-radius:0 4px 4px 0;background:var(--blue-100);color:var(--blue-600)!important;font-size:13px!important;font-weight:650;line-height:1.4!important;transition:background-color .18s ease,color .18s ease}.project-card>p:last-child{margin:8px 0 0;color:#5a6880;font-size:12px;line-height:1.5}.skills-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:0 10px 12px}.skill-card{padding:15px 18px;min-height:155px}.skill-heading{color:var(--blue-600)}.skill-heading h3{font-size:14px}.skill-card ul{margin:12px 0 0;padding:0 0 0 35px;list-style:none;color:#40516b;font-size:12px;line-height:1.65}.academic-section,.credentials-section{padding:16px 18px;min-width:0}.academic-heading{margin-bottom:12px}.subsection-title{margin:12px 0 8px;color:var(--navy-950);font-size:14px}.academic-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;max-width:100%}.academic-grid .education-list{display:grid;grid-template-columns:1fr;gap:8px}.academic-grid .publication-list{display:grid;grid-template-columns:1fr;gap:9px;margin:0;padding:0}.education-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.education-item{padding:10px 12px;border:1px solid var(--line);border-radius:7px}.item-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.item-title-row h4,.publication-card h4{margin:0;color:var(--navy-950);font-size:14px;line-height:1.4}.item-title-row time{color:var(--blue-600);font-size:13px;font-weight:700;white-space:nowrap}.education-item p{margin:5px 0 0;color:#53627a;font-size:12px;line-height:1.5}.education-item .institution{color:var(--blue-600)}.publications-anchor,.references-anchor{scroll-margin-top:86px}.publication-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:0}.publication-card{display:grid;grid-template-columns:25px minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--line);border-radius:7px;background:#fff}.publication-number{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--blue-100);color:var(--blue-600);font-size:12px;font-weight:800}.publication-card p{margin:4px 0 0;color:#53627a;font-size:12px;line-height:1.5}.publication-card a{display:inline-flex;align-items:center;gap:4px;margin-top:4px;color:var(--blue-600);font-size:12px;font-weight:650}.certification-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.certification-header .card-heading h2{font-size:17px}.certification-header .card-heading span{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:550}.certification-view-all{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 13px;border:1px solid var(--blue-600);border-radius:6px;background:transparent;color:var(--blue-600);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.certification-view-all:before{content:"";position:absolute;z-index:-1;inset:0;background:var(--blue-600);transform:scaleX(0);transform-origin:left center;transition:transform .24s cubic-bezier(.22,1,.36,1)}.certification-view-all:hover,.certification-view-all:focus-visible{color:var(--accent-contrast)}.certification-view-all:hover:before,.certification-view-all:focus-visible:before{transform:scaleX(1)}.certificate-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.certificate-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--surface);animation:certificate-card-enter .32s cubic-bezier(.22,1,.36,1) both;transition:border-color .2s ease,box-shadow .22s ease,transform .22s cubic-bezier(.22,1,.36,1)}.certificate-thumbnail{width:100%;aspect-ratio:4 / 3;position:relative;display:grid;place-items:center;overflow:hidden;padding:8px;border:0;border-bottom:1px solid var(--line);background:#edf1f6;cursor:zoom-in}.certificate-thumbnail:disabled{cursor:default}.certificate-thumbnail img{width:100%;height:100%;object-fit:contain;transition:transform .3s cubic-bezier(.22,1,.36,1)}.certificate-view-overlay{position:absolute;inset:auto 10px 10px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border-radius:5px;background:#041b45e6;color:#fff;font-size:12px;font-weight:800;opacity:0;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease}.certificate-image-missing{display:grid;justify-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:700}.certificate-card-content{display:grid;grid-template-rows:auto auto 1fr;min-height:112px;padding:12px}.certificate-card h3{margin:0;color:var(--navy-950);font-size:14px;line-height:1.38}.certificate-card p{margin:6px 0 0;color:var(--blue-600);font-size:13px;font-weight:700;line-height:1.35}.certificate-card time{align-self:end;display:block;margin-top:8px;color:var(--muted);font-size:12px;font-weight:650}body.certificate-viewer-open{overflow:hidden}.certificate-viewer{width:min(calc(100% - 32px),1120px);max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);box-shadow:0 26px 90px #00000080}.certificate-viewer::backdrop{background:#020b1dd6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.certificate-viewer[open]{animation:contact-modal-enter .24s cubic-bezier(.22,1,.36,1)}.certificate-viewer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid var(--line)}.certificate-viewer-header h2{margin:0;color:var(--navy-950);font-size:17px;line-height:1.4}.certificate-viewer-header p{margin:4px 0 0;color:var(--muted);font-size:12px}.certificate-viewer-header button{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);cursor:pointer}.certificate-viewer-header button:hover{border-color:var(--blue-600);color:var(--blue-600)}.certificate-viewer-image{height:min(78dvh,820px);display:grid;place-items:center;overflow:auto;padding:16px;background:var(--canvas)}.certificate-viewer-image img{max-width:100%;max-height:100%;object-fit:contain}.certificate-carousel-wrapper{position:relative;display:flex;align-items:center;gap:12px;padding-bottom:42px;max-width:100%;min-width:0}.certificate-carousel{display:flex;gap:14px;overflow-x:auto;scroll-behavior:smooth;padding:8px 12px;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.certificate-carousel::-webkit-scrollbar{height:10px}.certificate-carousel::-webkit-scrollbar-thumb{background:#00000014;border-radius:6px}.certificate-carousel .certificate-card{flex:0 0 260px;max-width:260px;scroll-snap-align:start}.carousel-nav{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer}.carousel-nav:disabled{opacity:.45;cursor:default}.carousel-nav:hover:not(:disabled){border-color:var(--blue-600);color:var(--blue-600)}@media(max-width:900px){.certificate-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.certificate-carousel .certificate-card{flex:0 0 220px;max-width:220px}}@media(max-width:520px){.certificate-gallery{grid-template-columns:repeat(1,minmax(0,1fr))}.certificate-carousel .certificate-card{flex:0 0 180px;max-width:180px}}.carousel-dots{position:absolute;left:50%;transform:translate(-50%);bottom:8px;display:flex;gap:8px}.carousel-dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(3,22,45,.06);background:#07306c24;cursor:pointer;transition:transform .18s ease,background-color .2s ease}.carousel-dot:hover,.carousel-dot:focus{transform:scale(1.12);background:#07306c2e}.carousel-dot:focus-visible{outline:3px solid rgba(7,48,108,.12);outline-offset:4px}.carousel-dot.active{background:var(--blue-600);box-shadow:0 0 0 4px #07306c14}.certificate-carousel-wrapper:focus-within .carousel-dot{outline:none}html[data-theme=dark] .carousel-dot{background:#ffffff0f;border-color:#ffffff0f}html[data-theme=dark] .carousel-dot.active{background:var(--blue-600);border-color:var(--blue-600);box-shadow:0 0 0 4px #82aee81f}.references-section{padding:0 18px 16px}.references-section .section-heading{padding-left:0}.references-header{display:flex;align-items:center;justify-content:space-between;gap:18px}.references-header>span{color:var(--muted);font-size:12px}.references-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reference-card{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:7px;min-width:0}.reference-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--blue-100);color:var(--blue-600)}.reference-card h4{margin:0;color:var(--navy-950);font-size:14px;line-height:1.4}.reference-card p{display:block;margin:3px 0 0;color:#53627a;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.reference-card span{display:block;margin-top:5px;color:var(--blue-600);font-size:13px;font-weight:650;line-height:1.35}.contact-banner{position:relative;overflow:hidden;min-height:126px;display:grid;grid-template-columns:1.25fr .85fr .7fr;align-items:center;gap:30px;padding:22px 38px;border-radius:var(--radius);background:linear-gradient(115deg,#06265c,#02163d);color:#fff;max-width:100%}.contact-message{display:flex;align-items:center;gap:24px;position:relative;z-index:2}.contact-message svg{flex:0 0 auto;color:#eaf3ff;transform-origin:center;will-change:transform,filter;animation:contact-plane-flight 4.6s ease-in-out infinite}.contact-message h2{margin:0;font-size:21px}.contact-message p{max-width:480px;margin:7px 0 0;color:#e5efff;font-size:12px;line-height:1.55}.contact-details{display:grid;gap:10px;position:relative;z-index:2;font-style:normal}.contact-details a,.contact-details span{display:flex;align-items:center;gap:9px;color:#eef5ff;font-size:12px}.contact-map{position:relative;z-index:2;min-height:82px;display:grid;place-items:center}.contact-map:before{content:"";position:absolute;inset:-18px -32px;opacity:.18;background-image:radial-gradient(#9fc7ff 1.3px,transparent 1.3px);background-size:8px 8px;-webkit-mask-image:radial-gradient(ellipse at center,#000 20%,transparent 72%);mask-image:radial-gradient(ellipse at center,#000 20%,transparent 72%);pointer-events:none}.contact-conversation-button{position:relative;z-index:1;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 16px;border:1px solid var(--blue-600);border-radius:7px;background:transparent;color:#fff;box-shadow:0 9px 22px #00000038;font:inherit;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;transition:color .22s ease,border-color .22s ease,box-shadow .32s ease,transform .32s cubic-bezier(.22,1,.36,1)}.contact-conversation-button:before{content:"";position:absolute;z-index:-1;inset:0;background:var(--blue-600);transform:scaleX(0);transform-origin:left center;transition:transform .28s cubic-bezier(.22,1,.36,1)}.contact-conversation-button svg{transition:transform .32s cubic-bezier(.22,1,.36,1)}.contact-conversation-button:hover{color:var(--accent-contrast);border-color:var(--blue-600);transform:translateY(-3px) scale(1.015);box-shadow:0 15px 30px #0000004d}.contact-conversation-button:hover:before,.contact-conversation-button:focus-visible:before{transform:scaleX(1)}.contact-conversation-button:hover svg{transform:translate(2px) rotate(-6deg) scale(1.08)}.contact-conversation-button:focus-visible{color:var(--accent-contrast);outline-color:var(--blue-600)}body.contact-modal-open{overflow:hidden}.contact-modal{width:min(calc(100% - 32px),620px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);box-shadow:0 26px 80px #0000006b}.contact-modal::backdrop{background:#020b1dc7;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.contact-modal[open]{animation:contact-modal-enter .24s cubic-bezier(.22,1,.36,1)}.contact-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 26px 20px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--blue-100),var(--surface) 72%)}.contact-modal-eyebrow{display:block;margin-bottom:5px;color:var(--blue-600);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.contact-modal-header h2{margin:0;color:var(--navy-950);font-size:22px}.contact-modal-header p{max-width:470px;margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.contact-modal-close{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease,transform .18s ease}.contact-modal-close:hover{border-color:var(--blue-600);color:var(--blue-600);transform:rotate(4deg)}.contact-modal-body{max-height:calc(100dvh - 180px);overflow-y:auto;padding:22px 26px 26px}.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.contact-form label{display:grid;gap:7px;color:var(--navy-950);font-size:13px;font-weight:700}.contact-form-full{grid-column:1 / -1}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--canvas);color:var(--ink);font:inherit;font-size:14px;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.contact-form input{height:44px;padding:0 12px}.contact-form textarea{min-height:132px;padding:11px 12px;line-height:1.5;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue-600);outline:0;background:var(--surface);box-shadow:0 0 0 3px #07306c26}.contact-form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-form-status{min-height:24px;margin-top:10px;font-size:12px;line-height:1.5}.contact-form-status p{margin:0;padding:8px 10px;border-radius:5px}.contact-form-status .is-success{background:#25d3661f;color:#178148}.contact-form-status .is-error{background:#c937461f;color:#bd3545}.contact-form-status a{font-weight:800;text-decoration:underline}.contact-modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px}.contact-submit-button,.contact-modal-whatsapp{position:relative;isolation:isolate;overflow:hidden;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 16px;border:1px solid var(--blue-600);border-radius:6px;background:transparent;color:var(--blue-600);font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:color .2s ease,transform .18s ease,box-shadow .18s ease}.contact-submit-button:before,.contact-modal-whatsapp:before{content:"";position:absolute;z-index:-1;inset:0;background:var(--blue-600);transform:scaleX(0);transform-origin:left center;transition:transform .26s cubic-bezier(.22,1,.36,1)}.contact-submit-button:hover:not(:disabled),.contact-submit-button:focus-visible,.contact-modal-whatsapp:hover,.contact-modal-whatsapp:focus-visible{color:var(--accent-contrast);transform:translateY(-2px);box-shadow:0 10px 22px #07306c33}.contact-submit-button:hover:not(:disabled):before,.contact-submit-button:focus-visible:before,.contact-modal-whatsapp:hover:before,.contact-modal-whatsapp:focus-visible:before{transform:scaleX(1)}.contact-submit-button:disabled{opacity:.62;cursor:wait}.contact-form-note{margin:12px 0 0;color:var(--muted);font-size:12px;text-align:center}.contact-form-note a{color:var(--blue-600);font-weight:800;text-decoration:underline}.site-footer{padding:15px 0 4px;color:var(--muted);font-size:12px}.footer-inner{display:flex;align-items:center;justify-content:center;gap:10px}.footer-logo{width:34px;height:34px;display:block;flex:0 0 auto;overflow:hidden;border-radius:6px}.site-footer p{margin:0}.whatsapp-float{position:fixed;z-index:30;right:22px;bottom:24px;width:54px;height:54px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:#25d366;color:#fff;box-shadow:0 10px 28px #08412047;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;max-width:calc(100vw - 16px)}.whatsapp-float:before{content:"";position:absolute;z-index:-1;inset:-7px;border:2px solid rgba(37,211,102,.5);border-radius:50%;pointer-events:none;animation:whatsapp-glow 2.4s ease-in-out infinite}.whatsapp-float:hover{color:#fff;background:#1fbd59;transform:translateY(-3px) scale(1.04);box-shadow:0 14px 34px #08412059}.whatsapp-float:focus-visible{outline-color:#07306c}.whatsapp-tooltip{position:absolute;right:calc(100% + 11px);padding:6px 9px;border-radius:5px;background:#fff;color:#000;font-size:12px;font-weight:700;opacity:0;pointer-events:none;transform:translate(5px);transition:opacity .16s ease,transform .16s ease}.whatsapp-float:hover .whatsapp-tooltip,.whatsapp-float:focus-visible .whatsapp-tooltip{opacity:1;transform:none}html[data-theme=light] body{background:var(--canvas)}html[data-theme=light] .site-header{background:#f4f6f9f0;border-color:#bfc9d6bf}html[data-theme=light] .site-header.is-scrolled{background:#eff2f6c2;border-color:#b0becfad;box-shadow:0 8px 28px #07306c17}html[data-theme=light] .hero{background:linear-gradient(90deg,#f7f8fa,#f4f6f8 55%,#e9eef4)}html[data-theme=light] .portrait-wrap:before{background:#e3e9f0}html[data-theme=light] .metric-card,html[data-theme=light] .content-card,html[data-theme=light] .skill-card,html[data-theme=light] .timeline-card,html[data-theme=light] .project-card,html[data-theme=light] .publication-card,html[data-theme=light] .certificate-card,html[data-theme=light] .reference-card{background:var(--surface)}html[data-theme=light] .education-item:hover,html[data-theme=light] .publication-card:hover,html[data-theme=light] .reference-card:hover{background:#eef2f6}html[data-theme=light] .certificate-card:hover{background:#e8eef7}html[data-theme=light] .theme-thumb{background:#f6f7f9}html[data-theme=dark] body{background:var(--canvas)}html[data-theme=dark] .site-header{background:#06162feb;border-color:#56779e73}html[data-theme=dark] .site-header.is-scrolled{background:#06162fad;border-color:#5e85b480;box-shadow:0 8px 30px #00000057}html[data-theme=dark] .hero{background:linear-gradient(90deg,#071a35,#0a2142 55%,#0d294d)}html[data-theme=dark] .portrait-wrap:before{background:#102d52}html[data-theme=dark] .portrait-wrap img{mix-blend-mode:screen;filter:drop-shadow(0 12px 30px rgba(87,147,216,.22))}html[data-theme=dark] .metric-card,html[data-theme=dark] .content-card,html[data-theme=dark] .skill-card,html[data-theme=dark] .timeline-card,html[data-theme=dark] .project-card,html[data-theme=dark] .publication-card,html[data-theme=dark] .certificate-card,html[data-theme=dark] .reference-card{background:var(--surface)}html[data-theme=dark] .contact-row span,html[data-theme=dark] .contact-row a,html[data-theme=dark] .social-row a,html[data-theme=dark] .about-card>p,html[data-theme=dark] .timeline-title-row p,html[data-theme=dark] .timeline-responsibilities,html[data-theme=dark] .project-card>p:last-child,html[data-theme=dark] .skill-card ul,html[data-theme=dark] .education-item p,html[data-theme=dark] .publication-card p,html[data-theme=dark] .certificate-card time,html[data-theme=dark] .reference-card p{color:var(--muted)}html[data-theme=dark] .hero-summary,html[data-theme=dark] .strengths-card li,html[data-theme=dark] .timeline-summary{color:var(--ink)}html[data-theme=dark] .theme-toggle{background:#102b50}html[data-theme=dark] .theme-track{background:#456f9f}html[data-theme=dark] .education-item:hover,html[data-theme=dark] .publication-card:hover,html[data-theme=dark] .reference-card:hover{background:#132f54}html[data-theme=dark] .certificate-card:hover{background:#18375f}html[data-theme=dark] .project-card:hover .project-stack{background:#234a76}html[data-theme=dark] .site-nav{background-color:transparent}html[data-theme=dark] .site-footer{color:var(--muted)}@media(hover:hover)and (pointer:fine){.site-nav a,.contact-row a,.social-row a,.contact-details a,.research-tags span,.metric-card,.about-card,.strengths-card,.timeline-card,.project-card,.skill-card,.education-item,.publication-card,.reference-card{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .22s ease,transform .22s cubic-bezier(.22,1,.36,1)}.site-nav a:hover{color:var(--blue-600);transform:translateY(-1px)}.site-nav a:hover:after{transform:scaleX(1)}.cv-button:hover{color:var(--accent-contrast);transform:translateY(-2px);box-shadow:0 8px 18px #03163d38}.contact-row a:hover,.social-row a:hover{color:var(--blue-600);transform:translateY(-1px)}.contact-details a:hover{color:#aac7ef;transform:translateY(-1px)}.metric-card:hover{border-color:#07306c61;transform:translateY(-5px);box-shadow:0 15px 32px #07306c24}.metric-card:hover .metric-icon{transform:scale(1.12) rotate(-5deg)}.metric-icon{transition:transform .22s cubic-bezier(.34,1.56,.64,1)}.about-card:hover,.strengths-card:hover,.skill-card:hover{border-color:#07306c52;transform:translateY(-4px);box-shadow:0 13px 28px #07306c1a}.timeline-card:hover{border-color:#07306c57;transform:translate(5px);box-shadow:0 8px 22px #07306c14}.project-card:hover{border-color:#07306c6b;transform:translateY(-6px) scale(1.012);box-shadow:0 16px 30px #07306c21}.project-card:hover .project-stack{background:#dce7f4}.project-card:hover .project-title svg,.skill-card:hover .skill-heading svg{transform:scale(1.15) rotate(-6deg)}.project-title svg,.skill-heading svg{transition:transform .22s cubic-bezier(.34,1.56,.64,1)}.education-item:hover,.publication-card:hover,.reference-card:hover{border-color:#07306c57;background:#f8fbff;transform:translateY(-3px);box-shadow:0 10px 24px #07306c17}.publication-card:hover .publication-number{background:var(--blue-600);color:#fff;transform:scale(1.08)}.publication-number{transition:color .18s ease,background-color .18s ease,transform .18s ease}.certificate-card:hover{border-color:#07306c6b;transform:translateY(-5px);box-shadow:0 14px 28px #07306c1f}.certificate-card:hover .certificate-thumbnail img{transform:scale(1.025)}.certificate-card:hover .certificate-view-overlay{opacity:1;transform:none}.research-tags span:hover{border-color:#bedcffb8;background:#4e85cd8c;transform:translateY(-2px)}}.status-screen{min-height:100vh;display:grid;place-content:center;text-align:center}.loader{width:42px;height:42px;border:4px solid var(--blue-100);border-top-color:var(--blue-600);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes timeline-dot-breathe{0%,to{transform:scale(1);filter:drop-shadow(0 0 0 rgba(23,105,255,0))}50%{transform:scale(1.18);filter:drop-shadow(0 0 5px rgba(23,105,255,.85))}}@keyframes timeline-dot-ripple{0%{opacity:.72;transform:scale(.6)}72%,to{opacity:0;transform:scale(1.9)}}@keyframes research-float{0%,to{transform:translateY(0) rotate(-2deg) scale(1);box-shadow:0 0 #82aee52e}50%{transform:translateY(-6px) rotate(2deg) scale(1.035);box-shadow:0 0 0 12px #82aee500}}@keyframes research-brain-glow{0%,to{opacity:.84;filter:drop-shadow(0 0 0 rgba(188,220,255,0))}50%{opacity:1;filter:drop-shadow(0 0 6px rgba(188,220,255,.72))}}@keyframes whatsapp-glow{0%,to{opacity:.35;transform:scale(.92);box-shadow:0 0 #25d3662e}50%{opacity:.9;transform:scale(1.08);box-shadow:0 0 24px 8px #25d36652}}@keyframes contact-plane-flight{0%,to{transform:translate(0) rotate(-7deg) scale(1);filter:drop-shadow(0 3px 2px rgba(0,0,0,.16))}25%{transform:translate(7px,-7px) rotate(-1deg) scale(1.04);filter:drop-shadow(-5px 7px 5px rgba(86,157,255,.28))}50%{transform:translate(13px,-3px) rotate(7deg) scale(1);filter:drop-shadow(-9px 5px 7px rgba(86,157,255,.4))}75%{transform:translate(6px,4px) rotate(1deg) scale(.98);filter:drop-shadow(-4px 1px 4px rgba(86,157,255,.24))}}@keyframes contact-modal-enter{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}@keyframes certificate-card-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(max-width:1180px){.site-nav{gap:16px}.site-nav a{font-size:12px}.brand-logo{width:190px;height:40px}}@media(max-width:900px){.header-inner{min-height:62px;gap:14px}.menu-button{display:inline-grid;place-items:center;margin-left:auto}.site-nav{display:none;position:absolute;top:62px;left:0;right:0;padding:12px 24px 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}html[data-theme=light] .site-nav{background:#f6f7f9f7}html[data-theme=dark] .site-nav{background:#081c39f5}.site-nav.is-open{display:grid;justify-content:stretch;gap:0}.site-nav a{height:auto;justify-content:start;padding:11px 0}.site-nav a.active{padding-inline:10px;border-radius:5px;background:var(--blue-100)}.site-nav a:after{display:none}.site-header.is-scrolled .site-nav{top:56px}.cv-button{padding:10px 13px}.cv-button{min-width:120px;justify-content:center}.hero-grid{min-height:auto;grid-template-columns:1fr 300px;gap:20px}.portrait-wrap{height:330px}.metrics-grid{grid-template-columns:repeat(3,1fr)}.research-panel{grid-template-columns:1fr}.projects-grid{grid-template-columns:repeat(2,1fr)}.skills-grid{grid-template-columns:repeat(3,1fr)}.contact-banner{grid-template-columns:1.2fr .8fr}.contact-map{grid-column:1 / -1;min-height:56px;justify-items:start}.certificate-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.academic-grid,.academic-grid .publication-list{grid-template-columns:1fr}}@media(max-width:520px){.certificate-carousel{padding:8px}.certificate-carousel .certificate-card{flex:0 0 200px;max-width:200px}.certificate-carousel::-webkit-scrollbar{height:8px}.certificate-carousel-wrapper{padding-bottom:62px}.portrait-pattern{right:-14%}}@media(max-width:420px){.carousel-nav{display:none}.carousel-dots{bottom:6px;gap:4px}.publication-card{grid-template-columns:1fr}.publication-number{margin-bottom:8px}}@media(max-width:680px){.education-list,.publication-list{grid-template-columns:1fr}}@media(max-width:680px){.shell{width:min(calc(100% - 28px),var(--shell))}.contact-modal{width:min(calc(100% - 20px),620px);max-height:calc(100dvh - 20px)}.contact-modal-header{padding:20px}.contact-modal-body{max-height:calc(100dvh - 165px);padding:18px 20px 20px}.contact-form-grid,.contact-modal-actions{grid-template-columns:1fr}.contact-form-full{grid-column:auto}.education-list,.publication-list,.certificate-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.certificate-viewer{width:min(calc(100% - 20px),1120px);max-height:calc(100dvh - 20px)}.certificate-viewer-image{height:min(72dvh,700px);padding:10px}.cv-button{font-size:0;gap:0;padding:10px;min-width:40px}.cv-button svg{width:19px;height:19px}.theme-toggle{padding-inline:5px}.theme-symbol{display:none}.hero-grid{display:flex;flex-direction:column}.hero-copy{padding-top:0}.hero h1{font-size:42px}.hero-headline{font-size:16px}.portrait-wrap{order:-1;width:100%;height:300px;margin-top:15px}.contact-row{gap:14px}.metrics-grid{grid-template-columns:repeat(2,1fr);margin-top:18px;gap:12px}.metric-card{justify-content:flex-start;gap:14px}.research-panel{padding:16px}.research-copy{align-items:flex-start}.research-icon{width:58px;height:58px}.about-grid,.strengths-card ul{grid-template-columns:1fr}.timeline{padding-left:42px;padding-right:12px}.timeline:before{left:24px}.timeline-dot{left:-23px}.timeline-title-row{display:block}.timeline-title-row time{display:inline-block;margin-top:6px}.projects-grid,.skills-grid{grid-template-columns:repeat(2,1fr)}.contact-banner{grid-template-columns:1fr;gap:18px;padding:25px}.contact-map{width:100%;min-height:62px;justify-items:start}.whatsapp-float{right:14px;bottom:16px;width:40px;height:40px}.references-grid{grid-template-columns:1fr}.references-header{display:block;margin-bottom:10px}.contact-row span,.contact-row a,.social-row a{font-size:12px;gap:5px}.contact-details,.contact-conversation-button{margin:0 auto}}@media(max-width:430px){.research-copy{display:block}.research-icon{margin-bottom:14px}.projects-grid,.education-list,.publication-list,.certificate-gallery{grid-template-columns:1fr}.certification-header{align-items:flex-start}.certification-view-all{flex:0 0 auto}.item-title-row{display:block}.item-title-row time{display:inline-block;margin-top:5px}.references-grid{grid-template-columns:1fr}.contact-message{align-items:flex-start;gap:15px}.contact-message svg{width:35px}.research-icon{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.reveal-stagger>*,.reveal .stagger-children>*,.hero .hero-copy,.hero .portrait-wrap{opacity:1!important;transform:none!important;transition:none!important}}
