/* Five page roles share the institute’s grid, type and spacing system. */
.site-page:is(.about-page,.support-page,.publications-page,.education-page) .subpage { padding-block:var(--space-12) var(--space-20); }
.home-page .site-header { min-height:var(--home-header-height); padding-block:var(--space-6); }
.home-page main { padding-top:var(--space-16); }
.home-page .book-grid { margin-top:var(--space-16); }
.home-page .book-cover img { max-width:min(100%,var(--home-cover-width)); }
.home-catalog-link { margin-top:var(--space-6); text-align:right; }
.home-catalog-link a,.home-all-programmes { display:inline-flex; align-items:center; min-height:var(--target-control); font-size:var(--text-caption); }
.home-page .home-education { margin-top:var(--space-20); }
.home-page .home-education h2 { margin:0 0 var(--space-8); font-size:var(--text-heading); }
.home-current-event { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--space-12); align-items:center; }
.home-programme-image { display:block; }
.home-programme-image img { display:block; width:100%; height:auto; }
.home-current-event h3 { margin:0; font-size:var(--text-heading); font-weight:500; line-height:1.55; letter-spacing:-.025em; }
.home-programme-date { margin-top:var(--space-6); font-size:var(--text-body); }
.home-programme-place { margin-top:var(--space-2); color:var(--muted); font-size:var(--text-caption); }
.home-programme-description { margin-top:var(--space-4); font-size:var(--text-body); line-height:1.85; }
.home-current-event .primary-link { margin-top:var(--space-6); }
.home-all-programmes { margin-left:var(--space-6); }
.home-support { margin-top:var(--space-20); margin-bottom:var(--space-12); }
.home-support-inner { border-top:1px solid var(--line); padding-top:var(--space-12); display:flex; align-items:center; justify-content:space-between; gap:var(--space-12); }
.home-support h2 { font-size:var(--text-section); font-weight:500; margin:0 0 var(--space-4); }
.home-support p { font-size:var(--text-body); line-height:1.85; }
.home-support .primary-link { flex-shrink:0; }

/* Publications are a reading catalogue, while the home remains a cover display. */
.catalog-introduction { margin-bottom:var(--space-12); }
.catalog-introduction>p { margin-top:var(--space-4); font-size:var(--text-body); line-height:1.85; }
.catalog-introduction .section-index { margin-top:var(--space-6); }
.publications-page .catalog-section { display:block; margin-bottom:var(--space-20); }
.publications-page .catalog-section>h2 { margin:0 0 var(--space-8); padding:0; color:var(--ink); font-size:var(--text-heading); font-weight:500; }
.catalog-book { display:grid; grid-template-columns:var(--catalog-cover-width) minmax(0,1fr); grid-template-areas:'cover heading' 'cover description' 'cover actions'; column-gap:var(--space-16); row-gap:var(--space-4); padding-block:var(--space-8) var(--space-12); border-top:1px solid var(--line); }
.catalog-book+.catalog-book { margin-top:var(--space-4); }
.catalog-book-cover { grid-area:cover; align-self:start; display:block; }
.catalog-book-cover img { width:100%; height:auto; }
.catalog-book-heading { grid-area:heading; }
.catalog-book h3 { margin:0; font-size:var(--text-heading); line-height:1.55; font-weight:500; letter-spacing:-.025em; }
.catalog-book h3 a:hover { color:var(--muted); }
.catalog-book-series { margin-top:var(--space-3); color:var(--muted); font-size:var(--text-caption); }
.catalog-book-author { margin-top:var(--space-3); font-size:var(--text-body); line-height:1.8; }
.catalog-book-meta { margin-top:var(--space-2); font-size:var(--text-caption); color:var(--muted); line-height:1.85; }
.catalog-book-description { grid-area:description; max-width:var(--measure-prose); font-size:var(--text-body); line-height:1.85; }
.catalog-book-description p+p { margin-top:var(--space-4); }
.catalog-book-actions { grid-area:actions; margin-top:var(--space-2); }
.publications-page .catalog-resources { grid-template-columns:var(--catalog-cover-width) minmax(0,1fr); gap:var(--space-16); padding-top:var(--space-8); }
.publications-page .catalog-resources>h2 { color:var(--ink); font-size:var(--text-section); padding:0; margin:0; }
.catalog-resource-list { display:grid; gap:var(--space-8); }
.catalog-resource-list h3 { margin:0; font-size:var(--text-section); font-weight:500; line-height:1.6; }
.catalog-resource-list h3 a { font-size:inherit; }
.catalog-resource-list p { margin-top:var(--space-2); font-size:var(--text-body); line-height:1.85; }

