.events-page {
  overflow: hidden;
}

.events-page .events-hero {
  padding-block: var(--space-8);
  background: var(--color-ink-paper);
  color: var(--color-crisp-white);
}

.events-page .events-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: var(--space-6);
  align-items: center;
  min-height: 35rem;
}

.events-page .events-hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-4);
}

.events-page .events-hero__content > * { margin: 0; }
.events-page .events-hero h1 { max-width: 8ch; }
.events-page .events-hero__lead { max-width: 56ch; color: var(--color-crisp-white); font-size: var(--text-20); }
.events-page .events-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.events-page .events-hero__actions > * { min-width: 0; }
.events-page .events-hero__note { font-family: var(--font-heading); font-size: var(--text-14); font-weight: 700; text-transform: uppercase; }
.events-page .events-hero__media { width: 100%; min-width: 0; margin: var(--space-6) 0 0; }
.events-page .events-hero__media img { width: 100%; height: 30rem; object-fit: cover; object-position: right center; }

.events-page .events-orientation { padding-block: var(--space-5); }
.events-page .events-orientation__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.events-page .events-orientation__item { min-width: 0; min-height: 10rem; padding: var(--space-5); border: var(--border); }
.events-page .events-orientation__item > :last-child { margin-block-end: 0; }
.events-page .events-orientation__number, .events-more__section-number, .events-formats__section-number { display: block; font-family: var(--font-heading); font-size: var(--text-28); font-weight: 700; line-height: 1; }
.events-page .events-orientation__item h2 { margin-block-start: var(--space-3); font-size: var(--text-20); }
.events-page .events-orientation__item--place { background: var(--color-acid-green); }
.events-page .events-orientation__item--age { background: var(--color-electric-blue); color: var(--color-crisp-white); }
.events-page .events-orientation__item--alcohol { background: var(--color-sharp-yellow); }

.events-page .events-featured__intro { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 60ch; }
.events-page .events-featured__intro > * { margin: 0; }
.events-page .events-featured__intro p { max-width: 60ch; }
.events-page .events-featured__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-5); margin-top: var(--space-7); align-items: start; }
.events-page .events-featured-card { display: flex; min-width: 0; border: var(--border); background: var(--color-crisp-white); box-shadow: var(--shadow-hard); transition: transform var(--transition-fast), box-shadow var(--transition-fast); }
.events-page .events-featured-card:hover { transform: translate(-4px, -4px); box-shadow: var(--shadow-hard); }
.events-page .events-featured-card--first { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 3fr); }
.events-page .events-featured-card--second { display: flex; flex-direction: column; margin-top: var(--space-7); }
.events-page .events-featured-card__copy { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); padding: var(--space-5); }
.events-page .events-featured-card__copy > * { margin: 0; }
.events-page .events-featured-card__copy p { max-width: 42ch; }
.events-page .events-featured-card__media { min-width: 0; margin: 0; border: 0; }
.events-page .events-featured-card__media img { width: 100%; height: 100%; min-height: 18rem; object-fit: cover; }
.events-page .events-featured-card--first .events-featured-card__media img { object-position: center; }
.events-page .events-featured-card--second .events-featured-card__media img { height: 15rem; object-position: center; }
.events-page .events-card__topline { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-3); min-width: 0; }
.events-page .events-card__date { flex: 0 1 auto; min-width: 8rem; padding: var(--space-2) var(--space-3); border: 2px solid var(--color-line-black); background: var(--color-sharp-yellow); color: var(--color-raw-black); font-family: var(--font-heading); font-size: var(--text-14); font-weight: 700; line-height: 1.2; text-transform: uppercase; }
.events-page .events-card__details { display: grid; gap: var(--space-2); }
.events-page .events-card__details div { min-width: 0; }
.events-page .events-card__details dd { margin: 0; font-size: var(--text-14); line-height: 1.43; }
.events-page .events-card__cta { width: 100%; margin-top: auto; }

