:root{--navy:#0b2339;--blue:#164e63;--teal:#0f8b8d;--mint:#dff5f2;--ink:#152536;--muted:#607284;--line:#d8e2e8;--bg:#f7fafb;--white:#fff;--gold:#e9b949}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font:16px/1.7 Inter,Segoe UI,Arial,sans-serif}a{color:var(--teal)}.shell{max-width:1180px;margin:auto;padding-left:24px;padding-right:24px}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.navwrap{max-width:1320px;margin:auto;padding:13px 22px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;color:var(--navy);font-weight:850;text-decoration:none;white-space:nowrap}.mark{display:grid;place-items:center;width:34px;height:34px;background:var(--teal);color:white;border-radius:10px}.nav{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-left:auto}.nav a{color:#31475a;text-decoration:none;font-size:14px;font-weight:650}.nav a:hover{color:var(--teal)}.menu-button{display:none;margin-left:auto}.hero{background:#fff;padding:85px 0}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:55px;align-items:center}.kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--teal);font-size:12px;font-weight:850;margin:0 0 12px}.hero h1{font-size:clamp(42px,6vw,75px);line-height:1.04;letter-spacing:-.045em;margin:0 0 24px;color:var(--navy)}.hero h1 span{color:var(--teal)}.lede{font-size:19px;color:var(--muted);max-width:760px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;padding:12px 20px;border-radius:9px;background:var(--teal);color:#fff;text-decoration:none;font-weight:750;border:1px solid var(--teal)}.btn.ghost{background:transparent;color:var(--teal)}.btn.light{background:#fff;color:var(--navy);border-color:#fff}.btn.outline-light{background:transparent;color:#fff;border-color:#fff}.hero-art{height:430px;position:relative;border-radius:28px;background:radial-gradient(circle at center,#55c5c4 0 19%,#e0f6f4 20% 42%,#f3fbfa 43%);overflow:hidden}.orb{position:absolute;width:130px;height:130px;border-radius:50%;background:var(--navy);top:150px;left:calc(50% - 65px);box-shadow:0 0 0 25px rgba(15,139,141,.15)}.node{position:absolute;background:white;border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-weight:750;box-shadow:0 8px 22px rgba(11,35,57,.1)}.n1{top:45px;left:30px}.n2{top:70px;right:25px}.n3{bottom:55px;left:28px}.n4{bottom:40px;right:35px}.section{padding-top:80px;padding-bottom:80px}.section-title{max-width:760px;margin-bottom:30px}.section-title h2,.dark h2,.cta h2{font-size:clamp(30px,4vw,48px);line-height:1.12;color:var(--navy);margin:0 0 12px;letter-spacing:-.025em}.section-title p{color:var(--muted)}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.theme-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:white;box-shadow:0 8px 30px rgba(22,78,99,.06)}.visual{height:120px;background:linear-gradient(135deg,var(--navy),var(--teal));display:grid;place-items:center;color:white}.visual span{font-size:70px;font-weight:900;opacity:.25}.card-body{padding:24px}.card-body small,.tiny-label{color:var(--teal);font-weight:850;letter-spacing:.08em}.card-body h3{font-size:23px;color:var(--navy);line-height:1.25}.tags{font-size:13px;color:var(--muted)}.soft{background:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-grid article{background:white;border:1px solid var(--line);border-radius:16px;padding:28px}.project-grid h3{color:var(--navy);font-size:22px}.center{text-align:center;margin-top:32px}.featured-pubs details{border-top:1px solid var(--line);padding:19px 0}.featured-pubs summary{cursor:pointer;color:var(--navy);font-size:19px;font-weight:750}.dark{background:#fff;color:var(--ink)}.dark h2{color:var(--navy)}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service-list span{border:1px solid var(--line);border-radius:8px;padding:13px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px}.team-snapshot,.person{display:flex;align-items:center;gap:18px}.avatar{width:78px;height:78px;border-radius:50%;background:var(--teal);color:white;display:grid;place-items:center;font-weight:900;font-size:22px}.news-list article{display:grid;grid-template-columns:80px 1fr;border-top:1px solid var(--line)}.text-link{display:inline-block;margin-top:20px;font-weight:750}.cta{padding:80px 0;background:linear-gradient(135deg,var(--teal),#0b5968);color:white;text-align:center}.cta h2{color:white}.cta p{max-width:760px;margin:auto}.cta .actions{justify-content:center}footer{background:#071b2c;color:#b9cbd6;padding:55px 0}.footer-grid{max-width:1180px;margin:auto;padding:0 24px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-grid div{display:flex;flex-direction:column;gap:8px}.footer-grid a{color:#d7eaee;text-decoration:none}.page{padding-top:60px;padding-bottom:90px}.page-head{border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:35px}.page-head h1{font-size:clamp(38px,6vw,65px);line-height:1;color:var(--navy);margin:0}.prose{width:100%; max-width:none}.prose h2{color:var(--navy);font-size:30px;margin-top:45px}.prose h3{color:var(--blue);font-size:22px}.research-intro{font-size:25px;line-height:1.35;color:var(--navy);padding:30px;border-left:5px solid var(--teal);background:var(--mint);margin-bottom:50px}.research-theme{display:grid;grid-template-columns:.85fr 1.4fr;gap:35px;align-items:start;margin:55px 0}.research-theme.reverse .research-photo{order:2}.photo-placeholder,.member-placeholder{min-height:300px;border:2px dashed #a8c4cb;background:linear-gradient(135deg,#eff8f7,#d9efed);border-radius:16px;display:grid;place-items:center;text-align:center;color:#55717d;padding:18px}.paper-card{background:white;border:1px solid var(--line);border-radius:12px;margin:12px 0;overflow:hidden}.paper-card>summary{cursor:pointer;padding:18px 50px 18px 20px;position:relative;list-style:none}.paper-card>summary:after{content:'+';position:absolute;right:20px;top:17px;font-size:22px;color:var(--teal)}.paper-card[open]>summary:after{content:'−'}.paper-id{display:inline-block;margin-right:10px;color:var(--teal);font-weight:850}.paper-title{display:block;font-weight:800;color:var(--navy)}.paper-meta{display:block;color:var(--muted);font-size:14px;margin-top:4px}.paper-body{padding:20px;border-top:1px solid var(--line)}.paper-figure{min-height:180px;border:2px dashed #b9cdd2;border-radius:10px;background:#f1f7f7;padding:20px}.paper-figure.image-missing img{display:none}.paper-figure figcaption{color:var(--muted)}.paper-figure:not(.image-missing) figcaption{display:none}.paper-figure img{max-width:100%}.paper-actions{display:flex;gap:10px}.pdf-viewer{width:100%;height:70vh;margin-top:15px}.notice{padding:18px;background:#fff7dc;border-left:4px solid var(--gold);border-radius:5px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.member-placeholder{min-height:210px}.prose .person{padding:20px;border:1px solid var(--line);border-radius:12px}
@media(max-width:950px){.nav{display:none;position:absolute;top:61px;left:0;right:0;background:white;padding:20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-button{display:block}.hero-grid,.split,.two-col{grid-template-columns:1fr}.hero-art{height:300px}.theme-grid,.project-grid{grid-template-columns:1fr 1fr}.research-theme{grid-template-columns:1fr}.research-theme.reverse .research-photo{order:initial}.team-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.theme-grid,.project-grid,.team-grid,.service-list,.footer-grid{grid-template-columns:1fr}.hero{padding:55px 0}.section{padding-top:55px;padding-bottom:55px}.hero h1{font-size:43px}.hero-art{height:260px}.navwrap{padding:12px 16px}.shell{padding-left:18px;padding-right:18px}}

/* Refined homepage hero */
.lab-identity{display:flex;flex-direction:column;gap:2px;margin-bottom:22px;color:var(--navy)}
.lab-identity strong{font-size:22px;letter-spacing:.02em}
.lab-identity span{color:var(--teal);font-size:13px;font-weight:750;letter-spacing:.075em;text-transform:uppercase}
.hero h1{max-width:800px;font-size:clamp(40px,5.15vw,67px)}
.hero-domain{font-size:clamp(22px,2.6vw,34px);line-height:1.2;color:var(--blue);font-weight:650;margin:-6px 0 23px;max-width:750px}
.hero .lede{max-width:680px;font-size:18px;line-height:1.65}
.hero-secondary{display:inline-flex;align-items:center;padding:12px 8px;color:var(--teal);font-weight:750;text-decoration:none}
.hero-secondary:hover{text-decoration:underline}
.theme-orbit{background:radial-gradient(circle at center,#effaf9 0 28%,#dff5f2 29% 48%,#f8fcfc 49%);border:1px solid #d6ece9}
.theme-orbit:before,.theme-orbit:after{content:"";position:absolute;border:1px solid rgba(15,139,141,.28);border-radius:50%;inset:70px}
.theme-orbit:after{inset:115px;border-color:rgba(11,35,57,.18)}
.orbit-core{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;background:var(--navy);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 14px 35px rgba(11,35,57,.24)}
.orbit-core strong{font-size:21px;letter-spacing:.04em}.orbit-core span{font-size:11px;color:#cce4e7;margin-top:5px}
.theme-node{position:absolute;z-index:3;background:white;border:1px solid #cde2e5;border-radius:13px;padding:10px 13px;color:var(--navy);font-size:13px;font-weight:780;line-height:1.25;text-align:center;box-shadow:0 8px 24px rgba(11,35,57,.11);max-width:175px}
.tn1{top:28px;left:25px}.tn2{top:38px;right:20px}.tn3{bottom:34px;left:18px}.tn4{bottom:27px;right:18px}
@media(max-width:950px){.theme-orbit{max-width:600px;width:100%;margin:auto}.hero .lede{max-width:760px}}
@media(max-width:650px){.lab-identity strong{font-size:20px}.lab-identity span{font-size:11px}.hero h1{font-size:41px}.hero-domain{font-size:24px}.theme-node{font-size:11px;max-width:145px;padding:8px}.orbit-core{width:115px;height:115px}.orbit-core strong{font-size:17px}.theme-orbit:before{inset:45px}.theme-orbit:after{inset:82px}.tn1{top:18px;left:8px}.tn2{top:24px;right:7px}.tn3{bottom:20px;left:7px}.tn4{bottom:16px;right:7px}}

/* Lab-name-first hero hierarchy */
.hero .lab-identity{margin-bottom:30px}
.hero .lab-title{font-size:clamp(58px,7.4vw,96px);line-height:.94;letter-spacing:-.05em;color:var(--navy);margin:0 0 15px;max-width:none}
.hero .lab-full-name{font-size:clamp(18px,2vw,27px);line-height:1.28;color:var(--teal);font-weight:780;max-width:760px;margin:0}
.hero .research-headline{font-size:1.8rem;line-height:1.12;letter-spacing:-.025em;color:var(--navy);margin:0 0 9px;max-width:780px}
.hero .hero-domain{font-size:clamp(20px,2vw,28px);margin:0 0 24px;color:var(--blue);font-weight:600}
.hero .lede{font-size:17px;max-width:650px}
@media(max-width:650px){.hero .lab-title{font-size:58px}.hero .lab-full-name{font-size:18px}.hero .research-headline{font-size:30px}.hero .hero-domain{font-size:21px}}
/* Keep footer at the bottom on short pages */
html,
body {
  min-height: 100%;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1 0 auto;
}

footer {
  flex-shrink: 0;
}


/* Principal Investigator profile */

.pi-profile {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 3rem;
  align-items: start;
  margin-top: 2rem;
  margin-bottom: 3rem;
}

.pi-introduction h2 {
  margin-top: 0;
}

.pi-photo {
  position: sticky;
  top: 100px;
}

.pi-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 80% top;
  border-radius: 16px;
  border: 1px solid #d8e2e8;
  box-shadow: 0 12px 32px rgba(11, 35, 57, 0.14);
}

@media (max-width: 800px) {
  .pi-profile {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .pi-photo {
    position: static;
    grid-row: 1;
    width: 100%;
    max-width: 300px;
  }

  .pi-introduction {
    grid-row: 2;
  }
}


/* ================================
   Research page
   ================================ */

.research-intro {
  max-width: 1050px;
  margin: 20px auto 65px auto;
  text-align: center;
  font-size: 1.35rem;
  line-height: 1.6;
  color: #0b2d4d;
}


/* Each research section */
.research-theme {
  display: flow-root;
  margin: 0 auto 95px auto;
  max-width: 1400px;
}


/* Figure on left by default */
.research-photo {
  float: left;
  width: 49%;
  margin: 5px 48px 22px 0;
}


/* Figure on right for alternating sections */
.research-theme.reverse .research-photo {
  float: right;
  margin: 5px 0 22px 48px;
}


/* Figure styling */
.research-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}


/* Section title */
.research-theme h2 {
  margin-top: 0;
  margin-bottom: 24px;
  padding-top: 0;
  font-size: 2rem;
  line-height: 1.3;
  color: #082b4c;
}


/* Main description */
.research-theme p {
  font-size: 1.08rem;
  line-height: 1.75;
  margin-top: 0;
}


/* Mobile / smaller screens */
@media (max-width: 900px) {

  .research-photo,
  .research-theme.reverse .research-photo {
    float: none;
    width: 100%;
    margin: 0 0 28px 0;
  }

  .research-theme {
    margin-bottom: 70px;
  }

  .research-theme h2 {
    font-size: 1.65rem;
  }

  .research-theme p {
    font-size: 1rem;
  }

  .research-intro {
    font-size: 1.15rem;
    margin-bottom: 45px;
  }
}

/* Make shell wider */
.shell {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* Give image MORE column space — 40/60 split */
.hero-grid {
  display: grid;
  grid-template-columns: 40% 60%;   /* ← image gets 60% */
  gap: 2rem;
  align-items: center;
}

/* Remove ALL constraints from container */
.hero-art {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: auto !important;
  align-self: center;
}

/* Force image to fill column */
.hero-image {
  width: 100% !important;
  max-width: none !important;   /* ← removes ALL size caps */
  height: auto;
  display: block;
  border-radius: 8px;
}

/* =================================
   Work with A-SMART Lab section
   ================================= */

.dark {
  background: #ffffff;
  color: var(--ink);
}

.dark h2 {
  color: var(--navy);
}

.dark .kicker {
  color: var(--teal);
}

.dark p {
  color: var(--muted);
}

/* Service boxes */
.dark .service-list span {
  background: #ffffff;
  border: 1px solid #d8e7e7;
  color: var(--navy);
  box-shadow: 0 4px 14px rgba(11, 35, 57, 0.05);
}

/* Homepage research section heading */
.section-title {
  max-width: 1100px;
}

.section-title h2 {
  white-space: nowrap;
}

@media (max-width: 900px) {
  .section-title h2 {
    white-space: normal;
  }
}

/* Explore Services button */
.dark .btn.light {
  background: var(--teal);
  color: #ffffff;
  border-color: var(--teal);
}

.dark .btn.light:hover {
  background: #0c7476;
  border-color: #0c7476;
}


/* =================================
   Homepage hero refinements
   ================================= */

.hero .lab-title {
  font-size: clamp(48px, 5.4vw, 78px);
  line-height: 1;
  white-space: nowrap;
  color: var(--navy);
}

.hero .lede {
  color: #111111;
}

.hero .lede strong {
  color: #111111;
  font-weight: 700;
}

@media (max-width: 650px) {
  .hero .lab-title {
    font-size: 48px;
    white-space: normal;
  }
}

/* Homepage hero body text */
.hero .lede {
  color: #222222;
  font-weight: 400;
  line-height: 1.7;
  font-size: 17px;
}

.hero .lede strong {
  color: #111111;
  font-weight: 700;
}

.hero .lede {
  color: #222222;
  font-size: 17px;
  line-height: 1.7;
  font-weight: 400;
}

.hero .lede strong {
  color: #111111;
  font-weight: 700;
}

.hero .actions {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 30px;
}

.hero-secondary {
  font-size: 18px;
  font-weight: 700;
}

/* Homepage research section heading */
.section-title {
  max-width: 1100px;
}

.section-title h2 {
  white-space: nowrap;
}

@media (max-width: 900px) {
  .section-title h2 {
    white-space: normal;
  }
}

.footer-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

.footer-disclaimer {
  margin-top: 22px;
  padding-top: 15px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 0.78rem;
  line-height: 1.5;
  opacity: 0.7;
}
