:root {
  --steel-blue-2: #2e80b6;
  --black: #192024;
  --white-smoke-2: #f0f0f0;
  --silver: #bec3c7;
  --white-smoke-3: #edeff2;
  --steel-blue: #3b99d9;
  --dark-khaki: #a8d069;
  --medium-sea-green: #30ad64;
  --light-sea-green: #25ccbf;
  --light-sea-green-2: #20ac99;
  --sandy-brown: #f8c740;
  --goldenrod: #e2a62b;
  --khaki: #face6a;
  --sandy-brown-2: #e4b962;
  --salmon: #fd7072;
  --indian-red: #cf404d;
  --tan: #d39f9a;
  --dim-gray: #735260;
  --indian-red-2: #af4173;
  --brown: #822e50;
  --tomato: #e64c40;
  --firebrick: #bf3a30;
  --salmon-2: #fc7d64;
  --white-smoke: #ecf0f1;
  --dim-gray-2: #49647b;
  --dark-slate-gray: #2d3e4f;
  --dark-slate-gray-2: #404047;
  --cadet-blue: #668cad;
  --pale-turquoise: #bfe0ff;
  --light-sky-blue: #69b9ff;
  --dodger-blue: #2e9dff;
  --dim-gray-3: #676770;
  --light-slate-gray: #8e8e9c;
}

.w-layout-layout {
  grid-row-gap: 20px;
  grid-column-gap: 20px;
  grid-auto-columns: 1fr;
  justify-content: center;
  padding: 20px;
}

.w-layout-cell {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

h1 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 38px;
  font-weight: 700;
  line-height: 44px;
}

h2 {
  color: #676770;
  text-align: center;
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 32px;
  font-weight: 300;
  line-height: 36px;
}

h3 {
  color: #676770;
  letter-spacing: 7px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 20px;
  font-weight: 300;
  line-height: 30px;
}

h4 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
}

h5 {
  color: #676770;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: 300;
  line-height: 20px;
}

h6 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
}

p {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 300;
  line-height: 25px;
}

a {
  text-decoration: underline;
}

.button {
  color: #fff;
  text-align: center;
  letter-spacing: 2px;
  text-transform: uppercase;
  background-color: #69b9ff;
  border-radius: 4px;
  margin-left: 10px;
  margin-right: 10px;
  padding: 12px 30px;
  font-size: 16px;
  font-weight: 300;
  line-height: 21px;
  text-decoration: none;
  transition: background-color .3s;
  display: inline-block;
}

.button:hover {
  background-color: #2e9dff;
}

.button.w--current {
  background-color: #2e80b6;
}

.button.full-width {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  display: block;
}

.button.tab {
  background-color: #92a0ad;
  margin-left: 8px;
  margin-right: 8px;
}

.button.tab:hover, .button.tab.w--current {
  background-color: #2e80b6;
}

.navigation-link {
  color: #676770;
  transition: all .3s ease-in-out;
}

.navigation-link:hover {
  color: #2e9dff;
}

.navigation-bar {
  background-color: #fff;
}

.brand-text {
  color: #69b9ff;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Open Sans, sans-serif;
  font-size: 25px;
  font-weight: 300;
  line-height: 25px;
}

.brand-link {
  padding-top: 16px;
  padding-bottom: 16px;
}

.section {
  text-align: center;
  background-color: #fff;
  margin-bottom: 0;
  padding: 10px;
  display: block;
  position: relative;
}

.section.accent {
  background-color: #192024;
}

.white-box {
  text-align: center;
  background-color: #fff;
  border: 1px solid #dcebf7;
  border-radius: 5px;
  padding: 15px;
}

.white-box.transparent {
  background-color: #0000;
  border-style: none;
}

.hero-section {
  opacity: 1;
  margin-bottom: 0;
  padding-top: 300px;
  padding-bottom: 300px;
}

.hero-section.home {
  background-color: #0000;
  background-image: url('../images/shutterstock_1108335812-1.jpg'), linear-gradient(to bottom, var(--steel-blue-2), white);
  color: var(--steel-blue-2);
  text-align: center;
  background-position: 0 0, 0 0;
  background-size: cover, auto;
  border-bottom: 4px solid #69b9ff;
  padding-top: 195px;
  padding-bottom: 195px;
}

