:root{--primary:#19303f;--primary-dark:#11242f;--band-start:#d9e7ef;--band-end:#c9dbe6;--accent:#1d6f7f;--accent-dark:#15545f;--text:#2d4151;--text-muted:#4a5d6d;--surface:#fff;--bg:#f5f8fa;--bg-alt:#e9eff4;--accent-soft:#dcedf0;--border:#d3dde5;--radius:12px;--shadow:0 4px 15px #19303f12;--shadow-hover:0 14px 30px #19303f21;--container-width:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f8fa;background:var(--bg);color:#2d4151;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,Arial,sans-serif;line-height:1.6}#root,body{margin:0;padding:0}img{display:block;max-width:100%}h1,h2,h3,h4{color:#19303f;color:var(--primary);font-weight:700;letter-spacing:-.01em;line-height:1.25;margin:0 0 16px}h1{font-size:clamp(1.75rem,3vw,2.25rem)}h2{font-size:1.5rem}h3{font-size:1.15rem}h4{font-size:1rem;font-weight:600}p{margin:0 0 12px}.app-container{display:flex;flex-direction:column;min-height:100vh}.content{flex:1 1}.navbar{background:#d9e7ef;background:var(--band-start);box-shadow:0 1px 0 #19303f14;justify-content:space-between;padding:14px 24px;position:sticky;top:0;width:100%;z-index:1000}.logo,.navbar{align-items:center;color:#19303f;color:var(--primary);display:flex}.logo{font-size:1.3rem;font-weight:700;gap:10px;letter-spacing:.3px;text-decoration:none}.logo img{border-radius:9px;box-shadow:0 0 0 1px #19303f2e;display:block;height:34px;width:34px}.nav-links{align-items:center;display:flex;gap:28px}.nav-links a{color:#2d4151;color:var(--text);font-size:.95rem;font-weight:500;padding:6px 0;position:relative;text-decoration:none;transition:color .2s}.nav-links a:after{background:#1d6f7f;background:var(--accent);bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .25s ease;width:0}.nav-links a.active,.nav-links a:hover{color:#19303f;color:var(--primary)}.nav-links a.active:after,.nav-links a:hover:after{width:100%}.bottom-nav{display:none}.hero{background:linear-gradient(135deg,#d9e7ef,#cde0ea);background:linear-gradient(135deg,var(--band-start) 0,#cde0ea 100%);color:#19303f;color:var(--primary);overflow:hidden;padding:clamp(48px,7vw,80px) 24px clamp(88px,10vw,120px);position:relative}.hero-inner{position:relative;z-index:1}.hero h1,.hero p,.hero-actions{animation:rise-in .7s cubic-bezier(.2,.7,.2,1) both}.hero p{animation-delay:.15s}.hero-actions{animation-delay:.3s}.hero-orb{border-radius:50%;filter:blur(60px);opacity:.22;pointer-events:none;position:absolute}.hero-orb--a{animation:orb-drift 14s ease-in-out infinite alternate;background:#1d6f7f;background:var(--accent);height:340px;left:-80px;top:-120px;width:340px}.hero-orb--b{animation:orb-drift 17s ease-in-out infinite alternate-reverse;background:#74b9c9;bottom:-100px;height:280px;right:-60px;width:280px}.hero-orb--c{animation:orb-drift 20s ease-in-out infinite alternate;background:#44718f;height:200px;opacity:.14;right:22%;top:30%;width:200px}@keyframes orb-drift{0%{transform:translate(0) scale(1)}to{transform:translate(50px,30px) scale(1.15)}}.hero .hero-btn:not(.secondary){animation:btn-pulse 2.8s ease-out 1.2s infinite}@keyframes btn-pulse{0%{box-shadow:0 0 0 0 #5db2c48c}70%,to{box-shadow:0 0 0 14px #5db2c400}}.reveal .section-title:after{transition:width .7s ease .3s;width:0}.reveal.is-visible .section-title:after{width:56px}.about-text{margin:0 auto;max-width:820px}.about-text p{line-height:1.75;margin:0 0 14px}.funding-note{color:#4a5d6d;color:var(--text-muted);font-size:.9rem;font-style:italic;margin:4px auto 0;max-width:820px}.focus-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;list-style:none;margin:24px 0 0;padding:0}.focus-chips li{background:#dcedf0;background:var(--accent-soft);border-radius:999px;color:#19303f;color:var(--primary);font-size:.85rem;font-weight:600;padding:7px 16px;transition:transform .2s ease,background .2s ease,color .2s ease}.focus-chips li:hover{background:#19303f;background:var(--primary);color:#fff;transform:translateY(-2px)}.reveal:not(.is-visible) .focus-chips li{opacity:0}.reveal.is-visible .focus-chips li{animation:chip-pop .5s cubic-bezier(.2,.8,.3,1.3) both;animation-delay:calc(.35s + var(--i)*.08s)}@keyframes chip-pop{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}.hero-signal{bottom:28px;height:56px;left:0;position:absolute;right:0;width:100%}.hero-signal path{fill:none;stroke:#19303f47;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:.3 1.2;animation:signal-sweep 6s linear infinite}@keyframes signal-sweep{0%{stroke-dashoffset:.3}to{stroke-dashoffset:-1.2}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}.reveal:not(.is-visible) .research-theme{opacity:0}.reveal.is-visible .research-theme{animation:rise-in .6s cubic-bezier(.2,.7,.2,1) backwards}.reveal.is-visible .research-theme:nth-child(2){animation-delay:.12s}.reveal.is-visible .research-theme:nth-child(3){animation-delay:.24s}.reveal.is-visible .research-theme:nth-child(4){animation-delay:.36s}.research-themes--grid .research-theme{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.research-themes--grid .research-theme:hover{border-color:#1d6f7f;border-color:var(--accent);box-shadow:0 12px 28px #0c1e2a1f;transform:translateY(-5px)}.research-themes--grid .research-theme-icon{transition:transform .25s ease,background .25s ease,color .25s ease}.research-themes--grid .research-theme:hover .research-theme-icon{background:#19303f;background:var(--primary);color:#fff;transform:scale(1.12)}@media (prefers-reduced-motion:reduce){.hero h1,.hero p,.hero-actions,.reveal.is-visible .research-theme{animation:none}.hero-signal path{stroke-dasharray:none;animation:none}.hero .hero-btn:not(.secondary),.hero-orb,.reveal.is-visible .focus-chips li{animation:none}.reveal .section-title:after{transition:none;width:56px}.reveal,.reveal:not(.is-visible) .focus-chips li{opacity:1}.reveal{transform:none;transition:none}.reveal:not(.is-visible) .research-theme{opacity:1}}.hero-inner{margin:0 auto;max-width:1200px;max-width:var(--container-width);text-align:center}.hero-text{margin:0 auto;max-width:640px}.hero h1{color:#19303f;color:var(--primary);font-size:clamp(1.9rem,4vw,2.75rem);font-weight:700;margin:0 0 16px}.hero p{color:#2d4151;color:var(--text);font-size:clamp(1rem,2vw,1.2rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:28px}.hero-btn{background:#1d6f7f;background:var(--accent);border-radius:30px;color:#fff;display:inline-block;font-weight:600;padding:12px 28px;text-decoration:none;transition:.25s}.hero-btn:hover{background:#15545f;background:var(--accent-dark);transform:translateY(-2px)}.hero-btn.secondary{background:#0000;border:2px solid #19303f59;color:#19303f;color:var(--primary)}.hero-btn.secondary:hover{background:#19303f0f;border-color:#19303f;border-color:var(--primary)}.container{margin:0 auto;max-width:1200px;max-width:var(--container-width);padding:40px 24px}.container+.container{padding-top:0}.section-title{color:#19303f;color:var(--primary);font-size:1.6rem;font-weight:700;margin:0 0 8px;text-align:center}.section-title:after{background:#1d6f7f;background:var(--accent);border-radius:2px;content:"";display:block;height:3px;margin:10px auto 0;width:56px}.grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{background:#fff;background:var(--surface);border:1px solid #d3dde5;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 4px 15px #19303f12;box-shadow:var(--shadow);display:flex;flex-direction:column;padding:28px;transition:transform .25s,box-shadow .25s}.card:hover{box-shadow:0 14px 30px #19303f21;box-shadow:var(--shadow-hover);transform:translateY(-6px)}.card h3{color:#19303f;color:var(--primary);font-size:1.1rem;margin:0 0 10px}.card p{color:#4a5d6d;color:var(--text-muted);flex-grow:1;margin:0}.research-overview{margin-bottom:32px}.research-cta{margin-top:28px}.research-segments{grid-gap:32px;align-items:stretch;display:grid;gap:32px;grid-template-columns:repeat(2,1fr);margin-top:24px}.research-segment{display:flex;flex-direction:column;min-width:0}.research-segment>.research-feature{display:flex;flex:1 1;flex-direction:column}.research-theme-types.sensor-types{margin:18px 0 0 56px}@media (max-width:600px){.research-theme-types.sensor-types{margin-left:0}}@media (max-width:860px){.research-segments{grid-template-columns:1fr}}.research-segment-header{align-items:baseline;border-bottom:1px solid #d3dde5;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:20px;padding-bottom:12px}.research-segment-header h3{color:#15545f;color:var(--accent-dark);font-size:.8rem;letter-spacing:.08em;margin:0;text-transform:uppercase}.research-segment-header span{color:#4a5d6d;color:var(--text-muted);font-size:.88rem}.research-feature{background:#fff;background:var(--surface);border:1px solid #d3dde5;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);padding:22px}.research-feature-intro{align-items:flex-start;display:flex;gap:16px}.research-feature-intro .research-theme-icon{flex-shrink:0;margin-bottom:0}.research-feature-intro h4{font-size:1.05rem;margin:0 0 6px}.research-feature-intro p{color:#4a5d6d;color:var(--text-muted);font-size:.92rem;margin:0}.research-themes{display:flex;flex-direction:column;gap:16px}.research-theme{align-items:flex-start;background:#fff;background:var(--surface);border:1px solid #d3dde5;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;gap:16px;padding:22px}.research-theme-icon{align-items:center;background:#dcedf0;background:var(--accent-soft);border-radius:10px;color:#19303f;color:var(--primary);display:flex;flex-shrink:0;font-size:1.05rem;height:40px;justify-content:center;width:40px}.research-themes.research-themes--grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:28px auto 0;max-width:820px}.research-themes--grid .research-theme{align-items:flex-start;flex-direction:row;gap:14px;padding:18px 20px}.research-theme h4{font-size:1rem;margin:0 0 6px}.research-theme p{color:#4a5d6d;color:var(--text-muted);font-size:.9rem;margin:0}.research-theme-types{list-style:none;margin:12px 0 0;padding:0}.research-theme-types li{color:#4a5d6d;color:var(--text-muted);font-size:.88rem;margin-bottom:10px;padding-left:16px;position:relative}.research-theme-types li strong{color:#2d4151;color:var(--text);font-weight:600}.research-theme-types li:before{background:#1d6f7f;background:var(--accent);border-radius:50%;content:"";height:6px;left:0;position:absolute;top:8px;width:6px}.projects-grid{grid-gap:20px;align-items:stretch;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}@media (max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.projects-grid{grid-template-columns:1fr}}.project-columns{margin-top:0}.project-columns .projects-grid,.project-columns--single{grid-template-columns:1fr}.project-columns--single{margin-left:auto;margin-right:auto;max-width:760px}.project-card{background:#fff;background:var(--surface);border:1px solid #d3dde5;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 4px 15px #19303f12;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;transition:transform .25s,box-shadow .25s}.project-card:hover{box-shadow:0 14px 30px #19303f21;box-shadow:var(--shadow-hover);transform:translateY(-8px)}.thumb-media{background:#e9eff4;background:var(--bg-alt);height:180px;overflow:hidden;position:relative}.thumb-media img{display:block;height:100%;object-fit:cover;position:relative;width:100%}.thumb-media--contain:before{background-image:var(--thumb);background-position:50%;background-size:cover;content:"";filter:blur(18px) brightness(.85);inset:-24px;position:absolute}.thumb-media--contain img{object-fit:contain}.thumb-media--flat:before{display:none}@media (min-width:641px){.project-card{flex-direction:row}.project-card .thumb-media{align-self:stretch;flex-shrink:0;height:auto;min-height:220px;width:200px}.project-card .thumb-media img{inset:0;position:absolute}.project-card .project-content{flex:1 1;min-width:0}}.project-content{display:flex;flex-direction:column;flex-grow:1;gap:10px;padding:22px 24px}.project-content h3{color:#19303f;color:var(--primary);font-size:1.05rem;margin:0}.project-content p{color:#4a5d6d;color:var(--text-muted);flex-grow:1;font-size:.92rem;margin:0}.project-meta{align-items:center;display:flex;justify-content:space-between;margin-top:2px}.project-tags{display:flex;flex-wrap:wrap;gap:6px}.tag{background:#dcedf0;background:var(--accent-soft);color:#19303f;color:var(--primary);display:inline-block;letter-spacing:.3px;padding:3px 10px;text-transform:uppercase}.status-badge,.tag{border-radius:12px;font-size:.68rem;font-weight:600}.status-badge{padding:3px 9px}.status-badge.ongoing{background:#fef3c7;color:#92400e}.status-badge.completed{background:#dcfce7;color:#166534}.view-link{color:#15545f;color:var(--accent-dark);font-size:.85rem;font-weight:600;margin-top:2px;text-decoration:none}.view-link:hover{text-decoration:underline}.controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.search-box{flex:1 1;max-width:480px;min-width:240px;position:relative}.search-icon{color:#4a5d6d;color:var(--text-muted);font-size:.9rem;left:16px;position:absolute;top:50%;transform:translateY(-50%)}.search-box input{border:1px solid #d3dde5;border:1px solid var(--border);border-radius:8px;font-size:.9rem;padding:12px 16px 12px 42px;width:100%}.search-box input:focus{border-color:#1d6f7f;border-color:var(--accent);box-shadow:0 0 0 3px #1d6f7f26;outline:none}.filters{display:flex;flex-wrap:wrap;gap:10px}.filters button{background:#e9eff4;background:var(--bg-alt);border:none;border-radius:20px;color:#2d4151;color:var(--text);cursor:pointer;font-weight:500;padding:8px 18px;transition:.2s}.filters button:hover{background:#dcedf0;background:var(--accent-soft)}.filters .active{background:#19303f;background:var(--primary);color:#fff}@media (max-width:768px){.controls{align-items:stretch;flex-direction:column}.search-box{max-width:none}.filters{justify-content:center}}.page-intro{color:#4a5d6d;color:var(--text-muted);font-size:1rem;margin:-8px 0 28px;max-width:700px}.contact-card{grid-gap:28px;background:#fff;background:var(--surface);border:1px solid #d3dde5;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 4px 15px #19303f12;box-shadow:var(--shadow);display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-width:700px;padding:28px}.contact-card h4{color:#19303f;color:var(--primary);font-size:1rem;margin:0 0 8px}.contact-card p{color:#4a5d6d;color:var(--text-muted);margin:0}.contact-person{display:flex;flex-direction:column;gap:2px}.contact-person+.contact-person{margin-top:14px}.contact-person strong{color:#2d4151;color:var(--text);font-weight:600}.contact-person a{color:#15545f;color:var(--accent-dark);overflow-wrap:anywhere;text-decoration:none}.contact-person a:hover,.footer-section a[href^="mailto:"]:hover{text-decoration:underline}.footer-section a[href^="mailto:"]{overflow-wrap:anywhere}.member-section{margin-bottom:36px}.card-link{color:inherit;text-decoration:none}.member-avatar-fallback{align-items:center;background:#e9eff4;background:var(--bg-alt);color:#19303f;color:var(--primary);display:flex;font-size:1.4rem;font-weight:700;justify-content:center}.people-grid{grid-gap:36px 48px;display:grid;gap:36px 48px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));margin:0 auto;max-width:1040px}.people-grid--pi{grid-template-columns:1fr}.person{align-items:flex-start;display:flex;gap:44px;text-align:left}.person:not(.person--student) .person-info{padding-top:0}.person-photo{background:#e9eff4;background:var(--bg-alt);border:3px solid #d3dde5;border:3px solid var(--border);border-radius:50%;display:block;flex-shrink:0;height:150px;overflow:hidden;transition:transform .25s,border-color .25s;width:150px}.person--pi{gap:24px}.person--pi .person-photo{border-width:4px;height:170px;width:170px}.person-photo img{display:block;height:100%;object-fit:cover;object-position:50% 15%;width:100%}.person-initials{align-items:center;color:#19303f;color:var(--primary);display:flex;font-size:1.4rem;font-weight:700;height:100%;justify-content:center;width:100%}.person:hover .person-photo{border-color:#1d6f7f;border-color:var(--accent);transform:scale(1.05)}.person-info{flex:1 1;min-width:0}.person h3{font-size:1.1rem;margin:0 0 4px}.person--pi h3{font-size:1.3rem}.person h3 a{color:#19303f;color:var(--primary);text-decoration:none}.person h3 a:hover{color:#15545f;color:var(--accent-dark)}.person-role{margin:0}.person-role,.person-summary{color:#4a5d6d;color:var(--text-muted);font-size:.92rem}.person-summary{line-height:1.6;margin:12px 0 0}.person-topics{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:12px 0 0;padding:0}.person-topics li{background:#dcedf0;background:var(--accent-soft);border-radius:12px;color:#19303f;color:var(--primary);font-size:.78rem;font-weight:600;padding:3px 10px}.person-links{display:flex;font-size:1.15rem;gap:14px;margin-top:12px}.person-links a{color:#4a5d6d;color:var(--text-muted)}.person-links a:hover{color:#15545f;color:var(--accent-dark)}@media (max-width:600px){.people-grid{grid-template-columns:1fr}.person,.person--pi{align-items:center;flex-direction:column;gap:16px;text-align:center}.person:not(.person--student) .person-info{padding-top:0}.person-links,.person-topics{justify-content:center}}.section-caption{color:#4a5d6d;color:var(--text-muted);font-size:.9rem;margin:-2px 0 24px;text-align:center}.alumni-list{list-style:none;margin:0;padding:0}.alumni-list li{align-items:baseline;border-bottom:1px solid #d3dde5;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:12px 0}.alumni-list li:first-child{padding-top:0}.alumni-list a{color:#19303f;color:var(--primary);font-weight:600;text-decoration:none}.alumni-list a:hover{text-decoration:underline}.alumni-role{color:#4a5d6d;color:var(--text-muted);font-size:.88rem}.join-cta{background:linear-gradient(135deg,#d9e7ef,#cde0ea);background:linear-gradient(135deg,var(--band-start) 0,#cde0ea 100%);border-radius:12px;border-radius:var(--radius);margin-top:40px;padding:36px 28px;text-align:center}.join-cta,.join-cta h2{color:#19303f;color:var(--primary)}.join-cta h2{margin:0 0 10px}.join-cta p{color:#2d4151;color:var(--text);margin:0 auto 24px;max-width:560px}.profile-container{margin:0 auto;max-width:900px;padding:40px 24px}.profile-header{align-items:center;background:#e9eff4;background:var(--bg-alt);border-radius:12px;border-radius:var(--radius);display:flex;gap:30px;padding:24px}.profile-avatar-fallback,.profile-header img{background:#e9eff4;background:var(--bg-alt);border:4px solid #d3dde5;border:4px solid var(--border);border-radius:50%;flex-shrink:0;height:170px;object-fit:cover;object-position:50% 15%;width:170px}.profile-header h1{color:#19303f;color:var(--primary);margin:0 0 4px}.profile-header h3{color:#15545f;color:var(--accent-dark);font-weight:600;margin:0 0 8px}.profile-affiliation,.profile-location{color:#4a5d6d;color:var(--text-muted);font-size:.85rem;font-weight:500;margin:0 0 4px}.profile-header>p{margin-top:12px}.profile-links a{color:#15545f;color:var(--accent-dark);font-weight:600;margin-right:18px;text-decoration:none}.profile-links a:hover{text-decoration:underline}.profile-section{background:#fff;background:var(--surface);border:1px solid #d3dde5;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);margin-top:18px;padding:16px 20px}.profile-section h2{color:#19303f;color:var(--primary);font-size:1.1rem;margin-bottom:10px;margin-top:0}.timeline{list-style:none;margin:0;padding:0}.timeline li{grid-gap:0 16px;align-items:baseline;border-bottom:1px solid #d3dde5;border-bottom:1px solid var(--border);display:grid;gap:0 16px;grid-template-columns:1fr auto;padding:9px 0}.timeline li:last-child{border-bottom:none;padding-bottom:0}.timeline li:first-child{padding-top:0}.timeline h4{color:#19303f;color:var(--primary);font-size:.95rem;grid-column:1/-1;margin:0}.timeline-org{color:#2d4151;color:var(--text);font-size:.85rem;margin:0}.timeline-period{color:#4a5d6d;color:var(--text-muted);font-size:.8rem;margin:0;white-space:nowrap}@media (max-width:600px){.timeline li{grid-template-columns:1fr}.profile-header{flex-direction:column;text-align:center}}.footer{background:#c9dbe6;background:var(--band-end);color:#2d4151;color:var(--text);padding:40px 24px 20px;width:100%}.footer-container{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0 auto;max-width:1200px;max-width:var(--container-width);padding:0}.footer-section h3,.footer-section h4{color:#19303f;color:var(--primary);margin:0 0 14px}.footer-section p{color:#2d4151;color:var(--text);font-size:.9rem;margin:0 0 6px}.footer-section ul{list-style:none;margin:0;padding:0}.footer-section ul li{margin-bottom:8px}.footer-section a{color:#2d4151;color:var(--text);text-decoration:none}.footer-section a:hover{color:#19303f;color:var(--primary)}.social-icons{display:flex;gap:14px}.social-icons a{color:#2d4151;color:var(--text);font-size:1.3rem;transition:.2s}.social-icons a:hover{color:#19303f;color:var(--primary);transform:translateY(-2px)}.footer-bottom{border-top:1px solid #19303f24;color:#4a5d6d;color:var(--text-muted);font-size:.8rem;margin-top:28px;padding-top:18px;text-align:center}.builder-credit{color:#2d4151;color:var(--text);font-weight:600;text-decoration:none}a.builder-credit:focus-visible,a.builder-credit:hover{color:#15545f;color:var(--accent-dark);text-decoration:underline}.news-card,.project-detail-card,.publications-card{background:#fff;background:var(--surface);border:1px solid #d3dde5;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 28px #19303f14;margin:0 auto 28px;max-width:1000px;padding:36px 40px 28px}@media (max-width:600px){.news-card,.project-detail-card,.publications-card{padding:24px 18px 20px}}.news-card{margin-bottom:28px}.news-card h2{font-size:1rem;margin:8px 0 6px;text-align:left}.news-card p{font-size:.82rem;line-height:1.6;margin:0 0 10px}.news-meta{align-items:center;display:flex;gap:10px;min-height:1.2rem}.news-date{color:#4a5d6d;color:var(--text-muted);font-size:.75rem}.news-more{margin:0 0 28px;text-align:center}.news-more button{background:#fff;background:var(--surface);border:1px solid #d3dde5;border:1px solid var(--border);border-radius:20px;color:#19303f;color:var(--primary);cursor:pointer;font-size:.82rem;font-weight:600;padding:8px 20px;transition:background .2s ease}.news-more button:hover{background:#dcedf0;background:var(--accent-soft)}.news-card-list{font-size:.82rem;line-height:1.6;margin:0 0 16px;padding-left:18px}.news-card-list li+li{margin-top:4px}.news-flyers{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0 0 22px}.news-flyers a{display:block}.news-flyers img{border:1px solid #d3dde5;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:block;height:auto;transition:transform .25s ease,box-shadow .25s ease;width:100%}.news-flyers a:hover img{box-shadow:0 10px 24px #0c1e2a26;transform:translateY(-3px)}.news-card .view-link{display:inline-block;font-size:.82rem}.news-card .hero-btn{font-size:.82rem;padding:8px 20px}.publication-list{list-style:none;margin:0;padding:0}.publication-list li{font-size:.82rem;line-height:1.6;padding:14px 0}.publication-list li+li{border-top:1px solid #d3dde5;border-top:1px solid var(--border)}.publication-list li:first-child{padding-top:0}.publication-list li:last-child{padding-bottom:0}.pub-year+.pub-year{border-top:1px solid #d3dde5;border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.pub-year h2{align-items:center;display:flex;font-size:1rem;gap:8px;margin:0 0 4px;text-align:left}.pub-count{background:#dcedf0;background:var(--accent-soft);border-radius:10px;color:#15545f;color:var(--accent-dark);font-size:.72rem;font-weight:600;padding:1px 9px}.pub-title{color:#19303f;color:var(--primary);font-weight:600}.pub-link{color:#15545f;color:var(--accent-dark);font-weight:600;text-decoration:none;white-space:nowrap}.pub-link:hover{text-decoration:underline}.project-detail-meta{gap:10px;justify-content:center;margin:0 0 24px}.project-detail-text{line-height:1.7;margin:0 auto 24px;max-width:760px;text-align:center}.project-detail-section{margin:32px 0 0}.project-detail-section.has-figure{grid-gap:28px 40px;align-items:center;display:grid;gap:28px 40px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.project-detail-section.figure-left .project-detail-figure{order:-1}@media (max-width:700px){.project-detail-section.figure-left .project-detail-figure{order:0}}.project-detail-section h2{font-size:1.15rem;margin:0 0 10px;text-align:left}.project-detail-section li,.project-detail-section p{line-height:1.7}.project-detail-section ol,.project-detail-section ul{margin:0;padding-left:22px}.project-detail-section li+li{margin-top:6px}.project-detail-figure{margin:0}.project-detail-image{aspect-ratio:4/3;background:#fff;background:var(--surface);border:1px solid #d3dde5;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-sizing:border-box;display:block;object-fit:contain;padding:14px;width:100%}.project-detail-figure figcaption{color:#4a5d6d;color:var(--text-muted);font-size:.8rem;line-height:1.5;margin-top:8px}.project-detail-figure figcaption strong{color:#19303f;color:var(--primary)}.project-detail-credit a,.project-detail-figure figcaption a,.project-detail-venue a{color:#15545f;color:var(--accent-dark);font-weight:600;text-decoration:none}.project-detail-venue{color:#4a5d6d;color:var(--text-muted);margin:16px 0 28px}.project-detail-credit{font-size:.8rem;margin:0 0 20px}.profile-note,.project-detail-credit{color:#4a5d6d;color:var(--text-muted)}.profile-note{font-size:.85rem;margin:-6px 0 12px}@media (max-width:600px){.navbar{padding:12px 16px}.hero{padding:40px 16px 96px}.container,.profile-container{padding:28px 16px}.container+.container{padding-top:0}.footer{padding:32px 16px 16px}.join-cta{padding:28px 20px}}.container>h1,.page-intro,.project-detail-card>h1{text-align:center}.container>.section-title+p,.page-intro{margin-left:auto;margin-right:auto}.container>.section-title+p{max-width:760px;text-align:center}.research-cta{text-align:center}.alumni-list{margin-left:auto;margin-right:auto;max-width:560px}.members-page{padding:48px 56px 56px}.members-page>h1{margin-bottom:40px}.members-page .member-section{margin-bottom:64px}.members-page .section-title{margin-bottom:14px}.members-page .section-title+.alumni-list,.members-page .section-title+.people-grid,.members-page .section-title+p{margin-top:36px}.members-page .section-caption{margin:4px 0 28px}.members-page .people-grid{gap:48px 48px}.members-page .person-info h3{margin-bottom:6px}.members-page .person-summary,.members-page .person-topics{margin-top:16px}@media (max-width:600px){.members-page{padding:32px 18px 40px}.members-page .member-section{margin-bottom:48px}}.members-page .people-grid--students{display:flex;flex-wrap:wrap;gap:44px 64px;justify-content:center}.person--student{align-items:center;flex-direction:column;gap:14px;text-align:center;width:150px}.person--student .person-info{flex:none;overflow:visible;width:150px}.person--student h3{margin-left:-30px;margin-right:-30px}.person--student .person-links{justify-content:center}@media (max-width:600px){.members-page .people-grid--students{justify-content:center}}.page-hero{padding:44px 24px 80px}.page-hero h1{margin-bottom:10px}.page-hero p{margin:0}.hero-network{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}.hero-network line{stroke:#19303f38;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:4 7;animation:network-flow 6s linear infinite}.hero-network circle{fill:#19303f61;animation:node-pulse 3.2s ease-in-out infinite;animation-delay:calc(var(--i)*.4s);transform-box:fill-box;transform-origin:center}.hero-network .net-mobile{display:none}@media (max-width:700px){.hero-network .net-mobile{display:inline}}@keyframes network-flow{to{stroke-dashoffset:-110}}@keyframes node-pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.6)}}@media (max-width:600px){.page-hero{padding:36px 16px 72px}}.reveal:not(.is-visible) .person,.reveal:not(.is-visible) .project-card,.reveal:not(.is-visible) .research-feature{opacity:0}.reveal.is-visible .person,.reveal.is-visible .project-card,.reveal.is-visible .research-feature{animation:rise-in .6s cubic-bezier(.2,.7,.2,1) backwards}.reveal.is-visible .person:nth-child(2),.reveal.is-visible .project-card:nth-child(2){animation-delay:.12s}.reveal.is-visible .person:nth-child(3),.reveal.is-visible .project-card:nth-child(3){animation-delay:.24s}.reveal.is-visible .person:nth-child(4),.reveal.is-visible .project-card:nth-child(4){animation-delay:.36s}.research-feature,.research-segment .research-theme{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.research-feature:hover,.research-segment .research-theme:hover{border-color:#1d6f7f;border-color:var(--accent);box-shadow:0 12px 28px #0c1e2a1f;transform:translateY(-4px)}.research-feature .research-theme-icon,.research-segment .research-theme-icon{transition:transform .25s ease,background .25s ease,color .25s ease}.research-feature:hover .research-theme-icon,.research-segment .research-theme:hover .research-theme-icon{background:#19303f;background:var(--primary);color:#fff;transform:scale(1.12)}.person-photo{box-shadow:0 0 0 0 #1d6f7f00}.person:hover .person-photo{box-shadow:0 0 0 6px #1d6f7f2e}@media (prefers-reduced-motion:reduce){.hero-network circle,.hero-network line,.reveal.is-visible .person,.reveal.is-visible .project-card,.reveal.is-visible .research-feature{animation:none}.reveal:not(.is-visible) .person,.reveal:not(.is-visible) .project-card,.reveal:not(.is-visible) .research-feature{opacity:1}}@media (max-width:768px){.nav-links{display:none}.bottom-nav{background:#fff;background:var(--surface);border-top:1px solid #d3dde5;border-top:1px solid var(--border);bottom:0;box-shadow:0 -2px 12px #19303f14;display:flex;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:1000}.bottom-nav a{-webkit-tap-highlight-color:transparent;align-items:center;color:#4a5d6d;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;font-size:.66rem;font-weight:600;gap:3px;height:58px;justify-content:center;line-height:1;min-width:0;text-decoration:none}.bottom-nav svg{font-size:1.25rem}.bottom-nav a.active{box-shadow:inset 0 2px 0 #1d6f7f;box-shadow:inset 0 2px 0 var(--accent);color:#15545f;color:var(--accent-dark)}.footer{padding-bottom:calc(74px + env(safe-area-inset-bottom))}}@media (max-width:360px){.bottom-nav a{font-size:.62rem}}