.events-page {
  background: var(--color-off-white);
}

.events-page .image-frame img {
  transition: transform var(--transition-fast);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .events-page .image-frame:hover img { transform: scale(1.025); }
}

.events-hero {
  position: relative;
  min-height: 40rem;
  overflow: hidden;
  background: var(--color-charcoal-950);
  color: var(--color-off-white);
}

.events-hero__image,
.events-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.events-hero__image { object-fit: cover; object-position: center; transition: transform var(--transition-fast); }
.events-hero__shade { background: linear-gradient(90deg, rgba(23,24,23,.9) 0%, var(--color-brick-shadow) 48%, rgba(23,24,23,.15) 100%); }
.events-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.25rem; min-height: 40rem; align-items: end; padding-block: 4rem; }
.events-hero__panel { grid-column: 1 / span 6; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 38.75rem; padding: var(--space-6); border-top: 3px solid var(--color-rust); background: rgba(23,24,23,.88); }
.events-hero__panel :is(h1,p) { margin: 0; }
.events-hero__panel .text-large { max-width: 56ch; }
.events-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); width: 100%; }
.events-hero__actions > * { min-width: 0; }

.events-index__intro { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.25rem; align-items: end; margin-bottom: var(--space-7); }
.events-index__copy { grid-column: 1 / span 7; min-width: 0; max-width: 42.5rem; }
.events-index__copy p { max-width: 68ch; }
.events-index__note { grid-column: 10 / span 3; min-width: 0; margin: 0; padding-bottom: var(--space-2); }
.events-index__tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.events-index__tile { min-width: 0; min-height: 10rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); padding: var(--space-4); border-top: 3px solid var(--color-charcoal-800); border-bottom: 1px solid var(--color-charcoal-800); text-decoration: none; transition: border-color var(--transition-fast), color var(--transition-fast); }
.events-index__tile:nth-child(n+5) { grid-column: span 1; }
.events-index__tile span { color: var(--color-rust); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.events-index__tile strong { font-family: var(--font-heading); font-size: var(--text-card-title); line-height: var(--line-card); }
.events-index__tile small { max-width: 30ch; color: var(--color-muted-ink); }
.events-index__tile:hover { border-top-color: var(--color-rust); color: var(--color-rust-dark); }

.events-difference__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.25rem; align-items: center; }
.events-difference__media { grid-column: 1 / span 6; min-width: 0; width: 100%; aspect-ratio: 4 / 5; margin-top: var(--space-6); }
.events-difference__copy { grid-column: 8 / span 5; min-width: 0; max-width: 32.5rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.events-difference__copy :is(h2,p) { margin: 0; }
.events-difference__copy p { max-width: 52ch; }
.events-difference__note { max-width: 34ch; padding-top: var(--space-4); border-top: 1px solid var(--color-steel-line); color: var(--color-dark-muted); }

.events-directory__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.25rem; align-items: end; }
.events-directory__intro { grid-column: 1 / span 7; min-width: 0; max-width: 42.5rem; }
.events-directory__intro p { max-width: 62ch; }
.events-filters { grid-column: 9 / span 4; min-width: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); }
.events-filter { min-width: 0; min-height: 2.75rem; padding: .6875rem .75rem; border: 1px solid var(--color-charcoal-800); background: transparent; color: var(--color-ink); font-size: var(--text-label); font-weight: 600; letter-spacing: .08em; line-height: var(--line-label); text-transform: uppercase; transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast); }
.events-filter:hover,.events-filter.is-active { border-color: var(--color-rust); background: var(--color-rust); color: var(--color-warm-white); }
.events-directory__status { margin-top: var(--space-5); }
.events-directory__list { display: flex; flex-direction: column; gap: 0; margin-top: var(--space-5); border-top: 1px solid var(--color-charcoal-800); }
.event-entry { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.25rem; padding: var(--space-6) 0; border-bottom: 1px solid var(--color-charcoal-800); }
.event-entry[hidden] { display: none; }
.event-entry--dark { margin-inline: calc(-1 * var(--space-5)); padding-inline: var(--space-5); background: var(--color-charcoal-800); color: var(--color-off-white); border-color: var(--color-steel-line); }
.event-entry__title { grid-column: 1 / span 3; min-width: 0; }
.event-entry__number { display: block; margin-bottom: var(--space-3); color: var(--color-rust); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.event-entry__title h3 { margin: 0; }
.event-entry__description { grid-column: 4 / span 5; min-width: 0; }
.event-entry__description p { max-width: 62ch; margin: 0; }
.event-entry__meta { grid-column: 9 / span 4; min-width: 0; display: grid; grid-template-columns: 1fr; gap: var(--space-3); margin: 0; }
.event-entry__meta div { min-width: 0; padding-top: var(--space-2); border-top: 1px solid currentColor; }
.event-entry__meta dt { font-size: var(--text-label); letter-spacing: .1em; text-transform: uppercase; }
.event-entry__meta dd { margin: var(--space-1) 0 0; font-size: var(--text-small); }

.events-planning__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.25rem; align-items: end; margin-bottom: var(--space-7); }
.events-planning__head > div { grid-column: 1 / span 6; min-width: 0; max-width: 38.75rem; }
.events-planning__head > a { grid-column: 10 / span 3; min-width: 0; justify-self: end; }
.events-planning__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.events-planning__steps article { min-width: 0; padding-top: var(--space-4); border-top: 3px solid var(--color-charcoal-800); }
.events-planning__steps article > span,.events-tone__points article > span { display: block; margin-bottom: var(--space-3); color: var(--color-rust); font-family: var(--font-heading); font-size: 2.5rem; line-height: 1; }
.events-planning__steps p { max-width: 38ch; }

