/* Shared brand tokens. Keep font and color choices here. */
:root {
  --blue: #2b61ab;
  --deep: #183a65;
  --orange: #ffad55;
  --cream: #fef9f5;
  --ink: #173453;
  --muted: #5b6e83;
  --line: #dce4ec;
  --white: #fff;
  --sans: "Noto Sans TC", sans-serif;
  --serif: "Source Serif 4", "Noto Serif TC", serif;
  --zh-display: "Noto Serif TC", serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.8}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{line-height:1.4}a,button{touch-action:manipulation}button{color:inherit}span[lang=en]{display:block}h2>span[lang=en],h3>span[lang=en]{font-weight:400}.wrap{width:min(1240px,100%);margin-inline:auto;padding-inline:48px}.section{padding-top:100px;padding-bottom:100px}.tint{background:#f0f4f8}.skip{position:fixed;top:-100px;left:15px;padding:10px 20px;background:white;z-index:100}.skip:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:var(--cream);padding:12px 36px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;flex-shrink:0}.brand>span{font-size:21px;font-weight:750;letter-spacing:.08em;line-height:1.45}.brand>span>span{font-size:10px;letter-spacing:.11em}.brand img{width:62px;height:62px;object-fit:contain}nav{display:flex;gap:25px}nav a{text-decoration:none;font-size:14px;line-height:1.5;font-weight:650}nav a span{font-size:11px;font-weight:450;color:var(--muted)}nav a:hover{color:var(--blue)}.menu{display:none}.eyebrow{color:var(--blue);font-size:11px;letter-spacing:.15em;font-weight:750;line-height:1.8;margin-bottom:20px}.hero{background:var(--cream)}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding-top:65px;padding-bottom:65px}.hero h1{font-size:clamp(40px,5.5vw,70px);line-height:1.15;letter-spacing:.06em;color:var(--blue);font-weight:800}.hero h1 span{font-family:var(--serif);font-weight:500;font-size:clamp(35px,4.2vw,56px);letter-spacing:-.025em;line-height:1.04;margin-top:17px}.hero-lead{font-size:23px;line-height:1.6;margin-top:30px;font-weight:600}.hero-en{font-size:17px;color:var(--muted);line-height:1.5;margin-top:12px}.hero-logo img{width:100%;max-width:520px;margin:auto;mix-blend-mode:multiply}.hero-logo figcaption{font-size:10px;letter-spacing:.13em;text-align:center;margin-top:10px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px;flex-wrap:wrap}.button{display:inline-block;padding:12px 23px;background:var(--blue);color:white;text-decoration:none;font-weight:650;font-size:14px;line-height:1.6}.button span{font-size:11px;font-weight:450}.button:hover{background:var(--deep)}.text-link{font-size:14px;font-weight:650;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px}.text-link span{font-size:11px;font-weight:450;line-height:1.7}.affiliation{font-size:12px;line-height:1.65;margin-top:38px;border-top:1px solid var(--line);padding-top:20px}.affiliation span{font-size:11px;color:var(--muted);margin-top:5px}.hero-strip{background:var(--blue);color:white}.hero-strip>.wrap{display:grid;grid-template-columns:repeat(3,1fr) 1fr;align-items:center;gap:20px;padding-top:20px;padding-bottom:20px}.hero-strip b{font-weight:550;margin-left:10px}.hero-strip span{font-size:13px}.hero-strip span[lang=en]{color:#e0e9f4;font-size:11px;margin-left:28px}.hero-strip a{font-size:11px;letter-spacing:.12em;text-align:right}.section-title{margin-bottom:36px}.section-title .eyebrow{margin-bottom:11px}.section-title h2{font-size:clamp(26px,3vw,39px);font-weight:700}.section-title h2 span{font-size:23px;font-family:var(--serif);margin-top:6px;color:var(--blue)}.bilingual{display:grid;grid-template-columns:1fr 1fr;gap:32px;font-size:16px;line-height:1.9}.bilingual>[lang=en]{font-size:15px;line-height:1.8;color:var(--muted)}.bilingual+.bilingual{margin-top:20px}.intro-text{font-size:18px}.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:46px}.name-grid article{border-top:2px solid var(--orange);padding-top:24px}.name-grid article>.eyebrow{margin-bottom:8px}.name-grid h3{font-size:27px;margin-bottom:18px}.name-grid h3 span{display:inline;font-family:var(--serif);font-size:25px;color:var(--blue);margin-left:8px}.name-grid .bilingual{display:block;font-size:15px}.name-grid .bilingual>[lang=en]{margin-top:14px;font-size:14px}.ethos{border-top:1px solid var(--line);margin-top:40px;padding-top:30px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:35px;align-items:center}.approach-grid .bilingual{display:block;font-size:15px}.approach-grid .bilingual>[lang=en]{font-size:14px;margin-top:15px}.approach-grid figure img{border-radius:14px}.approach-grid figcaption{font-size:11px;color:var(--muted);margin-top:8px}.workflow-figure{margin-top:30px}.workflow-figure img{width:100%}.workflow-figure figcaption{font-size:11px;color:var(--muted);margin-top:8px}.research-index{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:35px}.research-index a{background:white;padding:21px;border:1px solid var(--line);border-top:3px solid var(--blue);font-size:15px;text-decoration:none;font-weight:600}.research-index a>span:first-child{display:block;font-size:11px;letter-spacing:.15em;margin-bottom:10px;color:var(--blue)}.research-index a>span[lang=en]{font-weight:400;font-size:12px;line-height:1.6;margin-top:10px;color:var(--muted)}.research-index a:hover{border-color:var(--blue)}.research-story{padding-top:65px;margin-top:65px;border-top:1px solid var(--line)}.story-head .eyebrow{margin-bottom:12px}.story-head h3{font-size:30px}.story-head h3 span{font-family:var(--serif);font-size:24px;color:var(--blue);margin-top:5px}.journal{font-size:12px;color:var(--blue);margin-top:13px;line-height:1.6}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-top:30px}.image-button{width:100%;display:block;padding:0;border:0;background:none;cursor:zoom-in}.paper-figure{background:white;border:1px solid var(--line);padding:20px}.paper-figure img{width:100%;max-height:640px;object-fit:contain}.paper-figure figcaption{font-size:11px;line-height:1.7;margin-top:18px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted)}.paper-figure figcaption strong{font-weight:500;color:var(--ink)}.paper-figure figcaption>span{display:block}.story-copy .bilingual{display:block;font-size:15px}.story-copy .bilingual>[lang=en]{font-size:14px;margin-top:14px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0;padding:20px 0;border-block:1px solid var(--line)}.metrics strong{font-size:clamp(16px,1.7vw,24px);line-height:1.35;display:block;font-weight:650;color:var(--blue);overflow-wrap:anywhere}.metrics span{font-size:11px;line-height:1.5;display:block;margin-top:7px}.metrics span[lang=en]{color:var(--muted);font-size:10px;margin-top:4px}.story-copy h4{font-size:14px;margin-bottom:12px}.story-copy h4 span{font-weight:400;font-size:12px;display:inline;color:var(--muted)}.story-copy>.text-link{display:inline-block;margin-top:25px}.pi-grid{display:grid;grid-template-columns:300px 1fr;gap:55px;align-items:start}.pi-photo{background:white}.pi-photo>img{width:100%;height:360px;object-fit:cover;object-position:center top}.pi-photo>div{padding:22px}.pi-photo .eyebrow{margin-bottom:8px;letter-spacing:.08em}.pi-photo h3{font-size:30px}.pi-photo p:not(.eyebrow){font-size:14px;margin-top:7px}.pi-photo p span{font-size:12px;color:var(--muted)}.pi-photo a{display:block;margin-top:18px;font-size:13px}.pi-intro .bilingual{gap:28px;font-size:15px}.pi-intro .bilingual>[lang=en]{font-size:14px}.pi-intro>.text-link{display:inline-block;margin-top:24px}.cv-section{margin-top:45px}.cv-section h3{font-size:20px;margin-bottom:18px}.cv-section h3 span{display:inline;font-size:17px;font-family:var(--serif);color:var(--blue);margin-left:10px}.cv-row{display:grid;grid-template-columns:170px 1fr;gap:24px;border-top:1px solid var(--line);padding:18px 0}.cv-row .date{font-size:13px;color:var(--blue);font-weight:650}.cv-row .bilingual{font-size:14px;gap:28px}.cv-row .bilingual>[lang=en]{font-size:13px}.cv-details{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.cv-details summary{cursor:pointer;font-size:18px;font-weight:650}.cv-details summary span{font-size:14px;display:inline;font-weight:400;margin-left:10px;color:var(--blue)}.cv-details[open] summary{margin-bottom:22px}.cv-details>.bilingual{font-size:14px}.cv-details>.bilingual>[lang=en]{font-size:13px}.students{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:35px}.student{padding:34px;display:flex;gap:25px;align-items:center;border:1px solid var(--line);background:white;border-bottom:3px solid var(--orange)}.student-mark{width:105px;height:105px;position:relative;flex-shrink:0;background:var(--blue);color:white;border-radius:50%;display:grid;place-items:center;font-size:36px}.student-mark span{position:absolute;bottom:-4px;right:-4px;background:var(--orange);color:var(--ink);font-size:12px;width:31px;height:31px;border-radius:50%;display:grid;place-items:center}.student .eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:10px}.student h3{font-size:29px}.student p:not(.eyebrow){font-size:13px;margin-top:8px}.student p span{font-size:12px;color:var(--muted)}.training-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}.training-grid article{background:white;padding:25px;border-top:3px solid var(--blue)}.card-number{font-family:var(--serif);font-size:37px;color:var(--blue);display:block;margin-bottom:18px;line-height:1}.training-grid h3{font-size:17px;margin-bottom:18px}.training-grid h3 span{font-size:15px;color:var(--blue);margin-top:6px}.training-grid .bilingual{display:block;font-size:14px;line-height:1.8}.training-grid .bilingual>[lang=en]{font-size:12px;line-height:1.75;margin-top:12px}.collaboration{border-top:1px solid var(--line);margin-top:40px;padding-top:30px}.collaboration h3{font-size:21px;margin-bottom:22px}.collaboration h3 span{font-size:17px;color:var(--blue)}.collaboration .button{margin-top:25px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.filters button{background:transparent;border:1px solid var(--line);padding:10px 21px;font-size:13px;line-height:1.6;min-height:44px}.filters button span{font-size:11px}.filters button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}#paper-count{color:var(--muted);font-size:12px;margin-bottom:20px}.paper{display:grid;grid-template-columns:100px 1fr 60px;gap:26px;padding:26px 0;border-top:1px solid var(--line)}[hidden]{display:none!important}.paper-year{color:var(--blue);font-size:25px;line-height:1.3;font-family:var(--serif)}.paper-year span{font-family:var(--sans);font-size:9px;line-height:1.5;letter-spacing:.04em;margin-top:9px}.paper .journal{margin-top:0;margin-bottom:8px}.paper h3{font-size:17px;line-height:1.65;font-weight:550}.paper h3 a{text-decoration:none}.paper h3 a:hover{text-decoration:underline}.authors{font-size:12px;line-height:1.75;color:var(--muted);margin-top:10px}.doi{font-size:12px;color:var(--blue);justify-self:end}.small{font-size:12px;display:inline-block;margin-top:12px}.small span{font-size:10px}.source-note{font-size:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:10px}.source-note>[lang=en]{font-size:12px}.contact{padding:85px 0;background:var(--deep);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact .eyebrow{color:var(--orange)}.contact h2{font-size:35px}.contact h2 span{font-family:var(--serif);font-size:23px;font-weight:400;margin-top:12px;color:#d1e1f7}.contact p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:25px}.contact p span{font-size:12px;color:#cfdaea;margin-top:8px}.contact-email{display:inline-block;color:var(--orange);font-family:var(--serif);font-size:clamp(20px,2.2vw,29px);margin-top:30px;overflow-wrap:anywhere}.contact dl{margin:0}.contact dl>div{display:grid;grid-template-columns:100px 1fr;gap:20px;border-bottom:1px solid #4d6789;padding:18px 0;font-size:14px}.contact dt{color:#d1e1f7;font-size:12px}.contact dt span{font-size:10px}.contact dd{margin:0;line-height:1.7}.contact dd span{font-size:12px;color:#cfdaea;margin-top:5px}footer{padding-top:30px;padding-bottom:30px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.footer-brand{display:flex;gap:15px;align-items:center;font-size:14px;font-weight:600}.footer-brand span{display:block;font-size:11px;color:var(--muted);font-weight:400}.footer-links{display:flex;justify-content:flex-end;gap:20px;flex-wrap:wrap}.footer-links a{font-size:11px;color:var(--muted)}.footer-note{grid-column:1/-1;font-size:10px;color:var(--muted);padding-top:18px;border-top:1px solid var(--line);line-height:1.7}dialog{width:min(1200px,96vw);max-height:94vh;padding:20px;border:1px solid var(--line);background:var(--cream);color:var(--ink)}dialog::backdrop{background:#0c233dcc}.dialog-bar{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:18px}.dialog-bar p{font-size:13px;line-height:1.7}.dialog-bar button{padding:10px 14px;background:var(--blue);color:white;border:0;flex-shrink:0;min-height:44px}.dialog-image{overflow:auto;background:white}.dialog-image img{width:100%;max-width:none}.dialog-hint{font-size:11px;color:var(--muted);margin-top:10px}.dialog-hint span{display:inline;margin-left:10px}body.dialog-open{overflow:hidden}@media(min-width:1440px){.wrap{width:1280px}.hero-grid{padding-top:75px;padding-bottom:75px}}@media(max-width:1100px){header{padding:12px 24px}nav{gap:18px}.wrap{padding-inline:32px}.hero-grid{gap:25px}.pi-grid{grid-template-columns:250px 1fr;gap:30px}.pi-intro .bilingual{display:block}.pi-intro .bilingual>[lang=en]{margin-top:14px}.training-grid{grid-template-columns:repeat(2,1fr)}.student{padding:25px}.student-mark{width:80px;height:80px}.research-index{grid-template-columns:1fr 1fr}.name-grid{gap:30px}}@media(max-width:860px){html{scroll-padding-top:88px}header{padding:8px 20px;flex-wrap:wrap;gap:0}.brand>span{font-size:18px}.brand img{width:53px;height:53px}.brand>span>span{font-size:9px}.menu{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--line);padding:9px 12px;font-size:12px;min-height:44px}.menu span[lang=en]{font-size:10px}.menu>span:last-child{font-size:20px;line-height:1}.menu[aria-expanded=true]>span:last-child{transform:rotate(45deg)}nav{display:none;width:100%;padding:20px 0 12px;border-top:1px solid var(--line);margin-top:8px;grid-template-columns:repeat(3,1fr);gap:18px}nav.open{display:grid}.hero-grid{gap:15px}.hero-logo figcaption{font-size:8px}.hero h1{font-size:45px}.hero h1 span{font-size:38px}.hero-lead{font-size:20px}.hero-en{font-size:15px}.hero-strip>.wrap{grid-template-columns:repeat(3,1fr);gap:12px}.hero-strip a{display:none}.section{padding-block:70px}.story-grid,.approach-grid{grid-template-columns:1fr}.approach-grid figure{max-width:650px;margin-inline:auto}.approach-grid .bilingual{display:grid;gap:24px}.approach-grid .bilingual>[lang=en]{margin-top:0}.story-copy .bilingual{display:grid;gap:24px}.story-copy .bilingual>[lang=en]{margin-top:0}.metrics strong{font-size:24px}.paper-figure img{max-height:650px}.pi-grid{grid-template-columns:220px 1fr}.pi-photo>img{height:310px}.pi-photo>div{padding:18px}.students{gap:18px}.student{align-items:start;gap:18px}.student-mark{width:65px;height:65px;font-size:26px}.student h3{font-size:25px}.student .eyebrow{font-size:8px}.student-mark span{width:25px;height:25px;font-size:10px}.contact-grid{gap:35px}.contact dl>div{grid-template-columns:75px 1fr;gap:12px}.contact h2{font-size:28px}footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.cv-row{grid-template-columns:130px 1fr;gap:20px}.cv-row .bilingual{gap:22px}}
@media(max-width:600px){.wrap{padding-inline:22px}.hero-grid{display:flex;flex-direction:column;padding-top:42px;padding-bottom:35px;align-items:stretch;gap:25px}.hero-copy{position:relative}.hero h1{font-size:47px}.hero h1 span{font-size:44px}.hero-lead{font-size:22px;margin-top:24px}.hero-en br{display:none}.hero-logo{width:85%;max-width:340px;align-self:center}.hero-logo figcaption{font-size:8px}.hero .eyebrow{font-size:10px}.affiliation{margin-top:25px}.hero-actions{margin-top:24px;gap:20px}.hero-strip>.wrap{padding-block:17px}.hero-strip span{font-size:10px}.hero-strip b{margin-left:5px}.hero-strip span[lang=en]{font-size:9px;margin-left:0;margin-top:3px}.section{padding-block:56px}.section-title{margin-bottom:26px}.section-title h2{font-size:28px}.section-title h2 span{font-size:20px}.bilingual{grid-template-columns:1fr;gap:15px;font-size:15px}.bilingual>[lang=en]{font-size:14px}.intro-text{font-size:16px}.name-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.name-grid h3{font-size:24px}.name-grid h3 span{font-size:22px}.ethos{margin-top:28px;padding-top:24px}.approach-grid{gap:25px}.approach-grid .bilingual{display:block}.approach-grid .bilingual>[lang=en]{margin-top:12px}.research-index{gap:10px;margin-top:25px}.research-index a{padding:16px 13px;font-size:13px}.research-index a>span[lang=en]{font-size:11px}.research-story{padding-top:40px;margin-top:40px}.story-head h3{font-size:24px}.story-head h3 span{font-size:21px}.story-head .eyebrow{font-size:10px}.story-grid{gap:25px;margin-top:24px}.paper-figure{padding:12px}.paper-figure figcaption{font-size:10px}.story-copy .bilingual{display:block}.story-copy .bilingual>[lang=en]{margin-top:13px}.metrics{gap:10px;margin:22px 0;padding:17px 0}.metrics strong{font-size:20px}.metrics span{font-size:10px}.metrics span[lang=en]{font-size:9px}.workflow-figure{margin-top:24px}.workflow-figure figcaption{font-size:10px}.pi-grid{grid-template-columns:1fr;gap:25px}.pi-photo{display:grid;grid-template-columns:135px 1fr;align-items:center}.pi-photo>img{height:210px;object-fit:cover}.pi-photo h3{font-size:25px}.pi-photo>div{padding:15px}.pi-photo .eyebrow{font-size:9px}.pi-photo a{font-size:11px}.cv-section{margin-top:30px}.cv-row{grid-template-columns:1fr;gap:7px;padding-block:17px}.cv-row .bilingual{gap:10px}.cv-row .date{font-size:12px}.cv-details summary{font-size:16px}.cv-details summary span{display:block;margin-left:0;font-size:13px}.students{grid-template-columns:1fr;gap:16px;margin-top:25px}.student{padding:24px;align-items:center}.student-mark{width:85px;height:85px;font-size:30px}.student h3{font-size:27px}.student .eyebrow{font-size:9px}.training-grid{gap:13px;margin-top:25px}.training-grid article{padding:19px 15px}.training-grid h3{font-size:16px}.training-grid h3 span{font-size:14px}.training-grid .bilingual{font-size:13px}.training-grid .bilingual>[lang=en]{font-size:11px}.card-number{font-size:32px}.collaboration{margin-top:30px}.filters{gap:8px}.filters button{padding:9px 12px;font-size:12px}.paper{grid-template-columns:58px 1fr;gap:16px;padding:22px 0}.paper-year{font-size:23px}.paper-year span{font-size:8px;overflow-wrap:normal}.paper .doi{grid-column:2;justify-self:start;margin-top:-4px}.paper h3{font-size:15px;line-height:1.65}.authors{font-size:11px;overflow-wrap:anywhere}.paper .journal{font-size:11px}.contact{padding:55px 0}.contact-grid{grid-template-columns:1fr;gap:30px}.contact h2{font-size:28px}.contact h2 span{font-size:22px}.contact-email{font-size:23px}.contact dl>div{grid-template-columns:80px 1fr}.footer-brand{font-size:12px}.footer-brand>img{width:53px}.footer-links{gap:16px}.footer-note{font-size:9px}dialog{padding:13px;width:96vw}.dialog-bar{gap:12px}.dialog-bar p{font-size:11px}.dialog-bar button{font-size:11px;padding:9px 10px}.dialog-image img[src$='.svg']{min-width:900px}.dialog-hint span{display:block;margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}@media print{header,nav,.filters,.hero-actions,dialog,.research-index{display:none}.section{padding-block:30px}.wrap{padding-inline:10px}.hero-grid{padding-block:20px}.paper,.research-story{break-inside:avoid}.contact{background:white;color:var(--ink)}.contact *{color:var(--ink)!important}}

/* Editorial refinement · October 2026 */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:.005em}h1,h2,h3{text-wrap:balance}p,.bilingual>div{text-wrap:pretty}.section-title h2,.hero h1{font-family:var(--zh-display);font-weight:600}.hero h1{letter-spacing:.07em;font-size:clamp(45px,5.2vw,68px)}.hero h1 span{letter-spacing:-.04em;font-size:clamp(38px,4.1vw,55px);margin-top:20px}.hero .eyebrow{display:inline-flex;border:1px solid #cbd9e8;border-radius:30px;padding:5px 12px;font-size:10px;background:#fff8}.hero-lead{font-weight:500;letter-spacing:.03em}.hero-logo{border:1px solid #e2e6e9;border-radius:32px;background:#fff8;padding:15px 15px 23px;box-shadow:0 24px 60px -45px #183a6560}.hero-logo img{border-radius:22px}.hero-logo figcaption{margin-top:0}.hero-strip{background:var(--deep)}.hero-strip b{font-weight:500}.hero-actions .button,.collaboration .button{border-radius:6px;box-shadow:0 7px 16px -10px #183a6599}.button{transition:background .18s ease,transform .18s ease}.button:hover{transform:translateY(-2px)}.section-title .eyebrow{display:flex;align-items:center;gap:12px;letter-spacing:.18em;font-size:10px}.section-title .eyebrow::before{content:"";width:26px;height:2px;background:var(--orange)}.section-title h2>span{font-size:24px;margin-top:9px;color:#4b6e97;font-style:italic}.bilingual{column-gap:42px;line-height:1.95}.bilingual>[lang=en]{line-height:1.85;letter-spacing:.003em}.intro-text{font-size:17px}.name-grid h3,.story-head h3{font-family:var(--zh-display);font-weight:600}.name-grid h3 span,.story-head h3 span{font-family:var(--serif);font-style:italic}.story-head h3 span{font-size:25px;line-height:1.4}.journal{letter-spacing:.025em}.story-copy h4{padding-left:13px;border-left:2px solid var(--orange);font-weight:600}.story-copy .bilingual>[lang=en],.pi-intro .bilingual>[lang=en]{font-size:14px;line-height:1.9}.paper-figure{border-radius:16px;box-shadow:0 15px 35px -30px #183a6577;overflow:hidden}.image-button{position:relative;border-radius:inherit;overflow:hidden}.image-button::after{content:"＋";position:absolute;right:14px;bottom:14px;display:grid;place-items:center;border:1px solid #dce4ec;width:32px;height:32px;border-radius:50%;background:#fffc;color:var(--blue);font-size:21px;opacity:.85;transition:transform .2s}.image-button:hover::after{transform:scale(1.12)}.image-button img{transition:filter .25s ease}.image-button:hover img{filter:brightness(1.025)}.approach-grid{gap:42px;align-items:start}.overview-figure{position:sticky;top:115px}.overview-figure>.image-button{border:1px solid #dae3ec;border-radius:18px;box-shadow:0 20px 40px -32px #183a6588}.overview-figure img{width:100%}.overview-figure figcaption{font-size:10px;margin-top:12px}.research-index{gap:18px}.research-index a{position:relative;overflow:hidden;padding:0;background:white;border:1px solid #dce4ec;border-radius:16px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.research-index a>img{width:100%;aspect-ratio:2/1;object-fit:cover}.research-index a:hover{transform:translateY(-5px);box-shadow:0 18px 35px -25px #183a6599;border-color:#b0c7df}.index-copy{padding:19px 20px 23px;font-size:15px;line-height:1.7}.index-copy>span:first-child{display:block;font-size:10px;color:var(--blue);letter-spacing:.12em;margin-bottom:8px}.index-copy>span[lang=en]{font-size:12px;line-height:1.65;font-weight:400;color:var(--muted);margin-top:9px}.index-arrow{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#ffffffe6;font-size:15px;color:var(--blue)}.research-story{position:relative}.workflow-figure{background:white;border:1px solid #dce4ec;border-radius:18px;overflow:hidden;padding:0;box-shadow:0 18px 44px -38px #183a6577}.workflow-figure>.image-button{border-radius:0}.workflow-figure>.image-button img{width:100%;aspect-ratio:2/1;object-fit:contain}.workflow-figure figcaption{padding:14px 24px;margin:0;border-top:1px solid #e6ecf1;font-size:10px}.visual-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:22px 24px;margin:0;background:#f5f8fb}.visual-steps li{display:flex;align-items:start;gap:12px;font-size:13px;line-height:1.7}.step-num{width:24px;height:24px;flex:0 0 auto;border:1px solid #c3d4e5;border-radius:50%;display:grid;place-items:center;font-size:10px;color:var(--blue);margin-top:2px}.visual-steps [lang=en]{font-size:11px;color:var(--muted);margin-top:3px}.metrics{column-gap:20px}.metrics strong{font-family:var(--serif);font-weight:500;font-size:25px;overflow-wrap:normal}.metrics span{line-height:1.7}.pi-photo{border-radius:18px;overflow:hidden;box-shadow:0 18px 40px -35px #183a6588}.pi-photo h3{font-family:var(--zh-display);letter-spacing:.08em}.cv-section h3{font-weight:550}.cv-row .date{font-variant-numeric:tabular-nums;font-weight:500}.cv-details{background:#ffffff80;border:1px solid #dce4ec;border-radius:10px;padding:20px 24px}.cv-details summary{font-size:17px;font-weight:550}.cv-details summary::marker{color:var(--blue)}.cv-details[open]{background:white}.people-intro{margin-bottom:25px}.member-filters{margin-top:28px;margin-bottom:12px}.filters{gap:8px}.filters button{border-radius:7px;background:#fff9;transition:background .18s,border-color .18s;min-width:104px}.filters button:hover{border-color:var(--blue)}.result-count{font-size:12px;color:var(--muted)}.member-group{margin-top:34px}.member-group-title{display:flex;align-items:baseline;gap:14px;font-size:19px;font-weight:500;border-bottom:1px solid var(--line);padding-bottom:14px}.member-group-title [lang=en]{font-family:var(--serif);font-size:18px;font-style:italic;color:var(--muted)}.students{margin-top:20px;gap:20px}.student{border:1px solid #dce4ec;border-radius:14px;background:white;padding:28px;transition:box-shadow .2s,transform .2s}.student:hover{transform:translateY(-3px);box-shadow:0 14px 35px -25px #183a6560}.student h3{font-family:var(--zh-display);font-weight:600;letter-spacing:.08em;font-size:28px}.student-mark{width:86px;height:86px;background:linear-gradient(145deg,#346eb8,#183a65);box-shadow:inset 0 0 0 5px #ffffff15;font-family:var(--zh-display);font-size:31px}.student-mark span{font-family:var(--sans);font-size:9px;bottom:-2px;right:-3px;width:31px;height:31px}.undergraduate .student-mark{background:#eaf1f9;color:var(--blue);border:1px solid #cad9e9;box-shadow:inset 0 0 0 5px #f7fafd}.student .eyebrow{font-size:9px;letter-spacing:.12em}.student p{line-height:1.75}.training-grid article{border-radius:12px;border-top:0;border:1px solid #dae3ec}.training-grid h3{font-weight:600}.card-number{border-bottom:1px solid #e6edf3;padding-bottom:16px}.paper-year{font-variant-numeric:tabular-nums}.paper h3{font-weight:500}.paper h3 a{background-image:linear-gradient(var(--blue),var(--blue));background-position:0 100%;background-size:0 1px;background-repeat:no-repeat;transition:background-size .25s}.paper h3 a:hover{background-size:100% 1px;text-decoration:none}.authors{font-size:11px;line-height:1.9}.doi{border:1px solid #cbd8e6;border-radius:5px;padding:4px 7px;align-self:start;text-decoration:none;font-size:10px;white-space:nowrap}.contact h2{font-family:var(--zh-display);font-weight:500;line-height:1.6}.contact h2 span{font-family:var(--serif);font-style:italic}.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;pointer-events:none}.reading-progress>span{display:block;height:100%;width:0;background:var(--orange)}header{transition:box-shadow .2s,background .2s}header.is-scrolled{background:#fef9f5f2;backdrop-filter:blur(12px);box-shadow:0 7px 30px -24px #17345399}nav a{position:relative;font-weight:500}nav a[aria-current=location]{color:var(--blue)}nav a[aria-current=location]::after{content:"";position:absolute;bottom:-9px;left:0;width:18px;height:2px;background:var(--orange)}.back-to-top{position:fixed;bottom:24px;right:24px;z-index:25;background:var(--blue);color:white;box-shadow:0 4px 20px #183a6530;border:1px solid #ffffff80;border-radius:50%;height:44px;width:44px;display:grid;place-items:center;text-decoration:none;font-size:21px}.back-to-top:hover{background:var(--deep)}dialog{width:min(1420px,96vw);border-radius:16px;padding:20px;background:var(--cream)}.dialog-bar{align-items:center;margin-bottom:12px}.dialog-bar p{font-size:13px;max-width:1000px}.dialog-bar button{border-radius:6px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 0 14px;gap:16px}.gallery-navigation{display:flex;align-items:center;gap:16px}.gallery-toolbar button{min-width:44px;min-height:40px;padding:7px 13px;border:1px solid #cbd8e5;background:white;border-radius:6px;font-size:12px}.gallery-toolbar button[aria-pressed=true]{background:var(--blue);color:white}#gallery-position{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:40px;text-align:center}.dialog-image{max-height:70vh;overflow:auto;border-radius:8px;border:1px solid #e0e5eb;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.dialog-image img{display:block;width:100%;height:auto;min-width:0!important;max-width:100%;object-fit:contain;cursor:zoom-in}.dialog-image.is-zoomed img{width:auto;min-width:100%!important;max-width:none;cursor:zoom-out}.dialog-hint{margin-top:12px}@media(max-width:1100px){.research-index{grid-template-columns:repeat(2,1fr)}.overview-figure{position:static}.metrics strong{font-size:24px}.story-head h3 span{font-size:23px}}@media(max-width:860px){.hero-logo{padding:10px 10px 20px;border-radius:22px}.hero h1{font-size:44px}.hero h1 span{font-size:38px}.approach-grid{gap:28px}.overview-figure{width:100%;max-width:none!important}.overview-figure img{width:100%}.visual-steps{grid-template-columns:repeat(2,1fr)}.member-group-title{font-size:18px}.member-group-title [lang=en]{font-size:16px}.student{padding:24px}.student-mark{width:70px;height:70px;font-size:28px}.back-to-top{bottom:18px;right:18px}nav a[aria-current=location]::after{bottom:-4px}}@media(max-width:600px){.hero h1{font-size:47px}.hero h1 span{font-size:42px}.hero-grid{padding-top:34px}.hero .eyebrow{font-size:9px;letter-spacing:.09em}.hero-logo{width:100%;max-width:360px;padding:10px 10px 20px}.hero-logo figcaption{font-size:7px;letter-spacing:.1em}.hero-actions .button{padding:11px 20px}.section-title h2{font-size:28px;line-height:1.55}.section-title h2>span{font-size:22px;line-height:1.3;margin-top:10px}.section-title .eyebrow{font-size:9px;gap:9px}.bilingual{gap:16px;line-height:1.95}.bilingual>[lang=en]{font-size:14px;line-height:1.85}.research-index{gap:12px}.index-copy{padding:14px 13px 17px;font-size:13px;line-height:1.7}.index-copy>span[lang=en]{font-size:11px;line-height:1.65}.index-arrow{right:8px;top:8px;width:23px;height:23px;font-size:12px}.story-head h3{font-size:25px;line-height:1.5}.story-head h3 span{font-size:22px;line-height:1.4;margin-top:8px}.paper-figure{padding:12px;border-radius:12px}.workflow-figure{border-radius:12px}.workflow-figure figcaption{padding:12px 16px;line-height:1.7}.visual-steps{padding:17px 16px;gap:16px 12px}.visual-steps li{font-size:12px;gap:8px}.visual-steps [lang=en]{font-size:10px}.step-num{width:21px;height:21px;font-size:9px}.metrics{gap:12px}.metrics strong{font-size:22px;overflow-wrap:anywhere}.image-button::after{right:9px;bottom:9px;width:28px;height:28px;font-size:18px}.cv-details{padding:18px 17px}.cv-details summary{font-size:16px}.member-group-title{display:block;font-size:20px}.member-group-title [lang=en]{font-size:18px;margin-top:4px}.member-filters{gap:7px}.member-filters button{min-width:0;flex:1;padding:9px 7px;font-size:12px}.member-filters button span{font-size:10px}.student{padding:23px;gap:22px}.student-mark{width:74px;height:74px;font-size:29px}.student h3{font-size:28px}.student p:not(.eyebrow){font-size:13px}.student p span{font-size:11px}.training-grid{grid-template-columns:1fr}.training-grid article{padding:23px}.training-grid h3{font-size:18px}.training-grid h3 span{font-size:17px}.training-grid .bilingual{font-size:14px}.training-grid .bilingual>[lang=en]{font-size:13px}.card-number{font-size:30px;margin-bottom:17px}.authors{font-size:11px}.back-to-top{bottom:18px;right:15px;width:40px;height:40px}dialog{padding:13px;border-radius:12px}.dialog-bar{align-items:start;gap:12px}.dialog-bar p{font-size:11px}.gallery-toolbar{padding-bottom:11px}.gallery-toolbar button{font-size:10px;min-height:40px;padding:7px 10px}.gallery-navigation{gap:9px}.dialog-image{max-height:70vh}.dialog-hint{font-size:10px}.dialog-bar button{min-height:40px}}
@media(prefers-reduced-motion:reduce){.button:hover,.research-index a:hover,.student:hover{transform:none}}

/* Contact inquiries and public research directory */
.contact-form-wrap{padding-bottom:0;margin-top:50px}.contact-form{padding:40px;background:var(--cream);color:var(--ink);border:1px solid #ffffff60;border-radius:18px;margin-top:10px}.contact .form-heading .eyebrow{color:var(--blue);margin:0 0 10px}.form-heading h3{font-family:var(--zh-display);font-size:30px;font-weight:550;line-height:1.5}.form-heading h3 span{font-family:var(--serif);font-size:24px;color:var(--blue)}.contact .form-heading p:not(.eyebrow){font-size:12px;color:var(--muted);margin:16px 0 24px}.contact .form-heading p span{color:var(--muted);font-size:11px;margin:0}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}.form-field-wide{grid-column:1/-1}.form-field label{display:block;font-size:14px;font-weight:600;margin-bottom:9px}.form-field label span{display:inline;font-size:12px;font-weight:400;color:var(--muted);margin-left:8px}.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;background:white;color:var(--ink);border:1px solid #b6c8d9;border-radius:8px;padding:13px 14px;font:inherit;font-size:16px;line-height:1.6}.form-field select{padding-right:30px;overflow:hidden;text-overflow:ellipsis}.form-field textarea{resize:vertical;min-height:180px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.form-field textarea::placeholder{color:#687b8d;font-size:13px}.message-meta{display:flex;justify-content:space-between;align-items:start;gap:20px;font-size:11px;color:var(--muted);margin-top:7px}.message-meta span[lang=en]{font-size:10px;color:var(--muted);margin:0}#message-count{white-space:nowrap;font-variant-numeric:tabular-nums}.contact p.form-privacy{font-size:12px;line-height:1.85;color:var(--muted);margin:25px 0 20px;max-width:900px}.contact p.form-privacy span{font-size:11px;color:var(--muted);margin-top:6px}.form-privacy a{color:var(--blue)}.form-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.form-actions button{border:0}.form-actions>a{font-size:13px;color:var(--blue)}.form-actions>a span{font-size:11px}.contact .form-submit-note{font-size:11px;color:var(--muted);margin:15px 0 0}.contact .form-submit-note span{font-size:10px;color:var(--muted);margin:0}.form-honeypot{display:none}.inquiry-faq{padding-block:65px}.inquiry-faq details{border-top:1px solid var(--line);padding:20px 0}.inquiry-faq details:last-child{border-bottom:1px solid var(--line)}.inquiry-faq summary{cursor:pointer;font-size:17px;font-weight:550}.inquiry-faq summary::marker{color:var(--blue)}.inquiry-faq summary>span{display:block;margin:4px 0 0 20px;font-family:var(--serif);font-size:17px;color:var(--muted);font-weight:400}.inquiry-faq .bilingual{padding:22px 0 5px;font-size:15px}.thanks-page{padding:60px 22px;min-height:100vh;display:grid;place-items:center}.thanks-card{width:min(680px,100%);background:white;padding:45px;border-radius:20px;border:1px solid var(--line)}.thanks-card img{margin-bottom:25px}.thanks-card h1{font-family:var(--zh-display);font-size:34px;color:var(--blue);line-height:1.4}.thanks-card h1 span{font-family:var(--serif);font-size:28px;margin:10px 0 25px}.thanks-card p{margin:15px 0}.thanks-card p[lang=en]{color:var(--muted);font-size:14px}.thanks-card .button{margin-top:28px}nav{gap:20px}
@media(max-width:1000px) and (min-width:861px){nav{gap:12px}header{padding-inline:22px}.brand>span{font-size:18px}.brand img{width:50px;height:50px}}
@media(max-width:600px){.contact-form-wrap{padding-bottom:0;margin-top:35px}.contact-form{padding:25px 19px;border-radius:14px}.form-fields{grid-template-columns:1fr;gap:20px}.form-field-wide{grid-column:auto}.form-heading h3{font-size:26px}.form-heading h3 span{font-size:22px}.form-field label span{font-size:11px}.form-actions{gap:20px}.inquiry-faq{padding-block:45px}.inquiry-faq summary{font-size:16px}.thanks-page{padding:25px 16px}.thanks-card{padding:28px 23px}.thanks-card h1{font-size:28px}.thanks-card h1 span{font-size:24px}}

/* Shared navigation and independent lab pages */
.brand>span>.brand-pi{font-size:10px;letter-spacing:0;line-height:1.5;font-weight:450;margin-top:3px;color:var(--muted)}.hero-pi{font-size:18px;letter-spacing:.03em;margin-top:22px;font-weight:550}.hero-pi span{font-size:13px;color:var(--muted);letter-spacing:0;margin-top:4px}nav{align-items:center;gap:26px}.nav-more{position:relative}.nav-more summary{cursor:pointer;font-size:14px;font-weight:500;line-height:1.5;list-style:none;padding:5px 12px;border:1px solid #cbd8e6;border-radius:7px}.nav-more summary::-webkit-details-marker{display:none}.nav-more summary>span{font-size:11px;color:var(--muted)}.nav-more summary::after{content:'⌄';position:absolute;right:8px;top:4px}.nav-more summary{padding-right:26px}.nav-more summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.nav-more.has-active-page summary{border-color:var(--orange)}.nav-submenu{position:absolute;right:0;top:calc(100% + 14px);width:260px;background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:9px;box-shadow:0 15px 40px #183a6520;max-height:70vh;overflow:auto}.nav-submenu a{display:block;padding:11px 15px;border-radius:7px}.nav-submenu a:hover{background:#eaf1f9}.nav-submenu a[aria-current]::after{display:none}.nav-submenu a[aria-current]{background:#eaf1f9;border-left:3px solid var(--orange)}.nav-submenu a:nth-child(4){border-top:1px solid var(--line);border-radius:0;margin-top:5px;padding-top:16px}.page-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.page-cards>a{position:relative;display:block;border:1px solid var(--line);padding:25px;background:white;border-radius:14px;text-decoration:none}.page-cards>a:hover{border-color:var(--blue)}.page-number{font-family:var(--serif);font-size:26px;color:var(--blue);display:block;margin-bottom:20px}.page-cards h3{font-size:18px;font-weight:550}.page-cards h3 span{font-family:var(--serif);font-size:17px;color:var(--muted);margin-top:5px}.page-arrow{position:absolute;top:22px;right:22px;color:var(--blue)}.subpage{padding:40px 0 90px;min-height:calc(100vh - 350px)}.breadcrumb{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:40px}.subpage h1{font-family:var(--zh-display);font-size:40px;line-height:1.5;font-weight:550;color:var(--blue)}.subpage h1 span{font-family:var(--serif);font-size:30px;font-weight:400;margin-top:7px}.reserved-content{min-height:350px}.tech-index{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0 35px}.tech-index a{font-size:12px;text-decoration:none;border:1px solid #c8d7e6;padding:7px 13px;border-radius:20px;background:white}.tech-index a:hover{color:var(--blue);border-color:var(--blue)}.tech-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.tech-card{border:1px solid var(--line);background:white;border-radius:16px;padding:30px;scroll-margin-top:130px}.tech-number{font-family:var(--serif);font-size:34px;color:var(--blue);border-bottom:1px solid var(--line);display:block;padding-bottom:15px;margin-bottom:22px}.tech-card h2{font-family:var(--zh-display);font-size:24px;font-weight:550;margin-bottom:22px}.tech-card h2 span{font-family:var(--serif);font-size:20px;color:var(--blue);margin-top:8px;font-weight:400}.tech-card p{font-size:15px;line-height:1.9}.tech-card p[lang=en]{margin-top:17px;color:var(--muted);font-size:14px;line-height:1.85}
@media(max-width:860px){header{position:sticky}#nav{position:absolute;top:100%;left:0;right:0;width:100%;margin:0;padding:20px;background:var(--cream);border-bottom:1px solid var(--line);max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 15px 30px #183a6515}#nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#nav>a{padding:12px;border:1px solid var(--line);border-radius:8px}.nav-more{grid-column:1/-1}.nav-more summary{padding:12px}.nav-more summary::after{top:12px;right:14px}.nav-submenu{position:static;width:100%;box-shadow:none;max-height:none;margin-top:10px;background:#fff8}.nav-submenu a{padding:13px}.page-cards{grid-template-columns:repeat(2,1fr)}.brand>span>.brand-pi{font-size:9px}.hero-pi{font-size:17px}.subpage h1{font-size:32px}.subpage h1 span{font-size:26px}.tech-grid{grid-template-columns:1fr}}
@media(max-width:600px){.brand>span>.brand-pi{font-size:8px;letter-spacing:0}.brand{gap:9px}.brand img{width:46px;height:46px}.brand>span{font-size:17px}.brand>span>span{font-size:8px}.page-cards{gap:12px}.page-cards>a{padding:20px 16px}.page-cards h3{font-size:16px}.page-cards h3 span{font-size:15px}.page-number{font-size:24px}.subpage{padding:28px 0 60px}.breadcrumb{margin-bottom:30px}.subpage .eyebrow{font-size:9px;letter-spacing:.06em}.subpage h1{font-size:29px}.subpage h1 span{font-size:25px}.tech-index{gap:8px}.tech-index a{font-size:11px;padding:7px 10px}.tech-card{padding:25px 22px}.tech-card h2{font-size:23px}.tech-card h2 span{font-size:20px}.reserved-content{min-height:280px}}

/* Managed content and owner guidance */
.managed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:32px}.managed-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:white;min-width:0}.managed-photo-link{display:block}.managed-card img{width:100%;aspect-ratio:3/2;object-fit:cover}.managed-card-body{padding:28px}.managed-card h2{font-family:var(--zh-display);font-size:25px;line-height:1.5;margin:10px 0 20px;font-weight:550}.managed-card h2 span{font-family:var(--serif);font-size:21px;font-weight:400;margin-top:7px;color:var(--blue)}.managed-card time{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.managed-rich{font-size:16px;line-height:1.9;overflow-wrap:anywhere}.managed-rich[lang=en]{font-size:15px;color:var(--muted);line-height:1.85;margin-top:18px}.managed-rich p+p{margin-top:16px}.managed-rich ul,.managed-rich ol{padding-left:24px}.managed-rich img{max-width:100%;height:auto;object-fit:contain;aspect-ratio:auto;margin-block:18px}.managed-rich a{color:var(--blue)}.instrument-model{font-size:14px;color:var(--blue);margin-bottom:20px}.student-photo{width:86px;height:86px;object-fit:cover;border-radius:50%;flex-shrink:0}.tech-card>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:9px;margin-bottom:25px}.admin-card h2{font-size:21px;margin-top:32px}.admin-card ol{padding-left:23px;line-height:1.9}.admin-card li+li{margin-top:12px}.bilingual img{max-width:100%;height:auto}.bilingual p+p{margin-top:15px}
@media(max-width:860px){.managed-grid{grid-template-columns:1fr}.managed-card-body{padding:24px}.student-photo{width:70px;height:70px}}
@media(max-width:600px){.managed-card-body{padding:22px}.managed-card h2{font-size:24px}.managed-card h2 span{font-size:20px}.managed-rich{font-size:15px}.managed-rich[lang=en]{font-size:14px}.student-photo{width:74px;height:74px}.admin-card h2{font-size:20px}}

/* Desktop reading scale: phones retain their existing type sizes. */
@media(min-width:861px){
body{font-size:18px;line-height:1.85}nav a,.nav-more summary{font-size:16px}nav a span,.nav-more summary>span{font-size:12px}.brand>span>.brand-pi{font-size:12px}.eyebrow{font-size:12px;letter-spacing:.11em}.hero-en{font-size:19px;line-height:1.65}.hero-pi{font-size:21px}.hero-pi span{font-size:15px}.hero .affiliation{font-size:14px}.hero .affiliation span{font-size:13px}.button{font-size:16px}.button span,.text-link span{font-size:13px}.text-link{font-size:16px}.section-title h2{font-size:40px}.section-title h2 span{font-size:28px}.bilingual{font-size:18px;line-height:1.9}.bilingual>[lang=en]{font-size:17px;line-height:1.85}.intro-text{font-size:20px}.name-grid .bilingual,.approach-grid .bilingual,.story-copy .bilingual,.pi-intro .bilingual{font-size:18px;line-height:1.9}.name-grid .bilingual>[lang=en],.approach-grid .bilingual>[lang=en],.story-copy .bilingual>[lang=en],.pi-intro .bilingual>[lang=en]{font-size:17px;line-height:1.85}.story-head h3{font-size:33px}.story-head h3 span{font-size:28px}.journal{font-size:14px;line-height:1.75}.index-copy{font-size:17px;line-height:1.7}.index-copy>span[lang=en]{font-size:14px;line-height:1.7}.index-copy>span:first-child{font-size:12px}.research-index{gap:20px}.index-copy{padding:22px 20px}.metrics span{font-size:13px}.metrics span[lang=en]{font-size:12px}.story-copy h4{font-size:17px}.story-copy h4 span{font-size:14px}.paper-figure figcaption,.workflow-figure figcaption,.overview-figure figcaption,.approach-grid figcaption{font-size:13px;line-height:1.8}.visual-steps li{font-size:15px}.visual-steps [lang=en]{font-size:13px;line-height:1.7}.visual-steps{gap:20px}.cv-row .date{font-size:15px}.cv-row .bilingual{font-size:16px;line-height:1.9}.cv-row .bilingual>[lang=en]{font-size:16px}.cv-details summary{font-size:20px}.cv-details summary span{font-size:17px}.cv-details>.bilingual{font-size:17px}.cv-details>.bilingual>[lang=en]{font-size:16px}.pi-photo p:not(.eyebrow){font-size:16px}.pi-photo p span{font-size:14px}.pi-photo a{font-size:15px}.student p:not(.eyebrow){font-size:16px}.student p span{font-size:14px}.student .eyebrow{font-size:11px}.member-group-title{font-size:23px}.member-group-title [lang=en]{font-size:21px}.result-count{font-size:14px}.filters button{font-size:16px}.training-grid h3{font-size:19px}.training-grid h3 span{font-size:18px}.training-grid .bilingual{font-size:16px}.training-grid .bilingual>[lang=en]{font-size:15px}.training-grid article{padding:25px}.paper h3{font-size:20px;line-height:1.65}.paper .authors{font-size:14px;line-height:1.85}.paper .journal{font-size:14px}.doi{font-size:12px}.source-note.bilingual{font-size:14px}.source-note.bilingual>[lang=en]{font-size:14px}.inquiry-faq summary{font-size:20px}.inquiry-faq summary>span{font-size:21px}.inquiry-faq .bilingual{font-size:18px}.inquiry-faq .bilingual>[lang=en]{font-size:17px}.contact p:not(.eyebrow){font-size:17px}.contact p span{font-size:15px}.contact dt{font-size:15px}.contact dd{font-size:17px}.contact dd span{font-size:15px}.contact .form-heading p:not(.eyebrow){font-size:14px}.contact .form-heading p span{font-size:13px}.form-field label{font-size:16px}.form-field label span{font-size:14px}.form-field input,.form-field select,.form-field textarea{font-size:18px}.form-field textarea::placeholder{font-size:16px}.message-meta{font-size:13px}.message-meta span[lang=en]{font-size:12px}.contact p.form-privacy{font-size:14px}.contact p.form-privacy span{font-size:13px}.contact .form-submit-note{font-size:13px}.contact .form-submit-note span{font-size:12px}.form-actions>a{font-size:15px}.form-actions>a span{font-size:13px}.footer-links{font-size:14px}.footer-note{font-size:13px;line-height:1.85}.footer-note span[lang=en]{font-size:12px}.page-cards h3{font-size:20px}.page-cards h3 span{font-size:19px}.tech-card p,.tech-card .managed-rich{font-size:18px;line-height:1.9}.tech-card .managed-rich[lang=en],.tech-card p[lang=en]{font-size:17px;line-height:1.85}.tech-card .managed-rich[lang=en] p{font-size:17px}.tech-index a{font-size:14px}.managed-rich{font-size:18px}.managed-rich[lang=en]{font-size:17px}.managed-card h2{font-size:28px}.managed-card h2 span{font-size:24px}.managed-card time,.instrument-model,.breadcrumb{font-size:15px}.dialog-bar p{font-size:15px}.dialog-hint{font-size:13px}.thanks-card p{font-size:18px}.thanks-card p[lang=en]{font-size:17px}
}

/* Shared typography and direct navigation — October 2026. */

html { scroll-padding-top: 180px; }
body, button, input, select, textarea { font-family: var(--sans); }
.site-header {
  display: block;
  padding: 0 32px;
  background: var(--cream);
  transition: box-shadow 220ms ease;
}
.site-header.is-scrolled { background: var(--cream); backdrop-filter: none; }
.header-identity {
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px; max-width: 1320px; margin: auto; padding: 12px 4px;
}
.header-focus { font-size: 13px; text-align: right; color: var(--muted); letter-spacing: .08em; }
.header-focus span { font-size: 10px; letter-spacing: .11em; margin-top: 3px; }
.site-header #nav {
  position: static; display: flex; flex-wrap: wrap; align-items: stretch;
  justify-content: space-between; gap: 0; width: 100%; max-width: 1320px;
  padding: 0; margin: auto; border: 0; border-top: 1px solid var(--line);
  background: transparent; box-shadow: none; max-height: none; overflow: visible;
}
.site-header #nav > a {
  display: block; flex: 0 0 auto; min-width: 70px; padding: 12px 10px 13px;
  border: 0; border-radius: 0; font-size: 15px; text-align: center; white-space: nowrap;
  transition: background 180ms ease, color 180ms ease;
}
.site-header #nav > a > span { font-size: 11px; margin-top: 3px; }
.site-header #nav > a::after {
  content: ""; position: absolute; bottom: 0; left: 12px; right: 12px;
  width: auto; height: 3px; border-radius: 3px; background: var(--orange);
  transform: scaleX(0); transform-origin: left; transition: transform 220ms ease;
}
.site-header #nav > a:hover, .site-header #nav > a[aria-current] { background: #2b61ab08; color: var(--blue); }
.site-header #nav > a:hover::after, .site-header #nav > a[aria-current]::after { transform: scaleX(1); }
.hero-logo { border: 0; box-shadow: none; background: var(--cream); padding: 0; }
.hero-logo img { mix-blend-mode: normal; border-radius: 0; }
.brand img, .footer-brand img { mix-blend-mode: normal; }
.hero-logo figcaption { margin-top: 12px; }
/* Feather only the outermost pixels of the original raster's softly shaded background. */
.hero-logo img, .brand img, .footer-brand img {
  -webkit-mask-image: linear-gradient(to right, transparent, #000 2%, #000 98%, transparent), linear-gradient(to bottom, transparent, #000 2%, #000 98%, transparent);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to right, transparent, #000 2%, #000 98%, transparent), linear-gradient(to bottom, transparent, #000 2%, #000 98%, transparent);
  mask-composite: intersect;
}
.publication-filters { align-items: stretch; flex-wrap: wrap; gap: 10px; }
.publication-filters button { text-align: left; padding: 11px 16px; }
.publication-filters button span { font-size: 12px; font-weight: 400; margin-top: 3px; }
.paper-author-roles { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 10px; }
.author-badge { display: inline-block; padding: 3px 9px; color: var(--blue); border: 1px solid #2b61ab26; background: #2b61ab06; border-radius: 5px; font: 11px/1.8 var(--sans); }
.paper-empty { padding: 30px; border: 1px dashed var(--line); border-radius: 12px; color: var(--muted); }
.paper-empty span { font-size: 14px; }
[hidden] { display: none !important; }
.signal-flow { height: 60px; overflow: hidden; pointer-events: none; }
.signal-flow svg { display: block; width: 100%; height: 100%; fill: none; stroke-width: 1.4; }
.signal-track { stroke: #2b61ab17; }
.signal-trace { stroke: var(--blue); stroke-dasharray: 30 1170; animation: signal-travel 12s linear infinite; opacity: .6; }
.signal-trace-alt { stroke: #e8943c; animation-delay: -6s; }
@keyframes signal-travel { to { stroke-dashoffset: -1200; } }
@keyframes panel-enter { from { opacity: .4; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
.cv-details[open] > :not(summary), .inquiry-faq details[open] > :not(summary) { animation: panel-enter 260ms ease-out; }
@media (hover:hover) and (pointer:fine) {
  .tech-card, .managed-card, .page-cards > a, .training-grid article { transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease; }
  .tech-card:hover, .managed-card:hover, .page-cards > a:hover, .training-grid article:hover { transform: translateY(-4px); box-shadow: 0 14px 30px -22px #183a6566; border-color: #2b61ab55; }
  .page-arrow { transition: transform 240ms ease; }
  .page-cards > a:hover .page-arrow { transform: translate(3px,-3px); }
}
@media (min-width:861px) and (max-width:1120px) {
  .site-header { padding-inline: 20px; }
  .site-header #nav { justify-content: center; }
  .site-header #nav > a { padding-inline: 9px; font-size: 14px; }
  .site-header #nav > a > span { font-size: 10px; }
}
@media (max-width:860px) {
  html { scroll-padding-top: 150px; }
  .site-header { padding: 0; }
  .header-identity { padding: 10px 18px; gap: 12px; }
  .header-focus { display: none; }
  .site-header #nav, .site-header #nav.open {
    display: flex; flex-wrap: nowrap; justify-content: flex-start; gap: 0;
    padding: 0 8px; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin;
    scrollbar-color: #2b61ab50 transparent; overscroll-behavior-x: contain;
  }
  .site-header #nav > a { padding: 10px 12px 12px; min-width: 76px; font-size: 14px; }
  .site-header #nav > a > span { font-size: 10px; }
  .signal-flow { height: 40px; }
  .publication-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .publication-filters button { width: 100%; padding: 10px 12px; font-size: 14px; }
  .publication-filters button span { font-size: 11px; }
  .hero-logo { padding: 0; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .signal-trace { stroke-dasharray: 100 1100; }
  .tech-card:hover, .managed-card:hover, .page-cards > a:hover, .training-grid article:hover, .page-cards > a:hover .page-arrow { transform: none; }
}
@media print { .site-header, .signal-flow { display: none; } }

/* Mobile discovery: visible shortcuts plus an explicit full-site menu. */
.mobile-nav-bar { display: none; }
@media (max-width:860px) {
  .mobile-nav-bar { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) minmax(100px,1.2fr); gap: 0; border-top: 1px solid var(--line); }
  .mobile-nav-bar > a, .mobile-nav-bar .menu { display: block; margin: 0; padding: 10px 3px; min-width: 0; border: 0; border-radius: 0; background: transparent; font: 500 13px/1.5 var(--sans); text-decoration: none; text-align: center; }
  .mobile-nav-bar > a > span, .mobile-nav-bar .menu > span { display: block; font-size: 9px; color: var(--muted); margin-top: 2px; }
  .mobile-nav-bar .menu { color: var(--blue); border-left: 1px solid var(--line); background: #2b61ab08; }
  .mobile-nav-bar .menu b { font-size: 10px; font-weight: 500; padding: 1px 4px; border-radius: 4px; background: #2b61ab15; }
  .mobile-nav-bar .menu i { display: inline-block; font-style: normal; transition: transform 180ms ease; }
  .mobile-nav-bar .menu[aria-expanded=true] i { transform: rotate(45deg); }
  .site-header #nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; padding: 12px; }
  .site-header.navigation-ready #nav { display: none; }
  .site-header.navigation-ready #nav.open {
    position: absolute; top: 100%; left: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px; width: 100%; padding: 16px; margin: 0; background: var(--cream);
    border-bottom: 1px solid var(--line); border-top: 1px solid var(--line);
    max-height: calc(100dvh - 150px); overflow-y: auto; overflow-x: hidden;
    box-shadow: 0 18px 32px #183a6520; animation: panel-enter 220ms ease-out;
  }
  .site-header #nav > a { text-align: left; white-space: normal; min-width: 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff9; }
}

/* Interactive sample-to-signal explorer. */
.flow-explorer { padding-top: 70px; padding-bottom: 70px; }
.flow-heading-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 30px; }
.flow-heading-row .section-title { margin-bottom: 0; }
.flow-heading-row .text-link { flex-shrink: 0; }
.flow-demo { border: 1px solid #c5d6e8; border-radius: 24px; background: #fff; box-shadow: 0 20px 65px -48px #183a6577; overflow: hidden; }
.demo-toolbar { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 24px 28px; border-bottom: 1px solid var(--line); }
.demo-toolbar p { font-size: 15px; }
.demo-toolbar p span { font-size: 12px; color: var(--muted); }
.demo-controls { display: flex; gap: 8px; flex-shrink: 0; }
.demo-controls button { padding: 8px 13px; border: 1px solid #c5d6e8; background: #f6f9fc; border-radius: 8px; font-size: 12px; line-height: 1.6; }
.demo-controls button span { font-size: 10px; color: var(--muted); }
.demo-controls button[aria-pressed=true] { background: #eaf2fb; border-color: var(--blue); }
.demo-controls button:disabled { opacity: .55; cursor: default; }
.chip-scene { padding: 28px 20px 16px; background: radial-gradient(ellipse at 50% 50%, #eaf3ff, #f9fbfe 75%); }
.chip-svg { display: block; width: 100%; height: auto; overflow: visible; }
.channel-bed { stroke: #bfd2e8; stroke-width: 22px; }
.channel-core { stroke: #fff; stroke-width: 15px; }
.sample-particles { stroke: #2b61ab; stroke-width: 8px; stroke-dasharray: 2 65; animation: chip-flow 4s linear infinite; }
.reagent-particles { stroke: #eba04c; stroke-width: 7px; stroke-dasharray: 2 65; animation: chip-flow 3.3s linear infinite; }
@keyframes chip-flow { to { stroke-dashoffset: -268; } }
.demo-stage .stage-ring { fill: transparent; stroke: #ffad55; stroke-width: 2; opacity: 0; transition: opacity 250ms; }
.flow-demo[data-step="0"] .demo-stage-0 .stage-ring, .flow-demo[data-step="1"] .demo-stage-1 .stage-ring, .flow-demo[data-step="2"] .demo-stage-2 .stage-ring, .flow-demo[data-step="3"] .demo-stage-3 .stage-ring { opacity: 1; }
.sensor-halo { animation: sense-pulse 2.4s ease-out infinite; transform-origin: 693px 170px; }
@keyframes sense-pulse { 0% { transform: scale(.7); opacity: .85; } 100% { transform: scale(1.7); opacity: 0; } }
.signal-readout { stroke-dasharray: 190; animation: trace-readout 3.4s ease-in-out infinite; }
@keyframes trace-readout { 0% { stroke-dashoffset: 190; } 65%,100% { stroke-dashoffset: 0; } }
.flow-demo:not(.demo-in-view) .sample-particles, .flow-demo:not(.demo-in-view) .reagent-particles, .flow-demo:not(.demo-in-view) .sensor-halo, .flow-demo:not(.demo-in-view) .signal-readout { animation-play-state: paused; }
.chip-labels { font: 11px var(--sans); letter-spacing: 1.2px; fill: #5b7594; }
.demo-stage-label { display: flex; gap: 12px; justify-content: center; align-items: center; color: var(--blue); font-size: 13px; margin: 6px 0; }
#demo-stage-number { background: var(--blue); color: #fff; width: 29px; height: 29px; border-radius: 50%; display: grid; place-content: center; font-size: 11px; }
.demo-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--line); }
.demo-steps button { display: flex; gap: 12px; align-items: center; text-align: left; padding: 19px 20px; border: 0; border-right: 1px solid var(--line); background: #fff; font-size: 16px; line-height: 1.5; position: relative; transition: background 200ms, color 200ms; }
.demo-steps button:last-child { border-right: 0; }
.demo-steps button b { font-family: var(--serif); font-size: 24px; font-weight: 500; color: #87a0ba; }
.demo-steps button small { display: block; font-size: 11px; font-weight: 400; margin-top: 4px; color: var(--muted); }
.demo-steps button[aria-pressed=true] { background: var(--blue); color: #fff; }
.demo-steps button[aria-pressed=true] b { color: var(--orange); }
.demo-steps button[aria-pressed=true] small { color: #e3ecf7; }
.demo-steps button:focus-visible { outline-offset: -4px; outline-color: var(--orange); }
.demo-panel-list { min-height: 245px; padding: 28px 32px 14px; }
.demo-panel h3 { font-family: var(--zh-display); font-size: 23px; font-weight: 600; margin-bottom: 16px; }
.demo-panel .bilingual { font-size: 16px; line-height: 1.9; }
.demo-panel .bilingual > [lang=en] { font-size: 15px; }
.demo-note { padding: 14px 32px 24px; font-size: 11px; line-height: 1.7; color: var(--muted); }
.demo-note > span { font-size: 10px; }
.qa-source { font: 12px/1.9 var(--sans); color: var(--muted); margin-top: 18px; }
.qa-source a { color: var(--blue); }
.science-faq .bilingual p + p { margin-top: 15px; }
.inquiry-faq summary { position: relative; padding-right: 38px; list-style: none; }
.inquiry-faq summary::-webkit-details-marker { display: none; }
.inquiry-faq summary::after { content: '+'; position: absolute; right: 0; top: 8px; width: 30px; height: 30px; border-radius: 50%; background: #2b61ab0c; color: var(--blue); text-align: center; font: 23px/30px var(--sans); transition: transform 220ms ease, background 220ms ease; }
.inquiry-faq details[open] summary::after { transform: rotate(45deg); background: #ffad552b; }
.inquiry-faq summary > span { margin-left: 0; }
@media (max-width:860px) {
  .flow-explorer { padding-block: 50px; }
  .flow-heading-row { display: block; }
  .flow-heading-row .text-link { display: inline-block; margin-top: 20px; }
  .demo-toolbar { display: block; padding: 20px; }
  .demo-controls { margin-top: 14px; }
  .demo-controls button { flex: 1; }
  .chip-scene { padding: 12px 2px 10px; }
  .demo-stage-label { font-size: 12px; }
  .demo-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .demo-steps button { padding: 14px 16px; font-size: 14px; border-bottom: 1px solid var(--line); }
  .demo-steps button:nth-child(2n) { border-right: 0; }
  .demo-steps button:nth-last-child(-n+2) { border-bottom: 0; }
  .demo-panel-list { padding: 23px 22px 10px; min-height: 280px; }
  .demo-panel h3 { font-size: 21px; }
  .demo-panel .bilingual { display: block; font-size: 15px; }
  .demo-panel .bilingual > [lang=en] { font-size: 14px; margin-top: 14px; }
  .demo-note { padding: 12px 22px 22px; }
  .flow-demo { border-radius: 16px; }
}
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation-play-state: paused !important; transition: none !important; }
.motion-paused .cv-details[open] > :not(summary), .motion-paused .inquiry-faq details[open] > :not(summary), .motion-paused .site-header #nav.open { animation: none !important; }
@media (prefers-reduced-motion:reduce) { .sensor-halo { opacity: .6; transform: none; } .signal-readout { stroke-dashoffset: 0; } }
@media print { .demo-controls, .demo-steps { display: none; } .demo-panel[hidden] { display: block !important; } .demo-panel { break-inside: avoid; margin-bottom: 20px; } }

/* Bilingual instrument catalogue. */
.instrument-intro { max-width: 1040px; margin: -8px 0 44px; padding-bottom: 32px; border-bottom: 1px solid var(--line); }
.instruments-grid { align-items: stretch; }
.instruments-grid .managed-card { display: grid; grid-template-rows: auto 1fr; }
.instruments-grid .managed-photo-link { background: linear-gradient(145deg,#fff 0%,#f4f7fa 100%); border-bottom: 1px solid var(--line); }
.instruments-grid .managed-card img { aspect-ratio: 4/3; object-fit: contain; padding: 22px; background: transparent; }
.instruments-grid .managed-card-body { display: flex; flex-direction: column; }
.instruments-grid .managed-card h2 { margin-top: 0; margin-bottom: 12px; }
.instruments-grid .instrument-model { margin: 0 0 18px; padding-bottom: 15px; border-bottom: 1px solid var(--line); font-weight: 600; letter-spacing: .02em; }
.instruments-grid .managed-rich[lang=en] { margin-top: 14px; padding-top: 14px; border-top: 1px solid #dce3e980; }
@media (max-width:860px) {
  .instrument-intro { display: block; margin-bottom: 32px; padding-bottom: 24px; }
  .instrument-intro > [lang=en] { margin-top: 16px; }
  .instruments-grid .managed-card img { aspect-ratio: 5/4; padding: 14px; }
}
