/* Photography-led stories in the approved JP Whyte visual system. */
html body.jp-site.jp-inner .jp-project-story{padding-top:0}
.jp-story-intro{padding:54px 5vw 42px;max-width:1500px;margin:auto}
.jp-story-intro nav{font-size:13px;margin-bottom:34px}
.jp-story-intro h1{font-size:clamp(42px,5.7vw,82px);font-weight:400;letter-spacing:-.055em;line-height:1.04;max-width:1100px;margin:18px 0 25px}
.jp-story-intro .jp-story-deck{font-size:clamp(18px,1.8vw,24px);line-height:1.6;max-width:820px}
.jp-story-scope{display:flex;flex-wrap:wrap;gap:9px 22px;padding:20px 0 0;margin:26px 0 0;border-top:1px solid var(--jp-line);list-style:none;font-size:13px}
.jp-story-hero{margin:0 auto;max-width:1500px;padding:0 5vw}
.jp-project-story .jp-story-photo{margin:0;min-width:0}
.jp-project-story .jp-photo-link{display:block;position:relative;background:#dedfd5;text-decoration:none;overflow:hidden}
.jp-project-story .jp-photo-link img{width:100%;height:auto;display:block;border-radius:0!important}
.jp-project-story .jp-photo-link::after{content:'View photograph ↗';position:absolute;right:12px;bottom:12px;color:#fff;background:#0b232bf2;padding:8px 12px;font-size:11px;letter-spacing:.03em}
.jp-project-story .jp-photo-link:focus-visible{outline-offset:3px}
.jp-project-story figcaption{font-size:13px;line-height:1.6;color:#455b60;margin-top:12px;max-width:80ch}
.jp-photo-stage{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--jp-ink);font-weight:700;margin-bottom:5px}
.jp-story-jumps{display:flex;flex-wrap:wrap;gap:12px 28px;max-width:1500px;margin:28px auto 0;padding:0 5vw;font-size:13px}
.jp-story-jumps a{text-underline-offset:5px;padding:8px 0}
html body.jp-site.jp-inner .jp-project-story>.jp-story-chapter{padding:76px 5vw 0;max-width:1500px;margin:auto;scroll-margin-top:105px}
.jp-story-chapter-head{display:grid;grid-template-columns:1fr 1.15fr;gap:45px;margin-bottom:30px;border-top:1px solid var(--jp-line);padding-top:34px}
.jp-story-chapter-head h2{font-size:clamp(29px,3.5vw,48px);font-weight:400;letter-spacing:-.035em;line-height:1.12;margin:0;max-width:520px}
.jp-story-chapter-head p{font-size:16px;line-height:1.75;margin:0 0 15px}
.jp-story-chapter-head .jp-kicker{grid-column:1/-1;margin:0 0 -14px}
.jp-story-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.jp-story-photo-grid>figure:last-child:nth-child(odd){grid-column:1/-1;max-width:920px;width:100%;justify-self:center}
.jp-story-photo-grid .jp-photo-link{aspect-ratio:4/3}
.jp-story-photo-grid .jp-photo-link img{height:100%;object-fit:contain}
.jp-story-photo-grid .jp-story-portrait .jp-photo-link{aspect-ratio:3/4}
.jp-story-photo-grid .jp-story-portrait:last-child:nth-child(odd){max-width:610px}
html body.jp-site.jp-inner .jp-project-story>.jp-dom-related{padding-top:70px}
.jp-project-story .jp-dom-cta{margin-top:64px}
.jp-project-story .jp-dom-cta h2{font-size:clamp(34px,4vw,56px);line-height:1.1;font-weight:400;letter-spacing:-.035em}
.jp-project-lightbox{background:#091c22;color:#f1eee5;border:1px solid #687d80;padding:18px;max-width:96vw;width:1400px;max-height:94dvh}
.jp-project-lightbox::backdrop{background:#041116ed}
.jp-project-lightbox .jp-lightbox-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}
html body.jp-inner .jp-project-lightbox h2{font:400 16px/1.3 Arial,sans-serif!important;letter-spacing:0!important;margin:0}
.jp-project-lightbox button{border:1px solid #9aa9a5;color:#f1eee5;background:#102c33;padding:10px 16px;cursor:pointer;min-height:44px}
.jp-project-lightbox img{display:block;max-width:100%;max-height:65dvh;width:auto;height:auto;margin:auto;object-fit:contain}
.jp-project-lightbox p{font-size:14px;line-height:1.5;margin:14px auto;color:#f1eee5}
.jp-project-lightbox .jp-lightbox-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px}
html:has(.jp-project-lightbox[open]){overflow:hidden}
.jp-location-lead{margin:32px 0;border-block:1px solid var(--jp-line);padding:30px 0;display:grid;grid-template-columns:1.15fr 1fr;gap:36px;align-items:center}
.jp-location-lead figure{margin:0;min-width:0}
.jp-location-lead img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.jp-location-lead figcaption{font-size:12px;color:#455b60;margin-top:10px}
.jp-location-lead h3{font-size:clamp(26px,3vw,39px);font-weight:400;line-height:1.15;letter-spacing:-.025em;margin:12px 0 20px}
.jp-location-lead p{font-size:16px;line-height:1.7}
.jp-location-lead .jp-kicker{font-size:10px!important;margin:0}
.jp-location-lead .jp-text-link{margin-top:3px}
.jp-expanded-projects{padding:55px 5vw;max-width:1500px;margin:auto}
.jp-expanded-projects>h2{font-size:clamp(34px,4vw,55px);font-weight:400;line-height:1.15;letter-spacing:-.035em;margin:12px 0 25px}
.jp-project-detail-note{border-top:1px solid var(--jp-line);padding-top:20px;font-size:15px}
@media(max-width:700px){
 html body.jp-site.jp-inner .jp-project-story{padding-top:0}
 .jp-story-intro{padding:33px 6vw 28px}.jp-story-intro nav{margin-bottom:26px}.jp-story-intro h1{font-size:43px}
 .jp-story-scope{font-size:12px;gap:8px 16px}.jp-story-hero{padding:0 6vw}
 .jp-story-jumps{padding:0 6vw;gap:8px 20px}
 html body.jp-site.jp-inner .jp-project-story>.jp-story-chapter{padding:48px 6vw 0}
 .jp-story-chapter-head{grid-template-columns:1fr;gap:20px;padding-top:24px;margin-bottom:24px}
 .jp-story-chapter-head .jp-kicker{margin:0}.jp-story-photo-grid{grid-template-columns:1fr;gap:28px}
 .jp-story-photo-grid .jp-photo-link,.jp-story-photo-grid .jp-story-portrait .jp-photo-link{aspect-ratio:auto}
 .jp-story-photo-grid .jp-photo-link img{height:auto}.jp-story-photo-grid>figure{max-width:100%!important}
 .jp-location-lead{grid-template-columns:1fr;gap:24px}.jp-expanded-projects{padding:38px 6vw}
 .jp-project-lightbox{padding:12px}.jp-project-lightbox img{max-height:60dvh}
}
@media(max-width:360px){.jp-story-intro h1{font-size:37px}.jp-story-scope{display:block}.jp-story-scope li{margin:5px 0}}
