/* ==========================================================================
   YILDIRIM LAB — PREMIUM SITE STYLES
   Cascade-preserving organized edition

   Notes
   - Source order is intentionally preserved so the current site appearance
     and override behavior remain unchanged.
   - Only declarations that were fully superseded later by the exact same
     selector in the exact same media context were removed.
   - Visual effects were not removed for performance reasons.
   - Cleanup: 57 superseded declarations removed; 13 empty duplicate
     rule blocks eliminated; cascade order otherwise preserved.
   ========================================================================== */

/* ==========================================================================
   01 — CORE DESIGN SYSTEM & SITE-WIDE COMPONENTS
   ========================================================================== */

.premium-site {
  --p-navy: #17324D;
  --p-navy-deep: #10263D;
  --p-teal: #1F8A8A;
  --p-teal-dark: #176D70;
  --p-gold: #C8A96B;
  --p-ivory: #FAF8F4;
  --p-ivory-2: #F5F2EB;
  --p-mist: #E8EEF0;
  --p-ink: #26384A;
  --p-muted: #687782;
  --p-line: #E3E1DA;
  --p-radius: 22px;
  margin: 0;
  background: var(--p-ivory);
  color: var(--p-ink);
  font-family: Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}

.premium-site * {
  box-sizing: border-box;
}

.premium-site h1,
.premium-site h2,
.premium-site h3,
.premium-site .brand-title {
  font-family: "Cormorant Garamond",Georgia,"Times New Roman",serif;
}

.premium-site .skip {
  position: absolute;
  left: -9999px;
}

.premium-site .skip:focus {
  left: 16px;
  top: 12px;
  z-index: 999;
  background: white;
  padding: 10px 14px;
  border-radius: 10px;
  color: var(--p-navy);
}

.premium-site .site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(250,248,244,.985);
  border-bottom: 1px solid rgba(23,50,77,.08);
}

.premium-site .navbar {
  max-width: 1280px;
  margin: auto;
  min-height: 78px;
  padding: 11px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.premium-site .brand {
  display: flex;
  align-items: center;
  gap: 11px;
  text-decoration: none;
}

.premium-site .brand-logo {
  width: 47px;
  height: 47px;
  display: block;
}

.premium-site .brand-title {
  display: block;
  font-size: 29px;
  font-weight: 600;
  letter-spacing: -.025em;
  color: var(--p-navy);
  line-height: .95;
}

.premium-site .brand-title em {
  font-style: normal;
  color: var(--p-gold);
}

.premium-site .brand-sub {
  display: block;
  font-size: 10px;
  letter-spacing: .135em;
  text-transform: uppercase;
  color: var(--p-teal-dark);
  margin-top: 7px;
  font-weight: 750;
}

.premium-site .nav-toggle {
  display: none;
  border: 1px solid rgba(23,50,77,.15);
  background: #fff;
  border-radius: 12px;
  padding: 9px 12px;
  font-weight: 700;
  color: var(--p-navy);
}

.premium-site .nav {
  display: flex;
  align-items: center;
  gap: 3px;
}

.premium-site .nav>a,
.premium-site .dropdown>button {
  font: 650 14px/1 Inter,ui-sans-serif,system-ui,sans-serif;
  color: var(--p-navy);
  text-decoration: none;
  padding: 12px 11px;
  border-radius: 11px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.premium-site .nav>a:hover,
.premium-site .dropdown:hover>button,
.premium-site .dropdown>button:focus {
  background: rgba(31,138,138,.065);
  color: var(--p-teal-dark);
}

.premium-site .dropdown {
  position: relative;
}

.premium-site .dropdown-menu {
  display: block;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: calc(100% - 2px);
  left: 0;
  min-width: 268px;
  background: rgba(255,255,255,.985);
  border: 1px solid rgba(23,50,77,.10);
  border-radius: 16px;
  padding: 7px;
  z-index: 1000;
  box-shadow: none;
  transform: none;
  transition: none;
}

.premium-site .dropdown:hover .dropdown-menu,
.premium-site .dropdown:focus-within .dropdown-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.premium-site .dropdown-menu a {
  display: block;
  text-decoration: none;
  color: #536272;
  padding: 11px 14px;
  border-radius: 10px;
  font: 500 13px/1.42 Inter,ui-sans-serif,system-ui,sans-serif;
  letter-spacing: -.003em;
}

.premium-site .dropdown-menu a:hover {
  background: #F7FAF9;
  color: var(--p-teal-dark);
}

.premium-site .nav .ayla-pill {
  box-shadow: none !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: var(--p-navy);
  border: 1px solid rgba(31, 138, 138, 0.26);
  padding-inline: 13px;
}

.premium-site .nav .ayla-pill:hover,
.premium-site .nav .ayla-pill:focus,
.premium-site .nav .ayla-pill:focus-visible {
  box-shadow: none !important;
}

.premium-site .nav .ayla-pill:before {
  content: "";
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: url("../images/ayla-emblem.svg") center/contain no-repeat;
}

.premium-site .nav .ayla-pill:hover {
  background: rgba(25, 198, 194, 0.05);
  /* background: #EDF7F5;
    color: var(--p-teal-dark);*/
}

/* light editorial subpage hero */

.premium-site .page-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg,#FCFBF8,var(--p-ivory));
  color: var(--p-ink);
  border-bottom: 1px solid var(--p-line);
}

.premium-site .page-hero:before {
  content: "";
  position: absolute;
  right: 5%;
  top: -65%;
  width: 430px;
  height: 430px;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(31,138,138,.11),rgba(31,138,138,.03) 48%,transparent 69%);
}

.premium-site .page-hero:after {
  content: "";
  position: absolute;
  right: 7%;
  top: 14%;
  width: 270px;
  height: 150px;
  border-radius: 50%;
  border: 1px solid rgba(200,169,107,.19);
  transform: rotate(-17deg);
}

.premium-site .page-title {
  position: relative;
  z-index: 1;
  margin: auto;
}

.premium-site .page-title .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: transparent;
  border: 0;
  padding: 0;
  color: var(--p-teal-dark);
  font: 800 11px/1 Inter,sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.premium-site .page-title .eyebrow:before {
  content: "";
  width: 34px;
  height: 1px;
  background: var(--p-gold);
}

.premium-site .page-title h1 {
  font-size: clamp(44px,5.7vw,72px);
  line-height: .95;
  letter-spacing: -.04em;
  color: var(--p-navy);
  font-weight: 600;
  margin: 12px 0 12px;
}

.premium-site .page-title p {
  max-width: 1180px;
  color: var(--p-muted);
  margin: 0;
}

.premium-site .content {
  max-width: 1280px;
  margin: auto;
  padding: 46px 28px 72px;
}

.premium-site .content-narrow {
  max-width: 900px;
}

.premium-site .prose {
  font-size: 16.5px;
  line-height: 1.72;
}

.premium-site .prose>h2 {
  font-size: 34px;
  line-height: 1.05;
  letter-spacing: -.025em;
  color: var(--p-navy);
  font-weight: 600;
  margin: 40px 0 16px;
}

.premium-site .prose>h2:first-child {
  margin-top: 0;
}

.premium-site .prose h3 {
  color: var(--p-navy);
  font-size: 24px;
  font-weight: 600;
}

.premium-site .prose p,
.premium-site .prose li {
  color: #465565;
}

.premium-site .prose a {
  color: var(--p-teal-dark);
  font-weight: 700;
}

.premium-site .prose img:not(.person-photo) {
  max-width: 100%;
  height: auto;
  border-radius: 18px;
}

.premium-site .card,
.premium-site .pub,
.premium-site .person,
.premium-site .callout,
.premium-site .info-list div {
  background: #FEFDFB;
  border: 1px solid var(--p-line);
}

.premium-site .card {
  border-radius: 20px;
  padding: 23px;
}

.premium-site .card:before {
  display: none;
}

.premium-site .card h3 {
  font-size: 25px;
  font-weight: 600;
}

.premium-site .card p {
  color: var(--p-muted);
}

.premium-site .badge {
  background: #EEF7F5;
  color: var(--p-teal-dark);
}

.premium-site .card-icon {
  background: #F1F8F6;
  border: 1px solid #DCEAE6;
}

.premium-site .card-icon svg {
  stroke: var(--p-teal-dark);
}

.premium-site .callout {
  background: linear-gradient(135deg,#F1F8F6,#FBF8F1);
  border-radius: 20px;
  padding: 22px 24px;
}

.premium-site .pub {
  border-radius: 16px;
  padding: 18px 20px;
}

.premium-site .person {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 28px;
  align-items: center;
}

.premium-site .avatar {
  width: 120px;
  height: 120px;
  flex-shrink: 0;
  background: linear-gradient( 135deg, #EAF6F3, #F7F0E3 );
  color: var(--p-teal-dark);
  border: 1px solid #DDEAE6;
}

.premium-site .avatar img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.premium-site .person.featured {
  background: linear-gradient(135deg,#FEFDFB,#F5F9F7);
}

.premium-site .person.featured h3 {
  font-size: 30px;
  font-weight: 600;
  line-height: 1.02;
  margin: 0 0 10px;
}

.premium-site .person.featured p {
  font-size: 15.5px;
  line-height: 1.78;
  color: #5C6A77;
  margin: 0 0 12px;
}

.premium-site .person.featured p strong {
  color: var(--p-navy);
  font-weight: 600;
}

.premium-site .person-photo {
  border-radius: 18px;
}

.premium-site .btn {
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 750;
}

.premium-site .btn.primary {
  background: var(--p-teal);
  color: #fff;
}

.premium-site .btn.light {
  background: #fff;
  color: var(--p-navy);
  border-color: rgba(23,50,77,.15);
}

/* AYLA landing page */

.premium-site .ayla-panel {
  background: linear-gradient(120deg,#EEF8F5 0%,#E8F2F1 58%,#F8F1E5 100%);
  color: var(--p-ink);
  border: 1px solid rgba(31,138,138,.17);
  border-radius: 28px;
  padding: 34px;
  position: relative;
  overflow: hidden;
}

.premium-site .ayla-panel:after {
  content: "";
  position: absolute;
  right: -90px;
  top: -110px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  border: 1px solid rgba(31,138,138,.15);
}

.premium-site .ayla-panel p {
  color: #52656E;
}

.premium-site .ayla-panel h2 {
  color: var(--p-navy) !important;
  font-size: 40px;
  font-weight: 600;
}

.premium-site .ayla-identity {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 20px;
  position: relative;
  z-index: 2;
}

.premium-site .ayla-identity img {
  width: 82px;
  height: 82px;
}

.premium-site .ayla-identity strong {
  font-family: "Cormorant Garamond",Georgia,serif;
  font-size: 36px;
  font-weight: 600;
  color: var(--p-navy);
  letter-spacing: .10em;
}

.premium-site .ayla-identity span {
  display: block;
  font-size: 12px;
  color: var(--p-teal-dark);
  font-weight: 700;
  margin-top: 3px;
}

.premium-site .ayla-panel .actions {
  position: relative;
  z-index: 2;
}

/* footer */

.premium-site .site-footer {
  margin-top: 0;
  background: var(--p-navy-deep);
  color: #EAF0F3;
  padding: 42px 0 22px;
}

.premium-site .footer-grid {
  max-width: 1280px;
  margin: auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 34px;
  align-items: start;
}

.premium-site .footer-brand-lockup {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 12px;
}

.premium-site .footer-brand-lockup img {
  width: 42px;
  height: 42px;
}

.premium-site .footer-brand-lockup strong {
  font-family: "Cormorant Garamond",Georgia,serif;
  font-size: 27px;
  font-weight: 600;
}

.premium-site .site-footer p,
.premium-site .site-footer a {
  color: #BFCBD2;
  text-decoration: none;
  font-size: 13px;
  line-height: 1.7;
}

.premium-site .site-footer a:hover {
  color: white;
}

.premium-site .footer-col h4 {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .15em;
  color: #EEDDBD;
  margin: 4px 0 10px;
}

.premium-site .footer-links {
  display: grid;
  gap: 5px;
}

.premium-site .footer-base {
  max-width: 1280px;
  margin: 27px auto 0;
  padding: 18px 28px 0;
  border-top: 1px solid rgba(255,255,255,.1);
  color: #8FA2AD;
  font-size: 11px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

@media (max-width:980px) {
  .premium-site .nav-toggle {
    display: block;
  }

  .posters-page .poster-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-site .nav {
    display: none;
    background: #fff;
    border: 1px solid var(--p-line);
    border-radius: 18px;
    flex-direction: column;
    align-items: stretch;
  }

  .premium-site .nav.open {
    display: flex;
  }

  .premium-site .nav>a,
  .premium-site .dropdown>button {
    width: 100%;
    text-align: left;
  }

  .premium-site .dropdown-menu {
    position: static;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    border: 0;
    background: #F7F9F7;
    margin: 2px 0 8px;
    min-width: 0;
  }

  .premium-site .dropdown-menu a {
    padding-left: 17px;
  }

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

  .premium-site .footer-grid>div:first-child {
    grid-column: 1/-1;
  }
}

@media (max-width:700px) {
  .premium-site .navbar {
    padding: 9px 18px;
  }

  .premium-site .brand-logo {
    width: 41px;
    height: 41px;
  }

  .premium-site .brand-title {
    font-size: 24px;
  }

  .premium-site .brand-sub {
    font-size: 8px;
  }

  .premium-site .content {
    padding: 34px 20px 58px;
  }

  .premium-site .footer-grid {
    grid-template-columns: 1fr;
    padding: 0 20px;
  }

  .premium-site .footer-grid>div:first-child {
    grid-column: auto;
  }

  .premium-site .footer-base {
    display: block;
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Resource pages: visual, card-based presentation */

.premium-site .resource-showcase {
  max-width: 1180px;
  margin: auto;
  padding: 44px 28px 76px;
}

.premium-site .resource-intro-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 34px;
  align-items: center;
  margin-bottom: 42px;
}

.premium-site .resource-intro-copy h2 {
  font-size: clamp(34px,4vw,48px);
  line-height: 1;
  letter-spacing: -.03em;
  color: var(--p-navy);
  font-weight: 600;
  margin: 0 0 14px;
}

.premium-site .resource-intro-copy p {
  font-size: 16px;
  line-height: 1.75;
  color: var(--p-muted);
  margin: 0;
  max-width: 650px;
}

.premium-site .resource-visual {
  min-height: 220px;
  border: 1px solid var(--p-line);
  border-radius: 26px;
  background: linear-gradient(135deg,#F2F8F7 0%,#FCFBF8 52%,#F7F0E4 100%);
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
  align-items: center;
  padding: 26px;
  position: relative;
  overflow: hidden;
}

.premium-site .resource-visual:before {
  content: "";
  position: absolute;
  right: -75px;
  top: -95px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  border: 1px solid rgba(31,138,138,.13);
}

.premium-site .resource-visual:after {
  content: "";
  position: absolute;
  left: -100px;
  bottom: -120px;
  width: 270px;
  height: 210px;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(31,138,138,.10),transparent 70%);
}

.premium-site .resource-visual-item {
  position: relative;
  z-index: 2;
  text-align: center;
  color: var(--p-navy);
}

.premium-site .resource-visual-icon {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0 auto 12px;
  background: rgba(250,248,244,.88);
  border: 1px solid #E4D8C2;
  color: var(--p-teal-dark);
}

.premium-site .resource-visual-icon svg {
  width: 31px;
  height: 31px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.premium-site .resource-visual-item strong {
  display: block;
  font: 600 18px/1.05 "Cormorant Garamond",Georgia,serif;
}

.premium-site .resource-visual-item span {
  display: block;
  font-size: 10px;
  line-height: 1.45;
  color: var(--p-muted);
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-weight: 700;
}

.premium-site .resource-category {
  margin-top: 38px;
}

.premium-site .resource-category:first-of-type {
  margin-top: 0;
}

.premium-site .resource-category-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--p-line);
}

.premium-site .resource-category-head h2 {
  font-size: 31px;
  line-height: 1.05;
  color: var(--p-navy);
  font-weight: 600;
  margin: 0;
}

.premium-site .resource-category-head p {
  font-size: 13px;
  color: var(--p-muted);
  margin: 0;
  max-width: 480px;
  text-align: right;
}

.premium-site .resource-card-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 16px;
}

.premium-site .resource-card-grid.two {
  grid-template-columns: repeat(2,1fr);
}

.premium-site .resource-tile {
  position: relative;
  min-height: 168px;
  background: #FEFDFB;
  border: 1px solid var(--p-line);
  border-radius: 19px;
  padding: 19px 19px 17px;
  text-decoration: none;
  color: inherit;
  transition: border-color .18s ease;
  overflow: hidden;
}

.premium-site a.resource-tile:hover {
  border-color: rgba(31,138,138,.25);
}

.premium-site .resource-tile:after {
  content: "";
  position: absolute;
  right: -38px;
  bottom: -50px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(31,138,138,.08),transparent 68%);
  pointer-events: none;
}

.premium-site .resource-tile-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.premium-site .resource-tile-icon {
  width: 43px;
  height: 43px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--p-ivory);
  border: 1px solid #E7DBC6;
  color: var(--p-teal-dark);
  flex: none;
}

.premium-site .resource-tile-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.premium-site .resource-tag {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .11em;
  color: #87939B;
  font-weight: 800;
}

.premium-site .resource-tile h3 {
  font-family: "Cormorant Garamond",Georgia,serif;
  font-size: 24px;
  line-height: 1.06;
  color: var(--p-navy);
  font-weight: 600;
  margin: 0 0 7px;
}

.premium-site .resource-tile p {
  font-size: 12.5px;
  line-height: 1.58;
  color: var(--p-muted);
  margin: 0;
}

.premium-site .resource-tile .resource-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: var(--p-teal-dark);
  font-weight: 750;
  margin-top: 13px;
}

.premium-site .resource-note {
  margin-top: 24px;
  padding: 20px 22px;
  border: 1px solid rgba(31,138,138,.16);
  background: linear-gradient(120deg,#F2F8F6,#FBF8F1);
  border-radius: 18px;
  color: #556671;
  font-size: 13px;
  line-height: 1.65;
}

.premium-site .resource-note strong {
  color: var(--p-navy);
}

.premium-site .journal-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 14px;
}

.premium-site .journal-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 76px;
  padding: 15px 17px;
  text-decoration: none;
  background: #FEFDFB;
  border: 1px solid var(--p-line);
  border-radius: 16px;
  color: var(--p-navy);
  transition: .18s ease;
}