.hero-section.research {
  background-image: url('../images/GC-PIC.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.hero-section.team {
  object-fit: fill;
  background-image: url('../images/Lab-photo.png');
  background-position: 0 0;
  background-size: cover;
  margin-right: 0;
  position: relative;
}

.hero-section.publications {
  background-image: url('../images/shutterstock_1273437736.jpg');
  background-position: 0 0;
  background-size: cover;
}

.hero-section.contact {
  background-image: url('../images/05040_00_N14_web.jpg');
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: cover;
}

.hero-heading {
  color: #fff;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-bottom: 30px;
  font-size: 60px;
  font-weight: 300;
  line-height: 60px;
}

.hero-subheading {
  color: var(--black);
  text-align: center;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-top: 10px;
  margin-bottom: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  font-family: Times New Roman, TimesNewRoman, Times, Baskerville, Georgia, serif;
  font-size: 25px;
  font-weight: 600;
  line-height: 25px;
}

.hollow-button {
  color: #fff;
  letter-spacing: 2px;
  text-transform: uppercase;
  border: 1px solid #fff;
  border-radius: 4px;
  margin-left: 10px;
  margin-right: 10px;
  padding: 10px 30px;
  font-weight: 300;
  line-height: 21px;
  text-decoration: none;
  transition: background-color .3s, border .3s, color .3s;
  display: inline-block;
}

.hollow-button:hover {
  color: #2e9dff;
  border-color: #2e9dff;
}

.hollow-button.all-caps {
  color: var(--white-smoke-2);
  text-transform: uppercase;
  border-width: 2px;
  font-weight: 400;
  transition: background-color .3s, border .3s, color .3s;
}

.section-heading {
  margin-top: 0;
  margin-bottom: 16px;
}

.section-heading.centered {
  color: #676770;
  text-align: center;
  letter-spacing: 5px;
  text-transform: uppercase;
  border-bottom: 1px solid #000;
  margin-bottom: 0;
  padding-bottom: 10px;
  font-size: 30px;
  font-weight: 300;
}

.section-heading.centered.white {
  color: #fff;
}

.section-heading.centered.members {
  font-size: 22px;
}

.section-subheading.center {
  color: #8e8e9c;
  text-align: center;
  letter-spacing: 3px;
  text-transform: uppercase;
  border-bottom: 1px solid #000;
  padding-bottom: 10px;
  font-size: 18px;
  font-weight: 300;
}

.section-subheading.center.off-white {
  color: #e8e8e8;
  padding-bottom: 0;
}

.section-title-group {
  margin-bottom: 60px;
}

.form-field {
  border: 0 solid #000;
  border-radius: 3px;
  height: 45px;
  margin-bottom: 17px;
  box-shadow: 0 0 0 1px #4040474d;
}

.form-field.text-area {
  height: 110px;
}

.footer {
  border-top: 1px solid var(--steel-blue-2);
  background-color: var(--silver);
  padding-top: 35px;
  padding-bottom: 35px;
}

.footer.center {
  text-align: center;
  background-color: #383838;
  border-top: 1px solid #dbdbdb;
}

.footer-text {
  color: #9e9e9e;
  margin-top: 5px;
  margin-bottom: 5px;
  font-size: 16px;
}

.grid-image {
  background-color: #69b9ff;
  border: 10px solid #fff;
  border-radius: 50%;
  width: 35%;
  margin: 20px auto;
  padding: 20px;
  display: block;
  box-shadow: 0 0 0 1px #2e9dff;
}

.info-icon {
  float: left;
}

.footer-link {
  color: #668cad;
  border-bottom: 1px solid #d5d5e0;
  margin-bottom: 6px;
  padding-bottom: 10px;
  font-size: 14px;
  font-weight: 300;
  text-decoration: none;
  display: block;
}

.footer-link:hover {
  color: #008cffd6;
}

.footer-link.with-icon {
  margin-left: 30px;
}

.tab-menu {
  text-align: center;
  margin-bottom: 40px;
}

.tabs-wrapper {
  text-align: center;
}

.fullwidth-image {
  object-fit: contain;
  width: 100%;
  margin-bottom: 10px;
  position: static;
}

.white-text {
  color: #fff;
  margin-bottom: 20px;
}

.form {
  margin-top: 40px;
}

.paragraph {
  text-align: center;
}

.heading {
  font-size: 22px;
}

.image {
  padding-bottom: 0;
}

.heading-6 {
  color: var(--white-smoke-2);
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  font-family: Montserrat, sans-serif;
  font-size: 76px;
  font-weight: 600;
}

.heading-7 {
  color: var(--white-smoke-2);
  text-align: center;
  font-size: 64px;
  font-weight: 400;
}

.heading-8 {
  border-top: 1px solid #000;
}

.heading-9 {
  border-top: 1px solid #000;
  padding-top: 10px;
  padding-bottom: 10px;
}

.text-block {
  text-align: center;
  object-fit: fill;
}

.text-block-2 {
  padding-bottom: 10px;
}

.heading-10 {
  border: 1px #000;
  padding-top: 10px;
}

.heading-11 {
  color: #2e62ff;
  text-align: center;
  margin-bottom: 131px;
  font-size: 76px;
  font-weight: 600;
  display: block;
}

.heading-12 {
  text-align: center;
  border-top: 1px solid #000;
  border-bottom: 1px #000;
  margin-top: 0;
  padding-top: 10px;
  padding-left: 0;
}

.heading-12.lectures {
  text-align: center;
  border: 1px #000;
  padding-left: 0;
}

.heading-12.abstract {
  border-top-style: none;
  margin-top: 0;
}

.heading-12.first {
  text-align: center;
  border-top-style: none;
  padding-left: 0;
}

.text-block-3 {
  text-align: center;
  padding: 20px;
  font-style: normal;
  font-weight: 400;
}

.heading-13 {
  text-align: center;
  font-weight: 400;
}

.heading-14 {
  text-align: center;
  border-top: 1px solid #000;
  margin-top: 0;
  padding-top: 10px;
  padding-left: 0;
}

.heading-15 {
  text-align: center;
  border-top: 1px solid #000;
  padding-top: 10px;
  padding-left: 0;
}

.heading-16 {
  text-align: center;
  padding: 10px 0 0;
}

.heading-17 {
  color: var(--white-smoke-2);
  text-align: center;
  font-size: 76px;
  font-weight: 600;
}

.heading-18 {
  color: var(--steel-blue-2);
  text-align: center;
  margin-bottom: -186px;
  padding-bottom: 40px;
  font-size: 66px;
  font-weight: 700;
}

.heading-19 {
  text-align: center;
  margin-top: 30px;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 46px;
  font-weight: 600;
}

.bold-text {
  text-align: center;
  text-transform: none;
  white-space: normal;
  padding: 0;
  font-weight: 400;
}

.paragraph-2 {
  text-align: left;
  margin-top: 0;
  margin-bottom: 60px;
  padding: 10px 60px;
  font-family: Open Sans, sans-serif;
  font-size: 30px;
  font-weight: 400;
}

.cards-section {
  border-bottom: 1px solid #000;
  padding-top: 20px;
  padding-bottom: 60px;
}

.centered-container {
  text-align: center;
  flex: 1;
}

.cards-grid-container {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  text-align: left;
  grid-template: ". ."
                 ". ."
                 ". Area"
                 / 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  padding-top: 50px;
  padding-left: 0;
  display: grid;
}

.cards-grid-container.pet_cards {
  grid-template-columns: 1fr;
  padding-left: 0;
  padding-right: 0;
  display: inline-block;
}

.cards-grid-container.laura_pic {
  grid-template-columns: 1fr 1fr;
}

.cards-grid-container.volunteer_container {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  object-fit: fill;
  grid-template-rows: minmax(auto, 2.25fr);
  grid-template-columns: repeat(auto-fit, minmax(200px, .5fr)) 302px;
  grid-auto-columns: 1fr;
  place-items: stretch stretch;
  display: grid;
  position: static;
}

.cards-grid-container.vol_container {
  float: none;
  clear: right;
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  text-align: center;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  max-width: 300px;
  padding-left: 0;
  display: grid;
  overflow: visible;
}

.cards-grid-container.rotation_students {
  grid-template-rows: auto auto;
}

.cards-image-mask {
  border-radius: 100%;
  width: 100%;
  padding-top: 100%;
  padding-bottom: 0;
  position: relative;
  overflow: hidden;
}

.cards-image {
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 20px;
  width: 100%;
  max-width: none;
  height: 100%;
  padding-bottom: 0;
  position: absolute;
  top: 0%;
  left: auto;
  right: 0%;
}

.cards-image.joe_pic {
  object-fit: cover;
  height: 135%;
}

.cards-image.jonny_pic {
  aspect-ratio: auto;
  object-fit: cover;
  height: 103%;
  padding-top: 0;
}

.cards-image.nina_pic {
  height: 140%;
  top: -20%;
}

.cards-image.laura_pic {
  object-fit: cover;
  border-radius: 0;
  width: 100%;
  height: 130%;
  overflow: visible;
}

.cards-image.kaity_img {
  height: 130%;
}

.cards-image.leena_img {
  height: 110%;
}

.cards-image.jula_pic {
  aspect-ratio: 2;
  vertical-align: baseline;
  object-fit: cover;
  width: 100%;
  height: 100%;
  min-height: 100px;
  padding-right: 0;
  overflow: visible;
}

.cards-image.austin_pic {
  width: 100%;
  height: 140%;
  top: -5%;
}

.heading-20 {
  margin-bottom: 10px;
  padding-bottom: 0;
}

.heading-21 {
  padding-top: 20px;
}

.gallery {
  padding-top: 100px;
  padding-bottom: 100px;
}

.gallery-grid-container {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template: "."
                 "."
                 / 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-self: center;
  margin-top: 40px;
  display: grid;
}

.gallery-lightbox {
  position: relative;
  overflow: hidden;
}

.gallery-thumbnail {
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  height: 100%;
}

.heading-22, .heading-23, .heading-24, .paragraph-3, .heading-25, .heading-26, .heading-27, .paragraph-4, .heading-28, .heading-29, .paragraph-5, .heading-30, .heading-31, .paragraph-6, .heading-32, .heading-33, .heading-34, .heading-35, .heading-36, .heading-37, .paragraph-7, .paragraph-8, .paragraph-9, .heading-38, .heading-39, .heading-40 {
  text-align: center;
}

.heading-41 {
  text-align: center;
  padding-top: 0;
}

.paragraph-10 {
  text-align: center;
}

.contact-form {
  padding-top: 50px;
  padding-bottom: 75px;
}

.contact-form-grid {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-top: 40px;
  display: grid;
}

.footer-2 {
  text-align: center;
  align-items: flex-start;
  padding-top: 60px;
  padding-bottom: 40px;
}

.footer-flex-container {
  text-align: left;
  justify-content: space-between;
  margin-bottom: 40px;
  display: flex;
}

.footer-logo-link {
  flex: 0 auto;
  min-width: 60px;
  max-height: 60px;
}

.footer-image {
  object-fit: contain;
  object-position: 0% 50%;
  width: 100%;
  height: 100%;
}

.footer-heading {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.5;
}

.footer-link-2 {
  color: #444;
  margin-bottom: 10px;
  text-decoration: none;
  display: block;
}

.footer-link-2:hover {
  text-decoration: underline;
}

.button-2 {
  text-align: center;
  object-fit: fill;
  display: block;
  overflow: visible;
}

.button-2.hollow-button {
  background-color: #0000;
  border-width: 2px;
  border-radius: 20px;
  margin-left: 275px;
  margin-right: 275px;
  padding-left: 0;
  padding-right: 0;
  display: block;
}

.container {
  text-align: center;
  display: block;
}

.div-block-3 {
  color: #0000;
}

.heading-42 {
  text-align: center;
  margin-top: 30px;
}

.paragraph-11 {
  font-size: 28px;
}

.paragraph-12 {
  text-align: center;
  margin-top: 30px;
  margin-bottom: 30px;
  font-size: 28px;
  line-height: 30px;
}

.heading-43 {
  text-align: center;
  border-top: 1px solid #000;
  margin-bottom: 20px;
  padding-top: 50px;
}

.list-item, .list-item-2, .list-item-3, .list-item-4 {
  padding-bottom: 15px;
  font-size: 24px;
  line-height: 30px;
}

.heading-44 {
  font-size: 28px;
}

.heading-45 {
  font-size: 24px;
}

.list {
  margin-bottom: 40px;
}

.button-3 {
  border: 2px solid var(--white-smoke-3);
  color: var(--white-smoke-3);
  text-align: left;
  background-color: #0000;
  border-radius: 18px;
  font-weight: 600;
  display: inline-block;
}

.button-3:hover {
  color: #fff;
  mix-blend-mode: normal;
  font-weight: 700;
}

.button-3.research_page {
  border-color: var(--steel-blue-2);
  color: var(--steel-blue-2);
}

.button-3.publications_button {
  border-color: var(--steel-blue);
  color: var(--steel-blue);
}

.container-2 {
  text-align: center;
}

.hero-overlay {
  color: #fff;
  background-image: linear-gradient(#0009, #0009), url('../images/shutterstock_1775016134-1.jpg');
  background-position: 0 0, 50%;
  background-size: auto, cover;
  justify-content: center;
  align-items: center;
  height: 90vh;
  max-height: 780px;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
}

.heading-46 {
  font-weight: 400;
}

.container-3 {
  text-align: center;
  border: 1px solid #0000;
  margin-bottom: 0;
  padding-bottom: 30px;
}

.section-2 {
  background-image: linear-gradient(#fff, #fff);
}

.team-slider {
  background-color: #f5f7fa;
  border-bottom: 1px solid #e4ebf3;
  padding: 80px 30px;
  position: relative;
}

.container-4 {
  width: 100%;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.centered-heading {
  text-align: center;
  margin-bottom: 16px;
}

.centered-subheading {
  text-align: center;
  max-width: 530px;
  margin-left: auto;
  margin-right: auto;
}

.team-slider-wrapper {
  background-color: #0000;
  height: auto;
  margin-top: 50px;
}

.team-slide-wrapper {
  width: 30%;
  margin-right: 5%;
}

.team-block {
  background-color: #fff;
  padding-bottom: 24px;
}

.team-member-image-two {
  margin-bottom: 18px;
}

.team-block-info {
  flex-direction: column;
  align-items: flex-start;
  padding-left: 24px;
  padding-right: 24px;
  display: flex;
}

.team-member-name-two {
  margin-bottom: 12px;
  font-weight: 600;
}

.team-member-text {
  margin-bottom: 20px;
}

.text-link-arrow {
  color: #1a1b1f;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  line-height: 20px;
  text-decoration: none;
  display: flex;
}

.arrow-embed {
  margin-left: 2px;
  display: flex;
}

.team-slider-arrow {
  display: none;
}

.team-slider-nav {
  margin-top: 24px;
  font-size: 10px;
  position: static;
  bottom: -60px;
}

.utility-page-wrap {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex;
}

.utility-page-content {
  text-align: center;
  flex-direction: column;
  width: 260px;
  display: flex;
}

.utility-page-form {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.link {
  text-align: center;
}

.link-2 {
  float: none;
  clear: none;
  text-align: center;
  display: inline;
  position: static;
}

.link-copy, .link-3 {
  text-align: center;
}

.link-4 {
  float: none;
  clear: none;
  font-style: normal;
  text-decoration: underline;
}

.text-span {
  font-size: 52px;
}

.heading-47 {
  font-size: 44px;
  font-weight: 400;
}

.bold-text-2 {
  font-size: 44px;
}

.hero-overlay-our-lab {
  color: #fff;
  background-image: url('../images/Lab-Pic.jpg');
  background-position: -150px 0;
  background-size: 2016px;
  justify-content: center;
  align-items: center;
  height: 90vh;
  max-height: 780px;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
}

.image-2 {
  position: relative;
}

.text-block-4 {
  font-size: 24px;
}

.body {
  line-height: 24px;
}

.text-block-5, .image-3, .cell {
  font-size: 24px;
}

.quick-stack {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
}

.quick-stack-2 {
  background-image: url('../images/360_F_441182579_7uexqdyX4X2zeehFbg1ohiFTEpVp7b8L.jpg');
  background-position: 0%;
  background-size: auto;
}

.text-block-6 {
  margin-top: 45px;
}

.image-4 {
  width: auto;
}

.div-block-4 {
  aspect-ratio: 25;
  -webkit-text-fill-color: inherit;
  object-fit: cover;
  background-image: url('../images/360_F_441182579_7uexqdyX4X2zeehFbg1ohiFTEpVp7b8L.jpg'), url('../images/360_F_441182579_7uexqdyX4X2zeehFbg1ohiFTEpVp7b8L.jpg'), url('../images/360_F_441182579_7uexqdyX4X2zeehFbg1ohiFTEpVp7b8L.jpg');
  background-position: 50% 100%, 33%, 100%;
  background-size: contain, contain, contain;
  background-clip: padding-box;
  border: 1px solid #000;
  border-radius: 0;
  margin-bottom: -15px;
  padding-bottom: 200px;
  display: block;
  position: static;
}

.text-block-7 {
  font-size: 24px;
  font-weight: 800;
  line-height: 24px;
}

.text-block-8 {
  font-size: 20px;
}

.text-span-2 {
  color: #3608f1;
}

.paragraph-13 {
  text-align: center;
}

.paragraph-14, .paragraph-15 {
  font-size: 24px;
}

.image-5 {
  object-fit: scale-down;
}

.image-6 {
  font-size: 15px;
  line-height: 15px;
}

.cell-2 {
  background-image: url('../images/IMG_1850.jpg');
  background-position: 0 0;
  background-size: 450px 550px;
  background-attachment: fixed;
}

.cell-3 {
  background-image: url('../images/IMG_3010.jpg');
  background-position: 0 0;
  background-size: 450px 400px;
}

@media screen and (max-width: 991px) {
  .navigation-link {
    color: #ffffff85;
  }

  .navigation-link.w--current {
    color: #fff;
  }

  .hamburger-button.w--open, .navigation-menu {
    background-color: #3b99d9;
  }

  .hero-section.home {
    padding-top: 144px;
    padding-bottom: 144px;
  }

  .section-heading.centered {
    margin-top: 10px;
  }

  .section-subheading.center {
    padding-bottom: 13px;
  }

  .grid-image {
    width: 50%;
    padding: 15px;
  }

  .heading-6 {
    font-weight: 600;
  }

  .heading-9 {
    border-top: 1px solid #000;
    padding-top: 10px;
  }

  .div-block {
    font-size: 18px;
  }

  .text-block {
    text-align: center;
  }

  .text-block-2 {
    margin-bottom: 28px;
  }

  .heading-18 {
    font-weight: 400;
  }

  .cards-grid-container {
    grid-column-gap: 20px;
  }

  .gallery-grid-container {
    align-self: stretch;
  }

  .footer-2 {
    padding-left: 20px;
    padding-right: 20px;
  }

  .container-4 {
    max-width: 728px;
  }

  .team-slide-wrapper {
    width: 47%;
    margin-right: 6%;
  }
}

@media screen and (max-width: 767px) {
  .button.full-width {
    margin-left: auto;
    margin-right: auto;
  }

  .button.tab {
    font-size: 12px;
  }

  .section {
    padding-top: 0;
  }

  .white-box {
    margin-bottom: 30px;
  }

  .hero-section.home {
    padding-top: 119px;
    padding-bottom: 119px;
  }

  .hero-section.research {
    background-image: url('../images/439844287-huge.jpg');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
  }

  .hero-heading {
    margin-bottom: 15px;
    font-size: 50px;
  }

  .hero-subheading {
    font-size: 18px;
  }

  .hollow-button.all-caps {
    border-width: 1.5px;
  }

  .form-field.text-area {
    display: block;
  }

  .grid-image {
    width: 20%;
    padding: 20px;
  }

  .spc {
    margin-bottom: 30px;
  }

  .image {
    max-width: 90%;
  }

  .heading-6 {
    font-weight: 500;
  }

  .heading-11 {
    font-size: 68px;
  }

  .heading-17 {
    text-align: center;
    letter-spacing: normal;
    text-indent: 0;
    text-transform: none;
    column-count: auto;
    white-space: normal;
    margin-bottom: 0;
    font-weight: 400;
  }

  .heading-18 {
    font-size: 68px;
  }

  .cards-section {
    padding: 40px 20px;
  }

  .cards-grid-container {
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr;
    align-self: stretch;
    max-width: none;
  }

  .gallery {
    padding: 40px 20px;
  }

  .gallery-grid-container {
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr 1fr;
    max-width: none;
  }

  .contact-form, .footer-2 {
    padding: 40px 20px;
  }

  .footer-image {
    object-fit: contain;
  }

  .hero-overlay {
    padding: 40px 20px;
  }

  .container-3 {
    margin-bottom: 30px;
  }

  .team-slider {
    padding: 60px 15px;
  }

  .hero-overlay-our-lab {
    padding: 40px 20px;
  }
}

@media screen and (max-width: 479px) {
  .button {
    margin-bottom: 25px;
  }

  .hero-section.home {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .hero-section.team {
    -webkit-text-fill-color: inherit;
    object-fit: none;
    background-position: 50% 0;
    background-clip: border-box;
    top: auto;
    overflow: auto;
  }

  .section-subheading.center {
    line-height: 30px;
  }

  .grid-image {
    width: 35%;
  }

  .image {
    max-width: 90%;
  }

  .heading-6 {
    white-space: normal;
    object-fit: scale-down;
    padding-left: 20px;
    padding-right: 20px;
    font-family: Open Sans, sans-serif;
    font-size: 64px;
    font-weight: 400;
    overflow: visible;
  }

  .heading-7 {
    object-fit: scale-down;
  }

  .heading-11 {
    font-size: 52px;
  }

  .heading-17 {
    font-size: 60px;
  }

  .heading-18 {
    color: var(--white-smoke-2);
    text-align: left;
    font-size: 52px;
    font-weight: 400;
  }

  .centered-container {
    text-align: left;
  }

  .cards-grid-container {
    grid-template-columns: 1fr;
    margin-left: 0;
    margin-right: 0;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .gallery-grid-container {
    grid-template-rows: auto auto auto auto auto;
    grid-template-columns: 1fr;
    margin-left: 0;
    margin-right: 0;
  }

  .footer-2 {
    text-align: left;
    padding-left: 20px;
    padding-right: 20px;
  }

  .footer-flex-container {
    flex-direction: column;
  }

  .footer-logo-link {
    height: 60px;
  }

  .footer-heading {
    margin-top: 20px;
  }

  .container-4 {
    max-width: none;
  }

  .centered-heading {
    margin-bottom: 24px;
  }

  .team-slide-wrapper {
    width: 100%;
    margin-right: 0%;
  }

  .team-member-name-two {
    padding-left: 42px;
  }

  .mask {
    margin-bottom: 0;
  }

  .text-span {
    font-size: 44px;
    font-weight: 400;
  }
}

#w-node-_8dd8a496-a2e4-28fd-fe8b-cae33ca52884-49b708a2, #w-node-_5764256c-7a55-3158-463b-38c9f958cfdd-49b708a2 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_5c2aca29-9857-1535-b80a-7b828a956b15-8b63dd3a {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-a50713fc-7552-4187-c1d7-0c5f31654ba7-1c853276 {
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr 1fr 1fr;
}

@media screen and (max-width: 767px) {
  #w-node-_1b233504-dee4-435b-f486-3cf646d1961f-49b708a2, #w-node-_1b233504-dee4-435b-f486-3cf646d19621-49b708a2, #w-node-_1b233504-dee4-435b-f486-3cf646d19626-49b708a2 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #w-node-_1b233504-dee4-435b-f486-3cf646d19628-49b708a2 {
    grid-area: span 1 / span 1 / span 1 / span 1;
    align-self: start;
  }

  #w-node-_6d5696df-caa5-2cc8-0d89-83a050041516-49b708a2, #w-node-_6d5696df-caa5-2cc8-0d89-83a050041518-49b708a2, #w-node-f3e3c4af-3e43-ff2c-03f7-c9114a62c33e-49b708a2, #w-node-f3e3c4af-3e43-ff2c-03f7-c9114a62c342-49b708a2, #w-node-_5a4fcd67-45a1-2709-68d7-c5c4dfca3730-49b708a2, #w-node-_5a4fcd67-45a1-2709-68d7-c5c4dfca3734-49b708a2, #w-node-eec8268a-050b-81c4-340e-f2e72a7cc426-49b708a2, #w-node-eec8268a-050b-81c4-340e-f2e72a7cc42a-49b708a2, #w-node-_174cb580-897b-ed31-ec07-b443c20e6713-49b708a2, #w-node-_174cb580-897b-ed31-ec07-b443c20e6717-49b708a2, #w-node-be8c8fe8-a863-de31-2f54-9dea0b342064-49b708a2 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #w-node-be8c8fe8-a863-de31-2f54-9dea0b342068-49b708a2 {
    grid-area: span 1 / span 1 / span 1 / span 1;
    align-self: start;
  }

  #w-node-_1c3d3923-ced8-80f9-da09-dd53879357f7-49b708a2 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #w-node-_1c3d3923-ced8-80f9-da09-dd53879357fb-49b708a2 {
    grid-area: span 1 / span 1 / span 1 / span 1;
    align-self: start;
  }

  #w-node-e5babdf6-223d-4592-7419-bc64e8833f85-49b708a2 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #w-node-e5babdf6-223d-4592-7419-bc64e8833f89-49b708a2 {
    grid-area: span 1 / span 1 / span 1 / span 1;
    align-self: start;
  }

  #w-node-bf3ddfe4-2b37-329d-d946-e71cae83a2f7-49b708a2, #w-node-_7213ae30-a9b5-37a9-6cc1-3e593480cf9e-49b708a2 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}

@media screen and (max-width: 479px) {
  #w-node-bc11e98e-8fd9-8887-c10b-5243e200dc9c-49b708a2, #w-node-_1b233504-dee4-435b-f486-3cf646d19615-49b708a2, #w-node-_1b233504-dee4-435b-f486-3cf646d1961c-49b708a2, #w-node-_1b233504-dee4-435b-f486-3cf646d19623-49b708a2, #w-node-_08cb0c48-5f15-3078-7f8f-70bbbbadba85-49b708a2, #w-node-_2ea78e27-5d27-0ace-f533-58f27ea371ee-49b708a2, #w-node-b4ee2df1-28b4-d9fa-19a5-090ffd4e76f6-49b708a2, #w-node-ce22bec5-ce93-c8b9-58da-eeff61d3f4c4-49b708a2, #w-node-d4c948a8-fb02-8351-3e9c-514f3a70c146-49b708a2, #w-node-_6d5696df-caa5-2cc8-0d89-83a05004150c-49b708a2, #w-node-_6d5696df-caa5-2cc8-0d89-83a050041513-49b708a2, #w-node-f3e3c4af-3e43-ff2c-03f7-c9114a62c33a-49b708a2, #w-node-_5a4fcd67-45a1-2709-68d7-c5c4dfca372d-49b708a2, #w-node-eec8268a-050b-81c4-340e-f2e72a7cc423-49b708a2, #w-node-_174cb580-897b-ed31-ec07-b443c20e6710-49b708a2, #w-node-_11db8eb2-f74f-a45c-1238-e688c1375818-49b708a2, #w-node-be8c8fe8-a863-de31-2f54-9dea0b342061-49b708a2, #w-node-_47455a4e-8659-250f-d380-40363747f5dc-49b708a2, #w-node-dc80ba2f-bc9e-b4e6-2dd7-e1e75ffd00d7-49b708a2, #w-node-dc80ba2f-bc9e-b4e6-2dd7-e1e75ffd00e0-49b708a2, #w-node-dc80ba2f-bc9e-b4e6-2dd7-e1e75ffd00ea-49b708a2, #w-node-_1c3d3923-ced8-80f9-da09-dd53879357ea-49b708a2, #w-node-_1c3d3923-ced8-80f9-da09-dd53879357f3-49b708a2, #w-node-_1c3d3923-ced8-80f9-da09-dd53879357fd-49b708a2, #w-node-e5babdf6-223d-4592-7419-bc64e8833f78-49b708a2, #w-node-e5babdf6-223d-4592-7419-bc64e8833f81-49b708a2, #w-node-e5babdf6-223d-4592-7419-bc64e8833f8b-49b708a2, #w-node-bf3ddfe4-2b37-329d-d946-e71cae83a2eb-49b708a2, #w-node-bf3ddfe4-2b37-329d-d946-e71cae83a2f4-49b708a2, #w-node-_7213ae30-a9b5-37a9-6cc1-3e593480cf9b-49b708a2, #w-node-_93fadc3d-0051-0746-38be-67a5674e51c8-49b708a2, #w-node-_93fadc3d-0051-0746-38be-67a5674e51cd-49b708a2, #w-node-_93fadc3d-0051-0746-38be-67a5674e51d2-49b708a2 {
    grid-column: span 1 / span 1;
  }

  #w-node-_5c2aca29-9857-1535-b80a-7b828a956b05-8b63dd3a, #w-node-_5c2aca29-9857-1535-b80a-7b828a956b09-8b63dd3a, #w-node-_5c2aca29-9857-1535-b80a-7b828a956b0d-8b63dd3a {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }
}



/* ---- Phase 1 modern refresh overrides ---- */
:root {
  --modern-bg: #f4f7fb;
  --modern-surface: #ffffff;
  --modern-surface-2: #eef4fb;
  --modern-ink: #0f172a;
  --modern-muted: #475569;
  --modern-border: #d5deea;
  --modern-primary: #2563eb;
  --modern-primary-2: #3b82f6;
  --modern-accent: #22d3ee;
  --modern-ring: #93c5fd;
  --modern-nav-bg: #ffffffe0;
  --modern-hero-grad-1: #eef4ffde;
  --modern-hero-grad-2: #dce8ffde;
  --modern-footer-bg: #e9effc;
}

body {
  color: var(--modern-ink);
  background-color: var(--modern-bg);
  font-family: Roboto, Open Sans, Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--modern-ink);
  letter-spacing: 0;
  text-transform: none;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
}

p {
  color: var(--modern-muted);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7;
}

.navigation-bar {
  background-color: var(--modern-nav-bg);
  border-bottom: 1px solid var(--modern-border);
  position: sticky;
  top: 0;
  z-index: 100;
  backdrop-filter: blur(8px);
}

.navigation-link {
  color: var(--modern-muted);
  font-weight: 500;
}

.navigation-link:hover, .navigation-link.w--current {
  color: var(--modern-primary);
}

.brand-text {
  color: var(--modern-ink);
  letter-spacing: .5px;
  text-transform: none;
  font-size: 22px;
  font-weight: 600;
}

/* Home page: scrolling metallic blue dots background */
body.home-page {
  position: relative;
  overflow-x: hidden;
  min-height: 100vh;
  --mission-box-width: min(920px, 100vw);
  --mission-inner-width: calc(var(--mission-box-width) - 104px);
}

body.home-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: linear-gradient(135deg, #07142a 0%, #0d1d3f 45%, #162f63 100%);
  border-top: 1px solid #9db6de;
  border-right: 2px solid #88bbee;
  pointer-events: none;
}

body.home-page::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: 0.1;
  background-image:
    repeating-linear-gradient(180deg, rgba(160, 195, 245, 0.6) 0px, rgba(160, 195, 245, 0.6) 1px, #0000 1px, #0000 30px, rgba(200, 170, 235, 0.55) 30px, rgba(200, 170, 235, 0.55) 31px, #0000 31px, #0000 60px),
    repeating-linear-gradient(90deg, rgba(160, 195, 245, 0.6) 0px, rgba(160, 195, 245, 0.6) 1px, #0000 1px, #0000 30px, rgba(200, 170, 235, 0.55) 30px, rgba(200, 170, 235, 0.55) 31px, #0000 31px, #0000 60px);
  background-size: 60px 60px, 60px 60px;
  pointer-events: none;
}

.hero-section.home {
  background-image: linear-gradient(180deg, #f4f8ff, #edf3fb);
  background-position: 50%;
  background-size: cover;
  border-bottom: 0;
  padding-top: 42px;
  padding-bottom: 52px;
}

.hero-section.home.hero-theme-picture {
  position: relative;
  background-color: #0a0f1a;
  background-image: url('../images/TC653B_dapi_lmo2_aicda-hero.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 0;
  height: 550px;
  min-height: 550px;
  padding-top: 0;
  padding-bottom: 0;
}

.hero-theme-picture .w-container {
  justify-content: center;
  align-items: flex-start;
  min-height: 430px;
  position: relative;
  display: flex;
}

.hero-overlay-box {
  text-align: left;
  background: #fff;
  border: 4px double #2f3742;
  border-radius: 0;
  width: fit-content;
  max-width: calc(100% - 24px);
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 18px 28px;
  overflow: hidden;
  box-sizing: border-box;
}

.hero-lockup {
  align-items: center;
  gap: 14px;
  display: flex;
  min-width: 0;
}

.home-title {
  letter-spacing: .035em;
  text-transform: uppercase;
  justify-content: flex-start;
  align-items: baseline;
  margin: 0;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
  font-size: clamp(30px, 4.5vw, 48px);
  font-weight: 300;
  line-height: 1.02;
  display: flex;
  gap: 12px;
  width: auto;
  white-space: nowrap;
}

.word-vella {
  background-image: linear-gradient(180deg, #4f83d6 0%, #1f5fbe 48%, #6d9fe8 100%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: 0 0 10px #3e72c436;
  font-weight: 400;
}

.word-lab {
  color: #2f3742;
  font-weight: 300;
}

.hero-separator-i {
  color: #2f3742;
  font-weight: 300;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
  font-size: clamp(30px, 4.5vw, 48px);
  line-height: 1.02;
  flex-shrink: 0;
}

.hero-logo-badge {
  background: #ffffffb0;
  border: 1px solid #b9cbe680;
  width: 72px;
  height: 72px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.hero-logo-badge-text {
  color: #2f5fc0;
  letter-spacing: .08em;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
  font-size: 26px;
  font-weight: 400;
}

.hero-subtitle {
  color: #344256;
  letter-spacing: .025em;
  text-transform: uppercase;
  margin: 0;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
  font-size: clamp(13px, 1.3vw, 20px);
  font-weight: 500;
  line-height: 1.2;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  flex: 0 1 auto;
  max-width: none;
  overflow-wrap: normal;
  word-wrap: normal;
  white-space: normal;
  align-self: center;
}

.hero-subtitle span {
  display: block;
  min-width: 0;
  overflow-wrap: inherit;
  word-break: normal;
  white-space: nowrap;
}

.hero-inline-tabs {
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 24px;
  position: absolute;
  top: 28px;
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
}

.hero-inline-tab {
  color: #fff;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
  text-decoration: none;
  text-shadow: none;
  transition: transform .28s ease-out, color .28s ease, text-shadow .28s ease, letter-spacing .28s ease, opacity .28s ease;
}

.hero-inline-tab:not(.w--current) {
  color: rgba(255, 255, 255, 0.7);
}

@media (hover: hover) {
  .hero-inline-tab:not(.w--current):hover {
    color: #f0f6ff;
    letter-spacing: .216em;
    text-shadow: none;
    transform: translateY(-3.6px) scale(1.048);
  }
}

.hero-inline-tab.w--current {
  color: #fff;
  text-shadow: none;
  transform: none;
}

.hero-inline-tab.w--current:hover {
  color: #fff;
  letter-spacing: .12em;
  text-shadow: none;
  transform: none;
}

/* Home hero: tabs on variable microscopy imagery — higher contrast + legibility shadow */
.home-page .hero-inline-tab {
  color: #ffffff;
  font-weight: 600;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.9),
    0 1px 3px rgba(0, 0, 0, 0.85),
    0 0 18px rgba(0, 0, 0, 0.55);
}

.home-page .hero-inline-tab:not(.w--current) {
  color: rgba(255, 255, 255, 0.92);
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.88),
    0 1px 3px rgba(0, 0, 0, 0.8),
    0 0 16px rgba(0, 0, 0, 0.5);
}

@media (hover: hover) {
  .home-page .hero-inline-tab:not(.w--current):hover {
    color: #ffffff;
    text-shadow:
      0 0 1px rgba(0, 0, 0, 0.9),
      0 1px 3px rgba(0, 0, 0, 0.85),
      0 0 20px rgba(0, 0, 0, 0.55);
  }
}

.home-page .hero-inline-tab.w--current,
.home-page .hero-inline-tab.w--current:hover {
  color: #ffffff;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.92),
    0 1px 3px rgba(0, 0, 0, 0.88),
    0 0 20px rgba(0, 0, 0, 0.6);
}

.research-header-image-wrap {
  position: relative;
  overflow: hidden;
  height: 550px;
  min-height: 550px;
  aspect-ratio: unset;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.team-hero-bg {
  background-image: url('../images/team_header-hero.jpg');
  background-position: center;
}

.research-hero-bg {
  background-image: url('../images/research_header.png');
  background-position: center bottom;
}

.research-hero-title-wrap {
  height: 100%;
  justify-content: center;
  align-items: center;
  display: flex;
}

.hero-overlay-box.research-lockup-card {
  text-align: center;
  background: transparent;
  border: 0;
  box-shadow: none;
  width: fit-content;
  max-width: calc(100% - 28px);
  padding: 14px 34px;
  opacity: 0;
  transform: translateY(14px);
  animation: research-lockup-appear 820ms cubic-bezier(0.19, 1, 0.22, 1) 120ms forwards;
  will-change: opacity, transform;
}

.research-lockup-title {
  color: #2e4e7f;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
  font-size: clamp(42px, 7.2vw, 92px);
  font-weight: 400;
  line-height: 1;
}

.team-page .research-lockup-title {
  color: #8a6128;
}

.research-page .hero-inline-tab {
  color: #2e4e7f;
}

.research-page .hero-inline-tab:not(.w--current) {
  color: rgba(46, 78, 127, 0.74);
}

.research-page .hero-inline-tab.w--current,
.research-page .hero-inline-tab.w--current:hover {
  color: #2e4e7f;
}

.team-page .hero-inline-tab {
  color: #8a6128;
}

.team-page .hero-inline-tab:not(.w--current) {
  color: rgba(138, 97, 40, 0.76);
}

.team-page .hero-inline-tab.w--current,
.team-page .hero-inline-tab.w--current:hover {
  color: #8a6128;
}

@keyframes research-lockup-appear {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-overlay-box.research-lockup-card {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

.research-header-image {
  width: 100%;
  height: auto;
  display: block;
}

.page-hero-tabs {
  position: absolute;
  top: 28px;
  left: 0;
  right: 0;
  z-index: 100;
}

/* Footer-style VL mark: upper-right in hero; anchor on section with position: relative */
.site-vl-badge-footer {
  position: absolute;
  top: calc(env(safe-area-inset-top, 0px) + clamp(12px, 2.4vw, 28px));
  right: calc(env(safe-area-inset-right, 0px) + clamp(24px, 4.75vw, 55px));
  left: auto;
  bottom: auto;
  z-index: 105;
  line-height: 0;
  border-radius: 0;
  overflow: visible;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}

.site-vl-badge-footer:focus-visible {
  outline: 2px solid #4f83d6;
  outline-offset: 3px;
}

.site-vl-badge-footer img {
  display: block;
  width: min(clamp(42px, 7.56vw, 83px), min(100vw - 48px, 140px));
  height: clamp(29px, 5.29vw, 58px);
  max-width: min(100vw - 48px, 140px);
  object-fit: fill;
  object-position: center;
}

@media screen and (max-width: 991px) {
  .site-vl-badge-footer img {
    width: min(clamp(38px, 8.5vw, 72px), min(100vw - 40px, 126px));
    height: clamp(26px, 5.95vw, 50px);
    max-width: min(100vw - 40px, 126px);
  }
}

@media screen and (max-width: 767px) {
  .site-vl-badge-footer {
    top: calc(env(safe-area-inset-top, 0px) + clamp(13px, 2.64vw, 26px));
    right: calc(env(safe-area-inset-right, 0px) + clamp(20px, 3.96vw, 40px));
  }

  .site-vl-badge-footer img {
    width: min(clamp(20px, 9vw, 37px), min(100vw - 32px, 71px));
    height: clamp(14px, 6.3vw, 26px);
    max-width: min(100vw - 32px, 71px);
  }
}

.home-content-section {
  padding-top: 15px;
}

.home-text-box {
  background-color: var(--modern-surface);
  border: 1px solid var(--modern-border);
  border-radius: 0;
  margin-bottom: 14px;
  padding: 18px 22px;
}

.home-text-title {
  color: #3c5f98;
  letter-spacing: .06em;
  margin: 0;
  font-size: clamp(20px, 2.1vw, 30px);
  font-weight: 400;
  line-height: 1.25;
}

.mission-box {
  background: linear-gradient(180deg, var(--modern-surface), var(--modern-surface-2));
}

.home-mission {
  color: #dbe7ff;
  margin: 0;
  font-size: 19px;
  line-height: 1.72;
}

.statement-band {
  width: 100%;
  margin-bottom: 24px;
  padding-top: 16px;
  padding-bottom: 24px;
  position: relative;
  overflow: hidden;
  background: transparent;
}

.statement-band .w-container {
  max-width: var(--mission-box-width, 920px);
  padding-left: 52px;
  padding-right: 52px;
  position: relative;
  z-index: 1;
}

.mission-shell {
  border-radius: 16px;
  padding: 22px 24px 24px;
  background: linear-gradient(180deg, #0f2144f2 0%, #0f2144bf 100%);
  backdrop-filter: blur(1px);
  box-shadow: 0 28px 50px -34px #051127;
}

.mission-kicker {
  color: #a8c5ff;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 0 0 14px;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
  font-size: 20px;
  font-weight: 600;
}

.statement-text {
  color: #dbe7ff;
  margin: 0;
  text-align: justify;
  text-align-last: left;
  text-wrap: pretty;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.62;
}

.statement-text::first-line {
  color: inherit;
  letter-spacing: normal;
}

.home-tabs-row {
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 14px;
  margin-top: 10px;
  display: grid;
}

.home-tab-card {
  color: var(--modern-primary);
  text-align: center;
  background-color: var(--modern-surface);
  border: 1px solid var(--modern-border);
  border-radius: 0;
  padding: 16px 12px;
  font-size: 18px;
  font-weight: 500;
  text-decoration: none;
  transition: all .2s ease;
}

.home-tab-card:hover {
  border-color: #a9bff0;
  transform: translateY(-1px);
}

.funding-section {
  margin-top: 26px;
}

.research-highlights-home {
  margin-top: 59px;
  margin-bottom: 30px;
}

.highlight-title-row {
  margin-bottom: 12px;
}

.highlight-stage {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: 420px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
  position: relative;
  overflow: hidden;
  background: #1a2248;
  border-top: 1px solid #7eb3e8;
  border-bottom: 1px solid #7eb3e8;
}

.highlight-panel {
  isolation: isolate;
  position: relative;
  overflow: hidden;
}

.panel-one {
  clip-path: none;
}

.panel-two {
  clip-path: none;
}

.panel-three {
  clip-path: none;
}

.panel-one:after, .panel-two:after {
  display: none;
}

.highlight-panel img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  min-height: 420px;
  display: block;
  filter: saturate(1.1) contrast(1.08);
}

.highlight-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: none;
}

.panel-one .highlight-overlay {
  background: linear-gradient(180deg, #0c173400 0%, #0c173400 90%, #0c173466 100%);
}

.panel-two .highlight-overlay {
  background: linear-gradient(180deg, #0c17347a 0%, #0c173400 10%, #0c173400 90%, #0c17347a 100%);
}

.panel-three .highlight-overlay {
  background: linear-gradient(180deg, #0c173466 0%, #0c173400 10%, #0c173400 100%);
}

.highlight-copy {
  position: absolute;
  z-index: 4;
  width: min(250px, calc(100% - 40px));
  border: 2px solid #7eb3e8;
  padding: 10px 12px 11px;
  background-color: #2a4a7acc;
  box-shadow: 0 12px 28px -18px #070b1a, inset 0 1px 0 rgba(255, 255, 255, 0.12);
  text-decoration: none;
  display: block;
  cursor: pointer;
  transition: border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}

.highlight-copy:hover {
  border-color: #9dc8ff;
  background-color: #3a5a8acc;
  box-shadow: 0 16px 30px -16px #070b1a, 0 0 0 1px #7eb3e866, inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.highlight-copy:focus-visible {
  outline: 2px solid #9dc8ff;
  outline-offset: 2px;
  border-color: #9dc8ff;
  background-color: #3a5a8acc;
}

.panel-one .highlight-copy {
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
}

.panel-two .highlight-copy {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.panel-three .highlight-copy {
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
}

.highlight-tab {
  color: #c5dcff;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0 0 7px;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  text-shadow: 0 0 10px #7eb3e870;
}

.highlight-text {
  color: #e8f0ff;
  margin: 0;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  text-shadow: 0 2px 10px #0a1028;
}

/* ---- Home: edge-to-edge News (horizontal scroll, newest first) ---- */
.home-news-section {
  width: 100%;
  margin: 0;
  padding: 48px 0 56px;
  background: linear-gradient(180deg, #f0f4fb 0%, #e4ebf6 100%);
  border-top: 1px solid #c5d4ea;
  border-bottom: 1px solid #c5d4ea;
  box-sizing: border-box;
}

.home-news-head {
  width: min(920px, calc(100% - 48px));
  margin: 0 auto 22px;
  padding: 0 24px;
  box-sizing: border-box;
}

.home-news-title {
  color: #1e3a5f;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0 0 8px;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 600;
  line-height: 1.2;
}

.home-news-hint {
  color: #4a5f7a;
  margin: 0;
  font-family: Roboto, "Open Sans", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.45;
}

.home-news-scroller {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  box-sizing: border-box;
}

.home-news-track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 20px;
  width: max-content;
  padding: 8px 20px 16px;
  box-sizing: border-box;
}

.home-news-card {
  flex: 0 0 auto;
  scroll-snap-align: start;
  width: min(360px, calc(100vw - 40px));
  max-width: 380px;
  min-height: 0;
  padding: 20px 22px 22px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #c8d6ec;
  border-radius: 12px;
  box-shadow: 0 14px 36px -24px rgba(15, 35, 70, 0.45);
  box-sizing: border-box;
}

.home-news-date {
  color: #2d5a9e;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0 0 14px;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
}

.home-news-body {
  color: #2b3544;
  font-family: Roboto, "Open Sans", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.58;
}

.home-news-body p {
  margin: 0 0 12px;
}

.home-news-body p:last-child {
  margin-bottom: 0;
}

.funding-title {
  color: #3c5f98;
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: 12px;
  font-size: 20px;
  font-weight: 500;
}

.funding-logos-grid {
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: 14px;
  display: grid;
}

.funding-logo-item {
  background-color: var(--modern-surface);
  border: 1px solid var(--modern-border);
  border-radius: 0;
  justify-content: center;
  align-items: center;
  min-height: 108px;
  padding: 16px;
  display: flex;
}

.funding-logo-item img {
  object-fit: contain;
  width: 100%;
  max-width: 190px;
  max-height: 66px;
}

.hero-radial-container {
  max-width: 1220px;
}

.radial-stage {
  border: 1px solid var(--modern-border);
  border-radius: 20px;
  width: 100%;
  height: clamp(440px, 66vw, 760px);
  position: relative;
  overflow: hidden;
  background: #edf3fb;
}

.radial-sector {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.sector-one {
  background: linear-gradient(145deg, #e6eeff, #d7e4fa);
  clip-path: polygon(0 0, 100% 0, 50% 50%);
}

.sector-two {
  background: linear-gradient(145deg, #f6f9ff, #ebf1fb);
  clip-path: polygon(0 0, 50% 50%, 50% 100%, 0 100%);
}

.sector-three {
  background: linear-gradient(145deg, #edf3ff, #dbe7fb);
  clip-path: polygon(100% 0, 50% 50%, 50% 100%, 100% 100%);
}

.split-line {
  background: linear-gradient(180deg, #cad6ee, #aebfdf);
  border-radius: 999px;
  width: 2px;
  z-index: 3;
  position: absolute;
}

.split-left {
  height: 66%;
  top: -8%;
  left: 34%;
  transform: rotate(55deg);
  transform-origin: top center;
}

.split-right {
  height: 66%;
  top: -8%;
  right: 34%;
  transform: rotate(-55deg);
  transform-origin: top center;
}

.split-down {
  height: 56%;
  top: 50%;
  left: calc(50% - 1px);
}

.radial-center-circle {
  text-align: center;
  background: linear-gradient(180deg, #ffffffeb, #f2f6ffeb);
  border: 1px solid #bfcde7;
  border-radius: 22px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: clamp(260px, 34vw, 430px);
  min-height: clamp(180px, 23vw, 260px);
  padding: 22px 24px;
  z-index: 5;
  display: flex;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 28px 46px -34px #0f172a99;
}

.radial-title {
  color: #2d57a8;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin: 0;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
  font-size: clamp(30px, 4.3vw, 54px);
  font-weight: 500;
  line-height: 1.05;
}

.radial-subtitle {
  color: #4d648f;
  letter-spacing: .06em;
  text-transform: none;
  margin: 0;
  max-width: 36ch;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
  font-size: clamp(12px, 1.15vw, 16px);
  font-weight: 400;
  line-height: 1.35;
}

.hollow-button.all-caps {
  color: var(--modern-primary);
  letter-spacing: .3px;
  text-transform: none;
  background-color: #ffffffd6;
  border: 1px solid #9db8ef;
  border-radius: 0;
  padding: 12px 22px;
  font-weight: 600;
}

.hollow-button.all-caps:hover {
  color: var(--modern-primary-2);
  background-color: #fff;
  border-color: var(--modern-primary-2);
}

.footer {
  background-color: var(--modern-footer-bg);
  border-top: 1px solid var(--modern-border);
}

/* ---- Site footer: compact, subtle, transparent, blends with page backgrounds ---- */
.site-footer {
  padding: 28px 12px 32px;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  background: transparent;
}

.site-footer-inner {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: nowrap;
  width: 100%;
  box-sizing: border-box;
}

.site-footer-left {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  flex: 0 0 auto;
  width: 380px;
  max-width: 100%;
  overflow: hidden;
}

.site-footer-colket {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  opacity: 0.9;
  border-radius: 12px;
  overflow: hidden;
}

.site-footer-address {
  margin: 0;
  width: 100%;
  box-sizing: border-box;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.55);
  font-family: "Roboto", system-ui, sans-serif;
  padding: 10px 14px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.site-footer-contact {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  justify-content: flex-start;
  min-width: 0;
  flex: 1 1 auto;
}

.site-footer-contact-title {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #3d4f6d;
  font-family: Montserrat, Roboto, "Open Sans", Arial, sans-serif;
}

.site-footer-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(5, auto);
  gap: 20px 36px;
  justify-items: start;
  width: auto;
  min-width: 280px;
}

.site-footer-contact-person {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: #1a1a1a;
  font-size: 15px;
  font-family: "Roboto", system-ui, sans-serif;
  transition: opacity 0.2s;
  white-space: normal;
  min-width: 0;
  overflow-wrap: break-word;
}

.site-footer-contact-person:hover {
  opacity: 0.85;
}

.site-footer-contact-person img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.site-footer-logos {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
  flex: 0 0 auto;
  min-width: 220px;
}

.site-footer-funding-title {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #3d4f6d;
  font-family: Montserrat, Roboto, "Open Sans", Arial, sans-serif;
}

.site-footer-logos-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(4, 1fr);
  gap: 10px;
}

.site-footer-logo-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  min-height: 44px;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.site-footer-logo-tab img {
  height: 36px;
  width: auto;
  max-width: 100px;
  object-fit: contain;
  opacity: 0.9;
}

/* Home page: dark background - lighter footer treatment */
body.home-page .site-footer {
  border-top-color: rgba(255, 255, 255, 0.12);
}

body.home-page .site-footer-address {
  color: rgba(255, 255, 255, 0.9);
  background: rgba(0, 0, 0, 0.3);
}

body.home-page .site-footer-contact-title {
  color: #c5d9ff;
  font-size: 19px;
  text-shadow: 0 0 20px rgba(197, 217, 255, 0.5), 0 0 40px rgba(197, 217, 255, 0.3);
}

/* Home page: no bubbles, light text for visibility */
body.home-page .site-footer-contact-person {
  color: rgba(255, 255, 255, 0.95);
  background: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  border: none;
  padding: 0;
  font-size: 15px;
  gap: 8px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

body.home-page .site-footer-contact-person:hover {
  opacity: 0.9;
  transform: none;
  filter: none;
}

body.home-page .site-footer-contact-person img {
  width: 36px;
  height: 36px;
}

/* Home page: 2×5 grid */
body.home-page .site-footer-contact-person {
  transform: none;
  cursor: pointer;
}

body.home-page .site-footer-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(5, auto);
  gap: 20px 28px;
  justify-items: start;
  width: auto;
  min-height: 0;
  position: static;
}


body.home-page .site-footer-funding-title {
  color: #c5d9ff;
  font-size: 19px;
  text-shadow: 0 0 20px rgba(197, 217, 255, 0.5), 0 0 40px rgba(197, 217, 255, 0.3);
}

body.home-page .site-footer-colket {
  opacity: 0.9;
}

body.home-page .site-footer-logo-tab {
  background: rgba(255, 255, 255, 0.75);
  border-color: rgba(255, 255, 255, 0.4);
}

body.home-page .site-footer-logo-tab img {
  opacity: 0.9;
  filter: brightness(1.1);
}

/* Publications page: text boxes for all three sections, aligned */
.publications-page .site-footer {
  border-top-color: rgba(74, 53, 40, 0.12);
}

.publications-page .site-footer-inner {
  align-items: stretch;
}

.publications-page .site-footer-left,
.publications-page .site-footer-contact,
.publications-page .site-footer-logos {
  background: rgba(255, 252, 245, 0.88);
  padding: 20px;
  border-radius: 12px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-sizing: border-box;
}

.publications-page .site-footer-left {
  align-items: stretch;
}

.publications-page .site-footer-contact {
  align-items: stretch;
}

.publications-page .site-footer-contact-grid {
  width: 100%;
  min-width: 0;
}

.publications-page .site-footer-address {
  color: rgba(74, 53, 40, 0.9);
  background: transparent;
}

.publications-page .site-footer-funding-title,
.publications-page .site-footer-contact-title {
  color: #1a1209;
  font-size: 19px;
  font-weight: 600;
  text-shadow: 0 0 1px #fffcf5, 0 0 2px rgba(255, 252, 245, 0.9), 0 1px 3px rgba(255, 252, 245, 0.8);
  margin: 0 0 12px;
}

.publications-page .site-footer-logo-tab {
  background: rgba(255, 255, 255, 0.6);
  border-color: rgba(74, 53, 40, 0.1);
}

.publications-page .site-footer-contact-person {
  color: #0f0d0a;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
}

/* Research & Team: dark text for light backgrounds */
body.research-page .site-footer-funding-title,
body.research-page .site-footer-contact-title {
  color: #3d4f6d;
}

body.research-page .site-footer-contact-person {
  color: #2d3a4d;
}

body.team-page .site-footer-funding-title,
body.team-page .site-footer-contact-title {
  color: #4a5568;
}

body.team-page .site-footer-contact-person {
  color: #2d3748;
}

@media (max-width: 1100px) and (min-width: 901px) {
  .publications-page .site-footer-inner {
    align-items: flex-start;
  }

  .publications-page .site-footer-contact-person {
    font-size: 14px;
  }
}

/* Stack footer earlier so contact and logos never overlap on any page */
@media (max-width: 1100px) {
  .site-footer-inner {
    flex-direction: column;
    align-items: center;
    gap: 28px;
    flex-wrap: nowrap;
    max-width: 1000px;
  }

  .site-footer-left {
    width: 100%;
    max-width: 380px;
    align-self: center;
  }

  .site-footer-contact {
    align-self: center;
    width: 100%;
    max-width: 100%;
  }

  .site-footer-logos {
    width: 100%;
    min-width: 0;
    align-items: center;
    align-self: center;
  }

  /* 2×5 contact grid on all pages when scaled/stacked */
  .site-footer-contact-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 20px;
  }

  body.home-page .site-footer-contact-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 20px;
  }

  .publications-page .site-footer-contact-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 20px;
  }
}

@media (max-width: 900px) {
  .site-footer-inner {
    flex-direction: column;
    align-items: center;
    gap: 28px;
    flex-wrap: nowrap;
  }

  .site-footer-left {
    width: 100%;
    max-width: 380px;
    align-self: center;
  }

  .site-footer-contact {
    align-self: center;
  }

  .site-footer-logos {
    width: 100%;
    min-width: 0;
    align-items: center;
    align-self: center;
  }

  .site-footer-contact-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  body.home-page .site-footer-contact-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 20px;
  }
}

@media (max-width: 767px) {
  .site-footer {
    padding: 24px 12px 28px;
  }

  .site-footer-inner {
    flex-direction: column;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
  }

  .site-footer-left {
    width: 100%;
    max-width: 380px;
  }

  .site-footer-contact-person {
    white-space: normal;
  }

  .site-footer-contact {
    align-items: flex-start;
  }

  .site-footer-contact-grid {
    gap: 16px 20px;
  }

  .site-footer-contact-person {
    font-size: 14px;
  }

  .site-footer-contact-person img {
    width: 32px;
    height: 32px;
  }

  body.home-page .site-footer-contact-person img {
    width: 34px;
    height: 34px;
  }

  body.home-page .site-footer-contact-person {
    font-size: 14px;
  }

  .site-footer-address {
    font-size: 14px;
  }

  .site-footer-logos {
    align-items: flex-start;
    width: 100%;
  }

  .site-footer-logos-grid {
    width: 100%;
  }

  .site-footer-logo-tab {
    min-height: 40px;
  }

  .site-footer-logo-tab img {
    height: 30px;
    max-width: 85px;
  }
}

@media (max-width: 479px) {
  .site-footer-contact-grid {
    grid-template-columns: 1fr;
  }

  body.home-page .site-footer-contact-grid {
    grid-template-columns: 1fr;
  }

  .site-footer-logos-grid {
    grid-template-columns: 1fr;
  }
}

.footer-link {
  color: var(--modern-muted);
}

.footer-link:hover {
  color: var(--modern-primary);
}

.section-heading.centered {
  color: var(--modern-ink);
  letter-spacing: 0;
  text-transform: none;
  border-bottom: 0;
  font-weight: 600;
}

.section-subheading.center {
  color: var(--modern-muted);
  letter-spacing: 0;
  text-transform: none;
  border-bottom: 0;
}

.heading-19.modern-heading {
  margin-top: 0;
  margin-bottom: 20px;
  padding: 0;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.15;
}

.modern-section {
  padding: 72px 0;
}

.modern-section.methods-section {
  background-color: var(--modern-surface-2);
}

.modern-section.instrumentation-section {
  padding-top: 40px;
}

.content-narrow {
  max-width: 880px;
}

@media screen and (min-width: 1440px) {
  .content-narrow {
    max-width: max(60vw, 880px);
  }

  .team-page .team-section .content-narrow,
  .team-page .team-section:has(.team-members-list) .content-narrow,
  #team-students .content-narrow,
  #team-alumni .content-narrow,
  #cards-section .content-narrow,
  #team-moments .content-narrow {
    max-width: max(60vw, 1000px);
  }

  .publications-page .publications-content-section .content-narrow {
    max-width: max(60vw, 880px);
  }

  .statement-band .w-container {
    max-width: max(60vw, var(--mission-box-width, 920px));
  }
}

.paragraph-2.modern-lead {
  text-align: left;
  margin: 0;
  padding: 0;
  font-size: 20px;
  line-height: 1.75;
}

.focus-grid {
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 12px;
  margin-top: 26px;
  display: grid;
}

.focus-chip {
  color: var(--modern-primary);
  background-color: #eaf0ff;
  border: 1px solid #c7d6ff;
  border-radius: 0;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}

.modern-section-title {
  margin-bottom: 26px;
  font-size: 36px;
}

.method-cards {
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 20px;
  display: grid;
}

.method-card {
  background: linear-gradient(180deg, var(--modern-surface), var(--modern-surface-2));
  border: 1px solid var(--modern-border);
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 10px 28px -20px #0f172a66;
}

.method-card:hover {
  border-color: var(--modern-primary-2);
  box-shadow: 0 14px 30px -20px #0f172a8c;
  transform: translateY(-2px);
}

.method-title {
  margin-bottom: 10px;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
}

.method-text {
  margin: 0;
  font-size: 16px;
}

.instrumentation-images {
  color: var(--modern-ink);
  letter-spacing: 0;
  text-transform: none;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
}

.instrumentation-images img {
  border: 1px solid var(--modern-border);
  border-radius: 14px;
  box-shadow: 0 20px 40px -28px #0f172acc;
}

a:focus-visible, button:focus-visible {
  outline: 3px solid var(--modern-ring);
  outline-offset: 2px;
}

@media screen and (max-width: 991px) {
  .hero-section.home {
    padding-top: 24px;
    padding-bottom: 36px;
  }

  .hero-section.home.hero-theme-picture {
    height: 420px;
    min-height: 420px;
    padding-top: 0;
    padding-bottom: 0;
  }

  .research-header-image-wrap {
    height: 420px;
    min-height: 420px;
  }

  .hero-overlay-box.research-lockup-card {
    max-width: calc(100% - 24px);
    padding: 12px 26px;
  }

  .research-lockup-title {
    font-size: clamp(36px, 8vw, 74px);
  }

  .hero-theme-picture .w-container {
    min-height: 360px;
  }

  .hero-inline-tabs {
    gap: 16px;
    top: 22px;
    left: 0;
    right: 0;
  }

  .hero-inline-tab {
    font-size: 18px;
  }

  .page-hero-tabs {
    top: 22px;
    left: 0;
    right: 0;
  }

  .hero-overlay-box {
    width: fit-content;
    max-width: calc(100% - 22px);
  }

  .hero-lockup {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
  }

  .hero-subtitle {
    margin-top: 0;
    max-width: none;
    white-space: nowrap;
  }

  .hero-logo-badge {
    width: 60px;
    height: 60px;
  }

  .hero-logo-badge-text {
    font-size: 22px;
  }

  .home-mission {
    font-size: 17px;
  }

  .statement-text {
    font-size: 16px;
  }

  .mission-shell {
    padding: 20px 20px 22px;
  }

  .statement-band .w-container {
    padding-left: 42px;
    padding-right: 42px;
  }

  .home-tabs-row, .funding-logos-grid {
    grid-template-columns: 1fr;
  }

  .highlight-stage {
    --highlight-slant: 44px;
    min-height: 330px;
  }

  .highlight-panel img {
    min-height: 330px;
  }

  .highlight-copy {
    width: min(220px, calc(100% - 28px));
    padding: 9px 10px 10px;
  }

  .panel-one .highlight-copy {
    top: 18px;
    left: 50%;
    transform: translateX(-50%);
  }

  .panel-two .highlight-copy {
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .panel-three .highlight-copy {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

  .highlight-text {
    font-size: 13px;
  }

  .radial-stage {
    height: clamp(420px, 86vw, 620px);
  }

  .radial-center-circle {
    width: clamp(240px, 48vw, 340px);
    min-height: 180px;
    padding: 18px 18px;
  }

  .heading-19.modern-heading {
    font-size: 38px;
  }

  .method-cards {
    grid-template-columns: 1fr;
  }

  .focus-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 85%;
  }

  p {
    font-size: 14px;
  }

  .modern-section {
    padding: 52px 0;
  }

  .hero-section.home.hero-theme-picture {
    height: 350px;
    min-height: 350px;
    padding-top: 0;
    padding-bottom: 0;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    box-sizing: border-box;
    background-size: cover;
    background-position: center;
  }

  .research-header-image-wrap {
    height: 350px;
    min-height: 350px;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    box-sizing: border-box;
  }

  .hero-overlay-box.research-lockup-card {
    width: fit-content;
    max-width: calc(100% - 16px);
    padding: 8px 14px;
  }

  .research-lockup-title {
    font-size: clamp(28px, 10vw, 52px);
    letter-spacing: 0.1em;
  }

  .hero-theme-picture .w-container {
    justify-content: center;
    align-items: flex-start;
    min-height: 305px;
    gap: 0;
    flex-direction: row;
  }

  .hero-inline-tabs {
    align-items: center;
    gap: 8px;
    top: 10px;
    left: 8px;
    right: 8px;
    margin-bottom: 0;
  }

  .hero-inline-tab {
    letter-spacing: .03em;
    font-size: clamp(12px, 2.6vw, 14px);
    text-underline-offset: 3px;
  }

  .page-hero-tabs {
    top: 10px;
    left: 8px;
    right: 8px;
  }

  .hero-overlay-box {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-overlay-box {
    width: min(320px, calc(100% - 16px));
    padding: 8px 10px;
  }

  .home-title {
    letter-spacing: .04em;
    font-size: clamp(24px, 6.8vw, 34px);
    gap: 8px;
  }

  .hero-separator-i {
    font-size: clamp(24px, 6.8vw, 34px);
    line-height: 1.02;
  }

  .hero-lockup {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px 10px;
  }

  .hero-logo-badge {
    order: 3;
    width: 42px;
    height: 42px;
  }

  .hero-logo-badge-text {
    letter-spacing: .06em;
    font-size: 14px;
  }

  .hero-subtitle {
    letter-spacing: .02em;
    font-size: clamp(10px, 2.7vw, 12px);
    white-space: normal;
  }

  .hero-subtitle span {
    display: block;
    white-space: nowrap;
  }

  .statement-band {
    margin-bottom: 18px;
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .statement-band .w-container {
    padding-left: 28px;
    padding-right: 28px;
  }

  body.home-page {
    --mission-inner-width: calc(var(--mission-box-width) - 56px);
  }

  .mission-shell {
    border-radius: 14px;
    padding: 16px 16px 18px;
  }

  .mission-kicker {
    letter-spacing: .14em;
    margin-bottom: 10px;
    font-size: 14px;
  }

  .statement-text {
    text-align: left;
    text-align-last: auto;
    font-size: 13px;
    line-height: 1.56;
  }

  .research-highlights-home {
    margin-top: 46px;
    margin-bottom: 24px;
  }

  .home-news-section {
    padding: 36px 0 44px;
  }

  .home-news-head {
    width: calc(100% - 32px);
    padding: 0 16px;
    margin-bottom: 16px;
  }

  .home-news-track {
    padding-left: 16px;
    padding-right: 16px;
    gap: 14px;
  }

  .home-news-card {
    width: min(300px, calc(100vw - 32px));
    padding: 16px 18px 18px;
  }

  .home-news-body {
    font-size: 14px;
  }

  .highlight-stage {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    display: block;
    min-height: 0;
    border-top-width: 1px;
    border-bottom-width: 1px;
  }

  .highlight-stage:before, .highlight-stage:after {
    display: none;
  }

  .highlight-panel {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    min-height: 230px;
    margin-left: 0;
    clip-path: none;
  }

  .highlight-panel:not(:last-child) {
    border-bottom: 1px solid #dce8ffb3;
  }

  .panel-one:after, .panel-two:after {
    display: none;
  }

  .highlight-panel img {
    min-height: 230px;
  }

  .highlight-copy {
    width: min(260px, calc(100% - 24px));
    min-width: 200px;
    padding: 10px 12px 11px;
  }

  .panel-one .highlight-copy {
    top: 12px;
    bottom: auto;
    left: 50%;
    transform: translateX(-50%);
  }

  .panel-two .highlight-copy {
    top: 50%;
    bottom: auto;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .panel-three .highlight-copy {
    top: auto;
    right: auto;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
  }

  .home-text-title {
    font-size: 17px;
  }

  .home-mission {
    font-size: 14px;
  }

  .radial-stage {
    height: clamp(360px, 92vw, 520px);
  }

  .radial-center-circle {
    width: clamp(220px, 68vw, 310px);
    min-height: 165px;
    padding: 16px 14px;
  }

  .radial-title {
    letter-spacing: .15em;
    font-size: clamp(28px, 8.2vw, 40px);
  }

  .radial-subtitle {
    letter-spacing: .03em;
    font-size: 12px;
  }

  .split-left, .split-right {
    height: 72%;
    top: -14%;
  }

  .split-left {
    left: 28%;
  }

  .split-right {
    right: 28%;
  }

  .heading-19.modern-heading {
    font-size: 27px;
  }

  .paragraph-2.modern-lead {
    font-size: 15px;
  }

  .focus-grid {
    grid-template-columns: 1fr;
  }

  .modern-section-title {
    font-size: 26px;
  }

  .team-section-title {
    font-size: 0.85em;
  }

  .research-list-paragraphs p,
  .research-list-title {
    font-size: 0.85em;
  }

  .team-member-bio,
  .team-member-row > p {
    font-size: 13px;
  }

  #team-students .team-member-row p,
  #team-alumni .team-member-row p,
  #cards-section .team-member-row p {
    font-size: 12px;
  }
}

@media screen and (min-width: 768px) {
  .hero-overlay-box {
    --lockup-scale: clamp(0.5, calc((100vw - 40px) / 980), 1);
    width: fit-content;
    max-width: calc(100% - 24px);
    padding: calc(18px * var(--lockup-scale)) calc(28px * var(--lockup-scale));
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .hero-lockup {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: calc(14px * var(--lockup-scale));
  }

  .home-title {
    font-size: calc(48px * var(--lockup-scale));
    gap: calc(12px * var(--lockup-scale));
    line-height: 1.02;
    white-space: nowrap;
  }

  .hero-separator-i {
    font-size: calc(48px * var(--lockup-scale));
    line-height: 1.02;
  }

  .hero-subtitle {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    font-size: calc(20px * var(--lockup-scale));
    line-height: 1.14;
    white-space: normal;
    flex: 0 0 auto;
  }

  .hero-subtitle span {
    display: block;
    white-space: nowrap;
  }
}

.research-content-area {
  min-height: 420px;
  background: transparent;
  overflow-x: hidden;
}

.research-content-area .content-narrow {
  padding-left: 32px;
  padding-right: 32px;
  box-sizing: border-box;
}

.research-numbered-list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: research-num;
}

.research-list-item {
  position: relative;
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding: 28px 36px;
  margin: 0 -36px;
  border-bottom: 1px solid #d4dce8;
  counter-increment: research-num;
}

.research-list-item::before,
.research-list-item::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 4px;
  background: #5a8ae8;
  opacity: 0;
  transition: opacity .22s ease;
}

.research-list-item::before {
  left: 8px;
}

.research-list-item::after {
  right: 8px;
}

.research-list-item:hover::before,
.research-list-item:hover::after {
  opacity: 1;
}

.research-list-item:last-child {
  border-bottom: 0;
}

.research-list-num {
  flex-shrink: 0;
  color: #1a365d;
  font-family: "Bebas Neue", Montserrat, sans-serif;
  font-size: clamp(72px, 10vw, 140px);
  font-weight: 400;
  line-height: 0.85;
  letter-spacing: 0.05em;
  background: linear-gradient(160deg, #0f3460 0%, #16213e 35%, #1a365d 70%, #2563eb 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  transition: opacity .22s ease, filter .22s ease;
}

.research-list-item:hover .research-list-num {
  opacity: 0.92;
  filter: brightness(1.15);
}

.research-list-body {
  flex: 1;
  min-width: 0;
}

.research-list-title {
  color: #1e2b45;
  margin: 0 0 8px;
  font-family: "Open Sans", Roboto, sans-serif;
  font-size: clamp(20px, 2.8vw, 40px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: .02em;
  text-shadow: 0 1px 2px #1e2b4515, 0 0 1px #1e2b4508;
  transition: color .22s ease;
}

.research-list-item:hover .research-list-title {
  color: #0f1a2e;
}

.research-list-paragraphs p {
  color: #3b4b68;
  margin: 0 0 1em;
  font-size: clamp(16px, 1.05vw, 18px);
  line-height: 1.6;
  text-align: left;
  transition: color .22s ease;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.research-list-item:hover .research-list-paragraphs p {
  color: #2d3d56;
}

.research-list-text {
  color: #3b4b68;
  margin: 0;
  font-size: clamp(16px, 1.05vw, 18px);
  line-height: 1.55;
}

.research-list-paragraphs {
  margin-top: 4px;
}

.research-list-paragraphs p:last-child {
  margin-bottom: 0;
}

.research-list-contacts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #d4dce8;
}

.research-contacts-label {
  color: #3c5f98;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.research-contact-person {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #2d4a7c;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  transition: color .2s ease;
}

.research-contact-person:hover {
  color: #1e3a6a;
}

.research-contact-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #d4dce8;
}

.research-contact-name {
  flex: 0 0 auto;
}

body.research-page {
  position: relative;
  background: linear-gradient(165deg, #e8f0fc 0%, #f0eef8 35%, #e8f4f8 70%, #f2eefc 100%);
  isolation: isolate;
}

body.research-page:before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: 1;
  background-image: radial-gradient(ellipse 80% 60% at 15% 20%, #d4e8ff88 0%, #c8dcf844 28%, #0000 55%), radial-gradient(ellipse 70% 50% at 88% 75%, #e8dcff99 0%, #ddd0f566 32%, #0000 58%), radial-gradient(ellipse 90% 70% at 50% 45%, #d8f0f888 0%, #cce8f044 35%, #0000 65%), repeating-radial-gradient(circle at 12% 25%, #5a8ae818 0 1.5px, #0000 1.5px 8px), repeating-radial-gradient(circle at 85% 72%, #7a6bc822 0 2px, #0000 2px 10px);
}

body.research-page:after {
  content: none;
}

body.team-page {
  position: relative;
  background: #f5f4f2;
  isolation: isolate;
}

body.team-page:before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: 1;
  background-image: repeating-radial-gradient(circle at 12% 25%, #c9a22706 0 1.5px, #0000 1.5px 8px), repeating-radial-gradient(circle at 85% 72%, #2a2a2a04 0 2px, #0000 2px 10px);
}

body.team-page:after {
  content: none;
}

.modern-team-hero {
  color: #fff;
  background-image: linear-gradient(132deg, var(--modern-hero-grad-1), var(--modern-hero-grad-2));
  background-position: 50%;
  background-size: cover;
  padding-top: 130px;
  padding-bottom: 100px;
}

.hero-section.team.modern-team-hero {
  background-image: linear-gradient(132deg, var(--modern-hero-grad-1), var(--modern-hero-grad-2));
  background-position: 50%;
  background-size: cover;
}

.home-nav-no-dropdown .w-nav-button {
  display: none;
}

.home-nav-no-dropdown .w-nav-menu {
  position: static;
  background: #0000;
  display: flex !important;
}

.homepage-tabs-section {
  background-color: var(--modern-surface-2);
}

.homepage-tabs-grid {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 12px;
  display: grid;
}

.homepage-tab-link {
  color: var(--modern-primary);
  text-align: center;
  background-color: var(--modern-surface);
  border: 1px solid var(--modern-border);
  border-radius: 0;
  padding: 14px 10px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color .2s, border-color .2s, transform .2s;
}

.homepage-tab-link:hover {
  background-color: #111d32;
  border-color: #9cb8ff;
  transform: translateY(-1px);
}

.homepage-tab-link.w--current {
  color: #fff;
  background-color: var(--modern-primary);
  border-color: var(--modern-primary);
}

.team-hero-title {
  color: var(--modern-ink);
  text-align: left;
  margin: 0 0 12px;
  font-size: 58px;
  font-weight: 700;
  line-height: 1.05;
}

.team-hero-subtitle {
  color: var(--modern-muted);
  text-align: left;
  margin: 0;
  max-width: 820px;
  font-size: 20px;
}

.team-jump-links {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
  display: flex;
}

.team-jump-links .focus-chip {
  color: var(--modern-primary);
  background-color: #eaf0ff;
  border-color: #b9ccf5;
  text-decoration: none;
}

.team-jump-links .focus-chip:hover {
  background-color: #dce8ff;
}

/* Team page redesign - aligned with home/research */
.team-section-title {
  color: #a67c52;
  margin: 0 0 28px;
  font-family: Montserrat, sans-serif;
  font-size: clamp(22px, 2.2vw, 28px);
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  text-align: left;
}

.team-pi-card {
  display: flex;
  gap: 36px;
  align-items: flex-start;
}

.team-pi-image-wrap {
  flex-shrink: 0;
  width: 280px;
  border-radius: 16px;
  overflow: hidden;
}

.team-pi-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.team-pi-bio {
  flex: 1;
  min-width: 0;
}

.team-pi-name {
  color: #0d1b2a;
  margin: 0 0 12px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  font-weight: 600;
}

.team-pi-intro {
  color: #3b4b68;
  margin: 0 0 20px;
  font-size: 17px;
  line-height: 1.55;
}

.team-pi-details p {
  color: #3b4b68;
  margin: 0 0 0.6em;
  font-size: 15px;
  line-height: 1.5;
}

.team-cta-link {
  display: inline-block;
  margin-top: 20px;
  color: #3c5f98;
  font-weight: 600;
  text-decoration: none;
  transition: color .22s ease;
}

.team-cta-link:hover {
  color: #2563eb;
}

/* Team members horizontal layout - photo+name+title left, bio right */
.team-members-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* Team page: one width, equal left/right margin (centered) */
.team-page .team-section .content-narrow,
.team-page .team-section:has(.team-members-list) .content-narrow {
  max-width: 1000px;
  padding-left: 32px;
  padding-right: 32px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

#team-students .content-narrow,
#team-alumni .content-narrow,
#cards-section .content-narrow,
#team-moments .content-narrow {
  max-width: 1000px;
}

.team-member-row {
  display: grid;
  grid-template-columns: 168px 1fr;
  gap: 28px;
  align-items: start;
}

.team-member-left {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.team-member-image-wrap {
  width: 168px;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 12px;
}

.team-member-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Favor upper area of source so full head/hair stays in frame (object-fit: cover crops center by default). */
.team-member-image.headshot-focus-head {
  object-position: 50% 8%;
}

#team-students .team-member-row .cards-image-mask img.headshot-focus-head,
#team-alumni .team-member-row .cards-image-mask img.headshot-focus-head,
#cards-section .team-member-row .cards-image-mask img.headshot-focus-head {
  object-position: 50% 5%;
}

.site-footer-contact-person img.headshot-focus-head,
.research-contact-avatar.headshot-focus-head {
  object-position: 50% 12%;
}

.team-member-name {
  color: #0d1b2a;
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: .02em;
}

.team-member-role {
  color: #3c5f98;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
}

.team-member-bio,
.team-member-row > p {
  color: #3b4b68;
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  text-align: left;
}

.member-degree {
  font-style: italic;
  font-size: 1em;
  line-height: 1.6;
  display: block;
  margin: 0;
  padding: 0;
}

.member-degree:last-of-type {
  margin-bottom: -0.25em;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

/* Card sections: no italic, no divider on degrees */
#team-students .member-degree,
#team-alumni .member-degree,
#cards-section .member-degree {
  font-style: normal;
  line-height: 1.6;
}

#team-students .member-degree:last-of-type,
#team-alumni .member-degree:last-of-type,
#cards-section .member-degree:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

/* Div-based cards: ensure h3/h6 use same styling as team-member-name/role */
.team-member-row h3:not(.team-member-name) {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: #0d1b2a;
  margin: 0;
}

.team-member-row h6 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #3c5f98;
  margin: 0;
}

/* Div-based cards (Yi Qi, Ben Philipson, Monica, etc.) - grid layout for image/h3/h6 left, p right */
.team-member-row:has(.cards-image-mask):not(:has(.team-member-left)) {
  display: grid;
  grid-template-columns: 168px 1fr;
  gap: 28px;
  align-items: start;
}

.team-member-row:has(.cards-image-mask):not(:has(.team-member-left)) .cards-image-mask {
  grid-column: 1;
  grid-row: 1;
  width: 168px;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 12px;
}

.team-member-row:has(.cards-image-mask):not(:has(.team-member-left)) .cards-image-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.team-member-row:has(.cards-image-mask):not(:has(.team-member-left)) h3,
.team-member-row:has(.cards-image-mask):not(:has(.team-member-left)) h6 {
  grid-column: 1;
  margin: 0 0 4px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: #0d1b2a;
}

.team-member-row:has(.cards-image-mask):not(:has(.team-member-left)) h6 {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #3c5f98;
}

.team-member-row:has(.cards-image-mask):not(:has(.team-member-left)) p {
  grid-column: 2;
  grid-row: 1 / -1;
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #3b4b68;
}

.team-section-alt {
  background-color: transparent;
}

/* Student Volunteers, Former Members & Officers of Morale: 5 per row, card layout (picture, name, title, bio) */
#team-students .team-members-list,
#team-alumni .team-members-list,
#cards-section .team-members-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
}

#team-students .team-member-row,
#team-alumni .team-member-row,
#cards-section .team-member-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

#team-students .team-member-row .cards-image-mask,
#team-alumni .team-member-row .cards-image-mask,
#cards-section .team-member-row .cards-image-mask {
  width: 100%;
  padding: 0;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 12px;
  position: relative;
  background-color: #e8e6e3;
}

#team-students .team-member-row .cards-image-mask:empty,
#team-alumni .team-member-row .cards-image-mask:empty,
#cards-section .team-member-row .cards-image-mask:empty {
  min-height: 120px;
}

#team-students .team-member-row .cards-image-mask img,
#team-alumni .team-member-row .cards-image-mask img,
#cards-section .team-member-row .cards-image-mask img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: unset;
  min-height: unset;
}

#team-students .team-member-row h3,
#team-alumni .team-member-row h3,
#cards-section .team-member-row h3 {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: #0d1b2a;
}

#team-students .team-member-row h6,
#team-alumni .team-member-row h6,
#cards-section .team-member-row h6 {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #3c5f98;
  overflow-wrap: break-word;
  word-break: break-word;
  min-width: 0;
}

#team-students .team-member-row p,
#team-alumni .team-member-row p,
#cards-section .team-member-row p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #3b4b68;
}

.team-page .team-section {
  background-color: transparent;
}

.team-page .modern-section.team-section {
  padding: 40px 0;
}

/* ---- MOMENTS section: auto-scrolling photo gallery ---- */
.moments-section {
  overflow: hidden;
}


.moments-scroll-wrap {
  width: 100vw;
  max-width: 100vw;
  overflow-x: auto;
  overflow-y: hidden;
  margin-left: calc(50% - 50vw);
  padding: 0 16px;
  box-sizing: border-box;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.moments-scroll-track {
  display: flex;
  gap: 16px;
  width: max-content;
  animation: moments-scroll 25.3s linear infinite;
  will-change: transform;
}

.moments-slide {
  flex-shrink: 0;
  width: clamp(220px, 38vw, 320px);
  height: clamp(150px, 28vw, 200px);
  display: flex;
  align-items: stretch;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  background: #1a1f28;
}

.moments-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  vertical-align: middle;
}

@keyframes moments-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media screen and (max-width: 991px) {
  .moments-slide {
    width: clamp(200px, 44vw, 280px);
    height: clamp(140px, 32vw, 180px);
  }
}

@media screen and (max-width: 767px) {
  .moments-scroll-track {
    animation-duration: 20.7s;
  }

  .moments-slide {
    width: clamp(160px, 72vw, 260px);
    height: clamp(120px, 42vw, 160px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .moments-scroll-track {
    animation: none;
  }
}

/* ---- Publications page ---- */
.publications-page {
  position: relative;
  overflow-x: hidden;
  min-height: 100vh;
}

/* Fixed background via pseudo-element so it works on mobile (background-attachment:fixed is unsupported on iOS) */
.publications-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: 0.85;
  background: url('../images/publication_background-hero.jpg') no-repeat center center;
  background-size: cover;
}

.publications-page .hero-inline-tab {
  color: #ffffff;
  font-weight: 600;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.85),
    0 1px 3px rgba(0, 0, 0, 0.75),
    0 0 18px rgba(0, 0, 0, 0.45);
}

.publications-page .hero-inline-tab:not(.w--current) {
  color: rgba(255, 255, 255, 0.9);
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.82),
    0 1px 3px rgba(0, 0, 0, 0.72),
    0 0 16px rgba(0, 0, 0, 0.42);
}

@media (hover: hover) {
  .publications-page .hero-inline-tab:not(.w--current):hover {
    color: #ffffff;
    text-shadow:
      0 0 1px rgba(0, 0, 0, 0.88),
      0 1px 3px rgba(0, 0, 0, 0.78),
      0 0 20px rgba(0, 0, 0, 0.48);
    transform: translateY(-3.6px) scale(1.048);
  }
}

.publications-page .hero-inline-tab.w--current {
  color: #ffffff;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.88),
    0 1px 3px rgba(0, 0, 0, 0.8),
    0 0 20px rgba(0, 0, 0, 0.5);
}

.publications-page .hero-inline-tab.w--current:hover {
  color: #ffffff;
  letter-spacing: .12em;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.88),
    0 1px 3px rgba(0, 0, 0, 0.8),
    0 0 20px rgba(0, 0, 0, 0.5);
  transform: none;
}

.publications-hero {
  position: relative;
  height: 550px;
  min-height: 550px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 0;
  padding-bottom: 0;
}

.publications-hero-title {
  margin: 0;
  text-align: center;
  font-family: Montserrat, Roboto, Open Sans, Arial, sans-serif;
  font-size: clamp(42px, 7.2vw, 92px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #d6dde6;
  background-image: linear-gradient(180deg, #fbfdff 0%, #e7edf3 45%, #c4ccd6 100%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  opacity: 0;
  transform: translateY(14px);
  animation: research-lockup-appear 820ms cubic-bezier(0.19, 1, 0.22, 1) 120ms forwards;
  will-change: opacity, transform;
  text-shadow:
    0 0 14px rgba(255, 255, 255, 0.62),
    0 1px 2px rgba(24, 30, 40, 0.26);
}

@media screen and (max-width: 991px) {
  .publications-hero {
    height: 420px;
    min-height: 420px;
  }

  .publications-hero-title {
    font-size: clamp(36px, 8vw, 74px);
  }

  .publications-page .modern-section.publications-content-section {
    margin-top: 16px;
  }
}

@media screen and (max-width: 767px) {
  .publications-hero {
    height: 350px;
    min-height: 350px;
  }

  .publications-hero-title {
    font-size: clamp(28px, 10vw, 52px);
    letter-spacing: 0.1em;
  }

  .publications-page .modern-section.publications-content-section {
    padding-top: 24px;
    margin-top: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .publications-hero-title {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

.publications-page .publications-content-section .content-narrow {
  max-width: 880px;
  padding-left: 32px;
  padding-right: 32px;
}

.publications-page-title {
  color: #1e2b45;
  margin: 0 0 32px;
  font-family: "IBM Plex Sans", "Roboto", system-ui, sans-serif;
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 700;
}

.publications-year-details {
  margin: 0;
  margin-left: clamp(14px, 2vw, 28px);
  margin-right: clamp(14px, 2vw, 28px);
  border-top: 1px solid rgba(74, 53, 40, 0.2);
  border-bottom: 1px solid rgba(74, 53, 40, 0.2);
}

.publications-year-details + .publications-year-details {
  border-top: none;
}

.publications-year {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0;
  cursor: pointer;
  color: #1e2b45;
  font-family: "Roboto", "IBM Plex Sans", system-ui, sans-serif;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 500;
  letter-spacing: 0.02em;
  list-style: none;
  transition: color 0.2s ease;
}

.publications-year::-webkit-details-marker,
.publications-year::marker {
  display: none;
}

.publications-year:hover {
  color: #4a3528;
}

.publications-year:hover::before {
  opacity: 1;
}

.publications-year::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: #4a3528;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.publications-year-details[open] .publications-year {
  color: #1e2b45;
}

.publications-year::after {
  content: "+";
  font-size: 18px;
  font-weight: 400;
  opacity: 0.5;
  transition: opacity 0.2s ease;
}

.publications-year-details[open] .publications-year::after {
  content: "−";
}

.publications-year-details .publications-list {
  margin: 0;
  padding: 0 0 28px;
}

.publications-list {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.publications-list li {
  margin-bottom: 16px;
  color: #2b241d;
  font-size: 16px;
  line-height: 1.7;
  text-align: left;
  font-family: "IBM Plex Sans", "Roboto", system-ui, sans-serif;
  font-weight: 400;
}

.publications-list li a {
  color: #2b241d;
  font-weight: 400;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.22s ease, border-color 0.22s ease;
}

.publications-list li a:hover {
  color: #2d1f14;
  border-bottom-color: #2d1f14;
}

.publications-list li em {
  font-style: italic;
}

/* Keep author emphasis but remove bold from linked publication titles */
.publications-list li > strong {
  font-weight: 700;
}

.publications-list li a strong {
  font-weight: 400;
}

.publications-page .modern-section.publications-content-section {
  background: rgba(255, 252, 245, 0.92);
  margin: 24px 16px 0;
  border-radius: 8px;
  padding: 40px 24px;
}

@media screen and (min-width: 992px) {
  .publications-page .modern-section.publications-content-section {
    width: max(66vw, 968px);
    max-width: calc(100vw - 32px);
    margin-left: auto;
    margin-right: auto;
  }

  .publications-page .publications-content-section .content-narrow {
    width: max(60vw, 880px);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }

  .publications-year {
    padding-left: clamp(16px, 1.6vw, 28px);
    padding-right: clamp(16px, 1.6vw, 28px);
  }

  .publications-year-details .publications-list {
    padding-left: clamp(16px, 1.6vw, 28px);
    padding-right: clamp(16px, 1.6vw, 28px);
  }
}

.team-page .team-collection-section {
  padding-top: 56px;
  padding-bottom: 56px;
}


.team-page .cards-image {
  border-radius: 16px;
}

.team-page .heading-20,
.team-page .heading-21,
.team-page .heading-22,
.team-page .heading-23,
.team-page .heading-24,
.team-page .heading-25,
.team-page .heading-26,
.team-page .heading-27,
.team-page .heading-28,
.team-page .heading-29,
.team-page .heading-32,
.team-page .heading-34,
.team-page .heading-35,
.team-page .heading-37,
.team-page .heading-38,
.team-page .heading-39,
.team-page .heading-40,
.team-page .heading-41 {
  text-align: left;
}

.team-page .paragraph,
.team-page .paragraph-3,
.team-page .paragraph-4,
.team-page .paragraph-5,
.team-page .paragraph-7,
.team-page .paragraph-9,
.team-page .paragraph-10,
.team-page .paragraph-13 {
  text-align: left;
  font-size: 15px;
  line-height: 1.65;
}

.hollow-button.all-caps {
  background-color: #ffffffd6;
  border-color: #9db8ef;
}

.focus-chip {
  color: var(--modern-primary);
  background-color: #eaf0ff;
  border-color: #c7d6ff;
}

.team-jump-links .focus-chip {
  color: var(--modern-primary);
  background-color: #eaf0ff;
  border-color: #b9ccf5;
}

.homepage-tab-link {
  color: var(--modern-primary);
  background-color: var(--modern-surface);
  border-color: var(--modern-border);
}

.homepage-tab-link:hover {
  background-color: var(--modern-surface);
  border-color: #9cb8ff;
}

@media screen and (max-width: 991px) {
  .team-hero-title {
    font-size: 44px;
  }

  .team-hero-subtitle {
    font-size: 18px;
  }

  .homepage-tabs-grid {
    grid-template-columns: repeat(3, minmax(140px, 1fr));
  }

  .research-list-item {
    margin: 0;
    padding: 24px 20px;
  }

  .research-content-area .content-narrow {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 767px) {
  .modern-team-hero {
    padding-top: 96px;
    padding-bottom: 76px;
  }

  .team-hero-title {
    font-size: 34px;
  }

  .team-hero-subtitle {
    font-size: 17px;
  }

  .home-nav-no-dropdown .w-nav-menu {
    flex-wrap: wrap;
    justify-content: center;
  }

  .home-nav-no-dropdown .navigation-link {
    padding-left: 12px;
    padding-right: 12px;
  }

  .homepage-tabs-grid {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }

  .research-list-item {
    gap: 18px;
    padding: 22px 16px;
    margin: 0;
  }

  .research-content-area .content-narrow {
    padding-left: 16px;
    padding-right: 16px;
  }

  .research-list-num {
    font-size: clamp(64px, 18vw, 100px);
  }

  .team-pi-card {
    flex-direction: column;
    gap: 24px;
  }

  .team-pi-image-wrap {
    width: 100%;
    max-width: 280px;
  }

  .team-member-row {
    grid-template-columns: 1fr;
  }

  .team-member-row .team-member-left {
    order: 1;
  }

  .team-member-row .team-member-bio {
    order: 2;
  }

  .team-member-row:has(.cards-image-mask):not(:has(.team-member-left)) {
    grid-template-columns: 1fr;
  }

  .team-member-row:has(.cards-image-mask):not(:has(.team-member-left)) .cards-image-mask,
  .team-member-row:has(.cards-image-mask):not(:has(.team-member-left)) h3,
  .team-member-row:has(.cards-image-mask):not(:has(.team-member-left)) h6 {
    grid-column: 1;
  }

  .team-member-row:has(.cards-image-mask):not(:has(.team-member-left)) p {
    grid-column: 1;
    grid-row: auto;
  }

  #team-students .team-members-list,
  #team-alumni .team-members-list,
  #cards-section .team-members-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  #team-students .team-members-list,
  #team-alumni .team-members-list,
  #cards-section .team-members-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 599px) {
  .team-member-row {
    grid-template-columns: 1fr;
  }

  .team-member-row .team-member-left {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
  }

  .team-member-row .team-member-image-wrap {
    width: 100px;
  }

  .team-member-row:has(.cards-image-mask):not(:has(.team-member-left)) .cards-image-mask {
    width: 100px;
  }

  #team-students .team-members-list,
  #team-alumni .team-members-list,
  #cards-section .team-members-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
}

@media screen and (max-width: 479px) {
  #team-students .team-members-list,
  #team-alumni .team-members-list,
  #cards-section .team-members-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
}

/* Home hero lockup: anchored from top so y-position stays stable as width changes */
.hero-section.home.hero-theme-picture .w-container {
  position: relative;
}

.hero-overlay-box.hero-lockup {
  width: calc(0.9 * var(--mission-inner-width, 816px));
  max-width: 775px;
  min-width: 0;
  position: absolute;
  top: 220px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
  display: block;
}

.hero-lockup-brand {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .hero-overlay-box.hero-lockup {
    width: calc(0.90 * var(--mission-inner-width, 816px));
    max-width: none;
    top: 220px;
    transform: translateX(-50%);
    transform-origin: 50% 0;
  }
}

/* Footer panels: equal card system for wide and narrow layouts */
.site-footer-inner {
  width: min(1160px, calc(100% - 64px));
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(3, 340px);
  justify-content: center;
  gap: 24px;
  align-items: stretch;
  box-sizing: border-box;
}

.site-footer-left,
.site-footer-contact,
.site-footer-logos {
  width: 340px;
  max-width: 340px;
  min-width: 340px;
  height: 392px;
  box-sizing: border-box;
  padding: 18px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.site-footer-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
}

.site-footer-contact,
.site-footer-logos {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}

.site-footer-contact-title,
.site-footer-funding-title {
  width: 100%;
  margin: 0 0 12px;
  text-align: left;
}

.site-footer-colket {
  width: 100%;
  height: 230px;
  object-fit: cover;
  border-radius: 10px;
}

.site-footer-address {
  width: 100%;
  margin: 0;
}

.site-footer-contact-grid,
body.home-page .site-footer-contact-grid,
.publications-page .site-footer-contact-grid {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(5, minmax(0, auto));
  gap: 18px 18px;
}

.site-footer-contact-person {
  min-width: 0;
  white-space: normal;
  font-size: 14px;
  line-height: 1.22;
}

.site-footer-contact-person span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.site-footer-logos-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

/* Home page contrast tuning on dark background */
body.home-page .site-footer-left,
body.home-page .site-footer-contact,
body.home-page .site-footer-logos {
  background: rgba(13, 25, 55, 0.62);
  border: 1px solid rgba(197, 217, 255, 0.28);
}

body.home-page .site-footer-address {
  color: rgba(240, 247, 255, 0.95);
  background: rgba(8, 18, 40, 0.6);
}

body.home-page .site-footer-contact-title,
body.home-page .site-footer-funding-title {
  color: #dbeafe;
  text-shadow: none;
}

body.home-page .site-footer-contact-person {
  color: rgba(245, 250, 255, 0.96);
  text-shadow: none;
}

/* Medium windows: switch from 3 cards to 2 cards */
@media (max-width: 1131px) {
  .site-footer-inner {
    width: min(704px, calc(100% - 48px));
    grid-template-columns: repeat(2, 340px);
    gap: 18px;
  }

  .site-footer-logos {
    grid-column: 1 / -1;
    justify-self: center;
  }
}

/* Narrow windows: one centered vertical stack */
@media (max-width: 767px) {
  .site-footer-inner {
    width: min(340px, calc(100% - 48px));
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .site-footer-left,
  .site-footer-contact,
  .site-footer-logos {
    grid-column: auto;
    justify-self: auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}
