/* Archived projects share the current portfolio's typography, navigation and footer. */
.legacy-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--project-section-gap); width: 100%; max-width: 1120px; margin: 0 auto; padding: var(--project-gap) 0 0; color: #252525; font: 400 16px/1.75 Montserrat, sans-serif; }
.legacy-intro { width: 100%; max-width: 960px; margin: 0 auto; }
.legacy-back { display: inline-block; margin-bottom: var(--project-gap); color: #555; font-size: 14px; text-decoration: none; }
.legacy-back:hover, .legacy-project-nav a:hover { color: #ff007a; }
.legacy-main .legacy-eyebrow { margin: 0 0 .75rem; font-size: 13px; font-weight: 500; letter-spacing: .09em; text-transform: uppercase; }
.legacy-main h1 { margin: 0 0 var(--project-copy-gap); color: #171717; font: 700 clamp(36px, 4.5vw, 60px)/1.15 Montserrat, sans-serif; overflow-wrap: anywhere; }
.legacy-main h2 { margin: 0; color: var(--legacy-accent); font: 600 clamp(24px, 2.4vw, 32px)/1.3 Montserrat, sans-serif; }
.legacy-main p { max-width: 960px; margin: 0; font: inherit; }
.legacy-copy p + p { margin-top: var(--project-copy-gap); }
.legacy-copy:empty { display: none; }
.legacy-copy p { font-size: 18px; line-height: 1.75; }
.legacy-section { display: flow-root; margin: 0; min-width: 0; }
.legacy-main .legacy-section > * { margin-top: 0; margin-bottom: 0; }
.legacy-main .legacy-section > * + * { margin-top: var(--project-gap); }
.legacy-main .legacy-section > p + p { margin-top: var(--project-copy-gap); }
.legacy-section > p { margin-left: auto; margin-right: auto; }
.legacy-section > h2 { max-width: 960px; margin-left: auto; margin-right: auto; }
.legacy-figure { min-width: 0; margin: 0; }
.legacy-figure a { display: block; }
.legacy-figure img { display: block; width: 100%; height: auto; max-height: 850px; object-fit: contain; }
.legacy-hero img { max-height: none; }
.legacy-wide { width: 100%; max-width: none; margin-left: auto; margin-right: auto; }
.legacy-wide img { width: 100%; height: auto; max-height: none; }
/* Hide only the section drawing's empty top/left canvas; full-size link retains the original. */
.legacy-section-drawing > a { position: relative; overflow: hidden; aspect-ratio: 1689 / 495; }
.legacy-section-drawing img {
  position: absolute; width: calc(100% * 1897 / 1689); max-width: none;
  left: calc(-100% * 208 / 1689); top: calc(-100% * 256 / 495);
}
.legacy-figure figcaption { padding-top: var(--project-caption-gap); color: #5e5e5e; font-size: 14px; line-height: 1.5; }
.legacy-grid { display: grid; gap: var(--project-gap); align-items: start; }
.legacy-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.legacy-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.legacy-grid > div > .legacy-figure + .legacy-figure { margin-top: var(--project-gap); }
.legacy-portrait { max-width: 680px; margin-left: auto; margin-right: auto; }
.legacy-logo { max-width: 130px; margin-left: auto; margin-right: auto; }
.legacy-steps { margin: 0; padding: 0 0 0 1.5rem; }
.legacy-steps li { padding-left: .5rem; }
.legacy-steps li + li { margin-top: var(--project-copy-gap); }
.legacy-poster-gallery { margin: 0; gap: var(--project-gap); }
.legacy-poster-gallery img { max-height: 720px; }
.legacy-poster-entry .legacy-caption { margin-top: var(--project-caption-gap); }
.legacy-caption h2 { margin: 0 0 .5rem; color: #252525; font-size: 17px; line-height: 1.5; }
.legacy-caption p { margin: 0; color: #606060; font-size: 14px; }
.legacy-spread { grid-column: 1 / -1; width: 100%; max-width: none; justify-self: stretch; }
/* Brochure panels form one continuous spread, including on small screens. */
.legacy-spread .legacy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; gap: 0; }
.legacy-spread .legacy-figure img { width: 100%; height: auto; max-height: none; }
.legacy-project-nav { display: flex; justify-content: space-between; gap: var(--project-gap); margin: 0; padding: var(--project-gap) 0; border-top: 1px solid #e6e6e6; }
.legacy-project-nav a { color: #252525; text-decoration: none; font-size: 15px; font-weight: 500; }
@media (max-width: 600px) {
  .legacy-copy p { font-size: 16px; }
  .legacy-grid--2, .legacy-grid--3 { grid-template-columns: minmax(0, 1fr); }
  .legacy-spread { grid-column: auto; }
}