.premium-site .journal-link:hover {
  border-color: rgba(31,138,138,.25);
}

.premium-site .journal-link span:first-child {
  font: 600 18px/1.06 "Cormorant Garamond",Georgia,serif;
}

.premium-site .journal-link .external-mark {
  font: 700 16px/1 Inter,sans-serif;
  color: var(--p-teal-dark);
  flex: none;
}

.premium-site .hub-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 18px;
}

.premium-site .hub-card {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 16px;
  align-items: start;
  padding: 21px;
  background: #FEFDFB;
  border: 1px solid var(--p-line);
  border-radius: 20px;
  text-decoration: none;
  transition: .18s ease;
  color: inherit;
}

.premium-site a.hub-card:hover {
  border-color: rgba(31,138,138,.25);
}

.premium-site .hub-card .resource-tile-icon {
  width: 58px;
  height: 58px;
}

.premium-site .hub-card .resource-tile-icon svg {
  width: 27px;
  height: 27px;
}

.premium-site .hub-card h3 {
  font-family: "Cormorant Garamond",Georgia,serif;
  color: var(--p-navy);
  font-size: 25px;
  line-height: 1.05;
  font-weight: 600;
  margin: 1px 0 6px;
}

.premium-site .hub-card p {
  font-size: 13px;
  line-height: 1.55;
  color: var(--p-muted);
  margin: 0;
}

.premium-site .hub-card .resource-link {
  font-size: 11px;
  color: var(--p-teal-dark);
  font-weight: 750;
  margin-top: 9px;
  display: inline-block;
}

@media (max-width:900px) {
  .premium-site .resource-intro-grid {
    grid-template-columns: 1fr;
  }

  .premium-site .resource-card-grid,
  .premium-site .journal-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .premium-site .resource-category-head {
    display: block;
  }

  .premium-site .resource-category-head p {
    text-align: left;
    margin-top: 6px;
  }
}

@media (max-width:620px) {
  .premium-site .resource-showcase {
    padding: 34px 20px 58px;
  }

  .premium-site .resource-visual {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .premium-site .resource-card-grid,
  .premium-site .resource-card-grid.two,
  .premium-site .journal-grid,
  .premium-site .hub-grid {
    grid-template-columns: 1fr;
  }

  .premium-site .resource-visual-item {
    display: grid;
    grid-template-columns: 58px 1fr;
    column-gap: 12px;
    text-align: left;
    align-items: center;
  }

  .premium-site .resource-visual-icon {
    width: 54px;
    height: 54px;
    grid-row: 1/3;
    margin: 0;
  }

  .premium-site .resource-visual-item strong {
    align-self: end;
  }

  .premium-site .resource-visual-item span {
    align-self: start;
  }
}

/* ==========================================================================
   02 — SHARED PAGE MODULES & PAGE-SPECIFIC LAYOUTS
   ========================================================================== */

html {
  scroll-padding-top: 120px;
}

.premium-site .nav>a,
.premium-site .dropdown>button,
.premium-site .dropdown>.nav-parent {
  font: 650 13.5px/1 Inter,ui-sans-serif,system-ui,sans-serif;
  color: var(--p-navy);
  text-decoration: none;
  padding: 12px 9px;
  border-radius: 11px;
  border: 0;
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
}

.premium-site .dropdown>.nav-parent {
  display: block;
}

.premium-site .nav>a:hover,
.premium-site .dropdown:hover>button,
.premium-site .dropdown>button:focus,
.premium-site .dropdown:hover>.nav-parent,
.premium-site .dropdown>.nav-parent:focus {
  background: rgba(31,138,138,.065);
  color: var(--p-teal-dark);
}

.premium-site [aria-current="page"] {
  color: var(--p-teal-dark) !important;
}

.premium-site .section-intro-block {
  margin-bottom: 34px;
}

.premium-site .section-intro-block h2 {
  font-size: clamp(34px,4.5vw,50px);
  line-height: 1;
  letter-spacing: -.035em;
  color: var(--p-navy);
  margin: 8px 0 14px;
  font-weight: 600;
}

.premium-site .section-kicker {
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--p-teal-dark);
  font-weight: 800;
}

.premium-site .lead {
  font-size: 17px;
  color: var(--p-muted);
  max-width: 860px;
}

.premium-site .source-note {
  font-size: 12.5px;
  color: #7A858C;
  margin: 18px 0 0;
}

.premium-site .tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 12px 0;
}

.premium-site .tag-row span {
  font: 700 10px/1 Inter,sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--p-teal-dark);
  background: #EEF7F5;
  border: 1px solid #DCEAE6;
  border-radius: 999px;
  padding: 7px 9px;
}

/* Teaching */

.featured-course-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}

.course-card {
  padding: 24px;
  border: 1px solid var(--p-line);
  border-radius: 22px;
  background: #FEFDFB;
}

.course-card .course-code {
  color: var(--p-teal-dark);
  font: 800 11px/1 Inter,sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.course-card h3 {
  font-size: 29px !important;
  line-height: 1.04;
  margin: 8px 0 !important;
}

.course-card p {
  font-size: 14.5px;
  line-height: 1.65;
}

.course-meta {
  display: grid;
  gap: 4px;
  border-top: 1px solid var(--p-line);
  padding-top: 14px;
  margin-top: 18px;
}

.course-meta strong {
  font-size: 11px;
  color: var(--p-navy);
  text-transform: uppercase;
  letter-spacing: .07em;
}

.course-meta span {
  font-size: 12.5px;
  color: var(--p-muted);
}

.mentoring-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}

.mentoring-card {
  background: #F8FAF8;
  border: 1px solid var(--p-line);
  border-radius: 18px;
  padding: 19px;
}

.mentoring-card span {
  display: block;
  color: var(--p-teal-dark);
  font-size: 11px;
  font-weight: 800;
}

.mentoring-card strong {
  display: block;
  color: var(--p-navy);
  font-family: "Cormorant Garamond",serif;
  font-size: 23px;
  margin: 4px 0;
}

.mentoring-card p {
  margin: 0;
  font-size: 13.5px;
}

.teaching-timeline {
  border-top: 1px solid var(--p-line);
}

.year-row {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 24px;
  padding: 22px 0;
  border-bottom: 1px solid var(--p-line);
}

.year-row .year {
  font-family: "Cormorant Garamond",serif;
  font-size: 34px;
  color: var(--p-navy);
  font-weight: 600;
}

.year-row strong {
  font-size: 12px;
  color: var(--p-teal-dark);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.year-row p {
  margin: 4px 0 12px;
  font-size: 14px;
}

.history-details {
  margin-top: 20px;
  border: 1px solid var(--p-line);
  border-radius: 18px;
  background: #FEFDFB;
  overflow: hidden;
}

.history-details summary {
  cursor: pointer;
  padding: 17px 20px;
  font-weight: 750;
  color: var(--p-navy);
}

.history-inner {
  padding: 0 20px 18px;
  border-top: 1px solid var(--p-line);
}

.history-inner h3 {
  margin: 20px 0 4px !important;
}

.history-inner p {
  margin: 0;
  font-size: 14px;
}

.teaching-since {
  margin-top: 30px;
  text-align: center;
  padding: 18px;
  border-radius: 999px;
  border: 1px solid rgba(31,138,138,.18);
  background: #F0F8F6;
  color: var(--p-navy);
  font-family: "Cormorant Garamond",serif;
  font-size: 24px;
}

/* Research one-page experience */

.research-jump::-webkit-scrollbar {
  display: none;
}

.research-jump span {
  text-transform: uppercase;
  white-space: nowrap;
}

.research-jump a {
  white-space: nowrap;
}

.research-content {
  padding-top: 30px;
}

.research-story {
  min-height: 430px;
  padding: 54px 0;
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr);
  gap: 56px;
  align-items: center;
  border-bottom: 1px solid var(--p-line);
  scroll-margin-top: 125px;
}

.research-story.reverse .research-copy {
  order: 2;
}

.research-story.reverse .research-figure {
  order: 1;
}

.research-number {
  font: 800 10.5px/1 Inter,sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--p-teal-dark);
}

.research-story h2 {
  font-size: clamp(38px,4.4vw,55px) !important;
  margin: 9px 0 17px !important;
}

.research-story p {
  font-size: 15.5px;
  line-height: 1.72;
}

.research-figure {
  margin: 0;
  justify-self: center;
  width: 100%;
  max-width: 460px;
  background: transparent;
  border: 1px solid var(--p-line);
  padding: 12px;
  border-radius: 22px;
}

.research-figure img {
  width: 100%;
  height: 290px;
  object-fit: contain !important;
  border-radius: 14px !important;
  background: transparent;
}

.research-figure figcaption {
  font-size: 11px;
  line-height: 1.45;
  color: #7D878E;
  padding: 9px 4px 1px;
  text-align: center;
}

.funding-section {
  padding: 64px 0 5px;
  scroll-margin-top: 125px;
}

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

.funding-card {
  padding: 22px;
  border: 1px solid var(--p-line);
  border-radius: 20px;
  background: #FEFDFB;
}

