/* Content and layout adjustments using Faction's original component styles. */
html { scroll-padding-top: 100px; }
#header > .logo { display: flex; align-items: center; gap: .5em; min-width: 0; height: 100%; }
#header > .logo > a { flex-shrink: 0; margin: 0; }
#header > .logo > span { display: block; font-size: .9em; line-height: 1.35; }
@media (max-width: 736px) {
  #header > .logo > span { font-size: .75em; }
}
@media (max-width: 480px) {
  #header > .logo { max-width: calc(100% - 3.5em); }
  #header > .logo > span { display: block; font-size: .7em; }
}
#footer .copyright { padding: 1.5em 2em; }
.publication-list, .contact-icons, .spotlights p { overflow-wrap: anywhere; }
.wrapper > .sidebar { width: 25%; }
.wrapper > .sidebar > section { padding: 2em 1.5em; }
.sidebar .news-list h3 { font-size: 1.1em; margin-bottom: .3em; }
.sidebar .posts > li > p { margin: .6em 0 0; }
.publication-list { margin: 0; }
.publication-list > li { padding: .65em 0; }
.publication-list > li:first-child { padding-top: 0; }
.publication-list > li:last-child { padding-bottom: 0; }
.publication-list h3 { font-size: 1.1em; line-height: 1.35; margin: 0 0 .25em; }
.publication-list .paper-authors { color: #666; font-size: .9em; line-height: 1.45; margin: 0; }
.publication-list .paper-citation { color: #777; font-size: .9em; line-height: 1.45; margin: .15em 0 0; }
.main > .selected-publications { padding-top: 2em; padding-bottom: 2em; }
.selected-publications h2 { font-size: 1.6em; margin-bottom: .6em; }
.selected-publications > .actions { margin: 1em 0 0; }
.publications-page > header { margin-bottom: 1.25em; }
.publications-page > header > p { margin-bottom: 0; }
.research-direction, .news-item { scroll-margin-top: 100px; }
.recruitment-content > p:last-child { font-size: .85em; }

/* Compact team profiles retain Faction's spotlight grid and typography. */
.people-page > section:not(.spotlights) { padding: 2em; }
.people-page > .spotlights { justify-content: flex-start; }
.people-page > .spotlights > article {
  display: grid;
  grid-template-columns: 192px minmax(0, 1fr);
  column-gap: 1.25em;
  align-content: start;
  padding: 1.5em 2em;
}
.people-page .spotlights > article > .image {
  grid-column: 1;
  grid-row: 1 / span 3;
  width: 192px;
  margin: 0;
}
.people-page .spotlights img { height: 240px; object-fit: cover; object-position: center 15%; }
.people-page .spotlights img[alt="Sudeep Senivarapu"] { object-position: right 15%; }
.people-page .spotlights > article > h3 { grid-column: 2; font-size: 1.25em; margin: 0 0 .35em; }
.people-page .spotlights > article > p { grid-column: 2; margin: 0 0 .85em; }
.people-page .spotlights > article > p > strong:first-child { display: block; margin-bottom: .5em; }
.people-page .spotlights > article > p > br { display: none; }
.people-page .spotlights > article > .actions { grid-column: 2; margin: 0; }
.people-page .spotlights > article:nth-child(odd):last-child { border-width: 1px 0 0; }
.people-page .spotlights > article:nth-child(odd):last-child::after { display: none; }
@media (max-width: 1100px) {
  .people-page > .spotlights > article { width: 100%; border-left-width: 0; }
}
@media (max-width: 980px) {
  .wrapper > .sidebar { width: 100%; }
}
@media (max-width: 600px) {
  .people-page > section:not(.spotlights) { padding: 1.5em; }
  .people-page > .spotlights > article { grid-template-columns: 144px minmax(0, 1fr); padding: 1.25em 1.5em; }
  .people-page .spotlights > article > .image { grid-row: 1; width: 144px; }
  .people-page .spotlights img { height: 180px; }
  .people-page .spotlights > article > h3 { align-self: center; margin: 0; }
  .people-page .spotlights > article > p { grid-column: 1 / -1; margin-top: 1em; }
  .people-page .spotlights > article > .actions { grid-column: 1 / -1; }
}

.skip-link { position: fixed; top: -100px; left: 1em; z-index: 20000; padding: .5em 1em; background: white; }
.skip-link:focus { top: 1em; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
#banner .indicators li:focus-visible { outline: 2px solid white; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
