.project-page { background: #f4f1e8; color: #15231c; }
.project-page .site-header { position: relative; background: #f4f1e8; border-bottom: 1px solid #d8d3c7; }
.project-nav { display: flex; align-items: center; gap: 24px; }
.project-nav a { color: #183127; text-decoration: none; font-size: .9rem; }
.project-nav .nav-cta { color: #fff; }
.project-intro { padding: 100px 0 58px; }
.project-intro h1 { max-width: 950px; margin: 14px 0 24px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.8rem, 8vw, 7.5rem); font-weight: 400; line-height: .92; letter-spacing: -.055em; }
.project-lead { max-width: 720px; margin: 0; color: #5d6a63; font-size: 1.25rem; line-height: 1.65; }
.project-hero { width: min(1440px, calc(100% - 48px)); margin: 0 auto; position: relative; overflow: hidden; background: #cad0cb; }
.project-hero img { display: block; width: 100%; height: min(68vw, 760px); object-fit: cover; }
.project-hero figcaption { position: absolute; left: 22px; bottom: 22px; padding: 9px 12px; background: #0b1511dc; color: #fff; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.project-story { display: grid; grid-template-columns: 1.15fr .85fr; gap: 100px; padding: 105px 0; align-items: start; }
.section-kicker { margin: 0 0 16px; color: #8b6a2e; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; }
.project-story h2, .section-heading h2, .project-cta h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.5rem, 4.5vw, 4.8rem); font-weight: 400; line-height: 1.04; letter-spacing: -.04em; }
.project-story > p { margin: 34px 0 0; color: #5d6a63; font-size: 1.08rem; line-height: 1.8; }
.project-progress { padding-bottom: 120px; }
.section-heading { margin-bottom: 40px; }
.detail-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.detail-gallery figure { margin: 0; background: #fff; }
.detail-gallery img { display: block; width: 100%; height: 430px; object-fit: cover; }
.detail-gallery figcaption { display: flex; gap: 14px; padding: 17px 18px 19px; color: #48574f; font-size: .86rem; }
.detail-gallery figcaption span { color: #8b6a2e; }
.detail-gallery .gallery-wide { grid-column: 1 / -1; }
.detail-gallery .gallery-wide img { height: 520px; }
.project-cta { padding: 100px 0; background: #0b2b20; color: #fff; }
.project-cta h2 { max-width: 760px; margin: 12px 0 36px; }
.project-page footer { background: #081b14; color: #bdc9c2; padding: 32px 0; }
.project-footer { display: flex; justify-content: space-between; gap: 20px; font-size: .84rem; }
.project-footer a { color: #fff; }
@media (max-width: 760px) {
  .project-nav > a:first-child { display: none; }
  .project-intro { padding: 72px 0 40px; }
  .project-intro h1 { font-size: 4rem; }
  .project-hero { width: calc(100% - 24px); }
  .project-hero img { height: 58vw; min-height: 300px; }
  .project-story { grid-template-columns: 1fr; gap: 18px; padding: 72px 0; }
  .project-story > p { margin-top: 0; }
  .detail-gallery { grid-template-columns: 1fr; }
  .detail-gallery img { height: 270px; }
  .detail-gallery .gallery-wide { grid-column: auto; }
  .detail-gallery .gallery-wide img { height: 270px; }
  .project-progress { padding-bottom: 80px; }
  .project-footer { flex-direction: column; }
}