.funding-card.featured {
  background: linear-gradient(135deg,#EDF7F4,#FBF7ED);
  border-color: #D7E6DE;
}

.funding-agency {
  color: var(--p-teal-dark);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.funding-card h3 {
  font-size: 23px !important;
  line-height: 1.08;
  margin: 8px 0 !important;
}

.funding-card p {
  font-size: 13px;
  margin: 0 0 14px;
}

.funding-card strong {
  display: block;
  color: var(--p-navy);
  font-size: 14px;
}

.funding-note {
  margin-top: 22px !important;
}

/* Publications */

.publications-page section {
  scroll-margin-top: 115px;
}

.selected-pub-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}

.selected-pub {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid var(--p-line);
  border-radius: 20px;
  background: #FEFDFB;
  padding: 22px;
}

.selected-pub::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 150px;
  height: 150px;
  right: -58px;
  top: -64px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(31, 138, 138, .11),
    rgba(31, 138, 138, .025) 54%,
    transparent 72%
  );
  pointer-events: none;
}

.pub-topline {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}

.pub-topline span {
  font-size: 10px;
  font-weight: 800;
  color: var(--p-teal-dark);
  text-transform: uppercase;
  letter-spacing: .07em;
  background: #EEF7F5;
  border-radius: 999px;
  padding: 6px 8px;
}

.selected-pub h3 {
  font-size: 25px !important;
  line-height: 1.06;
  margin: 11px 0 !important;
}

.selected-pub p {
  font-size: 12.7px;
  line-height: 1.6;
  margin: 0;
}

.prep-section {
  margin-top: 48px;
  padding: 28px;
  background: #F7F7F3;
  border: 1px solid var(--p-line);
  border-radius: 22px;
}

.prep-section h2 {
  margin-top: 0 !important;
}

.complete-head {
  margin-top: 55px;
}

.pub-year {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 24px;
  padding: 22px 0;
  border-top: 1px solid var(--p-line);
}

.pub-year>h3 {
  font-size: 31px !important;
  margin: 0 !important;
}

.pub-year-list {
  display: grid;
  gap: 10px;
}

.pub-entry {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 10px;
  align-items: start;
  background: #FEFDFB;
  border: 1px solid #E9E5DD;
  border-radius: 14px;
  padding: 13px 15px;
}

.pub-entry p {
  margin: 0;
  font-size: 12.8px;
  line-height: 1.55;
}

.pub-number {
  font-size: 10px;
  font-weight: 800;
  color: #9A8460;
  padding-top: 3px;
}

/* Join */

.join-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 17px;
}

.join-card {
  padding: 25px;
  border: 1px solid var(--p-line);
  border-radius: 22px;
  background: #FEFDFB;
}

.join-index {
  font-size: 11px;
  color: var(--p-gold);
  font-weight: 850;
  letter-spacing: .12em;
}

.join-card h3 {
  font-size: 29px !important;
  margin: 9px 0 !important;
}

.join-card p {
  font-size: 14px;
}

.join-cta {
  margin-top: 38px;
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 26px;
  align-items: center;
  background: linear-gradient(115deg,#EEF8F5,#F8F2E7);
  border: 1px solid #DDE8E2;
  border-radius: 26px;
  padding: 30px;
}

.join-cta>img {
  width: 100px;
  height: 100px;
}

.join-cta h2 {
  font-size: 37px !important;
  margin: 5px 0 !important;
}

.direct-contact {
  text-align: center;
  margin-top: 25px;
}

/* Collaborators */

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

@media (max-width: 1050px) {
  .collab-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .collab-grid {
    grid-template-columns: 1fr;
  }
}

.collab-card {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 16px;
  padding: 20px;
  border: 1px solid var(--p-line);
  border-radius: 19px;
  background: #FEFDFB;
}

.collab-initial {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg,#EAF5F2,#F7EFE1);
  color: var(--p-teal-dark);
  font-weight: 800;
}

.collab-card h3 {
  font-size: 24px !important;
  margin: 2px 0 4px !important;
}

.collab-card p {
  font-size: 13px;
  margin: 0 0 9px;
}

.profile-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.profile-links a {
  font-size: 11px !important;
  text-decoration: none;
  font-weight: 700 !important;
}

/* Contact */

.exact-map iframe {
  min-height: 500px !important;
}

.finding-lab {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 30px;
  padding: 30px;
  border: 1px solid var(--p-line);
  border-radius: 24px;
  background: #FEFDFB;
}

.finding-icon {
  width: 110px;
  height: 110px;
  border-radius: 24px;
  background: var(--p-navy);
  color: white;
  display: grid;
  place-items: center;
  font-family: "Cormorant Garamond",serif;
  font-size: 34px;
}

.finding-lab h2 {
  font-size: 36px !important;
  margin: 6px 0 16px !important;
}

.finding-steps {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
}

.finding-steps>div {
  padding: 14px;
  border: 1px solid var(--p-line);
  border-radius: 16px;
  background: #FAFAF7;
}

.finding-steps strong {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: #EAF5F2;
  color: var(--p-teal-dark);
  font-size: 12px;
}

.finding-steps p {
  font-size: 12.5px;
  line-height: 1.55;
  margin: 9px 0 0;
}

.contact-note {
  margin-top: 18px;
  padding: 14px 18px;
  border-left: 3px solid var(--p-gold);
  background: #F7F5EF;
}

.contact-note p {
  margin: 3px 0 0;
  font-size: 13px;
}

/* Highlights */

.highlight-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}

.highlight-card {
  padding: 24px;
  border: 1px solid var(--p-line);
  border-radius: 21px;
  background: #FEFDFB;
}

.highlight-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.highlight-meta span {
  font: 800 10px/1 Inter,sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--p-teal-dark);
}

.highlight-meta span+span:before {
  content: "·";
  margin-right: 7px;
  color: #B69A63;
}

.highlight-card h3 {
  font-size: 28px !important;
  line-height: 1.04;
  margin: 11px 0 !important;
}

.highlight-card p {
  font-size: 14px;
  line-height: 1.65;
}

.highlight-card>a {
  display: inline-flex;
  margin-top: 3px;
  font-size: 12px !important;
  text-decoration: none;
}

/* Toolkit */

.toolkit-band {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 15px;
  margin-bottom: 40px;
}

.toolkit-band article {
  padding: 22px;
  border-radius: 20px;
  border: 1px solid var(--p-line);
  background: linear-gradient(160deg,#FEFDFB,#F4F8F6);
}

.toolkit-band span {
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--p-teal-dark);
}

.toolkit-band h3 {
  font-size: 22px !important;
  line-height: 1.12;
  margin: 8px 0 !important;
}

.toolkit-band p {
  font-size: 13px;
  margin: 0;
}

.resource-tile-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 13px;
}

.resource-tile {
  display: block;
  text-decoration: none;
  padding: 18px;
  border: 1px solid var(--p-line);
  border-radius: 17px;
  background: #FEFDFB;
  transition: .18s ease;
}

.resource-tile span {
  display: block;
  font-size: 9.5px;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: var(--p-teal-dark);
}

.resource-tile strong {
  display: block;
  font-family: "Cormorant Garamond",serif;
  font-size: 23px;
  color: var(--p-navy);
  margin: 4px 0;
}

.resource-tile p {
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
}

.alumni-callout {
  margin-top: 38px;
  padding: 28px;
  border-radius: 24px;
  border: 1px solid var(--p-line);
  background: linear-gradient(135deg,#F1F8F6,#FBF8F1);
}

.alumni-callout h2 {
  font-size: 34px !important;
  margin: 7px 0 !important;
}

@media (max-width:1120px) {
  .premium-site .navbar {
    padding-left: 20px;
    padding-right: 20px;
  }

  .premium-site .nav>a,
  .premium-site .dropdown>button,
  .premium-site .dropdown>.nav-parent {
    font-size: 13px;
    padding-left: 7px;
    padding-right: 7px;
  }
}

@media (max-width:980px) {
  .premium-site .nav>a,
  .premium-site .dropdown>button,
  .premium-site .dropdown>.nav-parent {
    width: 100%;
    text-align: left;
    padding: 11px 12px;
  }

  .research-jump-wrap {
    top: 70px;
  }

  .featured-course-grid,
  .selected-pub-grid,
  .funding-grid,
  .join-grid,
  .toolkit-band {
    grid-template-columns: 1fr 1fr;
  }

  .research-story,
  .research-story.reverse {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 42px 0;
  }

  .research-story.reverse .research-copy,
  .research-story.reverse .research-figure {
    order: initial;
  }

  .research-figure {
    max-width: 520px;
    justify-self: start;
  }

  .finding-steps {
    grid-template-columns: 1fr;
  }

  .resource-tile-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:650px) {
  html {
    scroll-padding-top: 105px;
  }

  .premium-site .page-title {
    padding: 28px 18px 33px;
  }

  .premium-site .page-title h1 {
    font-size: 43px;
  }

  .premium-site .content {
    padding: 34px 18px 55px;
  }

  .featured-course-grid,
  .mentoring-grid,
  .selected-pub-grid,
  .funding-grid,
  .join-grid,
  .highlight-grid,
  .toolkit-band,
  .resource-tile-grid {
    grid-template-columns: 1fr;
  }

  .year-row,
  .pub-year {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .year-row .year,
  .pub-year>h3 {
    font-size: 28px !important;
  }

  .research-story {
    padding: 34px 0;
    min-height: 0;
  }

  .research-story h2 {
    font-size: 39px !important;
  }

  .research-figure {
    max-width: 100%;
    padding: 8px;
  }

  .research-figure img {
    height: 230px;
  }

  .join-cta {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .join-cta>img {
    width: 72px;
    height: 72px;
  }

  .contact-page .contact-grid {
    grid-template-columns: 1fr;
  }

  .exact-map iframe {
    min-height: 390px !important;
  }

  .finding-lab {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  .finding-icon {
    width: 84px;
    height: 84px;
  }

  .collab-card {
    grid-template-columns: 48px 1fr;
  }

  .collab-initial {
    width: 48px;
    height: 48px;
  }

  .pub-entry {
    grid-template-columns: 25px 1fr;
    padding: 11px;
  }

  .pub-entry p {
    font-size: 12px;
  }
}

.premium-site section[id],
.premium-site h2[id] {
  scroll-margin-top: 104px;
}

.research-page .page-title {
  padding-top: 28px;
  padding-bottom: 30px;
}

.research-page .page-title p {
  font-size: 15.5px;
  line-height: 1.58;
  max-width: 1120px;
}

.research-page .research-content {
  padding-top: 16px;
}

.research-page .research-story {
  min-height: 0;
  padding: 34px 0;
  grid-template-columns: minmax(0,.92fr) minmax(390px,1.08fr);
  gap: 42px;
  align-items: center;
}

.research-page .research-story h2 {
  font-size: clamp(34px,3.25vw,45px) !important;
  line-height: 1.02;
  margin: 8px 0 12px !important;
  scroll-margin-top: 145px;
}

.research-page .research-lead {
  max-width: 610px;
  margin: 0 0 14px;
  font-size: 15px !important;
  line-height: 1.62 !important;
  color: #465565;
}

.research-page .research-points {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}

.research-page .research-points li {
  position: relative;
  padding: 9px 12px 9px 31px;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #566471;
  font-size: 12.8px;
  line-height: 1.42;
}

.research-page .research-points li:before {
  content: "";
  position: absolute;
  left: 12px;
  top: 15px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--p-teal);
}

.research-page .research-figure figcaption {
  font-size: 10.5px;
  padding: 8px 4px 0;
  text-align: center;
}

.research-page .funding-section h2[id] {
  scroll-margin-top: 145px;
}

.publications-page h2[id] {
  scroll-margin-top: 100px;
}

@media (max-width:980px) {
  .research-page .research-story,
  .research-page .research-story.reverse {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 30px 0;
  }

  .research-page .research-story.reverse .research-copy,
  .research-page .research-story.reverse .research-figure {
    order: initial;
  }

  .research-page .research-figure {
    max-width: 560px;
    justify-self: start;
  }

  .research-page .research-story h2 {
    scroll-margin-top: 128px;
  }

  .research-page .funding-section h2[id] {
    scroll-margin-top: 128px;
  }
}

@media (max-width:650px) {
  .research-page .page-title {
    padding: 24px 18px 25px;
  }

  .research-page .page-title h1 {
    font-size: 42px;
  }

  .research-page .research-story {
    padding: 26px 0;
  }

  .research-page .research-story h2 {
    font-size: 35px !important;
    scroll-margin-top: 118px;
  }

  .research-page .research-lead {
    font-size: 14px !important;
  }

  .research-page .research-points li {
    font-size: 12.2px;
  }

  .research-page .research-figure img {
    height: 230px;
  }

  .research-page .funding-section h2[id] {
    scroll-margin-top: 118px;
  }
}

@media (max-width:980px) {
  .premium-site .nav {
    position: fixed;
    top: 76px;
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    max-height: none;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    z-index: 1200;
    padding: 10px 10px calc(18px + env(safe-area-inset-bottom, 0px));
  }
}

.section-jump {
  position: sticky;
  top: 78px;
  z-index: 20;
  background: rgba(250,249,245,.96);
  border-bottom: 1px solid rgba(30,43,62,.1);
}

.section-jump-inner {
  max-width: 1280px;
  margin: 0 auto;
  height: 48px;
  padding: 0px 28px;
  display: flex;
  gap: 26px;
  align-items: center;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
}

.section-jump-inner::-webkit-scrollbar {
  display: none;
}

.section-jump-inner>span {
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-weight: 800;
  color: #7b7f77;
}

.section-jump a {
  font-weight: 700;
  color: #26354a;
  text-decoration: none;
}

.section-jump a:hover {
  color: #507b7c;
}

.anchor-section {
  scroll-margin-top: 165px;
  padding-top: 36px;
  margin-top: 18px;
}

.anchor-section+.anchor-section {
  border-top: 1px solid rgba(30,43,62,.09);
  margin-top: 60px;
  padding-top: 64px;
}

.section-heading {
  max-width: 1180px;
  margin-bottom: 28px;
}

.section-heading h2 {
  margin: .35rem 0 .65rem;
}

.section-heading p {
  font-size: 1.08rem;
  color: #667080;
  line-height: 1.65;
}

.visual-break {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
  margin: 48px 0 18px;
}

.visual-break figure,
.publication-visual-strip figure {
  margin: 0;
  border: 1px solid rgba(37,50,68,.11);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}

.visual-break img,
.publication-visual-strip img {
  display: block;
  width: 100%;
  height: 190px;
  object-fit: cover;
}

.visual-break figcaption,
.publication-visual-strip figcaption {
  padding: 12px 14px;
  font-size: .88rem;
  font-weight: 700;
  color: #4e5c6d;
}

.publication-visual-strip {
  display: grid;
  gap: 16px;
  margin: 24px 0 26px;
}

.course-card {
  position: relative;
  overflow: hidden;
}

.course-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  place-items: center;
  background: rgba(80,123,124,.08);
  margin-bottom: 14px;
}

.course-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: #507b7c;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.people-onepage .content.prose,
.resources-onepage .content.prose {
  max-width: none;
}

.people-onepage #group>.section-heading+ h2 {
  display: none;
}

.people-onepage #group>.section-heading+ h2 + .person {
  margin-top: 0;
}

