:root{--ink:#0b2430;--ocean:#073c54;--deep:#062b3d;--aqua:#21b8b0;--foam:#f3f8f6;--paper:#fbfcfa;--line:#cbd9d8;--soft:#597079}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}.section-pad{padding:clamp(5rem,9vw,9rem) max(6vw,calc((100vw - 1240px)/2))}.eyebrow{margin:0 0 1.7rem;color:#227d7b;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.eyebrow.light{color:#7fe4dc}.label{margin:0 0 .7rem;color:#2d7575;font-size:.73rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:.98}
.hero{min-height:760px;height:100svh;position:relative;overflow:hidden;background:var(--deep);color:#fff}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;z-index:0;transform:none}
.hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,27,39,.88),rgba(3,31,45,.58) 42%,rgba(3,31,45,.05) 74%),linear-gradient(0deg,rgba(3,24,34,.45),transparent 50%)}.site-header{position:relative;z-index:5;height:96px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.22);color:#fff}.brand{display:flex;align-items:center;gap:.8rem;font-size:1.25rem;letter-spacing:-.03em}.mark{display:flex;align-items:flex-end;gap:3px;width:23px;height:23px;transform:rotate(-15deg)}.mark span{width:5px;border-radius:5px 5px 1px 1px;background:#66ddd4}.mark span:nth-child(1){height:13px}.mark span:nth-child(2){height:22px}.mark span:nth-child(3){height:17px}.site-header nav{display:flex;gap:2.25rem;font-size:.86rem}.site-header nav a{opacity:.82}.site-header nav a:hover{opacity:1}.hero-copy{position:absolute;z-index:2;left:6vw;top:50%;transform:translateY(-41%);max-width:770px}.hero-copy h1{margin:0 0 1.75rem;font-size:clamp(4.4rem,8.2vw,8rem)}
.hero-intro{
  max-width:600px;
  margin-bottom:2rem;
  font-size:1.18rem;
  line-height:1.6;
  color:#d7e7e8
}

/* Smaller Taiwan-focused description */
.hero-location {
  max-width: 650px;
  margin: -0.8rem 0 2rem;
  color: #b8d0d3;
  font-size: 0.9rem;
  line-height: 1.6;
}