/* The visual, title and source metadata stay together for each actual resource. */
.education-page .open-materials { margin-top:var(--space-20); }
.education-page .open-materials>h2 { font-size:var(--text-heading); margin-bottom:var(--space-8); }
.resource-feature { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:var(--space-12); }
.resource-feature+.resource-feature { margin-top:var(--space-12); padding-top:var(--space-12); border-top:1px solid var(--line); }
.resource-image { display:block; }
.resource-image img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:var(--radius-photo); }
.resource-copy h3 { margin:0; font-size:var(--text-heading); line-height:1.55; font-weight:500; letter-spacing:-.025em; }
.resource-copy h3 a:hover { color:var(--muted); }
.resource-format { margin-top:var(--space-3); font-size:var(--text-caption); color:var(--muted); }
.resource-people { margin-top:var(--space-3); font-size:var(--text-body); }
.resource-date { margin-top:var(--space-2); font-size:var(--text-caption); color:var(--muted); line-height:1.85; }
.resource-description { margin-top:var(--space-4); font-size:var(--text-body); line-height:1.85; }
.resource-copy .primary-link { margin-top:var(--space-6); }
.resource-paper-list { margin:var(--space-6) 0 0; padding:0; list-style:none; }
.resource-paper-list li { display:grid; grid-template-columns:var(--measure-label) minmax(0,1fr); gap:var(--space-4); padding-block:var(--space-3); border-top:1px solid var(--line); line-height:1.8; font-size:var(--text-body); }
.resource-paper-list li>span { color:var(--muted); font-size:var(--text-caption); padding-top:var(--space-1); }
.resource-paper-list a { display:flex; align-items:center; min-height:var(--target-control); }
.education-page .education-programmes { margin-top:var(--space-20); }

/* Institutional background is read in prose; activities pair with actual photos. */
.institute-background { display:grid; grid-template-columns:var(--institute-label-width) minmax(0,1fr); gap:var(--space-12); margin-top:var(--space-20); }
.institute-background h2,.institute-directions>h2,.institute-activities>h2 { margin:0; font-size:var(--text-heading); line-height:1.55; font-weight:500; }
.institute-reading { max-width:var(--measure-prose); font-size:var(--text-body); line-height:1.85; }
.institute-reading p+p { margin-top:var(--space-6); }
.institute-directions { margin-top:var(--space-20); }
.direction-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-12); margin-top:var(--space-8); }
.direction-columns h3 { margin:0 0 var(--space-3); font-size:var(--text-section); font-weight:500; }
.direction-columns p { font-size:var(--text-body); line-height:1.85; }
.institute-activities { margin-top:var(--space-20); }
.activities-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--space-12); margin-top:var(--space-8); align-items:start; }
.activities-layout figure img { display:block; width:100%; height:auto; border-radius:var(--radius-photo); }
.activities-layout figcaption { margin-top:var(--space-2); color:var(--muted); font-size:var(--text-caption); line-height:1.7; }
.activity-list { display:grid; gap:var(--space-6); }
.activity-list h3 { margin:0; font-size:var(--text-section); line-height:1.6; font-weight:500; }
.activity-list p { margin-top:var(--space-2); font-size:var(--text-body); line-height:1.85; }
.institute-people { margin-top:var(--space-20); }