.resource-anchor .page-hero {
  display: none;
}

.resource-anchor>.content.prose {
  padding-left: 0;
  padding-right: 0;
  max-width: none;
}

.resource-anchor .resource-showcase {
  padding-top: 0;
}

@media (max-width:900px) {
  .section-jump {
    top: 82px;
  }

  .section-jump-inner {
    padding: 12px 18px;
    gap: 18px;
  }

  .anchor-section {
    scroll-margin-top: 150px;
  }

  .visual-break,
  .publication-visual-strip {
    grid-template-columns: 1fr 1fr;
  }

  .visual-break figure:last-child,
  .publication-visual-strip figure:last-child {
    grid-column: 1/-1;
  }

  .visual-break img {
    height: 170px;
  }
}

@media (max-width:620px) {
  .visual-break,
  .publication-visual-strip {
    grid-template-columns: 1fr;
  }

  .visual-break figure:last-child,
  .publication-visual-strip figure:last-child {
    grid-column: auto;
  }

  .visual-break img,
  .publication-visual-strip img {
    height: 160px;
  }

  .section-heading p {
    font-size: 1rem;
  }
}

.people-onepage {
  padding-top: 22px;
}

.people-onepage .people-anchor {
  scroll-margin-top: 150px;
  margin-top: 0;
  padding-top: 14px;
}

.people-onepage .people-anchor + .people-anchor {
  margin-top: 34px;
  padding-top: 38px;
}

.people-onepage .compact-heading {
  margin-bottom: 20px;
}

.people-section-title {
  font-size: clamp(2rem,3.2vw,3rem) !important;
  margin: .3rem 0 .55rem !important;
}

.people-subheading,
.former-category-title {
  font-family: "Cormorant Garamond",serif;
  color: #202c42;
  font-weight: 600;
}

.people-subheading {
  font-size: 1.9rem;
  margin: 30px 0 16px;
}

.former-category-title {
  font-size: 1.65rem;
  margin: 30px 0 14px;
}

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

.former-card {
  border: 1px solid rgba(37,50,68,.10);
  background: rgba(255,255,255,.72);
  border-radius: 16px;
  padding: 17px 18px;
}

/* ==========================================================================
   03 — VISUAL REFINEMENTS & RESPONSIVE TUNING
   ========================================================================== */

/* People page: Highlights-style card decoration for member boxes. */

.teaching-page :is(.course-card, .mentoring-card) {
  isolation: isolate;
}

.teaching-page :is(.course-card, .mentoring-card)::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 150px;
  height: 150px;
  right: -58px;
  top: -64px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(31, 138, 138, .11),
    rgba(31, 138, 138, .025) 54%,
    transparent 72%
  );
  pointer-events: none;
}

.former-card h4 {
  margin: 0 0 6px;
  font-size: 1rem;
  color: #25334a;
}

.former-card p {
  margin: 0;
  line-height: 1.5;
}

.former-period {
  font-size: .9rem;
  color: #667080;
}

.former-status {
  font-size: .88rem;
  color: #507b7c;
  margin-top: 6px !important;
}

/* Publications: stronger visual composition and tighter crops */

.publication-visual-strip {
  grid-template-columns: 1.18fr .91fr .91fr;
  align-items: stretch;
}

.publication-visual-strip figure {
  height: 220px;
  position: relative;
}

.publication-visual-strip img {
  height: 100%;
  object-fit: cover;
  transform-origin: center;
}

.publication-visual-strip .pub-visual-1 img {
  transform: scale(1.06);
}

.publication-visual-strip .pub-visual-2 img {
  transform: scale(1.32);
}

.publication-visual-strip .pub-visual-3 img {
  transform: scale(1.42);
}

.publication-visual-strip figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(transparent,rgba(19,31,46,.72));
  color: #fff;
  padding: 34px 14px 12px;
}

/* Teaching: clean cards without decorative icons */

.course-icon {
  display: none !important;
}

/* Resources: tighter anchor landing and section rhythm */

.resources-onepage {
  padding-top: 18px;
}

.resources-onepage .resource-anchor {
  scroll-margin-top: 146px;
  margin-top: 0;
  padding-top: 18px;
}

.resources-onepage .resource-anchor + .resource-anchor {
  margin-top: 30px;
  padding-top: 36px;
}

.resources-onepage .resource-anchor>.section-heading {
  margin-bottom: 18px;
}

/* Contact: custom Yildirim Lab marker overlay while keeping the existing map */

.map-card {
  position: relative;
  overflow: hidden;
}

.lab-map-pin {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  display: flex;
  align-items: center;
  gap: 8px;
  pointer-events: none;
  z-index: 3;
}

.lab-map-pin-dot {
  width: 18px;
  height: 18px;
  border-radius: 50% 50% 50% 0;
  background: #507b7c;
  border: 3px solid #fff;
  transform: rotate(-45deg);
}

.lab-map-pin-label {
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(37,50,68,.12);
  border-radius: 12px;
  padding: 8px 10px;
  min-width: 128px;
  line-height: 1.15;
}

.lab-map-pin-label strong {
  display: block;
  color: #203047;
  font-size: .9rem;
}

.lab-map-pin-label small {
  display: block;
  color: #687485;
  margin-top: 3px;
  font-size: .72rem;
}

@media (max-width:900px) {
  .former-grid {
    grid-template-columns: 1fr 1fr;
  }

  .publication-visual-strip figure {
    height: 190px;
  }
}

@media (max-width:620px) {
  .former-grid {
    grid-template-columns: 1fr;
  }

  .people-onepage {
    padding-top: 12px;
  }

  .people-onepage .people-anchor {
    scroll-margin-top: 138px;
    padding-top: 10px;
  }

  .resources-onepage .resource-anchor {
    scroll-margin-top: 138px;
  }

  .publication-visual-strip figure {
    height: 175px;
  }

  .publication-visual-strip .pub-visual-2 img {
    transform: scale(1.22);
  }

  .publication-visual-strip .pub-visual-3 img {
    transform: scale(1.28);
  }

  .lab-map-pin {
    top: 53%;
  }
}

@media (min-width:901px) {
  .premium-site .page-title p {
    max-width: 1180px;
    text-wrap: balance;
  }
}

.publication-overview {
  margin-bottom: 34px;
}

.publication-overview .publication-visual-strip {
  margin-top: 0;
}

.premium-site .pub-title-link,
.premium-site .pub-paper-link {
  color: inherit;
  text-decoration: none;
}

.premium-site .pub-title-link:hover,
.premium-site .pub-paper-link:hover {
  color: var(--p-teal-dark);
}

.premium-site .pub-paper-link {
  display: block;
}

/* Merged Other Studies gallery: three images per row on desktop. */

.other-studies-section {
  grid-template-columns: 1fr;
  gap: 26px;
}

.other-studies-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.other-studies-gallery figure {
  margin: 0;
  background: transparent;
  border: 1px solid var(--p-line);
  border-radius: 18px;
  overflow: hidden;
}

.other-studies-gallery img {
  display: block;
  width: 100%;
  height: 205px;
  object-fit: contain;
  background: transparent;
}

.other-studies-gallery figcaption {
  padding: 10px 12px 12px;
  font-size: 11px;
  line-height: 1.45;
  color: #6f7b83;
  text-align: center;
}

/* Posters now live under Publications and open at full resolution. */

.poster-page-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 22px;
}

.poster-card {
  overflow: hidden;
  border: 1px solid var(--p-line);
  border-radius: 20px;
  background: #fefdfb;
}

.poster-image-link {
  display: block;
  height: 360px;
  padding: 10px;
  background: transparent;
}

.poster-image-link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: transparent;
}

.poster-card-body {
  padding: 18px 19px 20px;
}

.poster-card-body h2 {
  margin: 0 0 10px !important;
  font-size: 25px !important;
  line-height: 1.08;
}

.poster-venue {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--p-muted);
}

.poster-card-body > a {
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}

/* Full Highlights library with category and year filters. */

.highlight-filters {
  position: sticky;
  top: 78px;
  z-index: 45;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 28px;
  padding: 12px;
  background: rgba(250, 248, 244, .96);
  border: 1px solid var(--p-line);
  border-radius: 18px;
}

.highlight-filter-group {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.highlight-filter {
  appearance: none;
  border: 1px solid #dce5e2;
  border-radius: 999px;
  background: #fff;
  color: var(--p-navy);
  padding: 8px 11px;
  font: 750 11px/1 Inter, sans-serif;
  cursor: pointer;
}

.highlight-filter:hover,
.highlight-filter.is-active {
  border-color: rgba(31, 138, 138, .35);
  background: #eaf5f2;
  color: var(--p-teal-dark);
}

.highlight-year-filter {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 750;
  color: var(--p-muted);
  white-space: nowrap;
}

.highlight-year-filter select {
  border: 1px solid #dce5e2;
  border-radius: 10px;
  background: #fff;
  color: var(--p-navy);
  padding: 8px 28px 8px 9px;
}

.highlight-grid-full {
  align-items: start;
}

.highlight-card-full {
  min-height: 0;
}

.highlight-card-full[hidden] {
  display: none !important;
}

.highlight-card-full h3 {
  font-size: 24px !important;
}

.highlight-card-full p {
  margin-bottom: 8px;
  font-size: 13.25px;
}

.presentation-card {
  border-left: 3px solid rgba(31, 138, 138, .35);
}

.achievement-card {
  border-left: 3px solid rgba(183, 151, 88, .42);
}

.press-card {
  background: #fbfaf6;
}

.highlight-empty {
  padding: 28px;
  text-align: center;
  color: var(--p-muted);
}

@media (max-width: 900px) {
  .other-studies-gallery,
  .poster-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .highlight-filters {
    top: 70px;
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .other-studies-gallery,
  .poster-grid {
    grid-template-columns: 1fr;
  }

  .other-studies-gallery img {
    height: 190px;
  }

  .poster-image-link {
    height: 330px;
  }

  .highlight-filters {
    position: static;
  }
}

.highlight-grid-full {
  gap: 22px;
}

.highlight-card-full {
  position: relative;
  overflow: hidden;
  padding: 26px 26px 24px;
  border: 1px solid rgba(23, 50, 77, .105);
  border-left-width: 1px;
  border-radius: 22px;
  background: linear-gradient(145deg, #fff 0%, #fefdfb 64%, #fbfaf6 100%);
  isolation: isolate;
  transition: border-color .22s ease;
}

.highlight-card-full::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 150px;
  height: 150px;
  right: -58px;
  top: -64px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(31, 138, 138, .11), rgba(31, 138, 138, .025) 54%, transparent 72%);
  pointer-events: none;
}

.highlight-card-full::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, rgba(31, 138, 138, .76), rgba(31, 138, 138, .18) 45%, transparent 85%);
  opacity: .7;
  pointer-events: none;
}

.highlight-card-full:hover {
  border-color: rgba(31, 138, 138, .22);
}

.highlight-card-full .highlight-meta {
  gap: 8px;
  margin-bottom: 14px;
}

.highlight-card-full .highlight-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 6px 9px;
  border: 1px solid rgba(31, 138, 138, .14);
  border-radius: 999px;
  background: rgba(234, 245, 242, .78);
  color: var(--p-teal-dark);
  font: 800 9px/1 Inter, sans-serif;
  letter-spacing: .095em;
}

.highlight-card-full .highlight-meta span + span::before {
  content: none;
}

.highlight-card-full .highlight-meta span:first-child {
  border-color: rgba(183, 151, 88, .22);
}

.highlight-card-full h3 {
  max-width: 92%;
  margin-top: 0 !important;
  margin-bottom: 11px !important;
  color: var(--p-navy);
  letter-spacing: -.012em;
}

.highlight-card-full p {
  max-width: 94%;
  color: var(--p-muted);
}

.highlight-card-full > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 7px;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(31, 138, 138, .28);
  font-weight: 750;
  transition: gap .18s ease, border-color .18s ease;
}

.highlight-card-full > a:hover {
  gap: 8px;
  border-color: rgba(31, 138, 138, .7);
}

.highlight-card-full.achievement-card::after {
  background: linear-gradient(90deg, rgba(183, 151, 88, .88), rgba(183, 151, 88, .2) 45%, transparent 85%);
}

