:root,[data-theme=dark]{color-scheme:dark;--ku-navy: #0A2342;--ku-white: #FFFFFF;--bg: #0A2342;--bg2: #081a30;--bg-deep: #051525;--purple: #FFFFFF;--violet: #FFFFFF;--pink: #FFFFFF;--cyan: rgba(255, 255, 255, .85);--text: #FFFFFF;--heading: #FFFFFF;--muted: rgba(255, 255, 255, .55);--border: rgba(255, 255, 255, .18);--nav-bg: rgba(10, 35, 66, .94);--nav-border: rgba(255, 255, 255, .15);--nav-link: rgba(255, 255, 255, .6);--nav-link-active: #FFFFFF;--card-bg: rgba(255, 255, 255, .025);--card-hover-border: rgba(255, 255, 255, .45);--card-hover-shadow: rgba(255, 255, 255, .15);--btn-primary-bg: var(--ku-white);--btn-primary-fg: var(--ku-navy);--btn-primary-shadow: rgba(255, 255, 255, .2);--gradient-text: linear-gradient(135deg, #FFFFFF 0%, rgba(255,255,255,.75) 50%, rgba(255,255,255,.55) 100%);--gradient-label: linear-gradient(90deg, #FFFFFF, rgba(255,255,255,.7));--gradient-stat: linear-gradient(135deg, #FFFFFF, rgba(255,255,255,.7));--gradient-brand: linear-gradient(135deg, #FFFFFF 0%, rgba(255,255,255,.75) 50%, rgba(255,255,255,.55) 100%);--gradient-accent-bar: linear-gradient(90deg, #FFFFFF, rgba(255,255,255,.8), rgba(255,255,255,.55));--bg-light: #C8D4E3;--bg-light-soft: #D4DEEA;--text-on-light: var(--ku-navy);--muted-on-light: rgba(10, 35, 66, .68);--border-on-light: rgba(10, 35, 66, .16);--surface-on-light: rgba(10, 35, 66, .07);--surface-on-light-hover: rgba(10, 35, 66, .11);--modal-overlay: rgba(10, 35, 66, .92);--modal-bg: linear-gradient(180deg, #0A2342, #081a30);--modal-border: rgba(255, 255, 255, .35);--modal-shadow: rgba(255, 255, 255, .2)}[data-theme=light]{color-scheme:light;--bg: #EFF3F8;--bg2: #E3EAF2;--bg-deep: #0A2342;--purple: var(--ku-navy);--violet: var(--ku-navy);--pink: var(--ku-navy);--cyan: rgba(10, 35, 66, .75);--text: #0A2342;--heading: #0A2342;--muted: rgba(10, 35, 66, .62);--border: rgba(10, 35, 66, .14);--nav-bg: rgba(239, 243, 248, .94);--nav-border: rgba(10, 35, 66, .1);--nav-link: rgba(10, 35, 66, .62);--nav-link-active: #0A2342;--card-bg: rgba(10, 35, 66, .04);--card-hover-border: rgba(10, 35, 66, .28);--card-hover-shadow: rgba(10, 35, 66, .1);--btn-primary-bg: var(--ku-navy);--btn-primary-fg: var(--ku-white);--btn-primary-shadow: rgba(10, 35, 66, .18);--gradient-text: linear-gradient(135deg, #0A2342 0%, rgba(10,35,66,.75) 50%, rgba(10,35,66,.55) 100%);--gradient-label: linear-gradient(90deg, #0A2342, rgba(10,35,66,.65));--gradient-stat: linear-gradient(135deg, #0A2342, rgba(10,35,66,.65));--gradient-brand: linear-gradient(135deg, #0A2342 0%, rgba(10,35,66,.75) 50%, rgba(10,35,66,.55) 100%);--gradient-accent-bar: linear-gradient(90deg, #0A2342, rgba(10,35,66,.75), rgba(10,35,66,.5));--bg-light: #FFFFFF;--bg-light-soft: #F7F9FC;--text-on-light: var(--ku-navy);--muted-on-light: rgba(10, 35, 66, .68);--border-on-light: rgba(10, 35, 66, .12);--surface-on-light: rgba(10, 35, 66, .05);--surface-on-light-hover: rgba(10, 35, 66, .08);--modal-overlay: rgba(10, 35, 66, .55);--modal-bg: linear-gradient(180deg, #FFFFFF, #EFF3F8);--modal-border: rgba(10, 35, 66, .16);--modal-shadow: rgba(10, 35, 66, .18)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}a{text-decoration:none;color:inherit}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes neonPulse{0%,to{opacity:.35}50%{opacity:.9}}@keyframes gradShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes dotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}.gradient-text{background:var(--gradient-text);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradShift 4s ease infinite}.section-label{display:inline-block;font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;background:var(--gradient-label);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:14px}.section-title{font-size:34px;font-weight:800;letter-spacing:-1px;color:var(--heading);margin-bottom:16px}.section-desc{font-size:15px;color:var(--muted);max-width:560px;margin-bottom:48px}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border:none;border-radius:10px;font-family:inherit;font-size:14px;font-weight:600;color:var(--btn-primary-fg);cursor:pointer;background:var(--btn-primary-bg);box-shadow:0 4px 20px var(--btn-primary-shadow);transition:transform .25s ease,box-shadow .25s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--btn-primary-shadow)}.btn-outline{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;background:transparent;transition:border-color .25s ease,color .25s ease,transform .25s ease}.btn-outline:hover{border-color:var(--violet);color:var(--violet);transform:translateY(-2px)}.btn-full{width:100%;justify-content:center}.fade-in{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.section--light{background:linear-gradient(180deg,var(--bg-light-soft) 0%,var(--bg-light) 100%);color:var(--text-on-light);--text: var(--text-on-light);--muted: var(--muted-on-light);--border: var(--border-on-light);--violet: var(--ku-navy);--purple: var(--ku-navy);--pink: var(--ku-navy);--cyan: rgba(10, 35, 66, .8)}.section--light .section-label{background:linear-gradient(90deg,var(--ku-navy),rgba(10,35,66,.6));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section--light .section-title{color:var(--ku-navy)}.section--light .section-desc,.section--light .contact-intro{color:var(--muted-on-light)}.section--light .stat-item:not(:first-child):before{background:var(--border-on-light)}.section--light .stat-number{background:linear-gradient(135deg,var(--ku-navy),rgba(10,35,66,.65));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section--light .stat-label{color:var(--muted-on-light)}.section--light .stat-recruiting{background:linear-gradient(135deg,var(--ku-navy),rgba(10,35,66,.7));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section--light .pub-card{background:#fff;border-color:var(--border-on-light)}.section--light .pub-card:hover{border-color:#0a234238;box-shadow:0 8px 28px #0a234214}.section--light .pub-panel{background:#ffffffd1;border-color:var(--border-on-light)}.section--light .pub-search-wrap{background:#fff;border-color:var(--border-on-light)}.section--light .contact-glow{background:radial-gradient(circle,rgba(10,35,66,.06),transparent 70%)}.section--light .contact-icon{background:#0a234214;border-color:var(--border-on-light);color:var(--ku-navy)}.section--light .contact-row:hover .contact-icon{color:var(--ku-navy)}.section--light .contact-row-text{color:var(--text-on-light)}.section--light .contact-row-text a{color:var(--ku-navy)}.section--light .contact-row-text a:hover{color:#0a2342a6}.section--light .map-placeholder{background:var(--surface-on-light);border-color:var(--border-on-light)}.section--light .map-placeholder i{color:#0a234240}.section--light .map-placeholder span{color:var(--muted-on-light)}.section--light .btn-outline{color:var(--ku-navy);border-color:var(--border-on-light)}.section--light .btn-outline:hover{border-color:var(--ku-navy);color:var(--ku-navy)}nav{position:sticky;top:0;z-index:1000;height:68px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--nav-border);transition:background-color .3s ease,border-color .3s ease}.nav-brand{display:flex;align-items:center;justify-content:center;color:var(--text);flex-shrink:0}.brand-logo-wrap{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:5px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#fff;box-shadow:0 0 0 1px #0a234214}.brand-logo-wrap--footer{width:56px;height:56px;padding:6px}.brand-logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center center}.footer-brand-lockup{display:flex;justify-content:flex-start;margin-bottom:16px}.footer-brand-name{font-size:18px;font-weight:800;color:#fff;letter-spacing:-.3px}.footer-brand-tagline{font-size:11px;color:#ffffff8c;margin-top:3px;max-width:220px;line-height:1.4}.nav-links{display:flex;gap:32px;list-style:none}.nav-links a{font-size:14px;font-weight:500;color:var(--nav-link);transition:color .25s ease}.nav-links a:hover,.nav-links a.active{color:var(--nav-link-active)}.nav-actions{display:flex;align-items:center;gap:12px}.theme-toggle{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:border-color .25s ease,color .25s ease,transform .25s ease,background-color .25s ease}.theme-toggle:hover{border-color:var(--violet);color:var(--violet);transform:translateY(-1px);background:var(--card-bg)}.nav-cta{padding:10px 22px;border:none;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;color:var(--btn-primary-fg);cursor:pointer;background:var(--btn-primary-bg);box-shadow:0 4px 16px var(--btn-primary-shadow);transition:transform .25s ease,box-shadow .25s ease}.nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 24px var(--btn-primary-shadow)}.nav-menu-toggle{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:20px;cursor:pointer;align-items:center;justify-content:center;transition:border-color .25s ease,background .25s ease}.nav-menu-toggle:hover{border-color:var(--card-hover-border);background:var(--card-bg)}#hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;padding:90px 6% 70px;background:radial-gradient(ellipse 75% 60% at 65% 40%,rgba(255,255,255,.1),transparent 70%),var(--ku-navy);overflow:visible;color:#fff}#hero .hero-tag{color:#fff;background:#ffffff1a;border-color:#fff3}#hero .hero-tag .dot{background:#ffffffd9}#hero h1{font-size:clamp(32px,4.2vw,46px);font-weight:900;letter-spacing:-1.5px;line-height:1.12;color:#fff;margin-bottom:20px}#hero .gradient-text{background:linear-gradient(135deg,#fff,#ffffffd1,#ffffffa6);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#hero .hero-subtitle{font-size:16px;color:#ffffff8c;max-width:480px;margin-bottom:36px}#hero .btn-outline{color:#fff;border-color:#ffffff2e}#hero .btn-outline:hover{border-color:#fff;color:#fff}[data-theme=light] #hero,[data-theme=dark] #hero{background:radial-gradient(ellipse 75% 60% at 65% 40%,rgba(255,255,255,.1),transparent 70%),var(--ku-navy);color:#fff}.hero-grid-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:52px 52px}.hero-glow{position:absolute;width:480px;height:480px;top:10%;right:15%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.1),rgba(255,255,255,.05),transparent);pointer-events:none;animation:neonPulse 5s ease-in-out infinite}.hero-content{position:relative;z-index:1;min-width:0}.hero-tag{display:inline-flex;align-items:center;gap:10px;padding:7px 16px;border-radius:50px;font-size:12px;font-weight:600;color:var(--violet);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);margin-bottom:24px}.hero-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);animation:dotPulse 2s ease-in-out infinite}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}.hero-visual{position:relative;z-index:1;display:flex;justify-content:center;align-items:center}.hero-visual svg{width:min(400px,100%);height:auto;animation:floatY 7s ease-in-out infinite;filter:drop-shadow(0 8px 32px rgba(0,0,0,.2))}#stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(4,1fr);padding:30px 6%}#stats.section--light{border-color:var(--border-on-light)}#stats:not(.section--light){background:var(--bg2)}.stat-item{text-align:center;position:relative;padding:10px 20px}.stat-item:not(:first-child):before{content:"";position:absolute;left:0;top:20%;height:60%;width:1px;background:var(--border)}.stat-number{font-size:34px;font-weight:900;background:var(--gradient-stat);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.stat-label{font-size:13px;color:var(--muted);margin-top:4px}.stat-recruiting{background:var(--gradient-stat);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#research{padding:88px 6%;background:var(--bg)}.research-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.research-card{position:relative;background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:26px;overflow:hidden;transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease}.research-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.12),transparent 70%);opacity:0;transition:opacity .35s ease;pointer-events:none}.research-card:hover{border-color:var(--card-hover-border);box-shadow:0 4px 34px var(--card-hover-shadow);transform:translateY(-5px)}.research-card:hover:before{opacity:1}.card-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,#fff3,#ffffff1f);color:var(--violet);margin-bottom:18px;transition:transform .35s ease,color .35s ease}.research-card:hover .card-icon{transform:rotate(-6deg) scale(1.12);color:var(--pink)}.card-num{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:1px;margin-bottom:8px}.research-card h3{font-size:16px;font-weight:700;color:var(--heading);margin-bottom:10px}.research-card p{font-size:13px;color:var(--muted);line-height:1.55}.card-accent{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gradient-accent-bar);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.research-card:hover .card-accent{transform:scaleX(1)}#about{position:relative;overflow:hidden;padding:88px 6%;background:var(--bg2)}.about-glow{position:absolute;top:-80px;left:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08),transparent 70%);pointer-events:none}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1}.about-text p{font-size:15px;color:var(--muted);margin-bottom:32px;line-height:1.7}.about-stats{display:flex;gap:0}.about-stat{flex:1;text-align:center;padding:0 20px}.about-stat:not(:first-child){border-left:1px solid var(--border)}.about-stat-value{font-size:22px;font-weight:800;background:var(--gradient-stat);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.about-stat-label{font-size:12px;color:var(--muted);margin-top:4px}.about-features{display:flex;flex-direction:column;gap:28px}.feature-row{display:flex;gap:18px;align-items:flex-start}.feature-icon{flex-shrink:0;width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,#ffffff2e,#ffffff1a);border:1px solid rgba(255,255,255,.2);color:var(--violet);transition:transform .3s ease,color .3s ease}.feature-row:hover .feature-icon{transform:rotate(10deg) scale(1.1);color:var(--cyan)}.feature-row h4{font-size:15px;font-weight:700;color:var(--heading);margin-bottom:6px}.feature-row p{font-size:13px;color:var(--muted);line-height:1.55}#publications{padding:88px 6%}.pub-header{margin-bottom:28px}.pub-header-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.pub-page-title{margin-bottom:0}.pub-results-count{font-size:13px;color:var(--muted);margin:0}.pub-panel{padding:24px;margin-bottom:28px;border:1px solid var(--border);border-radius:16px;background:#ffffff0a;display:flex;flex-direction:column;gap:18px}.pub-search-row{display:flex;align-items:center;gap:12px}.pub-search-wrap{flex:1;display:flex;align-items:center;gap:10px;padding:0 14px;height:44px;border:1px solid var(--border);border-radius:10px;background:#ffffff0f;color:var(--muted)}.pub-search-input{flex:1;border:none;background:transparent;font-family:inherit;font-size:14px;color:var(--text);outline:none}.pub-search-input::placeholder{color:var(--muted)}.pub-clear-btn{border:none;background:none;font-family:inherit;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;padding:8px 4px}.pub-clear-btn:hover{color:var(--heading)}.pub-filter-group{display:flex;flex-direction:column;gap:10px}.pub-filter-label{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.pub-chip-row{display:flex;flex-wrap:wrap;gap:8px}.pub-chip{padding:7px 14px;border:1px solid var(--border);border-radius:999px;background:transparent;font-family:inherit;font-size:12px;font-weight:600;color:var(--text);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.pub-chip:hover{border-color:var(--card-hover-border)}.pub-chip.is-active{background:var(--ku-navy);border-color:var(--ku-navy);color:#fff}.pub-list{display:flex;flex-direction:column;gap:14px}.pub-card{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);transition:border-color .25s ease,box-shadow .25s ease}.pub-card:hover{border-color:var(--card-hover-border);box-shadow:0 6px 24px var(--card-hover-shadow)}.pub-card-main{flex:1;min-width:0}.pub-card-title-row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:8px}.pub-card-title{font-size:16px;font-weight:700;color:var(--heading);line-height:1.45}.pub-award{flex-shrink:0;padding:4px 10px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#fff;background:var(--ku-navy)}.pub-card-authors{font-size:13px;color:var(--text);margin-bottom:6px;line-height:1.5}.pub-card-meta{font-size:12px;color:var(--muted);line-height:1.5}.pub-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;max-width:220px}.pub-link-btn{padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:transparent;font-family:inherit;font-size:12px;font-weight:600;color:var(--heading);text-decoration:none;transition:border-color .2s ease,background .2s ease}.pub-link-btn:hover{border-color:var(--ku-navy);background:#0a23420f}.pub-cite-btn{flex-shrink:0;padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:transparent;font-family:inherit;font-size:12px;font-weight:600;color:var(--heading);cursor:pointer;transition:border-color .2s ease,background .2s ease}.pub-cite-btn:hover{border-color:var(--ku-navy);background:#0a23420f}.pub-status{font-size:14px;color:var(--muted);padding:12px 0}.pub-status--error{color:#b42318}.pub-expand-row{display:flex;justify-content:center;margin-top:28px}.pub-expand-btn{padding:12px 24px;border:1px solid var(--ku-navy);border-radius:10px;background:transparent;font-family:inherit;font-size:14px;font-weight:600;color:var(--ku-navy);cursor:pointer;transition:background .2s ease,color .2s ease}.pub-expand-btn:hover{background:var(--ku-navy);color:#fff}#people{padding:88px 6%;background:var(--bg2)}.people-groups{display:flex;flex-direction:column;gap:52px}.people-group-label{font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;background:var(--gradient-label);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:22px;text-align:center}.people-group--director{display:flex;flex-direction:column;align-items:center}.people-group--director .people-group-label{font-size:13px;margin-bottom:28px}.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.people-grid--director{display:flex;justify-content:center;max-width:360px;margin:0 auto}.people-grid--ms,.people-grid--undergraduate{grid-template-columns:repeat(3,1fr);max-width:960px;margin:0 auto}.person-card{text-align:center;padding:32px 20px;border:1px solid var(--border);border-radius:14px;background:var(--card-bg);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.person-card--director{width:100%;padding:40px 32px;border-color:var(--card-hover-border);background:linear-gradient(180deg,var(--card-bg),transparent);box-shadow:0 8px 40px var(--card-hover-shadow)}.person-card--director:hover{box-shadow:0 12px 48px var(--card-hover-shadow)}.person-card:hover{transform:translateY(-5px);border-color:var(--card-hover-border);box-shadow:0 4px 34px var(--card-hover-shadow)}.person-card--director:hover{transform:translateY(-6px)}.avatar{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;margin:0 auto 16px;border:2px solid transparent;background-clip:padding-box}.avatar.purple-cyan{background:var(--card-bg);border-color:var(--purple);color:var(--cyan)}.avatar.cyan{background:var(--card-bg);border-color:var(--cyan);color:var(--cyan)}.avatar.pink{background:var(--card-bg);border-color:var(--pink);color:var(--pink)}.avatar.violet{background:var(--card-bg);border-color:var(--violet);color:var(--violet)}.person-card--director .avatar{width:104px;height:104px;font-size:30px;margin-bottom:20px}.person-card--director h3{font-size:17px}.person-card h3{font-size:15px;font-weight:700;color:var(--heading);margin-bottom:6px}.person-title{font-size:12px;color:var(--muted);margin-bottom:12px}.role-badge{display:inline-block;padding:4px 12px;border-radius:50px;font-size:11px;font-weight:600;color:var(--violet);background:#ffffff1f;border:1px solid rgba(255,255,255,.18)}.role-badge--director{color:var(--cyan);background:#ffffff14;border-color:#fff3}.role-badge--ms{color:var(--violet)}.role-badge--undergraduate{color:var(--pink);background:#ffffff14;border-color:#ffffff26}#partners{padding:96px 6%;background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%);border-top:1px solid var(--border);overflow:hidden}.partners-showcase{margin-top:44px;padding:36px 0;background:#ffffff0a;border:1px solid var(--border);border-radius:20px;overflow:hidden}[data-theme=light] .partners-showcase{background:#ffffffb8;border-color:#0a23421a;box-shadow:0 10px 40px #0a234212}.partners-marquee{position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.partners-track{display:flex;align-items:stretch;gap:40px;width:max-content;padding:12px 40px;animation:partners-scroll-right var(--partners-duration, 40s) linear infinite}.partners-track:hover{animation-play-state:paused}.partners-logo{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:240px;min-height:140px;padding:24px 36px;background:#fff;border-radius:16px;border:1px solid rgba(10,35,66,.08);box-shadow:0 6px 24px #0a234214;text-decoration:none;color:inherit;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.partners-logo:hover{transform:translateY(-4px);border-color:#0a234229;box-shadow:0 16px 40px #0a23421f}.partners-logo-img{display:flex;align-items:center;justify-content:center;width:100%;min-height:72px;line-height:0}.partners-logo-img img{max-height:80px;max-width:200px;width:auto;height:auto;object-fit:contain}.partners-logo-name{font-size:12px;font-weight:600;letter-spacing:.3px;color:#0a23428c;text-align:center}.partners-logo:hover .partners-logo-name{color:var(--ku-navy)}@keyframes partners-scroll-right{0%{transform:translate(-50%)}to{transform:translate(0)}}#contact{position:relative;overflow:hidden;padding:88px 6%}#contact:not(.section--light){background:var(--bg2)}.contact-glow{position:absolute;bottom:-60px;right:-60px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.06),transparent 70%);pointer-events:none}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;position:relative;z-index:1}.contact-intro{font-size:15px;color:var(--muted);margin-bottom:32px;line-height:1.7}.contact-rows{display:flex;flex-direction:column;gap:20px}.contact-row{display:flex;align-items:center;gap:16px}.contact-icon{flex-shrink:0;width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;background:linear-gradient(135deg,#ffffff2e,#ffffff1a);border:1px solid rgba(255,255,255,.2);color:var(--violet);transition:transform .3s ease,color .3s ease}.contact-row:hover .contact-icon{transform:rotate(-8deg) scale(1.1);color:var(--cyan)}.contact-row-text{font-size:14px;color:var(--text)}.contact-row-text a{color:var(--violet);transition:color .2s ease}.contact-row-text a:hover{color:var(--cyan)}.map-placeholder{width:100%;height:280px;border-radius:14px;border:1px solid var(--border);background:#ffffff05;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}.map-placeholder i{font-size:48px;color:#ffffff40}.map-placeholder span{font-size:13px;color:var(--muted)}footer{background:var(--ku-navy);border-top:1px solid rgba(255,255,255,.08);padding:60px 6% 0;--text: #FFFFFF;--heading: #FFFFFF;--muted: rgba(255, 255, 255, .55);--border: rgba(255, 255, 255, .18);--violet: #FFFFFF;--purple: #FFFFFF}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:48px}.footer-brand p{font-size:13px;color:var(--muted);margin-top:0;max-width:320px;line-height:1.6}.footer-col h4{font-size:13px;font-weight:700;color:#fff;letter-spacing:1px;text-transform:uppercase;margin-bottom:18px}.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}.footer-col a{font-size:13px;color:var(--muted);transition:color .2s ease}.footer-col a:hover{color:var(--violet)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-top:1px solid rgba(255,255,255,.08)}.footer-bottom p{font-size:12px;color:var(--muted)}.social-buttons{display:flex;gap:10px}.social-btn{width:38px;height:38px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff08;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--muted);transition:transform .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}.social-btn:hover{transform:translateY(-2px);border-color:var(--purple);color:var(--purple);box-shadow:0 4px 16px #ffffff2e}@media(max-width:960px){nav{height:auto;min-height:68px;flex-wrap:wrap;padding-bottom:0}.nav-menu-toggle{display:inline-flex}.nav-links{display:none;order:3;width:100%;flex-direction:column;gap:0;padding:8px 0 16px;border-top:1px solid var(--nav-border);margin-top:8px}.nav--open .nav-links{display:flex}.nav-links li{width:100%}.nav-links a{display:block;padding:12px 0;font-size:15px}.nav-cta{display:none}#hero,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-visual{display:none}.research-grid,.people-grid--ms,.people-grid--undergraduate,#stats{grid-template-columns:repeat(2,1fr)}.stat-item:before{display:none}.footer-grid{grid-template-columns:1fr}}@media(max-width:600px){.partners-logo{min-width:200px;min-height:120px;padding:20px 28px}.partners-logo-img img{max-height:64px;max-width:170px}.partners-showcase{margin-top:32px;padding:28px 0}.brand-logo-wrap{width:44px;height:44px;padding:4px}.brand-logo-wrap--footer{width:50px;height:50px;padding:5px}.hero h1{font-size:32px}.hero-buttons{flex-direction:column;align-items:flex-start}.research-grid,.people-grid--ms,.people-grid--undergraduate{grid-template-columns:1fr}.pub-card{flex-direction:column;align-items:stretch}.pub-card-actions{max-width:none;justify-content:flex-start}.pub-cite-btn{align-self:flex-start}.section-title{font-size:26px}}.person-name-btn{display:block;width:100%;margin:0 auto 6px;font-size:15px;font-weight:700;color:var(--heading)}.person-card--clickable .person-card-btn{display:block;width:100%;padding:0;border:none;background:none;font-family:inherit;text-align:center;cursor:pointer;color:inherit}.person-card--clickable:hover .person-name-btn{color:var(--violet)}.person-view-cv{display:block;margin-top:10px;font-size:11px;font-weight:600;color:var(--muted)}.person-card:hover .person-view-cv{color:var(--cyan)}.person-avatar{margin:0 auto 16px;border-radius:50%;overflow:hidden;border:2px solid var(--border);flex-shrink:0}.person-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block}.person-avatar--card{width:84px;height:84px}.person-avatar--director{width:104px;height:104px;border-color:#fff6}.person-avatar--modal{width:96px;height:96px}.person-avatar--purple-cyan{border-color:var(--purple)}.person-avatar--cyan{border-color:var(--cyan)}.person-avatar--pink{border-color:var(--pink)}.person-avatar--violet{border-color:var(--violet)}.person-avatar--card.avatar,.person-avatar--director.avatar,.person-avatar--modal.avatar{display:flex;align-items:center;justify-content:center;font-weight:800}.person-avatar--card.avatar{width:84px;height:84px;font-size:24px}.person-avatar--director.avatar{width:104px;height:104px;font-size:30px;margin-bottom:20px}.person-avatar--modal.avatar{width:96px;height:96px;font-size:28px;margin:0}.cv-modal-avatar.person-avatar{margin:0}.cv-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--modal-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .32s ease}.cv-modal-overlay--open,.cv-modal-overlay--exit{opacity:1}.cv-modal-overlay--exit{opacity:0}.cv-modal{position:relative;width:100%;max-width:520px;max-height:85vh;overflow-y:auto;border:1px solid var(--modal-border);border-radius:16px;background:var(--modal-bg);box-shadow:0 24px 80px var(--modal-shadow);opacity:0;transform:translateY(24px) scale(.96);transition:opacity .32s ease,transform .38s cubic-bezier(.22,1,.36,1)}.cv-modal--open{opacity:1;transform:translateY(0) scale(1)}.cv-modal--exit{opacity:0;transform:translateY(16px) scale(.97)}.cv-modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:#ffffff0d;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.cv-modal-close:hover{border-color:var(--violet);color:var(--violet)}.cv-modal-header{display:flex;gap:20px;align-items:center;padding:32px 32px 24px;border-bottom:1px solid var(--border)}.cv-modal-avatar{flex-shrink:0;width:80px;height:80px;font-size:26px;margin:0}.cv-modal-header h2{font-size:20px;font-weight:800;color:var(--heading);margin-bottom:6px}.cv-modal-title{font-size:13px;color:var(--muted);margin-bottom:10px}.cv-modal-body{padding:24px 32px;display:flex;flex-direction:column;gap:22px}.cv-section--animate{opacity:0;transform:translateY(12px);animation:cvSectionIn .4s ease forwards}.cv-section--animate:nth-child(1){animation-delay:.12s}.cv-section--animate:nth-child(2){animation-delay:.18s}.cv-section--animate:nth-child(3){animation-delay:.24s}.cv-section--animate:nth-child(4){animation-delay:.3s}@keyframes cvSectionIn{to{opacity:1;transform:translateY(0)}}.cv-section h4{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--violet);margin-bottom:10px}.cv-section p{font-size:14px;color:var(--text);line-height:1.65}.cv-section ul{list-style:none;display:flex;flex-direction:column;gap:8px}.cv-section li{font-size:13px;color:var(--muted);padding-left:16px;position:relative;line-height:1.5}.cv-section li:before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,var(--violet),var(--pink))}.cv-modal-footer{display:flex;flex-wrap:wrap;gap:12px;padding:20px 32px 28px;border-top:1px solid var(--border)}.cv-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--violet)}.cv-link:hover{color:var(--cyan)}
