.sp-the-project { overflow: clip; }
.sp-the-project__mast { padding-top: calc(var(--section-space-l) * 1.3889); padding-bottom: calc(var(--section-space-l) * 1.2222); }
.sp-the-project__mast-meta { display: flex; justify-content: space-between; gap: calc(var(--space-m) * 0.8); padding-bottom: calc(var(--space-s) * 1.05); border-bottom: 1px solid var(--pd-line); }
.sp-the-project__mast h1 { max-width: 1200px; margin-top: var(--section-space-l); font-size: calc(var(--h1) * 1.6053); line-height: var(--h1-line-height); letter-spacing: calc(var(--h1-letter-spacing) * 1.2889); }
.sp-the-project__mast h1 span { color: var(--neutral-semi-light); }
.sp-the-project__mast-foot { display: grid; grid-template-columns: 1fr auto; gap: calc(var(--space-l) * 1.0667); align-items: end; margin-top: calc(var(--section-space-l) * 0.9259); }
.sp-the-project__mast-foot .sp-lead { max-width: 52ch; }

.sp-the-project__opening { display: grid; grid-template-columns: minmax(340px, .82fr) minmax(380px, 1fr); gap: calc(var(--section-space-l) * 1.5741); align-items: center; border-top: 1px solid var(--pd-line); }
.sp-the-project__opening-image { position: relative; max-width: 520px; }
.sp-the-project__opening-image::before { content: ""; position: absolute; z-index: -1; inset: 12% -10% -6% 26%; border-radius: 50%; background: color-mix(in srgb,var(--primary) 17.2549%,transparent); filter: blur(45px); }
.sp-the-project__opening-image img { width: 100%; aspect-ratio: .7; object-fit: cover; object-position: 52% 30%; border-radius: var(--radius); filter: saturate(.56) contrast(1.06); }
.sp-the-project__opening-image > span { display: block; margin-top: calc(var(--space-xs) * 1.1111); font: calc(var(--text-xs) * 0.6667)/var(--text-line-height) var(--pd-mono); letter-spacing: calc(var(--h6-letter-spacing) * 0.8); color: var(--pd-muted); }
.sp-the-project__opening-copy h2 { margin: calc(var(--space-xs) * 1.037) 0 calc(var(--space-m) * 1.1667); line-height: var(--h1-line-height); }
.sp-the-project__opening-copy > p:not(.sp-kicker) { max-width: 57ch; color: var(--pd-muted); font-size: calc(var(--text-s) * 1.0714); line-height: var(--text-line-height); }
.sp-the-project__opening-copy > p + p { margin-top: calc(var(--space-s) * 0.9); }
.sp-the-project__opening-copy .sp-the-project__dropcap::first-letter { float: left; margin: calc(var(--space-xs) * 0.5185) calc(var(--space-xs) * 0.8889) 0 0; color: var(--pd-text); font: var(--heading-font-weight) calc(var(--h1) * 0.8421)/var(--text-line-height) var(--pd-display); }

.sp-the-project__declaration { margin-block: calc(var(--section-space-l) * 1.3889); padding-block: calc(var(--section-space-l) * 1.3704); background: var(--base-ultra-dark); border-block: 1px solid var(--primary-dark); }
.sp-the-project__declaration h2 { max-width: 1150px; margin-top: calc(var(--space-m) * 1.2); font-size: calc(var(--h1) * 0.9211); line-height: var(--h2-line-height); letter-spacing: calc(var(--h1-letter-spacing) * 0.8889); }
.sp-the-project__declaration h2::first-letter { color: var(--pd-accent); }
.sp-the-project__declaration-foot { display: flex; justify-content: space-between; gap: calc(var(--space-m) * 0.8333); margin-top: var(--section-space-l); padding-top: var(--space-s); border-top: 1px solid var(--primary-semi-dark); font: calc(var(--text-xs) * 0.6667)/var(--text-line-height) var(--pd-mono); letter-spacing: calc(var(--h6-letter-spacing) * 0.7); color: var(--neutral-semi-light); }

.sp-the-project__process-head { display: grid; grid-template-columns: 1fr .65fr; gap: calc(var(--section-space-l) * 1.3889); align-items: end; }
.sp-the-project__process-head h2 { margin-top: calc(var(--space-xs) * 0.963); line-height: var(--h1-line-height); }
.sp-the-project__process-head > p { max-width: 43ch; color: var(--pd-muted); font-size: var(--text-s); line-height: var(--text-line-height); }
.sp-the-project__process-list { list-style: none; margin: clamp(calc(var(--space-xl) * 0.8593), var(--section-space-l), calc(var(--section-space-l) * 0.9259)) 0 0; padding: 0; border-top: 1px solid var(--pd-line-strong); }
.sp-the-project__process-list li { display: grid; grid-template-columns: 72px 1fr; gap: calc(var(--space-s) * 1.1); padding: var(--space-m) 0; border-bottom: 1px solid var(--pd-line); }
.sp-the-project__process-list li > span { padding-top: calc(var(--space-xs) * 0.4444); font: calc(var(--text-xs) * 0.75)/var(--text-line-height) var(--pd-mono); color: var(--pd-accent); }
.sp-the-project__process-list li > div { display: grid; grid-template-columns: minmax(170px, .55fr) 1fr; gap: calc(var(--space-m) * 1.1667); align-items: baseline; }
.sp-the-project__process-list h3 { font-size: calc(var(--h2) * 0.8125); }
.sp-the-project__process-list p { max-width: 56ch; color: var(--pd-muted); font-size: var(--text-s); line-height: var(--text-line-height); }

