
:root{
  --red:#b31b1b; --red-soft:#f6eaea; --ink:#182235; --muted:#667085; --navy:#0b2545; --blue:#1f4e79; --line:#e5e7eb; --bg:#f7f8fb; --card:#ffffff; --soft:#f3f6fa; --shadow:0 14px 34px rgba(16,24,40,.07); --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:#075eb5;text-decoration:none} a:hover{text-decoration:underline}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:999;padding:.5rem .8rem;background:#fff;border:1px solid var(--line);border-radius:.6rem}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-container{max-width:1120px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:10px;min-width:max-content;color:var(--navy);font-weight:800;letter-spacing:-.02em}.brand:hover{text-decoration:none}.brand-logo{height:28px;width:auto;object-fit:contain;opacity:.9}.brand-fallback{width:30px;height:30px;border-radius:8px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}.site-nav{margin-left:auto;display:flex;align-items:center;gap:2px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.site-nav::-webkit-scrollbar{display:none}.site-nav a{color:#243145;font-weight:650;font-size:.875rem;padding:.44rem .56rem;border-radius:999px}.site-nav a:hover{background:var(--soft);text-decoration:none}.site-nav a.active{background:var(--red-soft);color:var(--red)}.hero{background:linear-gradient(180deg,#fff 0%,#f3f6fa 100%);border-bottom:1px solid var(--line)}.hero-inner{max-width:1120px;margin:0 auto;padding:56px 20px 46px;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:40px;align-items:center}.kicker{display:inline-block;text-transform:uppercase;letter-spacing:.08em;color:var(--red);font-size:.78rem;font-weight:800;margin-bottom:12px}.hero h1{margin:0;color:var(--navy);font-size:clamp(2.2rem,4.7vw,4rem);line-height:1.04;letter-spacing:-.05em}.hero-sub{margin:12px 0 22px;color:#3d4a5c;font-size:1.12rem;max-width:720px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:.66rem .95rem;background:#fff;color:var(--navy);font-weight:750;box-shadow:0 8px 18px rgba(16,24,40,.04)}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn:hover{text-decoration:none;transform:translateY(-1px)}.contact-line{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:.95rem}.portrait{background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px;box-shadow:var(--shadow)}.portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px}.portrait figcaption{font-size:.85rem;color:var(--muted);padding:10px 4px 2px}.page-title{background:#fff;border-bottom:1px solid var(--line)}.page-title-inner{max-width:1120px;margin:0 auto;padding:30px 20px}.page-title h1{margin:0;color:var(--navy);font-size:clamp(1.85rem,3vw,2.75rem);line-height:1.1;letter-spacing:-.035em}.page-title p{margin:8px 0 0;color:var(--muted);max-width:820px}.main{max-width:1120px;margin:0 auto;padding:30px 20px 64px}.content-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(22px,3vw,38px);overflow:hidden}.content{max-width:100%;overflow-wrap:break-word}.content a{overflow-wrap:anywhere}.content h1,.content h2,.content h3{color:var(--navy);line-height:1.25}.content h2{font-size:1.42rem;margin:1.8rem 0 .65rem;border-bottom:1px solid var(--line);padding-bottom:.36rem}.content h3{font-size:1.12rem;margin:1.2rem 0 .4rem}.content p{margin:.58rem 0}.content p.section-title{margin:1.65rem 0 .75rem;padding:.35rem 0 .35rem .82rem;border-left:4px solid var(--red);color:var(--navy);font-size:1.2rem;font-weight:850;background:linear-gradient(90deg,#faf4f4,transparent 70%)}.content p.label-line{font-weight:800;color:var(--navy)}.content p.list-like{margin:.38rem 0 .38rem .15rem;padding-left:.85rem;border-left:2px solid #dbe4ee}.content ul,.content ol{padding-left:1.25rem}.content li{margin:.35rem 0}.content img{max-width:100%;height:auto;border-radius:12px;box-shadow:0 9px 22px rgba(16,24,40,.08);margin:.45rem 0}.table-wrap{width:100%;overflow-x:auto;margin:1rem 0;border:1px solid var(--line);border-radius:14px;background:#fff}.content table{width:100%;border-collapse:collapse;border-spacing:0;table-layout:auto;margin:0;background:#fff}.content th,.content td{padding:.72rem .85rem;border-bottom:1px solid var(--line);vertical-align:top;background:#fff}.content tr:last-child td{border-bottom:0}.content td:first-child{width:4.5rem;text-align:center;font-weight:800;color:var(--red);white-space:nowrap}.content td:nth-child(2){width:7.5rem;white-space:nowrap;color:#445066;font-weight:650}.event-table td:nth-child(3){min-width:520px}.pub-table td:first-child{text-align:left;color:var(--ink);width:auto}.people-grid{border-collapse:separate!important;border-spacing:18px!important;border:0!important;background:transparent!important}.people-grid tr,.people-grid tbody{display:contents}.people-grid td,.person-card{display:block;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:0 10px 24px rgba(16,24,40,.06);padding:18px!important;text-align:center;width:auto!important;min-width:220px;white-space:normal!important;color:var(--ink)!important}.people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.people-grid img{width:128px!important;height:128px!important;object-fit:cover;border-radius:50%;box-shadow:none;margin:0 auto 12px}.home-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0 4px}.home-panel{border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px}.home-panel strong{display:block;color:var(--navy);font-size:1.02rem;margin-bottom:5px}.footer{background:#fff;border-top:1px solid var(--line)}.footer-inner{max-width:1120px;margin:0 auto;padding:22px 20px;color:var(--muted);font-size:.92rem;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer a{color:#48566a}.backtop{position:fixed;right:18px;bottom:18px;width:40px;height:40px;border-radius:999px;display:grid;place-items:center;background:var(--navy);color:#fff;box-shadow:var(--shadow);font-weight:800}.backtop:hover{background:var(--red);text-decoration:none}.note{margin-top:24px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fafafa;color:var(--muted);font-size:.9rem}
@media(max-width:850px){.nav-container{align-items:center}.brand span{display:none}.hero-inner{grid-template-columns:1fr}.portrait{max-width:260px}.site-nav{gap:0}.site-nav a{font-size:.84rem;padding:.42rem .5rem}.home-panels{grid-template-columns:1fr}.main{padding-top:22px}.content-card{padding:20px}.page-title-inner{padding:24px 20px}.table-wrap{border-radius:12px}.content table{min-width:660px}.people-grid{min-width:0!important;display:grid!important}.people-grid td{min-width:0!important}.people-grid{grid-template-columns:1fr!important}}
@media print{.site-header,.footer,.backtop,.hero-actions{display:none}.hero,.page-title{background:#fff;border:0}.content-card{box-shadow:none;border:0;padding:0}.main{padding:0}.table-wrap{overflow:visible;border:0}}


/* --- Polished revision: cleaner home page, aligned lists, compact tables --- */
.hero-inner{padding:38px 20px 34px;grid-template-columns:minmax(0,1fr) 220px;gap:32px;}
.hero h1{font-size:clamp(2.25rem,4vw,3.3rem);letter-spacing:-.045em;}
.hero-sub{font-size:1.03rem;line-height:1.55;max-width:760px;margin-bottom:14px;}
.portrait{max-width:220px;justify-self:end;}
.portrait figcaption{font-size:.78rem;}
.main{padding-top:26px;}
.content-card{overflow:visible;}

.home-about-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.9fr);gap:22px;align-items:start;}
.about-card,.home-section{border:1px solid var(--line);border-radius:16px;background:#fff;padding:22px;box-shadow:0 8px 22px rgba(16,24,40,.04);}
.about-card h2,.home-section h2{margin:0 0 12px;color:var(--navy);font-size:1.18rem;line-height:1.2;border:0;padding:0;}
.about-main p{margin:.72rem 0;}
.contact-card{background:linear-gradient(180deg,#fff,#fafafa);}
.contact-list{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px 12px;margin:0;}
.contact-list dt{font-weight:800;color:var(--navy);}
.contact-list dd{margin:0;color:#38465a;overflow-wrap:anywhere;}
.clean-list{margin:.2rem 0 0;padding-left:1.2rem;}
.clean-list li{margin:.45rem 0;}
.home-section{margin-top:18px;}
.home-section p{margin:.2rem 0 0;}

/* Prevent single-column Word tables from forcing horizontal scrolling. */
.content > .table-wrap:has(table.data-table tr:first-child td:nth-child(2):last-child){overflow:visible;border:0;background:transparent;}
.content > .table-wrap:has(table.data-table tr:first-child td:nth-child(2):last-child) table{min-width:0;}

.publication-list{counter-reset:item;margin:.7rem 0 1.5rem 0;padding:0;list-style:none;}
.publication-list .publication-item{counter-increment:item;display:grid;grid-template-columns:3rem minmax(0,1fr);gap:0 1rem;padding:.75rem 0;border-bottom:1px solid var(--line);}
.publication-list .publication-item::before{content:counter(item) ".";font-weight:800;color:var(--red);text-align:right;padding-top:.05rem;}
.publication-list .publication-item>div{grid-column:2;}
.publication-list .item-authors{font-weight:500;color:var(--ink);margin:0 0 .12rem;}
.publication-list .item-title{font-weight:650;color:var(--navy);margin:.08rem 0 .12rem;line-height:1.42;}
.publication-list .item-detail{color:#435066;margin:.08rem 0;font-size:.97rem;line-height:1.45;}
.publication-list p,.publication-list div{border-left:0!important;padding-left:0!important;}
.publication-list br{line-height:1.4;}
.note-line{color:#435066;}

.course-table{border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.course-table td{padding:.82rem 1rem!important;vertical-align:top!important;}
.course-table td:first-child{width:9.2rem!important;text-align:left!important;color:var(--red)!important;font-weight:800!important;white-space:nowrap;background:#fbfcfe!important;}
.course-table td:first-child p{margin:0!important;color:var(--red)!important;font-weight:800!important;text-align:left!important;border:0!important;background:none!important;padding:0!important;}
.course-table td:nth-child(2){width:auto!important;white-space:normal!important;color:#3d4a5c!important;font-weight:650!important;}
.course-table td:nth-child(2) p{margin:.15rem 0 .42rem!important;line-height:1.45;}
.course-table td:nth-child(2) p:last-child{margin-bottom:0!important;}
.course-table tr + tr td{border-top:1px solid var(--line);}

.student-list{counter-reset:item;margin:.65rem 0 1.15rem 0;padding:0;list-style:none;}
.student-list li{counter-increment:item;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.7rem;margin:.48rem 0;line-height:1.55;}
.student-list li::before{content:counter(item) ".";font-weight:800;color:var(--red);text-align:right;}
.student-list[start="3"]{counter-reset:item 2;}
.student-bullets{margin:.65rem 0 1.2rem 0;padding:0;list-style:none;}
.student-bullets li{position:relative;margin:.65rem 0;padding-left:1.35rem;line-height:1.58;}
.student-bullets li::before{content:"";position:absolute;left:.2rem;top:.72em;width:.42rem;height:.42rem;border-radius:50%;background:var(--red);}
.section-subtitle{font-size:1.08rem;color:var(--navy);font-weight:850;margin:1.35rem 0 .55rem!important;}
.students-note{border:1px solid var(--line);background:#fbfcfe;border-radius:12px;padding:12px 14px;}



/* Use native ordered-list markers so "start" values remain correct. */
.student-list{margin:.65rem 0 1.15rem 1.35rem;padding-left:1.1rem;list-style:decimal;}
.student-list li{display:list-item;margin:.48rem 0;padding-left:.35rem;line-height:1.55;}
.student-list li::marker{font-weight:800;color:var(--red);}

@media(max-width:850px){
  .hero-inner{grid-template-columns:1fr;padding:30px 20px 28px;}
  .portrait{justify-self:start;max-width:180px;}
  .home-about-grid{grid-template-columns:1fr;}
  .contact-list{grid-template-columns:1fr;gap:2px 0;}
  .contact-list dt{margin-top:8px;}
  .publication-list .publication-item{grid-template-columns:2.4rem minmax(0,1fr);gap:.75rem;}
  .course-table{min-width:0!important;}
  .course-table td{display:block;width:100%!important;}
  .course-table td:first-child{border-bottom:0!important;padding-bottom:.25rem!important;}
  .course-table td:nth-child(2){padding-top:.2rem!important;}
}
.student-list li::before{content:none!important;}


/* =========================================================
   Final academic refinement: restrained typography, compact
   home page, aligned numbered lists, smaller logos/figures.
   ========================================================= */
:root{
  --ink:#172033;
  --muted:#526074;
  --navy:#08213d;
  --red:#b21b1b;
  --line:#e3e8ef;
  --bg:#f8fafc;
}
body{
  color:var(--ink);
  background:var(--bg);
  font-size:16px;
  line-height:1.58;
  font-weight:440;
}
a{font-weight:500;}
.site-nav a{font-weight:700;}
.brand{font-weight:850;}
.kicker{font-size:.75rem;letter-spacing:.09em;margin-bottom:8px;}
.hero-inner{
  padding:32px 20px 28px!important;
  grid-template-columns:minmax(0,1fr) 145px!important;
  gap:28px!important;
  min-height:0;
}
.hero h1{
  font-size:clamp(2.05rem,3.1vw,2.85rem)!important;
  letter-spacing:-.04em!important;
}
.hero-sub,.contact-line{display:none!important;}
.portrait{max-width:145px!important;border-radius:18px;padding:9px;}
.portrait img{border-radius:12px;}
.portrait figcaption{display:none;}
.page-title h1{font-size:clamp(1.75rem,2.5vw,2.35rem);}
.page-title-inner{padding:24px 20px;}
.main{padding-top:24px;}
.content-card{padding:clamp(22px,2.7vw,34px);}
.content p{color:#1d2738;font-weight:440;}
.content b,.content strong{font-weight:800;color:#12223a;}
.content p.section-title{
  margin:1.45rem 0 .8rem;
  padding:.35rem 0 .35rem .78rem;
  font-size:1.13rem;
  background:linear-gradient(90deg,#fbf3f3,rgba(251,243,243,0));
}
.home-about-grid{
  grid-template-columns:minmax(0,1.55fr) minmax(355px,.85fr)!important;
  gap:22px;
}
.about-card,.home-section{box-shadow:0 6px 18px rgba(16,24,40,.035);}
.contact-card{min-width:0;}
.contact-list{
  grid-template-columns:110px minmax(0,1fr)!important;
  gap:7px 14px!important;
}
.contact-list dt{white-space:nowrap;font-weight:850;}
.contact-list dd{line-height:1.45;}
.contact-list dd a{overflow-wrap:normal;word-break:normal;}
.contact-list dd a.long-url{font-size:.95rem;}
.clean-list li,.student-bullets li,.student-list li{color:#1d2738;}

/* Numbered theme/grant lists */
.theme-list,.grant-list{
  counter-reset:item;
  list-style:none;
  padding:0;
  margin:.75rem 0 1.3rem;
}
.theme-list li,.grant-item{
  counter-increment:item;
  display:grid;
  grid-template-columns:2.8rem minmax(0,1fr);
  gap:.85rem;
  padding:.55rem 0;
  border-bottom:1px solid var(--line);
}
.theme-list li::before,.grant-item::before{
  content:counter(item) ".";
  color:var(--red);
  font-weight:850;
  text-align:right;
  padding-top:.02rem;
}
.theme-list li span{font-weight:760;color:#12223a;}
.theme-list.compact li{padding:.42rem 0;}
.grant-item{padding:.78rem 0;}
.grant-main{grid-column:2;}
.grant-title{font-weight:780;color:var(--navy);line-height:1.42;margin:0 0 .22rem;}
.grant-meta{display:grid;grid-template-columns:86px minmax(0,1fr);gap:3px 12px;margin-top:.18rem;color:#39465a;line-height:1.45;}
.grant-meta dt{font-weight:780;color:#12223a;}
.grant-meta dd{margin:0;}
.grant-summary{border:1px solid var(--line);border-radius:12px;background:#fbfcfe;padding:12px 14px;margin:.5rem 0 1rem!important;}

/* Research logos and simulation figures */
.logo-row{
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
  margin:1rem 0 1.35rem;
}
.logo-row img{
  width:auto!important;
  max-height:108px!important;
  max-width:150px!important;
  object-fit:contain;
  border-radius:10px!important;
  box-shadow:0 8px 20px rgba(16,24,40,.06)!important;
  background:#fff;
  padding:8px;
}
.research-figure{
  max-width:640px;
  margin:1.2rem auto 1.45rem;
  text-align:center;
}
.research-figure img{
  width:100%!important;
  max-width:640px!important;
  height:auto!important;
  border-radius:12px!important;
  box-shadow:0 10px 24px rgba(16,24,40,.08)!important;
}
.research-figure figcaption{
  margin-top:.42rem;
  color:#475569;
  font-size:.88rem;
  line-height:1.42;
  font-weight:560;
}
.research-caption{font-size:.9rem;color:#475569;font-weight:560;}
.content img[src*="research_fld_image001"],
.content img[src*="research_fld_image002"]{
  max-height:108px!important;max-width:150px!important;width:auto!important;
}
.content img[src*="research_fld_image005"],
.content img[src*="research_fld_image006"]{
  max-width:640px!important;width:100%!important;display:block;margin:.5rem auto!important;
}

/* Grants image */
.content img[src*="grants_fld_image001"]{
  max-width:640px!important;width:100%!important;display:block;margin:1.2rem auto 0!important;
  box-shadow:0 8px 18px rgba(16,24,40,.06)!important;
}

/* Group PI and people cards */
.pi-profile{
  display:flex;
  align-items:center;
  gap:18px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:16px;
  padding:16px;
  max-width:560px;
  box-shadow:0 8px 20px rgba(16,24,40,.04);
}
.pi-profile p{margin:.18rem 0;}
.pi-photo{
  width:118px!important;
  height:118px!important;
  object-fit:cover;
  border-radius:50%!important;
  box-shadow:none!important;
  margin:0!important;
  flex:0 0 118px;
}
.people-grid img{width:118px!important;height:118px!important;}
.people-grid td:empty,.person-card:empty{display:none!important;}
.people-grid td p:first-child{margin-top:0;}
.people-grid td p{margin:.28rem 0;line-height:1.35;}

/* Tighter teaching rows */
.course-table td{padding:.65rem .9rem!important;}
.course-table td:first-child{width:8.6rem!important;}
.course-table td:nth-child(2) p{margin:.08rem 0 .28rem!important;}

@media(max-width:850px){
  .hero-inner{grid-template-columns:1fr!important;padding:26px 20px 24px!important;}
  .portrait{max-width:125px!important;justify-self:start;}
  .home-about-grid{grid-template-columns:1fr!important;}
  .contact-list{grid-template-columns:98px minmax(0,1fr)!important;}
  .contact-list dd a.long-url{overflow-wrap:anywhere;}
  .pi-profile{align-items:flex-start;}
  .pi-photo{width:96px!important;height:96px!important;flex-basis:96px;}
  .theme-list li,.grant-item{grid-template-columns:2.2rem minmax(0,1fr);gap:.65rem;}
  .grant-meta{grid-template-columns:1fr;gap:1px;}
}


/* =========================================================
   Refined academic revision: June 2026
   ========================================================= */

/* Home */
.home-page .hero-inner{
  grid-template-columns:minmax(0,1fr) 185px!important;
  padding:34px 20px 30px!important;
}
.home-page .hero h1{
  font-size: clamp(1.65rem, 2.1vw, 2.05rem) !important;
}
.home-page .portrait{
  max-width:185px!important;
  padding:10px;
}
.home-page .portrait img{
  aspect-ratio:309/433;
  object-fit:cover;
  object-position:center top;
}
.home-page .home-about-grid{
  grid-template-columns:minmax(0,1.65fr) minmax(330px,.78fr)!important;
}
.contact-lines{font-size:1rem;line-height:1.48;color:#344258;}
.contact-lines p{margin:0 0 .47rem!important;color:#344258!important;font-weight:480!important;}
.contact-lines p:last-child{margin-bottom:0!important;}
.contact-lines a{font-weight:520;white-space:nowrap;}
.contact-web-link{font-size:.96rem;}

/* CV */
.cv-page .content{min-width:0;}
.cv-page .cv-table-wrap{
  width:100%;
  overflow:visible;
  border-radius:12px;
}
.cv-page .cv-table{
  width:100%;
  min-width:0!important;
  table-layout:fixed;
}
.cv-page .cv-table td{
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.5;
}
.cv-page .cv-table td:first-child{
  width:10.2rem!important;
  text-align:left!important;
  color:#273449!important;
  font-weight:650!important;
  padding-left:1rem!important;
}
.cv-page .cv-table td:nth-child(2){
  width:auto!important;
  color:#273449!important;
  font-weight:450!important;
  white-space:normal!important;
}
.cv-page .cv-table td p{margin:.18rem 0!important;}
.cv-page .cv-table p.list-like{
  margin:.18rem 0!important;
  padding:0!important;
  border:0!important;
}
.cv-link-line{
  margin:.15rem 0 1.15rem!important;
  padding:.55rem .75rem;
  border-left:3px solid #d9e2ec;
  background:#fbfcfe;
  border-radius:0 8px 8px 0;
  text-align:left!important;
  color:#344258!important;
}
.cv-link-line a{font-weight:700;}
.subsection-title{
  margin:1.2rem 0 .55rem!important;
  color:var(--navy)!important;
  font-size:1.04rem;
  font-weight:820!important;
  padding:0!important;
  border:0!important;
  background:none!important;
}
.reviewer-list{
  margin:.7rem 0 1.2rem 1.25rem;
  padding-left:1.2rem;
  columns:2;
  column-gap:2.5rem;
}
.reviewer-list li{
  break-inside:avoid;
  margin:0 0 .38rem;
  padding-left:.2rem;
  line-height:1.45;
}
.reviewer-list li::marker{color:var(--red);font-weight:800;}

/* Group */
.group-page .pi-profile{max-width:610px;padding:18px;gap:20px;}
.group-page .pi-photo{
  width:138px!important;
  height:178px!important;
  flex:0 0 138px!important;
  border-radius:12px!important;
  object-fit:cover!important;
  object-position:center top!important;
  background:#eef2f6;
}
.group-page .pi-profile>div:last-child p:first-child{
  color:var(--navy);
  font-weight:800;
  font-size:1.08rem;
}

/* Research */
.research-page .logo-row{
  justify-content:center;
  gap:34px;
  margin:1rem auto 1.4rem;
}
.research-page .logo-row img{
  max-height:108px!important;
  max-width:150px!important;
}
.research-page .centered-caption{
  text-align:center;
  font-size:.84rem!important;
  color:#5b6678!important;
  font-weight:520!important;
  margin:.85rem auto .55rem!important;
}
.research-page .research-figure{margin:1rem auto 1.3rem;}
.research-page .hair-figure{max-width:610px;}
.research-page .car-figure{max-width:480px;}
.research-page .hair-figure img{max-width:610px!important;}
.research-page .car-figure img{max-width:480px!important;}
.research-page .simulation-caption,
.research-page .research-figure figcaption{
  text-align:center;
  font-size:.80rem!important;
  line-height:1.38;
  color:#5b6678;
  font-weight:500!important;
  max-width:720px;
  margin:.42rem auto 0;
}
.research-page .simulation-caption b,
.research-page .research-figure figcaption b{font-weight:550!important;color:#5b6678!important;}

/* Grants */
.grants-page .grant-item{
  grid-template-columns:2.35rem minmax(0,1fr)!important;
  gap:.55rem!important;
  align-items:start;
}
.grants-page .grant-item::before{
  line-height:1.42;
  padding:0!important;
  font-size:1.02rem;
  text-align:right;
}
.grants-page .grant-main{grid-column:2;min-width:0;}
.grants-page .grant-title{margin:0 0 .28rem!important;line-height:1.42;}
.grants-page .grant-meta dt::after{content:":";}
.grants-page .grant-meta dt{font-weight:820;}
.grants-page .grant-meta{grid-template-columns:78px minmax(0,1fr);}

/* Publications */
.publications-page .scholar-profile{
  margin:.05rem 0 1.25rem!important;
  font-size:1.18rem;
  line-height:1.3;
}
.publications-page .scholar-profile a{
  color:var(--navy);
  font-weight:850;
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}

@media(max-width:850px){
  .home-page .hero-inner{grid-template-columns:1fr!important;}
  .home-page .portrait{max-width:155px!important;justify-self:start;}
  .home-page .home-about-grid{grid-template-columns:1fr!important;}
  .contact-lines a{white-space:normal;overflow-wrap:anywhere;}
  .cv-page .cv-table-wrap{border:0;}
  .cv-page .cv-table,.cv-page .cv-table tbody{display:block;}
  .cv-page .cv-table tr{display:block;padding:.55rem 0;border-bottom:1px solid var(--line);}
  .cv-page .cv-table tr:last-child{border-bottom:0;}
  .cv-page .cv-table td{display:block;width:100%!important;border:0!important;padding:.18rem .75rem!important;}
  .cv-page .cv-table td:first-child{padding-bottom:.05rem!important;color:var(--red)!important;font-weight:800!important;}
  .reviewer-list{columns:1;}
  .group-page .pi-profile{align-items:flex-start;}
  .group-page .pi-photo{width:116px!important;height:150px!important;flex-basis:116px!important;}
  .research-page .logo-row{gap:22px;}
  .research-page .car-figure,.research-page .hair-figure{max-width:100%;}
}

/* Final home-page width and contact fit */
.home-page .hero-inner,.home-page .main{max-width:1240px;}
.home-page .home-about-grid{grid-template-columns:minmax(0,1.7fr) minmax(390px,.82fr)!important;}
.home-page .contact-lines{font-size:.98rem;}
@media(max-width:900px){.home-page .home-about-grid{grid-template-columns:1fr!important;}}


/* =========================================================
   Academic polish revision v2: alignment and consistency
   ========================================================= */

/* Home: smaller name, slightly larger portrait. */
.home-page .hero-inner{
  grid-template-columns:minmax(0,1fr) 215px!important;
  padding:32px 20px 30px!important;
}
.home-page .hero h1{
  font-size:clamp(1.95rem,2.75vw,2.65rem)!important;
  letter-spacing:-.035em!important;
}
.home-page .portrait{
  max-width:215px!important;
  width:215px;
  padding:10px;
}
.home-page .portrait img{
  width:100%;
  aspect-ratio:309/433;
  object-fit:cover;
  object-position:center top;
}

/* Grants: Role and Title labels are understated, while values retain emphasis. */
.grants-page .grant-meta dt{
  font-weight:500!important;
  color:#38465a!important;
}
.grants-page .grant-meta dt::after{font-weight:500!important;}

/* CV: keep dates/ranges on one line and format service lists consistently. */
.cv-page .cv-date-table td:first-child{
  width:12.4rem!important;
  white-space:nowrap!important;
}
.cv-page .service-list{
  margin:.55rem 0 1.15rem 1.25rem;
  padding-left:1.2rem;
}
.cv-page .service-list li{
  margin:.42rem 0;
  padding-left:.28rem;
  line-height:1.5;
}
.cv-page .service-list li::marker{
  color:var(--red);
  font-weight:800;
}

/* Publications: author name only is bold; titles are clear but not bold. */
.publications-page .publication-list .item-title{
  font-weight:500!important;
  color:#1d2a3d!important;
}
.publications-page .publication-list .item-detail{
  font-weight:440!important;
}
.publications-page .publication-list .item-detail b,
.publications-page .publication-list .item-detail strong{
  font-weight:440!important;
}
.publications-page .scholar-profile a{
  color:#075eb5!important;
  font-weight:850!important;
}

/* News: both English and Vietnamese sections use the same aligned date/content grid. */
.news-page .news-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.news-page .news-table td:first-child{
  width:7.8rem!important;
  text-align:left!important;
  color:#263448!important;
  font-weight:650!important;
  white-space:nowrap!important;
}
.news-page .news-table td:nth-child(2){
  width:auto!important;
  white-space:normal!important;
  color:#1d2738!important;
  font-weight:440!important;
  overflow-wrap:anywhere;
}
.news-page .news-table td p{margin:.08rem 0!important;}

/* Talks: only the presentation label is emphasized; titles remain italic. */
.talks-page .talk-label{
  font-weight:720;
  color:var(--navy);
}
.talks-page .talk-label.invited{
  color:var(--red);
}
.talks-page .event-table td:nth-child(3) p{
  line-height:1.48;
}

@media(max-width:850px){
  .home-page .hero-inner{grid-template-columns:1fr!important;}
  .home-page .portrait{max-width:180px!important;width:180px!important;}
  .cv-page .cv-date-table td:first-child{width:100%!important;white-space:normal!important;}
  .news-page .news-table td:first-child{width:6.2rem!important;}
}

/* =========================================================
   Home-header balance refinement v3
   Compact hero, better portrait/text relationship, clearer nav.
   ========================================================= */
.nav-container{
  max-width:1280px;
  padding:11px 24px;
  gap:24px;
}
.brand{
  font-size:1.04rem;
  gap:11px;
}
.brand-fallback{
  width:34px;
  height:34px;
  border-radius:9px;
  font-size:1rem;
}
.site-nav{
  gap:3px;
}
.site-nav a{
  font-size:.96rem;
  line-height:1.2;
  padding:.5rem .62rem;
}

.home-page .hero-inner{
  max-width:1120px!important;
  grid-template-columns:minmax(0,1fr) 190px!important;
  gap:56px!important;
  align-items:center!important;
  padding:40px 24px 42px!important;
}
.home-page .hero h1{
  font-size:clamp(2.15rem,2.9vw,2.75rem)!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
}
.home-page .kicker{
  margin-bottom:8px;
  font-size:.77rem;
  line-height:1.35;
}
.home-page .portrait{
  width:190px!important;
  max-width:190px!important;
  justify-self:end!important;
  padding:9px!important;
  border-radius:18px!important;
  box-shadow:0 12px 28px rgba(16,24,40,.08)!important;
}
.home-page .portrait img{
  aspect-ratio:4/5!important;
  object-fit:cover!important;
  object-position:center 18%!important;
  border-radius:12px!important;
}
.home-page .main{
  max-width:1180px!important;
  padding-top:24px!important;
}

@media(max-width:1100px){
  .nav-container{padding-left:18px;padding-right:18px;gap:14px;}
  .site-nav a{font-size:.91rem;padding:.47rem .52rem;}
  .home-page .hero-inner{max-width:980px!important;grid-template-columns:minmax(0,1fr) 175px!important;gap:42px!important;}
  .home-page .portrait{width:175px!important;max-width:175px!important;}
}
@media(max-width:850px){
  .brand{font-size:1rem;}
  .brand-fallback{width:32px;height:32px;}
  .site-nav a{font-size:.89rem;}
  .home-page .hero-inner{
    grid-template-columns:minmax(0,1fr) 145px!important;
    gap:24px!important;
    padding:30px 20px 30px!important;
  }
  .home-page .portrait{
    width:145px!important;
    max-width:145px!important;
    justify-self:end!important;
  }
  .home-page .hero h1{font-size:clamp(2rem,7vw,2.45rem)!important;}
}
@media(max-width:620px){
  .home-page .hero-inner{
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding:28px 20px 30px!important;
  }
  .home-page .portrait{
    width:150px!important;
    max-width:150px!important;
    justify-self:start!important;
  }
}


/* YouTube videos on the Research page */
.research-page .video-figure{
  max-width:680px;
  margin:1rem auto 1.45rem;
  text-align:center;
}
.research-page .vorticity-video{
  max-width:580px;
}

.research-page .video-embed{
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-radius:14px;
  background:#0f172a;
  box-shadow:0 12px 28px rgba(16,24,40,.12);
  border:1px solid var(--line);
}
.research-page .video-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.research-page .video-figure figcaption,
.research-page .video-embed + figcaption{
  text-align:center;
  font-size:.80rem!important;
  line-height:1.38;
  color:#5b6678;
  font-weight:500!important;
  margin:.48rem auto 0;
}
.research-page .hair-video{
  max-width:610px;
  margin:.7rem auto 0;
}

.research-page .hair-video-pair{
  max-width:920px;
  margin:1.2rem auto 1.45rem;
}
.research-page .video-grid.two-videos{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  align-items:start;
}
.research-page .hair-video-pair figcaption{
  max-width:840px;
  margin-top:.55rem!important;
}
@media(max-width:650px){
  .research-page .video-figure{max-width:100%;}
  .research-page .video-grid.two-videos{grid-template-columns:1fr;gap:14px;}
}

/* v7 final text polish and publication section links */
.publications-page .pub-intro{
  margin:.05rem 0 .55rem!important;
  font-size:1.02rem;
  line-height:1.55;
  color:#263448;
}
.publications-page .pub-intro a{
  font-weight:760;
  color:#075eb5;
}
.publications-page .section-title[id]{
  scroll-margin-top:86px;
}


/* =========================================================
   Final override: smaller homepage name
   This block is intentionally placed at the end of the CSS
   so it overrides earlier .home-page .hero h1 rules.
   ========================================================= */
.home-page .hero h1 {
  font-size: clamp(1.75rem, 2.25vw, 2.20rem) !important;
}
