.nxb-project-hero { position: relative; display: grid; min-height: clamp(34rem,54vw,47rem); overflow: hidden; color: #fff; background: var(--nxb-colour-ink); }
.nxb-project-hero--text-only { min-height: 31rem; background: linear-gradient(135deg,#06100d,var(--nxb-colour-ink-soft)); }
.nxb-project-hero__media, .nxb-project-hero__media img, .nxb-project-hero__fade { position: absolute; inset: 0; width: 100%; height: 100%; }
.nxb-project-hero__media img { object-position: center; }
.nxb-project-hero__fade { background: linear-gradient(90deg,rgba(4,10,11,.94) 0%,rgba(4,10,11,.78) 33%,rgba(4,10,11,.3) 70%,rgba(4,10,11,.13) 100%),linear-gradient(180deg,rgba(0,0,0,.2),transparent 42%,rgba(0,0,0,.38)); }
.nxb-project-hero__content { position: relative; z-index: 1; align-self: end; padding-block: clamp(9rem,16vw,13rem) clamp(2.5rem,5vw,4.25rem); }
.nxb-project-hero__copy { max-width: 50rem; }
.nxb-project-hero__eyebrow { margin: 0 0 .8rem; color: var(--nxb-colour-brand-bright); font-size: .9rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.nxb-project-hero h1 { max-width: 12ch; margin-bottom: .35em; color: #fff; font-size: clamp(3rem,6.5vw,6.4rem); text-transform: uppercase; }
.nxb-project-hero h1 span, .nxb-project-hero h1 strong { display: block; }
.nxb-project-hero h1 strong { color: #fff; }
.nxb-project-hero__summary { max-width: 38rem; margin: 0; color: rgba(255,255,255,.9); font-size: clamp(1.05rem,1.7vw,1.35rem); font-weight: 550; }
.nxb-project-hero__metadata { display: grid; width: min(100%,48rem); grid-template-columns: repeat(3,minmax(0,1fr)); margin: clamp(2rem,4vw,3.25rem) 0 0; }
.nxb-project-hero__metadata > div { min-width: 0; padding: .35rem clamp(1rem,2vw,2rem); border-left: 1px solid rgba(255,255,255,.36); }
.nxb-project-hero__metadata > div:first-child { padding-left: 0; border-left: 0; }
.nxb-project-hero__metadata dt { margin-bottom: .2rem; color: rgba(255,255,255,.7); font-size: .68rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.nxb-project-hero__metadata dd { margin: 0; color: #fff; font-size: .95rem; font-weight: 750; line-height: 1.35; }
.nxb-project-detail__overview { display: grid; grid-template-columns: minmax(16rem,.72fr) minmax(0,1.55fr); align-items: center; gap: clamp(2.5rem,6vw,6rem); padding-block: var(--nxb-section-space); }
.nxb-project-detail__overview--text-only { display: block; }
.nxb-project-detail__overview-copy { max-width: 36rem; }
.nxb-project-detail__overview-copy h2 { position: relative; padding-top: 1.4rem; font-size: clamp(2rem,3.6vw,3.35rem); }
.nxb-project-detail__overview-copy h2::before { content: ""; position: absolute; top: 0; left: 0; width: 3rem; height: 3px; background: var(--nxb-colour-brand); }
.nxb-project-detail__lead-image { overflow: hidden; border-radius: var(--nxb-radius-small); background: var(--nxb-colour-surface); box-shadow: var(--nxb-shadow-card); }
.nxb-project-detail__lead-image img { width: 100%; height: auto; aspect-ratio: 10/7; object-fit: cover; }
.nxb-project-detail__gallery { padding-bottom: var(--nxb-section-space); }
.nxb-project-detail__gallery .nxb-gallery__grid { gap: clamp(.7rem,1.4vw,1.2rem); }
.nxb-project-detail__gallery .nxb-gallery__item { border-radius: 0; }
.nxb-project-detail__gallery .nxb-gallery__item img { height: auto; object-fit: cover; }
.nxb-project-detail__additional-content > :first-child { padding-top: 0; }
@media (max-width: 800px) {
    .nxb-project-hero { min-height: 39rem; }
    .nxb-project-hero h1 { max-width: 100%; font-size: clamp(2rem,8.8vw,4.5rem); overflow-wrap: anywhere; }
    .nxb-project-hero__fade { background: linear-gradient(90deg,rgba(4,10,11,.9),rgba(4,10,11,.5)),linear-gradient(180deg,rgba(0,0,0,.28),transparent 38%,rgba(0,0,0,.48)); }
    .nxb-project-hero__metadata { grid-template-columns: 1fr; gap: .9rem; }
    .nxb-project-hero__metadata > div, .nxb-project-hero__metadata > div:first-child { padding: 0 0 0 1rem; border-left: 1px solid rgba(255,255,255,.36); }
    .nxb-project-detail__overview { grid-template-columns: 1fr; }
    .nxb-project-detail__overview-copy { max-width: 46rem; }
}
@media (max-width: 520px) {
    .nxb-project-hero__content { padding-top: 8.5rem; }
    .nxb-project-detail__gallery .nxb-gallery__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
