/* Shared project notes: a deliberate, consistently inset closing section. */
.project-story .project-credits,
main>.credits{
 padding:clamp(48px,6vw,88px) 6vw;
 display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);
 gap:clamp(32px,5vw,80px);align-items:start;
}
.project-story .project-credits>div h2,
main>.credits>.micro{padding-top:19px;line-height:1.6;max-width:220px}
.project-story .project-credits dl,main>.credits dl{margin:0;min-width:0}
.project-story .project-credits dl>div,main>.credits dl>div{
 display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);
 gap:28px;padding:18px 0;border-top:1px solid #c7c7c3;
 font-size:14px;line-height:1.6;align-items:start;
}
.project-story .project-credits dl>div:last-child,main>.credits dl>div:last-child{border-bottom:1px solid #c7c7c3}
.project-story .project-credits dt,main>.credits dt{color:#686864;min-width:0}
.project-story .project-credits dd,main>.credits dd{margin:0;min-width:0;text-align:left;overflow-wrap:anywhere}
.project-story .project-next,.project-next{
 display:grid;grid-template-columns:1.1fr 1fr;background:#e5e5e0;color:#242424;align-items:stretch;
}
.project-story .project-next>a,.project-next>a{
 display:flex;flex-direction:column;justify-content:space-between;align-items:start;
 padding:48px 6vw;min-width:0;text-decoration:none;color:inherit;
}
.project-story .project-next h2,.project-next h2{font-family:Hubot,Arial,sans-serif;font-size:clamp(36px,5vw,76px);letter-spacing:-.045em;line-height:1.08;margin:24px 0 32px;max-width:650px}
.project-story .project-next .textlink,.project-next .textlink{font-size:13px;display:inline-flex;align-items:center;gap:20px;padding-bottom:10px;border-bottom:1px solid #777}
.project-story .project-next img,.project-next img{display:block;width:100%;height:100%;min-height:300px;max-height:440px;object-fit:cover}
.project-next .arrow{width:22px;height:22px}
.prudential-finished{padding:64px 6vw 0}
.prudential-finished-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
.prudential-finished h2{font-size:clamp(32px,4.5vw,64px);line-height:1.1;letter-spacing:-.045em}
.prudential-finished-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}
.prudential-finished figure{margin:0;min-width:0}
.prudential-finished img{display:block;width:100%;height:clamp(300px,42vw,620px);object-fit:cover}
.prudential-finished figcaption{font-size:12px;line-height:1.6;color:#62625e;padding-top:14px}
@media(max-width:700px){
 .project-story .project-credits,main>.credits{padding:48px 6vw;grid-template-columns:1fr;gap:24px}
 .project-story .project-credits>div h2,main>.credits>.micro{padding:0;max-width:none}
 .project-story .project-credits dl>div,main>.credits dl>div{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:20px;padding:16px 0;font-size:13px;line-height:1.6}
 .project-story .project-next,.project-next{grid-template-columns:1fr}
 .project-story .project-next>a,.project-next>a{padding:36px 6vw}
 .project-story .project-next h2,.project-next h2{font-size:40px;margin:22px 0 28px}
 .project-story .project-next img,.project-next img{height:260px;min-height:0;max-height:none}
 .prudential-finished{padding:48px 6vw 0}
 .prudential-finished-heading{display:block;margin-bottom:24px}
 .prudential-finished h2{margin-top:14px}
 .prudential-finished-grid{grid-template-columns:1fr;gap:28px}
 .prudential-finished img{height:auto;aspect-ratio:4/3}
}

/* One editorial gallery scale: photo and narrative remain a single stage. */
body.project-story .project-process[data-story-gallery] .process-heading{margin-bottom:24px;gap:32px}
body.project-story .project-process[data-story-gallery] .process-heading h2{font-size:clamp(36px,4.2vw,64px);line-height:1.06;margin-top:12px}
body.project-story .project-process[data-story-gallery] .process-heading>p{font-size:15px;line-height:1.6;max-width:360px}
body.project-story .project-process[data-story-gallery].is-enhanced .project-photo-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;max-height:none;object-fit:cover;margin:0}
body.project-story .project-process[data-story-gallery].is-enhanced .project-photo-gallery img.story-photo-portrait{object-fit:contain;object-position:center;background:#191919}
body.project-story .project-process[data-story-gallery] .project-photo-controls button{padding:13px 0;min-height:0}
body.project-story .project-process[data-story-gallery] .project-photo-controls strong{font-size:24px;line-height:1.15}
body.project-story .project-process[data-story-gallery] .project-photo-controls small{font-size:12px;line-height:1.4;margin-top:5px}
.shared-story-track{position:relative}
.shared-story-stage{min-width:0}
.project-story .project-process.is-story-scroll .shared-story-track{min-height:var(--story-track-height)}
.project-story .project-process.is-story-scroll .shared-story-stage{position:sticky;top:var(--story-pin-top)}
.project-story .project-process:has(.shared-story-stage).is-story-scroll .project-photo-layout{position:static;min-height:0}
.project-story .project-process:has(.shared-story-stage).is-story-scroll .project-photo-gallery{position:static;top:auto}
.project-story .project-process.is-story-measuring .shared-story-stage{position:relative;top:auto}
@media screen and (min-width:901px){
 body.project-story .project-process[data-story-gallery].is-enhanced :is([data-story-stage],.skylrk-story-stage){display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);grid-template-rows:auto 1fr;grid-template-areas:"heading photos" "controls photos";gap:28px 5vw;align-items:start}
 body.project-story .project-process[data-story-gallery].is-enhanced .process-heading{grid-area:heading;display:block;margin:0}
 body.project-story .project-process[data-story-gallery].is-enhanced .process-heading>p{margin:20px 0 0}
 body.project-story .project-process[data-story-gallery].is-enhanced .project-photo-layout{display:contents}
 body.project-story .project-process[data-story-gallery].is-enhanced .project-photo-controls{grid-area:controls}
 body.project-story .project-process[data-story-gallery].is-enhanced .project-photo-gallery{grid-area:photos;min-width:0}
}
@media screen and (min-width:701px) and (max-width:900px){
 body.project-story .project-process[data-story-gallery].is-enhanced .project-photo-layout{grid-template-columns:1fr;gap:24px}
 body.project-story .project-process[data-story-gallery] .project-photo-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 body.project-story .project-process[data-story-gallery] .project-photo-controls button{grid-template-columns:24px 1fr;gap:8px}
 body.project-story .project-process[data-story-gallery] .project-photo-controls .arrow{display:none}
}
@media(max-width:700px){
 body.project-story .project-process[data-story-gallery]{padding:42px 6vw}
 body.project-story .project-process[data-story-gallery] .process-heading h2{font-size:36px}
 body.project-story .project-process[data-story-gallery] .process-heading>p{font-size:14px;margin-top:14px}
 body.project-story .project-process[data-story-gallery] .project-photo-controls strong{font-size:16px}
 body.project-story .project-process[data-story-gallery] .project-photo-controls button{padding:10px 0}
}
@media(prefers-reduced-motion:reduce){
 .shared-story-track{min-height:0!important}
 .shared-story-stage{position:static!important}
}
@media print{
 .shared-story-track{min-height:0!important}
 .shared-story-stage{position:static!important}
}
main>.credits dl>div{border-bottom:0}
main>.credits dl>div:last-child{border-bottom:1px solid #c7c7c3}
@media(max-width:700px){
 body.project-story .project-process[data-north-clark] .project-photo-controls strong{font-size:13px}
}
.portal-finished .prudential-finished-grid{grid-template-columns:1fr 1fr}
.portal-finished .prudential-finished-grid figure:first-child{grid-column:1/-1}
.portal-finished .prudential-finished-grid figure:first-child img{height:clamp(320px,48vw,680px)}
.portal-finished .prudential-finished-grid figure:not(:first-child) img{height:clamp(300px,38vw,540px)}
@media(max-width:700px){
 .portal-finished .prudential-finished-grid{grid-template-columns:1fr}
 .portal-finished .prudential-finished-grid figure:first-child img,
 .portal-finished .prudential-finished-grid figure:not(:first-child) img{height:auto;aspect-ratio:4/3}
 .portal-finished .prudential-finished-grid figure:last-child img{aspect-ratio:1}
}

/* Prudential uses the same custom-project CTA rhythm as the project stories. */
.case-project-cta{padding:85px 4vw 90px;background:#171717;color:#f3f3ef}
.case-project-cta>div{display:flex;justify-content:space-between;gap:60px;align-items:end}
.case-project-cta h2{font-size:clamp(50px,7.7vw,120px);font-weight:400;line-height:1.02;letter-spacing:-.055em;max-width:880px;margin-top:25px}
.case-project-cta>div>a{flex:none;width:75px;height:75px;border:1px solid #777;border-radius:50%;display:grid;place-items:center}
.case-project-cta .arrow{width:30px;height:30px}
.case-project-cta .project-cta-links{display:flex;gap:30px;flex-wrap:wrap;margin-top:35px}
.case-project-cta .project-cta-links>a{display:inline-flex;padding:10px 0;border-bottom:1px solid #777}
.case-project-cta a:focus-visible{outline-color:#fff}
@media(max-width:700px){.case-project-cta{padding:60px 6vw}.case-project-cta>div{gap:20px}.case-project-cta h2{font-size:12vw}.case-project-cta>div>a{width:48px;height:48px}.case-project-cta .arrow{width:22px;height:22px}.case-project-cta .project-cta-links{gap:20px}}

/* Shared project openings: six useful facts, with the studio's role up front. */
.project-story .project-facts{padding:38px 6vw 42px}
.project-story .project-facts dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 5vw}
.project-story .project-facts dl>div{min-width:0}
.project-story .project-facts dt{font-size:10px;line-height:1.5;letter-spacing:.09em}
.project-story .project-facts dd{font-size:18px;line-height:1.4;max-width:340px;letter-spacing:-.02em}
.project-prudential .project-hero>img{object-position:50% 47%}
.project-prudential .project-context{padding-bottom:0}
.project-prudential .project-context figure:first-child img{height:clamp(420px,48vw,720px);object-fit:cover;object-position:50% 45%}
.project-prudential .process-grid{padding-top:0}

/* Captions use one descriptive rhythm across process and finished photography. */
.project-story main :is(.project-context,.project-final-photo,.project-photo-gallery,.process-grid,.case-evidence,.case-evidence-single,.prudential-finished) figcaption{font-size:12px;line-height:1.65}
.project-story figcaption a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.project-story figcaption a:hover{text-decoration-thickness:2px}
.project-story figcaption a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:700px){
 .project-story .project-facts{padding:30px 6vw 34px}
 .project-story .project-facts dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 24px}
 .project-story .project-facts dt{font-size:9px}
 .project-story .project-facts dd{font-size:16px;max-width:none}
 .project-prudential .project-context figure:first-child img{height:auto}
 .project-story main :is(.project-context,.project-final-photo,.project-photo-gallery,.process-grid,.case-evidence,.case-evidence-single,.prudential-finished) figcaption{font-size:11px}
}