.highlight-card-full.presentation-card::after {
  background: linear-gradient(90deg, rgba(31, 138, 138, .82), rgba(31, 138, 138, .18) 45%, transparent 85%);
}

.highlight-card-full.press-card {
  background: linear-gradient(145deg, #fff 0%, #fbfaf6 72%, #f8f3e9 100%);
}

.highlight-card-full.press-card::before {
  background: radial-gradient(circle, rgba(183, 151, 88, .13), rgba(183, 151, 88, .025) 56%, transparent 72%);
}

.highlight-card-full.featured-highlight {
  grid-column: 1 / -1;
  min-height: 210px;
  padding: 34px 36px 32px;
  background: radial-gradient(circle at 92% 12%, rgba(31, 138, 138, .12), transparent 25%), linear-gradient(135deg, #fff 0%, #fdfcf8 62%, #f6f5ef 100%);
}

.highlight-card-full.featured-highlight::before {
  width: 280px;
  height: 280px;
  right: -92px;
  top: -118px;
  background: radial-gradient(circle, rgba(31, 138, 138, .14), rgba(31, 138, 138, .035) 55%, transparent 72%);
}

.highlight-card-full.featured-highlight h3 {
  max-width: 760px;
  font-size: 32px !important;
  line-height: 1.08;
}

.highlight-card-full.featured-highlight p {
  max-width: 700px;
  font-size: 14px;
}

.highlight-filter {
  transition: border-color .16s ease, background .16s ease;
}

@media (max-width: 620px) {
  .highlight-grid-full {
    gap: 16px;
  }

  .highlight-card-full,
  .highlight-card-full.featured-highlight {
    grid-column: auto;
    min-height: 0;
    padding: 22px 20px 21px;
    border-radius: 19px;
  }

  .highlight-card-full.featured-highlight h3,
  .highlight-card-full h3 {
    max-width: 100%;
    font-size: 25px !important;
  }

  .highlight-card-full p {
    max-width: 100%;
  }
}

.premium-site .page-title h1,
.premium-site .page-title p {
  min-width: 0;
  max-width: min(100%,1120px);
  overflow-wrap: anywhere;
  word-break: normal;
}

.premium-site .page-title p {
  font-size: clamp(14.5px,1.25vw,17px);
  line-height: 1.65;
  text-wrap: pretty;
}

@media (max-width:700px) {
  .premium-site .page-title h1 {
    font-size: clamp(40px,12vw,48px);
    line-height: .98;
  }

  .premium-site .page-title p {
    font-size: 15px;
    line-height: 1.6;
  }
}

.premium-site :is(
.card,.pub,.person,.callout,.info-list div,
.selected-pub,.pub-entry,.former-card,.join-card,.collab-card,
.course-card,.mentoring-card,.history-details,.funding-card,
.resource-tile,.journal-link,.hub-card,.poster-card,
.contact-note,.finding-lab,.software-featured,.software-workflow-note
) {
  background: linear-gradient(180deg,#FFF,#FCFBF8);
  border: 1px solid rgba(37,50,68,.10);
}

.premium-site :is(.selected-pub,.pub-entry,.former-card,.course-card,.mentoring-card,.funding-card,.resource-tile,.journal-link,.poster-card) {
  transition: border-color .18s ease;
}

@media (hover:hover) {
  .premium-site :is(.selected-pub,.pub-entry,.former-card,.course-card,.mentoring-card,.funding-card,.resource-tile,.journal-link,.poster-card):hover {
    border-color: rgba(31,138,138,.18);
  }
}

.premium-site .footer-brand-lockup + p {
  line-height: 1.65;
}

/* Software */

.software-featured {
  border-radius: 24px;
  padding: 28px;
  margin: 0 0 38px;
  background: linear-gradient(135deg,#EEF8F5,#FCFBF8 60%,#F7F0E5) !important;
}

.software-featured h2 {
  font-size: clamp(38px,4vw,52px) !important;
  margin: 8px 0 12px !important;
}

.software-featured p {
  max-width: 850px;
}

.software-credit {
  font-size: 13.5px;
  color: var(--p-muted);
}

.software-workflow-note {
  border-radius: 22px;
  padding: 24px;
  margin-top: 44px;
}

.software-workflow-note h2 {
  margin: 0 0 10px !important;
  font-size: 30px !important;
}

.software-workflow-note p {
  margin: 0;
}

/* Highlights: one-page section navigation with optional year filtering. */

.highlights-jump {
  margin: 0;
}

.compact-year-filter {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.compact-year-filter>span {
  font-size: 10px !important;
  letter-spacing: .1em !important;
  color: #7b7f77 !important;
}

.compact-year-filter select {
  border: 1px solid rgba(37,50,68,.12);
  background: #fff;
  border-radius: 999px;
  padding: 7px 30px 7px 11px;
  color: #26354a;
  font-weight: 700;
}

.highlight-section {
  padding: 34px 0 20px;
  scroll-margin-top: 150px;
}

.highlight-section + .highlight-section {
  border-top: 1px solid var(--p-line);
  margin-top: 28px;
  padding-top: 58px;
}

.highlight-section-heading {
  max-width: 850px;
  margin-bottom: 28px;
}

.highlight-section-heading h2 {
  font-size: clamp(38px,4.2vw,52px);
  line-height: 1;
  margin: 0 0 10px;
  color: var(--p-navy);
}

.highlight-section-heading p {
  margin: 0;
  color: var(--p-muted);
}

.highlight-year-group {
  margin: 30px 0 42px;
}

.highlight-year-heading {
  font-size: 34px !important;
  color: var(--p-navy);
  margin: 0 0 14px !important;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(37,50,68,.1);
}

.highlight-card-full.research-card::after {
  background: #507b7c;
}

.highlight-card-full .highlight-meta span:first-child {
  background: #eef7f5;
  color: var(--p-teal-dark);
}

@media (max-width:900px) {
  .compact-year-filter {
    margin-left: 0;
  }
}

@media (max-width:700px) {
  .highlight-section {
    scroll-margin-top: 180px;
  }

  .highlight-section-heading h2 {
    font-size: 39px;
  }

  .compact-year-filter select {
    max-width: 120px;
  }
}

.page-hero .page-title,
.page-title {
  width: min(100%, 1180px);
  max-width: 100%;
  min-width: 0;
}

.page-title h1,
.page-title p,
.page-title .lead,
.page-hero p,
.page-hero .lead {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.page-title h1 {
  font-size: clamp(2.15rem, 4.6vw, 4.65rem);
}

.page-title p,
.page-title .lead,
.page-hero p,
.page-hero .lead {
  font-size: clamp(1rem, 1.25vw, 1.18rem);
}

.card,
.pub,
.person,
.person-card,
.teaching-card,
.course-card,
.resource-card,
.resource-tile,
.journal-link,
.database-card,
.poster-card,
.funding-card,
.research-card,
.highlight-card,
.hub-card,
.software-card,
.workflow-card,
.info-card,
.contact-card,
.publication-card {
  border-color: rgba(58, 78, 92, .12);
  background-color: rgba(255,255,255,.96);
  transition: border-color .22s ease;
}

@media (max-width: 760px) {
  .page-hero {
    padding-left: clamp(18px, 5vw, 28px);
    padding-right: clamp(18px, 5vw, 28px);
  }

  .page-title h1 {
    font-size: clamp(2rem, 10vw, 3.25rem);
  }
}

/* Reduce excess vertical whitespace between page intro and first content block. */

.premium-site .page-title {
  width: min(100%,1280px);
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  min-height: 195px;
  padding: 30px 28px 30px;
  /* width: min(100%,1420px);
    padding: 30px 28px 30px;*/
}

.premium-site .content {
  padding-top: 32px;
}

.premium-site .resource-showcase {
  padding-top: 32px;
}

.highlights-page {
  padding-top: 14px !important;
}

.highlights-page .highlight-section:first-child {
  padding-top: 14px;
}

.contact-page {
  padding-top: 24px !important;
}

.collaborators-page .content {
  padding-top: 24px;
}

.people-page .content {
  padding-top: 22px;
}

.publications-page .content,
.teaching-page .content {
  padding-top: 28px;
}

@media (max-width:1279px) {
  .research-page .page-title p,
  .publications-page .page-title p,
  .teaching-page .page-title p {
    white-space: normal;
    max-width: 100%;
    text-wrap: pretty;
  }
}

@media (max-width:700px) {
  .premium-site .page-title {
    padding: 26px 20px 25px;
  }

  .premium-site .content {
    padding-top: 24px;
  }

  .highlights-page {
    padding-top: 8px !important;
  }

  .highlights-page .highlight-section:first-child {
    padding-top: 8px;
  }

  .contact-page,
  .collaborators-page .content,
  .people-page .content,
  .publications-page .content,
  .teaching-page .content {
    padding-top: 20px !important;
  }
}

/* Reuse the richer Highlights visual treatment across substantive site cards. */

.premium-site :is(
.research-figure,.other-studies-gallery figure,.funding-card,.funding-note,
.selected-pub,.pub-entry,
.person,.former-card,.join-card,
.course-card,.mentoring-card,.history-details,
.collab-card,
.contact-page .info-card,.contact-page .map-card,.finding-lab,.contact-note
) {
  position: relative;
  overflow: hidden;
  border-color: rgba(23,50,77,.105) !important;
  transition: border-color .22s ease;
}

.premium-site :is(
.research-figure,.other-studies-gallery figure,.funding-card,.funding-note,
.selected-pub,.pub-entry,.person,.former-card,.join-card,
.course-card,.mentoring-card,.history-details,.collab-card,
.contact-page .info-card,.contact-page .map-card,.finding-lab,.contact-note
)::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg,rgba(31,138,138,.72),rgba(31,138,138,.16) 46%,transparent 86%);
  opacity: .62;
  pointer-events: none;
}

@media (hover:hover) {
  .premium-site :is(
  .research-figure,.other-studies-gallery figure,.funding-card,.funding-note,
  .selected-pub,.pub-entry,.person,.former-card,.join-card,
  .course-card,.mentoring-card,.history-details,.collab-card,
  .contact-page .info-card,.contact-page .map-card,.finding-lab,.contact-note
  ):hover {
    border-color: rgba(31,138,138,.20) !important;
  }
}

/* Contact assistant block now sits directly under Lab Location, inside the main info card. */

.contact-page .info-card>.contact-note {
  border-left: 0;
  background: linear-gradient(145deg,#fff 0%,#fbfaf6 100%);
}

.contact-page .info-card>.contact-note::after {
  background: linear-gradient(90deg,rgba(183,151,88,.82),rgba(183,151,88,.18) 48%,transparent 86%);
}

/* Collaborators begins immediately with the requested card grid. */

.collaborators-page .collab-grid {
  margin-top: 0;
}

/* Highlights: remove the oversized gap above Student Achievements. */

.highlights-page .highlight-section {
  margin-top: 0;
}

.highlights-page .highlight-section + .highlight-section {
  margin-top: 22px;
  padding-top: 48px;
}

/* * * Main page descriptions: restore the standard readable size. On genuinely wide
 * * desktop viewports they remain on one line; narrower screens wrap naturally.
*/

.research-page .page-title p,
.publications-page .page-title p,
.teaching-page .page-title p {
  font-size: 17px !important;
  line-height: 1.68 !important;
  letter-spacing: normal !important;
  white-space: normal !important;
  max-width: 100% !important;
}

/* Research: every copy block begins on the same top line as its image/gallery. */

.research-page .research-story,
.research-page .research-story.reverse {
  align-items: start !important;
}

.research-page .research-copy,
.research-page .research-figure,
.research-page .other-studies-gallery {
  align-self: start;
}

/* Contact: center MC17 vertically against the complete Finding the Lab content. */

.contact-page .finding-lab {
  align-items: center;
}

.contact-page .finding-icon {
  align-self: center;
}

@media (max-width:650px) {
  .contact-page .finding-lab {
    align-items: start;
  }

  .contact-page .finding-icon {
    align-self: start;
  }
}

/* * * Anchor sections no longer need large visual landing padding: JS places the actual
 * * section heading just below the sticky header + local section navigation.
*/

.people-onepage .people-anchor,
.highlights-page .highlight-section {
  scroll-margin-top: 0 !important;
}

.research-page .research-story h2[id],
.research-page .funding-section h2[id] {
  scroll-margin-top: 185px !important;
}

@media (max-width:980px) {
  .research-page .research-story h2[id],
  .research-page .funding-section h2[id] {
    scroll-margin-top: 160px !important;
  }
}

@media (max-width:650px) {
  .research-page .research-story h2[id],
  .research-page .funding-section h2[id] {
    scroll-margin-top: 145px !important;
  }
}

/* Match the understated box treatment used on Software / Databases / Links. */

.research-page :is(.funding-card,.funding-note),
.publications-page :is(.selected-pub,.pub-entry,.prep-section),
.people-page :is(.person,.former-card,.join-card,.join-cta),
.collaborators-page :is(.collab-card),
.highlights-page :is(.highlight-card-full,.presentation-card,.achievement-card,.press-card),
.teaching-page :is(.course-card,.mentoring-card,.history-details),
.contact-body :is(.info-card,.map-card,.finding-lab,.contact-note,.info-list div,.campus-image-card) {
  background: #FEFDFB !important;
  border: 1px solid var(--p-line) !important;
}

.research-page :is(.research-figure,.other-studies-gallery figure,.funding-card,.funding-note)::after,
.publications-page :is(.selected-pub,.pub-entry,.prep-section)::after,
.people-page :is(.person,.former-card,.join-card,.join-cta)::after,
.collaborators-page .collab-card::after,
.highlights-page :is(.highlight-card-full,.presentation-card,.achievement-card,.press-card)::after,
.teaching-page :is(.course-card,.mentoring-card,.history-details)::after,
.contact-body :is(.info-card,.map-card,.finding-lab,.contact-note,.info-list div,.campus-image-card)::after {
  display: none !important;
}

/* Research / People / Highlights quick links now share the same visual language. */

.research-jump-wrap {
  position: sticky;
  top: 78px;
  z-index: 60;
  background: rgba(250,248,244,.94);
  border-bottom: 1px solid rgba(30,43,62,.1);
}

.research-jump {
  max-width: 1280px;
  margin: 0 auto;
  height: 48px;
  padding: 0px 28px;
  display: flex;
  gap: 26px;
  align-items: center;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
}

.research-jump span {
  font-size: .76rem;
  letter-spacing: .13em;
  font-weight: 800;
  color: #7b7f77;
  margin-right: 0;
}

.research-jump a {
  font-size: inherit;
  font-weight: 700;
  color: #26354a;
  text-decoration: none;
  padding: 0;
  border-radius: 0;
}

.research-jump a:hover {
  background: transparent;
  color: #507b7c;
}

/* All main page titles use one size/weight system. */

.research-page .page-title h1 {
  font-size: clamp(2.15rem,4.6vw,4.65rem) !important;
  line-height: .95 !important;
  letter-spacing: -.04em !important;
}

/* Wide end-of-page molecular image, directly before the footer. */

.page-end-rna {
  width: 100%;
  margin: 0;
  background: #fff;
  overflow: hidden;
  border-top: 1px solid rgba(23,50,77,.06);
}

.page-end-rna img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 1800px;
  margin: 0 auto;
  border-radius: 0 !important;
}

/* Contact: compact information, small exact map, campus image directly below it. */

.contact-page .contact-grid {
  grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr) !important;
  gap: 20px;
  align-items: start;
}

.contact-page .info-card {
  padding: 22px !important;
}

.contact-page .info-card h2 {
  margin: 6px 0 8px !important;
  font-size: 34px !important;
}

.contact-page .info-card>p {
  margin: 0 0 12px;
  line-height: 1.5;
}

.contact-page .info-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 10px 0 0;
}

.contact-page .info-list>div {
  padding: 10px 12px !important;
  border-radius: 13px !important;
}

.contact-page .info-list>div:nth-child(3) {
  grid-column: 1/-1;
}

.contact-page .info-card>.contact-note {
  margin: 10px 0 0 !important;
  padding: 10px 12px !important;
  border-radius: 13px !important;
}

.contact-page .info-card>.contact-note p {
  line-height: 1.45;
}

.contact-page .actions {
  margin-top: 14px;
  gap: 8px;
}

.contact-page .actions .btn {
  padding: 10px 14px;
  font-size: 12px;
}

.contact-visual-column {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.contact-visual-column .map-card {
  padding: 0 !important;
  border-radius: 20px;
  overflow: hidden;
}

.contact-visual-column .map-card iframe {
  display: block;
  width: 100%;
  height: 285px;
  min-height: 285px !important;
  border: 0;
}

.campus-image-card {
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
}

.campus-image-card img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0 !important;
}

.campus-image-card figcaption {
  padding: 9px 12px;
  font-size: 11px;
  color: var(--p-muted);
}

/* Posters: room for the supplied presentation descriptions. */

.premium-site .content.posters-page {
  max-width: 1680px;
}

/* Desktop */

.posters-page .poster-grid {
  /* grid-template-columns: repeat(2,minmax(0,1fr)); */
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.posters-page .poster-image-link {
  /* height: 430px; */
  height: auto;
  aspect-ratio: 4 / 3;
}

.posters-page .poster-card-body h2 {
  font-size: 24px !important;
}

.posters-page .poster-venue + .poster-venue {
  padding-top: 10px;
  border-top: 1px solid rgba(37,50,68,.08);
}

@media (max-width:980px) {
  .research-jump {
    padding: 12px 18px;
    gap: 18px;
  }

  .contact-page .contact-grid {
    grid-template-columns: 1fr !important;
  }

  .contact-visual-column .map-card iframe {
    height: 300px;
    min-height: 300px !important;
  }
}

@media (max-width:650px) {
  .research-jump {
    padding: 10px 14px;
    gap: 16px;
  }

  .research-jump span {
    display: inline;
  }

  .contact-page .info-list {
    grid-template-columns: 1fr;
  }

  .contact-page .info-list>div:nth-child(3) {
    grid-column: auto;
  }

  .posters-page .poster-grid {
    grid-template-columns: 1fr;
  }

  .posters-page .poster-image-link {
    /* height: 390px; */
    height: auto;
    aspect-ratio: 4 / 3;
  }
}

.premium-site .avatar.photo-avatar {
  width: 150px;
  height: 150px;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  flex-shrink: 0;
}

.premium-site .avatar.photo-avatar img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.research-page .research-figure {
  max-width: 540px;
  padding: 10px;
  border-radius: 20px;
  background: transparent !important;
}

.research-page .research-figure img {
  height: 300px;
  background: transparent !important;
}

/* Other Studies — remove card box completely */

body.premium-site.research-page .other-studies-gallery > figure {
  background: transparent !important;
  border: none !important;
  outline: none !important;
}

body.premium-site.research-page .other-studies-gallery > figure > img {
  background: transparent !important;
  border: none !important;
}

body.premium-site.research-page .other-studies-gallery > figure > figcaption {
  background: transparent !important;
  border: none !important;
}

body.premium-site main :is(
.card,.pub,.person,.person-card,.teaching-card,.course-card,
.resource-card,.resource-tile,.journal-link,.database-card,.poster-card,
.funding-card,.funding-note,.highlight-card,.highlight-card-full,
.presentation-card,.achievement-card,.press-card,.hub-card,.software-card,
.workflow-card,.info-card,.contact-card,.publication-card,.selected-pub,
.pub-entry,.former-card,.join-card,.join-cta,.collab-card,.mentoring-card,
.history-details,.research-figure,.map-card,.finding-lab,.contact-note,
.campus-image-card,.home-highlight,.ayla-home-card
) {
  transform: none !important;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease !important;
}

@media (hover:hover) {
  body.premium-site main :is(
  .card,.pub,.person,.person-card,.teaching-card,.course-card,
  .resource-card,.resource-tile,.journal-link,.database-card,.poster-card,
  .funding-card,.funding-note,.highlight-card,.highlight-card-full,
  .presentation-card,.achievement-card,.press-card,.hub-card,.software-card,
  .workflow-card,.info-card,.contact-card,.publication-card,.selected-pub,
  .pub-entry,.former-card,.join-card,.join-cta,.collab-card,.mentoring-card,
  .history-details,.map-card,.finding-lab,.contact-note,.campus-image-card,
  .home-highlight,.ayla-home-card
  ):hover {
    border-color: rgba(31,138,138,.30) !important;
    background-color: rgba(31,138,138,.035);
  }
}

body.premium-site main :is(
a.resource-tile,a.journal-link,a.hub-card,a.research-card,a.home-highlight,
a.signal,.btn,.btn-premium,.highlight-filter
):focus-visible {
  outline: 2px solid rgba(31,138,138,.42);
  outline-offset: 2px;
}

/* Keep research-card images stationary. */

body.premium-site main .research-image img,
body.premium-site main .research-card:hover .research-image img {
  transition: none !important;
}

/* Homepage utility links: white at rest, pale teal on hover/focus. */

body.home-premium main a.signal {
  position: relative;
  z-index: 1;
  transition: background-color .16s ease, color .16s ease, border-color .16s ease !important;
}

body.home-premium main a.signal:hover,
body.home-premium main a.signal:focus-visible {
  z-index: 2;
  background: rgba(31,138,138,.065) !important;
  border-color: rgba(31,138,138,.24) !important;
}

body.home-premium main a.signal::after {
  transition: opacity .16s ease;
}

body.home-premium main a.signal:hover::after,
body.home-premium main a.signal:focus-visible::after {
  opacity: 1;
}

/* Buttons: color/border feedback only. */

body.premium-site main .btn,
body.premium-site main .btn-premium {
  transform: none !important;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease !important;
}

/*body.premium-site main .btn.primary:hover,
body.premium-site main .btn.primary:focus-visible,
body.home-premium main .btn-premium.primary:hover,
body.home-premium main .btn-premium.primary:focus-visible {
  transform: none !important;
  background: var(--p-teal-dark,#176D70) !important;
  border-color: var(--p-teal-dark,#176D70) !important;
}*/

body.home-premium main .btn-premium.primary:hover,
body.home-premium main .btn-premium.primary:focus-visible {
  transform: none !important;
  background: #ffffff !important;
  color: var(--p-navy) !important;
  border-color: var(--p-teal) !important;
}

body.home-premium main .btn-premium.secondary:hover,
body.home-premium main .btn-premium.secondary:focus-visible {
  transform: none !important;
  border-color: rgba(31,138,138,.34) !important;
  background: rgba(31,138,138,.055) !important;
}

/* Text links keep a lightweight underline/arrow cue. */

body.home-premium main .text-link {
  position: relative;
  padding-bottom: 3px;
  transition: color .16s ease;
}

body.home-premium main .text-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: calc(100% - 24px);
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .18s ease;
  opacity: .55;
}

body.home-premium main .text-link > span {
  display: inline-block;
  transition: transform .16s ease;
}

body.home-premium main .text-link:hover,
body.home-premium main .text-link:focus-visible {
  color: var(--p-navy);
}

body.home-premium main .text-link:hover::after,
body.home-premium main .text-link:focus-visible::after {
  transform: scaleX(1);
}

body.home-premium main .text-link:hover > span,
body.home-premium main .text-link:focus-visible > span {
  transform: translateX(3px);
}

/* * * =========================================================
 * * RESEARCH FIGURE INTERACTION + PER-FIGURE CONTROLS
 * * ---------------------------------------------------------
 * * Edit values in "PER-IMAGE TECHNICAL CONTROLS" when you
 * * want to tune one image without changing the others.
 * * Current defaults preserve the existing page dimensions.
 * * =========================================================
*/

/* Preserve the Research page's current flat/transparent figure treatment. */

body.premium-site.research-page figure.research-figure {
  background: var(--p-ivory) !important;
  background-color: var(--p-ivory) !important;
  border: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
  transition: none !important;
}

body.premium-site.research-page figure.research-figure:hover {
  border: 0 !important;
}

body.premium-site.research-page figure.research-figure::before,
body.premium-site.research-page figure.research-figure::after {
  display: none !important;
  content: none !important;
}

body.premium-site.research-page figure.research-figure > img {
  display: block !important;
  background: transparent !important;
  background-color: transparent !important;
}

body.premium-site.research-page figure.research-figure figcaption {
  background: transparent !important;
}

body.premium-site.research-page .other-studies-gallery > figure,
body.premium-site.research-page .other-studies-gallery > figure > img,
body.premium-site.research-page .other-studies-gallery > figure > figcaption {
  background: transparent !important;
  background-color: transparent !important;
}

body.premium-site.research-page .other-studies-gallery > figure > img {
  display: block !important;
}

body.premium-site.research-page .other-studies-gallery > figure > figcaption {
  text-align: center !important;
}

/* * * ---------------------------------------------------------
 * * PER-IMAGE TECHNICAL CONTROLS
 * *
 * * --figure-max-width: normal-page maximum width (main figures)
 * * --figure-height: normal-page image height
 * * --figure-mobile-max-width: main-figure max width <= 980px
 * * --figure-mobile-height: normal-page height on smaller screens
 * * --figure-fit: contain | cover | fill | scale-down
 * * --figure-position: center | center top | 50% 35% | etc.
 * * --lightbox-image-max-width: enlarged image max width
 * * --lightbox-image-max-height: enlarged image max height
 * * --lightbox-fit: contain | cover | fill | scale-down
 * * --lightbox-position: object-position in the enlarged view
 * * ---------------------------------------------------------
*/

.research-page .figure-binding {
  --figure-max-width: 540px;
  --figure-height: 300px;
  --figure-mobile-max-width: 100%;
  --figure-mobile-height: 230px;
  --figure-fit: contain;
  --figure-position: center;
  --lightbox-image-max-width: 980px;
  --lightbox-image-max-height: 72vh;
  --lightbox-fit: contain;
  --lightbox-position: center;
}

.research-page .figure-force-field {
  --figure-max-width: 540px;
  --figure-height: 300px;
  --figure-mobile-max-width: 100%;
  --figure-mobile-height: 230px;
  --figure-fit: contain;
  --figure-position: center;
  --lightbox-image-max-width: 1040px;
  --lightbox-image-max-height: 74vh;
  --lightbox-fit: contain;
  --lightbox-position: center;
}

.research-page .figure-folding {
  --figure-max-width: 540px;
  --figure-height: 300px;
  --figure-mobile-max-width: 100%;
  --figure-mobile-height: 230px;
  --figure-fit: contain;
  --figure-position: center;
  --lightbox-image-max-width: 1040px;
  --lightbox-image-max-height: 74vh;
  --lightbox-fit: contain;
  --lightbox-position: center;
}

.research-page .figure-internal-loops {
  --figure-max-width: 540px;
  --figure-height: 300px;
  --figure-mobile-max-width: 100%;
  --figure-mobile-height: 230px;
  --figure-fit: contain;
  --figure-position: center;
  --lightbox-image-max-width: 980px;
  --lightbox-image-max-height: 72vh;
  --lightbox-fit: contain;
  --lightbox-position: center;
}

/* Other Studies: values match the current 205px desktop / 190px mobile behavior. */

.research-page .figure-nucleosome,
.research-page .figure-basestep,
.research-page .figure-soxr,
.research-page .figure-smdh,
.research-page .figure-core-stacking,
.research-page .figure-superhelix {
  --figure-height: 205px;
  --figure-mobile-height: 190px;
  --figure-fit: contain;
  --figure-position: center;
  --lightbox-image-max-width: 980px;
  --lightbox-image-max-height: 72vh;
  --lightbox-fit: contain;
  --lightbox-position: center;
}

/* Apply the control variables without changing the current layout. */

.research-page figure.research-figure.research-interactive-figure {
  position: relative;
  max-width: var(--figure-max-width, 540px);
}

.research-page figure.research-figure.research-interactive-figure > img {
  height: var(--figure-height, 300px);
  object-fit: var(--figure-fit, contain) !important;
  object-position: var(--figure-position, center);
}

.research-page .other-studies-gallery > figure.research-interactive-figure {
  position: relative;
}

.research-page .other-studies-gallery > figure.research-interactive-figure > img {
  height: var(--figure-height, 205px);
  object-fit: var(--figure-fit, contain) !important;
  object-position: var(--figure-position, center);
}

@media (max-width: 980px) {
  .research-page figure.research-figure.research-interactive-figure {
    max-width: var(--figure-mobile-max-width, 100%);
  }

  .research-page figure.research-figure.research-interactive-figure > img {
    height: var(--figure-mobile-height, 230px);
  }
}

@media (max-width: 620px) {
  .research-page .other-studies-gallery > figure.research-interactive-figure > img {
    height: var(--figure-mobile-height, 190px);
  }
}

/* * * ---------------------------------------------------------
 * * DISCOVERABILITY CUE
 * * ---------------------------------------------------------
*/

.research-page .research-lightbox-trigger {
  cursor: zoom-in;
}

.research-page .research-lightbox-trigger:focus-visible {
  outline: 2px solid var(--p-teal);
  outline-offset: 4px;
}

.research-page .research-image-cue {
  position: absolute;
  top: 9px;
  right: 9px;
  z-index: 4;
  padding: 6px 9px;
  border: 1px solid rgba(31,138,138,.23);
  border-radius: 999px;
  background: rgba(250,248,244,.94);
  color: var(--p-navy);
  font: 700 10px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;
  letter-spacing: .015em;
  white-space: nowrap;
  pointer-events: none;
  opacity: .88;
}

/* * * =========================================
 * * INDIVIDUAL "CLICK TO ENLARGE" POSITIONS
 * * =========================================
*/

/* 01 · RNA–Ligand Binding — TOP LEFT */

.research-page .figure-binding .research-image-cue {
  left: 9px;
  right: auto;
}

/* * * 02 · Force Field — KEEP TOP RIGHT
 * * No additional rule needed
*/

/* 03 · RNA Folding — TOP LEFT */

.research-page .figure-folding .research-image-cue {
  left: 9px;
  right: auto;
}

/* * * 04 · Internal Loops — KEEP TOP RIGHT
 * * No additional rule needed
*/

/* Other Studies — CENTER HORIZONTALLY */

.research-page .figure-nucleosome .research-image-cue,
.research-page .figure-basestep .research-image-cue,
.research-page .figure-soxr .research-image-cue,
.research-page .figure-smdh .research-image-cue,
.research-page .figure-core-stacking .research-image-cue,
.research-page .figure-superhelix .research-image-cue {
  top: 6px;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
}

@media (hover:hover) and (pointer:fine) {
  .research-page .research-interactive-figure:hover .research-image-cue {
    opacity: 1;
    border-color: rgba(31,138,138,.38);
    background: rgba(250,248,244,.98);
  }
}

@media (max-width:620px) {
  .research-page .research-image-cue {
    top: 7px;
    right: 7px;
    padding: 5px 8px;
    font-size: 9px;
  }
}

/* * * ---------------------------------------------------------
 * * REUSABLE RESEARCH FIGURE DIALOG
 * * ---------------------------------------------------------
*/

html.research-lightbox-open {
  overflow: hidden;
}

.research-lightbox {
  width: min(1220px, calc(100% - 32px));
  max-width: none;
  max-height: calc(100% - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--p-ink);
  overflow: visible;
}

.research-lightbox::backdrop {
  background: rgba(16,38,61,.45);
}

.research-lightbox-shell {
  position: relative;
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid rgba(23,50,77,.14);
  border-radius: 20px;
  background: var(--p-ivory);
}

.research-lightbox-grid {
  display: grid;
  /* Image gets ~43%, text gets ~57% */
  grid-template-columns: minmax(0, .85fr) minmax(380px, 1.15fr);
  gap: 30px;
  align-items: center;
  padding: 32px;
}

.research-lightbox-media {
  min-width: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  border: 0;
  border-radius: 0;
  background: var(--p-ivory);
}

.research-lightbox-media img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: var(--active-lightbox-image-max-height, 72vh);
  object-fit: contain;
  object-position: center;
}

.research-lightbox-copy {
  min-width: 0;
  padding-right: 8px;
}

.research-lightbox-kicker {
  display: block;
  margin-bottom: 10px;
  color: var(--p-teal-dark);
  font: 800 10px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.research-lightbox-copy h2 {
  margin: 0 0 14px;
  color: var(--p-navy);
  font-family: "Cormorant Garamond",Georgia,"Times New Roman",serif;
  font-size: clamp(32px,3.6vw,46px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.025em;
}

.research-lightbox-description {
  margin: 0;
  color: #52616f;
  font-size: 14px;
  line-height: 1.68;
}

.research-lightbox-details {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--p-line);
}

.research-lightbox-details > span {
  display: block;
  margin-bottom: 10px;
  color: var(--p-navy);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.research-lightbox-details ul {
  margin: 0;
  padding-left: 18px;
  color: #465565;
}

.research-lightbox-details li {
  margin: 7px 0;
  font-size: 13px;
  line-height: 1.55;
}

.research-lightbox-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 8;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--p-navy);
  cursor: pointer;
  font: 500 28px/1 Inter,ui-sans-serif,system-ui,sans-serif;
}

.research-lightbox-close:hover,
.research-lightbox-close:focus-visible {
  color: var(--p-teal-dark);
  outline: none;
}

@media (max-width: 820px) {
  .research-lightbox {
    width: min(720px, calc(100% - 20px));
    max-height: calc(100% - 20px);
  }

  .research-lightbox-shell {
    max-height: calc(100vh - 20px);
  }

  .research-lightbox-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 24px 18px 22px;
  }

  .research-lightbox-media {
    padding: 12px;
  }

  .research-lightbox-media img {
    max-height: min(var(--active-lightbox-image-max-height, 72vh), 55vh);
  }
}

