body:has(.image-viewer[open]){overflow:hidden}.publication-list .publication-cover{flex:0 0 70px}
.natural-project-hero{height:auto;background:var(--site-bg)}.natural-project-hero>img{width:100%;height:auto;object-fit:contain}.natural-project-hero .project-hero-empty{height:50vh}
.revised-project .project-title{font-family:Inter,Arial,sans-serif;font-weight:700;margin-bottom:24px}.project-dates{margin:0 0 30px}.project-dates>div{display:flex;gap:24px;margin:8px 0}.project-dates dt{min-width:100px;font-weight:700}.project-dates dd{margin:0}
.project-info{max-width:none;margin-bottom:48px}.project-info>summary{justify-content:flex-start;gap:22px}.project-info .project-information{padding:24px 0}.revised-project .project-question{width:100%;max-width:none;margin:40px 0;font:700 clamp(1.5rem,3.4vw,3rem)/1.3 Inter,Arial,sans-serif}.project-story{width:100%;margin:0 0 64px}.project-story p,.project-extra-body>p{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.65;white-space:pre-line;margin:0 0 1.4em}.story-more{display:flex;flex-direction:column}.story-more summary{cursor:pointer;list-style:none;font-weight:700;padding:8px 0}.story-more summary::-webkit-details-marker{display:none}.story-more .read-less,.story-more[open] .read-more{display:none}.story-more[open] .read-less{display:inline}.story-more[open] summary{margin-bottom:24px}
.image-sequence{margin:50px 0 70px;min-width:0}.sequence-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-weight:700}.sequence-tools button{border:0;background:transparent;color:inherit;font-size:24px;min-width:44px;min-height:44px}.image-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:none;align-items:flex-start}.image-track::-webkit-scrollbar{display:none}.image-track figure{flex:0 0 auto;width:max-content;max-width:100%;margin:0;scroll-snap-align:start}.gallery-open{display:block;padding:0;border:0;background:transparent;max-width:100%;cursor:zoom-in}.gallery-open img{display:block;height:68svh;max-height:800px;width:auto;max-width:100%;object-fit:contain}.image-track figcaption{max-width:70ch;font-size:.8rem;line-height:1.4;padding-top:12px;white-space:normal}.drawing-sequence .image-track figure{flex:0 0 calc((100% - 72px)/4);width:calc((100% - 72px)/4)}.drawing-sequence .gallery-open{width:100%}.drawing-sequence img{width:100%;height:32svh;object-fit:contain}
.project-extra{margin:28px 0}.project-extra-body{padding:28px 0}.project-extra-body .image-sequence{margin-top:24px}.project-news-entry{margin:0 0 36px}.project-credits{margin-bottom:70px}
.image-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--site-bg);color:var(--site-ink);z-index:1000}.image-viewer::backdrop{background:var(--site-bg)}.viewer-toolbar{height:64px;display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:8px 24px}.viewer-toolbar button{background:var(--site-bg);color:var(--site-ink);border:0;font:600 18px Inter,Arial,sans-serif;min-width:44px;min-height:44px}.viewer-toolbar button:disabled{opacity:.3}.viewer-stage{height:calc(100dvh - 115px);overflow:auto;display:flex;align-items:center;justify-content:center;padding:10px 24px}.viewer-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain}.viewer-caption{margin:0;padding:12px 24px;font-size:.85rem}.image-viewer button:focus-visible,.gallery-open:focus-visible{outline:2px solid #03007f;outline-offset:3px}
.revised-project .project-closing{margin:80px -5vw 0;padding:80px 5vw 50px;background:var(--site-bg) url('/related-field.svg') center/cover;gap:24px}.revised-project .related-label{position:static;grid-column:1/-1;writing-mode:horizontal-tb;transform:none;order:-2;font:700 1.1rem Inter,Arial,sans-serif;background:var(--site-bg);width:max-content;padding:6px 10px}.revised-project .related-title{background:var(--site-bg);padding:12px}.revised-project .thinking-box{background:var(--site-bg)}.revised-project .omi-return-circle{background:var(--site-bg)}.revised-project .omi-return-circle:hover,.revised-project .omi-return-circle:focus-visible{background:#03007f}.revised-project .project-closing .related-image img{object-fit:contain;background:var(--site-bg)}
.publication-grid{gap:64px 36px}.publication-grid .publication-entry img{height:350px;object-fit:contain;object-position:center}.publication-grid .publication-entry>div{padding-top:4px}.publication-grid .publication-entry h2{font-size:1rem}.publication-cover{display:block}.publication-cover:hover img{opacity:.8}
@media(max-width:900px){.drawing-sequence .image-track figure{flex-basis:calc((100% - 24px)/2);width:calc((100% - 24px)/2)}.publication-grid .publication-entry img{height:260px}}
@media(max-width:620px){.image-track{gap:16px}.gallery-open img{height:56svh}.drawing-sequence .image-track figure{flex-basis:calc((100% - 16px)/2);width:calc((100% - 16px)/2)}.drawing-sequence img{height:26svh}.revised-project .project-closing{margin-left:-22px;margin-right:-22px;padding:50px 22px 35px;gap:16px}.publication-grid .publication-entry img{height:210px}.viewer-toolbar{gap:6px;padding:6px 12px}.viewer-stage{padding:8px}.project-dates>div{gap:14px}}
/* Project rhythm: common left edge, compact facts and broad editorial text. */
.revised-project{padding-top:40px}.revised-project .project-title{max-width:none;font-size:clamp(2.5rem,5.5vw,6rem);line-height:1.02;letter-spacing:-.045em;margin-bottom:26px}
.project-dates{font-size:.9rem;margin-bottom:14px}.project-dates>div{margin:4px 0}.project-info{margin-bottom:38px}.project-info>summary{font:600 .95rem Inter,Arial,sans-serif;padding:8px 0;gap:14px}.revised-project .project-question{font-size:clamp(1.5rem,2.8vw,2.75rem);line-height:1.18;letter-spacing:-.025em;margin:36px 0 28px}.project-story p{font:500 clamp(1.15rem,2vw,1.8rem)/1.38 Inter,Arial,sans-serif;letter-spacing:-.018em;margin-bottom:1em}.project-story{margin-bottom:54px}.project-extra>summary{font:600 clamp(1rem,1.5vw,1.3rem)/1.3 Inter,Arial,sans-serif}.project-extra-body .sequence-tools{display:none}
.image-sequence{position:relative}.sequence-tools>div:empty{display:none}.sequence-edge{position:absolute;top:38px;bottom:35px;width:64px;border:0;background:transparent;color:var(--site-ink);font-size:34px;z-index:2;opacity:0;transition:opacity .18s;cursor:pointer;text-shadow:0 0 7px white,0 0 12px white}.edge-previous{left:0}.edge-next{right:0}.sequence-edge:hover,.sequence-edge:focus-visible{opacity:1}.sequence-edge:disabled{visibility:hidden;pointer-events:none}.project-extra-body .sequence-edge{top:0}
.project-mosaic .sequence-tools{display:none}.mosaic-track{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(112px,12vw,216px) clamp(28px,4vw,80px);overflow:visible;scroll-snap-type:none;align-items:start}.mosaic-track figure{width:100%;min-width:0;max-width:none;grid-row:auto}.mosaic-track .gallery-open{width:100%;height:auto;display:flex;align-items:center;justify-content:center;background:transparent}.mosaic-track .gallery-open img{width:auto;height:auto;max-width:100%;max-height:75svh;object-fit:contain}.mosaic-track figcaption{font-size:.75rem;color:var(--site-ink);overflow-wrap:anywhere}.mosaic-track .gallery-second-hero{grid-column:1/-1;width:100%;max-width:none;margin:0}.mosaic-track .gallery-second-hero .gallery-open img{width:100%;height:auto;max-width:none;max-height:none}.mosaic-track .gallery-second-hero figcaption{padding:12px 0 0}.mosaic-track .gallery-group-2-1{grid-column:1/span 6}.mosaic-track .gallery-group-2-2{grid-column:9/span 4;margin-top:clamp(96px,14vw,240px)}.mosaic-track .gallery-group-3-1{grid-column:1/span 4}.mosaic-track .gallery-group-3-2{grid-column:6/span 3;margin-top:clamp(64px,10vw,180px)}.mosaic-track .gallery-group-3-3{grid-column:10/span 3;margin-top:clamp(16px,3vw,56px)}.mosaic-track .gallery-solo{grid-column:3/span 8;margin:clamp(128px,14vw,240px) 0}.mosaic-track .gallery-solo .gallery-open img{max-height:82svh}
.viewer-toolbar [data-viewer=previous],.viewer-toolbar [data-viewer=next]{position:absolute;top:64px;bottom:55px;width:70px;background:transparent;opacity:0;z-index:2;font-size:32px;text-shadow:0 0 7px white}.viewer-toolbar [data-viewer=previous]{left:0}.viewer-toolbar [data-viewer=next]{right:0}.viewer-toolbar [data-viewer=previous]:hover,.viewer-toolbar [data-viewer=next]:hover,.viewer-toolbar [data-viewer]:focus-visible{opacity:1}
@media(hover:none){.sequence-edge{display:none}.viewer-toolbar [data-viewer=previous],.viewer-toolbar [data-viewer=next]{position:static;opacity:1;width:44px}}
@media(max-width:900px){.mosaic-track{grid-template-columns:repeat(6,minmax(0,1fr));gap:96px 28px}.mosaic-track .gallery-group-2-1{grid-column:1/span 3}.mosaic-track .gallery-group-2-2{grid-column:4/span 3;margin-top:72px}.mosaic-track .gallery-group-3-1{grid-column:1/span 2}.mosaic-track .gallery-group-3-2{grid-column:3/span 2;margin-top:48px}.mosaic-track .gallery-group-3-3{grid-column:5/span 2;margin-top:20px}.mosaic-track .gallery-solo{grid-column:2/span 4;margin:112px 0}}
@media(max-width:620px){.revised-project{padding-top:28px}.revised-project .project-title{font-size:clamp(2.3rem,9vw,3.5rem)}.mosaic-track{grid-template-columns:1fr;gap:72px}.mosaic-track figure[class*="gallery-group-"]{grid-column:1/-1;width:88%;margin-top:0;justify-self:start}.mosaic-track figure.gallery-group-2-2,.mosaic-track figure.gallery-group-3-2{justify-self:end}.mosaic-track figure.gallery-group-3-3{justify-self:center}.mosaic-track .gallery-solo{grid-column:1/-1;width:100%;margin:80px 0}.project-story p{line-height:1.4}}
@media(prefers-reduced-motion:reduce){.sequence-edge{transition:none}}

.viewer-image-next{display:flex;align-items:center;justify-content:center;border:0;padding:0;background:transparent;max-width:100%;max-height:100%;cursor:pointer}.viewer-image-next img{max-height:calc(100dvh - 135px)}.viewer-image-next:disabled{cursor:default;opacity:1}
.project-dates dt{min-width:0}.project-dates>div{gap:10px}.project-info>summary{gap:9px}.project-info .service-plus{width:12px;height:12px;flex:0 0 12px}
.revised-project .project-closing{background-size:420px auto;background-repeat:repeat}
.project-info .service-plus:before,.project-info .service-plus:after{width:12px;top:5px;height:1.5px}
/* Project story and continuous ripple field. */
.revised-project .project-subtitle{font:500 clamp(1.1rem,2vw,1.6rem)/1.25 Inter,Arial,sans-serif;margin:-10px 0 28px;max-width:48em}
.project-story-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:6vw;align-items:start;margin:40px 0 65px}.project-story-layout .project-story{grid-column:2;margin:0}.project-story-layout .project-story p{font:700 16px/1.4 Inter,Arial,sans-serif;letter-spacing:0;margin:0 0 1.2em}.story-sketch{margin:0;grid-column:1;grid-row:1}.story-sketch img{display:block;width:100%;height:auto;max-height:480px;object-fit:contain}.project-story-layout .story-more summary{font-size:14px}
.project-ending{position:relative;isolation:isolate;background:#050505;color:#fff;margin:80px -5vw 0;min-height:60vw;padding:60px 5vw 24vw;overflow:hidden}.revised-project .project-ending .project-closing{position:relative;z-index:2;display:grid;grid-template-columns:75px 1fr;gap:25px;background:none;margin:0;padding:0}.project-ending .project-closing .related-label{grid-column:1;grid-row:1;align-self:center;order:0;position:static;background:none;padding:0;margin:0;transform:none;writing-mode:horizontal-tb;font:500 14px/1.2 Arial,sans-serif;color:#fff}.project-ending .project-closing-boxes{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-ending .related-image img{filter:grayscale(1)}.revised-project .project-ending .related-title{display:block;text-align:left;padding:12px 0 0 10px;background:transparent;color:#fff;font:500 14px/1.2 Arial,sans-serif}.revised-project .project-ending .thinking-box{background:#050505;color:#fff}.project-ending .omi-return-circle{display:none}.project-ending .related-project{color:#fff}.project-ending .related-image{background:#050505}
.project-ending .ripple-mark{position:absolute;inset:auto 0 0;width:100%;height:auto;aspect-ratio:240.94/141.73;margin:0;z-index:0;color:var(--site-muted-fine);cursor:pointer}.project-ending .ripple-mark svg{width:100%;height:100%;overflow:visible}.project-ending .ripple-mark text{font:400 3px Arial,sans-serif;fill:#fff}.project-ending .ripple-mark:hover,.project-ending .ripple-mark:focus-visible{color:var(--site-muted-secondary)}.project-page #main>footer{background:#050505;color:#fff;margin:0;padding:20px 5vw 30px;min-height:70px}
@media(max-width:620px){.project-story-layout{grid-template-columns:1fr;gap:28px;margin:30px 0 45px}.project-story-layout .project-story{grid-column:1}.story-sketch{max-width:280px}.project-ending{margin:55px -22px 0;padding:35px 22px 45vw;min-height:115vw}.revised-project .project-ending .project-closing{grid-template-columns:40px 1fr;gap:12px}.project-ending .project-closing-boxes{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-ending .thinking-box{grid-column:1/-1;aspect-ratio:auto;min-height:100px}.project-ending .related-title{font-size:14px}.project-ending .ripple-mark{width:160%;max-width:none;left:-60%}}
/* The black footer keeps its subtle line colour in both themes. */
.project-ending{margin-top:100px;min-height:0;padding:56px 5vw 110px}.project-ending .ripple-mark{inset:0;width:100%;height:100%;aspect-ratio:auto;color:#333}.project-ending .ripple-mark:hover,.project-ending .ripple-mark:focus-visible{color:#333}.project-ending .ripple-mark svg{overflow:hidden}.project-ending .ripple-mark text{font-size:3px}
.revised-project .project-ending .project-closing{grid-template-columns:20px repeat(4,minmax(0,1fr));gap:20px;max-width:1000px;margin:0 auto;align-items:start}.project-ending .project-closing-boxes{display:contents}.project-ending .project-closing .related-label{grid-column:1;grid-row:1;align-self:center;justify-self:center;writing-mode:vertical-rl;transform:rotate(180deg);font:500 14px/1 Arial,sans-serif}.project-ending .project-closing .omi-return-circle{display:grid;grid-column:2;grid-row:1;order:0;width:100%;height:auto;aspect-ratio:1;margin:0;background:transparent;border:1px solid #fff}.project-ending .project-closing .omi-return-circle:hover,.project-ending .project-closing .omi-return-circle:focus-visible{background:#03007f;border-color:#03007f}.project-ending .related-project{background:transparent}.revised-project .project-ending .related-title{position:static;text-align:left;padding:8px 0 0;font:500 16px/1.25 Arial,Helvetica,sans-serif;letter-spacing:0}.project-ending .project-closing .thinking-box blockquote{font:500 16px/1.3 Arial,Helvetica,sans-serif}.project-ending .project-closing .thinking-box{padding:14px}.ending-copyright{position:relative;z-index:1;font-size:12px;margin:50px 0 -80px}.project-page #main>footer{display:none}
.revised-project .image-track figcaption,.viewer-caption{font:700 16px/1.4 Inter,Arial,sans-serif;letter-spacing:0;color:inherit}
@media(max-width:620px){.project-ending{margin-top:65px;padding:35px 22px 95px}.revised-project .project-ending .project-closing{grid-template-columns:14px repeat(4,minmax(0,1fr));gap:9px}.project-ending .project-closing .related-label{font-size:12px}.project-ending .project-closing .thinking-box{grid-column:auto;aspect-ratio:1;min-height:0;padding:5px}.project-ending .project-closing .thinking-box blockquote{font-size:12px}.revised-project .project-ending .related-title{font-size:12px}.project-ending .ripple-mark{inset:0;width:100%;height:100%}.ending-copyright{margin-bottom:-65px}.project-ending .project-closing .omi-return-circle span{font-size:18px}}
.revised-project .project-ending .project-closing{grid-template-columns:minmax(0,1fr) 20px repeat(3,minmax(0,1fr))}.project-ending .project-closing .omi-return-circle{grid-column:1}.project-ending .project-closing .related-label{grid-column:2}
@media(max-width:620px){.revised-project .project-ending .project-closing{grid-template-columns:minmax(0,1fr) 14px repeat(3,minmax(0,1fr))}}
/* Two rows; uniform SVG scaling preserves the original ripple geometry. */
.project-ending{min-height:58.83vw;padding:56px 5vw 100px}.revised-project .project-ending .project-closing{grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 24px;max-width:1000px}.project-ending .project-closing .omi-return-circle{grid-column:1;grid-row:1}.ending-copyright{position:absolute;bottom:25px;left:5vw;margin:0}.project-ending .ripple-mark{inset:0;width:100%;height:100%}
@media(max-width:620px){.project-ending{min-height:0;padding:35px 22px 105px}.revised-project .project-ending .project-closing{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.revised-project .project-ending .related-title{font-size:14px}.project-ending .project-closing .thinking-box blockquote{font-size:14px}.ending-copyright{left:22px}}
.publication-cover:hover img,.related-project:hover .related-image img{opacity:1!important}
.process-video{margin:28px 0}.process-video video{display:block;width:100%;max-height:80vh;object-fit:contain;background:#000}.process-video figcaption{margin-top:12px;font:inherit;white-space:pre-line}

/* Open project sections with compact, uncropped supporting media. */
.revised-project .project-dates dt,.revised-project .project-section-heading,.revised-project .sequence-tools>span,.revised-project .project-credits h2,.revised-project .project-info>summary{font:700 var(--project-label-size,.9rem)/1.4 Inter,Arial,sans-serif;letter-spacing:0}
.project-section-heading{margin:0 0 20px}.project-extra{margin:48px 0}.project-extra-body{padding:0}.project-extra-body .image-sequence{margin:0 0 32px}
.revised-project .image-sequence:not(.project-mosaic) .image-track{gap:32px;align-items:flex-start}
.revised-project .image-sequence:not(.project-mosaic) .image-track figure{flex:0 0 calc((100% - 96px)/4);width:calc((100% - 96px)/4);max-width:260px}
.revised-project .image-sequence:not(.project-mosaic) .gallery-open{width:100%;height:220px;display:flex;align-items:center;justify-content:center}
.revised-project .image-sequence:not(.project-mosaic) .gallery-open img{width:auto;height:auto;max-width:100%;max-height:220px;object-fit:contain}
.revised-project .process-video{width:calc((100% - 96px)/4);max-width:260px;margin:24px 0 32px}.revised-project .process-video video{height:auto;max-height:220px}
.revised-project .story-sketch img{max-width:260px;max-height:220px;width:auto;margin:0 auto}
@media(max-width:700px){.revised-project .image-sequence:not(.project-mosaic) .image-track{gap:20px}.revised-project .image-sequence:not(.project-mosaic) .image-track figure{flex-basis:calc((100% - 20px)/2);width:calc((100% - 20px)/2)}.revised-project .image-sequence:not(.project-mosaic) .gallery-open{height:170px}.revised-project .image-sequence:not(.project-mosaic) .gallery-open img{max-height:170px}.revised-project .process-video{width:calc((100% - 20px)/2)}.revised-project .process-video video{max-height:170px}}

/* Compact aligned metadata and subordinate supporting text. */
.revised-project .project-dates,.revised-project .project-information dl{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:10px;row-gap:3px;font:400 .9rem/1.4 Inter,Arial,sans-serif}
.revised-project .project-dates>div,.revised-project .project-information dl>div{display:contents}
.revised-project .project-dates dt,.revised-project .project-dates dd,.revised-project .project-information dt,.revised-project .project-information dd{margin:0;padding:0;font-size:.9rem;line-height:1.4;font-family:Inter,Arial,sans-serif;letter-spacing:0}
.revised-project .project-information dt,.revised-project .project-information dd{font-weight:700}
.revised-project .project-info .project-information{padding:10px 0 14px}
.revised-project .project-extra-body,.revised-project .project-extra-body p,.revised-project .project-extra-body h3,.revised-project .project-extra-body figcaption,.revised-project .project-credits p,.revised-project .image-sequence:not(.project-mosaic) figcaption{font:400 .8rem/1.45 Inter,Arial,sans-serif;letter-spacing:0}
.revised-project .project-extra-body p,.revised-project .project-credits p{margin:0 0 .8em}
/* Preserve related images without letterboxing or added frames. */
.revised-project .project-ending .project-closing .related-image{display:block;aspect-ratio:auto;background:transparent;overflow:visible}
.revised-project .project-ending .project-closing .related-image img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:transparent}
.revised-project .project-ending .project-closing .thinking-box{justify-content:center;padding:20px;text-align:center}
.revised-project .project-ending .project-closing .thinking-box blockquote{width:100%;margin:0;text-align:center;overflow-wrap:anywhere}

/* Optional captions retain the approved project gallery typography. */
.revised-project .project-cover-caption,.story-sketch figcaption{font:700 16px/1.4 Inter,Arial,sans-serif;letter-spacing:0;color:var(--site-ink)}
.revised-project .project-cover-caption{margin:0 0 24px}.story-sketch figcaption{padding-top:12px}

/* Drawings and process continue down the page as compact thumbnail rows. */
.revised-project .image-sequence.wrapping-sequence .image-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;overflow:visible;scroll-snap-type:none;overscroll-behavior-x:auto}
.revised-project .image-sequence.wrapping-sequence .image-track figure{flex:none;width:100%;min-width:0;max-width:190px;scroll-snap-align:none}
.revised-project .image-sequence.wrapping-sequence figcaption{max-width:100%;overflow-wrap:anywhere}
.revised-project .image-sequence.wrapping-sequence .gallery-open{height:160px}.revised-project .image-sequence.wrapping-sequence .gallery-open img{max-height:160px}
@media(max-width:1000px){.revised-project .image-sequence.wrapping-sequence .image-track{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.revised-project .image-sequence.wrapping-sequence .image-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.revised-project .image-sequence.wrapping-sequence .gallery-open{height:120px}.revised-project .image-sequence.wrapping-sequence .gallery-open img{max-height:120px}}

/* Gallery videos use the same natural proportions and page colours as photos. */
.gallery-video-player{position:relative;min-width:0}.gallery-video-player video{display:block;width:100%;height:auto;max-height:75svh;aspect-ratio:auto 16/9;object-fit:contain;background:transparent;cursor:pointer}.gallery-video-controls{display:flex;justify-content:flex-end;gap:12px;margin-top:10px}.gallery-video-controls button{display:grid;place-items:center;width:32px;height:32px;padding:5px;background:transparent;border:0;color:var(--site-ink);cursor:pointer}.gallery-video-controls button:hover,.gallery-video-controls button:focus-visible{color:#03007f}.gallery-video-controls svg{width:100%;height:100%}.gallery-video-player .video-pause-icon,.gallery-video-player .video-sound-off{display:none}.gallery-video-player[data-playing="true"] .video-play-icon,.gallery-video-player[data-muted="true"] .video-sound-on{display:none}.gallery-video-player[data-playing="true"] .video-pause-icon,.gallery-video-player[data-muted="true"] .video-sound-off{display:block}.gallery-video-notice{font:400 .8rem/1.45 Inter,Arial,sans-serif;margin:8px 0 0}

/* Four equal large frames, with upward-reading captions in the gutters. */
.revised-project .project-ending{--ending-unit:min(21vw,400px);--ending-gap:calc((100vw - 4*var(--ending-unit))/5);min-height:0;padding:clamp(112px,10vw,180px) 0 max(calc(12.5vw + 16px),var(--ending-quote-reserve,0px))}
.revised-project .project-ending .project-closing{grid-template-columns:repeat(4,var(--ending-unit));justify-content:space-evenly;gap:16px 0;width:100%;max-width:none;margin:0;align-items:start}
.revised-project .project-ending .project-closing-boxes{display:contents}
.revised-project .project-ending .project-closing .omi-return-circle{width:100%;justify-self:stretch}
.revised-project .project-ending .project-closing .related-project{position:relative;aspect-ratio:auto;overflow:visible;align-self:start;min-width:0}
.revised-project .project-ending .project-closing .related-image{position:relative;display:grid;place-items:center;width:100%;height:auto;aspect-ratio:1;overflow:hidden;background:transparent}
.revised-project .project-ending .project-closing .related-image img{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center bottom;background:transparent}
.revised-project .project-ending .project-closing .related-title{position:absolute;top:auto;bottom:var(--caption-image-bottom,0px);left:calc(var(--caption-image-inset,0px) - 2px);right:auto;height:auto;max-height:calc(var(--ending-gap) + var(--caption-image-inset,0px) - 4px);width:var(--caption-image-height,var(--ending-unit));max-width:none;margin:0;padding:0;writing-mode:horizontal-tb;transform-origin:bottom left;transform:rotate(-90deg);text-align:left;font:700 .9rem/1.4 Inter,Arial,sans-serif;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
.revised-project .project-ending .project-closing .thinking-box{position:absolute;left:var(--quote-left,var(--ending-gap));top:var(--quote-centre,calc(100% + 48px));transform:translateY(-50%);grid-column:auto;grid-row:auto;aspect-ratio:auto;min-height:0;display:block;width:var(--quote-width,60%);max-width:56ch;margin:0;padding:0;overflow:visible;background:transparent;text-align:left}
.revised-project .project-ending .project-closing .thinking-box blockquote{width:100%;max-width:68ch;margin:0;font:700 clamp(18px,1.2vw,20px)/1.4 Inter,Arial,sans-serif;letter-spacing:0;text-align:center;overflow-wrap:anywhere}

@media(max-width:620px){.revised-project .project-ending{--ending-unit:36vw;--ending-gap:calc((100vw - 2*var(--ending-unit))/3);padding-top:80px;padding-bottom:140px}.revised-project .project-ending .project-closing{grid-template-columns:repeat(2,var(--ending-unit));row-gap:48px}.revised-project .project-ending .project-closing .related-title{font-size:.9rem}.revised-project .project-ending .project-closing .thinking-box{position:relative;left:auto;top:auto;transform:none;grid-column:1/-1;width:100%;max-width:none;padding:12px 0}}

/* Keep the original quote row as space while the quote is independently aligned. */
.revised-project .project-ending .project-closing::after{content:"";grid-column:1/-1;min-height:96px}
.revised-project .project-ending .project-closing .omi-return-circle span{font:900 calc(var(--ending-unit)*.38)/1 Inter,Arial,sans-serif;letter-spacing:-.065em}
@media(max-width:620px){.revised-project .project-ending .project-closing::after{display:none}}

/* Wrap the project name normally before rotating the caption upward. */
.revised-project .project-ending .project-closing .related-title>span{display:block;white-space:normal;overflow-wrap:anywhere}

/* Authored project genealogy: narrative connections, before general project navigation. */
.revised-project .project-relationships{margin:72px 0 88px;max-width:100%;min-width:0}.project-relationship{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;min-width:0}.project-relationship+.project-relationship{margin-top:56px}.project-relationship-copy{min-width:0;max-width:75ch}.revised-project .project-relationship .project-section-heading{margin:0 0 14px}.revised-project .project-relationship-description{font:400 1rem/1.6 Inter,Arial,sans-serif;letter-spacing:0;white-space:pre-line;overflow-wrap:anywhere;margin:0 0 18px}.project-relationship-link{display:inline-flex;align-items:baseline;gap:10px;max-width:100%;font:400 1rem/1.5 Inter,Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.project-relationship-link .site-arrow{flex:none}.project-relationship-link:hover,.project-relationship-link:focus-visible{color:var(--site-link,#03007f)}.project-relationship-link:focus-visible{outline:2px solid #03007f;outline-offset:5px}.project-relationship.has-thumbnail{grid-template-columns:minmax(0,1fr) 160px;align-items:start}.project-relationship-thumbnail{display:block;max-width:100%;background:transparent}.project-relationship-thumbnail img{display:block;width:100%;height:auto;max-height:140px;object-fit:contain;object-position:left top;background:transparent}
@media(max-width:620px){.revised-project .project-relationships{margin:48px 0 64px}.project-relationship.has-thumbnail{grid-template-columns:minmax(0,1fr);gap:22px}.project-relationship-thumbnail{max-width:130px}.project-relationship+.project-relationship{margin-top:40px}.revised-project .project-relationship-description,.project-relationship-link{font-size:.95rem}}

/* Photo captions use the same size as Process and Team headings. */
body.project-page{--project-label-size:.9rem}
body.project-page .revised-project .project-cover-caption,
body.project-page .revised-project .story-sketch figcaption,
body.project-page .revised-project .image-track figcaption,
body.project-page .revised-project .process-video figcaption,
body.project-page .revised-project .report-video figcaption,
body.project-page .viewer-caption{font-size:var(--project-label-size)}

/* Authored photo and text credits follow the project content. */
.revised-project .project-content-credits{margin:64px 0 70px;min-width:0}
.project-content-credits dl{display:grid;grid-template-columns:minmax(110px,180px) minmax(0,1fr);gap:18px 32px;margin:0;font:400 .8rem/1.45 Inter,Arial,sans-serif;letter-spacing:0}
.project-content-credits dl>div{display:contents}.project-content-credits dt{font-weight:700;margin:0;overflow-wrap:anywhere}.project-content-credits dd{margin:0;min-width:0;max-width:75ch;overflow-wrap:anywhere}.project-content-credits dd p{font:inherit;margin:0 0 .5em;white-space:pre-line}.project-content-credits dd a{display:inline-block;text-decoration:underline;text-underline-offset:3px}.project-content-credits dd a:hover{color:var(--site-link)}
@media(max-width:620px){.project-content-credits dl{grid-template-columns:minmax(85px,1fr) minmax(0,2fr);gap:16px 20px}}

/* Videos share the full-screen image viewer and keep native playback controls. */
.gallery-video-player .gallery-video-controls .gallery-video-open{width:32px;height:32px;display:grid;flex:none;max-height:none}
.image-viewer .viewer-stage>[hidden]{display:none!important}.viewer-stage .viewer-video{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;background:transparent}
.viewer-stage:has(.viewer-video:not([hidden])){padding-inline:80px}.viewer-video-notice{position:absolute;bottom:64px;left:24px;right:24px;font-size:.85rem;text-align:center}
@media(max-width:620px){.viewer-stage:has(.viewer-video:not([hidden])){padding-inline:8px}}

/* Image and video heroes retain the original media aspect ratio. */
.natural-project-hero .project-cover-video{margin:0;width:100%}.natural-project-hero .project-cover-video video{width:100%;height:auto;max-height:none}.natural-project-hero .gallery-video-controls{padding-inline:var(--omi-x,42px);margin:0}
.mosaic-track .gallery-second-hero .gallery-video-player video{width:100%;height:auto;max-height:none}

/* Fit the element to the video itself; a height cap must not letterbox a full-width frame. */
.gallery-video-player video[data-gallery-video],.process-video video,.revised-project .process-video video{height:auto;max-height:none;background:transparent;border:0;padding:0;object-fit:contain}
.viewer-stage .viewer-video{width:auto;height:auto;max-width:100%;max-height:100%;background:transparent;border:0;padding:0}
