/* ============ EXHIBITION DETAIL (Landscapes Within) ============ */

/* 与原站一致：正文内容区最大 1550px，超宽屏水平居中（1596 = 1550 + 2×23 边距）；
   横幅 .ex-banner 不受限，保持全宽 */
.ex-hero,
.ex-body {
  max-width: 1596px;
  margin-left: auto;
  margin-right: auto;
}

.ex-hero {
  padding: 60px var(--pad-x) 0;
  background: #fff;
}

.ex-hero h1 {
  font-family: var(--serif);
  font-size: 64px;
  font-weight: 400;
  line-height: 83.2px;
  margin: 0;
  color: #000;
}

.ex-sub {
  font-family: var(--sans);
  font-size: 22px;
  line-height: 28.6px;
  margin: 23px 0 0;
}

.ex-meta { font-family: var(--sans); font-size: 18px; line-height: 28.8px; margin: 0; }
.ex-meta-date { margin-top: 10px; }
.ex-meta-venue { margin-top: 12px; }

.ex-body { padding: 28px var(--pad-x) 59px; background: #fff; }
.ex-body p {
  font-family: var(--sans);
  font-size: 18px;
  line-height: 28.8px;
  margin: 0 0 28.8px;
  color: #000;
}
.ex-body p:last-child { margin-bottom: 0; }
.ex-sign { margin-top: 28.8px !important; }

/* Full-bleed banner with the exhibition title over the artwork */
.ex-banner { position: relative; background: #000; }
.ex-banner img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1440 / 540;
  object-fit: cover;
}
.ex-banner h2 {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-family: var(--serif);
  font-size: 64px;
  font-weight: 400;
  line-height: 83.2px;
  color: #fff;
  text-align: center;
}

/* Two side-by-side works (natural aspect ratios, top aligned) */
.ex-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  align-items: start;
  padding: 23px var(--pad-x) 321px;
  background: #fff;
}
.ex-gallery img {
  display: block;
  width: 100%;
  height: auto;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 1199px) {
  .ex-hero { padding-top: 50px; }
  .ex-hero h1 { font-size: 52px; line-height: 67.6px; }
  .ex-sub { font-size: 18px; line-height: 23.4px; margin-top: 18px; }
  .ex-meta { font-size: 16px; line-height: 25.6px; }
  .ex-body { padding: 54px 24px 48px; }
  .ex-body p { font-size: 16px; line-height: 25.6px; margin-bottom: 25.6px; }
  .ex-sign { margin-top: 25.6px !important; }
  .ex-banner h2 { font-size: 52px; line-height: 67.6px; }
  .ex-gallery { padding: 24px 24px 200px; }
}

@media (max-width: 991px) {
  .ex-hero h1 { font-size: 40px; line-height: 52px; }
  .ex-banner h2 { font-size: 40px; line-height: 52px; }
  .ex-gallery { padding-bottom: 140px; }
}

@media (max-width: 767.98px) {
  .ex-hero { padding: 12px 11px 0; }
  .ex-hero h1 { font-size: 20px; line-height: 26px; }
  .ex-sub { font-size: 14px; line-height: 18.2px; margin-top: 6px; }
  .ex-meta { font-size: 14px; line-height: 22.4px; }
  .ex-meta-date { margin-top: 5px; }
  .ex-meta-venue { margin-top: 6px; }
  .ex-body { padding: 37px 11px 6px; }
  .ex-body p { font-size: 14px; line-height: 22.4px; margin-bottom: 22.4px; }
  .ex-sign { margin-top: 22.4px !important; }
  .ex-banner img { aspect-ratio: 390 / 217; }
  .ex-banner h2 { font-size: 20px; line-height: 25.35px; }
  .ex-gallery { padding: 6px 6px 80px; }
}
