/* Artboards 09–16. All layout changes remain local to activities. */
.activities-main { padding-bottom: var(--main-end-space); }
.activities-main .page-hero { padding-top: 48px; padding-bottom: 32px; }
.activities-main .page-hero .eyebrow { margin-bottom: 24px; }
.activities-main .page-hero h1 { max-width: none; margin-bottom: 24px; font-size: clamp(2.5rem, 5vw, 4.5rem); }
.activities-main .page-intro { max-width: 848px; }
.activities-main p, .activities-main h3 { overflow-wrap: anywhere; }
.activities-filters .chip { display: inline-flex; align-items: center; text-decoration: none; }
.activities-filters [aria-current="true"] { background: var(--ink); color: var(--white); }
.activities-main .cta-band { margin-top: 0; margin-bottom: 64px; padding-block: 40px; }
.activities-main .cta-band h2 { margin-bottom: 24px; }
.activities-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.activities-card { min-width: 0; border: 1px solid var(--ink); background: var(--paper); }

.activities-card > a:hover { background: var(--green); color: var(--ink); text-decoration: none; }
.activities-card-image { aspect-ratio: 416 / 210; overflow: hidden; }
.activities-card-image img { width: 100%; height: 100%; object-fit: cover; }
.activities-card-copy { padding: 24px; min-height: 218px; }
.activities-card-copy .eyebrow { margin-bottom: 16px; }
.activities-card h3 { font-size: 1.625rem; margin-bottom: 16px; }
.activities-card-copy > p:last-child { margin-bottom: 0; font-size: 0.875rem; }
.activities-card-action { border-top: 1px solid var(--ink); padding: 8px 24px; }
.activities-section { margin-top: 64px; }
.activities-section > h2 { margin-bottom: 24px; }
.activities-content { font-size: 1.125rem; }
.activities-content h2 { margin-top: 48px; }
.activities-content > :first-child { margin-top: 0; }
.activities-content > :last-child { margin-bottom: 0; }
.activities-content a:not(.button) { text-decoration: underline; color: var(--green-dark); }
.activities-content iframe { width: 100%; }
.activities-content table { width: 100%; border-collapse: collapse; }
.activities-content th, .activities-content td { padding: 8px; border: 1px solid var(--line); overflow-wrap: anywhere; }
.activities-hero-action:empty { display: none; }
.activities-hero-action { margin-bottom: 64px; }
.activities-event-status { width: fit-content; margin: 0 0 24px; padding: 8px 16px; background: var(--paper); color: var(--green-dark); border: 1px solid var(--green-dark); }
.activities-hero-photo { margin: 0 0 64px; }
.activities-hero-photo img { width: 100%; height: auto; aspect-ratio: 1312 / 460; object-fit: contain; background: var(--paper); }
.activities-event-photo img { max-height: 480px; aspect-ratio: auto; }
.activities-calendar-actions { margin-top: 32px; }
.activities-content :is(p, ul, ol) { margin-bottom: 24px; }
.activities-facts { margin: 0 0 48px; }
.activities-facts > div { display: grid; grid-template-columns: 272px minmax(0, 1fr); gap: 32px; padding-block: 16px; min-height: 64px; border-top: 1px solid var(--line); align-items: start; }
.activities-facts dt { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; }
.activities-facts dd { margin: 0; overflow-wrap: anywhere; }
.activities-detail > .activities-content + .button { margin-top: 32px; }
.activities-programme > .activities-facts { margin-top: 24px; }
.activities-resource { min-height: 90px; padding-block: 24px; }
.activities-resource h3 { font-size: 1.25rem; font-weight: 600; }
.activities-resource-label { font-size: 0.75rem; text-transform: uppercase; color: var(--muted); }
.activities-resource-badge { background: var(--paper); color: var(--green-dark); border: 1px solid var(--green-dark); }
.activities-funding { margin-top: 32px; font-size: 1.125rem; }
.activities-funder-logos { display: flex; flex-wrap: wrap; gap: 32px; }
.activities-funder-logos:empty { display: none; }
.activities-funder-logos img { width: auto; max-width: 240px; max-height: 96px; object-fit: contain; }
.activities-events .event-body { min-height: 240px; }
.activities-events .event-action { background: var(--paper); }
.activities-events .event-card a:hover .event-action { background: var(--green); }
@media (min-width: 768px) and (max-width: 1100px) { .activities-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .activities-facts > div { grid-template-columns: 192px minmax(0, 1fr); } .activities-resource { grid-template-columns: 112px 104px minmax(0, 1fr) 24px; gap: 16px; } }
@media (max-width: 767px) {
 .activities-main { padding-bottom: var(--main-end-space); }
 .activities-main .page-hero { padding-block: 40px 32px; }
 .activities-main .page-hero .eyebrow { margin-bottom: 24px; }
 .activities-main .page-hero h1 { font-size: clamp(2rem, 10.26vw, 2.5rem); line-height: 1.08; letter-spacing: -.025em; }
 .activities-main .page-intro { font-size: 1rem; }
 .activities-grid { grid-template-columns: 1fr; gap: 24px; }
 .activities-card-copy { min-height: 208px; }
 .activities-card h3 { font-size: 1.5rem; }
 .activities-card-image { aspect-ratio: 342 / 210; }
 .activities-main .cta-band { margin-bottom: 64px; }
 .activities-main .cta-band h2 { font-size: 2rem; }
 .activities-section { margin-top: 48px; }
 .activities-main h2 { font-size: 1.875rem; }
 .activities-hero-action { margin-bottom: 48px; }
 .activities-hero-photo { margin-bottom: 48px; }
 .activities-hero-photo img { aspect-ratio: 342 / 230; }
 .activities-facts { margin-bottom: 48px; }
 .activities-facts > div { grid-template-columns: 1fr; gap: 8px; padding-block: 16px; }
 .activities-facts dt { font-size: 0.75rem; }
 .activities-content { font-size: 1rem; }
 .activities-resource { grid-template-columns: minmax(0, 1fr) 24px; min-height: 144px; gap: 8px 16px; }
 .activities-resource-label { grid-column: 1; }
 .activities-resource h3 { font-size: 1.25rem; }
 .activities-funding { font-size: 1rem; }
 .activities-events .event-body { min-height: 240px; }
}

