:root{--color-scheme:light;--bg-deep:#fbf6f3;--bg-canvas:#fdf9f7;--bg-surface:#ffffffe6;--bg-surface-elevated:#fffffff5;--bg-surface-hover:#fff;--bg-surface-active:#f4ecea;--bg-tint:#3d5b590a;--bg-tint-hover:#3d5b5912;--control-bg:#fff;--control-bg-hover:#fff;--media-bg:#f1e6e3;--dot-bg:#fff;--border-subtle:#3d5b5921;--border-glass:#3d5b5929;--border-hover:#3d5b5973;--border-focus:#3d5b5999;--accent-rgb:61, 91, 89;--accent2-rgb:252, 181, 172;--accent3-rgb:95, 138, 133;--tint-rgb:61, 91, 89;--shadow-rgb:61, 91, 89;--shadow-a:.16;--cyan:#3d5b59;--cyan-light:#3d5b59;--cyan-glow:#3d5b5933;--emerald:#5f8a85;--emerald-light:#3d5b59;--emerald-glow:#5f8a8540;--amber:#fcb5ac;--amber-light:#a8483e;--amber-glow:#fcb5ac59;--violet:#8b5cf6;--violet-glow:#8b5cf640;--text-primary:#1e2e2d;--text-secondary:#4a5d5b;--text-muted:#6b7c7a;--text-accent:#3d5b59;--error:#c0392b;--shadow-glass:0 1px 2px #3d5b590d, 0 8px 24px -12px #3d5b592e;--shadow-glow:0 0 25px -5px #3d5b594d;--shadow-glow-emerald:0 0 25px -5px #5f8a854d;--shadow-card-hover:0 18px 36px -14px #3d5b5940, 0 0 0 1px #fcb5ac73;--nav-bg:#ffffffd1;--nav-bg-scrolled:#fffffff0;--nav-active-bg:#fcb5ac80;--nav-active-border:#fcb5ace6;--nav-active-text:#2c4442;--drawer-bg:#fff;--overlay-bg:#1e2e2d59;--footer-bg:#ffffffbf;--loader-bg:#fbf6f3f2;--avatar-border:#fff;--glow-ring:linear-gradient(135deg, #fcb5acf2 0%, #5f8a858c 100%);--btn-primary-bg:linear-gradient(135deg, #3d5b59 0%, #4d7370 100%);--btn-primary-bg-hover:linear-gradient(135deg, #2f4745 0%, #3d5b59 100%);--btn-primary-text:#fff;--grad-heading:linear-gradient(135deg, #1e2e2d 20%, #3d5b59 100%);--grad-accent:linear-gradient(135deg, #3d5b59 0%, #5f8a85 50%, #d0766a 100%);--grad-gold:linear-gradient(135deg, #d0766a 0%, #a8483e 100%);--grad-brand:linear-gradient(135deg, #1e2e2d 40%, #3d5b59 100%);--ambient-bg:radial-gradient(circle at 10% 15%, #fcb5ac4d 0%, transparent 45%), radial-gradient(circle at 90% 75%, #3d5b591a 0%, transparent 50%), #fbf6f3;--ambient-overlay:linear-gradient(180deg, transparent 0%, #fbf6f34d 60%, #fbf6f38c 100%);--ease-spring:cubic-bezier(.16, 1, .3, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-pill:9999px}:root[data-theme=dark]{--color-scheme:dark;--bg-deep:#07090e;--bg-canvas:#0a0e17;--bg-surface:#0d1424d1;--bg-surface-elevated:#1e293b99;--bg-surface-hover:#1e293bd9;--bg-surface-active:#334155e6;--bg-tint:#ffffff08;--bg-tint-hover:#ffffff0d;--control-bg:#ffffff0d;--control-bg-hover:#ffffff0d;--media-bg:#0e1524;--dot-bg:#07090e;--border-subtle:#ffffff14;--border-glass:#ffffff1f;--border-hover:#38bdf859;--border-focus:#06b6d499;--accent-rgb:56, 189, 248;--accent2-rgb:245, 158, 11;--accent3-rgb:16, 185, 129;--tint-rgb:255, 255, 255;--shadow-rgb:0, 0, 0;--shadow-a:.55;--cyan:#06b6d4;--cyan-light:#38bdf8;--cyan-glow:#06b6d440;--emerald:#10b981;--emerald-light:#34d399;--emerald-glow:#10b98133;--amber:#f59e0b;--amber-light:#fbbf24;--amber-glow:#f59e0b33;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-accent:#38bdf8;--error:#f87171;--shadow-glass:0 20px 40px -15px #000000b3;--shadow-glow:0 0 25px -5px #06b6d459;--shadow-glow-emerald:0 0 25px -5px #10b98159;--shadow-card-hover:0 24px 48px -12px #000c, 0 0 20px -2px #38bdf82e;--nav-bg:#0f172abf;--nav-bg-scrolled:#0a0e17e0;--nav-active-bg:linear-gradient(135deg, #06b6d433 0%, #38bdf826 100%);--nav-active-border:#38bdf84d;--nav-active-text:#fff;--drawer-bg:#0f172af7;--overlay-bg:#07090ecc;--footer-bg:#0a0e17cc;--loader-bg:#07090ef2;--avatar-border:#ffffff26;--glow-ring:linear-gradient(135deg, #06b6d499 0%, #10b98166 50%, #8b5cf680 100%);--btn-primary-bg:linear-gradient(135deg, #0284c7 0%, #06b6d4 100%);--btn-primary-bg-hover:linear-gradient(135deg, #0369a1 0%, #0891b2 100%);--btn-primary-text:#fff;--grad-heading:linear-gradient(135deg, #fff 20%, #94a3b8 100%);--grad-accent:linear-gradient(135deg, #38bdf8 0%, #06b6d4 50%, #10b981 100%);--grad-gold:linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);--grad-brand:linear-gradient(135deg, #fff 40%, #93c5fd 100%);--ambient-bg:radial-gradient(circle at 10% 20%, #06b6d426 0%, transparent 45%), radial-gradient(circle at 90% 70%, #8b5cf61f 0%, transparent 50%), radial-gradient(circle at 50% 50%, #10b98114 0%, transparent 60%), #07090e url(/bg2.jpg) no-repeat center top;--ambient-overlay:radial-gradient(ellipse at 50% 30%, #06b6d40f 0%, transparent 70%), linear-gradient(180deg, #07090e73 0%, #07090eb3 50%, #07090e 100%)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;color-scheme:var(--color-scheme);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-deep);color:var(--text-primary);min-height:100vh;font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;position:relative;overflow-x:hidden}button,input,select,textarea{font-family:inherit}::selection{background:rgba(var(--accent-rgb), .25);color:var(--text-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:rgba(var(--tint-rgb), .2);border:2px solid var(--bg-deep);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb), .5)}.ambient-background{z-index:-10;pointer-events:none;background:var(--ambient-bg);background-size:cover;position:fixed;inset:0;overflow:hidden}.ambient-overlay{z-index:-9;background:var(--ambient-overlay);pointer-events:none;position:fixed;inset:0}.molecular-canvas{z-index:-8;pointer-events:none;width:100%;height:100%;position:fixed;inset:0;transform:translateZ(0)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.02em;font-family:Epilogue,Lato,-apple-system,sans-serif;font-weight:700}.text-gradient{background:var(--grad-heading);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.text-gradient-cyan{background:var(--grad-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.text-gradient-gold{background:var(--grad-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.glass-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);transition:transform .3s var(--ease-spring), opacity .3s var(--ease-spring), background-color .3s var(--ease-spring), border-color .3s var(--ease-spring), box-shadow .3s var(--ease-spring), color .3s var(--ease-spring)}.glass-panel:hover{border-color:var(--border-hover);box-shadow:var(--shadow-card-hover)}.btn-modern{border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--control-bg);color:var(--text-primary);cursor:pointer;transition:transform .25s var(--ease-spring), opacity .25s var(--ease-spring), background-color .25s var(--ease-spring), border-color .25s var(--ease-spring), box-shadow .25s var(--ease-spring), color .25s var(--ease-spring);justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-modern:hover{background:rgba(var(--accent-rgb), .1);border-color:rgba(var(--accent-rgb), .4);color:var(--cyan-light);box-shadow:0 6px 16px -6px rgba(var(--accent-rgb), .35);transform:translateY(-2px)}.btn-modern:active{transform:translateY(0)}.btn-modern.primary{background:var(--btn-primary-bg);border-color:rgba(var(--accent-rgb), .5);color:var(--btn-primary-text);box-shadow:0 4px 14px rgba(var(--accent-rgb), .3)}.btn-modern.primary:hover{background:var(--btn-primary-bg-hover);color:var(--btn-primary-text);box-shadow:0 6px 22px rgba(var(--accent-rgb), .45)}.pill-badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em;background:var(--bg-tint);border:1px solid var(--border-subtle);color:var(--text-secondary);align-items:center;gap:6px;padding:4px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.pill-badge.cyan{background:rgba(var(--accent-rgb), .1);border-color:rgba(var(--accent-rgb), .25);color:var(--cyan-light)}.pill-badge.emerald{background:rgba(var(--accent3-rgb), .12);border-color:rgba(var(--accent3-rgb), .3);color:var(--emerald-light)}.pill-badge.amber{background:rgba(var(--accent2-rgb), .18);border-color:rgba(var(--accent2-rgb), .45);color:var(--amber-light)}.navbar-wrapper{z-index:100;transition:padding .3s var(--ease-smooth);justify-content:center;padding:16px 20px;display:flex;position:fixed;top:0;left:0;right:0}.navbar-wrapper.scrolled{padding:10px 20px}.navbar-dock{border-radius:var(--radius-pill);background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);width:100%;max-width:1100px;box-shadow:0 8px 24px -10px rgba(var(--shadow-rgb), var(--shadow-a));transition:transform .3s var(--ease-smooth), opacity .3s var(--ease-smooth), background-color .3s var(--ease-smooth), border-color .3s var(--ease-smooth), box-shadow .3s var(--ease-smooth), color .3s var(--ease-smooth);justify-content:space-between;align-items:center;padding:8px 16px 8px 22px;display:flex}.navbar-wrapper.scrolled .navbar-dock{background:var(--nav-bg-scrolled);border-color:rgba(var(--accent-rgb), .2);box-shadow:0 12px 28px -10px rgba(var(--shadow-rgb), var(--shadow-a))}.navbar-brand{color:var(--text-primary);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-icon-wrapper{border-radius:var(--radius-pill);background:linear-gradient(135deg, rgba(var(--accent-rgb), .15) 0%, rgba(var(--accent2-rgb), .3) 100%);border:1px solid rgba(var(--accent-rgb), .3);width:36px;height:36px;color:var(--cyan-light);transition:transform .3s var(--ease-spring);justify-content:center;align-items:center;display:flex}.navbar-brand:hover .brand-icon-wrapper{transform:rotate(45deg)scale(1.08)}.brand-title{letter-spacing:-.02em;background:var(--grad-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.15rem;font-weight:700}.brand-role{color:var(--cyan-light);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:500}.nav-links{align-items:center;gap:6px;list-style:none;display:flex}.nav-link{color:var(--text-secondary);border-radius:var(--radius-pill);transition:transform .2s var(--ease-smooth), opacity .2s var(--ease-smooth), background-color .2s var(--ease-smooth), border-color .2s var(--ease-smooth), box-shadow .2s var(--ease-smooth), color .2s var(--ease-smooth);align-items:center;padding:8px 16px;font-size:.88rem;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.nav-link:hover{color:var(--text-primary);background:var(--bg-tint-hover)}.nav-link.active{color:var(--nav-active-text);background:var(--nav-active-bg);border:1px solid var(--nav-active-border);box-shadow:0 0 15px -3px rgba(var(--accent-rgb), .2)}.nav-actions{align-items:center;gap:6px;display:flex}.theme-toggle-btn{border:1px solid var(--border-subtle);background:var(--control-bg);width:38px;height:38px;color:var(--text-primary);cursor:pointer;transition:transform .25s var(--ease-spring), background-color .2s ease, border-color .2s ease, color .2s ease;border-radius:50%;justify-content:center;align-items:center;margin-left:6px;display:inline-flex}.theme-toggle-btn:hover{border-color:var(--border-hover);background:rgba(var(--accent2-rgb), .3);transform:rotate(20deg)}.mobile-menu-btn{color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:6px;display:none}.mobile-drawer-overlay{z-index:150;background:var(--overlay-bg);animation:.2s fadeIn;position:fixed;inset:0}.mobile-drawer{z-index:151;background:var(--drawer-bg);border-left:1px solid var(--border-subtle);width:290px;max-width:85vw;box-shadow:-15px 0 35px rgba(var(--shadow-rgb), var(--shadow-a));animation:slideLeft .25s var(--ease-spring);flex-direction:column;padding:24px 20px;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:20px;display:flex}.drawer-links{flex-direction:column;gap:10px;list-style:none;display:flex}.drawer-link{color:var(--text-secondary);border-radius:var(--radius-md);align-items:center;gap:12px;padding:12px 16px;font-size:1rem;font-weight:500;text-decoration:none;transition:transform .2s,opacity .2s,background-color .2s,border-color .2s,box-shadow .2s,color .2s;display:flex}.drawer-link:hover,.drawer-link.active{background:rgba(var(--accent-rgb), .1);color:var(--cyan-light);border-left:3px solid var(--cyan)}.page-main{min-height:calc(100vh - 120px);padding-top:100px;padding-bottom:60px}.page-container{width:100%;max-width:1240px;margin:0 auto;padding:0 24px}.page-header{text-align:center;animation:fadeInUp .4s var(--ease-spring);margin-bottom:40px}.page-header .page-eyebrow{color:var(--cyan-light);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:8px;margin-bottom:10px;font-size:.85rem;font-weight:600;display:inline-flex}.page-header h1{margin-bottom:12px;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.15}.page-header p{color:var(--text-secondary);max-width:650px;margin:0 auto;font-size:1.05rem}.home-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:36px;display:grid}.profile-dossier-card{text-align:center;animation:fadeInUp .45s var(--ease-spring);flex-direction:column;align-items:center;padding:32px 24px;display:flex;position:sticky;top:100px}.avatar-wrapper{width:190px;height:190px;margin-bottom:20px;position:relative}.avatar-glow-ring{border-radius:var(--radius-lg);background:var(--glow-ring);filter:blur(10px);opacity:.5;will-change:opacity;animation:6s ease-in-out infinite alternate pulseGlow;position:absolute;inset:-6px}.avatar-img{object-fit:cover;border-radius:var(--radius-lg);border:3px solid var(--avatar-border);width:100%;height:100%;box-shadow:0 10px 25px rgba(var(--shadow-rgb), var(--shadow-a));background:var(--media-bg);position:relative}.profile-dossier-card h2{margin-bottom:4px;font-size:1.55rem}.profile-status{color:var(--cyan-light);align-items:center;gap:6px;margin-bottom:14px;font-size:.85rem;font-weight:500;display:inline-flex}.status-dot{background:var(--emerald);width:8px;height:8px;box-shadow:0 0 8px var(--emerald);border-radius:50%}.profile-summary{color:var(--text-secondary);margin-bottom:20px;font-size:.92rem;line-height:1.55}.profile-actions{gap:10px;width:100%;margin-bottom:20px;display:flex}.profile-actions .btn-modern{flex:1}.social-links-bar{justify-content:center;align-items:center;gap:12px;display:flex}.social-icon-btn{background:var(--control-bg);border:1px solid var(--border-subtle);width:38px;height:38px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:transform .2s,opacity .2s,background-color .2s,border-color .2s,box-shadow .2s,color .2s;display:flex}.social-icon-btn:hover{background:rgba(var(--accent-rgb), .12);border-color:var(--cyan);color:var(--cyan-light);transform:translateY(-2px)}.home-stream{flex-direction:column;gap:32px;display:flex}.section-card{padding:32px}.section-title-wrap{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:22px;padding-bottom:14px;display:flex}.section-title-wrap h3{align-items:center;gap:10px;font-size:1.35rem;display:flex}.bio-prose{color:var(--text-secondary);font-size:1.02rem;line-height:1.75}.bio-prose p{margin-bottom:16px}.bio-prose b,.bio-prose strong{color:var(--text-primary);font-weight:600}.bio-prose a,.timeline-role a,.award-details a{color:var(--cyan-light);border-bottom:1px solid rgba(var(--accent-rgb), .3);text-decoration:none;transition:border-color .15s}.bio-prose a:hover,.timeline-role a:hover,.award-details a:hover{border-color:var(--cyan-light)}.timeline-list{flex-direction:column;gap:24px;padding-left:24px;display:flex;position:relative}.timeline-list:before{content:"";background:linear-gradient(180deg, var(--cyan) 0%, rgba(var(--accent-rgb), .1) 100%);width:2px;position:absolute;top:8px;bottom:8px;left:6px}.timeline-item{position:relative}.timeline-node-dot{background:var(--dot-bg);border:3px solid var(--cyan);width:14px;height:14px;box-shadow:0 0 10px var(--cyan-glow);border-radius:50%;position:absolute;top:4px;left:-24px}.timeline-item.education .timeline-node-dot{border-color:var(--emerald);box-shadow:0 0 10px var(--emerald-glow)}.timeline-content{background:var(--bg-tint);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px 20px;transition:transform .25s,opacity .25s,background-color .25s,border-color .25s,box-shadow .25s,color .25s}.timeline-content:hover{background:var(--control-bg-hover);border-color:var(--border-hover);transform:translate(4px)}.timeline-role{color:var(--text-primary);margin-bottom:6px;font-size:1.05rem;font-weight:600}.timeline-date{color:var(--amber-light);align-items:center;gap:6px;font-size:.85rem;font-weight:500;display:inline-flex}.awards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.award-item-card{background:var(--bg-tint);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:transform .25s var(--ease-spring), opacity .25s var(--ease-spring), background-color .25s var(--ease-spring), border-color .25s var(--ease-spring), box-shadow .25s var(--ease-spring), color .25s var(--ease-spring);align-items:flex-start;gap:14px;padding:18px 20px;display:flex}.award-item-card:hover{background:rgba(var(--accent2-rgb), .12);border-color:rgba(var(--accent2-rgb), .6);box-shadow:0 10px 25px -5px rgba(var(--accent2-rgb), .3);transform:translateY(-3px)}.award-icon-badge{border-radius:var(--radius-md);background:rgba(var(--accent2-rgb), .25);width:36px;height:36px;color:var(--amber-light);flex-shrink:0;justify-content:center;align-items:center;display:flex}.award-details h4{margin-bottom:4px;font-size:.98rem;font-weight:600}.award-score{color:var(--amber-light);font-size:.85rem;font-weight:600}.contact-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.contact-card{background:var(--bg-tint);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:18px;transition:transform .2s,opacity .2s,background-color .2s,border-color .2s,box-shadow .2s,color .2s;display:flex}.contact-card:hover{border-color:var(--border-hover);background:var(--control-bg-hover)}.contact-header{color:var(--cyan-light);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:600;display:flex}.contact-value{color:var(--text-primary);word-break:break-word;font-size:.95rem}.cover-showcase-section{margin-bottom:48px}.cover-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;display:grid}.cover-tile{border-radius:var(--radius-md);background:var(--media-bg);border:1px solid var(--border-subtle);transition:transform .3s var(--ease-spring), opacity .3s var(--ease-spring), background-color .3s var(--ease-spring), border-color .3s var(--ease-spring), box-shadow .3s var(--ease-spring), color .3s var(--ease-spring);cursor:pointer;aspect-ratio:3/4;position:relative;overflow:hidden}.cover-tile:hover{border-color:var(--cyan);box-shadow:0 16px 32px -6px rgba(var(--accent-rgb), .35);transform:translateY(-6px)scale(1.02)}.cover-img{object-fit:cover;width:100%;height:100%;transition:transform .4s var(--ease-spring)}.cover-tile:hover .cover-img{transform:scale(1.05)}.cover-overlay{opacity:0;background:linear-gradient(#0000 40%,#07090ee6 100%);align-items:flex-end;padding:16px;transition:opacity .25s;display:flex;position:absolute;inset:0}.cover-tile:hover .cover-overlay{opacity:1}.publications-toolbar{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;padding:14px 20px;display:flex}.search-input-box{background:var(--control-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);min-width:260px;color:var(--text-primary);flex:1;align-items:center;gap:10px;padding:8px 16px;transition:border-color .2s;display:flex}.search-input-box:focus-within{border-color:var(--cyan);box-shadow:0 0 15px -3px var(--cyan-glow)}.search-input-box input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-size:.92rem}.search-input-box input::placeholder{color:var(--text-muted)}.toolbar-counter{color:var(--text-muted);font-size:.85rem;font-weight:500}.publications-stream{flex-direction:column;gap:20px;display:flex}.publication-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);transition:transform .3s var(--ease-spring), opacity .3s var(--ease-spring), background-color .3s var(--ease-spring), border-color .3s var(--ease-spring), box-shadow .3s var(--ease-spring), color .3s var(--ease-spring);grid-template-columns:56px 1fr;gap:20px;padding:24px;display:grid;position:relative;overflow:hidden}.publication-card:hover{border-color:rgba(var(--accent-rgb), .3);box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.publication-card.has-figure{grid-template-columns:56px minmax(0,1fr) 260px}.publication-figure{aspect-ratio:16/11;border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:zoom-in;width:100%;transition:transform .3s var(--ease-spring), border-color .3s var(--ease-spring), box-shadow .3s var(--ease-spring);background:#fff;align-self:center;padding:8px;position:relative;overflow:hidden}.publication-figure img{object-fit:contain;width:100%;height:100%;display:block}.publication-figure:hover,.publication-figure:focus-visible{border-color:var(--cyan);box-shadow:0 10px 24px -8px rgba(var(--accent-rgb), .4);outline:none;transform:scale(1.02)}.publication-figure-hint{border-radius:var(--radius-pill);color:#fff;opacity:0;background:#07090ecc;align-items:center;gap:5px;padding:3px 9px;font-size:.72rem;font-weight:600;transition:opacity .2s,transform .2s;display:inline-flex;position:absolute;bottom:8px;right:8px;transform:translateY(4px)}.publication-figure:hover .publication-figure-hint,.publication-figure:focus-visible .publication-figure-hint{opacity:1;transform:translateY(0)}.publication-index-badge{color:var(--cyan);justify-content:center;align-items:flex-start;padding-top:4px;font-family:Epilogue,sans-serif;font-size:1.15rem;font-weight:700;display:flex}.publication-main{flex-direction:column;gap:12px;display:flex}.publication-title{color:var(--text-primary);font-size:1.18rem;font-weight:600;line-height:1.45}.publication-authors{color:var(--text-secondary);font-size:.92rem;line-height:1.5}.publication-authors b,.publication-authors strong{color:var(--cyan-light);font-weight:600}.publication-journal-ref{color:var(--amber-light);background:rgba(var(--accent2-rgb), .16);border:1px solid rgba(var(--accent2-rgb), .45);border-radius:var(--radius-sm);align-items:center;gap:8px;width:fit-content;padding:4px 12px;font-size:.88rem;font-weight:500;display:inline-flex}.publication-actions{align-items:center;gap:12px;margin-top:4px;display:flex}.presentation-stream{flex-direction:column;gap:20px;display:flex}.presentation-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);transition:transform .25s var(--ease-spring), opacity .25s var(--ease-spring), background-color .25s var(--ease-spring), border-color .25s var(--ease-spring), box-shadow .25s var(--ease-spring), color .25s var(--ease-spring);grid-template-columns:56px 1fr;gap:20px;padding:24px;display:grid}.presentation-card:hover{border-color:rgba(var(--accent3-rgb), .4);box-shadow:0 16px 36px -10px rgba(var(--accent3-rgb), .25);transform:translateY(-3px)}.presentation-meta-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.presentation-title{color:var(--text-primary);margin-bottom:8px;font-size:1.15rem;font-weight:600}.presentation-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.gallery-grid{columns:3 320px;column-gap:20px}.gallery-item{break-inside:avoid;border-radius:var(--radius-md);background:var(--media-bg);border:1px solid var(--border-subtle);box-shadow:var(--shadow-glass);cursor:pointer;transition:transform .3s var(--ease-spring), opacity .3s var(--ease-spring), background-color .3s var(--ease-spring), border-color .3s var(--ease-spring), box-shadow .3s var(--ease-spring), color .3s var(--ease-spring);margin-bottom:20px;position:relative;overflow:hidden}.gallery-item:hover{border-color:var(--cyan);box-shadow:0 20px 40px -10px rgba(var(--accent-rgb), .3);transform:translateY(-4px)scale(1.01)}.gallery-item img{width:100%;height:auto;transition:transform .4s var(--ease-spring);display:block}.gallery-item:hover img{transform:scale(1.04)}.gallery-hover-overlay{opacity:0;background:#07090e66;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-hover-overlay{opacity:1}.gallery-zoom-badge{border-radius:var(--radius-pill);color:#fff;background:#0f172ad9;border:1px solid #ffffff26;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:500;display:flex}.coming-soon-card{text-align:center;max-width:560px;animation:fadeInUp .45s var(--ease-spring);flex-direction:column;align-items:center;gap:12px;margin:0 auto;padding:48px 32px;display:flex}.coming-soon-icon{background:rgba(var(--accent2-rgb), .3);border:1px solid rgba(var(--accent-rgb), .25);width:64px;height:64px;color:var(--cyan-light);border-radius:50%;justify-content:center;align-items:center;margin-bottom:6px;display:flex}:root[data-theme=dark] .coming-soon-icon{background:rgba(var(--accent-rgb), .12)}.coming-soon-card h2{background:var(--grad-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:clamp(1.6rem,3vw,2rem)}.coming-soon-card p{color:var(--text-secondary);max-width:400px;font-size:1rem}.lightbox-overlay{z-index:200;background:#05070ceb;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.lightbox-content{flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.lightbox-image-wrapper{justify-content:center;align-items:center;max-width:100%;max-height:80vh;display:flex}.lightbox-img{object-fit:contain;border-radius:var(--radius-md);background:#fff;border:1px solid #ffffff1a;max-width:100%;max-height:78vh;box-shadow:0 25px 50px -12px #000000e6}.lightbox-close-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .2s,opacity .2s,background-color .2s,border-color .2s,box-shadow .2s,color .2s;display:flex;position:absolute;top:-46px;right:0}.lightbox-close-btn:hover{background:#fff3;transform:rotate(90deg)}.lightbox-nav-btn{color:#fff;cursor:pointer;background:#0f172acc;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .2s,opacity .2s,background-color .2s,border-color .2s,box-shadow .2s,color .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav-btn.prev{left:-60px}.lightbox-nav-btn.next{right:-60px}.lightbox-nav-btn:hover{border-color:var(--cyan);background:#38bdf84d}.lightbox-footer{justify-content:space-between;align-items:center;width:100%;margin-top:14px;display:flex}.lightbox-info{min-width:0;padding-right:16px}.lightbox-title{color:#f8fafc;font-size:1rem;font-weight:600;line-height:1.4}.lightbox-sub{color:#cbd5e1;margin-top:2px;font-size:.85rem}.lightbox-counter{color:#94a3b8;font-size:.85rem;font-weight:600}.toast-notification{z-index:300;border-radius:var(--radius-pill);color:#fff;animation:toastSlideUp .3s var(--ease-spring);background:#0f172a;border:1px solid #38bdf866;align-items:center;gap:10px;padding:10px 20px;font-size:.88rem;font-weight:500;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 16px 32px -8px #0f172a59}.toast-icon{background:var(--emerald);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.site-footer{background:var(--footer-bg);border-top:1px solid var(--border-subtle);margin-top:60px;padding:40px 24px;position:relative}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;max-width:1100px;margin:0 auto;display:flex}.footer-brand{flex-direction:column;gap:4px;display:flex}.footer-copy{color:var(--text-muted);font-size:.85rem}.back-to-top-btn{background:var(--control-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;padding:8px 16px;font-size:.82rem;font-weight:500;transition:transform .2s,opacity .2s,background-color .2s,border-color .2s,box-shadow .2s,color .2s;display:inline-flex}.back-to-top-btn:hover{background:rgba(var(--accent-rgb), .1);border-color:var(--cyan);color:var(--cyan-light);transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pulseGlow{0%{opacity:.5}to{opacity:.85}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=980px){.home-layout{grid-template-columns:minmax(0,1fr)}.profile-dossier-card{max-width:500px;margin:0 auto 20px;position:static}.lightbox-nav-btn.prev{left:10px}.lightbox-nav-btn.next{right:10px}}@media (width<=768px){.nav-links{display:none}.mobile-menu-btn{display:flex}.publication-card,.presentation-card{grid-template-columns:1fr;gap:12px}.publication-card.has-figure{grid-template-columns:1fr}.publication-index-badge{justify-content:flex-start}.publication-figure{justify-self:start;max-width:420px}.footer-inner{text-align:center;flex-direction:column}}@media (width<=480px){.page-container{padding:0 14px}.section-card{padding:22px 16px}.profile-dossier-card{padding:28px 16px}.timeline-content{padding:14px 16px}.section-title-wrap{flex-wrap:wrap;gap:10px}.section-title-wrap h3{font-size:1.2rem}}@media (width>=769px) and (width<=1080px){.publication-card.has-figure{grid-template-columns:44px minmax(0,1fr) 200px}}.fade-img{opacity:0;transition:opacity .4s ease, transform .4s var(--ease-spring)}.fade-img.loaded{opacity:1}.chem-loader{background:var(--loader-bg) url(/loading.webp) no-repeat center center;z-index:1000;opacity:0;visibility:hidden;pointer-events:none;background-size:200px;transition:opacity .25s,visibility 0s linear .25s;position:fixed;inset:0}.chem-loader.visible{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s .15s,visibility linear}.empty-state{text-align:center;color:var(--text-muted);padding:48px 24px;font-size:1rem}.error-state{text-align:center;color:var(--error);padding:48px 24px;font-size:1rem}
