/* Project report: the PDF's cover photograph and document sections use Roger's shared page grid and type. */
.project-report__hero-row { align-items: stretch; }
.project-report__intro { justify-content: center; gap: var(--s-24); min-width: 0; }
.project-report__download,
.gated-download { display: flex; flex-direction: column; align-items: stretch; gap: var(--s-16); width: 100%; max-width: 440px; }
.project-report__download { margin-bottom: var(--s-24); }
.project-report__download-form,
.gated-download__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 0; width: 100%; padding: 0; border: 0; }
.gated-download__label { grid-column: 1 / -1; margin: 0 0 var(--s-8); color: var(--ink-2); }
.project-report__download-form[hidden],
.gated-download__form[hidden],
.project-report__download-success[hidden],
.gated-download__success[hidden] { display: none; }
.gated-download__field { min-width: 0; }
.gated-download__field .input { height: var(--control-h); background: var(--paper); border: 1px solid var(--rule); }
.gated-download__field .input::placeholder { color: var(--ink-2); opacity: 1; }
.gated-download__field .input:hover { border-color: var(--rule); }
.gated-download__field .input:focus-visible { border-color: var(--blue); outline: none; }
.gated-download__form > .btn { width: auto; min-width: 0; }
.project-report__download-error,
.gated-download__error { grid-column: 1 / -1; margin: 0; color: var(--ink); font-size: 14px; line-height: 20px; font-weight: 600; }
.project-report__download-success,
.gated-download__success { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s-16); width: 100%; max-width: none; padding-top: var(--s-16); border-top: 2px solid var(--blue); }
.project-report__download-success a,
.gated-download__success a { max-width: 100%; }
.project-report__breadcrumb { display: flex; }
.project-report__heading { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s-16); }
.project-report__label { color: var(--blue); letter-spacing: .08em; text-transform: uppercase; }
.project-report__heading .hero__head { gap: var(--s-16); }
.project-report__title { --hero-title-fs: clamp(34px, 3.2vw, 42px); --hero-title-lh: 1.08; max-width: 16em; }
.project-report__cover-cell { align-items: stretch; }
.project-report__cover { width: 100%; aspect-ratio: 2000 / 1044; overflow: hidden; background: var(--paper-3); }
.project-report__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }

.project-report-reading > .container { padding-top: 0; }
.project-report__sheet { display: flex; justify-content: center; width: 100%; padding: var(--s-64) var(--cell-pad); background: var(--paper-2); }
.project-report__article { display: flex; flex: 0 1 960px; flex-direction: column; gap: var(--s-48); width: 100%; max-width: 960px; }
.project-report__section { display: flex; flex-direction: column; align-items: stretch; gap: var(--s-16); }
.project-report__section > h2:not(.project-report__volume-label) { max-width: none; padding: 0 0 var(--s-12); border-bottom: 1px solid var(--ink); }
.project-report__section.project-report__summary > h2:not(.project-report__volume-label) { border-bottom: 0; }
.project-report__volume-label { padding: 0; color: var(--ink-2); letter-spacing: .08em; text-transform: uppercase; }
.project-report__summary-line { color: var(--ink-2); }
.project-report__copy { display: flex; flex-direction: column; gap: var(--s-16); width: 100%; max-width: none; }
.project-report__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(48px, 5vw, 64px); width: 100%; border-top: 1px solid var(--rule); }
.project-report__stat { display: flex; min-width: 0; flex-direction: row; align-items: baseline; justify-content: space-between; gap: var(--s-16); padding: var(--s-12) 0; border-bottom: 1px solid var(--rule); }
.project-report__stat dt { min-width: 0; color: var(--ink-2); }
.project-report__stat dd { flex: none; font-weight: 600; text-align: right; }
.project-report__table-wrap { width: 100%; max-width: none; padding: 0; overflow-x: auto; overscroll-behavior-inline: contain; }
.project-report__table { width: 100%; min-width: 760px; border-collapse: collapse; text-align: left; }
.project-report__comparison { min-width: 640px; }
.project-report__table th,
.project-report__table td { padding: var(--s-12); border-bottom: 1px solid var(--rule); vertical-align: top; }
.project-report__table thead th { background: var(--paper-3); font-family: var(--narrow); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.project-report__table tbody th { min-width: 150px; font-weight: 600; }
.project-report__quote { align-self: stretch; width: 100%; max-width: none; border-bottom: 1px solid var(--rule); }
.project-report__quote .article-pq__q,
.project-report__quote .article-pq__by { display: block; align-self: stretch; width: 100%; max-width: none; }
.project-report__quote .article-pq__q { text-wrap: wrap; }
.project-report__quote .article-pq__by { color: var(--ink-3); font-size: calc(var(--lead-fs) - 2px); }

@media (max-width: 1023px) {
  .project-report__intro { gap: var(--s-24); }
  .project-report__title { --hero-title-fs: clamp(34px, 5.2vw, 44px); }
}
@media (max-width: 767px) {
  .project-report__intro { gap: var(--s-24); padding-top: var(--s-32); padding-bottom: var(--s-32); }
  .project-report__title { --hero-title-fs: clamp(32px, 9vw, 40px); }
  .project-report__sheet { padding: var(--s-48) var(--cell-pad); }
  .project-report__article { gap: var(--s-32); }
  .project-report__stats { grid-template-columns: 1fr; column-gap: 0; }
  .project-report__table { min-width: 700px; }
  .project-report__comparison { min-width: 600px; }
}
@media (max-width: 575px) {
  .gated-download__form { grid-template-columns: minmax(0, 1fr); gap: var(--s-8); }
  .gated-download__form > .btn { width: 100%; }
}