/* Research lightbox editable content: hidden on the normal Research page. */

.research-page .research-lightbox-content[hidden],
.research-lightbox-details[hidden] {
  display: none !important;
}

/* * * =========================================================
 * * RESEARCH LIGHTBOX — SCROLLABLE DETAILS + ABOUT THIS IMAGE
 * * =========================================================
*/

/* On desktop, keep the figure stationary and scroll only the information column. */

@media (min-width: 821px) {
  .research-lightbox-shell {
    overflow: hidden;
  }

  .research-lightbox-grid {
    max-height: calc(100vh - 32px);
    align-items: stretch;
  }

  .research-lightbox-media {
    align-self: stretch;
  }

  .research-lightbox-copy {
    align-self: stretch;
    max-height: calc(100vh - 96px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 14px;
    scrollbar-width: thin;
    scrollbar-color: rgba(23,50,77,.30) transparent;
  }

  .research-lightbox-copy::-webkit-scrollbar {
    width: 6px;
  }

  .research-lightbox-copy::-webkit-scrollbar-track {
    background: transparent;
  }

  .research-lightbox-copy::-webkit-scrollbar-thumb {
    background: rgba(23,50,77,.28);
    border-radius: 999px;
  }

  .research-lightbox-copy::-webkit-scrollbar-thumb:hover {
    background: rgba(23,50,77,.42);
  }
}

/* Dedicated image-specific explanation shown after the research bullets. */

.research-lightbox-about {
  margin-top: 22px;
  padding-top: 18px;
  padding-bottom: 4px;
  border-top: 1px solid var(--p-line);
}

.research-lightbox-about[hidden] {
  display: none !important;
}

.research-lightbox-about > strong {
  display: block;
  margin-bottom: 10px;
  color: var(--p-navy);
  font: 800 10px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.research-lightbox-about > p {
  margin: 0;
  color: #52616f;
  font-size: 13px;
  line-height: 1.65;
}

/* On smaller screens, the dialog becomes a normal vertically scrollable stack. */

@media (max-width: 820px) {
  .research-lightbox-shell {
    overflow: auto;
  }

  .research-lightbox-grid {
    max-height: none;
  }

  .research-lightbox-copy {
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }
}

/* Page-local layout rules consolidated from HTML */

@media (min-width: 900px) {
  .contact-page .info-card {
    align-self: start;
    height: auto;
  }

  .contact-page .contact-visual-column {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-self: start;
    min-height: 0;
  }

  .contact-page .contact-visual-column .map-card {
    flex: 1 1 auto;
    min-height: 330px;
    overflow: hidden;
  }

  .contact-page .contact-visual-column .map-card iframe {
    display: block;
    width: 100%;
    height: 100% !important;
    min-height: 330px;
    border: 0;
  }

  .contact-page .campus-image-card {
    flex: 0 0 auto;
    margin: 0;
  }
}

.poster-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px;
}

@media (max-width: 900px) {
  .poster-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 600px) {
  .poster-grid {
    grid-template-columns: 1fr;
  }
}

.research-page .research-lightbox h2,
.research-page .research-lightbox-content > h3 {
  text-align: center;
}

/* ==========================================================================
   04 — FINAL INTERACTION & LINK-BEHAVIOR OVERRIDES
   ========================================================================== */

/* Homepage Featured Research: same low-cost highlight language as utility links. */

body.home-premium main a.research-card {
  cursor: pointer;
  transform: none !important;
  background: #fff !important;
  transition: border-color .16s ease !important;
}

body.home-premium main a.research-card .research-body {
  background: #fff;
  transition: background-color .16s ease;
}

body.home-premium main a.research-card:hover,
body.home-premium main a.research-card:focus-visible {
  transform: none !important;
  border-color: rgba(31,138,138,.24) !important;
  background: #fff !important;
}

body.home-premium main a.research-card:hover .research-body,
body.home-premium main a.research-card:focus-visible .research-body {
  background: rgba(31,138,138,.065) !important;
}

body.home-premium main a.research-card .research-image img {
  transform: none !important;
  transition: none !important;
}

/* Software page — GitHub buttons match homepage primary-button behavior */

body.software-page main .software-featured .actions .btn.primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--p-teal) !important;
  color: #ffffff !important;
  border: 1px solid transparent !important;
  border-radius: 999px;
  padding: 13px 20px;
  transform: none !important;
  transition: background-color .16s ease,
    color .16s ease,
    border-color .16s ease !important;
}

