/* Visual direction: real festival photography, clear editorial priorities. */
:root { --cream-50: #faf8f2; --cream-100: #f2eee4; --content: 74rem; }
.header-inner { max-width: var(--content); margin: auto; padding-inline: 0; }
.brand strong { font-size: 1.45rem; }
.brand img { width: 3.6rem; height: 3.6rem; }
.quick-navigation { gap: 1.4rem; }
.quick-navigation a { font-size: .9rem; }
.fest-hero { display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); gap: 2rem; align-items: center; max-width: var(--content); margin: auto; padding: 2.6rem 0 2rem; }
.fest-hero-copy { padding-block: .5rem; }
.fest-hero h1 { font: 600 clamp(2.9rem,4.5vw,4.4rem)/1.06 var(--font-serif); letter-spacing: -.035em; margin: .7rem 0 1.3rem; color: var(--green-950); }
.fest-hero h1 em { color: var(--red-800); font-weight: 500; }
.fest-hero .fest-hero-lead { font-size: 1.12rem; color: var(--green-950); margin: 0 0 .6rem; font-weight: 600; max-width: 23rem; }
.fest-hero-copy > p:not(.eyebrow):not(.fest-hero-lead) { max-width: 25rem; margin-block: 0 1.3rem; color: var(--muted); }
.fest-hero .button { padding: .75rem 1.1rem; border-radius: .3rem; font-size: .9rem; }
.fest-hero-image { position: relative; margin: 0; }
.fest-hero-image img { display: block; width: 100%; height: auto; aspect-ratio: 1280/853; object-fit: contain; mask:none; }
.fest-hero-image figcaption { font-size: .72rem; color: var(--muted); text-align: right; padding: .3rem 1rem 0; }
.fest-entrypoints { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); max-width: var(--content); margin: .25rem auto 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.fest-entrypoints a { display: flex; align-items: center; gap: 1rem; min-width: 0; padding: 1.35rem 1.2rem; border-right: 1px solid var(--border); color: var(--green-950); text-decoration: none; }
.fest-entrypoints a:first-child { padding-left: 0; }
.fest-entrypoints a:last-child { border-right: 0; padding-right: 0; }
.fest-entrypoints a > span:nth-child(2) { display: grid; gap: .1rem; }