.events-page .events-more { background: var(--color-ink-paper); color: var(--color-crisp-white); }
.events-page .events-more__intro, .events-formats__intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 5fr); gap: var(--space-5); align-items: start; }
.events-page .events-more__intro > *, .events-formats__intro > * { min-width: 0; }
.events-page .events-more__intro h2, .events-formats__intro h2 { margin-block-start: 0; }
.events-page .events-more__intro p { max-width: 58ch; }
.events-page .events-more__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.events-page .events-compact-card { display: flex; flex-direction: column; min-width: 0; min-height: 31rem; padding: var(--space-5); border: var(--border); gap: var(--space-4); box-shadow: var(--shadow-hard); }
.events-page .events-compact-card > * { margin: 0; }
.events-page .events-compact-card p { max-width: 42ch; }
.events-page .events-compact-card--green { background: var(--color-crisp-white); color: var(--color-raw-black); }
.events-page .events-compact-card--blue { background: var(--color-electric-blue); color: var(--color-crisp-white); }
.events-page .events-compact-card--blue .events-card__details dd { color: var(--color-crisp-white); }
.events-page .events-compact-card--paper { background: var(--color-sharp-yellow); color: var(--color-raw-black); }

.events-page .events-reading h2 { max-width: 12ch; }
.events-page .events-reading__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.events-page .events-reading__item { min-width: 0; padding: var(--space-5); border: var(--border); }
.events-page .events-reading__item > :last-child { margin-block-end: 0; }
.events-page .events-reading__item > span { display: inline-block; padding: var(--space-1) var(--space-2); font-family: var(--font-heading); font-size: var(--text-14); font-weight: 700; text-transform: uppercase; }
.events-page .events-reading__item h3 { margin-block-start: var(--space-4); }
.events-page .events-reading__item p { max-width: 38ch; }
.events-page .events-reading__item--term { background: var(--color-sharp-yellow); }
.events-page .events-reading__item--format { background: var(--color-crisp-white); }
.events-page .events-reading__item--place { background: var(--color-acid-green); }
.events-page .events-reading__item--details { background: var(--color-electric-blue); color: var(--color-crisp-white); }

.events-page .events-formats { background: var(--color-crisp-white); }
.events-page .events-formats__intro > div { min-width: 0; }
.events-page .events-formats__intro p { max-width: 52ch; }
.events-page .events-formats__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.events-page .events-format-panel { display: flex; flex-direction: column; min-width: 0; border: var(--border); box-shadow: var(--shadow-hard); transition: transform var(--transition-fast), box-shadow var(--transition-fast); }
.events-page .events-format-panel:hover { transform: translate(-4px, -4px); }
.events-page .events-format-panel figure { margin: 0; min-width: 0; }
.events-page .events-format-panel figure img { width: 100%; height: 13rem; object-fit: cover; }
.events-page .events-format-panel__body { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; gap: var(--space-4); padding: var(--space-5); }
.events-page .events-format-panel__body > * { margin: 0; }
.events-page .events-format-panel__body p { max-width: 40ch; }
.events-page .events-format-panel__body a { margin-top: auto; }
.events-page .events-format-panel--tables { background: var(--color-ink-paper); color: var(--color-crisp-white); }
.events-page .events-format-panel--business { background: var(--color-sharp-yellow); }
.events-page .events-format-panel--private { background: var(--color-electric-blue); color: var(--color-crisp-white); }
.events-page .events-format-panel__number { font-family: var(--font-heading); font-size: var(--text-40); font-weight: 700; line-height: 1; }

.events-page .events-venue__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-6); align-items: center; }
.events-page .events-venue__content { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; gap: var(--space-4); }
.events-page .events-venue__content > * { margin: 0; }
.events-page .events-venue__content > p { max-width: 58ch; }
.events-page .events-venue__address { width: 100%; padding: var(--space-4); background: var(--color-acid-green); font-family: var(--font-heading); font-size: var(--text-20); font-weight: 700; line-height: 1.3; }
.events-page .events-venue__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-width: 0; }
.events-page .events-venue__actions span { font-family: var(--font-heading); font-size: var(--text-14); font-weight: 700; text-transform: uppercase; }
.events-page .events-venue__media { width: 100%; min-width: 0; margin: var(--space-6) 0 0; }
.events-page .events-venue__media img { width: 100%; height: 25rem; object-fit: cover; object-position: center; }

