/* Shared Project presentation uses global site tokens and native responsive images. */
.project-hero { display: grid; grid-template-columns: minmax(0, 40fr) minmax(0, 60fr); background: var(--slate); color: var(--white); min-height: clamp(560px, 46vw, 690px); }
.project-hero__copy { align-self: center; min-width: 0; padding: 64px clamp(28px, 3vw, 48px) 72px max(var(--gutter), calc((100vw - var(--content-width)) / 2)); }
.project-hero .eyebrow { color: #d6c6a8; }
.project-hero h1 { color: var(--white); font-size: clamp(44px, 4.2vw, 64px); line-height: 1.06; }
.project-hero .lead { color: #e5eceb; font-size: clamp(17px, 1.3vw, 20px); line-height: 1.65; max-width: 470px; margin-top: 30px; }
.project-hero__image { position: relative; min-width: 0; min-height: 0; }
.project-hero__image .project-figure { position: absolute; inset: 0; }
.project-hero__image .project-image { width: 100%; height: 100%; object-fit: cover; object-position: 54% center; }
.project-hero__image figcaption { position: absolute; right: 24px; bottom: 24px; left: 24px; width: fit-content; margin-left: auto; color: var(--white); background: rgb(32 60 79 / 85%); padding: 9px 13px; font-size: 11px; }
.project-figure { min-width: 0; margin: 0; }
.project-image { width: 100%; height: auto; }
.project-figure figcaption { color: var(--muted); font-size: 12px; line-height: 1.5; padding-top: 13px; }
.project-facts { padding-block: 42px; border-bottom: 1px solid var(--line); }
.project-facts__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.project-facts__grid > div { padding: 4px 22px; border-left: 1px solid var(--line); }
.project-facts__grid > div:first-child { padding-left: 0; border-left: 0; }
.project-facts dt { color: var(--bronze-text); font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 12px; }
.project-facts dd { margin: 0; color: var(--slate); font-size: 17px; font-weight: 600; line-height: 1.4; }
.project-editorial { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 7vw, 110px); align-items: start; }
.project-editorial h2 { max-width: 530px; }
.project-prose { color: var(--muted); min-width: 0; max-width: 650px; }
.project-prose > p:first-child { color: var(--slate); font-size: clamp(19px, 1.8vw, 23px); line-height: 1.5; }
.project-context { background: var(--paper); }
.project-context .project-figure { margin-top: 50px; }
.project-context .project-image { width: 100%; height: auto; }
.project-objectives { background: var(--teal); color: var(--white); }
.project-objectives h2, .project-objectives h3 { color: var(--white); }
.project-objectives .eyebrow { color: #e2d3b7; }
.project-objectives__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; list-style: none; margin: 48px 0 0; }
.project-objectives__grid li { border-top: 1px solid #b0c2bf; padding-top: 24px; }
.project-objectives__grid span { display: block; color: #e2d3b7; font-size: 12px; margin-bottom: 20px; }
.project-objectives__grid h3 { font-size: 22px; }
.project-objectives__grid p { margin-top: 16px; color: #edf2ef; font-size: 15px; }
.project-actions { display: flex; flex-wrap: wrap; gap: 18px 32px; margin-top: 30px; }
.project-delivery__heading { max-width: 800px; margin-bottom: 48px; }
.project-delivery__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 6vw, 90px); align-items: start; }
.project-delivery__grid--text-only { grid-template-columns: 1fr; }
.project-delivery__image .project-image { aspect-ratio: 4 / 5; object-fit: cover; object-position: center; }
.project-delivery__proofs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; list-style: none; margin: 30px 0 0; }
.project-delivery__proofs li { border-top: 1px solid var(--bronze); padding-top: 14px; color: var(--slate); font-size: 13px; font-weight: 600; line-height: 1.5; }
.project-energy { background: var(--white); border-top: 1px solid var(--line); }
.project-energy__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 48px 0; }
.project-energy__metrics > div { display: flex; flex-direction: column; border-top: 1px solid var(--bronze); padding-top: 24px; }
.project-energy__metrics dt { color: var(--slate); font-size: 14px; font-weight: 600; line-height: 1.5; margin-top: 16px; }
.project-energy__metrics dd { order: -1; margin: 0; color: var(--slate); font-size: clamp(42px, 4.2vw, 60px); font-weight: 600; letter-spacing: -.035em; line-height: 1.1; }
.project-energy__evidence { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.project-energy__evidence--text-only { grid-template-columns: 1fr; }
.project-energy__features { display: grid; gap: 24px; }
.project-energy__features h3 { font-size: 22px; }
.project-energy__features p { color: var(--muted); font-size: 15px; margin-top: 12px; }
.project-energy .action--text { min-width: 0; max-width: 100%; }
.project-status { background: #edf1ef; border-block: 1px solid #cbd5d0; padding-block: calc(var(--section-space) + 20px); }
.project-status .project-editorial { border-top: 1px solid var(--bronze); padding-top: 36px; }
.project-status h2 { font-size: clamp(40px, 4.2vw, 60px); }
.project-status .eyebrow { display: flex; align-items: center; gap: 13px; }
.project-status .eyebrow::before { content: ""; width: 8px; height: 8px; background: var(--bronze); }
.project-status .project-prose { border-left: 1px solid #b9c7c1; padding-left: clamp(24px, 3vw, 44px); }
.project-gallery h2 { max-width: 780px; }
.project-gallery__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 30px; align-items: start; margin-top: 48px; }
.project-gallery__grid .project-figure:first-child, .project-gallery__grid .project-figure:nth-child(4), .project-gallery__grid .project-figure:last-child:nth-child(odd) { grid-column: 1 / -1; }
.project-gallery__grid .project-image { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; }
.project-gallery__grid .project-figure:first-child .project-image, .project-gallery__grid .project-figure:nth-child(4) .project-image, .project-gallery__grid .project-figure:last-child:nth-child(odd) .project-image { aspect-ratio: 16 / 9; }
.project-gallery__link { position: relative; display: block; text-decoration: none; }
.project-gallery__view { position: absolute; bottom: 14px; right: 14px; color: var(--white); background: rgb(32 60 79 / 85%); font-size: 11px; padding: 8px 12px; }
.project-gallery__link:hover .project-gallery__view { background: var(--slate); }
.project-lightbox { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; height: 100dvh; max-height: none; margin: 0; border: 0; padding: clamp(16px, 3vw, 40px); background: rgb(20 28 32 / 97%); color: var(--white); font-family: var(--font-body); }
.project-lightbox::backdrop { background: rgb(20 28 32 / 97%); }
.project-lightbox[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 20px; }
.project-lightbox__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.project-lightbox__position { font-size: 13px; color: #d6c6a8; }
.project-lightbox button { min-width: 44px; min-height: 44px; padding: 10px 15px; border: 1px solid #ffffff50; border-radius: 0; color: var(--white); background: transparent; font: 500 14px/1.4 var(--font-body); cursor: pointer; }
.project-lightbox button:hover { border-color: #d6c6a8; color: #d6c6a8; }
.project-lightbox__stage { min-height: 0; min-width: 0; display: flex; justify-content: center; align-items: center; overflow: hidden; }
.project-lightbox__image { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; touch-action: pan-y pinch-zoom; }
.project-lightbox__footer { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; align-items: center; }
.project-lightbox__caption { color: #edf1f3; font-size: 13px; line-height: 1.5; text-align: center; }
.project-closing { background: #FFFFFF; border-top: 1px solid var(--line); }
.project-closing .action { margin-top: 28px; }
@media (max-width: 1100px) {
	.project-hero { grid-template-columns: 1fr; min-height: 0; }
	.project-hero__copy { width: min(calc(100% - var(--gutter) * 2), var(--content-width)); margin-inline: auto; padding: 64px 0; }
	.project-hero .lead { max-width: 700px; }
	.project-hero__image { aspect-ratio: 16 / 9; }
	.project-hero__image .project-image { object-position: center; }
	.project-facts__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 0; }
	.project-facts__grid > div:nth-child(3n + 1) { padding-left: 0; border-left: 0; }
	.project-objectives__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
}
@media (max-width: 760px) {
	.project-page .section { padding-block: 60px; }
	.project-hero h1 { font-size: clamp(38px, 10vw, 62px); }
	.project-hero__copy { padding-block: 56px; }
	.project-hero__image { aspect-ratio: 4 / 3; }
	.project-hero__image figcaption { right: 16px; bottom: 16px; left: 16px; }
	.project-facts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.project-facts__grid > div { padding-inline: 18px; border-left: 1px solid var(--line); }
	.project-facts__grid > div:nth-child(3n + 1) { padding-left: 18px; border-left: 1px solid var(--line); }
	.project-facts__grid > div:nth-child(2n + 1) { padding-left: 0; border-left: 0; }
	.project-editorial { grid-template-columns: 1fr; gap: 28px; }
	.project-energy__metrics { grid-template-columns: 1fr; gap: 28px; margin-block: 32px; }
	.project-energy__evidence { grid-template-columns: 1fr; gap: 32px; }
	.project-delivery__grid { grid-template-columns: 1fr; gap: 30px; }
	.project-delivery__heading { margin-bottom: 32px; }
	.project-delivery__image .project-image { aspect-ratio: 4 / 3; }
	.project-page .project-status { padding-block: 80px; }
	.project-status .project-prose { border-left: 0; padding-left: 0; }
	.project-context .project-figure, .project-gallery__grid { margin-top: 32px; }
	.project-gallery__grid { grid-template-columns: 1fr; gap: 30px; }
	.project-gallery__grid .project-figure, .project-gallery__grid .project-figure:first-child, .project-gallery__grid .project-figure:nth-child(4), .project-gallery__grid .project-figure:last-child:nth-child(odd) { grid-column: auto; }
	.project-lightbox__footer { grid-template-columns: 1fr 1fr; gap: 14px; }
	.project-lightbox__caption { grid-row: 1; grid-column: 1 / -1; }
	.project-lightbox__next { justify-self: end; }
	.project-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
}
@media (max-width: 480px) {
	.project-delivery__proofs { grid-template-columns: 1fr; gap: 14px; }
	.project-objectives__grid { grid-template-columns: 1fr; }
	.project-facts dd { font-size: 16px; }
}