/* Detail reading layout and source presentation resets, scoped to these bodies. */
.activities-detail-layout { display: grid; grid-template-columns: minmax(0, 72ch) minmax(240px, 1fr); gap: 64px; align-items: start; }
.activities-detail-body { min-width: 0; max-width: 72ch; }
.activities-detail-body :is(.legacy-row, .legacy-column, .legacy-text, .legacy-media-card) { display: block; width: auto; max-width: none; padding: 0; margin-inline: 0; }
.activities-detail-body :is(.legacy-row, .legacy-column) { margin-block: 0 24px; }
.activities-detail-body :is(h2, h3, h4, h5, h6) { color: var(--ink); background: transparent; text-align: left; }
.activities-detail-body :is(h2, h3, h4, h5, h6) :is(mark, span), .activities-detail-body mark { color: inherit; background: transparent; padding: 0; }
.activities-detail-body :is(.alignleft, .alignright, figure, img) { float: none; max-width: 100%; margin-inline: 0; }
.activities-detail-body figure { margin-block: 32px; }
.activities-detail-body img { height: auto; }
.activities-detail-body :is(iframe, video) { max-width: 100%; }
.activities-detail-aside { min-width: 0; border-top: 1px solid var(--ink); padding-top: 24px; }
.activities-detail-aside h2 { font-size: 1.5rem; }
.activities-detail-aside a { overflow-wrap: anywhere; }
.activities-detail-aside .activities-section { margin-top: 40px; }
.activities-detail-aside .editorial-row { grid-template-columns: minmax(0, 1fr) 24px; gap: 8px; }
.activities-detail-aside .activities-resource-label, .activities-detail-aside .row-badge, .activities-detail-aside h3 { grid-column: 1; }
.activities-detail-aside .row-arrow { grid-column: 2; grid-row: 1 / span 3; }
.activities-detail-aside .activities-resource h3 { font-size: 1rem; }
.activities-funding { padding-top: 32px; border-top: 1px solid var(--line); }
.activities-disclosure { margin-top: 32px; border-block: 1px solid var(--line); padding-block: 24px; scroll-margin-top: 32px; }
.activities-disclosure > summary { cursor: pointer; font-size: 1.25rem; font-weight: 600; }
.activities-disclosure[open] > summary { margin-bottom: 32px; }
.activities-twinning { max-width: 72ch; }
.activities-twinning :is(.legacy-row, .legacy-column) { display: block; width: auto; padding: 0; }
.activities-twinning .legacy-tab { margin-block: 24px; }
.activities-archive-link { margin-top: 32px; }
.activities-events section > h2 { margin-bottom: 24px; }
.activities-event-year { margin-top: 32px; }
.activities-event-year ul { list-style: none; padding: 0; }
.activities-event-year li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; padding-block: 16px; border-top: 1px solid var(--line); }
.activities-event-year li span { font-size: .875rem; }
@media (max-width: 1000px) {
 .activities-detail-layout { grid-template-columns: minmax(0, 1fr); gap: 48px; }
 .activities-detail-body { max-width: 72ch; }
 .activities-detail-aside { max-width: 72ch; }
}
@media (max-width: 767px) {
 .activities-disclosure { margin-top: 24px; }
 .activities-event-year li { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}

/* Image-free participation cards use the shared media-card structure. */
.activities-participate { grid-auto-rows: 1fr; align-items: stretch; }
.activities-participate .media-card-title { font-size: 1.625rem; }
.activities-participate .media-card-excerpt { font-size: 1rem; line-height: 1.6; }
.activities-participate .media-card-action { flex-shrink: 0; min-height: 56px; }
@media (max-width: 767px) {
 .activities-participate .media-card-title { font-size: 1.5rem; }
}