.events-page .events-rules { background: var(--color-ink-paper); color: var(--color-crisp-white); }
.events-page .events-rules h2 { max-width: 13ch; }
.events-page .events-rules__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.events-page .events-rule { min-width: 0; min-height: 22rem; padding: var(--space-5); border: var(--border); color: var(--color-raw-black); }
.events-page .events-rule > :last-child { margin-block-end: 0; }
.events-page .events-rule > span { display: block; font-family: var(--font-heading); font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 700; letter-spacing: -0.08em; line-height: .9; }
.events-page .events-rule h3 { margin-block-start: var(--space-5); }
.events-page .events-rule p { max-width: 40ch; }
.events-page .events-rule--place { background: var(--color-crisp-white); }
.events-page .events-rule--age { background: var(--color-acid-green); }
.events-page .events-rule--alcohol { background: var(--color-sharp-yellow); }

.events-page .events-faq__layout { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-5); }
.events-page .events-faq__content { min-width: 0; }
.events-page .events-faq__list { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); margin-top: var(--space-6); }
.events-page .events-faq__item { min-width: 0; border: var(--border); }
.events-page .events-faq__item h3 { margin: 0; }
.events-page .events-faq__trigger { display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: 3.25rem; padding: var(--space-3) var(--space-4); border: 0; background: var(--color-crisp-white); color: var(--color-raw-black); text-align: left; }
.events-page .events-faq__item:first-child .events-faq__trigger { background: var(--color-acid-green); }
.events-page .events-faq__item:nth-child(3) .events-faq__trigger { background: var(--color-electric-blue); color: var(--color-crisp-white); }
.events-page .events-faq__trigger:hover:not(:disabled) { transform: none; box-shadow: none; }
.events-page .events-faq__trigger span { flex: 0 0 auto; margin-left: var(--space-3); font-size: var(--text-28); line-height: 1; }
.events-page .events-faq__answer { padding: var(--space-4) var(--space-5); border-top: var(--border); background: var(--color-crisp-white); color: var(--color-raw-black); }
.events-page .events-faq__answer p { max-width: 66ch; margin: 0; }
.events-page .events-faq__link { margin-top: var(--space-5); }
.events-page .events-faq__marker { align-self: start; min-width: 0; color: var(--color-electric-blue); font-family: var(--font-heading); font-size: clamp(4rem, 11vw, 9rem); font-weight: 700; letter-spacing: -0.1em; line-height: .8; text-align: right; }