body.software-page main .software-featured .actions .btn.primary:hover,
body.software-page main .software-featured .actions .btn.primary:focus-visible {
  background: #ffffff !important;
  color: var(--p-navy) !important;
  border-color: var(--p-teal) !important;
  transform: none !important;
}

/* Software page — external resource cards */

body.software-page main a.resource-tile {
  position: relative;
  cursor: pointer;
  padding-right: 38px;
  transition: background-color .16s ease,
    border-color .16s ease !important;
}

/* External-link indicator */

body.software-page main a.resource-tile::before {
  content: "↗";
  position: absolute;
  top: 13px;
  right: 15px;
  color: var(--p-teal-dark);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  opacity: .55;
  pointer-events: none;
  transition: opacity .16s ease;
}

/* Same lightweight hover language used elsewhere */

body.software-page main a.resource-tile:hover,
body.software-page main a.resource-tile:focus-visible {
  background: rgba(31,138,138,.055) !important;
  border-color: rgba(31,138,138,.34) !important;
}

body.software-page main a.resource-tile:hover::before,
body.software-page main a.resource-tile:focus-visible::before {
  opacity: 1;
}

/* Journals page — same external-card treatment as Software */

body.journals-page main a.journal-link {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: background-color .16s ease,
    border-color .16s ease !important;
}

/* Same soft decorative object used inside Software resource tiles */

body.journals-page main a.journal-link::after {
  content: "";
  position: absolute;
  right: -38px;
  bottom: -50px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(31,138,138,.08),
    transparent 68%
  );
  pointer-events: none;
}

/* Keep journal title and external-link mark above the decoration */

body.journals-page main a.journal-link > span {
  position: relative;
  z-index: 1;
}

body.journals-page main a.journal-link .external-mark {
  opacity: .55;
  transition: opacity .16s ease;
}

/* Same lightweight hover language as Software */

body.journals-page main a.journal-link:hover,
body.journals-page main a.journal-link:focus-visible {
  background: rgba(31,138,138,.055) !important;
  border-color: rgba(31,138,138,.34) !important;
}

body.journals-page main a.journal-link:hover .external-mark,
body.journals-page main a.journal-link:focus-visible .external-mark {
  opacity: 1;
}

/* Databases + Links — same lightweight external-card treatment as Journals */

body.databases-page main a.resource-tile,
.external-links-grid a.hub-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: background-color .16s ease,
    border-color .16s ease !important;
}

/* Links cards: add the same soft lower-right decorative object used on Journals. */

.external-links-grid a.hub-card::after {
  content: "";
  position: absolute;
  right: -38px;
  bottom: -50px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(31,138,138,.08),
    transparent 68%
  );
  pointer-events: none;
}

/* Keep Links card content above the decoration. */

.external-links-grid a.hub-card > * {
  position: relative;
  z-index: 1;
}

/* External-link text is slightly quieter until the card is engaged. */

body.databases-page main a.resource-tile .resource-link,
.external-links-grid a.hub-card .resource-link {
  opacity: .65;
  transition: opacity .16s ease;
}

/* Same pale-teal hover/focus treatment as Journals. */

