/* Interior pages share the profile homepage's width, typography and glass cards. */
.detail-page > .section { margin-top: 0; }
.detail-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
  padding: 0 4px;
}
.detail-heading h1 {
  color: var(--primary);
  font-size: clamp(1.8rem, 3vw, 2.35rem);
  line-height: 1.25;
}
.detail-byline { margin-top: 10px; opacity: .76; }
.detail-page .profile-section-heading { margin-top: 34px; }
.detail-page .profile-section-heading h2 { margin-bottom: 0; font-size: 1.6rem; }
.detail-page [id] { scroll-margin-top: 110px; }
.detail-page a:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.experience-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; min-width: 0; }
.experience-groups > .profile-group:last-child { grid-column: 1 / -1; }
.detail-page .profile-group-title h2 { margin: 0; color: var(--primary); font-size: 1.25rem; }
.experience-list { margin-left: 3px; }
.profile-group .experience-list li { padding: 0 0 17px 20px; border-left: 1px solid color-mix(in srgb, var(--primary) 22%, transparent); }
.profile-group .experience-list li:last-child { padding-bottom: 0; }
.profile-group .experience-list li::before { left: -3.5px; }
.experience-list span { display: block; }
.experience-date { color: var(--primary); font-size: .9rem; font-weight: 700; margin-bottom: 4px; }
.research-shortcuts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.research-shortcuts > a { min-width: 0; }
.research-shortcuts .profile-group { height: 100%; border-width: 2px; }
.research-shortcuts h3 { margin-bottom: 8px; color: var(--primary); font-size: 1.25rem; }
.research-shortcuts p { color: var(--text); font-size: 1rem; }
.detail-page .member-card { grid-template-columns: 150px minmax(0, 1fr); gap: 28px; padding: 26px; border-radius: 18px; }
.detail-page .member-card img { width: 150px; border-radius: 14px; }
.detail-page .pub-text, .detail-page .list-text { min-width: 0; overflow-wrap: anywhere; }
.detail-page .pub-text h3, .address-card h3 { color: var(--primary); font-size: 1.3rem; margin-bottom: 10px; }
.detail-page .pub-text p, .address-card p { font-size: 1.05rem; line-height: 1.75; margin-bottom: 8px; }
.detail-page .pub-text p:last-child { margin-bottom: 0; }
.detail-page .pub-text p:has(.profile-link) { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.research-page .member-card .profile-link { min-height: 34px; padding: 6px 12px; font-size: .9rem; border-radius: 8px; }
.funding-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.detail-page .funding-item { border-top: 3px solid var(--primary); }
.funding-item h3 { color: var(--primary); font-size: 1.1rem; line-height: 1.7; margin-bottom: 14px; overflow-wrap: anywhere; }
.funding-item p { font-size: 1rem; line-height: 1.75; }
.funding-item p + p { margin-top: 6px; opacity: .8; }
.detail-page .map-card { margin-bottom: 0; }
[data-theme="dark"] .detail-page h1,
[data-theme="dark"] .detail-page h2,
[data-theme="dark"] .detail-page h3,
[data-theme="dark"] .detail-page .experience-date,
[data-theme="dark"] .detail-page a:not(.primary) { color: #91b7ff; }
.detail-page .research-shortcuts > a:is(:hover, :active, :focus-visible) .profile-group { border-color: var(--primary); }
.detail-page .research-shortcuts > a:is(:hover, :active, :focus-visible) h3 { color: var(--accent); }
.contact-hero .profile-intro h2 { margin-bottom: 0; font-size: 1.7rem; line-height: 1.08; }
.contact-hero .profile-intro h2 span { display: block; margin-top: 4px; color: var(--text); font-size: 1.05rem; font-weight: 600; }
.contact-facts { grid-template-columns: 1fr; gap: 18px; }
.contact-facts dd { overflow-wrap: anywhere; }
.contact-email { font-weight: 700; }
@media (max-width: 980px) {
  .experience-groups { grid-template-columns: 1fr; }
  .funding-list { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .detail-heading { align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 24px; }
  .research-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .research-shortcuts .profile-group { padding: 18px 14px; overflow-wrap: anywhere; }
  .detail-page .member-card { grid-template-columns: 1fr; gap: 20px; padding: 21px 19px; }
  .detail-page .member-card img { justify-self: center; }
  .detail-page .profile-section-heading { margin-top: 28px; }
}
