/* Community page: shares the site's Work shell and editorial palette. */
.event-shell { padding-bottom: 2rem; }
.event-heading { padding-bottom: 4.5rem; }
.event-hero-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(19rem, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.event-heading h1 { font-size: clamp(3.5rem, 6.6vw, 6.25rem); font-weight: 500; letter-spacing: -.065em; line-height: 1.02; margin: 1.5rem 0 2rem; }
.events-page h1 em, .events-page h2 em { color: #aebfba; font-family: Georgia, serif; font-weight: 400; }
.event-intro { font-size: clamp(1.3rem, 2vw, 1.65rem); color: #f1eee5; line-height: 1.45; letter-spacing: -.025em; }
.event-summary { color: #bac8c5; font-size: 1.05rem; line-height: 1.75; max-width: 32rem; margin: 1.5rem 0; }
.event-tags { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 2rem; }
.event-tags span { border: 1px solid #f1eee538; padding: .55rem .8rem; color: #d3ded8; font-size: .75rem; }
.event-ticket { border: 1px solid #b6cfbe44; background: #142c33; padding: 2rem; margin-top: 1.5rem; }
.event-ticket-kicker { color: #d3b294; font-size: .67rem; text-transform: uppercase; letter-spacing: .12em; }
.event-date { display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: 6.7rem; line-height: 1.2; font-weight: 400; letter-spacing: -.075em; margin: 1rem 0 1.75rem; }
.event-date span { font-size: .8rem; letter-spacing: .12em; color: #c1cdca; }
.event-facts { margin-bottom: 1.8rem; }
.event-facts > div { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: .5rem; border-top: 1px solid #f1eee529; padding: 1rem 0; }
.event-facts dt { color: #aebfba; font-size: .7rem; font-weight: 400; padding-top: .25rem; }
.event-facts dd { font-size: .94rem; line-height: 1.6; margin: 0; }
.event-register, .event-registration-status { display: block; background: #f1eee5; color: #091c23; padding: 1rem; text-align: center; font-weight: 600; font-size: .9rem; margin: 0; }
.event-register { text-decoration: none; }
.event-register:hover { background: #dfb78d; color: #091c23; }
.event-register span { margin-left: .5rem; }
.event-registration-status { background: #1e3b41; color: #d3ded8; border: 1px solid #b6cfbe44; }
.event-ticket-note { color: #bac8c5; font-size: .75rem; text-align: center; line-height: 1.6; margin: .9rem 0 0; }
.event-program { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 3rem; border-top: 1px solid #f1eee529; padding: 3.5rem 0; }
.events-page h2 { font-size: clamp(2.4rem, 4vw, 3.5rem); font-weight: 500; line-height: 1.1; letter-spacing: -.05em; margin: 1.2rem 0; }
.event-program-list { list-style: none; padding: 0; margin: 0; }
.event-program-list li { display: flex; gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid #f1eee529; }
.event-program-list li:first-child { padding-top: 0; }
.event-program-list li > span { color: #d3b294; font-size: .7rem; padding-top: .35rem; }
.event-program-list h3 { font-size: 1.25rem; font-weight: 500; letter-spacing: -.025em; }
.event-program-list p, .event-next > p:not(.story-kicker), .event-share p:not(.story-kicker) { color: #bac8c5; font-size: .98rem; line-height: 1.75; margin-bottom: 0; }
.event-next { padding: 3.5rem clamp(1.5rem, 4vw, 4rem); background: #142c33; border: 1px solid #b6cfbe29; }
.event-next > p:not(.story-kicker) { max-width: 37rem; margin-top: 1.2rem; }
.event-share { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding: 4rem 0 2rem; }
.event-share h2 { font-size: 2.3rem; }
.event-share-url { display: inline-block; color: #f1eee5; font-size: 1rem; margin-top: 1rem; text-underline-offset: .3rem; }
.event-share-url:hover, .event-qr a:hover { color: #dfb78d; }
.event-qr { margin: 0; text-align: center; flex-shrink: 0; }
.event-qr img { display: block; width: 148px; height: 148px; margin: 0 auto 1rem; }
.event-qr a { color: #bac8c5; font-size: .72rem; text-underline-offset: .25rem; }
@media (max-width: 850px) {
  .event-hero-grid { grid-template-columns: 1fr; gap: 1rem; }
  .event-ticket { max-width: 32rem; margin-top: 1rem; }
  .event-heading h1 { font-size: clamp(3.5rem, 10vw, 5.5rem); }
  .event-program { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 600px) {
  .events-page.work-page .site-header .nav-masthead .nav-link { font-size: .58rem; letter-spacing: .06em; }
  .events-page .nav-masthead .nav-cta { padding: .4rem 0; border: 0; }
  .event-heading h1 { font-size: clamp(2.25rem, 9.5vw, 3rem); margin: 1.2rem 0 1.5rem; }
  .event-heading { padding-bottom: 3rem; }
  .event-ticket { padding: 1.5rem; }
  .event-desktop-break { display: none; }
  .event-summary { font-size: 1rem; }
  .event-share { flex-direction: column; align-items: flex-start; padding-top: 3rem; }
  .event-program, .event-next { padding-top: 2.5rem; padding-bottom: 2.5rem; }
}
