/* BBARTI — shared composition refinement, 17 October 2026.
   Keep the approved masthead, palette, illustrations and academic content. */

/* One reading measure and one outer edge for editorial pages. */
.article-shell {
  width: min(1120px, calc(100% - 64px));
  margin-inline: auto;
  padding: clamp(34px, 4vw, 54px) 0 40px;
  min-height: 0;
}
.article-shell > h1 {
  max-width: 100%;
  font-size: clamp(34px, 4.2vw, 58px);
  line-height: 1.1;
  letter-spacing: -.025em;
  overflow-wrap: break-word;
  text-wrap: balance;
}
.article-shell > .deck,
.article-shell > .academic-article { max-width: none; }
.article-shell > .deck { margin-bottom: 28px; }
.article-shell > .academic-article { margin-top: 26px; }
.article-shell .academic-article h2 {
  margin-top: 30px;
  line-height: 1.3;
}
.article-shell .academic-article p,
.article-shell .academic-article li { line-height: 1.8; }
.article-shell .bb-crosslinks { padding-top: 18px; gap: 10px 22px; }
.article-shell .rd-related { margin: 26px 0 0; padding: 24px 0 0; }
.article-shell > .article-back {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  margin-top: 22px;
}

/* Closing invitations share the article's edge; the action sits beside the copy. */
.article-shell > .rl-contextual-link,
.article-shell > .ag-page-link {
  width: 100%;
  max-width: none;
  margin: 24px 0 0;
  padding: 26px 32px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 32px;
  align-items: center;
}
.article-shell > .rl-contextual-link > :not(a),
.article-shell > .ag-page-link > :not(a) { grid-column: 1; }
.article-shell > .rl-contextual-link > span,
.article-shell > .ag-page-link > span { line-height: 1.5; }
.article-shell > .rl-contextual-link > h2,
.article-shell > .ag-page-link > strong {
  margin: 2px 0 4px;
  font: 400 clamp(25px, 2.3vw, 32px)/1.2 Georgia, serif;
  letter-spacing: -.015em;
}
.article-shell > .rl-contextual-link > p,
.article-shell > .ag-page-link > p {
  max-width: none;
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
}
.article-shell > .rl-contextual-link > a,
.article-shell > .ag-page-link > a {
  grid-column: 2;
  grid-row: 1 / 4;
  margin: 0;
  max-width: 260px;
  line-height: 1.55;
}
.article-shell > .ag-page-link > a {
  padding: 12px 0;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.article-shell > .rl-contextual-link > a {
  max-width: none;
  white-space: nowrap;
}

/* The atlas's closing blocks follow the same rail as its research elements. */
.ra-container { padding-bottom: 26px; }
.ra-container .rl-atlas-bridge {
  margin: 28px 0;
  padding: 32px 38px;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 30px;
}
.ra-container .rl-atlas-bridge h2 {
  max-width: 34ch;
  font-size: clamp(28px, 2.8vw, 42px);
  line-height: 1.15;
}
.ra-container .rl-atlas-bridge p { max-width: 78ch; }
.ra-container .rl-atlas-links { margin-top: 22px; }
.ra-container .rl-atlas-right {
  min-height: 150px;
  padding: 20px 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ra-container .rl-atlas-right span { font-size: 72px; }
.ra-container .ra-editorial-note {
  gap: 28px;
  padding: 28px 0 0;
}
.ra-container > .rd-directory { margin: 22px 0 0; }
.research-atlas-main > .ag-page-link {
  width: min(1520px, calc(100% - 68px));
  max-width: none;
  margin: 0 auto 36px;
  padding: 26px 38px;
}

/* This is a full-width closing row, never an implicit fourth grid column item. */
body.programme-page .bodygrid > .rd-programme-research {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 28px clamp(24px, 3.8vw, 56px);
  display: grid;
  grid-template-columns: minmax(210px, .9fr) minmax(0, 1.35fr) minmax(200px, .85fr);
  gap: 12px clamp(22px, 3vw, 42px);
  align-items: start;
}
body.programme-page .bodygrid > .rd-programme-research > h2 {
  grid-column: 1;
  grid-row: 1 / span 3;
  margin: 0;
  font-size: clamp(23px, 2vw, 29px);
  line-height: 1.25;
  letter-spacing: .01em;
  text-transform: none;
}
body.programme-page .bodygrid > .rd-programme-research > p {
  min-width: 0;
  margin: 0;
  font: 16px/1.65 Georgia, serif;
}
body.programme-page .bodygrid > .rd-programme-research > p:nth-child(2) {
  grid-column: 2;
  grid-row: 1 / span 3;
}
body.programme-page .bodygrid > .rd-programme-research > p:nth-child(n+3) { grid-column: 3; }
body.programme-page .bodygrid > .rd-programme-research a {
  display: inline-block;
  font: 600 13px/1.6 Arial, sans-serif;
  text-underline-offset: 4px;
  overflow-wrap: break-word;
}

@media (max-width: 1000px) {
  .article-shell > .rl-contextual-link,
  .article-shell > .ag-page-link { grid-template-columns: minmax(0, 1fr); }
  .article-shell > .rl-contextual-link > a,
  .article-shell > .ag-page-link > a { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 8px; }
  body.programme-page .bodygrid > .rd-programme-research { grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); }
  body.programme-page .bodygrid > .rd-programme-research > h2,
  body.programme-page .bodygrid > .rd-programme-research > p:nth-child(2) { grid-row: auto; }
  body.programme-page .bodygrid > .rd-programme-research > p:nth-child(n+3) { grid-column: 2; }
}
@media (max-width: 800px) {
  .research-atlas-main > .ag-page-link { width: min(calc(100% - 36px), 780px); }
  .ra-container .ra-editorial-note { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
@media (max-width: 760px) {
  .article-shell { width: calc(100% - 36px); padding: 30px 0 30px; }
  .article-shell > h1 { font-size: clamp(32px, 7.7vw, 47px); }
  .article-shell > .deck { margin-bottom: 22px; }
  .article-shell > .rl-contextual-link,
  .article-shell > .ag-page-link { padding: 23px; margin-top: 20px; }
  .article-shell > .rl-contextual-link > a { max-width: 100%; white-space: normal; text-align: left; }
  .ra-container .rl-atlas-bridge { grid-template-columns: minmax(0, 1fr); padding: 26px 23px; gap: 0; }
  .ra-container .rl-atlas-right { display: none; }
  .ra-container { padding-bottom: 22px; }
  .research-atlas-main > .ag-page-link { padding: 24px; margin-bottom: 26px; }
  body.programme-page .bodygrid > .rd-programme-research { display: block; padding: 25px 22px; }
  body.programme-page .bodygrid > .rd-programme-research > h2 { margin-bottom: 13px; }
  body.programme-page .bodygrid > .rd-programme-research > p + p { margin-top: 13px; }
}
@media (max-width: 530px) {
  .research-atlas-main > .ag-page-link { width: calc(100% - 22px); }
}
@media print {
  .article-shell { width: 100%; padding: 0; }
  body.programme-page .bodygrid > .rd-programme-research { display: block; }
}
