/* Content-first layout, September 2026. Loaded after the migration styles. */
:root { --content: 100rem; --cream-50: #fafaf7; --cream-100: #f0f2eb; --radius-lg: .4rem; --radius-md: .3rem; --shadow: none; }
body { line-height: 1.6; }
h1,h2,h3 { text-wrap: balance; }
[hidden] { display: none !important; }
.site-header { position: relative; }
.header-inner { min-height: 5rem; }
.brand img { width: 3.4rem; height: 3.4rem; }
.brand strong { font-size: 1.4rem; }
.preview-bar { padding-block: .25rem; }
.visible-search { display: flex; align-items: center; gap: .8rem; padding: .8rem max(1rem, calc((100% - var(--content))/2)); background: #eef1eb; border-block: 1px solid var(--border); }
.visible-search label { font-weight: 650; white-space: nowrap; font-size: .85rem; }
.visible-search input { flex: 1; min-width: 0; }
input,select { min-height: 2.8rem; padding: .65rem .8rem; border: 1px solid #a7b2aa; border-radius: .25rem; background: white; color: var(--ink); font: inherit; }
.visible-search button,.archive-controls button { min-height: 2.8rem; padding: .6rem 1rem; border: 1px solid var(--green-900); border-radius: .25rem; background: var(--green-900); color: white; font: inherit; cursor: pointer; }
.home-intro,.page-heading { max-width: var(--content); margin: auto; padding: 2rem 0 1.4rem; }
.home-intro h1 { font-family: var(--font-serif); font-size: clamp(2.7rem,5vw,4rem); line-height: 1.1; margin: .2rem 0 .6rem; color: var(--green-950); }
.home-intro > p { margin-block: .4rem; }
.home-intro > p:not(.eyebrow) { font-size: 1.25rem; }
.home-shortcuts { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1.25rem; }
.home-shortcuts a { color: var(--green-900); text-underline-offset: .25em; font-weight: 650; padding-block: .4rem; }
.page-heading nav { font-size: .8rem; color: var(--muted); }
.page-heading h1 { margin: .6rem 0; font-size: clamp(2rem,4vw,3rem); line-height: 1.15; color: var(--green-950); }
.page-heading > p { max-width: 54rem; margin-bottom: 0; }
.section { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.section-heading h2,.heritage-copy h2,.media-section-heading h2,.video-years h2,.archive-cta h2,.related-links h2 { font-size: clamp(1.65rem,3vw,2.4rem); line-height: 1.2; }
.section-heading,.hub-navigation-heading,.media-section-heading { margin-bottom: 1.5rem; }
.media-section-heading { display: block; }
.media-section-heading > p { max-width: 52rem; }
.calendar-section { padding: 1rem max(1rem, calc((100% - var(--content))/2)) 2rem; background: transparent; }
.calendar-shell { padding: 1.25rem; background: #eef1eb; border: 1px solid var(--border); box-shadow: none; border-radius: .35rem; }
.calendar-heading { margin-bottom: .6rem; }
.calendar-heading h2 { margin: 0; font-size: 1.6rem; }
.calendar-list { gap: 0; }
.calendar-list > a { padding: .8rem .25rem; background: transparent; border: 0; border-bottom: 1px solid #ccd5cd; border-radius: 0; }
.calendar-list > a:last-child { border-bottom: 0; }
.calendar-list time { background: white; }
.news-grid { gap: 1.5rem; }
.news-card-image { height: 11rem; background: #eef0eb; }
.news-card-image img { width: 100%; height: 100%; object-fit: contain; }
.news-card { border-radius: 0; background: transparent; box-shadow: none; }
.news-card h3 { font-size: 1.35rem; }
.news-card-body { padding: 1rem 0; }
.pathway-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.5rem; }
.pathway-card,.pathway-card-large { display: flex; flex-direction: column; min-height: 0; grid-column: auto; grid-row: auto; background: transparent; border-radius: 0; overflow: visible; color: var(--green-950); }
.pathway-card::after { display: none; }
.pathway-card img { position: static; height: 10rem; width: 100%; object-fit: contain; background: #eef0eb; transform: none !important; }
.pathway-card > span { position: static; padding: .8rem 0; color: var(--green-950); }
.pathway-card strong,.pathway-card-large strong { font-size: 1.4rem; }
.pathway-card small,.pathway-card em { color: var(--muted); }
.heritage-feature { gap: 2rem; }
.heritage-image img { height: auto; max-height: 22rem; object-fit: contain; }
.home-media-composition { grid-template-columns: 1fr 1fr; gap: 2rem; }
.home-media-main { min-height: 0; overflow: visible; color: var(--green-950); border-radius: 0; }
.home-media-main::after { display: none; }
.home-media-main > img { position: static; height: 15rem; object-fit: contain; background: #eef0eb; }
.home-media-main > span { position: static; padding-top: .8rem; }
.home-media-main strong,.home-media-aside strong { font-size: 1.8rem; }
.home-media-main small,.home-media-main em { color: var(--green-900); }
.home-media-aside { gap: 1rem; }
.home-media-aside > p { font: inherit; }
.home-video-thumb img { height: 12rem; object-fit: contain; background: #14251f; }
.archive-cta { padding-block: 2rem; }
.hub-card-grid { gap: 1.5rem; }
.hub-card { border-radius: 0; box-shadow: none; background: transparent; }
.hub-card img { height: 10rem; object-fit: contain; background: #eef0eb; }
.hub-card-copy { padding: 1rem 0; }
.hub-card-copy strong { font-size: 1.5rem; }
.media-gateways { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.media-gateway,.media-gateway-video { min-height: 0; margin: 0; color: var(--green-950); background: transparent; overflow: visible; }
.media-gateway::after { display: none; }
.media-gateway > img { position: static; width: 100%; height: 14rem; object-fit: contain; background: #eef0eb; }
.media-gateway-overlay { position: static; padding: 1rem 0; color: var(--green-950); }
.media-gateway-overlay strong { font-size: 1.7rem; }
.media-gateway-overlay small,.media-gateway-overlay em { color: var(--green-900); }
.media-context-band,.archive-help { padding-block: 2rem; }
.archive-controls { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; }
.archive-controls label { display: grid; gap: .25rem; font-size: .9rem; font-weight: 600; }
.archive-controls label:first-child { flex: 1; min-width: min(16rem,100%); }
.archive-controls input { width: 100%; }
.media-filters { margin: 1rem 0 1.5rem; flex-wrap: wrap; }
.media-filters button { min-height: 2.75rem; }
.video-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem 1.5rem; }
.video-poster { aspect-ratio: 16/9; display: flex; align-items: center; justify-content: center; }
.video-poster img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; transform: none !important; }
.video-card h3 { font-family: var(--font-sans); font-size: 1.1rem; line-height: 1.4; }
.video-card > div > p { text-transform: none; letter-spacing: normal; font-weight: 400; }
.video-years { margin-top: 2rem; padding-top: 2rem; gap: 2rem; }
.video-years header { position: static; }
.video-years img { object-fit: contain; background: #eef0eb; }
.photo-archive-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem 1.5rem; }
.photo-archive-card,.photo-archive-card:nth-child(1),.photo-archive-card:nth-child(6) { grid-column: auto; }
.photo-archive-card figure,.photo-archive-card:nth-child(1) figure,.photo-archive-card:nth-child(6) figure { aspect-ratio: 4/3; background: #eef0eb; }
.photo-archive-card img { object-fit: contain; transform: none !important; }
.photo-archive-card strong { font-family: var(--font-sans); font-size: 1.2rem; }
.event-app,.march-app { padding-top: 1.5rem; padding-bottom: 2rem; }
.event-app-header h2 { font-size: 2rem; }
.event-app-header { padding: 1.5rem; }
.event-app-header > div > .eyebrow { display: none; }
.song-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-top: 2rem; }
.song-grid article { border-top: 2px solid var(--green-900); padding-top: 1rem; scroll-margin-top: 1rem; }
.song-grid h2 { font-size: 1.7rem; }
.song-grid p { line-height: 1.85; }
.related-links,.supporters-band { padding-block: 2rem; }
.related-links h2,.supporters-band h2 { font-size: 1.7rem; }
.content-sections article { padding-block: 1rem; }
.motion-ready .reveal { opacity: 1; transform: none; }
@media(max-width:80rem) { .home-intro,.page-heading { margin-inline: 1.25rem; } }
@media(max-width:60rem) {
 .pathway-grid,.photo-archive-grid,.video-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .header-inner { flex-wrap: wrap; }
 .video-years { grid-template-columns: 1fr; }
}
@media(max-width:46rem) {
 .visible-search { flex-wrap: wrap; gap: .5rem; }
 .visible-search label { width: 100%; }
 .visible-search input { width: 60%; }
 .home-intro,.page-heading { padding-top: 1.25rem; }
 .home-shortcuts { gap: .2rem 1.1rem; }
 .calendar-shell { padding: .8rem; }
 .calendar-heading { align-items: start; gap: .75rem; }
 .calendar-heading h2 { font-size: 1.25rem; }
 .calendar-heading > a { font-size: .85rem; }
 .calendar-list > a { grid-template-columns: 4rem minmax(0,1fr) 1rem; }
 .calendar-details strong { font-size: 1rem; }
 .calendar-list time { width: 3.75rem; }
 .home-media-composition,.media-gateways,.song-grid { grid-template-columns: 1fr; }
 .photo-archive-grid,.video-grid { grid-template-columns: 1fr; }
 .section { padding-block: 1.75rem; }
 .pathway-card img { height: 7rem; }
 .pathway-card strong { font-size: 1.15rem; }
 .archive-controls { align-items: stretch; }
 .archive-controls label:first-child { flex-basis: 100%; }
 .archive-controls label { flex: 1; min-width: 0; }
 .event-app-header { grid-template-columns: 1fr; }
 .next-event-card { min-width: 0; }
}
@media print { .site-header,.visible-search,.preview-bar,.mobile-dock,.related-links,.supporters-band,.site-footer { display: none; } .song-grid { display: block; } .song-grid article { break-after: page; } }
.calendar-heading { padding: .25rem 0 .8rem; }
.calendar-list time { color: var(--green-950); border-radius: .25rem; }
.calendar-list > a { min-height: 5rem; grid-template-columns: 5rem minmax(0,1fr) auto; gap: 1rem; }
.pathway-grid { grid-template-rows: none; }
.pathway-card,.pathway-card:last-child { grid-column: auto; box-shadow: none; }
.related-links > div { grid-template-columns: repeat(4,minmax(0,1fr)); }
.related-links a { min-width: 0; overflow-wrap: anywhere; }
@media(max-width:46rem) {
 .related-links > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .related-links a { padding: 1rem .6rem; }
 .calendar-list > a { grid-template-columns: 4rem minmax(0,1fr) 1rem; gap: .6rem; }
}
.calendar-filters { display: flex; flex-wrap: wrap; max-width: 100%; overflow: visible; }
.calendar-filters button { white-space: normal; min-height: 2.75rem; }
.simple-news-list { grid-template-columns: minmax(0,1fr); }
.simple-news-list article { min-width: 0; overflow-wrap: anywhere; }
.media-context-band { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 2rem; }
.media-context-band figure { min-width: 0; margin: 0; }
.calendar-list time span { font-size: .65rem; letter-spacing: 0; white-space: nowrap; }
.calendar-list time { padding: .55rem .25rem; }
@media(max-width:46rem) { .media-context-band { grid-template-columns: minmax(0,1fr); } }
.next-event-card,.event-summary-copy,.page-heading,.song-grid article { min-width: 0; overflow-wrap: anywhere; }
.event-app-header > div { min-width: 0; }
@media(max-width:24rem) { .brand strong { font-size: 1.15rem; } .brand small { font-size: .55rem; } }
