:root {
  color-scheme: light;
  --background: #fff;
  --foreground: #333;
  --primary: #8036a5;
  --muted: #54505a;
  --border: #ded9e1;
  --sidebar-width: 20%;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--foreground); background: var(--background); line-height: 1.8; }
a { color: var(--primary); text-decoration: none; text-underline-offset: .2em; overflow-wrap: anywhere; }
a:hover { text-decoration: underline; }
a:focus-visible { outline: 3px solid #8b45ab; outline-offset: 5px; border-radius: 2px; }
.skip-link { position: fixed; left: 1rem; top: -5rem; padding: .6rem 1rem; background: white; z-index: 5; }
.skip-link:focus { top: 1rem; }
.landscape { position: fixed; inset: 0 auto 0 0; width: var(--sidebar-width); background: #173c49 url('../uploads/1/2/6/4/126444552/background-images/591835530.jpg') center center / cover no-repeat; display: flex; align-items: flex-start; }
.menu-toggle { position: absolute; top: 33px; left: 33px; display: grid; place-items: center; width: 44px; height: 44px; padding: 7px; border: 0; background: transparent; color: #fff; cursor: pointer; }
.menu-toggle[data-menu-open] { color: #888; background: #f5f5f5; border: 1px solid #d5d5d5; border-radius: 50%; box-shadow: 0 2px 8px rgb(0 0 0 / 18%); z-index: 1; }
.menu-toggle[data-menu-open]:hover { color: #737373; background: #fff; }
.menu-toggle:focus-visible { outline: 3px solid #ddbae9; outline-offset: 4px; }
.menu-icon { position: relative; display: block; width: 30px; height: 27px; }
.menu-icon span { position: absolute; left: 0; width: 30px; height: 3px; background: currentColor; }
.menu-icon span:nth-child(1) { top: 2px; }
.menu-icon span:nth-child(2) { top: 12px; }
.menu-icon span:nth-child(3) { top: 22px; }
.menu-toggle[data-menu-open] .menu-icon { display: flex; flex-direction: column; justify-content: space-between; width: 22px; height: 18px; }
.menu-toggle[data-menu-open] .menu-icon span { position: static; width: 100%; height: 2px; border-radius: 1px; }
.menu-close .menu-icon span:nth-child(1) { top: 12px; transform: rotate(45deg); }
.menu-close .menu-icon span:nth-child(2) { transform: rotate(-45deg); }
.navigation-dialog { position: fixed; inset: 0 auto 0 0; width: var(--sidebar-width); max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; background: #222; color: #fff; overflow-y: auto; }
.navigation-dialog:not([open]) { display: none; }
.navigation-dialog::backdrop { background: rgb(0 0 0 / 70%); }
.navigation-open { overflow: hidden; }
.landscape nav { width: 100%; padding: 100px 1.25rem 2rem; }
.landscape ul { padding: 0; margin: 0; list-style: none; }
.landscape a { color: #bdbdbd; display: block; font-size: .9375rem; line-height: 1.5; padding: .8rem .6rem; text-align: center; text-transform: uppercase; letter-spacing: .025em; }
.landscape a[aria-current] { color: #fff; font-weight: 700; }
.landscape a:hover { color: #fff; background: #ffffff12; }
main { margin-left: var(--sidebar-width); min-width: 0; }
article { padding: 2.8rem clamp(2rem, 5.3vw, 5rem) 4rem; max-width: 90rem; }
.page-index main { background: linear-gradient(rgb(255 255 255 / 40%), rgb(255 255 255 / 40%)), #fff url('../uploads/1/2/6/4/126444552/background-images/1381897361.jpg') center top / cover no-repeat; }
h1 { font-size: 2.25rem; color: #29242e; font-weight: 400; line-height: 1.2; margin: 0 0 1.7rem; letter-spacing: -.025em; }
h2 { font-size: 1.25rem; line-height: 1.4; margin: 0 0 1rem; font-weight: 700; }
h3 { font-size: 1rem; line-height: 1.5; margin: 1.5rem 0 .5rem; font-weight: 700; }
.home-section, .publication-year, .research-section { margin: 2.75rem 0 0; }
.home-section { margin-bottom: 2.75rem; }
.home-section > :last-child { margin-bottom: 0; }
.section-intro { margin: 0 0 1.25rem; }
.group-roster { margin: 0 0 2rem; }
.roster-section { margin: 0 0 1.75rem; }
.roster-section h2, .roster-section h3 { margin: 0 0 .5rem; }
.roster-section:last-child { margin-bottom: 0; }
.year-nav { display: flex; flex-wrap: wrap; align-items: center; column-gap: .6rem; row-gap: .25rem; margin: 0 0 2rem; font-size: .9375rem; }
.year-nav > span { color: var(--muted); }
.publication-year > ol { margin-top: 0; }
.topic-nav { margin: 0 0 2.25rem; }
.topic-nav ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem 1.5rem; list-style: none; padding: 0; margin: 0; }
.topic-nav li { padding: 0; line-height: 1.5; }
.topic-nav a { display: inline-block; font-size: .9375rem; font-weight: 600; padding: .25rem 0; }
.research-section { display: flow-root; margin-top: 3rem; }
.research-section > h2 { border-top: 1px solid var(--border); padding-top: 1.25rem; margin-bottom: 1.4rem; font-size: 1.5rem; line-height: 1.4; }
.research-section > h3 { clear: both; font-size: 1.0625rem; margin: 2rem 0 .9rem; }
.research-section > .paper-list { clear: both; margin-top: 1.75rem; margin-bottom: 2rem; }
.research-figure { float: right; display: table; width: 360px; max-width: 40%; margin: .25rem 0 1.75rem 2rem; }
.research-figure img { display: block; width: 100%; margin: 0; }
.research-prose { max-width: 72ch; }
.research-prose p { margin: 0 0 1rem; }
.research-prose ul { margin: 0 0 1.25rem; }
.back-to-topics { clear: both; margin: 1.25rem 0 0; font-size: .875rem; }
/* Research summaries and topic pages share a restrained reading layout. */
.research-index, .research-detail { max-width: 68rem; }
.research-index > h1 { margin-bottom: 1rem; }
.research-index-intro { max-width: 62ch; color: var(--muted); margin: 0 0 2.5rem; }
.research-area-heading { margin-bottom: 1.1rem; font-size: 1.125rem; }
.research-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; list-style: none; padding: 0; margin: 0; }
.research-grid > li { position: relative; display: flex; min-width: 0; padding: 0; }
.legacy-topic-anchor { position: absolute; top: 0; }
.research-card { display: flex; flex-direction: column; width: 100%; padding: 1.5rem; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--foreground); }
.research-card:hover, .research-card:focus-visible { text-decoration: none; border-color: #b397c1; background: #fcfafd; }
.research-card h3 { margin: 0 0 .8rem; font-size: 1.125rem; line-height: 1.4; color: var(--primary); }
.research-card:hover h3, .research-card:focus-visible h3 { text-decoration: underline; text-underline-offset: .2em; }
.research-card-summary { margin: 0 0 1rem; font-size: .9375rem; line-height: 1.65; }
.research-card-tags { margin: auto 0 1rem; color: #64616a; font-size: .8125rem; line-height: 1.6; }
.research-card-action { display: flex; align-items: center; gap: .5rem; color: var(--primary); font-size: .875rem; font-weight: 600; line-height: 1.5; }
.research-index-footer { margin: 2rem 0 0; font-size: .9375rem; color: var(--muted); }
.research-breadcrumb { margin: 0 0 1.5rem; font-size: .875rem; }
.research-detail > h1 { max-width: 32ch; line-height: 1.25; margin-bottom: 2rem; }
.research-detail-content { display: flow-root; }
.research-detail-content > h2 { clear: both; padding-top: 1.2rem; border-top: 1px solid var(--border); margin: 2.25rem 0 1.25rem; font-size: 1.25rem; }
.research-detail-content > .paper-list { clear: both; margin: 0 0 2rem; }
.research-footer { clear: both; display: flex; flex-wrap: wrap; gap: .75rem 2rem; border-top: 1px solid var(--border); padding-top: 1.5rem; margin-top: 2.5rem; font-size: .875rem; }
.research-eyebrow { margin: 0 0 .65rem; font-size: .8125rem; font-weight: 600; color: var(--muted); letter-spacing: .06em; text-transform: uppercase; }
.research-focus > h2, .research-secondary > h2 { margin: 0 0 .7rem; font-size: 1.5rem; font-weight: 400; }
.research-summary, .research-lead { max-width: 72ch; line-height: 1.75; }
.research-summary { margin: 0 0 1.25rem; }
.research-lead > p { margin: 0 0 1rem; }
.research-reading { color: var(--muted); font-size: .9375rem; }
.research-directions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 2rem; list-style: none; padding: 0; margin: 1.5rem 0 0; }
.research-directions > li { padding: 0; }
.research-directions h3 { margin: 0 0 .35rem; font-size: 1rem; line-height: 1.5; }
.research-directions p, .research-area-list p { margin: 0; color: var(--muted); font-size: .9375rem; line-height: 1.65; }
.research-secondary, .research-earlier { position: relative; margin-top: 2.5rem; padding-top: 1.75rem; border-top: 1px solid var(--border); }
.research-earlier > h2 { font-size: 1.125rem; margin-bottom: 1.25rem; }
.research-area-list { list-style: none; padding: 0; margin: 0; }
.research-area-list > li { position: relative; display: grid; grid-template-columns: minmax(0, 16rem) minmax(0, 1fr); gap: .4rem 1.5rem; padding: 0; margin-bottom: 1.2rem; }
.research-area-list h3 { margin: 0; font-size: .9375rem; line-height: 1.65; }
.research-detail > h1 { margin-bottom: 1.25rem; }
.research-jump { margin: 1.5rem 0 2rem; font-size: .875rem; }
.research-jump ul { display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; padding: 0; margin: 0; list-style: none; }
.research-jump li { padding: 0; }
.research-subarea { margin-top: 2.25rem; padding-top: 1.4rem; border-top: 1px solid var(--border); }
.research-subarea > h2 { margin-bottom: .8rem; font-size: 1.25rem; }
.research-papers { list-style: none; padding: 0; margin: 1.25rem 0 0; }
.research-papers > li { margin: 0 0 1.2rem; padding: 0; }
.research-papers > li:last-child { margin-bottom: 0; }
.research-papers .paper-title { font-size: .9375rem; font-weight: 400; }
.research-papers .paper-authors, .research-papers .paper-details { font-size: .8125rem; }
.research-more { margin-top: 1.15rem; }
.research-more > summary { width: fit-content; padding: .25rem 0; color: var(--primary); font-size: .875rem; cursor: pointer; }
.research-more > summary:hover { text-decoration: underline; text-underline-offset: .2em; }
.research-more > summary:focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }
@media (max-width: 800px) {
  .research-directions { grid-template-columns: 1fr; gap: 1.1rem; }
  .research-area-list > li { grid-template-columns: 1fr; gap: .2rem; }
}
.paragraph, p { margin: 0 0 2rem; }
ol, ul { padding-left: 1.65rem; }
li { padding-left: .15rem; }
ol > li { margin: .45rem 0 .9rem; line-height: 1.65; }
.publication-meta { font-size: .875rem; color: #64616a; }
.publication-meta .publication-meta { font-size: inherit; }
.note-accent { color: #24678d; }
.columns { display: flex; align-items: flex-start; gap: 2rem; }
.column { min-width: 0; flex: 1; }
.profile-columns { align-items: flex-start; gap: clamp(2rem, 4vw, 3rem); margin-bottom: 1.8rem; }
.profile-columns .column:first-child { flex: 1.3; }
.profile-columns .column:last-child { flex: 1; }
.profile h1 { font-size: clamp(2rem, 3vw, 3rem); margin-bottom: 1.6rem; }
.affiliation { font-weight: 400; font-size: 1rem; line-height: 1.8; margin: 0; }
.affiliation-contact { margin-top: .75rem; font-weight: 400; color: #64616a; }
img { max-width: 100%; height: auto; }
.portrait { width: 177px; height: auto; display: block; }
.profile-columns .portrait-frame { margin: 0; padding: 0; }
.home-intro { max-width: 72ch; }
.home-intro p { margin: 0 0 .85rem; }
.home-intro p:last-child { margin-bottom: 0; }
.photo-credits { margin: 3rem 0 0; font-size: .875rem; line-height: 1.65; color: #64616a; }
.content-image { margin-bottom: 1rem; }
.group-photo { width: fit-content; max-width: 100%; margin: 0 0 2.5rem; }
.group-photo img { display: block; width: auto; max-width: 100%; max-height: 42rem; }
.group-photo figcaption { margin-top: .65rem; max-width: 72ch; color: #64616a; line-height: 1.65; }
.content-caption { font-size: .875rem; }
hr { border: 0; border-top: 1px solid var(--border); margin: 2rem 0; clear: both; }
[id], [name] { scroll-margin-top: 2rem; }
.simple-table-wrapper { max-width: 100%; overflow-x: auto; margin-bottom: 2rem; }
.schedule { border-collapse: collapse; width: 100%; font-size: 1rem; }
.schedule th, .schedule td { border: 1px solid var(--border); padding: .9rem 1rem; text-align: left; vertical-align: top; }
.schedule th { background: #f3f0f5; font-weight: 700; }
.schedule .paragraph { margin: 0; }
.schedule td:first-child { width: 28%; }
article::after { content: ''; display: table; clear: both; }

/* Shared academic lists keep titles, authors, and venues in a consistent order. */
.publication-archive { max-width: 55rem; }
.paper-list { max-width: 55rem; }
.paper-list > .paper-entry { margin: 0 0 1.5rem; line-height: 1.6; }
.paper-entry::marker { font-size: .875rem; color: #64616a; }
.paper-title { margin-bottom: .2rem; font-size: 1rem; font-weight: 700; line-height: 1.55; }
.paper-authors, .paper-details { font-size: .875rem; color: #64616a; line-height: 1.6; }
.paper-details { margin-top: .15rem; }
.publication-year > h2 { display: flex; align-items: center; gap: 1rem; }
.publication-year > h2::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.back-to-years { margin: .5rem 0 0; font-size: .875rem; }
.teaching-notes { margin: 0 0 1.25rem; }
.course-list { margin: 0 0 1rem; }
.course-row { display: grid; grid-template-columns: 7.25rem minmax(0, 1fr); gap: 1rem; margin-bottom: .65rem; }
.course-row dt { font-weight: 600; }
.course-row dd { margin: 0; }
.course-title-static { color: var(--primary); }
.teaching-footnote { margin: 0; font-size: .875rem; }
.service-content { max-width: 50rem; }
.service-section + .service-section { margin-top: 2.75rem; }
.service-section > h2 { padding-bottom: .75rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--border); }
.service-list { margin: 0; }
.service-event-link { margin: 1.5rem 0 0; }
.service-row { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1.25rem; margin-bottom: 1rem; }
.service-row:last-child { margin-bottom: 0; }
.service-row dt { font-weight: 600; }
.service-row dd { margin: 0; }
.service-roles dt { color: var(--muted); }
.service-roles .service-row { grid-template-columns: 8rem minmax(0, 1fr); }
.service-event { display: block; font-weight: 600; }
.service-role { display: block; color: #64616a; font-size: .875rem; }
.service-committees dt { color: var(--primary); }
.service-committees .service-row { margin-bottom: .65rem; }
/* Selected recordings follow the same understated academic-list style. */
.talks-content { max-width: 65rem; }
.talk-list { list-style: none; padding: 0; margin: 2rem 0 0; }
.talk-list > li { padding: 0 0 1.75rem; margin: 0 0 1.75rem; border-bottom: 1px solid var(--border); }
.talk-list > li:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.talk-list h2 { font-size: 1.0625rem; line-height: 1.55; margin: 0 0 .35rem; color: var(--primary); }
.talk-meta, .talk-format { margin: 0; font-size: .875rem; color: #64616a; line-height: 1.65; }
.talk-links { display: flex; flex-wrap: wrap; gap: .35rem 1.5rem; margin: .65rem 0 0; font-size: .875rem; }
@media (max-width: 1200px) {
  .research-figure { float: none; display: block; width: 415px; max-width: 100%; margin: 0 0 1.75rem; }
}
@media (max-width: 1024px) {
  .topic-nav ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :root { --sidebar-width: max(150px, 20%); }
  .navigation-dialog { width: 100%; }
  .menu-toggle { top: 13px; left: 13px; }
  .landscape nav { padding: 80px 1.25rem 2rem; }
  .landscape a { font-size: .875rem; }
  .page-research-overview img.content-image { margin-right: 0 !important; }
  article { padding: 2.5rem 2rem 3rem; }
  .profile h1 { font-size: 2.5rem; }
}
@media (max-width: 600px) {
  .topic-nav ul { grid-template-columns: 1fr; gap: .35rem; }
  .research-section > h2 { font-size: 1.35rem; }
  :root { --sidebar-width: 0%; }
  .landscape { position: relative; width: 100%; min-height: 185px; background-position: center 48%; }
  .landscape a { font-size: .9375rem; padding: .8rem; }
  article { padding: 2rem 1.25rem 3rem; }
  h1 { font-size: 2rem; }
  .columns { flex-direction: column; gap: 1rem; }
  .profile-columns { align-items: flex-start; gap: 1rem; }
  .profile h1 { font-size: 2.4rem; }
  .portrait { width: 150px; }
  .paragraph { text-align: left !important; }
  .research-figure { float: none; display: block; width: 100%; margin: 0 0 1.25rem; }
  .schedule { font-size: .875rem; }
  .schedule th, .schedule td { padding: .7rem; }
}
@media (max-width: 850px) {
  .research-grid { grid-template-columns: 1fr; }
  .research-card { padding: 1.25rem; }
}
@media (max-width: 440px) {
  .course-row { grid-template-columns: 1fr; gap: .1rem; margin-bottom: 1rem; }
  .service-row, .service-roles .service-row { grid-template-columns: 1fr; gap: .15rem; }
}
@media print {
  .landscape, .skip-link { display: none; }
  main { margin: 0; background: white !important; }
  article { padding: 0; }
  a { color: inherit; text-decoration: underline; }
}

/* Profile updates use the existing typography, colors, and open list layout. */
.honors-list, .visit-list, .invited-list { margin: 0; }
.honors-list { max-width: 55rem; }
.honor-row, .visit-row, .invited-row { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1rem; margin-bottom: .6rem; }
.honor-row:last-child, .visit-row:last-child, .invited-row:last-child { margin-bottom: 0; }
.honor-row dt, .visit-row dt, .invited-row dt { color: var(--muted); font-weight: 400; font-variant-numeric: tabular-nums; }
.honor-row dd, .visit-row dd, .invited-row dd { margin: 0; }
.media-list { list-style: none; padding: 0; margin: 0; max-width: 55rem; }
.media-list li { padding: 0; margin: 0 0 1.25rem; }
.media-list li:last-child { margin-bottom: 0; }
.media-list > li > a { font-weight: 600; }
.media-meta, .media-description { margin: .15rem 0 0; font-size: .875rem; color: var(--muted); }
.research-visits { margin-top: 3rem; max-width: 55rem; border-top: 1px solid var(--border); padding-top: 1.5rem; }
.research-visits > p { margin: 0 0 1rem; }
.visit-row { grid-template-columns: 7rem minmax(0, 1fr); }
.research-visits > .visit-note { margin: 1.25rem 0 0; font-size: .875rem; color: var(--muted); }
.invited-title, .invited-row .talk-meta { display: block; }
.invited-title { font-weight: 600; }
.invited-row { margin-bottom: 1rem; }
.recorded-talks { margin-top: 2.75rem; }
.talk-list h3 { font-size: 1.0625rem; line-height: 1.55; margin: 0 0 .35rem; color: var(--primary); }
@media (max-width: 440px) {
  .visit-row { grid-template-columns: 1fr; gap: .1rem; margin-bottom: 1rem; }
  .honor-row, .invited-row { grid-template-columns: 3rem minmax(0, 1fr); gap: .75rem; }
}

.honors-summary { max-width: 72ch; margin: 0; }

/* A shared reading width keeps the homepage header and lists aligned. */
.page-index article {
  --home-padding: clamp(1.25rem, 4vw, 4rem);
  max-width: calc(48rem + 2 * var(--home-padding));
  margin-inline: auto;
  padding: 3rem var(--home-padding) 3.5rem;
}
.home-masthead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 164px;
  align-items: center;
  gap: 2rem;
  margin-bottom: 2.25rem;
}
.home-masthead .profile h1 {
  font-size: clamp(1.85rem, 3vw, 2.6rem);
  line-height: 1.2;
  margin-bottom: 1rem;
}
.home-masthead .affiliation { line-height: 1.65; font-size: .9375rem; }
.home-masthead .affiliation-contact { margin-top: .65rem; font-size: .875rem; }
.home-portrait { margin: 0; }
.home-portrait .portrait { display: block; width: 100%; height: auto; border-radius: 3px; }
.page-index .home-intro, .page-index .honors-summary, .page-index .paper-list { max-width: none; }
.page-index .home-intro { line-height: 1.75; }
.page-index .home-intro p { margin-bottom: 1.15rem; }
.page-index .home-intro p:last-child { margin-bottom: 0; }
.page-index .profile-links { display: flex; flex-wrap: wrap; column-gap: .4rem; row-gap: .2rem; font-size: .9375rem; }
.page-index .home-section { margin: 2.5rem 0 0; }
.page-index .home-section > h2 { margin-bottom: .9rem; font-size: 1.2rem; }
.page-index .paper-list { margin-bottom: 0; }
.page-index .paper-list > .paper-entry:last-child { margin-bottom: 0; }
.page-index .photo-credits { margin-top: 2.5rem; font-size: .8125rem; }
/* Balance the reading column within the available desktop space. */
@media (min-width: 1025px) {
  .page-index { --sidebar-width: min(20vw, 280px); }
  .page-index article { font-size: 1rem; }
  .home-masthead { grid-template-columns: minmax(0, 1fr) 171px; }
}
@media (max-width: 800px) and (min-width: 601px) {
  .home-masthead { grid-template-columns: minmax(0, 1fr) 128px; gap: 1.25rem; }
}
@media (max-width: 600px) {
  .page-index article { padding-top: 1.75rem; }
  .home-masthead { grid-template-columns: minmax(0, 1fr) 112px; gap: 1rem; align-items: start; margin-bottom: 1.75rem; }
  .home-masthead .profile h1 { font-size: 1.8rem; }
  .home-masthead .affiliation { font-size: .875rem; }
}
@media (max-width: 380px) {
  .home-masthead { grid-template-columns: minmax(0, 1fr) 88px; gap: .75rem; }
  .home-masthead .profile h1 { font-size: 1.6rem; }
}

/* Group page: aligned section labels, consistent member spacing, and readable details. */
.page-group .group-roster { width: 100%; max-width: 48rem; margin: 0 0 2.5rem; }
.page-group .roster-section { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 1rem 2rem; margin: 0; padding: 1.6rem 0; border-top: 1px solid var(--border); }
.page-group .roster-section:first-child { padding-top: 0; border-top: 0; }
.page-group .roster-section h2 { font-size: 1.0625rem; line-height: 1.7; margin: 0; }
.group-members { list-style: none; margin: 0; padding: 0; }
.group-members > li { padding: 0; margin: 0 0 .85rem; line-height: 1.7; }
.group-members > li:last-child { margin-bottom: 0; }
.member-details { display: block; color: var(--muted); font-size: .875rem; line-height: 1.65; }
.page-group .group-photo { width: 100%; max-width: 48rem; margin: 0; }
.page-group .group-photo img { width: 100%; height: auto; max-height: none; }
.page-group .group-photo figcaption { margin-top: .8rem; max-width: 100%; }
@media (max-width: 800px) {
  .page-group .roster-section { grid-template-columns: 1fr; gap: .65rem; padding: 1.4rem 0; }
}