.events-journey__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.25rem; align-items: start; }
.events-journey__copy { grid-column: 1 / span 5; min-width: 0; max-width: 33.125rem; }
.events-journey__copy p { max-width: 54ch; }
.events-journey__media { grid-column: 7 / span 6; min-width: 0; width: 100%; aspect-ratio: 4 / 3; margin: 0; }
.events-journey__media figcaption,.events-hosted__media figcaption,.events-groups__media figcaption { padding-top: var(--space-2); color: var(--color-muted-ink); font-size: var(--text-small); line-height: var(--line-small); }
.events-journey__notes { grid-column: 1 / span 6; min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.events-journey__notes article { min-width: 0; padding-top: var(--space-3); border-top: 1px solid var(--color-charcoal-800); }
.events-journey__notes h3 { font-size: var(--text-card-title); }
.events-journey__notes p { max-width: 28ch; }

.events-tone__head { max-width: 41.25rem; }
.events-tone__head p { max-width: 60ch; }
.events-tone__points { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: var(--space-7); border-top: 1px solid var(--color-steel-line); }
.events-tone__points article { min-width: 0; padding: var(--space-5); border-right: 1px solid var(--color-steel-line); }
.events-tone__points article:first-child { padding-left: 0; }
.events-tone__points article:last-child { border-right: 0; }
.events-tone__points h3 { font-size: var(--text-card-title); }
.events-tone__points p { max-width: 32ch; }
.events-tone__points a { color: var(--color-soft-copper); }

.events-hosted__grid,.events-groups__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.25rem; align-items: center; }
.events-hosted__media { grid-column: 1 / span 7; min-width: 0; width: 100%; aspect-ratio: 3 / 2; margin: 0; }
.events-hosted__media figcaption,.events-groups__media figcaption { color: var(--color-dark-muted); }
.events-hosted__copy { grid-column: 9 / span 4; min-width: 0; max-width: 27.5rem; }
.events-hosted__copy p { max-width: 46ch; }
.events-hosted__copy blockquote { max-width: 26ch; margin-top: var(--space-5); }

.events-visit__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.25rem; align-items: start; }
.events-visit__address { grid-column: 1 / span 4; min-width: 0; max-width: 21.875rem; }
.events-visit__address > p { font-family: var(--font-heading); font-size: var(--text-section); font-weight: 600; line-height: 1; }
.events-visit__copy { grid-column: 5 / span 5; min-width: 0; max-width: 32.5rem; }
.events-visit__copy p { max-width: 42ch; }
.events-visit__action { grid-column: 10 / span 3; min-width: 0; padding-top: var(--space-6); }

.events-groups__copy { grid-column: 1 / span 5; min-width: 0; max-width: 32.5rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.events-groups__copy :is(h2,p) { margin: 0; }
.events-groups__copy p { max-width: 48ch; }
.events-groups__media { grid-column: 7 / span 6; min-width: 0; width: 100%; aspect-ratio: 3 / 2; margin-top: calc(-1 * var(--space-6)); }

@media (max-width: 74.9375rem) {
  .events-hero__grid,.events-index__intro,.events-difference__grid,.events-directory__head,.event-entry,.events-planning__head,.events-journey__grid,.events-hosted__grid,.events-visit__grid,.events-groups__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .events-hero__panel { grid-column: 1 / span 5; }
  .events-index__copy { grid-column: 1 / span 5; }
  .events-index__note { grid-column: 6 / span 3; }
  .events-index__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .events-difference__media { grid-column: 1 / span 4; }
  .events-difference__copy { grid-column: 5 / span 4; }
  .events-directory__intro { grid-column: 1 / span 5; }
  .events-filters { grid-column: 6 / span 3; justify-content: flex-start; }
  .event-entry__title { grid-column: 1 / span 3; }
  .event-entry__description { grid-column: 4 / span 5; }
  .event-entry__meta { grid-column: 4 / span 5; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-4); }
  .events-planning__head > div { grid-column: 1 / span 5; }
  .events-planning__head > a { grid-column: 6 / span 3; justify-self: start; }
  .events-journey__copy { grid-column: 1 / span 4; }
  .events-journey__media { grid-column: 5 / span 4; }
  .events-journey__notes { grid-column: 1 / span 8; }
  .events-hosted__media { grid-column: 1 / span 5; }
  .events-hosted__copy { grid-column: 6 / span 3; }
  .events-visit__address { grid-column: 1 / span 3; }
  .events-visit__copy { grid-column: 4 / span 4; }
  .events-visit__action { grid-column: 4 / span 4; padding-top: 0; }
  .events-groups__copy { grid-column: 1 / span 4; }
  .events-groups__media { grid-column: 5 / span 4; }
}