.fest-entrypoints strong { font-size: 1.05rem; }
.fest-entrypoints small { font-size: .8rem; color: var(--muted); }
.entry-icon { display: grid; place-items: center; flex: 0 0 2.7rem; width: 2.7rem; height: 2.7rem; border-radius: 50%; color: var(--green-900); background: #ecefe6; }
.entry-icon svg,.archive-query svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.fest-entrypoints a:hover strong,.brotherhood-links a:hover strong { color: var(--red-800); }
.home-news { padding-top: 3rem; }
.home-news .section-heading h2 { font: 500 clamp(1.9rem,3vw,2.6rem)/1.15 var(--font-serif); }
.news-card { background: white; border: 1px solid #e5e3da; border-radius: .5rem; overflow: hidden; }
.news-card-body { padding: 1.1rem 1.2rem 1.3rem; }
.news-card-image { height: 13rem; background: #f0eee6; }
.news-card h3 { font-size: 1.45rem; }
.calendar-section { padding-block: 1rem 2.75rem; }
.calendar-shell { border-radius: .5rem; background: #edf0e8; padding: 1.3rem 1.5rem; }
.calendar-heading h2 { font-family: var(--font-serif); font-size: 1.8rem; }
.calendar-list > a { min-height: 5rem; }
.calendar-details strong { font-size: 1.2rem; font-family: var(--font-sans); font-weight: 650; }
.calendar-details small { text-transform: none; font-size: .8rem; letter-spacing: 0; font-weight: 500; }
.brotherhood-feature { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 3rem; align-items: center; }
.brotherhood-feature h2 { font: 500 clamp(2rem,3vw,2.7rem)/1.15 var(--font-serif); color: var(--green-950); margin: .5rem 0 1rem; }
.brotherhood-feature-copy > p:not(.eyebrow) { color: var(--muted); max-width: 32rem; }
.brotherhood-feature figure { margin: 0; }
.brotherhood-feature img { width: 100%; height: auto; display: block; border-radius: .4rem; }
.brotherhood-feature figcaption { color: var(--muted); font-size: .75rem; margin-top: .6rem; }
.brotherhood-links { display: grid; gap: .5rem; }
.brotherhood-links a { border-top: 1px solid var(--border); padding: .8rem 0; display: grid; text-decoration: none; color: var(--green-950); }
.brotherhood-links strong { font-size: 1.05rem; }
.brotherhood-links span { color: var(--muted); font-size: .85rem; display: flex; justify-content: space-between; }
.brotherhood-links b { color: var(--red-800); }
.sticky-actions { display: grid; right: .65rem; gap: .5rem; }
.sticky-actions a { width: 2.9rem; height: 2.9rem; box-shadow: 0 3px 12px #082d2717; }
.sticky-actions strong { font-size: .85rem; }
.field-label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.archive-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; padding: .3rem 0 1rem; margin-bottom: .75rem; border-bottom: 1px solid var(--border); }
.archive-toolbar label { position: relative; min-width: 0; }
.archive-toolbar input,.archive-toolbar select { min-height: 2.75rem; border: 1px solid #d6dbd1; background: transparent; border-radius: .3rem; padding: .5rem .6rem; color: var(--green-950); font-size: .9rem; }
.archive-query { width: 15rem; }
.archive-query > span[aria-hidden] { position: absolute; left: .6rem; top: 50%; transform: translateY(-50%); display: flex; color: var(--muted); }
.archive-toolbar .archive-query input { width: 100%; padding-left: 2.2rem; }
.archive-toolbar button { border: 0; background: transparent; color: var(--muted); font: inherit; font-size: .8rem; text-decoration: underline; text-underline-offset: .2em; padding: .5rem; min-height: 2.75rem; cursor: pointer; }
.archive-toolbar > p { font-size: .8rem; color: var(--muted); margin: 0 0 0 auto; }
.video-library,.archive-browser { padding-top: 1rem; }
.video-card h3 { font-size: 1.1rem; }
.search-dialog { width: min(36rem,calc(100% - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; border: 0; border-radius: .7rem; padding: 1.5rem; background: var(--cream-50); color: var(--ink); box-shadow: 0 15px 70px #0004; }
.search-dialog::backdrop { background: #082d2799; }
.search-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.search-dialog h2 { margin: 0; font-size: 1.6rem; line-height: 1.25; }
.search-dialog-heading button { flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; color: var(--green-950); background: transparent; border: 1px solid var(--border); border-radius: 50%; font-size: 1.5rem; cursor: pointer; }
.search-dialog form > div { display: flex; gap: .5rem; margin-top: .5rem; }
.search-dialog input { width: 100%; min-width: 0; }
.search-dialog .button { padding: .5rem 1rem; border-radius: .3rem; }
.search-dialog > p { margin: 1rem 0 0; font-size: .9rem; }
.brotherhood-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.brotherhood-card { padding: 1.7rem; border: 1px solid var(--border); border-top: 4px solid var(--green-900); background: white; border-radius: .4rem; scroll-margin-top: 1rem; }
.brotherhood-card:first-child { border-top-color: var(--red-800); }
.brotherhood-card h2 { color: var(--green-950); margin: .25rem 0 .75rem; font: 500 2rem/1.15 var(--font-serif); }
.brotherhood-card .button { margin-top: .8rem; border-radius: .3rem; padding: .6rem .9rem; }
.royal-preview { max-width: 48rem; margin-top: 2.5rem; border-top: 1px solid var(--border); padding-top: 1.5rem; }
.royal-preview h2 { font-size: 1.8rem; }
@media(max-width:85rem) { .fest-hero,.fest-entrypoints,.header-inner { margin-inline: 1.5rem; } .sticky-actions { display: none; } }
@media(min-width:64.01rem) and (max-width:85rem) { .sticky-actions { display: grid; right: .45rem; } main > .section,.fest-hero,.fest-entrypoints,.page-heading { margin-right: 4.5rem; } .calendar-section { padding-right: 4.5rem; } }
@media(max-width:64rem) { .fest-hero { gap: 1.25rem; padding-block: 2rem; } .fest-hero h1 { font-size: clamp(2.4rem,4.9vw,3.4rem); } .fest-hero .eyebrow { font-size: .7rem; } .fest-entrypoints a { gap: .65rem; padding-inline: .8rem; } .fest-entrypoints small { font-size: .74rem; } .entry-icon { flex-basis: 2.2rem; width: 2.2rem; height: 2.2rem; } .brotherhood-feature { gap: 1.5rem; } }
@media(max-width:46rem) {
 .header-inner { margin-inline: 1rem; min-height: 4.8rem; }
 .brand strong { font-size: 1.25rem; } .brand img { width: 2.8rem; height: 2.8rem; }
 .brand small { font-size: .56rem; }
 .fest-hero { grid-template-columns: minmax(0,1fr); gap: .7rem; padding: 1.2rem 0 .8rem; margin-inline: 1.25rem; }
 .fest-hero-copy { padding: 0; }
 .fest-hero h1 { font-size: 2.7rem; margin: .5rem 0 .8rem; }
 .fest-hero h1 br { display: none; }
 .fest-hero h1 em { display: block; }
 .fest-hero .fest-hero-lead { font-size: 1rem; max-width: none; }
 .fest-hero-copy > p:not(.eyebrow):not(.fest-hero-lead) { font-size: .9rem; margin-bottom: .8rem; max-width: none; }
 .fest-hero .button { padding: .6rem .8rem; }
 .fest-hero-image { max-width: 32rem; width: 100%; justify-self: center; }
 .fest-hero-image figcaption { padding-top: .1rem; font-size: .65rem; }
 .fest-entrypoints { grid-template-columns: minmax(0,1fr); margin-inline: 1.25rem; }
 .fest-entrypoints a,.fest-entrypoints a:first-child,.fest-entrypoints a:last-child { padding: .8rem 0; border-right: 0; border-bottom: 1px solid var(--border); gap: .8rem; }
 .fest-entrypoints a:last-child { border-bottom: 0; }
 .fest-entrypoints small { font-size: .8rem; }
 .home-news { padding-top: 2rem; }
 .brotherhood-feature,.brotherhood-grid { grid-template-columns: minmax(0,1fr); }
 .brotherhood-feature figure { order: -1; }
 .brotherhood-card { padding: 1.25rem; }
 .archive-toolbar { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: .5rem; }
 .archive-query { grid-column: 1/-1; width: 100%; }
 .archive-toolbar select { width: 100%; font-size: .9rem; }
 .archive-toolbar input { font-size: 1rem; }
 .archive-toolbar > p { margin-left: 0; grid-column: 1; grid-row: 3; }
 .archive-toolbar > button { grid-column: 2; grid-row: 3; justify-self: end; padding-block: .25rem; }
 .video-library,.archive-browser { padding-top: .5rem; }
 .mobile-dock strong { font-size: .65rem; }
 .calendar-shell { padding: 1rem; }
 .calendar-heading h2 { font-size: 1.5rem; }
 .calendar-details strong { font-size: 1rem; }
}
@media(prefers-reduced-motion:reduce) { .fest-entrypoints a,.sticky-actions a { transition: none; } }
.royal-feature { margin-top: 3rem; }
.royal-archive { padding-top: .5rem; }
.royal-archive .royal-preview { margin-top: 0; }
.royal-entry { border-top: 1px solid var(--border); padding: 1.25rem 0; }
.royal-entry h2 { font-size: 1.6rem; margin: .4rem 0; }
.royal-source { color: var(--muted); font-size: .85rem; }
.royal-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-bottom: 1.25rem; }
.tablet-search { display: none; }
@media(min-width:46.01rem) and (max-width:64rem) {
 .tablet-search { display: inline-flex; align-items: center; gap: .4rem; padding: .7rem .5rem; text-decoration: none; color: var(--green-900); }
 .tablet-search svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
}
.motion-ready .reveal.is-visible { animation: none; }
.fest-hero .button { gap: .5rem; }
@media print { .sticky-actions,.tablet-search,.search-dialog { display: none; } }

/* Editorial refinement: quieter weight, consistent image frames and card links. */
.fest-hero h1 { font-weight: 400; }
.fest-hero .fest-hero-lead { font-weight: 400; }
.quick-navigation a,.nav-toggle,.button,.fest-entrypoints strong,
.brotherhood-links strong,.calendar-details strong,.video-card h3,
.photo-archive-card strong,.mobile-dock strong { font-weight: 500; }
.eyebrow,.card-kicker,.brand small { font-weight: 500; letter-spacing: .1em; }
.news-card h3,.pathway-card strong,.hub-card-copy strong { font-weight: 400; }
.news-grid { align-items: stretch; }
.news-card { display: flex; flex-direction: column; }
.news-card-image { flex: 0 0 auto; height: 14rem; padding: 1rem; background: #efede6; }
.news-card-image img { object-fit: contain; }
.news-card-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; }
.news-card-body > a { margin-top: auto; padding-top: 1rem; font-weight: 500; }
.pathway-card,.pathway-card:hover,.pathway-card:focus-visible { text-decoration: none; }
.pathway-card { border-radius: .3rem; overflow: hidden; background: transparent; }
.pathway-card img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.pathway-card > span { padding: 1rem 0; }
.pathway-card small { font-weight: 400; letter-spacing: .04em; }
.pathway-card strong { font-size: 1.3rem; line-height: 1.3; }
.pathway-card:hover strong { color: var(--red-800); }
.pathway-card:focus-visible { outline: 2px solid var(--green-800); outline-offset: 4px; }
.video-poster { border-radius: .3rem; background: #ecece6; }
.video-poster::after { display: none; }
.video-poster .play-mark,.home-video-thumb .play-mark { top: auto; left: auto; right: .7rem; bottom: .7rem; width: 2.5rem; height: 2.5rem; transform: none; border: 1px solid #ffffffb3; border-radius: .3rem; background: #082d27ed; box-shadow: none; }
.video-poster .play-mark::after,.home-video-thumb .play-mark::after { border-top-width: .35rem; border-bottom-width: .35rem; border-left-width: .55rem; }
.video-poster > small { right: auto; left: .7rem; bottom: .7rem; background: #082d27ed; padding: .25rem .5rem; border-radius: .2rem; font-weight: 400; }
.video-card > div > p:first-child { color: var(--muted); font-weight: 400; }
.video-card > div > p { letter-spacing: 0; text-transform: none; font-weight: 400; }
.photo-archive-card figure { border-radius: .3rem; }
.photo-archive-card figcaption { border-radius: .2rem; font-weight: 500; }
@media(max-width:46rem) {
 .news-card-image { height: 13rem; }
 .pathway-card strong { font-size: 1.1rem; }
 .pathway-grid { gap: 1.3rem 1rem; }
}

/* Shared editorial system: unframed photography, restrained cards, one rhythm. */
:root { --editorial-gap: clamp(1.25rem, 2.5vw, 2rem); --editorial-space: clamp(2.5rem, 5vw, 4rem); }
.section { padding-block: var(--editorial-space); }
.section-heading,.media-section-heading,.hub-navigation-heading { margin-bottom: 1.6rem; }
.section-heading h2,.heritage-copy h2,.brotherhood-feature h2,.media-section-heading h2 { font-family: var(--font-serif); font-weight: 400; line-height: 1.18; }
.news-grid,.pathway-grid,.hub-card-grid,.photo-archive-grid,.video-grid { gap: var(--editorial-gap); }
.news-card,.hub-card,.pathway-card,.photo-archive-card { border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.news-card-body { padding: 1.1rem 0 0; }
.news-card-image { padding: 0; background: transparent; border: 0; border-radius: 0; }
.news-card-image img { width: 100%; height: 100%; object-fit: contain; object-position: left center; border: 0; border-radius: 0; box-shadow: none; }
.heritage-image,.brotherhood-feature figure,.media-context-band figure,
.photo-archive-card figure,.home-media-main,.home-video-thumb,.video-poster,
.media-gateway,.video-years a,.hub-card img,.pathway-card img {
 background: transparent; border: 0; box-shadow: none; border-radius: 0;
}
.heritage-image::before { content: none; }
.heritage-image img { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: auto; border: 0; border-radius: 0; box-shadow: none; filter: none; }
.brotherhood-feature img,.media-context-band img { display: block; width: 100%; height: auto; border-radius: 0; border: 0; box-shadow: none; }
.home-media-main > img,.home-video-thumb img,.media-gateway > img { position: static; display: block; width: 100%; height: auto; aspect-ratio: auto; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.home-media-composition,.heritage-feature,.brotherhood-feature { gap: var(--editorial-gap); }
.photo-archive-card figure,.photo-archive-card:nth-child(1) figure,.photo-archive-card:nth-child(6) figure { aspect-ratio: auto; }
.photo-archive-card img { position: static; display: block; width: 100%; height: auto; object-fit: contain; border-radius: 0; }
.video-years img { object-fit: contain; background: transparent; border-radius: 0; }
.video-poster { background: transparent; }
.video-poster img { border-radius: 0; }
.hub-card img { height: auto; aspect-ratio: 4/3; object-fit: cover; }
.heritage-image figcaption,.brotherhood-feature figcaption,.media-context-band figcaption { margin: .65rem 0 0; padding: 0; color: var(--muted); font-size: .78rem; font-weight: 400; line-height: 1.5; }
.supporters-band { background: transparent; border: 0; border-top: 1px solid var(--border); border-radius: 0; box-shadow: none; }
.brotherhood-card,.brotherhood-card:first-child { background: transparent; border: 0; border-top: 1px solid var(--border); border-radius: 0; padding: 1.5rem 0; }
.calendar-shell { border-radius: .3rem; }
.video-library,.archive-browser { padding-top: 1rem; }
@media(max-width:46rem) {
 .section { padding-block: 2.25rem; }
 .video-library,.archive-browser { padding-top: .5rem; }
 .news-card-image { height: auto; max-height: none; }
 .news-card-image img { width: auto; max-width: 100%; height: auto; max-height: 20rem; }
 .pathway-grid { gap: 1.5rem 1rem; }
}
/* Hub cards always put their copy below a predictable image box. */
.hub-card { display: flex; flex-direction: column; grid-template-rows: none; min-width: 0; }
.hub-card > img { position: static; flex: 0 0 auto; display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.hub-card-copy { position: static; display: flex; flex: 1; flex-direction: column; padding: 1rem 0 0; }
.hub-card-copy em { margin-top: auto; padding-top: 1rem; font-weight: 500; }
.hub-card::before,.hub-card::after { content: none; }
.content-sections { display: block; max-width: var(--content); }
.content-sections article { display: block; padding: 1.5rem 0; border: 0; background: transparent; border-radius: 0; box-shadow: none; }
.content-sections article:last-child { border: 0; }
.content-sections article > div { max-width: 48rem; }
.content-sections h2 { font-size: 1.7rem; font-weight: 400; margin: 0 0 .8rem; }
.content-sections p { margin-top: 0; }
.media-gateways { align-items: stretch; }
.media-gateway { display: flex; flex-direction: column; }
.media-gateway > img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.media-gateway-overlay { position: static; padding: 1rem 0; }
.media-gateway-overlay strong { font-size: 1.7rem; font-weight: 400; }
.home-media-main > img,.home-video-thumb img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.photo-archive-card figure,.photo-archive-card:nth-child(1) figure,.photo-archive-card:nth-child(6) figure { aspect-ratio: 4/3; }
.photo-archive-card img { width: 100%; height: 100%; object-fit: cover; }
.news-filters { display: flex; flex-wrap: wrap; gap: .8rem; align-items: end; padding-bottom: 1.5rem; border-bottom: 1px solid var(--border); }
.news-filters label { display: grid; gap: .3rem; font-size: .85rem; min-width: 0; }
.news-filters label:first-child { flex: 1; }
.news-filters input,.news-filters select { max-width: 100%; background: transparent; font-size: 1rem; }
.news-filters .button { border-radius: .3rem; padding: .6rem 1rem; }
.archive-result-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }
.archive-result-heading h2 { font-size: 2rem; font-weight: 400; margin: 0; }
.archive-result-heading p,.archive-description { font-size: .9rem; color: var(--muted); }
.news-archive-list article { display: grid; grid-template-columns: 7rem minmax(0,1fr); gap: 1.5rem; padding: 1.6rem 0; border-bottom: 1px solid var(--border); }
.news-archive-list time { font-size: .85rem; color: var(--muted); padding-top: .35rem; }
.news-archive-list h3 { font: 400 1.5rem/1.3 var(--font-serif); margin: 0 0 .6rem; }
.news-archive-list h3 a { text-decoration: none; }
.news-archive-list p { max-width: 48rem; color: var(--muted); margin: .5rem 0; }
.news-read { display: inline-block; padding-block: .5rem; font-size: .9rem; }
.archive-pagination { display: flex; flex-wrap: wrap; gap: 1.5rem; padding-block: 1.5rem; align-items: center; }
.archive-pagination a { padding-block: .5rem; }
.contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
.contact-grid article { border-top: 1px solid var(--border); padding-top: 1.3rem; min-width: 0; }
.contact-grid h2 { font: 400 1.65rem/1.3 var(--font-serif); margin: .4rem 0; }
.contact-grid p { margin-block: .5rem; }
.contact-phone { display: block; padding-block: .35rem; }
.quick-navigation { gap: 1rem; }
@media(max-width:46rem) {
 .news-filters { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
 .news-filters label:first-child { grid-column: 1/-1; }
 .news-archive-list article { grid-template-columns: minmax(0,1fr); gap: .4rem; }
 .contact-grid { grid-template-columns: minmax(0,1fr); }
}
.news-filters input,.news-filters select { width: 100%; min-width: 0; }
.news-archive-list article > div,.news-archive-list h3,.contact-grid article { min-width: 0; overflow-wrap: anywhere; }
.media-gateways { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
.media-gateway,.media-gateway > img { min-width: 0; max-width: 100%; }
.media-gateway:hover > img,.media-gateway:focus-visible > img { transform: none; }
.hub-navigation-heading h2 { font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 400; }
.hub-card-copy small { font-weight: 500; }
.page-heading h1 { font-weight: 500; }
@media(max-width:46rem) { .media-gateways { grid-template-columns: minmax(0,1fr); } }

/* Illustrated editorial pages: original photographs and a shared reading rhythm. */
.illustrated-article { padding-top: .5rem; }
.article-opening { display: grid; grid-template-columns: minmax(0,22rem) minmax(0,1fr); gap: clamp(2rem,5vw,5rem); align-items: center; }
.article-opening figure { margin: 0; }
.article-opening img { display: block; width: 100%; height: auto; border: 0; border-radius: 0; padding: 0; background: none; box-shadow: none; }
.article-opening figcaption,.article-source-note { font-size: .82rem; color: var(--muted); margin-top: .65rem; }
.illustrated-article h2 { font-family: var(--font-serif); font-weight: 400; font-size: clamp(1.6rem,2.8vw,2.25rem); line-height: 1.2; color: var(--green-950); margin: 0 0 1rem; }
.article-opening-copy > p { font-size: 1.1rem; max-width: 37rem; }
.article-opening nav { display: grid; margin-top: 1.8rem; }
.article-opening nav a { display: block; padding: .7rem 0; border-bottom: 1px solid var(--border); text-decoration: none; color: var(--green-950); }
.article-opening nav a:hover { color: var(--red-800); }
.article-reading-layout { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: clamp(2rem,6vw,6rem); margin-top: 3.5rem; align-items: start; }
.article-prose { max-width: 43rem; }
.article-prose section { margin-bottom: 2.5rem; scroll-margin-top: 7rem; }
.article-prose p { line-height: 1.8; }
.article-contact { border-top: 2px solid var(--green-900); padding-top: 1.2rem; }
.article-contact h2 { font-size: 1.5rem; }
.article-contact a { display: block; width: fit-content; margin-top: 1rem; overflow-wrap: anywhere; text-underline-offset: .25em; }
.article-wide-photo .article-opening { grid-template-columns: 1fr; gap: 2rem; }
.article-wide-photo .article-opening-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 0 3rem; }
.article-wide-photo .article-opening-copy h2 { grid-column: 1; }
.article-wide-photo .article-opening nav { grid-column: 2; grid-row: 1 / 3; margin: 0; }
@media(max-width:46rem) { .article-opening,.article-reading-layout,.article-wide-photo .article-opening-copy { grid-template-columns: minmax(0,1fr); gap: 1.8rem; } .article-opening figure { max-width: 22rem; width: 100%; } .article-wide-photo .article-opening figure { max-width: none; } .article-wide-photo .article-opening nav { grid-column: auto; grid-row: auto; } .article-reading-layout { margin-top: 2.5rem; } .article-opening-copy > p { font-size: 1rem; } }
/* Shared compact editorial openings and a clear year-by-year archive. */
.news-hero { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:center; }
.news-hero figure { margin:0; }
.news-hero img { display:block;width:100%;height:auto;mask:none; }
.news-hero figcaption,.arrival-opening figcaption { font-size:.78rem;color:var(--muted);margin-top:.6rem; }
.news-hero h1 { font-family:var(--font-serif);font-weight:400;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.1; }
.archive-year-nav { display:flex;flex-wrap:wrap;gap:.5rem;border-bottom:1px solid var(--border);padding-bottom:1.2rem; }
.archive-year-nav a { padding:.55rem .85rem;color:var(--green-950);text-decoration:none;border-radius:.25rem; }
.archive-year-nav a[aria-current],.archive-year-nav a:hover { color:white;background:var(--green-900); }
.archive-year-intro { display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:2rem 0 1.5rem; }
.archive-year-intro h2,.arrival-page h2,.partner-editorial h2 { font:400 clamp(1.6rem,3vw,2.4rem)/1.2 var(--font-serif);color:var(--green-950);margin:.4rem 0 1rem; }
.beiern-film { max-width:48rem;margin:3rem 0; }
.beiern-film .video-card { max-width:40rem; }
.arrival-opening { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:3rem;align-items:center; }
.arrival-opening figure { margin:0; }
.arrival-opening img { width:100%;height:auto;display:block; }
.arrival-destinations { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2.5rem; }
.arrival-destinations article { border-top:1px solid var(--border);padding-top:1rem;display:flex;flex-direction:column; }
.arrival-destinations h2 { font-size:1.5rem; }.arrival-destinations a { margin-top:auto; }
.partner-editorial > p { max-width:43rem;font-size:1.1rem; }.partner-editorial .article-contact { max-width:38rem;margin-top:2rem; }
.royal-archive .royal-entry { border-bottom:1px solid var(--border);padding-block:1.5rem; }
.royal-entry h2 { font:400 1.8rem/1.2 var(--font-serif); }.royal-filter { display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-bottom:1.5rem; }
@media(max-width:46rem) { .news-hero,.arrival-opening,.arrival-destinations { grid-template-columns:minmax(0,1fr);gap:1.4rem; }.news-hero h1 { font-size:2.3rem; }.archive-year-nav { gap:.2rem; }.archive-year-nav a { padding:.55rem .7rem; }.archive-year-intro { align-items:flex-start; }.arrival-destinations { margin-top:2rem; } }
.video-poster img { width:100%;height:100%;max-width:none;max-height:none;object-fit:cover; }
.video-grid .video-card { display:flex;flex-direction:column; }.video-grid .video-card > div { flex:1;display:flex;flex-direction:column; }.video-grid .video-card > div > a { margin-top:auto;width:fit-content; }
/* Chronik: Jahresachse und feste Personenspalten nach der Bruderrat-Vorlage. */
.chronicle-heading {display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:1.8rem;}
.chronicle-heading h2 {font:400 clamp(1.8rem,3vw,2.6rem)/1.15 var(--font-serif);color:var(--green-950);margin:.3rem 0 0;}
.chronicle-heading > p {color:var(--muted);margin:0;max-width:35rem;}
.chronicle-filters {display:flex;flex-wrap:wrap;align-items:end;gap:.8rem;padding-block:1.2rem;border-block:1px solid var(--border);}
.chronicle-filters label {display:grid;gap:.4rem;font-size:.82rem;min-width:0;}
.chronicle-filters label:first-child {flex:1 1 14rem;}.chronicle-filters input,.chronicle-filters select {min-height:2.75rem;width:100%;min-width:0;padding:.6rem .7rem;font-size:.9rem;}
.chronicle-filters .button {min-height:2.75rem;padding:.6rem 1rem;}.chronicle-filters > a {padding:.65rem 0;font-size:.85rem;}
.chronicle-result {display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:1rem 0;color:var(--muted);font-size:.85rem;}.chronicle-result nav {display:flex;gap:.5rem;}.chronicle-result a {padding:.45rem .7rem;text-decoration:none;color:var(--green-950);border-radius:.2rem;}.chronicle-result a:hover {background:var(--green-900);color:white;}
.royal-year {display:grid;grid-template-columns:7rem minmax(0,1fr);gap:2rem;border-top:1px solid var(--border);padding:2rem 0;}
.royal-year > h2 {margin:0;font:400 clamp(2.2rem,4vw,3.3rem)/1 var(--font-serif);color:var(--green-950);}
.royal-year-houses {min-width:0;}.chronicle-house + .chronicle-house {margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--border);}
.chronicle-house h3 {font:500 .85rem/1.4 var(--font-sans);color:var(--green-950);margin:0 0 1rem;}
.chronicle-people {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;}
.chronicle-person {display:flex;flex-direction:column;border-left:2px solid var(--border);padding-left:1rem;min-width:0;}.chronicle-king {border-color:var(--red-800);}
.chronicle-person span {font-size:.78rem;color:var(--muted);}.chronicle-person strong {font:400 clamp(1.15rem,1.8vw,1.5rem)/1.25 var(--font-serif);color:var(--green-950);margin-top:.35rem;overflow-wrap:anywhere;}.chronicle-person small {color:var(--muted);font-size:.85rem;margin-top:.6rem;}
.chronicle-missing,.chronicle-note {color:var(--muted);font-size:.85rem;}.chronicle-missing {margin:0;}.chronicle-note {border-top:1px solid var(--border);padding-top:1.5rem;}
@media(max-width:46rem){.chronicle-heading {grid-template-columns:1fr;gap:1rem;}.chronicle-filters label {flex:1 1 calc(50% - .8rem);}.chronicle-filters label:first-child {flex-basis:100%;}.royal-year {grid-template-columns:minmax(0,1fr);gap:1.4rem;}.royal-year > h2 {font-size:2.5rem;}.chronicle-people {grid-template-columns:1fr 1fr;gap:1rem;}.chronicle-king {grid-column:1 / -1;}.chronicle-result {align-items:flex-start;flex-direction:column;gap:0;}.chronicle-person {padding-left:.75rem;}.chronicle-person strong {font-size:1.25rem;}}
.royal-chronicle {padding-top:.5rem;}.page-heading:has(+ .royal-chronicle) {padding-bottom:1.25rem;}
@media(max-width:46rem){.chronicle-heading h2 {font-size:1.7rem;}.chronicle-heading {margin-bottom:1rem;}.chronicle-filters {gap:.65rem;}.chronicle-filters label:nth-child(2) {flex-basis:100%;}}

.home-archive-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--editorial-gap);}
.home-archive-grid > a {display:flex;flex-direction:column;min-width:0;color:var(--green-950);text-decoration:none;}
.home-archive-grid > a > img {display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:0;border-radius:0;}
.home-archive-copy {display:flex;flex-direction:column;flex:1;padding-top:1rem;gap:.6rem;}
.home-archive-copy small {font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;}
.home-archive-copy strong {font:400 clamp(1.6rem,2.5vw,2rem)/1.2 var(--font-serif);}
.home-archive-copy > span {color:var(--muted);}.home-archive-copy em {font-style:normal;font-size:.9rem;margin-top:auto;padding-top:.8rem;border-top:1px solid var(--border);}
.home-archive-grid a:hover em {color:var(--red-800);}
@media(max-width:46rem){.home-archive-grid {grid-template-columns:minmax(0,1fr);gap:2rem;}}

/* Spacious desktop layout, with the same aligned edges at every breakpoint. */
:root { --content: 96rem; --page-gutter: clamp(1.25rem, 4vw, 5rem); }
.header-inner,.fest-hero,.fest-entrypoints,.page-heading,main > .section,.mega-navigation-inner {
 width: min(calc(100% - var(--page-gutter) * 2), var(--content));
 max-width: var(--content); margin-inline: auto;
}
.fest-hero { grid-template-columns: minmax(0,.85fr) minmax(0,1.3fr); gap: clamp(2rem,4vw,4.5rem); padding-block: clamp(2rem,4vw,4rem) 2rem; }
.fest-hero h1 { font-family: var(--font-sans); font-weight: 500; font-size: clamp(2.7rem,4.6vw,5rem); line-height: 1.04; letter-spacing: -.055em; }
.fest-hero .fest-hero-lead { font-size: clamp(1.1rem,1.4vw,1.4rem); line-height: 1.45; max-width: 28rem; }
.fest-hero-copy > p:not(.eyebrow):not(.fest-hero-lead) { font-size: 1rem; line-height: 1.7; max-width: 29rem; }
.fest-hero-image img { aspect-ratio: 16/10; object-fit: cover; object-position: center; mask: none; }
.fest-hero-image figcaption { padding-inline: 0; }
.quick-navigation a { font-family: var(--font-sans); font-size: 1rem; font-weight: 500; letter-spacing: 0; }
.nav-toggle { font-family: var(--font-sans); font-size: 1rem; font-weight: 500; letter-spacing: 0; }
.mega-grid { column-gap: clamp(1.5rem,3vw,3rem); }
.mega-grid p { font-family: var(--font-sans); font-size: .95rem; font-weight: 500; letter-spacing: 0; text-transform: none; margin-bottom: .75rem; }
.mega-grid a { display: flex; align-items: center; min-height: 2.75rem; padding-block: .5rem; font-family: var(--font-sans); font-size: 1rem; font-weight: 400; line-height: 1.5; color: #fff; }
.page-heading h1,.section-heading h2,.home-news .section-heading h2,.brotherhood-feature h2,.heritage-copy h2,.media-section-heading h2 { font-family: var(--font-sans); font-weight: 500; letter-spacing: -.035em; }
.calendar-section { padding-inline: max(var(--page-gutter),calc((100% - var(--content))/2)); }
@media(min-width:64.01rem) and (max-width:100rem) { :root { --page-gutter: 4.5rem; } }
@media(max-width:78rem) { .quick-navigation { display: none; } }
@media(max-width:46rem) {
 .fest-hero { grid-template-columns: minmax(0,1fr); gap: 1.25rem; padding-block: 1.5rem 1rem; }
 .fest-hero h1 { font-size: clamp(2.5rem,10vw,3.6rem); }
 .fest-hero-image { max-width: none; }
 .fest-hero-copy > p:not(.eyebrow):not(.fest-hero-lead) { font-size: .95rem; }
 .mega-grid { gap: 1.5rem 1rem; }
 .mega-grid a { font-size: .95rem; }
}
@media(max-width:23rem) { .mega-grid { grid-template-columns: 1fr; } }

/* Distinct contributions and event cards, inspired by the two association sites. */
.header-inner .nav-toggle { justify-self: end; width: auto; }
.home-news .section-heading { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.home-news .section-heading h2 { max-width: 30ch; }
.home-news .section-link,.calendar-heading .button { flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; min-height:3.1rem; padding:.8rem 1.25rem; border:1px solid var(--green-950); border-radius:.6rem; color:var(--green-950); background:#fff; font:500 1rem/1.4 var(--font-sans); text-decoration:none; letter-spacing:0; }
.home-news .section-link:hover,.calendar-heading .button:hover { color:#fff; background:var(--green-950); }
.home-news .news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; align-items:stretch; }
.home-news .news-card { background:#fff; border:1px solid #dce2dc; border-radius:1rem; overflow:hidden; box-shadow:0 8px 24px #082d2708; transition:box-shadow .2s,border-color .2s; }
.home-news .news-card:hover,.home-news .news-card:focus-within { border-color:#8baba0; box-shadow:0 12px 32px #082d2714; }
.home-news .news-card-image { width:100%; height:clamp(15rem,20vw,20rem); aspect-ratio:auto; background:#fff; }
.home-news .news-card-image img { width:100%; height:100%; max-height:none; object-fit:contain; object-position:center; transform:none; }
.home-news .news-card-body { padding:1.5rem; min-height:0; gap:.85rem; }
.home-news .card-kicker { margin:0; color:#53655d; font:400 .9rem/1.5 var(--font-sans); letter-spacing:0; }
.home-news .news-card h3 { margin:0; font:500 clamp(1.2rem,1.6vw,1.5rem)/1.35 var(--font-sans); letter-spacing:-.02em; }
.home-news .news-card h3 a { color:var(--green-950); text-decoration:none; }
.home-news .news-card h3 a:hover { text-decoration:underline; text-underline-offset:.2em; }
.home-news .news-card-body > p:not(.card-kicker) { margin:0 0 .5rem; color:#4b5c55; font-size:1rem; line-height:1.65; }
.home-news .news-card-body > .news-read { display:inline-flex; align-items:center; min-height:2.75rem; margin-top:auto; padding:.65rem 1rem; background:#edf3ef; color:var(--green-950); border-radius:.5rem; font:500 .95rem/1.4 var(--font-sans); text-decoration:none; }
.home-news .news-read:hover { background:var(--green-950); color:#fff; }
.calendar-section { padding-block:2rem 4rem; }
.calendar-shell { padding:clamp(1.25rem,3vw,2.75rem); background:#edf2ed; border:0; border-radius:1.25rem; box-shadow:none; }
.calendar-heading { padding:0 0 1.75rem; border:0; align-items:center; }
.calendar-heading .eyebrow { margin:0 0 .65rem; }
.calendar-heading h2 { font:500 clamp(1.75rem,2.8vw,2.65rem)/1.2 var(--font-sans); letter-spacing:-.035em; }
.calendar-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.calendar-list > a,.calendar-list > a:last-child { grid-template-columns:4.5rem minmax(0,1fr); gap:1rem; align-items:start; padding:1.5rem 1.25rem; border:1px solid #dce2dc; border-radius:.8rem; background:#fff; min-height:10rem; }
.calendar-list > a:hover { background:#fff; border-color:#79978a; box-shadow:0 6px 20px #082d270d; }
.calendar-list time { padding:.7rem .35rem; border-radius:.5rem; background:var(--green-950); }
.calendar-list time strong { font:500 2rem/1 var(--font-sans); }
.calendar-list time span { font:500 .65rem/1.4 var(--font-sans); letter-spacing:0; }
.calendar-details { display:flex; flex-direction:column; gap:.65rem; }
.calendar-details strong { order:-1; font:500 1.15rem/1.35 var(--font-sans); overflow-wrap:anywhere; }
.calendar-details small { font:400 .9rem/1.55 var(--font-sans); color:#53655d; }
@media(max-width:70rem) {
 .home-news .news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-news .news-card:last-child { grid-column:auto; }
 .calendar-list { grid-template-columns:1fr; }
 .calendar-list > a,.calendar-list > a:last-child { min-height:0; align-items:center; }
}
@media(max-width:46rem) {
 .home-news .section-heading,.calendar-heading { display:flex; flex-direction:column; align-items:flex-start; gap:1rem; }
 .home-news .news-grid { grid-template-columns:1fr; gap:1.25rem; }
 .home-news .news-card-image { height:16rem; }
 .home-news .news-card-body { padding:1.25rem; }
 .home-news .section-link,.calendar-heading .button { font-size:.95rem; }
 .calendar-section { padding-block:1rem 2.5rem; }
 .calendar-shell { border-radius:1rem; padding:1.25rem; }
 .calendar-list > a,.calendar-list > a:last-child { padding:1rem; grid-template-columns:3.7rem minmax(0,1fr); gap:.8rem; }
}
.calendar-list time,.calendar-list time strong,.calendar-list time span { color:#fff; }

/* Shared card system across discovery, community and archive pages. */
:root { --card-radius:1rem; --card-line:#dce2dc; --card-padding:clamp(1.25rem,2vw,1.75rem); }
.pathway-card,.hub-card,.home-archive-grid > a,.photo-archive-card,.video-card {
 background:#fff; border:1px solid var(--card-line); border-radius:var(--card-radius); overflow:hidden;
 box-shadow:0 8px 24px #082d2708; transition:border-color .2s,box-shadow .2s;
}
.pathway-card:hover,.hub-card:hover,.home-archive-grid > a:hover,.photo-archive-card:hover,.video-card:hover {
 border-color:#8baba0; box-shadow:0 12px 32px #082d2714;
}
.pathway-grid { gap:1.5rem; align-items:stretch; }
.pathway-card > img,.hub-card > img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; flex-shrink:0; }
.pathway-card > span,.hub-card-copy { padding:var(--card-padding); display:flex; flex-direction:column; flex:1; gap:.65rem; }
.pathway-card strong,.pathway-card-large strong,.hub-card-copy strong,.home-archive-copy strong { font:500 clamp(1.2rem,1.7vw,1.6rem)/1.3 var(--font-sans); letter-spacing:-.025em; }
.pathway-card small,.hub-card-copy small,.home-archive-copy small { color:var(--red-800); font-size:.75rem; font-weight:500; line-height:1.5; }
.pathway-card em { margin-top:auto; padding-top:.25rem; font:.95rem/1.6 var(--font-sans); color:#53655d; }
.home-archive-copy { padding:var(--card-padding); gap:.8rem; }
.home-archive-copy em,.hub-card-copy em { align-self:flex-start; margin-top:auto; padding:.65rem 1rem; border:0; border-radius:.5rem; background:#edf3ef; color:var(--green-950); font:500 .95rem/1.4 var(--font-sans); }
.home-archive-copy > span { margin-bottom:.5rem; line-height:1.6; }
.home-archive-grid > a > img { aspect-ratio:3/2; object-fit:cover; }
.brotherhood-links { gap:.85rem; margin-top:1.5rem; }
.brotherhood-links a { padding:1.25rem 1.5rem; gap:.4rem; border:1px solid var(--card-line); background:#fff; border-radius:.8rem; }
.brotherhood-links a:hover { border-color:#8baba0; background:#f6f9f6; }
.brotherhood-links strong { font-weight:500; font-size:1.15rem; }
.brotherhood-links span { font-size:.95rem; line-height:1.5; }
.brotherhood-feature,.heritage-feature { gap:clamp(2rem,5vw,5rem); }
.brotherhood-feature-copy > p:not(.eyebrow),.heritage-copy > p:not(.eyebrow) { font-size:1.05rem; line-height:1.75; }
.story-links { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.story-links .text-link { padding:.8rem 1.1rem; border:1px solid var(--green-950); border-radius:.6rem; text-decoration:none; font-size:1rem; font-weight:500; }
.button { border-radius:.6rem; font-weight:500; }
.supporters-band { padding:clamp(1.5rem,3vw,3rem); margin-block:2rem 4rem; border:1px solid var(--card-line); border-radius:1rem; background:#edf2ed; gap:2rem; }
.supporters-band h2 { font:500 clamp(1.6rem,2.4vw,2.25rem)/1.25 var(--font-sans); letter-spacing:-.03em; }
.supporters-band p { line-height:1.7; }
.photo-archive-card > a { height:100%; display:flex; flex-direction:column; }
.photo-archive-card > a > span { padding:var(--card-padding); flex:1; }
.photo-archive-card figure,.photo-archive-card:nth-child(1) figure,.photo-archive-card:nth-child(6) figure { margin:0; aspect-ratio:3/2; }
.photo-archive-card img { width:100%; height:100%; object-fit:cover; }
.video-card > div:not(.video-poster) { padding:var(--card-padding); }
.video-card h3 { font-weight:500; }
.brotherhood-card,.brotherhood-card:first-child { padding:var(--card-padding); border:1px solid var(--card-line); border-radius:1rem; background:#fff; }
.brotherhood-card h2 { font-family:var(--font-sans); font-weight:500; font-size:1.8rem; }
.brotherhood-network { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin:2.5rem 0; padding:clamp(1.5rem,3vw,2.5rem); border-radius:1rem; background:var(--green-950); color:#fff; }
.brotherhood-network .eyebrow,.brotherhood-network h2 { color:var(--gold-200); }
.brotherhood-network h2,.friendly-brotherhoods h2 { margin:.3rem 0 .6rem; font:500 clamp(1.5rem,2.5vw,2rem)/1.2 var(--font-sans); }
.brotherhood-network p:last-child { margin:0; }
.brotherhood-network .button { flex-shrink:0; background:var(--gold-200); color:var(--green-950); }
.friendly-brotherhoods { margin:2.5rem 0 3.5rem; }
.friendly-brotherhoods-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin-top:1.2rem; }
.friendly-brotherhoods-links a { display:block; padding:1rem 1.25rem; border:1px solid var(--card-line); border-radius:.8rem; background:#fff; color:var(--green-950); font-weight:500; text-decoration:none; }
.friendly-brotherhoods-links a:hover { border-color:#8baba0; background:#f6f9f6; }
@media(max-width:46rem) { .brotherhood-network { flex-direction:column; align-items:flex-start; } .friendly-brotherhoods-links { grid-template-columns:1fr; } }
.home-news .news-card-image-photo img { object-fit:cover; }
@media(max-width:70rem) { .pathway-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:46rem) {
 .brotherhood-feature,.heritage-feature { gap:1.75rem; }
 .pathway-grid { grid-template-columns:1fr; }
 .pathway-card > img { aspect-ratio:16/10; height:auto; }
 .supporters-band { margin-block:1rem 2.5rem; gap:1rem; }
 .home-archive-grid { gap:1.25rem; }
}
/* Complete page family: editorial, calendars, directories and search. */
.page-heading { padding-block:clamp(2rem,4vw,4rem) 2rem; }
.page-heading h1,.search-hero h1 { font-family:var(--font-sans); font-weight:500; letter-spacing:-.04em; }
.page-heading > div > p { max-width:65ch; font-size:1.1rem; line-height:1.7; color:#53655d; }
.article-opening h2,.article-prose h2,.article-contact h2,.arrival-page h2,.partner-editorial h2,.contact-grid h2,.song-grid h2,.content-sections h2,.related-links h2,.hub-navigation-heading h2,.chronicle-heading h2,.archive-year-intro h2,.event-app h2,.march-app h2,.search-results h2 { font-family:var(--font-sans); font-weight:500; letter-spacing:-.025em; line-height:1.3; }
.article-opening-copy { padding:var(--card-padding); background:#fff; border:1px solid var(--card-line); border-radius:var(--card-radius); }
.article-opening nav { gap:.6rem; }
.article-opening nav a { padding:.8rem 1rem; border:1px solid var(--card-line); border-radius:.5rem; background:#f6f9f6; font-size:1rem; line-height:1.5; }
.article-contact,.arrival-destinations article,.contact-grid article,.song-grid article,.content-sections article,.chronicle-house,.archive-search-result {
 padding:var(--card-padding); background:#fff; border:1px solid var(--card-line); border-radius:var(--card-radius); box-shadow:0 8px 24px #082d2708; min-width:0;
}
.article-contact h2 { font-size:1.4rem; }
.article-contact a,.arrival-destinations a,.contact-grid article > a,.song-grid article > a { display:inline-flex; align-items:center; min-height:2.75rem; max-width:100%; padding:.65rem .9rem; border-radius:.5rem; background:#edf3ef; font-size:.95rem; line-height:1.5; font-weight:500; text-decoration:none; color:var(--green-950); overflow-wrap:anywhere; }
.article-contact a:hover,.contact-grid article > a:hover { background:#dce9e0; }
.contact-grid,.song-grid { gap:1.5rem; align-items:stretch; }
.contact-grid article { display:flex; flex-direction:column; align-items:flex-start; gap:.6rem; }
.contact-grid article > p,.contact-grid article > h2 { margin:0; }
.contact-grid article > a:first-of-type { margin-top:auto; }
.contact-grid h2 { font-size:1.5rem; }
.song-grid article { line-height:1.85; }
.song-grid h2 { font-size:1.65rem; }
.home-shortcuts { gap:.65rem; flex-wrap:wrap; }
.home-shortcuts a { padding:.65rem 1rem; background:#fff; border:1px solid var(--card-line); border-radius:.5rem; font-size:.95rem; text-decoration:none; }
.content-sections article { margin-bottom:1.25rem; }
.news-archive-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.news-archive-list article { display:flex; flex-direction:column; padding:var(--card-padding); border:1px solid var(--card-line); border-radius:var(--card-radius); background:#fff; gap:.85rem; }
.news-archive-list article > div { display:flex; flex-direction:column; flex:1; align-items:flex-start; }
.news-archive-list h3 { font:500 1.4rem/1.4 var(--font-sans); margin:0; letter-spacing:-.02em; }
.news-archive-list h3 a { text-decoration:none; }
.news-archive-list p { font-size:1rem; line-height:1.7; }
.news-archive-list time { font-size:.9rem; }
.news-archive-list .news-read { margin-top:auto; padding:.65rem 1rem; border-radius:.5rem; background:#edf3ef; font:500 .95rem/1.5 var(--font-sans); text-decoration:none; }
.news-filters,.chronicle-filters,.search-form { padding:1.25rem; border:1px solid var(--card-line); background:#fff; border-radius:.8rem; gap:.85rem; }
.news-filters label,.chronicle-filters label { font-size:.9rem; line-height:1.5; }
.news-filters input,.news-filters select,.chronicle-filters input,.chronicle-filters select { border:1px solid #a8b8af; border-radius:.4rem; background:#fff; min-height:2.75rem; }
.archive-pagination a,.archive-year-nav a,.calendar-filters button { border:1px solid var(--card-line); border-radius:.5rem; min-height:2.75rem; font-size:.95rem; }
.chronicle-house + .chronicle-house { margin-top:1.25rem; padding:var(--card-padding); }
.chronicle-house h3 { font-size:1rem; }
.chronicle-person strong { font-family:var(--font-sans); font-weight:500; font-size:1.2rem; line-height:1.4; }
.event-app,.march-app,.search-results,.search-hero,.related-links { width:min(calc(100% - var(--page-gutter) * 2),var(--content)); margin-inline:auto; }
.event-app-header { background:#edf2ed; border:0; border-radius:1rem; padding:var(--card-padding); color:var(--green-950); }
.event-app-header h2,.event-app-header p,.event-app-header .eyebrow { color:var(--green-950); }
.next-event-card { background:#fff; border:1px solid var(--card-line); border-radius:.8rem; color:var(--green-950); padding:1.25rem; }
.next-event-card strong,.next-event-card span,.next-event-card p { color:var(--green-950); }
.event-accordion { display:grid; gap:.85rem; }
.event-accordion details { border:1px solid var(--card-line); border-radius:.8rem; background:#fff; overflow:hidden; }
.event-accordion summary { padding:1.25rem; }
.event-summary-copy strong { font-family:var(--font-sans); font-weight:500; }
.event-detail-panel { padding:1.25rem; line-height:1.7; }
.event-actions a { padding:.75rem 1rem; border-radius:.5rem; }
.march-status,.march-archive { padding:var(--card-padding); border:1px solid var(--card-line); border-radius:1rem; background:#fff; }
.related-links { padding:var(--card-padding); margin-block:2rem; background:#edf2ed; border-radius:1rem; }
.related-links > div { gap:1rem; }
.related-links > div > a { background:#fff; padding:1.25rem; border:1px solid var(--card-line); border-radius:.7rem; text-decoration:none; }
.related-links strong { font-family:var(--font-sans); font-weight:500; }
.result-list { display:grid; gap:1rem; }
.archive-search-result h3 { font-family:var(--font-sans); font-weight:500; line-height:1.4; }
.archive-search-result p { line-height:1.7; }
@media(max-width:46rem) {
 .page-heading > div > p { font-size:1rem; }
 .news-archive-list { grid-template-columns:1fr; }
 .article-opening figure { max-width:none; }
 .contact-grid,.song-grid { grid-template-columns:minmax(0,1fr); }
 .article-contact a,.contact-grid article > a { font-size:.9rem; }
 .event-accordion summary { padding:1rem; }
 .related-links > div { grid-template-columns:minmax(0,1fr); }
}
.event-app-header > div > p:not(.eyebrow),.related-links h2,.related-links > div > a,.related-links > div > a strong { color:var(--green-950); }
.media-context-band figcaption { color:#dce9e0; }
.related-links .eyebrow,.related-links > div > a span { color:var(--red-800); }
.next-event-card strong { font-family:var(--font-sans); font-weight:500; }
.search-hero,.search-hero > div,.search-form,.search-controls,.search-controls > *,.search-results,.result-list > * { min-width:0; }
.search-results { overflow-wrap:anywhere; }
@media(max-width:46rem) { .search-hero { padding-inline:0; grid-template-columns:minmax(0,1fr); }.search-controls { grid-template-columns:minmax(0,1fr); }.search-form { width:100%; } }
/* User reference: light canvas and editorial cards with a separate footer. */
:root { --cream-50:#fcfbf7; --cream-100:#f5f3ec; }
body { background:#fcfbf7; }
.home-news .news-card { border:0; border-radius:1.25rem; box-shadow:none; }
.home-news .news-card-image { height:clamp(12rem,17vw,16rem); }
.home-news .news-card-body { padding:1.15rem 1.25rem 0; gap:.65rem; }
.home-news .news-card h3 { font:400 clamp(1.35rem,1.9vw,1.75rem)/1.35 var(--font-sans); letter-spacing:-.025em; }
.home-news .news-card-body > p:not(.card-kicker) { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; margin-bottom:1rem; font-size:.95rem; line-height:1.6; }
.home-news .news-card-body > .news-read { align-self:stretch; padding:1rem 0; min-height:3.5rem; border-top:1px solid #d9ddea; border-radius:0; background:transparent; color:var(--green-950); font-weight:500; }
.home-news .news-card-body > .news-read:hover { color:var(--red-800); background:transparent; }
.news-archive-list article { border:0; border-radius:1.25rem; box-shadow:none; }
.news-archive-list h3 { font-weight:400; font-size:1.6rem; }
.news-archive-list .news-read { align-self:stretch; padding:1rem 0 0; border-top:1px solid #d9ddea; border-radius:0; background:transparent; }
@media(max-width:46rem) { .home-news .news-card-image { height:14rem; }.home-news .news-card h3 { font-size:1.45rem; } }

.home-news .news-card-image { height:auto; aspect-ratio:16/10; }
.home-news .news-card-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-slide { margin:0; }
.hero-slide[hidden],.hero-slider-controls[hidden] { display:none; }
.hero-slider .hero-slide img { aspect-ratio:16/9; object-fit:cover; }
.hero-slider-controls { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:.75rem; }
.hero-slide-picker { display:flex; gap:.4rem; }
.hero-slider-controls button { min-height:2.75rem; padding:.55rem .8rem; border:1px solid #cbd5ce; border-radius:.5rem; background:#fff; color:var(--green-950); font:500 .85rem/1.4 var(--font-sans); cursor:pointer; }
.hero-slide-picker button { min-width:2.75rem; }
.hero-slide-picker button[aria-pressed="true"] { background:var(--green-950); color:#fff; border-color:var(--green-950); }
.hero-slider-controls button:focus-visible { outline:3px solid var(--red-800); outline-offset:3px; }
.hero-slider figcaption { min-height:2.5em; text-align:left; }
/* Larger image, understated slide indicators. */
.fest-hero { grid-template-columns:minmax(0,.65fr) minmax(0,1.5fr); gap:clamp(1.5rem,3vw,3rem); }
.hero-slider-controls { justify-content:center; gap:.4rem; margin-top:.25rem; }
.hero-slide-picker { gap:0; }
.hero-slider-controls .hero-slide-picker button { display:grid; place-items:center; width:2.75rem; min-height:2.75rem; padding:0; border:0; background:transparent; }
.hero-slide-picker button span { display:block; width:1.6rem; height:3px; border-radius:2px; background:#b7c1bb; }
.hero-slide-picker button[aria-pressed="true"] span { background:var(--green-950); }
.hero-slider-controls .hero-play { border:0; background:transparent; padding:.4rem; width:2.75rem; font-size:1rem; }
@media(max-width:46rem) { .fest-hero { grid-template-columns:minmax(0,1fr); gap:1.25rem; } }
.local-post { padding-top:.5rem; }
.page-heading .post-category { margin:1.25rem 0 .5rem; }
.post-meta { display:flex; flex-wrap:wrap; gap:.35rem 1.5rem; color:var(--muted); font-size:.9rem; margin-top:1rem; }
.post-meta time { color:inherit; }
.post-feature { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(17rem,.85fr); gap:clamp(1.5rem,4vw,3.5rem); align-items:start; max-width:82rem; margin-top:1.5rem; }
.post-feature-poster { grid-template-columns:minmax(0,16rem) minmax(17rem,1fr); gap:2rem; max-width:70rem; }
.post-feature-media,.post-overview { min-width:0; }
.post-feature-media figure { margin:0; }
.post-feature-media .post-lead-image img,.post-feature-media .post-poster img { display:block; width:auto; max-width:100%; max-height:22rem; height:auto; object-fit:contain; border-radius:.7rem; }
.post-lead-image figcaption,.post-gallery figcaption { margin-top:.65rem; font-size:.85rem; line-height:1.5; color:var(--muted); }
.post-overview { display:grid; gap:1.1rem; }
.post-toc { border-top:3px solid var(--green-900); padding-top:.85rem; }
.post-toc strong { display:block; margin-bottom:.5rem; color:var(--green-950); }
.post-toc a { display:block; padding:.45rem 0; border-bottom:1px solid var(--border); color:var(--muted); font-size:.9rem; line-height:1.45; text-decoration:none; }
.post-toc a:hover,.post-toc a:focus-visible { color:var(--red-800); text-decoration:underline; }
.post-summary { border-left:4px solid var(--green-900); background:#edf3ef; padding:1rem 1.2rem; }
.post-summary strong { color:var(--green-950); }
.post-summary p { margin:.4rem 0 0; font-size:1rem; line-height:1.55; }
.post-reading-layout { max-width:82rem; margin-top:2.5rem; }
.post-main { display:grid; grid-template-columns:minmax(0,1fr) minmax(17rem,23rem); gap:clamp(2rem,4vw,4rem); align-items:start; min-width:0; }
.post-main .article-prose { max-width:50rem; }
.post-main .article-contact { grid-column:2; grid-row:1; padding:1.25rem; position:sticky; top:7rem; }
.post-gallery { margin-top:2.25rem; }
.post-gallery h2 { margin:0 0 1.5rem; }
.post-gallery-items { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.post-gallery figure { margin:0; padding:1rem; background:#fff; border-radius:1rem; }
.post-gallery img { width:100%; height:auto; display:block; border-radius:.5rem; }
@media(max-width:64rem),(max-height:740px) { .post-main .article-contact { position:static; } }
@media(max-width:64rem) { .post-main { grid-template-columns:minmax(0,1fr); }.post-main .article-contact { grid-column:1; grid-row:1; } }
@media(max-width:46rem) { .post-feature,.post-feature-poster { grid-template-columns:minmax(0,1fr); gap:1.25rem; }.post-feature-media .post-lead-image img,.post-feature-media .post-poster img { max-height:20rem; }.post-reading-layout { margin-top:2rem; }.post-gallery-items { grid-template-columns:1fr; } }
.post-gallery img { aspect-ratio:4/3; object-fit:cover; object-position:center 35%; }
.post-gallery-natural .post-gallery-items { display:block; column-count:3; column-gap:1.5rem; }
.post-gallery-natural figure { break-inside:avoid; margin-bottom:1.5rem; }
.post-gallery-natural img { aspect-ratio:auto; object-fit:contain; object-position:initial; }
@media(max-width:60rem) { .post-gallery-natural .post-gallery-items { column-count:2; } }
@media(max-width:46rem) { .post-gallery-natural .post-gallery-items { column-count:1; } }
.post-quote { margin:2rem 0; padding:1.25rem 1.5rem; border-left:4px solid var(--green-900); background:#edf3ef; color:var(--green-950); }
.post-quote p { margin:0 0 .75rem; font-size:1.2rem; line-height:1.55; }
.post-quote footer { font-size:.9rem; font-weight:700; }
.post-poster { max-width:38rem; }
.post-poster figcaption { margin-top:.6rem; font-size:.85rem; color:var(--muted); }
.post-film { max-width:64rem; }
.post-film h2 { font-family:var(--font-sans); font-weight:500; }

/* Shared image viewer for article photos, posters and future local galleries. */
.lightbox-link { display:block; position:relative; overflow:hidden; border-radius:.6rem; cursor:zoom-in; }
.lightbox-link:focus-visible { outline:3px solid var(--green-900); outline-offset:3px; }
.lightbox-zoom { position:absolute; right:.75rem; bottom:.75rem; display:grid; place-items:center; width:2.6rem; height:2.6rem; border-radius:50%; background:rgba(12,38,31,.86); color:#fff; box-shadow:0 2px 12px rgba(0,0,0,.2); }
.lightbox-zoom svg { width:1.25rem; height:1.25rem; }
body.lightbox-open { overflow:hidden; }
.image-lightbox { position:fixed; inset:0; z-index:1000; box-sizing:border-box; width:100%; height:100dvh; padding:clamp(.75rem,2vw,1.5rem); background:#0c1b17; color:#fff; }
.image-lightbox[hidden] { display:none !important; }
.image-lightbox-shell { display:grid; grid-template-rows:auto minmax(0,1fr) 4.5rem; gap:1rem; height:100%; max-width:90rem; margin:auto; }
.image-lightbox-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.image-lightbox-count { font-size:.95rem; letter-spacing:.06em; }
.image-lightbox-stage { position:relative; display:flex; align-items:center; justify-content:center; min-height:0; }
.image-lightbox-image { display:block; width:100%; height:100%; object-fit:contain; }
.image-lightbox-control { display:grid; place-items:center; width:2.75rem; height:2.75rem; padding:0; border:1px solid rgba(255,255,255,.5); border-radius:50%; background:rgba(25,47,39,.82); color:#fff; font:inherit; font-size:2rem; line-height:1; cursor:pointer; }
.image-lightbox-control:hover,.image-lightbox-control:focus-visible { background:#fff; color:#10251f; }
.image-lightbox-control:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.image-lightbox-prev,.image-lightbox-next { position:absolute; top:50%; z-index:1; transform:translateY(-50%); }
.image-lightbox-prev { left:.25rem; }
.image-lightbox-next { right:.25rem; }
.image-lightbox-caption { display:flex; align-items:center; justify-content:center; max-width:55rem; height:100%; margin:0 auto; overflow:auto; text-align:center; line-height:1.5; }
.image-lightbox [hidden] { display:none !important; }
@media(max-width:46rem) { .image-lightbox-prev { left:0; }.image-lightbox-next { right:0; }.image-lightbox-control { width:2.5rem; height:2.5rem; }.image-lightbox-caption { font-size:.9rem; } }

/* Article calendar box stays beside the article text on wide screens. */
.post-event-downloads > div { padding:1rem 0; border-bottom:1px solid var(--border); }
.post-event-downloads p { margin:.4rem 0; }
.post-event-downloads .button { width:100%; text-align:center; text-decoration:none; }
.calendar-hint { font-size:.85rem; line-height:1.5; }
.post-references { max-width:50rem; margin-top:2rem; }
.post-references a { display:block; margin:.7rem 0; }
.local-post .post-event-downloads > div { padding:.65rem 0; }
.local-post .post-event-downloads .button { margin-top:.5rem; padding:.65rem; }
.local-post .article-contact > p { font-size:.95rem; line-height:1.5; }

.home-news .news-card-image-poster img { object-fit:contain; background:#fff; }
.news-archive-list .archive-post-poster { grid-column:1 / -1; display:block; margin:0; }
.archive-post-poster img { display:block; width:auto; max-width:100%; height:20rem; object-fit:contain; }

/* Short-lived event notice and compact scroll control. */
.announcement-bar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem max(1.25rem,calc((100% - var(--content))/2)); border-bottom:1px solid #d6d9cf; background:#f5f0df; color:var(--green-950); }
.announcement-content { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem 1.2rem; min-width:0; }
.announcement-content p { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem .8rem; margin:0; font-size:.92rem; line-height:1.4; }
.announcement-label { color:var(--red-800); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.announcement-content a { color:var(--green-950); font-size:.88rem; font-weight:700; text-decoration:underline; text-underline-offset:.25em; }
.announcement-content a:hover { color:var(--red-800); }
.announcement-bar button { flex:0 0 2.25rem; width:2.25rem; height:2.25rem; padding:0; border:0; border-radius:50%; background:transparent; color:var(--green-950); font-size:1.5rem; line-height:1; cursor:pointer; }
.announcement-bar button:hover { background:#e7dfc6; }
.back-to-top { position:fixed; right:1rem; bottom:1rem; z-index:39; display:grid; place-items:center; width:2.75rem; height:2.75rem; padding:0; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:var(--green-950); color:#fff; box-shadow:0 5px 18px #082d2733; cursor:pointer; }
.back-to-top:hover { background:var(--red-800); }
.back-to-top svg { width:1.25rem; height:1.25rem; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
@media(max-width:46rem) { .announcement-bar { align-items:flex-start; } .announcement-content { display:block; } .announcement-content a { display:inline-block; margin-top:.3rem; } .back-to-top { right:1rem; bottom:calc(5.8rem + env(safe-area-inset-bottom)); } }
@media(min-width:64.01rem) and (max-height:38rem) { .back-to-top { right:4.5rem; } }
@media print { .announcement-bar,.back-to-top { display:none!important; } }

.social-links { display:flex; align-items:center; gap:.35rem; }
.social-links a { display:grid; place-items:center; flex:0 0 2.3rem; width:2.3rem; height:2.3rem; padding:0; border:1px solid currentColor; border-radius:50%; text-decoration:none; }
.social-links svg { width:1.2rem; height:1.2rem; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.quick-social { flex-shrink:0; padding-left:.8rem; border-left:1px solid var(--border); }
.quick-navigation .quick-social a { min-width:2.3rem; padding:0; font-size:inherit; }
.social-links a:hover { color:var(--red-800); background:#f5eee9; }
.menu-social { margin-top:1.5rem; }
.footer-social { margin-top:1.4rem; color:#fff; }
.footer-social a { border-color:#ffffff66; }
.footer-social a:hover { color:var(--green-950); background:var(--gold-200); }
.video-card .video-credit { margin:.6rem 0 1rem; color:var(--muted); font-size:.82rem; line-height:1.45; }
.hero-slider .hero-slide-video .video-poster img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.hero-slider .hero-slide-video .video-embed { border-radius:var(--radius-md); }
@media print { .social-links { display:none!important; } }

/* Use the available desktop canvas across page types without stretching prose. */
@media (min-width: 64.01rem) {
 .page-heading > div > p { max-width: 78ch; }
 .content-sections article > div {
  display:grid;
  grid-template-columns:minmax(15rem,.8fr) minmax(0,1.2fr);
  align-items:start;
  gap:clamp(1.5rem,4vw,4rem);
  max-width:none;
 }
 .content-sections article > div h2 { margin:0; }
 .content-sections article > div p { max-width:65ch; }
 .partner-editorial {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(20rem,.75fr);
  column-gap:clamp(2rem,6vw,6rem);
  align-items:start;
 }
 .partner-editorial > .eyebrow,
 .partner-editorial > h2 { grid-column:1 / -1; }
 .partner-editorial > p { max-width:65ch; }
 .partner-editorial > p:nth-of-type(2) { grid-column:1; }
 .partner-editorial > p:nth-of-type(3) { grid-column:1; }
 .partner-editorial .article-contact {
  grid-column:2;
  grid-row:3 / span 2;
  width:100%;
  max-width:none;
  margin-top:0;
 }
}

@media (min-width: 46.01rem) {
 .article-reading-layout { grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr); }
 .article-prose { max-width:65ch; }
}

@media (max-width: 64rem) {
 .partner-editorial .article-contact { max-width:48rem; margin-top:1rem; }
}

/* Let page copy use the full content canvas. */
.page-heading > div > p,
.content-sections article > div p,
.news-archive-list p,
.article-opening-copy > p,
.article-prose,
.partner-editorial > p,
.chronicle-heading > p,
.fest-hero .fest-hero-lead,
.fest-hero-copy > p:not(.eyebrow):not(.fest-hero-lead),
.brotherhood-feature-copy > p:not(.eyebrow),
.home-contribute p:last-child,
.contribute-intro > div:first-child,
.contribute-section,
.contribute-form-heading,
.inner-hero-copy > p:not(.eyebrow),
.compact-hero-content > p:not(.eyebrow),
.media-section-heading > p,
.post-feature,
.post-feature-poster,
.post-reading-layout,
.post-main .article-prose,
.post-references {
 max-width:none;
}

.partner-editorial { display:block; }
.partner-editorial .article-contact { width:min(100%,62rem); max-width:none; }

.article-reading-layout { display:block; }
.article-prose { width:100%; }

.post-main { grid-template-columns:minmax(0,1fr); }
.post-main .article-contact { grid-column:1; grid-row:auto; position:static; }

/* Keep navigation accessible after scrolling without covering much of the page. */
html { scroll-padding-top:4rem; }
.site-header { position:sticky; top:0; z-index:30; }
.site-header.is-compact { box-shadow:0 4px 18px #082d2717; }
.site-header.is-compact .header-inner { min-height:3.6rem; }
.site-header.is-compact .brand img { width:2.4rem; height:2.4rem; }
.site-header.is-compact .brand strong { font-size:1.1rem; }
.site-header.is-compact .brand small { display:none; }
.site-header.is-compact .quick-navigation > a { padding-block:1rem; }
.site-header.is-compact .quick-navigation > a::after { bottom:.4rem; }
.site-header.is-compact .quick-social a { min-width:2rem; width:2rem; height:2rem; flex-basis:2rem; }
.site-header.is-compact .quick-social svg { width:1rem; height:1rem; }
.site-header.is-compact .nav-toggle { min-height:2.45rem; padding:.4rem .75rem; }
.site-header.is-compact .mega-navigation { max-height:calc(100dvh - 3.6rem); }
@media(max-width:46rem) { .site-header.is-compact .header-inner { min-height:3.35rem; } .site-header.is-compact .brand img { width:2.2rem; height:2.2rem; } .mega-navigation-inner { padding-bottom:6rem; } }

/* Prominent event notice above the stable sticky navigation. */
.announcement-bar { padding-block: 1rem; background: var(--red-800); color: #fff; border-bottom: 0; }
.announcement-bar[hidden] { display: none; }
.announcement-content { gap: .5rem 1.5rem; }
.announcement-content p { font-size: 1.05rem; line-height: 1.5; }
.announcement-label { color: #fff; font-size: .8rem; letter-spacing: .1em; }
.announcement-content a { color: #fff; font-size: 1rem; }
.announcement-content a:hover { color: #fff; text-decoration-thickness: 2px; }
.announcement-bar button { color: #fff; min-width: 44px; min-height: 44px; }
.announcement-bar button:hover { background: #ffffff20; }
.announcement-bar :is(a, button):focus-visible { outline-color: #fff; }

/* One-line event ticker; only transforms move, never the page layout. */
.announcement-bar { gap: .6rem; padding: .65rem max(1rem, calc((100% - var(--content))/2)); overflow: hidden; }
.announcement-bar > .announcement-label { flex: 0 0 auto; font-size: .8rem; }
.announcement-ticker { flex: 1 1 auto; min-width: 0; overflow-x: auto; overflow-y: hidden; color: #fff; text-decoration: none; scrollbar-width: none; }
.announcement-ticker::-webkit-scrollbar { display: none; }
.announcement-track { display: flex; width: max-content; }
.announcement-item { display: block; flex: 0 0 auto; white-space: nowrap; padding-right: 4rem; font-size: 1.05rem; line-height: 2rem; }
.announcement-item strong { margin-left: 1.4rem; text-decoration: underline; text-underline-offset: .2em; }
.announcement-item[aria-hidden] { display: none; }
.announcement-bar button { flex: 0 0 44px; }
.announcement-bar button[hidden] { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .ticker-ready .announcement-ticker { overflow: hidden; }
  .ticker-ready .announcement-item[aria-hidden] { display: block; }
  .ticker-ready .announcement-track { min-width: 200%; animation: announcement-marquee 24s linear infinite; }
  .ticker-ready .announcement-item { flex-grow: 1; }
  .ticker-ready .announcement-ticker:hover .announcement-track { animation-play-state: paused; }
  .ticker-paused .announcement-track,
  .ticker-ready .announcement-ticker:focus .announcement-track { min-width: 0; animation: none; }
  .ticker-paused .announcement-ticker,
  .ticker-ready .announcement-ticker:focus { overflow-x: auto; }
  .ticker-paused .announcement-item[aria-hidden],
  .ticker-ready .announcement-ticker:focus .announcement-item[aria-hidden] { display: none; }
  @keyframes announcement-marquee { to { transform: translateX(-50%); } }
}
@media (prefers-reduced-motion: reduce) {
  .announcement-bar [data-pause-announcement] { display: none; }
}
@media (max-width: 46rem) {
  .announcement-bar { align-items: center; gap: .2rem; padding: .4rem .6rem; }
  .announcement-bar > .announcement-label { font-size: .65rem; margin-right: .35rem; }
  .announcement-item { font-size: .95rem; }
}

/* Oktoberfest is the first hero slide; preserve the entire supplied poster. */
.oktoberfest-panel { display:grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); aspect-ratio:16/9; background:#12253f; color:#fff; text-decoration:none; border-radius:var(--radius-md); overflow:hidden; }
.hero-slider .hero-slide-oktoberfest img { width:100%; height:100%; min-height:0; aspect-ratio:auto; object-fit:contain; }
.oktoberfest-copy { display:flex; flex-direction:column; justify-content:center; gap:1rem; padding:clamp(.8rem,2vw,2rem); }
.oktoberfest-copy small { color:#efd699; text-transform:uppercase; font-weight:700; letter-spacing:.08em; font-size:.75rem; }
.oktoberfest-copy > strong { font-size:clamp(1.25rem,2.6vw,2.8rem); line-height:1.12; }
.oktoberfest-copy > span { font-size:clamp(.75rem,1.1vw,1rem); line-height:1.6; }
.oktoberfest-copy .oktoberfest-cta { align-self:start; background:#f0d798; color:#12253f; padding:.6rem 1rem; border-radius:.4rem; font-weight:750; }
.oktoberfest-panel:hover .oktoberfest-cta { background:#fff; }
.archive-post-poster img { width:100%; height:16rem; background:#f3f1e9; object-fit:contain; }
.archive-post-poster img[src$="logo-alt.png"] { padding:2rem; }
.legacy-post-image { margin:0 0 2rem; }
.legacy-post-image img { width:100%; max-width:36rem; height:18rem; object-fit:contain; background:#f3f1e9; padding:1rem; }
@media(max-width:46rem) {
 .oktoberfest-panel { aspect-ratio:auto; min-height:17rem; }
 .oktoberfest-copy { gap:.65rem; padding:.8rem; }
 .oktoberfest-copy small { font-size:.62rem; }
 .oktoberfest-copy .oktoberfest-cta { padding:.5rem .65rem; }
}

/* Consistent teaser images and equal-height cards across the news archive. */
.news-archive-list { align-items:stretch; grid-auto-rows:1fr; }
.news-archive-list .archive-post-poster { width:100%; aspect-ratio:4/3; overflow:hidden; flex-shrink:0; border-radius:.6rem; }
.news-archive-list .archive-post-poster img { display:block; width:100%; height:100%; max-height:none; object-fit:cover; object-position:center top; background:transparent; border-radius:0; }
.news-archive-list .archive-post-poster img[src$="logo-alt.png"] { width:100%; height:100%; padding:1.5rem; object-fit:contain; background:#f3f1e9; }
@media(min-width:75rem) { .news-archive-list { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.post-feature-media .post-lead-image img,
.post-feature-media .post-poster img { width:100%; height:auto; max-height:none; object-fit:initial; }
.post-feature-poster { grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr); }
.post-feature-media .post-poster { max-width:none; }
.legacy-post-image img { width:100%; max-width:none; height:auto; padding:0; background:transparent; }
.legacy-post-image img[src$="logo-alt.png"] { width:200px; max-width:100%; }
@media(max-width:46rem) { .post-feature-poster { grid-template-columns:minmax(0,1fr); } }

/* Readable navigation path with touch-sized links and a wrapping current title. */
.page-heading .breadcrumbs { margin-bottom:1.2rem; font-size:.95rem; line-height:1.5; color:#40534b; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; align-items:center; gap:.1rem .5rem; list-style:none; padding:0; margin:0; }
.breadcrumbs li { display:flex; align-items:baseline; gap:.5rem; min-width:0; }
.breadcrumbs a { display:inline-flex; align-items:center; min-height:44px; padding:.4rem .55rem; color:#123a31; font-weight:650; text-decoration:underline; text-underline-offset:.25em; border-radius:.35rem; }
.breadcrumbs a:hover { background:#e5ece5; }
.breadcrumbs a:focus-visible { outline:3px solid var(--red-800); outline-offset:2px; }
.breadcrumb-separator { color:#697b71; flex-shrink:0; }
.breadcrumb-current { flex:0 1 auto; }
.breadcrumb-current [aria-current] { overflow-wrap:anywhere; }
@media(max-width:46rem) {
 .page-heading .breadcrumbs { font-size:.85rem; }
 .breadcrumbs .breadcrumb-current { flex-basis:100%; padding-left:.55rem; }
}

/* Direkter Ticketzugang im ersten Slide und im Oktober-Beitrag. */
.oktoberfest-copy .oktoberfest-cta { text-decoration:none; line-height:1.35; font-size:clamp(.75rem,1.1vw,1rem); }
.oktoberfest-copy .oktoberfest-cta:hover { background:#fff; }
.oktoberfest-copy .oktoberfest-info { color:#fff; font-size:.8rem; text-underline-offset:.2em; }
.post-ticket-cta { margin:1.25rem 0; }
.post-ticket-cta p { margin:0 0 .7rem; }
