/* Solenne's own installation photographs, in the existing hotel palette. */
.project-feature { display: grid; grid-template-columns: 1.35fr 1fr; align-items: center; gap: clamp(36px, 5vw, 84px); border-top: 1px solid var(--hotel-rule); }
.project-photo { margin: 0; min-width: 0; }
.project-photo img { display: block; width: 100%; height: auto; }
.project-feature-image { padding: var(--hotel-frame); border: 1px solid var(--hotel-rule); background: #eee6dc; }
.project-photo figcaption { margin-top: 16px; color: #655e58; font-size: .875rem; line-height: 1.7; }
.project-feature h2, .project-page h2 { font-size: clamp(36px, 4vw, 58px); line-height: 1.15; }
.project-feature-copy > p:not(.eyebrow), .project-page p { font-size: 1rem; line-height: 1.85; }
.project-feature-copy > p:not(.eyebrow) { margin: 24px 0; }
.project-feature-copy .text-link { margin-top: 12px; }
.project-page .page-head { padding-bottom: 48px; }
.project-overview { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(40px, 6vw, 100px); padding-top: 16px; }
.project-overview p { max-width: 58ch; margin-top: 24px; }
.project-facts { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; align-content: start; }
.project-facts > div { border-top: 1px solid var(--hotel-rule); padding: 20px 0; min-width: 0; }
.project-facts dt { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: #655e58; margin-bottom: 12px; }
.project-facts dd { margin: 0; font-size: 1rem; line-height: 1.7; }
.project-comparison { padding-top: 0; }
.project-heading { max-width: 760px; margin-bottom: 40px; }
.project-heading > p:not(.eyebrow) { margin-top: 24px; max-width: 60ch; }
.project-photo-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.project-photo-pair .project-photo { padding: 16px; border: 1px solid var(--hotel-rule); }
.project-photo-pair figcaption span { display: block; color: #39252b; font-size: 1rem; margin-bottom: 4px; }
.project-details { padding-top: 0; display: grid; grid-template-columns: 1.5fr .9fr; gap: clamp(36px, 6vw, 96px); align-items: start; }
.project-detail-tall { padding: 24px; background: #eee6dc; margin-top: 80px; }
.project-detail-copy { padding-top: 36px; max-width: 60ch; }
.project-detail-copy > p:not(.eyebrow) { margin: 24px 0; }
.project-outcome { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 5vw, 80px); background: #eee6dc; }
.project-outcome > div > p { margin: 0 0 24px; }
.project-related { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 8px 0 24px; }
.project-related a { text-underline-offset: 5px; line-height: 1.7; }
.project-outcome .project-publication { padding-top: 20px; border-top: 1px solid var(--hotel-rule); font-size: .8125rem; color: #655e58; }
@media (max-width: 800px) {
  .project-feature, .project-overview, .project-details, .project-outcome { grid-template-columns: 1fr; gap: 32px; }
  .project-feature-image { padding: 16px; }
  .project-feature-copy > p:not(.eyebrow) { margin: 20px 0; }
  .project-feature h2, .project-page h2 { font-size: clamp(31px, 7.8vw, 43px); }
  .project-overview { padding-top: 0; }
  .project-facts { gap: 0 22px; }
  .project-facts > div { padding: 18px 0; }
  .project-facts dd { font-size: .9375rem; }
  .project-detail-tall { padding: 16px; margin-top: 0; max-width: 470px; justify-self: center; }
  .project-heading { margin-bottom: 28px; }
  .project-detail-copy { padding-top: 26px; }
}
@media (max-width: 700px) {
  .project-photo-pair { grid-template-columns: 1fr; gap: 26px; }
  .project-photo-pair .project-photo { padding: 12px; }
  .project-photo figcaption { font-size: .8125rem; margin-top: 12px; }
}
