/* Authentic project photography. Every view is available without JavaScript. */
body.project-story{background:#f2f2ef;color:#242424}
body.project-story.dark-opening .site-header{color:#fff;border-color:#ffffff35}
body.project-story.dark-opening .site-header .brand img{filter:brightness(0) invert(1)}
.project-story .project-hero{min-height:760px;min-height:min(940px,100svh);position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:135px 4vw 48px;background:#1b1b1b;color:#fff}
.project-story .project-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0009 0%,#0001 29%,#0000 40%,#0009 79%,#000c 100%);z-index:-1}
.project-story .project-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.project-story .project-breadcrumb{display:flex;gap:15px;align-items:center;font-size:10px;letter-spacing:.07em;text-transform:uppercase;flex-wrap:wrap}
.project-story .project-breadcrumb a{padding:8px 0;border-bottom:1px solid #ffffff7a}
.project-story .project-breadcrumb a:hover{border-color:#fff}
.project-story .project-title{margin-top:100px}
.project-story .project-title .micro{display:block;margin-bottom:15px;color:#eee}
.project-story .project-title h1{font-size:clamp(88px,13vw,205px);letter-spacing:-.065em;line-height:.86;max-width:1300px}
.project-story .project-title h1 span{font-size:.54em;display:block;letter-spacing:-.055em;line-height:1.14;margin-top:12px}
.project-story .project-hero-bottom{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-top:30px}
.project-story .project-hero-bottom>p{max-width:480px;font-size:14px;line-height:1.65}
.project-story .project-hero-bottom>a{flex:none;font-size:11px;display:inline-flex;gap:22px;align-items:center;padding:14px 0;border-bottom:1px solid #ffffff8a}
.project-story .project-hero-bottom .arrow{transform:rotate(90deg);width:20px;height:20px}
.project-story .project-facts{padding:34px 4vw 40px;border-bottom:1px solid #c7c7c3}
.project-story .project-facts dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0}
.project-story .project-facts dt{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#62625e;margin-bottom:9px}
.project-story .project-facts dd{margin:0;font-family:Hubot,Arial,sans-serif;font-size:19px;line-height:1.3;letter-spacing:-.03em;max-width:270px}
.project-story .project-qualification{font-size:11px;line-height:1.7;color:#52524e;max-width:850px;margin-top:23px}
.project-story .project-intro{padding:105px 8vw 95px;display:grid;grid-template-columns:1fr 1fr;gap:35px 9vw;align-items:start}
.project-story .project-intro>.micro{grid-column:1/-1}
.project-story .project-intro h2{font-size:clamp(46px,6.4vw,100px);max-width:690px;line-height:1.02}
.project-story .project-intro .project-prose{padding-top:6px;max-width:480px}
.project-story .project-prose p{font-size:15px;line-height:1.85;color:#4c4c48}
.project-story .project-prose p+p{margin-top:20px}
.project-story .project-prose .textlink{margin-top:28px;font-size:11px}
.project-story .project-context{padding:0 4vw 100px;display:grid;grid-template-columns:1.35fr 1fr;gap:5vw;align-items:start}
.project-story .project-context figure{min-width:0}
.project-story .project-context img{width:100%;height:auto}
.project-story .project-context figure:last-child{margin-top:150px}
.project-story .project-context figcaption,.project-story .project-final-photo figcaption{font-size:10px;color:#62625e;margin-top:15px;display:flex;gap:20px;line-height:1.65}
.project-story .photo-index{font-size:9px;letter-spacing:.08em;flex:none;color:inherit}
.project-story .project-process{padding:85px 4vw 75px;background:#202020;color:#f3f3ef}
.project-story .process-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:50px}
.project-story .process-heading h2{font-size:clamp(44px,6.5vw,100px);margin-top:22px;max-width:760px}
.project-story .process-heading>p{max-width:350px;font-size:12px;line-height:1.8;color:#bfbfba}
.project-story .project-photo-controls{margin:0;padding:0;border:0;display:grid;gap:0;align-self:start}
.project-story .project-photo-controls button{display:grid;grid-template-columns:25px 1fr 20px;gap:16px;background:none;border:0;border-top:1px solid #5a5a56;text-align:left;padding:24px 0;color:#a8a8a3;min-height:82px;align-items:start;width:100%}
.project-story .project-photo-controls button:last-child{border-bottom:1px solid #5a5a56}
.project-story .project-photo-controls button>span:first-child{font-size:9px;letter-spacing:.07em;margin-top:5px}
.project-story .project-photo-controls strong{display:block;font-family:Hubot,Arial,sans-serif;font-size:30px;line-height:1.12;font-weight:450;letter-spacing:-.04em}
.project-story .project-photo-controls small{display:block;font-size:11px;line-height:1.8;max-width:270px;margin-top:13px;color:#aaa9a4}
.project-story .project-photo-controls .arrow{width:19px;height:19px;margin-top:5px;opacity:0}
.project-story .project-photo-controls button[aria-pressed=true]{color:#fff}
.project-story .project-photo-controls button[aria-pressed=true] .arrow{opacity:1}
.project-story .project-photo-controls button[aria-pressed=true] small{color:#deded8}
.project-story .project-photo-controls button:hover{color:#fff}
.project-story .project-photo-controls button:focus-visible{outline-color:#fff}
.project-story .project-photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.project-story .project-photo-gallery figure{min-width:0}
.project-story .project-photo-gallery img{width:100%;height:450px;object-fit:contain;background:#191919}
.project-story .project-photo-gallery figcaption{font-size:11px;line-height:1.7;color:#c6c6c0;margin-top:16px;max-width:680px}
.project-story .project-photo-gallery figcaption strong{display:block;color:#f3f3ef;font-weight:500;margin-bottom:7px}
.project-story .project-process.is-enhanced .project-photo-layout{display:grid;grid-template-columns:1fr 2fr;gap:7vw;align-items:start}
.project-story .project-process.is-enhanced .project-photo-gallery{display:block;min-width:0}
.project-story .project-process.is-enhanced .project-photo-gallery img{height:600px;max-height:72svh;object-fit:contain}
.project-story .project-process.is-enhanced .project-photo-gallery figcaption strong{display:none}
.project-story .project-process noscript p{margin-bottom:30px;font-size:11px;color:#bfbfba}
.project-story .project-outcome{padding:95px 8vw 90px;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}
.project-story .project-outcome h2{font-size:clamp(46px,6.5vw,95px);margin-top:23px}
.project-story .project-outcome .project-prose{padding-top:45px}
.project-story .project-final-photo{margin:0 4vw 85px}
.project-story .project-final-photo img{width:100%;height:auto;max-height:800px;object-fit:contain;background:#e6e6e1}
.project-story .project-credits{padding:0 8vw 85px;display:grid;grid-template-columns:1fr 2fr;gap:7vw}
.project-story .project-credits>div h2{font-family:Mont,Arial,sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;line-height:1.6}
.project-story .project-credits dl{margin:0}
.project-story .project-credits dl>div{display:grid;grid-template-columns:1fr 1.3fr;gap:25px;padding:16px 0;border-top:1px solid #c7c7c3;font-size:12px}
.project-story .project-credits dl>div:last-child{border-bottom:1px solid #c7c7c3}
.project-story .project-credits dt{color:#686864}
.project-story .project-credits dd{margin:0}
.project-story .project-next{display:grid;grid-template-columns:1.1fr 1fr;background:#e5e5e0;align-items:stretch}
.project-story .project-next>a{display:flex;flex-direction:column;justify-content:space-between;align-items:start;padding:55px 4vw;min-width:0}
.project-story .project-next h2{font-size:clamp(43px,5.5vw,85px);margin:30px 0;max-width:600px}
.project-story .project-next .textlink{font-size:11px}
.project-story .project-next img{width:100%;height:100%;max-height:480px;object-fit:cover}
.project-story .project-next>a:hover .textlink{border-color:#222}
.project-story .project-cta{padding:85px 4vw 90px;background:#171717;color:#f3f3ef}
.project-story .project-cta>div{display:flex;justify-content:space-between;gap:60px;align-items:end}
.project-story .project-cta h2{font-size:clamp(50px,7.7vw,120px);max-width:880px;margin-top:25px}
.project-story .project-cta>div>a{flex:none;width:75px;height:75px;border:1px solid #777;border-radius:50%;display:grid;place-items:center}
.project-story .project-cta .arrow{width:30px;height:30px}
.project-story .project-cta-links{display:flex;gap:30px;flex-wrap:wrap;margin-top:35px;font-size:11px}
.project-story .project-cta-links>a{display:inline-flex;padding:10px 0;border-bottom:1px solid #777}
.project-story .project-cta-links a:hover{border-color:#fff}
.project-story .project-cta a:focus-visible{outline-color:#fff}
@media(min-width:1500px){.project-story .project-intro,.project-story .project-outcome,.project-story .project-credits{padding-left:max(8vw,calc((100vw - 1450px)/2));padding-right:max(8vw,calc((100vw - 1450px)/2))}}
@media(max-width:1000px){.project-story .project-hero{padding-top:110px;min-height:720px;min-height:90svh}.project-story .project-facts dl{grid-template-columns:1fr 1fr;gap:24px 40px}.project-story .project-intro,.project-story .project-outcome{padding:75px 5vw;gap:35px}.project-story .project-intro h2{font-size:7vw}.project-story .project-context{gap:4vw}.project-story .project-context figure:last-child{margin-top:100px}.project-story .project-process.is-enhanced .project-photo-layout{grid-template-columns:1fr 1.65fr;gap:5vw}.project-story .project-process.is-enhanced .project-photo-gallery img{height:520px}.project-story .project-photo-controls strong{font-size:27px}.project-story .project-credits{padding-left:5vw;padding-right:5vw}.project-story .project-next>a{padding:40px 4vw}}
@media(max-width:700px){.project-story .project-hero{padding:105px 6vw 30px;min-height:680px;min-height:94svh}.project-story .project-title h1{font-size:19vw;line-height:.92}.project-story .project-title h1 span{font-size:.57em}.project-story .project-title{margin-top:120px}.project-story .project-title .micro{font-size:9px;max-width:260px}.project-story .project-hero-bottom{display:block;margin-top:20px}.project-story .project-hero-bottom>p{font-size:12px;max-width:340px}.project-story .project-hero-bottom>a{font-size:10px;margin-top:20px;padding:10px 0}.project-story .project-facts{padding:30px 6vw}.project-story .project-facts dl{gap:26px 25px}.project-story .project-facts dd{font-size:16px}.project-story .project-facts dt{font-size:8px}.project-story .project-qualification{font-size:10px}.project-story .project-intro,.project-story .project-outcome{grid-template-columns:1fr;padding:65px 6vw;gap:24px}.project-story .project-intro h2,.project-story .project-outcome h2{font-size:13vw;max-width:580px}.project-story .project-intro>.micro{grid-column:auto}.project-story .project-prose p{font-size:13px;line-height:1.85}.project-story .project-context{padding:0 6vw 65px;gap:35px;grid-template-columns:1fr}.project-story .project-context figure:last-child{margin:0 0 0 16vw}.project-story .project-context figcaption{font-size:9px;gap:14px}.project-story .project-process{padding:60px 6vw}.project-story .process-heading{display:block;margin-bottom:28px}.project-story .process-heading h2{font-size:13vw;max-width:560px}.project-story .process-heading>p{margin-top:22px;font-size:11px;max-width:500px}.project-story .project-photo-gallery{grid-template-columns:1fr;gap:35px}.project-story .project-photo-gallery img{height:auto;max-height:600px}.project-story .project-process.is-enhanced .project-photo-layout{display:flex;flex-direction:column;gap:25px}.project-story .project-photo-controls{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:13px}.project-story .project-photo-controls button{display:flex;flex-direction:column;gap:10px;border-bottom:1px solid #5a5a56;padding:16px 0;min-height:88px}.project-story .project-photo-controls strong{font-size:20px;letter-spacing:-.035em;line-height:1.2}.project-story .project-photo-controls small,.project-story .project-photo-controls .arrow{display:none}.project-story .project-photo-controls button[aria-pressed=true]{border-bottom-color:#eee}.project-story .project-photo-controls button>span:first-child{font-size:9px;margin:0}.project-story .project-photo-gallery{width:100%}.project-story .project-process.is-enhanced .project-photo-gallery img{height:440px;height:65svh;max-height:540px}.project-story .project-photo-gallery figcaption{font-size:10px}.project-story .project-process.is-enhanced .project-photo-gallery figcaption strong{display:block;font-size:12px}.project-story .project-outcome .project-prose{padding-top:0}.project-story .project-final-photo{margin:0 6vw 60px}.project-story .project-credits{padding:0 6vw 60px;grid-template-columns:1fr;gap:25px}.project-story .project-credits dl>div{font-size:11px;gap:20px;grid-template-columns:1fr 1.2fr}.project-story .project-next{grid-template-columns:1fr}.project-story .project-next>a{padding:40px 6vw}.project-story .project-next h2{font-size:12vw;margin:25px 0 30px}.project-story .project-next>img{height:auto;max-height:420px}.project-story .project-cta{padding:60px 6vw}.project-story .project-cta>div{gap:20px}.project-story .project-cta h2{font-size:12vw}.project-story .project-cta>div>a{width:48px;height:48px}.project-story .project-cta .arrow{width:22px;height:22px}.project-story .project-cta-links{gap:20px;font-size:10px}}
@media(max-height:600px) and (min-width:701px){.project-story .project-hero{min-height:640px}.project-story .project-title h1{font-size:12vw}}
@media(prefers-reduced-motion:reduce){html:has(body.project-story){scroll-behavior:auto}.project-story *,.project-story *:before,.project-story *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Narrow project galleries: natural photo proportions and readable controls. */
@media(max-width:700px){.project-story .project-photo-controls button,.project-story .project-photo-controls button>span{min-width:0;max-width:100%}.project-story .project-photo-controls strong{overflow-wrap:anywhere}.project-story .project-process.is-enhanced .project-photo-gallery img{display:block;width:auto;max-width:100%;height:auto;max-height:min(540px,65svh);margin-inline:auto}}
@media(max-width:380px){.project-story .project-photo-controls{grid-template-columns:1fr;gap:0}.project-story .project-photo-controls button{display:grid;grid-template-columns:25px minmax(0,1fr);gap:12px;min-height:44px;padding:13px 0}.project-story .project-photo-controls strong{font-size:19px}.project-story .project-photo-controls button+button{border-top:0}}

/* Editorial galleries follow native scroll; the complete image and caption
   pause only when they fit. Controls and headings stay in normal document flow. */
.project-story .project-process.is-enhanced .project-photo-gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:0;flex:none}
.project-story .project-process.is-enhanced .project-photo-gallery figure{grid-area:1/1;margin:0}
.project-story .project-process.is-enhanced .project-photo-gallery figure[hidden]{display:block!important;visibility:hidden;pointer-events:none}
.project-story .project-process.is-story-scroll .project-photo-layout{min-height:var(--story-track-height);position:relative}
.project-story .project-process.is-story-scroll .project-photo-gallery{position:sticky;top:var(--story-pin-top);align-self:start}
.project-story .project-process.is-story-measuring .project-photo-gallery{position:relative;top:auto}
@media(prefers-reduced-motion:reduce){
 .project-story .project-process.is-story-scroll .project-photo-layout{min-height:0}
 .project-story .project-process.is-story-scroll .project-photo-gallery{position:relative;top:auto}
}
@media print{
 .project-story .project-process.is-enhanced .project-photo-layout{display:block;min-height:0!important}
 .project-story .project-process.is-enhanced .project-photo-gallery{position:static!important;display:block}
 .project-story .project-process.is-enhanced .project-photo-gallery figure[hidden]{display:block!important;visibility:visible;pointer-events:auto}
 .project-story .project-photo-controls{display:none!important}
}