.text-link{display:inline-flex;align-items:center;gap:2.2rem;padding-bottom:.35rem;border-bottom:1px solid;font-size:.86rem;font-weight:700}.text-link.light{color:#fff}.text-link span{color:var(--aqua)}.hero-note{position:absolute;z-index:2;right:6vw;bottom:4rem;margin:0;text-align:right;font-size:.74rem;letter-spacing:.08em;line-height:1.55;text-transform:uppercase;color:#d3e2e4}
.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.intro h2,.section-top h2,.people-title h2{font-size:clamp(3.2rem,5vw,5.2rem)}.intro-grid>div p{color:var(--soft);max-width:620px}.intro-grid .lead{font-size:1.28rem;color:var(--ink);line-height:1.55;margin-bottom:2rem}.research{background:var(--foam);border-top:1px solid var(--line)}.section-top{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end}.section-top>p{color:var(--soft);max-width:430px;margin-bottom:.8rem}.research-list{margin-top:5rem;border-top:1px solid #a9c0c0}.research-list article{display:grid;grid-template-columns:70px minmax(240px,.85fr) 1.2fr;gap:2rem;padding:2.5rem 0;border-bottom:1px solid #a9c0c0}.research-list article>span{color:#278e8a;font:700 .78rem Arial}.research-list h3{margin:0;font:400 2rem/1.1 Georgia,serif;letter-spacing:-.025em}.research-list p{margin:0;color:var(--soft);max-width:560px}.topics{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:3rem}.topics span{padding:.5rem .85rem;border:1px solid #a6c2c1;border-radius:99px;font-size:.78rem;color:#416365}
.scale-band{padding:5rem 6vw;color:#fff;background:var(--ocean)}.scale-flow{display:flex;justify-content:space-between;align-items:center;gap:2rem;font:400 clamp(1.6rem,3vw,3.2rem) Georgia,serif}.scale-flow i{color:#62d3cb;font:normal 1.2rem Arial}.people{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw}.people-title{position:sticky;top:3rem;align-self:start}.pi-card{display:grid;grid-template-columns:100px 1fr;gap:2rem;padding-bottom:3.5rem;border-bottom:1px solid var(--line)}.initials{width:88px;height:112px;display:grid;place-items:center;background:var(--ocean);color:#83e0d8;font:400 2rem Georgia,serif}.pi-card h3{font:400 2rem/1.2 Georgia,serif;margin-bottom:1.2rem}.pi-card p{color:var(--soft)}.team-note{display:grid;grid-template-columns:100px 1fr;gap:2rem;padding-top:3rem}.team-note p:last-child{color:var(--soft);margin:0}.publications-callout{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:#0b3b4f;color:#fff;align-items:end}.publications-callout h2{font-size:clamp(3.2rem,5vw,5.4rem)}.publications-callout>div:last-child p{color:#cae0e2;font-size:1.08rem;max-width:520px}.button-link{display:flex;justify-content:space-between;max-width:360px;margin-top:2rem;padding:1rem 1.2rem;border:1px solid #6aa2a9;font-size:.87rem;font-weight:700}.button-link span{color:#70ded6}
.footer{padding:7rem 6vw 2rem;background:#061f2b;color:#fff}.footer-heading{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.footer h2{font-size:clamp(3rem,5vw,5.4rem)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin:4rem 0}.contact-grid p:not(.label){color:#b9cfd2}.contact-grid a{border-bottom:1px solid #557681}.footer-base{padding-top:1.5rem;border-top:1px solid #27424d;display:flex;justify-content:space-between;color:#7f9ba1;font-size:.73rem;letter-spacing:.09em;text-transform:uppercase}
.pub-page{background:#f7faf8}.pub-header{background:var(--deep)}.pub-intro{padding-bottom:4rem}.pub-intro h1{font-size:clamp(4rem,8vw,8rem);margin-bottom:3rem}.pub-summary{display:grid;grid-template-columns:1fr 1fr;gap:5rem;border-top:1px solid var(--line);padding-top:1.5rem;color:var(--soft)}.pub-summary p{max-width:520px}.pub-summary a{justify-self:end;color:#167875;font-size:.85rem;font-weight:700}.pub-list{padding-top:2rem}.year-group{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--line);padding:3rem 0}.year-group>h2{font-size:2.8rem;color:#197b78}.year-group article{display:grid;grid-template-columns:45px 1fr;gap:1rem;padding-bottom:2rem;margin-bottom:2rem;border-bottom:1px solid #d8e3e1}.year-group article>span{font-size:.7rem;color:#799092}.year-group article h3{font:400 1.2rem/1.4 Georgia,serif;margin:0 0 .5rem}.year-group article h3 a:hover{color:#157d79}.year-group article p{color:#698084;font-size:.82rem;margin:0}.pub-error{padding:4rem;background:#fff;border:1px solid var(--line)}.pub-error h2{font-size:2.2rem}.pub-error a{text-decoration:underline}.back-home{padding:0 6vw 5rem;color:#167875;font-weight:700}.pub-loading{display:flex;align-items:center;gap:1rem;padding:3rem 0;border-top:1px solid var(--line)}.pub-loading p{margin:0}.pub-loading span{width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--aqua);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

/* Latest publication displayed on the homepage */
#latest-publication {
  max-width: 560px;
  margin: 2.2rem 0;
  padding: 1.5rem 0;
  border-top: 1px solid rgba(127, 228, 220, 0.45);
  border-bottom: 1px solid rgba(127, 228, 220, 0.45);
}

#latest-publication .latest-label {
  margin: 0 0 0.8rem;
  color: #7fe4dc;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

#latest-publication h3 {
  margin: 0 0 0.8rem;
  color: #fff;
  font: 400 1.35rem/1.4 Georgia, "Times New Roman", serif;
  letter-spacing: -0.015em;
}

#latest-publication h3 a:hover {
  color: #7fe4dc;
}

#latest-publication .latest-meta {
  margin: 0;
  color: #a9cacc;
  font-size: 0.82rem;
  line-height: 1.5;
}

#latest-publication .latest-status {
  margin: 0;
  color: #a9cacc;
  font-size: 0.9rem;
}

@media(max-width:760px){.site-header{height:76px}.site-header nav{gap:1rem}.site-header nav a:nth-child(1),.site-header nav a:nth-child(2){display:none}.hero{min-height:680px}.hero-copy{top:48%;right:6vw}.hero-copy h1{font-size:clamp(3.5rem,16vw,5rem)}.hero-note{display:none}.intro-grid,.section-top,.people,.publications-callout,.pub-summary,.footer-heading{grid-template-columns:1fr}.intro-grid,.section-top{gap:2rem}.research-list article{grid-template-columns:35px 1fr;gap:1rem}.research-list article p{grid-column:2}.scale-flow{display:grid;grid-template-columns:1fr 28px}.scale-flow i:last-of-type{display:none}.people-title{position:static}.pi-card{grid-template-columns:70px 1fr}.initials{width:64px;height:84px;font-size:1.5rem}.team-note{grid-template-columns:70px 1fr}.contact-grid{grid-template-columns:1fr;gap:2rem}.footer-base{flex-direction:column;gap:.5rem}.year-group{grid-template-columns:1fr}.year-group>h2{margin-bottom:2rem}.pub-summary a{justify-self:start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pub-loading span{animation:none}}
.people-title{position:static}.people-summary{max-width:430px;margin:2rem 0 0;color:var(--soft)}.profile-links{display:flex;flex-wrap:wrap;gap:1rem 1.5rem}

.site-header .brand-logo {
  display: block;
  flex: 0 0 60px;
  width: 60px;
  height: 60px;
  max-width: 60px;
  max-height: 60px;
  object-fit: contain;
}

/* GitHub Pages robustness: use a real full-size image instead of a CSS background. */
.people-list{min-width:0}
.people-list .pi-card{padding:3.5rem 0}
.people-list .pi-card:first-child{padding-top:0}

/* Small link beside Vianney Denis's name */
.pi-name {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.pi-name .name-link {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  line-height: 1;
  color: var(--aqua);
  text-decoration: none;
  letter-spacing: 0.04em;
}

.pi-name .name-link:hover {
  text-decoration: underline;
}

