/* The next project's actual hero enters the pinned stage as scroll advances. */
.next-project { --next-progress: 0; --next-reveal: 0; --next-entrance: 1; --next-ink: #101820; background: #fff; color: var(--next-ink); min-height: 100svh; position: relative; }
.next-project[data-next-enhanced] { height: 300svh; }
.next-project-stage { align-items: center; display: flex; flex-direction: column; height: 100svh; isolation: isolate; justify-content: center; min-height: 540px; overflow: hidden; padding: 95px 24px 110px; position: sticky; text-align: center; top: 0; }
.next-project-light { border: 1px solid #f8d8b522; border-radius: 50%; height: 145%; left: 7%; pointer-events: none; position: absolute; top: -22%; transform: scale(calc(1.3 - var(--next-entrance) * .3)); width: 86%; z-index: -1; }
.next-project-light:before, .next-project-light:after { background: radial-gradient(ellipse, #ff9b2999, #ffc78e77 30%, #ffe7cc44 51%, transparent 71%); content: ''; height: 84%; left: -25%; position: absolute; top: -5%; width: 68%; }
.next-project-light:after { bottom: -18%; left: auto; right: -23%; top: auto; }
.next-project-copy { opacity: calc(var(--next-entrance) * (1 - var(--next-reveal))); position: relative; transform: translate3d(0,calc(50px - var(--next-entrance) * 50px - var(--next-reveal) * 60px),0); width: 100%; }
.next-project-preview { background: #fff; height: 100%; inset: 0; overflow: hidden; pointer-events: none; position: absolute; text-align: center; transform: translate3d(0,calc((1 - var(--next-reveal)) * 100%),0); width: 100%; z-index: 2; }
.next-project-preview .project-profile-hero { box-sizing: border-box; margin: 0; width: 100%; }
.next-project-preview .project-image-interactive { box-shadow: none; transform: none; }
.next-project-preview .project-image-interactive img { filter: none; transform: none; }
.next-project h2 { font-size: clamp(56px, 7.6vw, 144px); font-weight: 300; letter-spacing: -.065em; line-height: 1.1; margin: 0; }
.next-project-link { color: inherit; display: inline-block; text-decoration: none; transition: opacity .25s; }
.next-project-link:hover { opacity: .65; }
.next-project-link:focus-visible, .next-project-stay:focus-visible { outline: 2px solid #b25900; outline-offset: 9px; }
.next-project-message { color: #737c7d; font-size: clamp(17px, 1.35vw, 25px); font-weight: 300; letter-spacing: -.035em; line-height: 1.5; margin: 38px 0 0; }
.next-project-meter { background: #1018203b; height: 1px; margin: 40px auto 0; overflow: hidden; width: min(340px, 64vw); }
.next-project-meter span { background: #101820; display: block; height: 100%; transform: scaleX(var(--next-progress)); transform-origin: left; width: 100%; }
.next-project-name { color: #596265; font: 10px/1.6 var(--mono); letter-spacing: .08em; margin: 24px 0 0; text-transform: uppercase; }
.next-project-stay { background: #ffffffd9; border-radius: 20px; bottom: 20px; color: #596265; display: inline-flex; font-size: 11px; letter-spacing: .01em; line-height: 1.5; min-height: 44px; padding: 13px 16px; position: absolute; text-decoration: underline; text-underline-offset: 5px; z-index: 3; }
.next-project:not([data-next-enhanced]) .next-project-meter { display: none; }
.next-project.is-paused .next-project-meter { opacity: .3; }
@media (max-width: 820px) {
  .next-project-stage { min-height: 440px; }
  .next-project h2 { font-size: clamp(49px, 10vw, 85px); }
  .next-project-message { margin-top: 28px; }
  .next-project-meter { margin-top: 30px; }
  .next-project-light { height: 120%; left: -10%; top: -10%; width: 120%; }
  .next-project-light:before { height: 90%; left: -20%; top: -10%; width: 90%; }
  .next-project-light:after { height: 90%; right: -25%; width: 90%; }
}
@media (max-height: 540px) {
  .next-project-stage { min-height: 100svh; padding-bottom: 75px; padding-top: 65px; }
  .next-project h2 { font-size: clamp(42px, 7vw, 74px); }
  .next-project-message { font-size: 16px; margin-top: 14px; }
  .next-project-meter { margin-top: 18px; }
  .next-project-name { margin-top: 14px; }
  .next-project-stay { bottom: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .next-project *, .next-project *:before, .next-project *:after { animation: none !important; transition-property: none !important; }
  .next-project-copy, .next-project-light { opacity: 1; transform: none; }
  .next-project-preview { display: none; }
}
