/* Scroll follows the reference sequences, without replacing native scrolling. */
body .masthead,body.home .masthead,body.home .masthead:not(.is-scrolled),body .masthead.is-scrolled{background:rgba(251,250,247,.24);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:0;color:#252725}
body .masthead.over-dark{background:rgba(20,40,63,.18);color:#fbfaf7}
.masthead .brand-wordmark,.masthead.is-scrolled .brand-wordmark{opacity:1!important;transform:none!important;pointer-events:auto;transition:none}.masthead .wordmark-svg{transform-origin:0 50%;will-change:transform}.masthead .brand-rest{transition:none}.masthead.over-dark .menu{color:inherit!important}
body #navigation a,body .colophon a,body .masthead a{background-image:none!important;text-decoration:none!important;border-bottom:0!important}
body .colophon a::after,body #navigation a::after{border:0!important;background:none!important}
@media(hover:hover) and (pointer:fine){body .masthead .desktop-nav a:hover,body .colophon a:not(.footer-signature):hover,body #navigation nav a:hover{text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:6px!important}}
@media(hover:none),(pointer:coarse){body a{ text-decoration:none!important}body main a.textlink,body main .hero-links a,body main .project-read,body main .service-credit a,body main .contents a,body main .material-index a{text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:6px!important}body main .project-link,body main .project-link h3,body main .project-preview a,body main .material-card,body main .journal-grid>a{text-decoration:none!important}}
@media(max-width:620px){body a,body #navigation a,body .colophon a,body .masthead a{text-decoration:none!important}body main a.textlink,body main .hero-links a,body main .project-read,body main .service-credit a,body main .contents a,body main .material-index a{text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:6px!important}}
.image-sentence{background:var(--paper);padding:80px 6%;position:relative}.sentence-stage{position:relative}.sentence-copy h2{font-size:clamp(42px,5.7vw,84px);font-weight:400;line-height:1.04;letter-spacing:-.035em;max-width:22ch;margin:0}.sentence-slot{display:inline-block;width:1.75em;aspect-ratio:1.5;margin-right:.16em;vertical-align:-.02em}.sentence-rule{height:1px;background:#99998d;margin:32px 0;transform-origin:left}.sentence-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:60px}.sentence-bottom p{font-size:18px;line-height:1.7;max-width:44ch}.sentence-bottom a{font-size:15px;margin-top:5px;white-space:nowrap}.sentence-photo{aspect-ratio:1.5;margin:50px 0 0;position:relative;overflow:hidden}.sentence-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sentence-photo img:not(:first-child){opacity:0}
.image-sentence.motion-enabled{height:230svh;padding:0}.motion-enabled .sentence-stage{position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));overflow:hidden}.motion-enabled .sentence-copy{position:absolute;left:15%;right:8%;top:50%;transform:translateY(-50%)}.motion-enabled .sentence-photo{position:absolute;width:88%;left:6%;top:0;margin:0;transform-origin:0 0;z-index:2;will-change:transform}.motion-enabled .sentence-photo img{will-change:opacity}
.crossing-story{padding:100px 6%;position:relative}.crossing-stage{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.crossing-stage h2{font-size:clamp(42px,4.2vw,65px);line-height:1.1;letter-spacing:-.035em}.crossing-stage figure{aspect-ratio:.85;overflow:hidden}.crossing-stage img{height:100%;width:100%;object-fit:cover;object-position:68% center}.crossing-copy{grid-column:2}.crossing-copy p{font-size:18px;line-height:1.7;max-width:37ch;margin-bottom:25px}.crossing-copy p:first-child{font-size:25px;line-height:1.3}.crossing-story.motion-enabled{height:180svh;padding:0}.motion-enabled .crossing-stage{display:block;position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));overflow:hidden}.motion-enabled .crossing-stage h2{position:absolute;left:6%;top:34%;width:41%;z-index:0}.motion-enabled .crossing-stage figure{position:absolute;left:0;top:0;width:48%;height:100%;margin:0;z-index:2;will-change:transform}.motion-enabled .crossing-copy{position:absolute;left:61%;right:7%;top:30%;z-index:1}
.changing-story{position:relative;padding:100px 6%}.scene-heading{font-size:clamp(40px,6.5vw,96px);line-height:1.04;letter-spacing:-.035em;max-width:18ch;margin-bottom:80px}.scene-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:65px}.scene-panel figure{height:65vh;overflow:hidden}.scene-panel img{height:100%;width:100%;object-fit:cover}.scene-copy{background:#edeae3;padding:40px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.scene-copy h3{font-size:clamp(30px,4.1vw,62px);line-height:1.08;max-width:14ch}.scene-copy p{font-size:18px;line-height:1.7;max-width:38ch;margin:45px 0 25px}.scene-copy a{font-size:15px}.changing-story.motion-enabled{height:330svh;padding-top:120px}.motion-enabled .scene-heading{position:relative;z-index:0}.motion-enabled .scene-stage{position:sticky;top:calc(var(--header-height) + 20px);height:calc(100svh - var(--header-height) - 45px);margin-top:-45px;isolation:isolate}.motion-enabled .scene-panel{position:absolute;inset:0;margin:0;will-change:transform,opacity}.motion-enabled .scene-panel figure{height:100%}.motion-enabled .scene-panel:nth-child(even) figure{grid-column:2;grid-row:1}.motion-enabled .scene-panel:nth-child(even) .scene-copy{grid-column:1;grid-row:1;background:#292b2b;color:#fbfaf7}
/* Studio scale and project spreads: one distinct photographic moment per page. */
.scroll-frame{overflow:hidden}.scroll-frame img{will-change:transform}.photo-expand{transform-origin:50% 50%;will-change:transform}.line-mask{display:block;overflow:clip;padding-bottom:.09em;margin-bottom:-.09em}.line-mask>span{display:block}.article-opening h1,.index-head h1,.service-lead h1{overflow:clip}
/* BCG-inspired footer hierarchy: compact contact row, oversized signature below. */
.colophon{padding:65px 4% 25px;background:#14283f;color:#f4f1ea;overflow:hidden}.footer-contact{display:grid;grid-template-columns:1fr 1.4fr 1.5fr;gap:45px;border-top:1px solid #ffffff4a;padding-top:30px}.footer-contact p,.footer-contact span,.footer-contact a{font-size:14px;line-height:1.65}.footer-contact span,.footer-contact a{display:block}.footer-contact span{margin-bottom:6px;color:#c8cfd6}.footer-enquiry h2{font-size:clamp(25px,2.6vw,40px);line-height:1.2;margin-bottom:16px}.footer-enquiry a{padding-bottom:12px;border-bottom:1px solid #ffffff4a!important}.footer-bottom{display:grid;grid-template-columns:2.4fr .65fr .65fr;gap:45px;align-items:end;margin-top:100px}.footer-signature{display:flex;flex-direction:column;gap:20px;overflow:hidden;padding-bottom:10px}.footer-signature .wordmark-svg{height:auto;max-height:none;width:100%;stroke-width:2.4}.footer-signature .wordmark-svg:first-child{width:82%;margin-bottom:0}.footer-bottom nav{display:flex;flex-direction:column;gap:10px;font-size:14px;padding-bottom:10px}.footer-note{font-size:14px;align-self:start;line-height:1.7;text-align:right}.footer-legal{display:flex;justify-content:space-between;gap:30px;margin-top:55px;font-size:12px;color:#c8cfd6}.footer-signature svg{transform-origin:50% 100%}
@media(max-width:850px){.sentence-copy h2{font-size:clamp(38px,6.5vw,58px)}.sentence-bottom{display:block}.sentence-bottom a{margin-top:24px}.motion-enabled .sentence-copy{left:8%;right:8%}.crossing-copy p{font-size:16px}.crossing-copy p:first-child{font-size:22px}.scene-copy{padding:25px}.scene-copy h3{font-size:36px}.scene-copy p{font-size:16px}.footer-contact{grid-template-columns:1fr 1fr}.footer-contact>p{display:none}.footer-bottom{grid-template-columns:2fr 1fr}.footer-note{display:none}}
@media(max-width:620px){.image-sentence{padding:65px 28px}.image-sentence.motion-enabled{height:200svh}.motion-enabled .sentence-stage{height:calc(100svh - 76px);top:76px}.motion-enabled .sentence-copy{left:28px;right:28px}.sentence-copy h2{font-size:39px;line-height:1.08}.sentence-slot{width:1.65em}.sentence-bottom p{font-size:16px;line-height:1.7}.sentence-bottom a{font-size:14px;white-space:normal}.sentence-rule{margin-block:25px}.motion-enabled .sentence-photo{width:calc(100% - 56px);left:28px}.crossing-story{padding:70px 28px}.crossing-stage{display:block}.crossing-stage figure{margin:30px 0}.crossing-stage h2{font-size:39px}.crossing-story.motion-enabled{height:165svh}.motion-enabled .crossing-stage{top:76px;height:calc(100svh - 76px)}.motion-enabled .crossing-stage h2{top:15%;left:28px;width:70%;font-size:37px}.motion-enabled .crossing-stage figure{width:64%;height:58%;top:4%;object-position:70% center}.motion-enabled .crossing-copy{left:28px;right:28px;top:auto;bottom:22px}.crossing-copy p{font-size:16px;max-width:35ch;margin-bottom:15px}.crossing-copy p:first-child{font-size:22px}.crossing-copy a{font-size:14px}.changing-story{padding:70px 28px}.scene-heading{font-size:42px;margin-bottom:50px}.scene-panel{display:flex;flex-direction:column;gap:0}.scene-panel figure{height:340px}.scene-copy{padding:25px}.scene-copy h3{font-size:29px;max-width:18ch}.scene-copy p{font-size:16px;line-height:1.6;margin:20px 0}.scene-copy a{font-size:14px}.changing-story.motion-enabled{height:290svh;padding:80px 28px 0}.motion-enabled .scene-stage{top:90px;height:calc(100svh - 110px);margin-top:0}.motion-enabled .scene-panel figure{height:45%;flex-shrink:0}.motion-enabled .scene-copy{height:55%;justify-content:flex-start}.motion-enabled .scene-panel:nth-child(even){flex-direction:column-reverse}.motion-enabled .scene-panel:nth-child(even) .scene-copy{background:#efede7;color:#292b2b}.motion-enabled .scene-panel:nth-child(even) figure{height:45%}.colophon{padding:55px 28px 25px}.footer-contact{display:flex;flex-direction:column;gap:35px}.footer-contact a{overflow-wrap:anywhere}.footer-enquiry h2{font-size:30px}.footer-bottom{margin-top:70px;gap:45px;display:flex;flex-direction:column;align-items:stretch}.footer-signature{gap:10px;width:100%}.footer-bottom nav{display:grid;grid-template-columns:1fr 1fr;gap:16px}.footer-legal{font-size:11px;margin-top:35px}.footer-enquiry a{border-bottom:0!important}.footer-signature .wordmark-svg{min-height:0}}
@media(prefers-reduced-motion:reduce){.masthead .wordmark-svg,.photo-expand,.scroll-frame img{will-change:auto}.sentence-slot{display:none}.sentence-photo img:not(:first-child){display:none}.crossing-stage{display:block}.crossing-stage figure{max-height:65vh}.scene-panel{position:relative!important;transform:none!important;opacity:1!important}}
@media(prefers-reduced-transparency:reduce){body .masthead,body.home .masthead,body.home .masthead:not(.is-scrolled),body .masthead.is-scrolled{background:#fbfaf7;backdrop-filter:none}body .masthead.over-dark{background:#14283f}}
/* Explicitly exclude navigation and footer from the older touch underline rules. */
body .colophon a[href],body .colophon a[href]:active,body .colophon a[href]:focus,body #navigation a[href],body #navigation a[href]:active,body #navigation a[href]:focus,body .masthead a[href]{text-decoration:none!important;background-image:none!important}
@media(hover:hover) and (pointer:fine){body .colophon a[href]:not(.footer-signature):hover,body .masthead .desktop-nav a[href]:hover,body #navigation nav a[href]:hover{text-decoration:underline!important}}

.image-sentence:not(.motion-enabled) .sentence-slot{display:none}
