/* Interactive profiles: identity on the left, explorable content on the right. */
.team-modal[data-profile-ready] .team-modal__content {
  max-width: 1080px;
  height: min(720px, 90dvh);
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 28px;
  box-shadow: 0 32px 100px #061b2460, 0 2px 12px #061b2420;
}
.team-modal[data-profile-ready] .team-modal__overlay { background: #071b18b8; backdrop-filter: blur(8px); }
.team-modal[data-profile-ready] .team-modal__toolbar { padding: .55rem 1.5rem; background: #f6f9f5; }
.team-modal[data-profile-ready] .team-modal__close { width: 36px; height: 36px; background: white; border: 1px solid #dce8df; }
.team-modal[data-profile-ready] .team-modal__close:hover { background: #dceee1; transform: rotate(90deg); }
.team-modal[data-profile-ready] .team-modal__scroll {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  overflow: hidden;
  flex: 1;
  scrollbar-gutter: auto;
}
.team-modal[data-profile-ready] .team-modal__header {
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 2rem;
  overflow-y: auto;
  border: 0;
  position: relative;
  isolation: isolate;
  background: radial-gradient(ellipse at 0 100%, #277555 0, transparent 65%), linear-gradient(150deg, #143b30, #092b21) !important;
}
.team-modal[data-profile-ready] .team-modal__header::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .15;
  background-image: radial-gradient(#c3f2d5 1px, transparent 1px);
  background-size: 20px 20px;
  mask-image: linear-gradient(150deg, black, transparent 65%);
}
.profile-field { color: #c5e4d0; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
.team-modal[data-profile-ready] .team-modal__photo {
  width: 144px;
  height: 154px;
  border-radius: 24px 24px 48px 24px;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid #c8e5d447;
  box-shadow: 0 12px 32px #00160e4d;
  background: #d8e7dd;
  object-position: center 25%;
}
.team-modal[data-profile-ready] .team-modal__name {
  font-size: 1.55rem;
  line-height: 1.2;
  margin-bottom: .8rem;
}
.team-modal[data-profile-ready] .team-modal__role { font-size: .9rem; color: #dceee3; }
.team-modal[data-profile-ready] .team-modal__contact { margin-top: 1.25rem; gap: .6rem; }
.team-modal[data-profile-ready] .team-modal__contact-link { font-size: .8rem; overflow-wrap: anywhere; border: 1px solid #d5efdf30; background: #ffffff0a; border-radius: 10px; transition: background 160ms, border-color 160ms; }
.team-modal[data-profile-ready] .team-modal__contact-link:hover { background: #ffffff20; border-color: #d5efdf80; }
.team-modal[data-profile-ready] .team-modal__body {
  display: block;
  min-width: 0;
  min-height: 0;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #f6f8f5;
}
.profile-tabs {
  display: flex;
  position: sticky;
  top: 0;
  z-index: 2;
  gap: .35rem;
  padding: 1rem;
  background: #f6f8f5f5;
  border-bottom: 1px solid var(--color-border);
}
.profile-tabs button {
  flex: 1;
  padding: .75rem .6rem;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: var(--color-text-muted);
  font: inherit;
  font-size: .8rem;
  font-weight: 650;
  cursor: pointer;
  transition: background 160ms, color 160ms, box-shadow 160ms;
}
.profile-tabs button:hover { background: #eaf5ee; color: #10321f; }
.profile-tabs button[aria-selected="true"] { background: white; color: #103e29; border-color: #d6e5da; box-shadow: 0 3px 10px #183c2310; }
.profile-tab-count { display: inline-grid; place-items: center; min-width: 1.25rem; height: 1.25rem; margin-left: .4rem; border-radius: 6px; background: #e4efe7; color: #245d3a; font-size: .68rem; }
.profile-panel { padding: 1.5rem; }
.profile-panel[hidden] { display: none !important; }
.profile-panel:not([hidden]) { animation: profile-appear 180ms ease-out; }
.profile-panel .team-modal__section { margin-bottom: 1.5rem; }
.profile-panel .team-modal__section:last-child { margin-bottom: 0; }
.profile-panel .team-modal__text { font-size: .9rem; line-height: 1.7; }
.profile-panel .team-modal__section-title { font-size: .85rem; }
.profile-panel .team-modal__skills { gap: .5rem; }
.profile-panel--overview:not([hidden]) { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.profile-panel--overview .team-modal__section { margin: 0; min-width: 0; padding: 1.1rem; border: 1px solid #dce7df; border-radius: 18px; background: #fff; }
.profile-panel--overview .profile-overview { grid-column: 1 / -1; padding: 1.4rem; background: linear-gradient(125deg, #fff, #edf5ec); }
.profile-lead { font-family: var(--font-family-display); font-size: clamp(1.1rem, 2vw, 1.4rem); line-height: 1.5; letter-spacing: -.035em; color: #163f2b; margin: .6rem 0 1rem; font-weight: 650; }
.profile-biography summary { cursor: pointer; color: #266541; font-size: .8rem; font-weight: 650; width: fit-content; padding: .35rem 0; }
.profile-biography .team-modal__text { margin-top: .9rem; font-size: .85rem; }
.profile-panel .skill-tag { background: #f0f6ef; color: #305c40; border: 1px solid #dce8dc; font-size: .71rem; padding: .4rem .6rem; border-radius: 8px; }
.profile-panel .team-modal__list li { font-size: .8rem; line-height: 1.6; }
.profile-work {
  margin: .8rem 0;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  overflow: hidden;
  background: white;
  box-shadow: 0 2px 5px #113e2410;
  transition: border-color 160ms, box-shadow 160ms;
}
.profile-work:hover { border-color: #a2c6ad; box-shadow: 0 5px 16px #113e2412; }
.profile-work summary {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: 1.1rem;
  cursor: pointer;
  list-style: none;
}
.profile-work summary::-webkit-details-marker { display: none; }
.profile-work summary:hover { background: rgba(8, 116, 66, .06); }
.profile-work__number { display: grid; place-items: center; width: 36px; height: 42px; flex-shrink: 0; border-radius: 10px; background: #edf5ec; font-size: .8rem; font-weight: 700; color: #087442; }
.profile-work__heading { flex: 1; min-width: 0; }
.profile-work__heading .research-card__label { display: block; margin-bottom: .4rem; font-size: .66rem; }
.profile-work__title { display: block; font-size: .95rem; font-weight: 700; line-height: 1.45; color: var(--color-text); }
.profile-work__hint { display: grid; place-items: center; width: 28px; height: 28px; flex-shrink: 0; border: 1px solid #deeadf; border-radius: 50%; font-size: 1.2rem; color: #087442; transition: transform 160ms; }
.profile-work[open] .profile-work__hint { transform: rotate(45deg); }
.profile-work[open] { border-color: #75ac8c; }
.profile-work__content { padding: 0 1.25rem 1.25rem; }
.profile-work__content .research-card__title { font-size: .8rem; line-height: 1.5; }
.profile-work__content .research-card__link { display: inline-block; margin-top: .8rem; padding: .65rem .8rem; border-radius: 9px; background: #edf5ec; font-size: .75rem; text-decoration: none; }
.profile-explore {
  margin-top: 1.5rem;
  padding: .8rem 1rem;
  border: 1px solid #a2d3b5;
  border-radius: 12px;
  background: #e9f5ee;
  color: #103e29;
  font: inherit;
  font-size: .8rem;
  font-weight: 700;
  cursor: pointer;
  width: 100%;
  box-shadow: 0 4px 16px #00190e25;
  transition: background 160ms, transform 160ms;
}
.profile-explore:hover { background: white; transform: translateY(-2px); }
.profile-footer { display: flex; align-items: center; justify-content: flex-end; gap: .45rem; padding: .75rem 1.2rem; border-top: 1px solid #dde8df; background: #fff; flex-shrink: 0; }
.profile-footer > span { margin-right: auto; color: #617168; font-size: .72rem; }
.profile-footer button { font: inherit; font-size: .75rem; padding: .5rem .75rem; min-height: 36px; border: 1px solid #dce8df; border-radius: 99px; background: white; color: #315640; cursor: pointer; }
.profile-footer button:hover { background: #edf5ec; }
.profile-footer button[aria-current] { color: white; background: #17432d; border-color: #17432d; cursor: default; }
.profile-footer button:focus-visible, .profile-biography summary:focus-visible { outline: 3px solid #50b980; outline-offset: 3px; }
.profile-tabs button:focus-visible, .profile-work summary:focus-visible, .profile-explore:focus-visible {
  outline: 3px solid #50b980;
  outline-offset: -3px;
}
@keyframes profile-appear { from { opacity: .4; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@media (max-width: 760px) {
  .team-modal[data-profile-ready] .team-modal__content { width: 100%; height: 92dvh; max-height: 92dvh; }
  .team-modal[data-profile-ready] .team-modal__scroll { display: block; overflow-y: auto; }
  .team-modal[data-profile-ready] .team-modal__header { display: grid; grid-template-columns: 72px minmax(0, 1fr); padding: 1.25rem; gap: 1rem; overflow: visible; }
  .profile-field { grid-column: 1 / -1; font-size: .62rem; }
  .team-modal[data-profile-ready] .team-modal__photo { width: 72px; height: 72px; border-radius: 18px; }
  .team-modal[data-profile-ready] .team-modal__name { font-size: 1.2rem; }
  .team-modal[data-profile-ready] .team-modal__body { overflow: visible; }
  .team-modal[data-profile-ready] .team-modal__contact { margin-top: .75rem; }
  .profile-explore { margin-top: .75rem; }
  .profile-tabs { padding: .65rem; }
  .profile-tabs button { font-size: .72rem; padding: .65rem .35rem; }
  .profile-panel { padding: 1rem; }
  .profile-work summary { padding: .85rem; }
  .profile-panel--overview:not([hidden]) { grid-template-columns: 1fr; }
  .profile-footer { padding: .6rem .75rem; gap: .3rem; }
  .profile-footer button { padding: .5rem .6rem; font-size: .7rem; }
  .profile-footer > span { font-size: .65rem; }
}
@media (prefers-reduced-motion: reduce) {
  .profile-panel:not([hidden]) { animation: none; }
  .profile-work__hint { transition: none; }
  .team-modal[data-profile-ready] *, .team-modal[data-profile-ready] *::before { transition: none !important; }
  .profile-explore:hover { transform: none; }
}