.sp-the-project__diptych { display: grid; grid-template-columns: 1.15fr .75fr; gap: calc(var(--section-space-l) * 1.3426); align-items: center; }
.sp-the-project__diptych-images { display: grid; grid-template-columns: 1fr .82fr; gap: calc(var(--space-xs) * 1.037); align-items: end; }
.sp-the-project__diptych-images figure:last-child { transform: translateY(65px); }
.sp-the-project__diptych-images img { width: 100%; aspect-ratio: .68; object-fit: cover; border-radius: calc(var(--radius) * 0.8571); filter: saturate(.5) contrast(1.05); }
.sp-the-project__diptych-images figure:first-child img { object-position: center 25%; }
.sp-the-project__diptych-images figure:last-child img { object-position: center 30%; }
.sp-the-project__diptych-images figcaption { margin-top: calc(var(--space-xs) * 0.8889); font: calc(var(--text-xs) * 0.6667)/var(--text-line-height) var(--pd-mono); letter-spacing: calc(var(--h6-letter-spacing) * 0.7); color: var(--pd-muted); }
.sp-the-project__diptych-copy h2 { margin: calc(var(--space-xs) * 1.037) 0 var(--space-m); line-height: var(--h1-line-height); }
.sp-the-project__diptych-copy p:not(.sp-kicker) { color: var(--pd-muted); font-size: var(--text-s); line-height: var(--text-line-height); }
.sp-the-project__diptych-copy p + p { margin-top: calc(var(--space-s) * 0.85); }
.sp-the-project__diptych-copy .pd-button { margin-top: var(--space-m); }

.sp-the-project__closing { position: relative; display: grid; grid-template-columns: 1fr auto; gap: calc(var(--space-xl) * 1.037); align-items: end; margin-block: clamp(calc(var(--space-xl) * 1.1852), calc(var(--section-space-l) * 1.3444), calc(var(--section-space-l) * 1.4815)) calc(var(--space-xl) * 1.0667); padding-top: var(--section-space-l); padding-bottom: var(--section-space-l); border-block: 1px solid var(--pd-line); }
.sp-the-project__closing::before { content: ""; position: absolute; width: 620px; height: 300px; left: -14%; top: 6%; z-index: -1; background: radial-gradient(ellipse, color-mix(in srgb,var(--primary) 13.7255%,transparent), transparent 68%); filter: blur(15px); }
.sp-the-project__closing h2 { margin-top: calc(var(--space-xs) * 0.963); font-size: var(--h1); line-height: var(--h1-line-height); }
.sp-the-project__closing-copy > p:not(.sp-kicker) { max-width: 62ch; margin-top: calc(var(--space-m) * 0.9333); color: var(--pd-muted); line-height: var(--text-line-height); }
.sp-the-project__closing-actions { display: flex; flex-direction: column; align-items: flex-start; gap: calc(var(--space-xs) * 0.963); min-width: 210px; }

.sp-the-project [data-sp-reveal] { transition: opacity .8s ease, transform .8s var(--pd-ease); }
.sp-the-project.is-reveal-ready [data-sp-reveal]:not(.is-visible) { opacity: 0; transform: translateY(22px); }

@media (max-width: 900px) {
  .sp-the-project__opening, .sp-the-project__process-head, .sp-the-project__diptych, .sp-the-project__closing { grid-template-columns: 1fr; }
  .sp-the-project__opening-image { max-width: 600px; }
  .sp-the-project__opening-copy { max-width: 650px; }
  .sp-the-project__diptych-images { max-width: 620px; }
  .sp-the-project__diptych-copy { padding-top: calc(var(--space-xl) * 0.963); }
  .sp-the-project__closing-actions { min-width: 0; }
}

@media (max-width: 640px) {
  .sp-the-project__mast-meta { align-items: flex-start; flex-direction: column; }
  .sp-the-project__mast h1 { font-size: calc(var(--h1) * 0.9474); }
  .sp-the-project__mast-foot { grid-template-columns: 1fr; gap: calc(var(--space-m) * 0.8667); }
  .sp-the-project__opening { grid-template-columns: 1fr; gap: calc(var(--space-l) * 1.1556); }
  .sp-the-project__process-list li { grid-template-columns: 42px 1fr; gap: calc(var(--space-xs) * 0.8889); }
  .sp-the-project__process-list li > div { grid-template-columns: 1fr; gap: calc(var(--space-xs) * 0.8148); }
  .sp-the-project__diptych-images { grid-template-columns: 1fr 1fr; gap: calc(var(--space-xs) * 0.5926); }
  .sp-the-project__diptych-images figure:last-child { transform: translateY(34px); }
  .sp-the-project__declaration-foot { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .sp-the-project [data-sp-reveal] { transition: none; }
  .sp-the-project.is-reveal-ready [data-sp-reveal]:not(.is-visible) { opacity: 1; transform: none; }
}
