/* Events — measurements follow the original: a 903px text column, one section per
   event (85px top padding, 20px rhythm), galleries inset 5px with 10px gutters. */
.events-hero { background: #000 url(/assets/img/2022/11/AppBg.jpg) 49% 45% / cover no-repeat; }
.ev-hero-inner { min-height: 483px; display: flex; align-items: center; justify-content: center; gap: 29px; }
.events-hero .robot { width: 235px; }
.events-hero .wordmark { width: 608px; }

.ev-sec { padding: 85px 0 80px; color: #181818; }
.ev-wrap { width: 90%; max-width: 903px; margin: 0 auto; }
.ev-wrap > * { margin: 0; }
.ev-wrap img { height: auto; }
.ev-wrap > * + * { margin-top: 20px; }
.ev-wrap h1, .ev-wrap h2 { font-size: 46px; line-height: 59.8px; letter-spacing: -1.5px; color: #33475b; }
.ev-wrap h3 { font-size: 28px; line-height: 39.2px; letter-spacing: -1.5px; color: #33475b; }
.ev-wrap h4 { font-size: 22px; line-height: 33px; letter-spacing: -.5px; }
.ev-wrap .ink { color: #181818; }
.ev-wrap p { line-height: 30.4px; }

.ev-wrap .ehin { display: block; }
.ehin img, .figure-center { margin-left: auto; margin-right: auto; }
.ehin img { width: 41%; }
.summit { width: 50%; }
.sponsors { width: 28%; }
.ev-sec:has(.sponsors) { padding-bottom: 85px; }
.ev-wide { width: 100%; aspect-ratio: 903 / 378; object-fit: cover; }

.gallery {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
  align-items: center; justify-items: center; padding: 0 5px;
}
.ev-wrap > .gallery { margin-top: 15px; }
.ev-wrap > .gallery + * { margin-top: 15px; }
.gallery.cols-4 { grid-template-columns: repeat(4, 1fr); }
.gallery a { width: 100%; display: flex; justify-content: center; }
.gallery img { width: 100%; height: auto; }
.gallery.cols-4 img { width: auto; max-width: 100%; max-height: 227px; }
.gallery.crop { row-gap: 5px; }
.gallery.crop img { width: 100%; }
.gallery.crop img { aspect-ratio: 291 / 195; object-fit: cover; }
.gallery.crop img.trim { aspect-ratio: 263 / 178; } /* the original shows this photo trimmed at every size */

@media (max-width: 991px) {
  .ev-hero-inner { min-height: 287px; gap: 30px; }
  .events-hero .robot { width: 121px; }
  .events-hero .wordmark { width: 335px; }
  .ev-sec { padding: 60px 0 65px; }
  .ev-sec:has(.sponsors) { padding-bottom: 60px; }
  .ev-wrap { width: 67.3%; }
  .ev-wrap h1, .ev-wrap h2 { font-size: 38px; line-height: 45.6px; letter-spacing: -1px; }
  .ev-wrap h3 { font-size: 27px; line-height: 35.1px; letter-spacing: -1px; }
  .ev-wrap h4 { line-height: 30.8px; }
  .ev-wrap p { font-size: 15px; line-height: 24px; }
  .ev-wrap p.p-lg { font-size: 16px; line-height: 30.4px; }
  .gallery { gap: 30px; padding: 0 15px; }
  .ev-wrap > .gallery { margin-top: 25px; }
  .ev-wrap > .gallery.crop { margin-top: 39px; }
  .ev-wrap > .gallery + * { margin-top: 26px; }
  .gallery.cols-4 img { max-height: 104px; }
  .gallery.crop { row-gap: 43px; }
  .ev-sec:has(.crop) { padding-bottom: 50px; }
  .gallery.crop img { aspect-ratio: auto; max-height: 185px; }
}
@media (max-width: 767px) {
  .ev-hero-inner { flex-direction: column; min-height: 0; padding: 45px 0; gap: 40px; }
  .events-hero .robot, .events-hero .wordmark { width: 252px; }
  .ev-sec { padding: 35px 0 45px; }
  .ev-sec:has(.crop) { padding-bottom: 25px; }
  .ev-sec:has(.sponsors) { padding-bottom: 35px; }
  .ev-wrap { width: 64.6%; }
  .ev-wrap h1, .ev-wrap h2 { font-size: 36px; line-height: 46.8px; }
  .ev-wrap h3 { font-size: 22px; line-height: 28.6px; letter-spacing: -.5px; }
  .ev-wrap h4 { font-size: 20px; line-height: 28px; letter-spacing: normal; }
  .gallery, .gallery.cols-4 { grid-template-columns: 1fr; gap: 40px; padding: 0; }
  .ev-wrap > .gallery { margin-top: 30px; }
  .ev-wrap > .gallery + * { margin-top: 31px; }
  .gallery img, .gallery.cols-4 img { width: 100%; }
  .gallery.cols-4 img { max-height: 265px; object-fit: contain; }
  .gallery.crop { gap: 20px; }
  .gallery.crop a { height: 180px; align-items: center; }
  .gallery.crop img { width: 100%; max-height: 180px; object-fit: cover; }
}
