/* Shared finishing details, loaded after the established site theme. */
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid #4787a6;
  outline-offset: 4px;
}
.card-title, .card-text, .about-lead, .project-detail-intro, .project-description,
.member-directory-info h3, .professor-primary h3 {
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.card-title { line-height: 1.5; }
.card-text { line-height: 1.75; }
.grid-2 > *, .grid-3 > *, .contact-grid > *, .professor-primary { min-width: 0; }
.professor-section { margin-top: 0; padding-top: 4rem; }
.professor-section-head { padding-bottom: 2.5rem; }
.professor-profile { padding-top: 3rem; }
.professor-primary h3 { display: block; line-height: 1.4; }
.professor-primary h3 > span { display: none; }
.professor-primary h3 small {
  display: inline-block;
  vertical-align: middle;
  margin-left: .6rem;
  padding: .35rem .6rem;
  border-radius: 4px;
  background: #eff3f7;
  color: #466078;
  font-size: .85rem;
  letter-spacing: 0;
  white-space: nowrap;
}
.professor-contact span { min-width: 0; overflow-wrap: anywhere; }
.professor-affiliation, .professor-contact { margin-left: 0; }
.publication-team-mark { align-self: start; }
.publication-category-page .publication-row > .publication-links { align-self: start; }
.publication-kind { line-height: 1.6; }
.footer-list { list-style: none; padding-left: 0; }
.footer-list a { display: inline-block; padding: .2rem 0; }
.empty-state { padding: 3rem 1.5rem; line-height: 1.7; color: #677583; background: #f8fafb; border: 1px solid #e2e7ec; }
.contact-inquiry { display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; }
.contact-inquiry h3, .contact-inquiry p { margin: 0; }
.contact-inquiry p { color: #52616f; line-height: 1.8; word-break: keep-all; }
.contact-inquiry .button-primary { min-height: 44px; }
.contact-inquiry-address { color: #244f76; overflow-wrap: anywhere; }
.scroll-reveal { --reveal-duration: 420ms; }

@media (max-width: 767px) {
  .ines-research-synthesis { grid-template-columns: minmax(0, 1fr) 12px minmax(0, 1fr) 12px minmax(0, 1fr); gap: .5rem; }
  .ines-research-synthesis > span { font-size: .75rem; letter-spacing: .04em; }
  .ines-research-synthesis > p { min-width: 0; overflow-wrap: anywhere; word-break: keep-all; }
  .page-shell { padding-bottom: 3.5rem; }
  .category-page > .section-block { margin-top: 2.25rem; }
  .professor-section { padding-top: 2.5rem; margin-top: 0; }
  .professor-section-head, .member-degree-head { padding-bottom: 1.5rem; }
  .professor-section-head > span, .member-degree-head > span { margin-bottom: 1rem; width: 40px; height: 3px; }
  .professor-section-head h2, .member-degree-head h2 { font-size: clamp(1.8rem, 7.5vw, 2.35rem); line-height: 1.2; overflow-wrap: anywhere; }
  .professor-profile { padding-top: 2rem; }
  .professor-photo { width: min(220px, 72vw); }
  .professor-primary h3 { font-size: 1.6rem; }
  .professor-primary h3 small { margin: .6rem 0 0; display: table; }
  .professor-details { margin-top: 2rem; }
  .member-degree-section + .member-degree-section { margin-top: 3rem; }
  .member-directory-row { padding: 2rem 0; }
  .member-directory-photo { width: min(220px, 72vw); }
  .member-directory-info h3 { line-height: 1.4; }
  .member-directory-info h3 > span { flex-shrink: 0; }
  .member-alumni-directory { padding-top: 2rem; }
  .project-logo-panel { height: 180px; }
  .project-category-page .card-pad, .award-category-page .card-pad, .gallery-category-page .card-pad { padding: 1.25rem; }
  .project-category-page .card-title { font-size: 1.15rem; }
  .project-detail-intro { padding: 2.25rem 0; }
  .project-detail-layout { padding: 2.5rem 0; gap: 2rem; }
  .project-detail-heading h2 { font-size: clamp(1.8rem, 8vw, 2.4rem); }
  .publication-category-page .grid-2 > .publication-row { grid-template-columns: minmax(0, 1fr); gap: .85rem; }
  .publication-category-page .publication-row > .publication-team-mark { grid-column: 1; grid-row: 1; width: auto; height: auto; min-width: 40px; justify-self: start; padding: .3rem .6rem; }
  .publication-category-page .publication-row > .publication-row-body { grid-column: 1; grid-row: 2; }
  .publication-category-page .publication-row > .publication-links { grid-column: 1; grid-row: 3; }
  .publication-category-page .publication-year-group { margin-bottom: 2.5rem !important; }
  .publication-links a { min-height: 40px; min-width: 52px; }
  .site-footer { padding-top: 2.5rem; padding-bottom: 1.5rem; }
  .footer-grid { gap: 1.75rem; }
  .reveal-ready .scroll-reveal { opacity: 1; transform: none; transition: none; }
}
