/* Monthly navigation and article/archive landing pages. */
.site-nav a.nav-cta, .site-nav a.nav-cta:hover { color: #fff; }
.site-nav > a.nav-cta { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:144px; padding:12px 26px; box-sizing:border-box; white-space:nowrap; text-align:center; }
.october-schedule-main .october-events { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.october-events .schedule-event-body { display: flex; flex-direction: column; gap: 16px; }
.october-events .schedule-event-body > h3 { font-size: 22px; line-height: 1.5; }
.october-events .schedule-event-body > p { margin: 0; }
.october-events .schedule-event-actions { margin-top: auto; }
.october-events .event-meta-list { margin: 0; }
.october-events .schedule-event-image img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
@media (max-width: 980px) { .october-schedule-main .october-events { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .october-schedule-main .october-events { grid-template-columns: 1fr; } }
.october-event-card { background: #fff; border: 1px solid #efd6e2; border-radius: 20px; overflow: hidden; }
.october-event-card > a { display: block; color: inherit; text-decoration: none; }
.october-event-card img { width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff8fb; }
.october-event-card a > div { padding: 24px; }
.october-event-card h2 { font-size: 19px; line-height: 1.7; }
.october-event-card span { color: #a73d70; font-weight: 700; }
@media (max-width: 640px) { .october-events { grid-template-columns: 1fr; } }
.site-nav { gap: clamp(10px, 1.1vw, 18px); }
.site-nav > a, .schedule-toggle { white-space: nowrap; }
.schedule-dropdown { position: relative; }
.schedule-toggle { display: flex; align-items: center; gap: 8px; padding: 13px 0; border: 0; background: transparent; color: #684457; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.schedule-toggle span { display: inline-block; transition: transform .22s ease; }
.is-expanded > .schedule-toggle span { transform: rotate(180deg); }
.schedule-options { display: grid; grid-template-rows: 0fr; opacity: 0; visibility: hidden; transition: grid-template-rows .24s ease, opacity .24s ease, visibility .24s; }
.schedule-options-inner { overflow: hidden; min-height: 0; }
.is-expanded > .schedule-options { grid-template-rows: 1fr; opacity: 1; visibility: visible; }
.schedule-options a { display: block; padding: 12px 18px; color: #684457; border-radius: 10px; }
.schedule-options a:hover, .schedule-options a:focus-visible { background: #fff0f5; }
.site-nav .schedule-options { position: absolute; top: 100%; left: -16px; width: 175px; z-index: 30; background: #fff; border-radius: 14px; box-shadow: 0 12px 32px #68445720; }
.footer-nav .schedule-toggle { padding: 0; font-size: inherit; }
.footer-nav .schedule-options a { padding: 8px 12px; }
.schedule-toggle:focus-visible { outline: 2px solid #b95280; outline-offset: 4px; border-radius: 4px; }
.collection-main { min-height: 65vh; }
.collection-main h1 { overflow-wrap: anywhere; }
.journal-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 36px; align-items: start; }
.journal-empty, .journal-about, .archive-empty { padding: clamp(24px, 4vw, 52px); background: #fffafc; border: 1px solid #f0dce5; border-radius: 24px; }
.journal-empty { text-align: center; padding-block: 70px; }
.journal-empty > span { font-size: 42px; }
.journal-empty h2, .journal-about h2 { font-size: 22px; line-height: 1.7; }
.journal-empty p, .journal-about p { color: #806572; line-height: 1.9; }
.journal-about { padding: 28px; }
.journal-about .button { margin-top: 20px; }
.archive-empty { min-height: 180px; }
.october-calendar { max-width: 800px; }
.october-calendar img { width: 100%; height: auto; border-radius: 20px; }
.schedule-draft-note { padding: 20px 24px; margin-bottom: 28px; border: 1px solid #efccd9; border-radius: 16px; background: #fff5f9; line-height: 1.9; }
@media (max-width: 1200px) {
  .menu-button { display: block; }
  .site-nav { position: fixed; top: 82px; right: 16px; left: 16px; display: none; padding: 18px; flex-direction: column; align-items: stretch; gap: 2px; background: #fff; border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); max-height: calc(100dvh - 100px); overflow-y: auto; }
  .site-nav.is-open { display: flex; }
  .site-nav > a, .site-nav .schedule-toggle { width: 100%; padding: 10px 12px; border-radius: 10px; text-align: left; }
  .site-nav > a::after { display: none; }
  .site-nav .schedule-options { position: static; width: 100%; box-shadow: none; background: #fff8fb; }
  .site-nav .nav-cta { margin-top: 7px; min-height: 48px; }
}
@media (max-width: 760px) {
  .journal-layout { grid-template-columns: 1fr; }
  .collection-main h1 { font-size: clamp(24px, 6vw, 36px); }
}
@media (prefers-reduced-motion: reduce) {
  .schedule-options, .schedule-toggle span { transition: none; }
}

/* Shared month schedule layout, including November 2026. */
.monthly-schedule-main .monthly-events { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.monthly-events .schedule-event-body { display: flex; flex-direction: column; gap: 16px; }
.monthly-events .schedule-event-body > h3 { font-size: 22px; line-height: 1.5; }
.monthly-events .schedule-event-body > p { margin: 0; }
.monthly-events .schedule-event-actions { margin-top: auto; }
.monthly-events .event-meta-list { margin: 0; }
.monthly-events .schedule-event-image { height: auto; aspect-ratio: 1; }
.monthly-events .schedule-event-image img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
@media (max-width: 980px) { .monthly-schedule-main .monthly-events { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .monthly-schedule-main .monthly-events { grid-template-columns: 1fr; } }

/* Photo-backed reports above monthly calendars, and the public archive. */
.event-reports-section { background: #fffafc; }
.event-reports-section .subpage-heading > p:last-child { max-width: 800px; margin-inline: auto; line-height: 1.9; }
.event-report-feature, .archive-month-feature > a { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 32px; padding: 26px; border: 1px solid #efd6e2; border-radius: 24px; background: #fff; align-items: center; color: inherit; text-decoration: none; }
.event-report-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
.event-report-copy h3 { margin: 12px 0; font-size: clamp(20px, 2.1vw, 28px); line-height: 1.6; }
.event-report-copy h3 a { color: inherit; text-decoration: none; }
.event-report-copy p { line-height: 1.9; }
.event-report-date { color: #a1476d; font-weight: 700; font-size: 13px; }
.event-report-copy .button { margin-top: 10px; }
.event-report-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 28px; margin-top: 24px; }
.event-report-links a { color: #9d3d69; font-weight: 700; text-underline-offset: 5px; }
.archive-month-feature { max-width: 960px; margin-inline: auto; }
.archive-month-feature > a { grid-template-columns: minmax(180px,.7fr) minmax(0,1.3fr); }
.archive-month-feature img { width: 100%; height: auto; max-height: 360px; object-fit: contain; }
.archive-month-feature h3 { font-size: 25px; line-height: 1.6; }
.archive-month-feature p { line-height: 1.9; }
.archive-month-feature span { color: #9d3d69; font-weight: 700; }
@media (max-width: 700px) { .event-report-feature, .archive-month-feature > a { grid-template-columns: 1fr; gap: 18px; padding: 18px; } .event-report-links { flex-direction: column; align-items: center; } }