/* Support uses the same outer grid as the four primary pages. */
.support-page { --page-width:var(--measure-display); --gutter:var(--space-10); }
.support-page .support-intro { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:var(--space-16); align-items:center; }
.support-page .support-intro h1 { font-size:var(--text-page); }
.support-page .support-intro p { max-width:var(--measure-prose); margin-bottom:0; color:var(--ink); }
.support-page .support-intro .support-lead { margin-top:var(--space-6); font-size:var(--text-section); line-height:1.7; }
.support-page .support-intro .support-purpose { margin-top:var(--space-4); font-size:var(--text-body); line-height:1.85; }
.support-intro img { width:100%; height:auto; }
.site-page.support-page .giving-options { gap:var(--space-16); margin-top:var(--space-16); }
.support-page .giving-option { display:flex; flex-direction:column; align-items:flex-start; padding-top:var(--space-6); border-top:1px solid var(--line); }
.support-page .giving-option h2 { margin:0; font-size:var(--text-heading); line-height:1.55; }
.support-page .giving-option p { margin-top:var(--space-4); max-width:var(--measure-prose); }
.support-page .giving-option .giving-frequency { margin-top:var(--space-2); font-size:var(--text-caption); color:var(--muted); }
.support-page .giving-option>a { margin-top:var(--space-6); min-width:0; }
.support-page .giving-option p:last-of-type { flex-grow:1; }
.site-page.support-page .giving-guide { grid-template-columns:var(--institute-label-width) minmax(0,1fr); gap:var(--space-12); margin-top:var(--space-20); padding-top:var(--space-8); }
.support-page .giving-guide h2 { font-size:var(--text-heading); }
.support-page .giving-guide dl>div { grid-template-columns:var(--giving-label-width) minmax(0,1fr); gap:var(--space-6); padding-bottom:var(--space-6); font-size:var(--text-body); line-height:1.85; }
.support-page .giving-guide a { margin:0; }
.giving-contact { display:flex; flex-wrap:wrap; gap:var(--space-2) var(--space-6); }
@media(min-width:761px) and (max-width:1000px) {
  .support-page { --gutter:var(--space-8); }
  .catalog-book { grid-template-columns:var(--catalog-cover-tablet) minmax(0,1fr); column-gap:var(--space-8); }
  .resource-feature,.activities-layout,.home-current-event { gap:var(--space-8); }
  .resource-copy h3,.home-current-event h3 { font-size:var(--text-section); }
  .direction-columns { gap:var(--space-8); }
  .institute-background { grid-template-columns:var(--catalog-cover-tablet) minmax(0,1fr); gap:var(--space-8); }
  .site-page.support-page .giving-guide { grid-template-columns:1fr; gap:var(--space-6); }
  .support-page .support-intro { gap:var(--space-8); }
}
@media(max-width:760px) {
  .site-page:is(.about-page,.support-page,.publications-page,.education-page) .subpage { padding-block:var(--space-8) var(--space-12); }
  .home-page .site-header { min-height:var(--home-header-mobile); padding-block:var(--space-6); }
  .home-page main { padding-top:var(--space-10); }
  .home-page .book-grid { margin-top:var(--space-10); }
  .home-catalog-link { margin-top:var(--space-4); text-align:left; }
  .home-page .home-education,.home-support { margin-top:var(--space-12); }
  .home-page .home-education h2 { font-size:var(--text-heading); margin-bottom:var(--space-6); }
  .home-current-event { grid-template-columns:1fr; gap:var(--space-6); }
  .home-current-event h3 { font-size:var(--text-section); }
  .home-programme-date { margin-top:var(--space-4); }
  .home-current-event .primary-link { margin-top:var(--space-4); }
  .home-all-programmes { margin-left:var(--space-4); }
  .home-support { margin-bottom:var(--space-8); }
  .home-support-inner { flex-direction:column; align-items:flex-start; gap:var(--space-6); padding-top:var(--space-8); }
  .catalog-introduction { margin-bottom:var(--space-8); }
  .publications-page .catalog-section { margin-bottom:var(--space-12); }
  .publications-page .catalog-section>h2 { font-size:var(--text-section); margin-bottom:var(--space-6); }
  .catalog-book { grid-template-columns:var(--catalog-cover-mobile) minmax(0,1fr); grid-template-areas:'cover heading' 'description description' 'actions actions'; column-gap:var(--space-6); row-gap:var(--space-6); padding-block:var(--space-6) var(--space-8); }
  .catalog-book h3 { font-size:var(--text-section); }
  .catalog-book-series,.catalog-book-author { margin-top:var(--space-2); }
  .catalog-book-author { font-size:var(--text-caption); }
  .catalog-book-description { max-width:none; }
  .publications-page .catalog-resources { grid-template-columns:1fr; gap:var(--space-6); }
  .education-page .open-materials,.education-page .education-programmes { margin-top:var(--space-12); }
  .education-page .open-materials>h2 { font-size:var(--text-heading); margin-bottom:var(--space-6); }
  .resource-feature { grid-template-columns:1fr; gap:var(--space-6); }
  .resource-feature+.resource-feature { margin-top:var(--space-8); padding-top:var(--space-8); }
  .resource-copy h3 { font-size:var(--text-section); }
  .resource-copy .primary-link { margin-top:var(--space-4); }
  .resource-paper-list li { grid-template-columns:var(--measure-label) minmax(0,1fr); gap:var(--space-3); }
  .institute-background { grid-template-columns:1fr; gap:var(--space-6); margin-top:var(--space-12); }
  .institute-background h2,.institute-directions>h2,.institute-activities>h2 { font-size:var(--text-section); }
  .institute-directions,.institute-activities,.institute-people { margin-top:var(--space-12); }
  .direction-columns { grid-template-columns:1fr; gap:var(--space-6); margin-top:var(--space-6); }
  .activities-layout { grid-template-columns:1fr; gap:var(--space-6); margin-top:var(--space-6); }
  .support-page { --gutter:var(--space-6); }
  .support-page .support-intro { display:grid; grid-template-columns:1fr; gap:var(--space-6); }
  .support-page .support-intro .support-lead { margin-top:var(--space-4); }
  .site-page.support-page .giving-options { grid-template-columns:1fr; gap:var(--space-8); margin-top:var(--space-10); }
  .site-page.support-page .giving-guide { grid-template-columns:1fr; gap:var(--space-6); margin-top:var(--space-12); }
  .support-page .giving-option h2,.support-page .giving-guide h2 { font-size:var(--text-section); }
  .support-page .giving-option>a { margin-top:var(--space-4); }
  .support-page .giving-guide dl>div { grid-template-columns:1fr; gap:var(--space-2); }
}
@media(max-width:350px) {
  .support-page { --gutter:var(--space-5); }
  .catalog-book { grid-template-columns:var(--space-24) minmax(0,1fr); column-gap:var(--space-4); }
  .resource-paper-list li { grid-template-columns:1fr; gap:0; }
}