.events-page .events-contact__panel { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); overflow: hidden; border: var(--border-strong); background: var(--color-acid-green); box-shadow: var(--shadow-hard); }
.events-page .events-contact__main, .events-contact__details { min-width: 0; padding: var(--space-6); }
.events-page .events-contact__main { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.events-page .events-contact__main > * { margin: 0; }
.events-page .events-contact__main p { max-width: 56ch; }
.events-page .events-contact__details { display: flex; flex-direction: column; gap: var(--space-4); border-left: var(--border); }
.events-page .events-contact__details > div { min-width: 0; }
.events-page .events-contact__details span { display: block; margin-bottom: var(--space-1); font-family: var(--font-heading); font-size: var(--text-12); font-weight: 700; text-transform: uppercase; }
.events-page .events-contact__details a { display: inline-block; color: var(--color-raw-black); font-family: var(--font-heading); font-size: var(--text-20); font-weight: 700; }
.events-page .events-contact__details p { margin: 0; font-family: var(--font-heading); font-size: var(--text-16); font-weight: 700; }
.events-page .events-contact__strip { grid-column: 1 / -1; min-width: 0; padding: var(--space-3) var(--space-6); background: var(--color-raw-black); color: var(--color-crisp-white); font-family: var(--font-heading); font-size: var(--text-14); font-weight: 700; text-transform: uppercase; }

@media (max-width: 61.24rem) {
  .events-page .events-hero__grid { grid-template-columns: minmax(0, 2fr) minmax(20rem, 1fr); gap: var(--space-5); }
  .events-page .events-featured__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .events-page .events-featured-card--first { display: flex; flex-direction: column; }
  .events-page .events-featured-card--second { margin-top: 0; }
  .events-page .events-featured-card__media { order: -1; }
  .events-page .events-featured-card__media img, .events-page .events-featured-card--second .events-featured-card__media img { height: 15rem; min-height: 0; }
  .events-page .events-more__grid, .events-page .events-formats__grid, .events-page .events-rules__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .events-page .events-compact-card:nth-child(3), .events-page .events-format-panel:nth-child(3), .events-page .events-rule:nth-child(3) { grid-column: 1 / 2; }
}

@media (max-width: 56.24rem) {
  .events-page .events-orientation__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .events-page .events-orientation__item:nth-child(3) { grid-column: 1 / 2; }
  .events-page .events-venue__grid { grid-template-columns: minmax(0, 1fr); }
  .events-page .events-venue__media { margin-top: 0; }
}

@media (max-width: 51.24rem) {
  .events-page .events-hero__grid, .events-page .events-faq__layout { grid-template-columns: minmax(0, 1fr); }
  .events-page .events-hero__media { margin-top: 0; }
  .events-page .events-faq__marker { display: none; }
}

@media (max-width: 47.99rem) {
  .events-page .events-hero { padding-block: var(--space-7); }
  .events-page .events-hero__content { gap: var(--space-4); }
  .events-page .events-hero h1 { font-size: 2.625rem; line-height: 1.02; }
  .events-page .events-hero__lead { max-width: none; font-size: var(--text-16); }
  .events-page .events-hero__actions { width: 100%; flex-direction: column; }
  .events-page .events-hero__actions > * { width: 100%; }
  .events-page .events-hero__media img { height: auto; aspect-ratio: 4 / 3; }
  .events-page .events-orientation__grid, .events-page .events-featured__grid, .events-page .events-more__grid, .events-page .events-reading__grid, .events-page .events-formats__grid, .events-page .events-rules__grid { grid-template-columns: minmax(0, 1fr); }
  .events-page .events-orientation__item:nth-child(3), .events-page .events-compact-card:nth-child(3), .events-page .events-format-panel:nth-child(3), .events-page .events-rule:nth-child(3) { grid-column: auto; }
  .events-page .events-orientation__item { min-height: 5.25rem; }
  .events-page .events-featured__grid { margin-top: var(--space-6); }
  .events-page .events-featured-card__copy { padding: var(--space-4); }
  .events-page .events-featured-card__media img, .events-page .events-featured-card--second .events-featured-card__media img { height: auto; aspect-ratio: 3 / 2; }
  .events-page .events-card__topline { align-items: stretch; flex-direction: column; }
  .events-page .events-card__date { width: 100%; min-width: 0; }
  .events-page .events-more__intro, .events-page .events-formats__intro { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .events-page .events-compact-card { min-height: 0; padding: var(--space-4); }
  .events-page .events-reading__item { padding: var(--space-4); }
  .events-page .events-format-panel__body { padding: var(--space-4); }
  .events-page .events-venue__content { gap: var(--space-4); }
  .events-page .events-venue__address { font-size: var(--text-20); }
  .events-page .events-venue__media img { height: auto; aspect-ratio: 4 / 3; }
  .events-page .events-rule { min-height: 0; padding: var(--space-4); }
  .events-page .events-faq__answer { padding: var(--space-4); }
  .events-page .events-contact__panel { grid-template-columns: minmax(0, 1fr); }
  .events-page .events-contact__main, .events-page .events-contact__details { padding: var(--space-4); }
  .events-page .events-contact__details { border-top: var(--border); border-left: 0; }
  .events-page .events-contact__strip { padding: var(--space-3) var(--space-4); }
}

@media (prefers-reduced-motion: reduce) {
  .events-page .events-featured-card:hover, .events-page .events-format-panel:hover { transform: none; }
}