body.databases-page main a.resource-tile:hover,
body.databases-page main a.resource-tile:focus-visible,
.external-links-grid a.hub-card:hover,
.external-links-grid a.hub-card:focus-visible {
  background: rgba(31,138,138,.055) !important;
  border-color: rgba(31,138,138,.34) !important;
}

body.databases-page main a.resource-tile:hover .resource-link,
body.databases-page main a.resource-tile:focus-visible .resource-link,
.external-links-grid a.hub-card:hover .resource-link,
.external-links-grid a.hub-card:focus-visible .resource-link {
  opacity: 1;
}

/* Contact page — level both columns and match homepage button interaction. */

@media (min-width: 900px) {
  .contact-page .contact-grid {
    align-items: stretch !important;
  }

  .contact-page .info-card,
  .contact-page .contact-visual-column {
    align-self: stretch !important;
    height: 100% !important;
  }
}

/* Contact map buttons: teal at rest, white/navy on hover — same as homepage primary buttons. */

body.contact-body main .contact-page .actions .btn.primary {
  background: var(--p-teal) !important;
  color: #ffffff !important;
  border: 1px solid transparent !important;
  transform: none !important;
  transition: background-color .16s ease,
    color .16s ease,
    border-color .16s ease !important;
}

body.contact-body main .contact-page .actions .btn.primary:hover,
body.contact-body main .contact-page .actions .btn.primary:focus-visible {
  background: #ffffff !important;
  color: var(--p-navy) !important;
  border-color: var(--p-teal) !important;
  transform: none !important;
}

/* Publications page — quick links match the homepage teal pill buttons. */

body.publications-page main .publication-overview .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
}

body.publications-page main .publication-overview .publication-quick-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 52px;
  padding: 13px 22px;
  background: var(--p-teal);
  color: #ffffff;
  border: 1px solid transparent;
  border-radius: 999px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 750;
  transform: none;
  transition: background-color .16s ease,
    color .16s ease,
    border-color .16s ease;
}

body.publications-page main .publication-overview .publication-quick-link::after {
  content: "→";
  font-size: 18px;
  line-height: 1;
}

body.publications-page main .publication-overview .publication-quick-link:hover,
body.publications-page main .publication-overview .publication-quick-link:focus-visible {
  background: #ffffff;
  color: var(--p-navy);
  border-color: var(--p-teal);
  transform: none;
}

body.publications-page main .publication-overview .publication-quick-link:focus-visible {
  outline: 2px solid rgba(31,138,138,.42);
  outline-offset: 2px;
}

@media (max-width: 700px) {
  body.publications-page main .publication-overview .actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.publications-page main .publication-overview .publication-quick-link {
    width: 100%;
  }
}

/* Complete Publication List — citation hierarchy and external-link cue. */

body.publications-page main .pub-paper-link {
  display: block;
  color: var(--p-ink) !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

body.publications-page main .pub-paper-link .pub-authors {
  font-weight: 400;
}

body.publications-page main .pub-paper-link .pub-lab-author {
  color: var(--p-navy);
  font-weight: 700;
}

body.publications-page main .pub-paper-link .pub-title {
  color: var(--p-navy);
  font-weight: 600;
  transition: color .16s ease;
}

body.publications-page main .pub-paper-link .pub-journal {
  font-style: italic;
  font-weight: 400;
}

body.publications-page main .pub-paper-link .pub-volume {
  color: var(--p-ink);
  font-weight: 700;
}

body.publications-page main .pub-paper-link::after {
  content: " ↗";
  color: var(--p-teal-dark);
  font-weight: 700;
  opacity: .60;
  transition: opacity .16s ease;
}

body.publications-page main .pub-paper-link:hover,
body.publications-page main .pub-paper-link:focus-visible {
  color: var(--p-ink) !important;
  text-decoration: none !important;
}

body.publications-page main .pub-paper-link:hover .pub-title,
body.publications-page main .pub-paper-link:focus-visible .pub-title {
  color: var(--p-teal-dark);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

body.publications-page main .pub-paper-link:hover::after,
body.publications-page main .pub-paper-link:focus-visible::after {
  opacity: 1;
}

/* Selected Publications — match the Complete Publication List citation hierarchy. */

body.publications-page main .selected-pub-citation {
  color: var(--p-ink);
  font-weight: 400;
}

body.publications-page main .selected-pub-citation .pub-authors {
  font-weight: 400;
}

body.publications-page main .selected-pub-citation .pub-lab-author {
  color: var(--p-navy);
  font-weight: 700;
}

body.publications-page main .selected-pub-citation .pub-title {
  color: var(--p-navy);
  font-weight: 600;
}

body.publications-page main .selected-pub-citation .pub-journal {
  font-style: italic;
  font-weight: 400;
}

body.publications-page main .selected-pub-citation .pub-volume {
  color: var(--p-ink);
  font-weight: 700;
}

/* Make the selected-paper title link clearly external without adding shadow or movement. */

body.publications-page main a.selected-pub .pub-title-link::after {
  content: " ↗";
  color: var(--p-teal-dark);
  font-family: Inter,ui-sans-serif,system-ui,sans-serif;
  font-size: .72em;
  font-weight: 700;
  opacity: .60;
  transition: opacity .16s ease;
}

body.publications-page main a.selected-pub:hover .pub-title-link::after,
body.publications-page main a.selected-pub:focus-visible .pub-title-link::after {
  opacity: 1;
}

/* Selected Publications — whole-card link behavior. */

body.publications-page main a.selected-pub {
  display: block;
  color: inherit;
  text-decoration: none !important;
  cursor: pointer;
}

body.publications-page main a.selected-pub .pub-title-link {
  color: var(--p-navy);
  text-decoration: none;
  transition: color .16s ease;
}

@media (hover: hover) {
  body.publications-page main a.selected-pub:hover {
    background: rgba(31,138,138,.035) !important;
    border-color: rgba(31,138,138,.30) !important;
    text-decoration: none !important;
  }

  body.publications-page main a.selected-pub:hover .pub-title-link {
    color: var(--p-teal-dark) !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
  }

  body.publications-page main a.selected-pub:hover .pub-title-link::after {
    opacity: 1;
  }
}

body.publications-page main a.selected-pub:focus-visible {
  background: rgba(31,138,138,.035) !important;
  border-color: rgba(31,138,138,.30) !important;
  outline: 2px solid rgba(31,138,138,.42);
  outline-offset: 2px;
  text-decoration: none !important;
}

body.publications-page main a.selected-pub:focus-visible .pub-title-link {
  color: var(--p-teal-dark) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

/* Collaborators page: same soft inner radial decoration as People cards. */

.collaborators-page .collab-card {
  isolation: isolate;
}

.collaborators-page .collab-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 150px;
  height: 150px;
  right: -58px;
  top: -64px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(31, 138, 138, .11),
    rgba(31, 138, 138, .025) 54%,
    transparent 72%
  );
  pointer-events: none;
}

/* Collaborators — whole-card external link behavior, matching Selected Publications. */

body.collaborators-page main a.collab-card {
  color: inherit !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: background-color .16s ease, border-color .16s ease !important;
}

body.collaborators-page main a.collab-card h3 {
  transition: color .16s ease;
}

body.collaborators-page main .profile-links .collab-link-label {
  color: var(--p-teal-dark);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}

@media (hover: hover) {
  body.collaborators-page main a.collab-card:hover {
    background: rgba(31,138,138,.035) !important;
    border-color: rgba(31,138,138,.30) !important;
    text-decoration: none !important;
  }

  body.collaborators-page main a.collab-card:hover h3 {
    color: var(--p-teal-dark) !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  body.collaborators-page main a.collab-card:hover .collab-link-label {
    text-decoration: underline;
    text-underline-offset: 2px;
  }
}

body.collaborators-page main a.collab-card:focus-visible {
  background: rgba(31,138,138,.035) !important;
  border-color: rgba(31,138,138,.30) !important;
  outline: 2px solid rgba(31,138,138,.42);
  outline-offset: 2px;
  text-decoration: none !important;
}

body.collaborators-page main a.collab-card:focus-visible h3 {
  color: var(--p-teal-dark) !important;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* =========================================================
   CONTACT PAGE — restore two-column layout
   =========================================================*/

@media (min-width: 760px) {
  body.contact-body main .contact-page .contact-grid {
    display: grid !important;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
    gap: 20px;
    align-items: stretch !important;
  }

  body.contact-body main .contact-page .info-card {
    height: 100% !important;
  }

  body.contact-body main .contact-page .contact-visual-column {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px;
    min-width: 0;
    height: 100% !important;
  }

  body.contact-body main .contact-page .contact-visual-column .map-card {
    min-height: 0 !important;
    height: 100%;
    padding: 0 !important;
    overflow: hidden;
  }

  body.contact-body main .contact-page .contact-visual-column .map-card iframe {
    display: block;
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
    border: 0;
  }

  body.contact-body main .contact-page .campus-image-card {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-height: 0;
    height: 100%;
    margin: 0;
    overflow: hidden;
  }

  body.contact-body main .contact-page .campus-image-card img {
    width: 100%;
    height: 100% !important;
    min-height: 0;
    object-fit: cover;
    display: block;
  }
}

/* Only stack Contact on genuinely small screens */

@media (max-width: 759px) {
  body.contact-body main .contact-page .contact-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.contact-body main .contact-page .contact-visual-column {
    display: grid !important;
    grid-template-rows: auto auto;
  }

  body.contact-body main .contact-page .contact-visual-column .map-card iframe {
    height: 300px !important;
    min-height: 300px !important;
  }

  body.contact-body main .contact-page .campus-image-card img {
    height: auto !important;
    object-fit: initial;
  }
}

/* =========================================================
   PEOPLE PAGE — MATCH premium-site_correct.css
   Only People-page differences are restored here; the styling
   for Research, Publications, Teaching, Contact, etc. is untouched.
   =========================================================*/

body.premium-site.people-page {
  --p-shadow: 0 24px 74px rgba(28,52,70,.10);
  --site-card-shadow: 0 12px 30px rgba(23,50,77,.07),
                      0 2px 8px rgba(23,50,77,.035);
}

/* Header and local People navigation as in the correct stylesheet. */

body.premium-site.people-page .site-header {
  background: rgba(250,248,244,.95);
  backdrop-filter: blur(18px);
}

body.premium-site.people-page .section-jump {
  backdrop-filter: blur(12px);
}

/* People page — flat, no shadows, no visual lift. */

body.premium-site.people-page main :is(
.person,
.former-card,
.join-card,
.join-cta
) {
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
}

/* Ilyas portrait — no shadow. */

body.premium-site.people-page .person-photo {
  box-shadow: none !important;
}

/* AYLA — no halo. */

body.premium-site.people-page .nav .ayla-pill {
  box-shadow: none !important;
}



/* Hover — border change only; no shadow or movement. */

@media (hover:hover) {
  body.premium-site.people-page main :is(
  .person,
  .former-card,
  .join-card,
  .join-cta
  ):hover {
    transform: none !important;
    box-shadow: none !important;
    border-color: rgba(31,138,138,.20) !important;
  }
}

/* =========================================================
   COLLABORATORS — DATABASE-STYLE CLICKABLE CARDS
   Uses the existing .collab-card-clickable + .collab-card-link
   markup in collaborators.html.
   =========================================================*/

body.collaborators-page main .collab-card-clickable {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  transition: background-color .16s ease, border-color .16s ease !important;
}

/* Make the existing empty anchor cover the entire collaborator card. */

body.collaborators-page main .collab-card-clickable > .collab-card-link {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: block;
  border-radius: inherit;
  text-decoration: none;
}

/* Match Databases: external-link label is quieter until interaction. */

body.collaborators-page main .collab-card-clickable .collab-link-label {
  opacity: .65;
  transition: opacity .16s ease;
}

/* Exact pale-teal hover treatment used by database resource tiles. */

@media (hover: hover) {
  body.collaborators-page main .collab-card-clickable:hover {
    background: rgba(31,138,138,.055) !important;
    border-color: rgba(31,138,138,.34) !important;
  }

  body.collaborators-page main .collab-card-clickable:hover .collab-link-label {
    opacity: 1;
  }
}

/* Keyboard users get the same visual treatment when the full-card link is focused. */

body.collaborators-page main
.collab-card-clickable:has(> .collab-card-link:focus-visible) {
  background: rgba(31,138,138,.055) !important;
  border-color: rgba(31,138,138,.34) !important;
  outline: 2px solid rgba(31,138,138,.42);
  outline-offset: 2px;
}

body.collaborators-page main
.collab-card-clickable:has(> .collab-card-link:focus-visible)
.collab-link-label {
  opacity: 1;
}

body.collaborators-page main .collab-card-link:focus-visible {
  outline: none;
}

.direct-contact a {
  text-decoration: none !important;
}

.contact-page a[href^="mailto:"] {
  text-decoration: none !important;
}

/* People cards — same upper-right soft color as Collaborators */

body.people-page .person,
body.people-page .former-card,
body.people-page .join-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

body.people-page .person::before,
body.people-page .former-card::before,
body.people-page .join-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 150px;
  height: 150px;
  right: -58px;
  top: -64px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(31, 138, 138, .11),
    rgba(31, 138, 138, .025) 54%,
    transparent 72%
  );
  pointer-events: none;
}

body.people-page a[href^="mailto:"] {
  text-decoration: none !important;
}

.home-premium .ayla-home-card .ayla-name .ayla-initial {
  color: var(--p-gold) !important;
  font-weight: 900 !important;
  font-size: 1.15em;
}

.premium-site .dropdown-menu a[aria-current="page"] {
  color: #536272 !important;
  background: transparent !important;
  font-weight: 500 !important;
}

.premium-site .dropdown-menu a[aria-current="page"]:hover {
  color: var(--p-teal-dark) !important;
  background: #F7FAF9 !important;
  font-weight: 500 !important;
}

