/* Shared outer rhythm for the portfolio and its editorial subpages. */
:root {
  --page: clamp(24px, 4.2vw, 76px);
}

.section-intro,
.story-section,
.about-strip {
  gap: clamp(42px, 8vw, 140px);
}

.section-copy {
  color: #d3dae1;
  font-size: clamp(18px, 2vw, 30px);
  letter-spacing: -.045em;
  line-height: 1.18;
  max-width: 600px;
}

/* Multicam uses the same edge-to-edge content axis as the surrounding sections. */
.lb-mc5-shell {
  width: calc(100% - (var(--page) * 2)) !important;
  max-width: none !important;
}

/* A shared editorial header rhythm for the homepage and every public subpage. */
.archive-hero {
  align-items: end;
  display: grid;
  gap: clamp(40px, 9vw, 150px);
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
  min-height: 0;
  padding-block: clamp(88px, 9vw, 136px) clamp(48px, 5vw, 72px);
}

.archive-hero__title {
  min-width: 0;
}

.archive-hero__title .eyebrow {
  margin-bottom: clamp(18px, 2vw, 30px);
}

.archive-hero__intro,
.archive-hero > p:last-child {
  color: var(--mist);
  font-size: clamp(1rem, 1.35vw, 1.22rem);
  line-height: 1.5;
  margin: 0 0 .35rem;
  max-width: 31rem;
  position: static !important;
}

.archive-section {
  padding-top: clamp(60px, 7vw, 96px);
}

@media (min-width: 701px) {
  .archive-hero {
    padding-block: clamp(72px, 6vw, 104px) clamp(40px, 3.2vw, 56px);
  }

  .archive-section {
    padding-top: clamp(48px, 4vw, 72px);
  }

  .lb-mc5-page {
    padding-block: 0 !important;
  }
}

.lb-mc5-page .lb-mc5-shell {
  padding-block: clamp(88px, 7vw, 118px) clamp(72px, 6vw, 96px) !important;
}

.lb-mc5-page .lb-mc5-intro {
  align-items: end !important;
  gap: clamp(40px, 9vw, 150px) !important;
  margin-bottom: clamp(44px, 4vw, 64px) !important;
  min-height: 0 !important;
}

.detail-page .detail-hero--short,
.detail-page.artist-profile-page .detail-hero--short.artist-profile-hero {
  height: 36vw;
  min-height: 400px;
}

.detail-page .detail-copy {
  padding-block: clamp(48px, 6vw, 88px) clamp(72px, 8vw, 120px);
}

.template-journal-entry .detail-copy {
  background: rgba(5, 10, 16, .9);
  border: 1px solid var(--line);
  margin: clamp(-104px, -7vw, -76px) var(--page) 0 auto;
  max-width: min(40rem, calc(100% - (var(--page) * 2)));
  padding: clamp(26px, 3vw, 42px);
  position: relative;
  width: 100%;
  z-index: 3;
}

.template-journal-entry .detail-copy .richtext {
  line-height: 1.62;
  margin-top: 0;
}

.template-journal-entry .detail-copy:empty {
  display: none;
}

.template-journal-entry .detail-copy > p:not(.eyebrow),
.template-journal-entry .detail-copy .richtext > p:first-child {
  font-size: clamp(1.3rem, 2.35vw, 2rem);
  letter-spacing: -.035em;
  line-height: 1.18;
}

.detail-hero--short .detail-title {
  max-width: min(calc(100% - (var(--page) * 2)), 78rem);
}

.detail-title__summary {
  font-size: clamp(1rem, 1.45vw, 1.3rem);
  line-height: 1.35;
  margin: clamp(14px, 2vw, 24px) 0 0;
  max-width: 40rem;
}

.story-section,
.about-strip {
  padding-block: clamp(72px, 8vw, 112px);
}

.story-section {
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, .55fr);
}

.about-strip {
  grid-template-columns: minmax(0, .72fr) minmax(300px, .7fr);
}

.about-strip h2,
.story-section h2 {
  max-width: 12ch;
}

.story-section--approach {
  background: #0a121c;
  border-top: 0;
  padding-top: clamp(32px, 4vw, 56px);
}

.about-strip {
  border-bottom: 0;
  padding-bottom: clamp(32px, 4vw, 56px);
}

.about-strip + .story-section--approach {
  position: relative;
}

.about-strip + .story-section--approach::before {
  background: var(--line);
  content: "";
  height: 1px;
  left: var(--page);
  position: absolute;
  right: var(--page);
  top: 0;
}

.detail-page--about .detail-hero--short {
  height: clamp(360px, 34vw, 500px);
  min-height: clamp(360px, 34vw, 500px);
}

.detail-page--about .about-hero {
  background:
    radial-gradient(circle at 72% 28%, rgba(42, 82, 116, .34), transparent 34%),
    linear-gradient(135deg, #08121d 0%, #07101a 52%, #04090f 100%);
  inset: 0;
  position: absolute;
}

.detail-page--about .detail-title {
  align-items: end;
  display: grid;
  gap: clamp(32px, 8vw, 130px);
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, .65fr);
  right: var(--page);
}

.detail-page--about .detail-title .eyebrow,
.detail-page--about .detail-title h1 {
  grid-column: 1;
}

.detail-page--about .detail-title h1 {
  margin-bottom: 0;
}

.detail-page--about .detail-title__summary {
  align-self: end;
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0 0 .35rem;
}

.detail-page--about .detail-copy {
  margin-left: auto;
  margin-right: var(--page);
  max-width: min(52rem, calc(100% - (var(--page) * 2)));
  padding-left: 0;
  padding-right: 0;
  width: 100%;
}

/* Photo-only Journal hero: retain the strong cover composition while every
   formatted event title scales to one deliberate line. */
.template-journal-entry .detail-title {
  max-width: none;
  right: var(--page);
}

.template-journal-entry .detail-title h1 {
  max-width: none;
  overflow-wrap: normal;
  white-space: nowrap;
  width: 100%;
}

@media (max-width: 700px) {
  .archive-hero {
    grid-template-columns: 1fr;
    padding-block: 86px 56px;
  }

  .archive-hero__intro,
  .archive-hero > p:last-child {
    margin-top: 16px;
  }

  .lb-mc5-page .lb-mc5-shell {
    padding-block: 84px 80px !important;
  }

  .lb-mc5-page .lb-mc5-intro {
    gap: 28px !important;
    margin-bottom: 52px !important;
  }

  .detail-page .detail-hero--short,
  .detail-page.artist-profile-page .detail-hero--short.artist-profile-hero {
    height: min(74svh, 560px);
    min-height: 420px;
  }

  .detail-title__summary {
    font-size: 1rem;
  }

  .template-journal-entry .detail-copy {
    border-left: 0;
    border-right: 0;
    margin: 0;
    max-width: none;
    padding: 44px var(--page) 64px;
  }

  .template-journal-entry .detail-copy > p:not(.eyebrow),
  .template-journal-entry .detail-copy .richtext > p:first-child {
    font-size: 1.25rem;
  }

  .detail-page--about .detail-title {
    display: block;
    right: var(--page);
  }

  .detail-page--about .detail-title__summary {
    margin-top: 18px;
    max-width: 30rem;
  }

  .detail-page--about .detail-copy {
    margin: 0;
    max-width: none;
    padding: 64px var(--page) 80px;
  }

  .story-section,
  .about-strip {
    padding-block: 72px;
  }

  .section-copy {
    font-size: 18px;
    letter-spacing: -.025em;
    line-height: 1.35;
  }
}
