:root{
  --primary:#2f7783;
  --primary-dark:#245f69;
  --blue:#3d6fa8;
  --cyan:#3f8fa4;
  --green:#5b816c;
  --warm:#b78348;
  --ink:#24313a;
  --muted:#61717b;
  --line:#dbe3e7;
  --soft:#f5f8f9;
}
html{scroll-behavior:smooth}
body{color:var(--ink);background:#fff;font-size:15px;line-height:1.55}
a{color:#246b91}
a:hover{color:#174d6a}
.container{max-width:1120px!important}
.site-nav{background:var(--primary)!important;min-height:3.5rem}
.site-nav .navbar-item,.site-nav .navbar-link{color:#fff!important}
.site-nav .navbar-item:hover,.site-nav .navbar-link:hover{background:rgba(0,0,0,.08)!important}
.brand-name{font-size:1.05rem;letter-spacing:.01em}
.profile-hero{background:linear-gradient(120deg,var(--primary-dark),var(--primary) 58%,#3e8792)!important}
.profile-hero .hero-body{padding:2.8rem 1.5rem}
.hero-kicker{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.86;margin-bottom:.55rem}
.hero-title{font-size:2.65rem!important;line-height:1.08!important;margin-bottom:.8rem!important;max-width:760px}
.hero-subtitle{margin-bottom:.7rem!important;font-weight:600}
.hero-copy{font-size:1.05rem;max-width:720px;color:rgba(255,255,255,.94)}
.profile-image-wrap{width:220px;height:220px;margin:0 auto;border:5px solid rgba(255,255,255,.92);box-shadow:0 8px 26px rgba(0,0,0,.18);overflow:hidden;border-radius:4px}
.profile-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center}
.compact-section{padding:2rem 1.5rem 2.5rem}
.vision-box{background:var(--primary)!important;border-radius:5px!important;box-shadow:none!important;padding:1.35rem 1.5rem!important;margin-bottom:1rem!important}
.research-stack{display:grid;gap:.85rem;margin-bottom:1rem}
.research-box{border-radius:5px;padding:1.25rem 1.4rem;color:#fff}
.research-box h3{color:#fff!important;margin-bottom:.45rem!important}
.research-box p{color:rgba(255,255,255,.96)}
.research-box .research-tags{margin-top:.75rem}
.research-box .tag{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.25);font-size:.72rem}
.research-box.multimodal{background:var(--blue)}
.research-box.generative{background:var(--cyan)}
.research-box.tabular{background:var(--green)}
.biomedical-box{border-radius:5px!important;box-shadow:none!important;border:1px solid var(--line);padding:1.35rem 1.5rem!important;margin:0 0 1.8rem!important}
.biomedical-grid{margin-top:.15rem!important}
.bio-item{height:100%;border-left:4px solid var(--warm);background:var(--soft);padding:.9rem 1rem}
.bio-item h3{font-size:1rem;font-weight:700;margin-bottom:.2rem}
.bio-item p{font-size:.82rem;color:var(--muted)}
.section-title-row{display:flex;align-items:end;justify-content:space-between;border-bottom:2px solid var(--primary);padding-bottom:.55rem;margin:1.2rem 0 .35rem}
.selected-projects{border-bottom:1px solid var(--line)}
.project-media{display:grid;grid-template-columns:150px 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}
.project-thumb{width:150px;height:95px;background:#eef2f4;overflow:hidden}
.project-thumb img{width:100%;height:100%;object-fit:cover}
.project-meta{font-size:.72rem;letter-spacing:.035em;text-transform:uppercase;font-weight:700;color:var(--primary);margin-bottom:.25rem}
.project-body p{margin-bottom:.2rem}
.sidebar-title{border-bottom:2px solid var(--primary);padding-bottom:.55rem;margin-bottom:.65rem!important}
.news-list{display:grid;gap:.65rem}
.news-card{border-radius:4px;box-shadow:0 1px 5px rgba(31,55,67,.11)}
.news-card .card-content{padding:.85rem 1rem}
.news-date{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--primary);font-weight:700;margin-bottom:.18rem}
.join-box{background:var(--blue)!important;border-radius:5px;padding:1.2rem 1.25rem!important}
.quick-box{border-radius:5px!important;box-shadow:none!important;border:1px solid var(--line);padding:1.1rem 1.2rem!important}
.quick-box .title{border-bottom:1px solid var(--line);padding-bottom:.45rem;margin-bottom:.7rem!important}
.quick-links p,.small-content p{margin-bottom:.45rem!important}
.compact-footer{padding:1.25rem 1.5rem!important;background:#f4f7f8!important;color:#6b7981;font-size:.82rem}

/* Publications */
.page-head{background:#f1f6f7;border-bottom:1px solid var(--line);padding:1.65rem 1.5rem}
.page-head .title{margin-bottom:.4rem!important}
.page-head p{color:var(--muted);max-width:800px}
.page-section{padding:1.4rem 1.5rem 2.5rem}
.filter-row{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}
.filter-row .button{height:2rem;font-size:.76rem;border-radius:3px}
.filter-row .button.is-selected{background:var(--primary);color:#fff;border-color:var(--primary)}
.pub-legend{font-size:.8rem;background:#f7fafb;border:1px solid var(--line);padding:.65rem .8rem;margin-bottom:.8rem}
.pub-item{display:grid;grid-template-columns:68px 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}
.pub-year{font-weight:700;color:var(--primary);font-size:.9rem;padding-top:.15rem}
.pub-title{font-size:1.02rem;font-weight:700;line-height:1.35;margin-bottom:.28rem}
.pub-authors{font-size:.86rem;color:#45565f;margin-bottom:.32rem}
.pub-authors strong{color:#17252d}
.pub-authors sup{color:#b05c36;font-weight:800}
.pub-roles{font-size:.76rem;color:#5e6e77;margin:.25rem 0 .38rem}
.pub-roles span+span:before{content:" · ";color:#9aa6ac}
.pub-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.venue-tag{background:#e8f1f3!important;color:var(--primary-dark)!important;font-size:.7rem!important;font-weight:700}
.pub-tags{display:flex;gap:.3rem;flex-wrap:wrap}
.pub-tags .tag{font-size:.67rem;background:#f3f5f6;color:#66747b}
.pub-links{font-size:.78rem;display:flex;gap:.65rem;margin-top:.35rem}

/* Academic */
.academic-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.academic-card{border:1px solid var(--line);border-radius:4px;padding:1rem 1.1rem}
.academic-card.is-wide{grid-column:1/-1}
.academic-card .title{font-size:1.1rem;border-bottom:2px solid var(--primary);padding-bottom:.45rem;margin-bottom:.45rem!important}
.academic-row{display:grid;grid-template-columns:68px 1fr;gap:.75rem;padding:.55rem 0;border-bottom:1px solid #edf1f3;font-size:.84rem}
.academic-row:last-child{border-bottom:0}
.academic-date{color:var(--primary);font-weight:700}
.academic-row small{display:block;color:var(--muted);margin-top:.1rem}
.service-item{padding:.52rem 0;border-bottom:1px solid #edf1f3;font-size:.84rem}
.service-item:last-child{border-bottom:0}

@media(max-width:768px){
  .profile-hero .hero-body{padding:2rem 1.25rem}
  .hero-title{font-size:2.1rem!important}
  .profile-image-wrap{width:170px;height:170px}
  .compact-section{padding:1.25rem}
  .project-media{grid-template-columns:110px 1fr}
  .project-thumb{width:110px;height:82px}
  .academic-grid{grid-template-columns:1fr}
  .academic-card.is-wide{grid-column:auto}
  .pub-item{grid-template-columns:52px 1fr}
  .pub-bottom{display:block}
  .pub-tags{margin-top:.35rem}
}

/* Visual refinement v2: compact academic + scientific technology feel */
:root{
  --primary:#7b2443;
  --primary-dark:#4f1630;
  --primary-deep:#351021;
  --science-blue:#315f9b;
  --science-cyan:#278696;
  --science-violet:#67579b;
  --science-gold:#b98944;
  --ink:#26313a;
  --muted:#5f6d75;
  --line:#d9e0e4;
  --soft:#f5f7f8;
}
body{
  font-family:"Source Sans 3",system-ui,sans-serif;
  color:var(--ink);
  background:#fff;
}
.title,.subtitle,.brand-name,.navbar-item strong{
  font-family:"Alegreya",Georgia,serif;
}
.site-nav{
  background:var(--primary)!important;
  box-shadow:0 2px 0 rgba(44,13,29,.12);
}
.profile-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 24%,rgba(71,156,177,.26),transparent 28%),
    linear-gradient(120deg,var(--primary-deep),var(--primary) 58%,#294d70)!important;
}
.hero-grid-pattern{
  position:absolute;inset:0;pointer-events:none;opacity:.16;
  background-image:
    linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(90deg,transparent 0%,black 45%,black 100%);
}
.profile-hero .hero-body{position:relative;z-index:2;padding:2.45rem 1.5rem 2.55rem}
.hero-title{font-size:2.9rem!important;max-width:720px;text-shadow:0 2px 18px rgba(0,0,0,.14)}
.hero-subtitle{font-family:"Source Sans 3",system-ui,sans-serif!important;font-size:1.18rem!important;letter-spacing:.025em}
.hero-copy{font-size:1rem;line-height:1.5;max-width:680px}
.science-collage{
  position:relative;
  display:grid;
  grid-template-columns:1.18fr .82fr;
  grid-template-rows:1fr 1fr;
  gap:.55rem;
  min-height:270px;
  padding:.55rem;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.32);
  box-shadow:0 18px 50px rgba(21,7,16,.28);
  backdrop-filter:blur(4px);
}
.science-panel{
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(255,255,255,.45);
  min-height:0;
}
.science-panel img{width:100%;height:100%;object-fit:cover}
.panel-a{grid-row:1/3}
.panel-b,.panel-c{min-height:122px}
.collage-label{
  position:absolute;left:.9rem;bottom:.9rem;
  background:rgba(26,19,28,.84);color:#fff;
  font-size:.65rem;letter-spacing:.14em;font-weight:700;
  padding:.38rem .55rem;
}
.vision-box{
  background:linear-gradient(135deg,var(--primary),#93435d)!important;
}
.research-box.multimodal{background:linear-gradient(135deg,#244f86,var(--science-blue))}
.research-box.generative{background:linear-gradient(135deg,#1d6f7e,var(--science-cyan))}
.research-box.tabular{background:linear-gradient(135deg,#51447d,var(--science-violet))}
.research-box{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(17,34,47,.08);
}
.research-box:after{
  content:"";position:absolute;width:150px;height:150px;right:-65px;top:-65px;
  border-radius:50%;border:1px solid rgba(255,255,255,.18);
  box-shadow:0 0 0 18px rgba(255,255,255,.035),0 0 0 40px rgba(255,255,255,.02);
}
.research-box .title{font-size:1.55rem!important}
.bio-item{
  border-left:4px solid var(--science-gold);
  background:linear-gradient(180deg,#f9fafb,#f2f5f6);
}
.sidebar-title{border-bottom-color:var(--primary)}
.news-card{
  border-left:3px solid var(--primary);
  transition:transform .15s ease,box-shadow .15s ease;
}
.news-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(31,55,67,.13)}
.news-date{color:var(--primary)}
.join-box{
  background:linear-gradient(145deg,#2f5e91,#284a75)!important;
  border-left:4px solid #73c1cc;
}
.join-copy{font-size:.82rem;line-height:1.42}
.join-copy p{margin-bottom:.7rem}
.join-copy a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.quick-box .title{color:var(--primary-dark)}
.section-title-row{border-bottom-color:var(--primary)}
.project-meta{color:var(--primary)}
.project-thumb{border:1px solid #d7dfe3}
.pub-year{color:var(--primary)}
.venue-tag{background:#f1e5ea!important;color:var(--primary-dark)!important}
.filter-row .button.is-selected{background:var(--primary);border-color:var(--primary)}
.academic-card .title{border-bottom-color:var(--primary)}
.academic-date{color:var(--primary)}
@media(max-width:768px){
  .science-collage{min-height:230px;margin-top:.5rem}
  .hero-title{font-size:2.3rem!important}
}

/* User-directed hero refinement */
.profile-hero .title,
.profile-hero .subtitle,
.profile-hero .hero-kicker,
.profile-hero .hero-copy{
  color:#fff!important;
}
.profile-hero .hero-kicker{opacity:.9!important}
.profile-hero .hero-subtitle{color:#f3e8ed!important}
.profile-hero .hero-copy{color:rgba(255,255,255,.96)!important}

.profile-tech-frame{
  position:relative;
  width:min(100%,300px);
  margin:0 auto;
  padding:.65rem;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.36);
  box-shadow:0 18px 46px rgba(31,6,21,.28);
  backdrop-filter:blur(4px);
}
.profile-tech-frame:before,
.profile-tech-frame:after{
  content:"";
  position:absolute;
  pointer-events:none;
}
.profile-tech-frame:before{
  inset:-9px 18px 18px -9px;
  border-top:1px solid rgba(121,207,220,.65);
  border-left:1px solid rgba(121,207,220,.65);
}
.profile-tech-frame:after{
  right:-10px;bottom:-10px;width:58px;height:58px;
  border-right:2px solid #75c8d5;
  border-bottom:2px solid #75c8d5;
}
.profile-photo{
  width:100%;
  aspect-ratio:4/5;
  overflow:hidden;
  background:#fff;
}
.profile-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.hero-orbit{
  position:absolute;
  border:1px solid rgba(118,202,215,.18);
  border-radius:50%;
  pointer-events:none;
}
.hero-orbit-a{width:300px;height:300px;right:7%;top:-150px}
.hero-orbit-b{width:190px;height:190px;right:24%;bottom:-110px}

@media(max-width:1023px){
  .site-nav .navbar-menu{
    background:var(--primary)!important;
  }
  .site-nav .navbar-item{color:#fff!important}
}
@media(max-width:768px){
  .profile-tech-frame{width:220px;margin-top:.5rem}
}

/* Refinement v3 — hierarchy, density, consistent navigation */
.site-nav .navbar-item.is-active,
.site-nav .navbar-link.is-active{
  background:var(--primary-dark)!important;
  color:#fff!important;
}
.site-nav .navbar-item.is-active:hover{
  background:var(--primary-dark)!important;
  color:#fff!important;
}

/* Smaller, tighter opening */
.profile-hero .hero-body{
  padding:1.65rem 1.5rem 1.75rem!important;
}
.hero-title{
  font-size:2.45rem!important;
  margin-bottom:.55rem!important;
}
.hero-subtitle{
  font-size:1.05rem!important;
  margin-bottom:.45rem!important;
}
.hero-copy{
  font-size:.95rem!important;
  line-height:1.42!important;
}
.hero-kicker{
  font-size:1.05rem!important;
  margin-bottom:.4rem!important;
}
.profile-tech-frame{
  width:min(100%,205px)!important;
  padding:.48rem!important;
}
.profile-tech-caption{
  font-size:.58rem!important;
  margin-top:.4rem!important;
}
.hero-orbit-a{width:230px!important;height:230px!important;top:-120px!important}
.hero-orbit-b{width:145px!important;height:145px!important;bottom:-90px!important}

/* Research introduction is context, not a fourth direction */
.research-intro-block{
  padding:.2rem 0 .9rem;
  margin-bottom:.85rem;
  border-bottom:1px solid var(--line);
}
.research-intro-block .title{
  color:var(--primary-dark);
  font-size:1.4rem!important;
}
.research-intro-block p{
  max-width:760px;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.5;
}
.research-stack{gap:.7rem!important}
.research-box{
  padding:1.05rem 1.2rem!important;
}
.research-box .title{
  font-size:1.38rem!important;
}
.research-box p{
  font-size:.91rem;
  line-height:1.43;
}
.research-box .research-tags{
  margin-top:.55rem!important;
}
.biomedical-box{
  margin-top:.85rem!important;
  padding:1.1rem 1.2rem!important;
}
.biomedical-box .title{
  color:var(--primary-dark);
  font-size:1.35rem!important;
}

/* Footer counter */
.visitor-count{
  font-size:.78rem;
  color:#6b7981;
}
.visitor-count strong{
  color:var(--primary);
}

/* Selected publications should stay compact */
.pub-roles{display:none!important}

@media(max-width:768px){
  .profile-hero .hero-body{padding:1.35rem 1.1rem 1.45rem!important}
  .hero-title{font-size:2rem!important}
  .profile-tech-frame{width:165px!important}
  .quick-links-compact{gap:.55rem}
  .quick-links-compact a+a:before{margin-right:.55rem}
}

/* Compact language switch and unified resource block */
.language-switch{align-items:center}
.language-switch .lang-link{
  min-width:2.25rem;
  justify-content:center;
  font-family:"Source Sans 3",system-ui,sans-serif!important;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  color:rgba(255,255,255,.74)!important;
  background:transparent!important;
}
.language-switch .lang-link:hover,
.language-switch .lang-link.is-current-language{
  color:#fff!important;
  background:rgba(0,0,0,.12)!important;
}
.resource-box{
  border-radius:4px!important;
  border:1px solid var(--line);
  box-shadow:none!important;
  padding:.8rem .9rem!important;
}
.resource-box .title{
  font-size:.95rem!important;
  color:var(--primary-dark);
  border-bottom:1px solid var(--line);
  padding-bottom:.35rem;
  margin-bottom:.45rem!important;
}
.resource-links{
  display:flex;
  flex-wrap:wrap;
  gap:.3rem .75rem;
  font-size:.76rem;
  line-height:1.4;
}
.resource-links a{
  white-space:nowrap;
}
.resource-links a+a:before{
  content:"·";
  color:#a5adb2;
  margin-right:.75rem;
}
@media(max-width:768px){
  .language-switch{
    display:flex!important;
    padding:.25rem .5rem;
  }
  .language-switch .navbar-item{
    display:inline-flex!important;
    padding:.4rem .6rem!important;
  }
  .resource-links{gap:.28rem .55rem}
  .resource-links a+a:before{margin-right:.55rem}
}

/* Positioning refinement: concise hero + clean research heading */
.compact-heading-only{
  padding:0 0 .5rem!important;
  margin-bottom:.7rem!important;
  border-bottom:2px solid var(--primary)!important;
}
.compact-heading-only .title{
  margin:0!important;
  font-size:1.32rem!important;
}

/* Balance main research and sidebar */
.news-panel{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.news-row{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:.65rem;
  align-items:start;
  padding:.62rem 0;
  border-bottom:1px solid #edf1f3;
}
.news-row:last-child{border-bottom:0}
.news-row p{
  margin:0;
  font-size:.87rem;
  line-height:1.35;
}
.news-row .news-date{
  margin:0;
  padding-top:.08rem;
  font-size:.68rem;
}
.join-box{
  padding:.95rem 1.05rem!important;
}
.join-copy{
  font-size:.8rem!important;
  line-height:1.36!important;
}
.join-copy p{
  margin-bottom:.55rem!important;
}
.resource-box{
  margin-top:1rem!important;
}
@media(max-width:768px){
  .news-row{grid-template-columns:46px 1fr}
}

/* Fine-tune main/sidebar balance */
@media(min-width:769px){
  .main-research-column{
    flex:none!important;
    width:62.5%!important;
  }
  .side-column{
    flex:none!important;
    width:37.5%!important;
  }
}

/* Visual hierarchy refinement: methods > applications > recruiting */
.biomedical-box{
  position:relative;
  overflow:hidden;
  margin-top:1rem!important;
  padding:1.15rem 1.25rem 1.2rem!important;
  background:linear-gradient(135deg,#fbf6f8 0%,#f5f8fa 58%,#f1f7f8 100%)!important;
  border:1px solid #d9c8d0!important;
  border-top:4px solid var(--primary)!important;
  border-radius:5px!important;
  box-shadow:0 4px 14px rgba(62,38,50,.07)!important;
}
.biomedical-box:after{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  right:-55px;
  top:-55px;
  border:1px solid rgba(123,36,67,.10);
  border-radius:50%;
  box-shadow:0 0 0 18px rgba(49,95,155,.025);
  pointer-events:none;
}
.biomedical-box .title{
  color:var(--primary-dark)!important;
  font-size:1.48rem!important;
  margin-bottom:.28rem!important;
}
.biomedical-box > p{
  color:#4e5961;
  font-weight:600;
  font-size:.88rem;
  letter-spacing:.01em;
  margin-bottom:.85rem!important;
}
.biomedical-box .bio-item{
  background:rgba(255,255,255,.66)!important;
  border:1px solid #e4e8ea;
  border-left:4px solid var(--science-gold);
  padding:.82rem .9rem;
}
.biomedical-box .bio-item h3{
  color:#303942;
  font-weight:700;
}
.biomedical-box .bio-item p{
  color:#68747b;
}

/* Recruiting should read as a secondary information panel, not a primary visual block */
.join-box{
  background:linear-gradient(145deg,#eef5f8,#f4f7f8)!important;
  border:1px solid #d3e1e6!important;
  border-left:4px solid #73aeb9!important;
  box-shadow:none!important;
  color:var(--ink)!important;
}
.join-box .title{
  color:#315c67!important;
}
.join-copy,
.join-copy.has-text-white,
.join-copy p{
  color:#45565f!important;
}
.join-copy strong{
  color:#2f4f59!important;
}
.join-copy a{
  color:#246b91!important;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Application layer v6 — visually integrated with the three research cards */
.biomedical-box{
  position:relative!important;
  overflow:hidden!important;
  margin-top:.9rem!important;
  padding:1.02rem 1.18rem 1.08rem!important;
  background:
    linear-gradient(120deg,
      rgba(49,95,155,.075) 0%,
      rgba(39,134,150,.055) 48%,
      rgba(103,87,155,.07) 100%)!important;
  border:1px solid rgba(65,78,96,.12)!important;
  border-radius:5px!important;
  box-shadow:none!important;
}
.biomedical-box:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  width:auto;
  height:3px;
  background:linear-gradient(
    90deg,
    #315f9b 0%,
    #315f9b 31%,
    #278696 34%,
    #278696 65%,
    #67579b 68%,
    #67579b 100%
  );
}
.biomedical-box .title{
  margin:0 0 .72rem!important;
  color:#3f3340!important;
  font-size:1.34rem!important;
  line-height:1.16!important;
}
.application-rail{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0!important;
  margin:0!important;
  padding:0!important;
}
.application-item{
  padding:.12rem 1rem .06rem 1rem;
}
.application-item:first-child{padding-left:.08rem}
.application-item:last-child{padding-right:.08rem}
.application-item + .application-item{
  border-left:1px solid rgba(78,92,106,.16);
}
.application-item h3{
  margin:0 0 .2rem!important;
  color:#3a3340!important;
  font-size:.98rem!important;
  font-weight:700;
  line-height:1.22;
}
.application-item p{
  margin:0!important;
  color:#66727a!important;
  font-size:.77rem!important;
  line-height:1.36!important;
}
@media(max-width:768px){
  .application-item + .application-item{
    border-left:0!important;
    border-top:1px solid rgba(78,92,106,.16);
  }
}

/* Subtle orbit accent for AI for Healthcare & Science */
.biomedical-box::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  width:118px;
  height:118px;
  right:-44px;
  top:-48px;
  border:1px solid rgba(49,95,155,.14);
  border-radius:50%;
  box-shadow:
    0 0 0 16px rgba(39,134,150,.028),
    0 0 0 34px rgba(103,87,155,.018);
  pointer-events:none;
  z-index:0;
}
.biomedical-box > *{
  position:relative;
  z-index:1;
}


/* Mobile polish — intentionally scoped to phones so desktop remains unchanged */
@media(max-width:768px){
  /* Keep the hero informative but much less vertically dominant on phones. */
  .profile-hero .hero-body{
    padding:1.05rem 1rem 1.1rem!important;
  }
  .hero-columns{
    margin-top:0!important;
    margin-bottom:0!important;
  }
  .hero-columns > .column{
    padding-top:.35rem!important;
    padding-bottom:.35rem!important;
  }
  .hero-kicker{
    font-size:.95rem!important;
    line-height:1.3!important;
    letter-spacing:.075em!important;
    margin-bottom:.34rem!important;
  }
  .hero-title{
    font-size:1.82rem!important;
    line-height:1.08!important;
    margin-bottom:.48rem!important;
  }
  .hero-subtitle{
    font-size:.95rem!important;
    line-height:1.28!important;
    margin-bottom:.45rem!important;
  }
  .hero-copy{
    font-size:.88rem!important;
    line-height:1.42!important;
  }
  .profile-hero .buttons{
    margin-top:1rem!important;
    margin-bottom:.2rem!important;
    gap:.55rem!important;
  }
  .profile-hero .button{
    height:2.45rem!important;
    padding-left:1rem!important;
    padding-right:1rem!important;
    font-size:.88rem!important;
  }
  .profile-tech-frame{
    width:145px!important;
    margin-top:.15rem!important;
  }
/* Footer: avoid Bulma's mobile level squeezing the copyright into a narrow column. */
  .compact-footer{
    padding:.95rem 1.1rem!important;
  }
  .compact-footer .copyright-line{
    white-space:nowrap;
  }

  /* Homepage: two calm rows — identity first, visit count second. */
  .homepage-footer-level{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:.35rem!important;
  }
  .homepage-footer-level .level-left,
  .homepage-footer-level .level-right{
    display:flex!important;
    width:100%!important;
    flex:none!important;
    justify-content:flex-start!important;
  }
  .homepage-footer-level .visitor-count{
    margin:0!important;
    white-space:normal;
    line-height:1.35;
  }

  /* Publications / Academic: retain a simple one-line left/right footer. */
  .simple-footer-level{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:1rem!important;
    width:100%!important;
  }
  .simple-footer-level .level-left,
  .simple-footer-level .level-right{
    display:flex!important;
    flex:none!important;
    width:auto!important;
    margin:0!important;
  }

  /* Slightly reduce side padding on content-heavy inner pages. */
  .page-head{
    padding:1.25rem 1.05rem!important;
  }
  .page-section{
    padding:1.1rem 1.05rem 1.8rem!important;
  }
}


/* Avoid flashing a stale or empty visitor count before Busuanzi responds. */
.visitor-count-loading{
  visibility:hidden;
}


/* Mobile hero composition v2 — integrate CTA and portrait into one bottom row */
@media(max-width:768px){
  .hero-columns{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 132px;
    column-gap:1rem;
    row-gap:0;
    align-items:end!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Let the text elements participate directly in the mobile grid. */
  .hero-columns > .column:first-child{
    display:contents!important;
  }
  .hero-kicker,
  .hero-title,
  .hero-subtitle,
  .hero-copy{
    grid-column:1 / -1;
  }
  .hero-title{grid-row:1}
  .hero-subtitle{grid-row:2}
  .hero-kicker{grid-row:3}
  .hero-copy{grid-row:4}

  /* CTA + portrait form one visual unit at the bottom of the hero. */
  .profile-hero .buttons{
    grid-column:1;
    grid-row:5;
    align-self:center;
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    gap:.48rem!important;
    width:min(100%,150px);
    margin:1rem 0 0!important;
  }
  .profile-hero .button{
    width:100%;
    margin:0!important;
    justify-content:center;
  }

  .hero-columns > .column:last-child{
    grid-column:2;
    grid-row:5;
    align-self:end;
    padding:0!important;
    min-width:0;
  }
  .profile-tech-frame{
    width:132px!important;
    margin:.85rem 0 0 auto!important;
  }
  .profile-tech-frame:before{
    inset:-7px 14px 14px -7px;
  }
  .profile-tech-frame:after{
    right:-8px;
    bottom:-8px;
    width:44px;
    height:44px;
  }
}

@media(max-width:380px){
  .hero-columns{
    grid-template-columns:minmax(0,1fr) 120px;
    column-gap:.8rem;
  }
  .profile-tech-frame{
    width:120px!important;
  }
  .profile-hero .buttons{
    width:min(100%,138px);
  }
}


/* Mobile application card — stack cleanly instead of squeezing three desktop columns */
@media(max-width:768px){
  .biomedical-box{
    padding:1rem 1.05rem 1.02rem!important;
  }
  .biomedical-box .title{
    margin-bottom:.72rem!important;
    font-size:1.28rem!important;
  }
  .application-rail{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:.68rem!important;
  }
  .application-item,
  .application-item:first-child,
  .application-item:last-child{
    padding:0!important;
    border:0!important;
  }
  .application-item + .application-item{
    border-left:0!important;
    border-top:0!important;
  }
  .application-item h3{
    margin:0 0 .12rem!important;
    font-size:.94rem!important;
    line-height:1.22!important;
    white-space:nowrap;
  }
  .application-item p{
    font-size:.76rem!important;
    line-height:1.32!important;
  }
}

/* Teaching is organized by course, with repeat offerings in the second column. */
.teaching-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.84rem}
.teaching-table th,.teaching-table td{padding:.65rem .6rem .65rem 0;text-align:left;vertical-align:top;border-bottom:1px solid #edf1f3;overflow-wrap:break-word}
.teaching-table thead th{color:var(--primary);font-weight:700}
.teaching-table th:first-child{width:60%}
.teaching-table tbody th{font-weight:600}
.teaching-table td{color:var(--muted);padding-right:0}
.teaching-table tbody tr:last-child th,.teaching-table tbody tr:last-child td{border-bottom:0}