@media (max-width: 63.75rem) {
  .events-difference__grid,.events-hosted__grid { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-5); }
  .events-difference__media,.events-hosted__media { width: 100%; margin: 0; }
  .events-difference__copy,.events-hosted__copy { width: 100%; max-width: 32.5rem; }
  .events-directory__head { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-4); }
  .events-directory__intro,.events-filters { width: 100%; max-width: 42.5rem; }
  .events-filters { justify-content: flex-start; }
  .event-entry__meta { grid-column: 1 / span 8; }
  .events-planning__head { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
  .events-planning__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .events-planning__steps article:last-child { grid-column: 1 / span 2; }
  .events-journey__grid { display: flex; flex-wrap: wrap; gap: var(--space-5); }
  .events-journey__copy,.events-journey__media,.events-journey__notes { width: calc(50% - .625rem); }
  .events-journey__notes { width: 100%; }
  .events-tone__points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .events-tone__points article:nth-child(2) { border-right: 0; }
  .events-tone__points article:nth-child(n+3) { border-top: 1px solid var(--color-steel-line); }
  .events-tone__points article:nth-child(3) { padding-left: 0; }
  .events-groups__grid { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-5); }
  .events-groups__copy,.events-groups__media { width: 100%; max-width: 32.5rem; }
  .events-groups__media { margin: 0; }
}

@media (max-width: 47.9375rem) {
  .events-hero { min-height: auto; display: flex; flex-direction: column; }
  .events-hero__image { position: relative; height: 24rem; order: 2; object-position: center; }
  .events-hero__shade { position: absolute; height: 100%; background: linear-gradient(180deg, rgba(23,24,23,.18), var(--color-brick-shadow)); }
  .events-hero__grid { display: block; min-height: 0; padding-block: var(--space-6); }
  .events-hero__panel { width: 100%; max-width: none; padding: 0; border: 0; background: transparent; }
  .events-hero__panel h1 { font-size: 2.875rem; }
  .events-hero__panel .text-large { max-width: 32ch; font-size: 1.0625rem; }
  .events-hero__actions { flex-direction: column; gap: var(--space-4); }
  .events-hero__actions .button { width: 100%; }
  .events-index__intro,.events-directory__head,.events-visit__grid { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-4); }
  .events-index__copy,.events-index__note,.events-directory__intro,.events-filters,.events-visit__address,.events-visit__copy,.events-visit__action { width: 100%; max-width: none; }
  .events-index__note { padding: 0; }
  .events-index__tiles,.events-planning__steps,.events-journey__notes,.events-tone__points { grid-template-columns: 1fr; }
  .events-index__tile { min-height: 0; }
  .events-difference__copy,.events-hosted__copy { max-width: none; }
  .events-difference__copy p,.events-hosted__copy p { max-width: 34ch; }
  .event-entry { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-4); padding: var(--space-5) 0; }
  .event-entry--dark { margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); }
  .event-entry__title,.event-entry__description,.event-entry__meta { width: 100%; }
  .event-entry__description p { max-width: 36ch; }
  .event-entry__meta { grid-template-columns: 1fr; margin-top: 0; }
  .events-planning__steps article:last-child { grid-column: auto; }
  .events-planning__steps { gap: var(--space-5); }
  .events-journey__grid { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-5); }
  .events-journey__copy,.events-journey__media,.events-journey__notes { width: 100%; max-width: none; }
  .events-journey__copy p { max-width: 34ch; }
  .events-journey__notes { gap: var(--space-4); }
  .events-tone__points { margin-top: var(--space-5); }
  .events-tone__points article,.events-tone__points article:first-child,.events-tone__points article:nth-child(3) { padding: var(--space-4) 0; border-right: 0; border-bottom: 1px solid var(--color-steel-line); }
  .events-tone__points article:last-child { border-bottom: 0; }
  .events-tone__points p { max-width: 34ch; }
  .events-hosted__media { aspect-ratio: 4 / 3; }
  .events-hosted__copy blockquote { max-width: 26ch; }
  .events-visit__address > p { font-size: 2rem; }
  .events-visit__copy p { max-width: 34ch; }
  .events-visit__action { padding-top: 0; }
  .events-groups__copy,.events-groups__media { max-width: none; }
  .events-groups__copy p { max-width: 34ch; }
  .events-groups__media { aspect-ratio: 4 / 5; }
}
