*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--site-bg);color:var(--site-ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid #03007f;outline-offset:6px}main:focus{outline:none}.skip{position:fixed;top:-80px;padding:16px;background:var(--site-bg);z-index:10}.skip:focus{top:8px}.sidebar{position:fixed;left:0;top:0;width:27%;height:100dvh;padding:46px 42px;display:flex;flex-direction:column}.wordmark{font-size:clamp(3.5rem,6.7vw,7rem);font-weight:500;letter-spacing:-.075em;line-height:1}.wordmark span{font-size:1rem;letter-spacing:0;vertical-align:top;display:inline-block;margin:8px 0 0 10px}.primary{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:75px;font-size:clamp(1.6rem,2.5vw,2.5rem);font-weight:400;letter-spacing:-.04em}.primary a{color:var(--site-ink)}.primary a[aria-current],.primary a:hover{color:var(--site-ink)}.language{display:flex;align-items:center;gap:10px;margin-top:36px;font-size:.875rem}.language button{border:0;background:none;padding:8px 0;cursor:pointer;color:var(--site-ink)}.language button[aria-pressed=true]{color:var(--site-ink);text-decoration:none;text-underline-offset:5px}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:16px;font-size:.75rem;line-height:1.6;max-width:180px}.muted{color:var(--site-ink)}main{margin-left:29%;padding:50px 48px 0 0;min-height:100vh}.eyebrow{font-size:.75rem;letter-spacing:.045em}.work-top{display:flex;justify-content:space-between;align-items:flex-end}h1{font-weight:400;letter-spacing:-.055em;font-size:clamp(3rem,5vw,5rem);margin:16px 0 0;line-height:1.08}.view-switch{display:flex;gap:18px;font-size:.875rem;padding-bottom:5px}.view-switch a{color:var(--site-ink)}.view-switch a[aria-current]{color:var(--site-ink);text-decoration:none;text-underline-offset:6px}.filters{display:flex;flex-wrap:wrap;gap:14px 25px;border-top:1px solid var(--line-ccc);margin:34px 0 40px;padding-top:18px;font-size:.875rem}.filters a{color:var(--site-ink);padding:4px 0}.filters a[aria-current]{color:var(--site-ink)}.filters a[aria-current]:before{content:'•';margin-right:7px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 38px;align-items:start}.project-card{position:relative;display:block;min-width:0}.project-grid .project-card:nth-child(even){padding-top:72px}.placeholder{position:relative;background:var(--surface-ececec);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;overflow:hidden}.placeholder.landscape{aspect-ratio:4/3;background:var(--surface-e5e7e7)}.placeholder.square{aspect-ratio:1;background:var(--surface-e9e7e4)}.placeholder-no{font-size:clamp(4rem,8vw,8rem);font-weight:400;letter-spacing:-.07em;color:#c5c5c5}.placeholder-label{position:absolute;bottom:18px;left:20px;font-size:.75rem;color:var(--site-ink)}.project-card img{display:block;width:100%;height:auto}.caption{display:flex;flex-direction:column;gap:7px;padding-top:16px;padding-right:30px}.caption h2{font-size:1rem;font-weight:400;margin:0;line-height:1.4}.caption>span{font-size:.75rem;color:var(--site-ink)}.card-number{position:absolute;right:0;bottom:22px;font-size:.75rem;color:var(--site-ink)}.project-card:hover .caption h2{text-decoration:none;text-underline-offset:4px}.project-list .project-card{display:flex;align-items:center;border-bottom:1px solid var(--line-ccc);padding:25px 0;gap:28px}.project-list .caption{padding:0;flex:1}.project-list .caption h2{font-size:1.5rem;letter-spacing:-.025em}.project-list .card-number{display:none}.list-no{font-size:.75rem;color:var(--site-ink)}.objects-note{border-top:1px solid var(--line-bdbdbd);margin-top:75px;padding:28px 0;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.objects-note h2{font-size:2rem;font-weight:400;letter-spacing:-.04em;margin:14px 0}.objects-note p{max-width:350px;line-height:1.6}.shop-link{font-size:.875rem;line-height:1.7}.back{font-size:.875rem;display:inline-block;margin-bottom:35px}.project-heading{margin-bottom:35px}.project-heading h1{max-width:760px;margin-bottom:20px}.project-heading>span{font-size:.875rem}.detail-media .placeholder{aspect-ratio:4/3}.detail-media img{width:100%;height:auto}.project-copy{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;padding:30px 0;line-height:1.7}.project-copy p{margin:0}.project-copy dl{margin:0;font-size:.875rem}.project-copy dl div{display:grid;grid-template-columns:1fr 1fr;padding:6px 0;border-bottom:1px solid var(--line-ddd)}.project-copy dd{margin:0}.project-copy dt{color:var(--site-ink)}.text-page{border-top:1px solid var(--line-ccc);margin-top:40px;padding-top:25px;min-height:47vh}.text-page p{font-size:1.5rem;max-width:550px;line-height:1.55}.text-page>span{font-size:.875rem}footer{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line-ccc);margin-top:85px;padding:22px 0 35px;font-size:.75rem;color:var(--site-ink);line-height:1.6}@media(min-width:1500px){main{max-width:1150px;margin-left:29%}}@media(max-width:850px){.sidebar{padding:30px 24px;width:25%}.primary{font-size:1.5rem}.wordmark{font-size:3.5rem}main{margin-left:28%;padding-right:25px}.project-grid{gap:40px 22px}.filters{gap:12px 16px}.objects-note{display:block}.project-copy{gap:25px}}@media(max-width:620px){.sidebar{position:relative;width:100%;height:auto;padding:25px 22px 0;display:grid;grid-template-columns:1fr auto;gap:25px}.wordmark{font-size:3.6rem}.wordmark span{font-size:.75rem}.primary{grid-column:1/3;grid-row:2;flex-direction:row;gap:26px;margin:0;font-size:1.4rem}.language{margin:0;align-self:start;font-size:.875rem}.sidebar-bottom{display:none}main{margin:0;padding:44px 22px 0}.work-top h1,h1{font-size:3.3rem}.view-switch{gap:12px}.filters{margin-top:25px;margin-bottom:27px;gap:10px 18px}.project-grid{gap:35px 18px}.project-grid .project-card:nth-child(even){padding-top:45px}.placeholder-no{font-size:3.7rem}.placeholder-label{bottom:12px;left:12px;font-size:.75rem}.caption h2{font-size:.875rem}.card-number{display:none}.caption{padding-right:0}.objects-note{margin-top:45px}.project-copy{grid-template-columns:1fr}.project-heading h1{font-size:2.8rem}footer{margin-top:55px;flex-direction:column;gap:8px}.text-page p{font-size:1.25rem}}@media(prefers-reduced-motion:no-preference){a{transition:color .18s ease}.project-card .placeholder{transition:background .2s ease}.project-card:hover .placeholder{background:var(--surface-ddd)}}

@font-face{font-family:Inter;src:url('/inter-black.woff2?v=7e8755b2cdabe7092a9a55f9') format('woff2');font-style:normal;font-weight:900;font-display:swap}.wordmark{font-family:Inter,Arial,sans-serif;font-weight:900;letter-spacing:-.065em}
/* News enters the gallery as loose editorial notes. */
.news-card{align-self:center;padding:28px 12% 32px 8%;min-width:0}
.news-kicker{display:block;font-size:.75rem;letter-spacing:.04em;color:var(--site-ink);margin-bottom:25px}
.news-card h2{font-size:clamp(1.7rem,2.6vw,2.6rem);font-weight:400;letter-spacing:-.045em;line-height:1.18;margin:0 0 18px}
.news-card p{font-size:1rem;line-height:1.65;margin:0;max-width:280px;color:var(--site-muted-news)}
.news-card time{display:block;margin-top:25px;font-size:.75rem;color:var(--site-ink)}
.project-grid:has(.news-card)>.project-card:nth-child(even){padding-top:0}
.project-grid:has(.news-card)>.project-card:nth-child(3){padding-top:25px}
.objects-portal{display:inline-flex;flex-direction:column;align-items:center;align-self:flex-start;gap:12px;margin-top:30px;padding:5px;max-width:160px;text-align:center}
.portal-circle{display:block;width:76px;height:76px;border:1.5px solid currentColor;border-radius:50%;background:transparent}
.portal-label{font-size:.875rem;line-height:1.5}
.objects-portal.is-active .portal-circle,.objects-portal:active .portal-circle{background:#202020}
.objects-portal.is-active:hover .portal-circle{background:transparent}
.objects-portal:not(.is-active):hover .portal-circle{background:#202020}
.sidebar-bottom{padding-top:20px}
@media(max-height:800px) and (min-width:621px){.primary{margin-top:40px}.language{margin-top:20px}.objects-portal{margin-top:18px}.portal-circle{width:56px;height:56px}.sidebar{overflow-y:auto}.sidebar-bottom{gap:8px}}
@media(max-width:620px){.objects-portal{grid-column:2;grid-row:2;margin:0;justify-self:end;align-self:center;flex-direction:row;gap:8px;padding:0}.portal-circle{width:30px;height:30px;flex-shrink:0}.portal-label{font-size:.75rem}.primary{grid-column:1/3;padding-right:0;gap:20px}.objects-portal{grid-row:3}.primary{grid-row:2}.sidebar{row-gap:18px}.objects-portal{grid-column:1/3;justify-self:start}.news-card{padding:15px 0 15px 8%}.news-card h2{font-size:1.5rem}.news-card p{font-size:.875rem}.news-kicker{margin-bottom:15px}.project-grid:has(.news-card){row-gap:38px}}
@media(prefers-reduced-motion:no-preference){.portal-circle{transition:background-color .25s ease,transform .25s ease}.objects-portal:hover .portal-circle{transform:scale(1.045)}}

/* Independent desktop gallery streams, with the portal in the content flow. */
.filters a{display:inline-grid;position:relative;grid-template-columns:1fr;align-items:center}
.filters .filter-label,.filters .filter-width{grid-area:1/1}
.filters .filter-width{font-family:Inter,Arial,sans-serif;font-weight:900;visibility:hidden;pointer-events:none}
.filters a:hover .filter-label,.filters a:focus-visible .filter-label{font-family:Inter,Arial,sans-serif;font-weight:900;color:var(--site-ink)}
.filters a[aria-current]:before{position:absolute;left:-10px;margin:0;font-size:10px}
.gallery-column{min-width:0;display:flex;flex-direction:column;gap:48px}
.gallery-column>.project-card{padding-top:0!important;flex-shrink:0}
.gallery-column>.news-card{padding:25px 8%;flex-shrink:0;align-self:stretch}
.project-grid .objects-portal{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;margin:0;padding:30px 10%;max-width:none;min-height:270px;gap:22px;flex-shrink:0}
.project-grid .portal-circle{width:min(100%,220px);height:auto;aspect-ratio:1;border-width:2px;flex-shrink:0}
.project-grid .portal-label{font-size:1.1rem}
.objects-portal:focus-visible .portal-circle{background:#202020}
.objects-portal.is-active:focus-visible .portal-circle{background:transparent}
@media(min-width:851px){
 body.split-gallery{overflow:hidden}
 .split-gallery main{height:100dvh;min-height:0;display:flex;flex-direction:column;padding-top:35px}
 .split-gallery .work-top,.split-gallery .filters{flex-shrink:0}
 .split-gallery .filters{margin-bottom:22px}
 .split-gallery .project-grid{flex:1;min-height:0;align-items:stretch;gap:38px}
 .split-gallery .gallery-column{overflow-y:auto;overscroll-behavior-y:contain;padding:8px 5px 60px;scrollbar-width:none}
 .split-gallery .gallery-column::-webkit-scrollbar{display:none}
 .split-gallery main>footer{display:none}
 .split-gallery .gallery-column:focus-visible{outline:2px solid #03007f;outline-offset:-2px}
}
/* Shared viewer-style arrows and centred overview previews. */
.site-arrow{display:inline-block;font-family:Inter,Arial,sans-serif;font-weight:600;font-style:normal;line-height:1;letter-spacing:0}
.rail-arrow::before{display:none}
.rail-arrow .site-arrow,.sequence-edge .site-arrow,.viewer-toolbar [data-viewer] .site-arrow{font-size:32px}
.work-overview-rail .work-preview-band h2{text-align:center}
.work-overview-rail .work-preview-squares{align-items:center}
.work-overview-rail .work-preview-item.has-vertical-program{position:relative;display:block;height:160px;margin:12px 0}
.work-overview-rail .has-vertical-program .work-program{position:absolute;left:calc(100% + 18px);top:50%;width:160px;padding:0;margin:0;transform:translate(-50%,-50%) rotate(90deg);text-align:center;font:700 16px/1.4 Inter,Arial,sans-serif;white-space:normal}

/* The practice statement sits beneath the complete Map feed and spans both image columns. */
.practice-band{width:100%;padding:38px 0 46px}
.practice-band p{margin:0;max-width:none;font:700 clamp(1.55rem,3.2vw,3.25rem)/1.16 Inter,Arial,sans-serif;letter-spacing:-.035em}
.practice-address{display:none}
@media(min-width:851px){
 body.split-gallery main{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
 body.split-gallery .project-grid{flex:1;min-height:0;overflow:hidden}
 body.split-gallery .practice-band{flex:0 0 auto;padding:22px 0 30px}
}
@media(max-width:850px){.practice-band{padding:38px 0 24px}}
@media(max-width:850px){
 .split-gallery .project-grid{display:flex;flex-direction:column;gap:40px}
 .gallery-column{display:contents}
 .split-gallery .project-grid>.gallery-column>*{width:100%}
 .split-gallery .news-card{padding:25px 8%;max-width:460px}
 .project-grid .objects-portal{grid-column:auto;grid-row:auto;justify-self:auto;min-height:260px}
 .project-grid .portal-circle{width:190px;height:190px}
}

/* Filled shapes reveal reverse lettering. */
.news-portal{display:flex;flex-direction:column;align-items:center;gap:22px;padding:8px 0 30px}
.portal-square{width:min(100%,220px);aspect-ratio:1;border:2px solid var(--site-ink-soft);display:grid;place-items:center;background:transparent}
.project-grid .portal-circle{display:grid;place-items:center}
.shape-label{color:#fff;opacity:0;text-align:center;font-family:Inter,Arial,sans-serif;font-weight:900;font-size:clamp(1.25rem,2.5vw,2rem);line-height:1.2;max-width:85%;overflow-wrap:break-word;padding:8px}
.news-portal:hover .portal-square,.news-portal:focus-visible .portal-square,.news-portal:active .portal-square{background:#202020}
.objects-portal.is-active:hover .portal-circle,.objects-portal.is-active:focus-visible .portal-circle{background:#202020}
.objects-portal:hover .shape-label,.objects-portal:focus-visible .shape-label,.objects-portal:active .shape-label,.objects-portal.is-active .shape-label,.news-portal:hover .shape-label,.news-portal:focus-visible .shape-label,.news-portal:active .shape-label{opacity:1}
.news-card .news-kicker{display:none}
.news-card .portal-label{font-size:1.1rem}
@media(max-width:850px){.portal-square{width:190px}.shape-label{font-size:1.5rem}}
@media(prefers-reduced-motion:no-preference){.portal-square{transition:background-color .25s ease}.shape-label{transition:opacity .2s ease}}

@font-face{font-family:Inter;src:url('/inter-regular.woff2?v=0a26be900b1c61d84318c163') format('woff2');font-style:normal;font-weight:400;font-display:swap}
.primary{font-family:Inter,Arial,sans-serif;line-height:1.25}
.primary a{max-width:100%;overflow-wrap:normal}
.primary a[aria-current="page"]{font-weight:900;color:#fff;-webkit-text-stroke:1px #202020;paint-order:stroke fill}
@media(max-width:620px){.primary{flex-wrap:wrap;column-gap:22px;row-gap:14px;font-size:1.3rem}}
@media(forced-colors:active){.primary a[aria-current="page"]{color:LinkText;-webkit-text-stroke:0;text-decoration:none}}
/* Menu open/closed states share precisely the same glyph geometry. */
.primary a{font-family:Inter,Arial,sans-serif;font-weight:900;font-size:inherit;letter-spacing:inherit;line-height:inherit;color:var(--site-ink);-webkit-text-stroke:1px #202020;paint-order:stroke fill}
.primary a[aria-current="page"]{color:#fff}
@media(forced-colors:active){.primary a{color:LinkText;-webkit-text-stroke:0}.primary a[aria-current="page"]{color:LinkText;text-decoration:none}}
@font-face{font-family:Inter;src:url('/inter-bold.woff2?v=7aa6e2ac8cbd3f6893c76423') format('woff2');font-style:normal;font-weight:700;font-display:swap}
.primary a,.primary a[aria-current="page"]{font-weight:700;-webkit-text-stroke-width:.75px}
@media(forced-colors:active){.primary a,.primary a[aria-current="page"]{-webkit-text-stroke-width:0}}
/* Selected menu labels and their page headings share one treatment. */
.primary a,.primary a[aria-current="page"]{-webkit-text-stroke-width:1px}
.work-top h1,.page-heading h1{font-family:Inter,Arial,sans-serif;font-size:clamp(1.6rem,2.5vw,2.5rem);font-weight:700;letter-spacing:-.04em;line-height:1.25;color:#fff;-webkit-text-stroke:1px #202020;paint-order:stroke fill}
@media(max-width:850px){.work-top h1,.page-heading h1{font-size:1.5rem}}
@media(max-width:620px){.work-top h1,.page-heading h1{font-size:1.3rem}}
@media(forced-colors:active){.primary a,.primary a[aria-current="page"],.work-top h1,.page-heading h1{color:CanvasText;-webkit-text-stroke:0}}
/* Reverse menu states: hollow when closed, solid when open. */
.primary a,.primary a:hover{color:#fff}
.primary a[aria-current="page"],.primary a[aria-current="page"]:hover,.work-top h1,.page-heading h1{color:var(--site-ink)}
@media(forced-colors:active){.primary a,.primary a:hover,.primary a[aria-current="page"],.primary a[aria-current="page"]:hover,.work-top h1,.page-heading h1{color:CanvasText}}

.search-form{margin-top:40px}.search-form label{display:block;font-size:.875rem;color:var(--site-ink);margin-bottom:16px}.search-field{display:flex;gap:18px;border-bottom:1px solid var(--site-ink-soft);padding-bottom:12px}.search-field input{min-width:0;flex:1;border:0;background:transparent;font:400 1.5rem Inter,Arial,sans-serif;color:var(--site-ink);padding:8px 0;border-radius:0}.search-field button{border:0;background:none;padding:10px;cursor:pointer;font-size:.875rem}.search-field input:focus-visible{outline:2px solid #03007f;outline-offset:4px}.search-message{font-size:.875rem;color:var(--site-ink);margin:28px 0}.search-result{display:flex;flex-direction:column;gap:10px;padding:24px 0;border-bottom:1px solid var(--line-ccc)}.search-result>span{font-size:1.5rem;line-height:1.4}.search-result small{font-size:.875rem;color:var(--site-ink)}.search-result:hover>span{text-decoration:none;text-underline-offset:4px}@media(max-width:620px){.search-field input{font-size:1.15rem}.search-result>span{font-size:1.2rem}}

.project-cover{display:block}.has-preview{isolation:isolate}.preview-toggle{position:absolute;z-index:3;top:12px;right:12px;padding:9px 12px;border:1px solid var(--site-ink-soft);background:var(--site-bg);font:400 .875rem Inter,Arial,sans-serif;cursor:pointer;max-width:calc(100% - 24px)}
.project-preview{position:absolute;inset:0;z-index:2;background:var(--site-bg);border:1px solid var(--site-ink-soft);padding:58px 16px 18px;overflow-y:auto;overscroll-behavior:contain}.project-preview[hidden]{display:none}.preview-visuals{display:grid;grid-template-columns:1fr 1fr;gap:14px}.preview-visuals figure{margin:0;min-width:0}.preview-visuals figcaption{font-size:.875rem;line-height:1.4;margin-bottom:10px}.preview-visuals img{width:100%;height:110px;object-fit:contain;background:var(--surface-eee)}.preview-empty{height:110px;background:var(--surface-eee);display:grid;place-items:center;padding:10px;text-align:center;font-size:.75rem;color:var(--site-ink)}.preview-question{margin-top:22px}.preview-question>span{font-size:.75rem;color:var(--site-ink)}.preview-question p{font-size:1rem;line-height:1.5;margin:8px 0 20px}.recognition-band{background:#202020;color:white;padding:14px;margin:0 -16px 18px;font-size:.875rem;line-height:1.5}.recognition-band>div{display:flex;flex-direction:column;gap:4px}.recognition-band>div+div{margin-top:12px}.recognition-band strong{font-weight:700}.preview-open{display:inline-block;border-bottom:1px solid var(--site-ink-soft);padding:8px 0;font-size:.875rem}.preview-is-open{min-height:350px}.gallery-column>.has-preview.preview-is-open{min-height:350px}@media(max-width:620px){.preview-toggle{font-size:.75rem}.preview-visuals{gap:10px}.preview-visuals figcaption{font-size:.75rem}.project-grid:not(:has(.gallery-column)) .preview-visuals{grid-template-columns:1fr}.project-grid:not(:has(.gallery-column)) .preview-is-open{min-height:480px}}

/* Project previews unfold as one horizontal spread above the muted page. */
.project-spread{width:min(1280px,94vw);max-width:94vw;max-height:90dvh;border:0;padding:0;background:var(--site-bg);color:var(--site-ink);overflow:auto;box-shadow:0 16px 65px #0002}
.project-spread::backdrop{background:rgb(115 115 115 / .64);backdrop-filter:grayscale(1)}
.spread-open{overflow:hidden!important}.spread-open #app>.sidebar,.spread-open #app>main{filter:grayscale(1)}
.spread-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 28px;border-bottom:1px solid var(--line-bbb)}.spread-header h2{font:700 1.2rem Inter,Arial,sans-serif;margin:0;line-height:1.4}.spread-close{flex-shrink:0;background:none;border:1px solid var(--site-muted-light);width:40px;height:40px;border-radius:50%;font-size:1.6rem;cursor:pointer}
.spread-panels{display:grid;overflow-x:auto;overscroll-behavior:contain;min-height:300px}.spread-panels.three-panels{grid-template-columns:repeat(3,minmax(220px,1fr))}.spread-panels.four-panels{grid-template-columns:repeat(4,minmax(220px,1fr))}.spread-panels>figure,.spread-panels>section{margin:0;padding:24px;border-right:1px solid var(--line-bbb);min-width:0}.spread-panels>:last-child{border-right:0}.spread-panels figcaption,.spread-panels h3{font:400 .875rem Inter,Arial,sans-serif;margin:0 0 25px;line-height:1.5}.spread-panels img{width:100%;height:230px;object-fit:contain}.spread-panels .preview-empty{height:230px}.spread-question p{font:400 clamp(1.15rem,2vw,1.75rem) Inter,Arial,sans-serif;line-height:1.45;margin:0;overflow-wrap:anywhere}.spread-recognition{background:#202020;color:#fff}.spread-recognition>div+div{border-top:1px solid var(--site-muted-mid);margin-top:20px;padding-top:20px}.spread-recognition h3{margin-bottom:10px}.spread-recognition p{font-size:.875rem;line-height:1.6;margin:0}.spread-bottom{display:flex;justify-content:center;border-top:1px solid var(--line-bbb);padding:20px 28px}.spread-bottom .preview-open{border:1px solid var(--site-ink-soft);border-radius:999px;padding:13px 30px;background:#202020;color:white;font:400 .875rem Inter,Arial,sans-serif}.spread-bottom .preview-open:hover{background:var(--site-bg);color:var(--site-ink)}.spread-bottom .preview-open:focus-visible,.spread-close:focus-visible{outline:2px solid #03007f;outline-offset:4px}
@media(prefers-reduced-motion:no-preference){.project-spread[open]{animation:unfold-spread .35s ease-out}@keyframes unfold-spread{from{clip-path:inset(0 49% 0 49%);opacity:.3}to{clip-path:inset(0);opacity:1}}}
@media(max-width:620px){.spread-header{padding:16px}.spread-header h2{font-size:1rem}.spread-panels.three-panels{grid-template-columns:repeat(3,minmax(75vw,1fr))}.spread-panels.four-panels{grid-template-columns:repeat(4,minmax(75vw,1fr))}.spread-panels>figure,.spread-panels>section{padding:20px}.spread-bottom{padding:16px}.project-spread{max-height:92dvh}}

/* Four unframed floating preview surfaces. */
.project-spread{background:transparent;box-shadow:none;overflow:visible;border:0}
.visually-hidden,.project-spread figcaption,.project-spread h3{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.spread-panels{gap:18px;min-height:0;padding:5px;overflow-x:auto}
.spread-panels>figure,.spread-panels>section{border:0;background:var(--site-bg);padding:20px;min-height:280px;box-shadow:0 4px 16px #0000000a}
.spread-panels.four-panels{grid-template-columns:repeat(4,minmax(0,1fr))}
.spread-panels img,.spread-panels .preview-empty{height:240px;width:100%;background:transparent}
.spread-panels .preview-empty{color:var(--site-ink)}
.spread-question{display:flex;align-items:center}.spread-question p{font-size:clamp(1rem,1.7vw,1.5rem)}
.spread-panels>.spread-recognition:not(.empty-recognition){background:#202020;color:#fff}
.spread-recognition{display:flex;flex-direction:column;justify-content:center}
.spread-bottom{border:0;background:transparent;padding:25px 0 5px}
@media(max-width:850px){.spread-panels.four-panels{grid-template-columns:repeat(4,minmax(230px,1fr))}.project-spread{overflow:visible}.spread-panels{max-width:94vw}.spread-question p{font-size:1.15rem}}
/* All four floating panels retain a square silhouette. */
.spread-panels{align-items:start}
.spread-panels>figure,.spread-panels>section{aspect-ratio:1;min-height:0;height:auto;overflow:auto;position:relative}
.spread-panels>figure{display:grid;place-items:center}
.spread-panels img,.spread-panels .preview-empty{height:100%;min-height:0;max-height:100%;object-fit:contain}

/* Two continuous project columns at every viewport width. */
.split-gallery .project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.split-gallery .gallery-column{display:flex;flex-direction:column;gap:40px;min-width:0}
.split-gallery .project-grid>.gallery-column>*{width:100%;max-width:100%}
@media(min-width:621px){body.split-gallery{overflow:hidden}.split-gallery main{height:100dvh;min-height:0;display:flex;flex-direction:column;padding-top:35px}.split-gallery .work-top,.split-gallery .filters{flex-shrink:0}.split-gallery .filters{margin-bottom:22px}.split-gallery .project-grid{flex:1;min-height:0;align-items:stretch}.split-gallery .gallery-column{overflow-y:auto;overscroll-behavior-y:contain;padding:8px 5px 60px;scrollbar-width:none}.split-gallery .gallery-column::-webkit-scrollbar{display:none}.split-gallery main>footer{display:none}}
@media(max-width:620px){.split-gallery .project-grid{gap:16px}.split-gallery .gallery-column{gap:28px}.split-gallery .news-card{padding:12px 0}.split-gallery .project-grid .objects-portal{padding:12px 0;min-height:0}.split-gallery .portal-circle,.split-gallery .portal-square{width:100%;height:auto;aspect-ratio:1}.split-gallery .shape-label{font-size:1.15rem}.split-gallery .news-card h2{font-size:1.25rem}}
/* Compact two-by-two square spread, without a horizontal slider. */
.project-spread{width:min(620px,92vw,calc(92dvh - 90px));max-width:92vw;max-height:94dvh;overflow:visible}
.spread-panels,.spread-panels.four-panels,.spread-panels.three-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;overflow:visible;max-width:100%;align-items:start}
.spread-panels>figure,.spread-panels>section{aspect-ratio:1;min-height:0;height:auto;padding:16px;overflow:auto}
.spread-panels img,.spread-panels .preview-empty{height:100%;max-height:100%;width:100%;min-height:0}
.spread-question p{font-size:1rem;line-height:1.4}.spread-bottom{padding:18px 0 0}.spread-bottom .preview-open{padding:11px 25px}
@media(max-width:620px){.spread-panels>figure,.spread-panels>section{padding:12px}.spread-panels{gap:12px}.spread-question p{font-size:.875rem}}

/* Project identity lives within the photograph. */
.project-grid .project-cover{position:relative;overflow:hidden}
.project-grid .caption{position:absolute;inset:auto 0 0;z-index:1;margin:0;padding:38px 18px 18px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff;opacity:0;pointer-events:none;gap:7px}
.project-grid .caption h2{font-family:Inter,Arial,sans-serif;font-size:clamp(1rem,1.8vw,1.5rem);font-weight:700;line-height:1.25;color:white;text-decoration:none}
.project-grid .caption>span{font-family:Inter,Arial,sans-serif;font-size:.875rem;font-weight:700;line-height:1.4;color:#eee}
.project-grid .project-cover:hover .caption,.project-grid .project-cover:focus-visible .caption{opacity:1}
.project-grid .project-cover:hover .placeholder-label,.project-grid .project-cover:focus-visible .placeholder-label{opacity:0}
.making-tile{min-width:0}.making-empty{aspect-ratio:1;background:var(--surface-e3e5e5);display:flex;flex-direction:column;justify-content:center;padding:28px}.making-empty>span{font:700 clamp(1.5rem,3vw,2.5rem) Inter,Arial,sans-serif;letter-spacing:-.04em}.making-empty p{font-size:.875rem;line-height:1.6;max-width:240px;color:var(--site-muted-fine)}.making-tile img,.making-tile video{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:var(--surface-e3e5e5)}.making-tile video{object-fit:contain}.making-caption{font-size:.875rem;line-height:1.5;margin:12px 0}.making-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:14px}.making-bar h2{font:700 .875rem Inter,Arial,sans-serif;margin:0}.making-bar button{font-size:.875rem;border:0;border-bottom:1px solid var(--site-muted-mid);background:none;padding:5px 0;cursor:pointer}
@media(hover:none){.project-grid .caption{opacity:1}.project-grid .placeholder-label{display:none}}
@media(max-width:620px){.project-grid .caption{padding:30px 12px 12px}.project-grid .caption h2{font-size:1rem}.project-grid .caption>span{font-size:.75rem}.making-empty{padding:15px}}
@media(prefers-reduced-motion:no-preference){.project-grid .caption{transition:opacity .2s ease}}
/* Soft grey image wash and centred project identity. */
.filters,main>footer{border-top:0}.view-switch{gap:8px;padding-bottom:0}.view-switch a{display:grid;place-items:center;width:40px;height:40px;text-decoration:none!important;color:#999}.view-switch a:hover,.view-switch a[aria-current]{color:var(--site-ink)}.view-switch svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.view-switch a[aria-current] svg{stroke-width:2.25}
.gallery-column>.making-tile,.gallery-column>.process-more{flex-shrink:0}.process-moment{content-visibility:auto;contain-intrinsic-size:auto 450px}.process-more{align-self:center;width:auto!important;background:none;border:0;padding:16px;font:700 .875rem Inter,Arial,sans-serif;cursor:pointer}.process-more:focus-visible{outline:2px solid var(--site-ink-soft);outline-offset:3px}
.project-grid .project-cover::after{content:'';position:absolute;inset:0;background:rgba(245,245,245,.68);opacity:0;pointer-events:none;z-index:1}
.project-grid .caption{inset:0;display:flex;justify-content:center;align-items:center;text-align:center;padding:24px;background:none;color:var(--site-ink);z-index:2;gap:10px}
.project-grid .caption h2{font-family:Inter,Arial,sans-serif;font-weight:700;color:var(--site-ink);text-decoration:none!important;line-height:1.3}
.project-grid .caption>span{font-family:Inter,Arial,sans-serif;font-weight:700;color:var(--site-ink);text-decoration:none;line-height:1.4}
.project-grid .project-card:hover .caption h2,.project-grid .project-cover:hover,.project-grid .project-cover:focus-visible{text-decoration:none}
.project-grid .project-cover:hover::after,.project-grid .project-cover:focus-visible::after{opacity:1}
.project-grid .project-cover:hover>img,.project-grid .project-cover:focus-visible>img{filter:grayscale(1)}
.project-grid .project-card:hover .placeholder{background:var(--surface-ececec)}
@media(prefers-reduced-motion:no-preference){.project-grid .project-cover::after,.project-grid .caption{transition:opacity .45s ease-in-out}.project-grid .project-cover>img{transition:filter .45s ease-in-out}}
@media(hover:none){.project-grid .project-cover::after{opacity:1}.project-grid .project-cover>img{filter:grayscale(1)}}

/* Open layouts without divider rules or text underlines. */
.filters,footer,.text-page,.objects-note,.project-copy dl div,.project-list .project-card,.search-field,.search-result,.news-card,.spread-header,.spread-recognition>div+div,.making-bar button{border-top:0;border-bottom:0}
.language button[aria-pressed=true]{font-weight:700}
.filters a[aria-current]::before{content:none;margin:0}
.primary,.primary a{font-family:"Helvetica Now Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;letter-spacing:-.025em;line-height:1.25}.primary a,.primary a:hover,.primary a[aria-current="page"],.primary a[aria-current="page"]:hover{font-weight:300;-webkit-text-stroke:0;color:var(--site-ink)}.primary a:hover,.primary a[aria-current="page"]{font-weight:500}.work-top{justify-content:flex-end}.text-page{margin-top:0;padding-top:0}.search-form{margin-top:0}
.view-switch a{border:1px solid currentColor;border-radius:50%;width:40px;height:40px}.view-switch a[aria-current]{background:#202020;color:#fff;border-color:var(--site-ink-soft)}.view-switch a:hover{border-color:var(--site-ink-soft)}.view-switch a[aria-current]:hover{color:#fff}
.view-switch{gap:20px;padding:10px}.view-switch a{position:relative;width:20px;height:20px}.view-switch svg{width:10px;height:10px}.view-switch a::after{content:'';position:absolute;inset:-10px;border-radius:50%}
@media(hover:hover) and (pointer:fine){a,button:not(:disabled),[role="button"],.preview-trigger{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Ccircle cx='7' cy='7' r='4' fill='%23202020'/%3E%3C/svg%3E") 7 7,pointer}}
.view-switch svg rect{fill:currentColor;stroke:none}.view-switch svg path{stroke-width:3;stroke-linecap:round}
.view-switch a{display:flex;align-items:center;justify-content:center;padding:0;line-height:0;flex:0 0 20px}.view-switch svg{display:block;flex:none;margin:0;overflow:visible}
.view-disclosure{gap:0;padding:0;align-items:center}.view-options{display:flex;align-items:center;gap:20px;max-width:0;opacity:0;visibility:hidden;transform:translateX(16px);pointer-events:none;overflow:hidden;padding:10px 0}.view-disclosure.is-open .view-options{max-width:100px;padding:10px;opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto;overflow:visible}.view-toggle{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;background:none;color:var(--site-ink)}.view-toggle svg{width:18px;height:18px}.view-toggle svg path{stroke-width:1.5;stroke-linecap:butt}.view-disclosure.is-open .view-toggle svg{transform:rotate(45deg)}@media(prefers-reduced-motion:no-preference){.view-options{transition:max-width .25s ease,opacity .2s ease,transform .25s ease,padding .25s ease,visibility .25s}.view-toggle svg{transition:transform .2s ease}}
@media(hover:hover) and (pointer:fine){html,body,body *{cursor:var(--site-cursor)!important}a,a *,button:not(:disabled),button:not(:disabled) *,[role="button"],[role="button"] *,main .project-card,main .project-card *,main .making-tile,main .making-tile *,main .news-card,main .news-card *,main .text-page,main .text-page *,main .project-copy,main .project-copy *,main .detail-media,main .detail-media *,main .project-gallery-image,main .project-gallery-image *,main .search-result,main .search-result *,.project-spread,.project-spread *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Ccircle cx='7' cy='7' r='4' fill='%2303007f'/%3E%3C/svg%3E") 7 7,pointer!important}input,textarea,[contenteditable="true"]{cursor:text!important}button:disabled{cursor:not-allowed!important}}
.project-gallery-image{margin:30px 0}.project-gallery-image img{display:block;width:100%;height:auto}.text-page p,.project-copy>p{white-space:pre-line}
.news-portal:hover .portal-square,.news-portal:focus-visible .portal-square,.news-portal:active .portal-square{background:#03007f;border-color:#03007f}
@media(hover:hover) and (pointer:fine){main .news-portal .portal-square,main .news-portal .portal-square *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Ccircle cx='7' cy='7' r='4' fill='white'/%3E%3C/svg%3E") 7 7,pointer!important}}
.view-disclosure a,.view-disclosure a:hover,.view-disclosure a[aria-current],.view-disclosure a[aria-current]:hover{border:0;border-radius:0;background:none;color:var(--site-ink)}.view-disclosure a[aria-current]{color:var(--site-ink)}.view-disclosure a:hover,.view-disclosure a[aria-current]:hover{color:var(--site-link)}.view-disclosure svg{width:18px;height:18px}.view-disclosure svg rect,.view-disclosure svg path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter}

/* Project index: name with a quiet year below. */
.project-list .caption{gap:5px}
.project-list .caption .project-year{font-size:.75rem;font-weight:400;line-height:1.4;color:var(--site-ink)}

.publication-sections section+section{margin-top:3.5rem}
.publication-sections h2{font-family:Inter,Arial,sans-serif;font-size:1.2rem;font-weight:700;margin:0 0 1rem;line-height:1.4}
.text-page.publication-sections p{max-width:960px;width:100%}

/* Architecture index grouped by year, with a single image on name hover. */
.index-year-group{margin:0 0 2.5rem}.index-year-heading{font-size:.75rem;font-weight:400;color:var(--site-ink);margin:0 0 1rem;line-height:1.4}.index-name-row{margin:0 0 1rem}.index-project-name{display:inline-block;font-size:1.5rem;line-height:1.4;letter-spacing:-.025em}.index-image-preview{position:fixed;right:4vw;top:30vh;width:min(34vw,480px);height:45vh;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .25s,transform .25s,visibility .25s;z-index:8;display:flex;align-items:center;justify-content:center}.index-image-preview img{width:100%;height:100%;object-fit:contain}.index-image-empty{display:grid;place-items:center;width:100%;height:100%;background:var(--surface-eee);font-size:.85rem;letter-spacing:0;color:var(--site-ink)}.index-project-name:focus-visible .index-image-preview{opacity:1;visibility:visible;transform:none}@media(hover:hover){.index-project-name:hover .index-image-preview{opacity:1;visibility:visible;transform:none}}@media(max-width:620px){.index-image-preview{width:42vw;height:26vh;top:auto;bottom:4vh;right:4vw}}@media(prefers-reduced-motion:reduce){.index-image-preview{transition:none;transform:none}}

/* Align each year beside its project names. */
.index-year-group{display:grid;grid-template-columns:100px minmax(0,1fr);column-gap:24px;align-items:baseline}.index-year-heading{grid-column:1;grid-row:1;margin:0}.index-name-row{grid-column:2}.index-year-heading+.index-name-row{grid-row:1}@media(max-width:620px){.index-year-group{grid-template-columns:70px minmax(0,1fr);column-gap:16px}}

/* Project opening: full viewport photograph, followed by information and question. */
body.project-page{overflow:auto}.project-page #app>.sidebar{position:fixed;inset:0 auto auto 0;width:auto;height:auto;display:block;padding:30px 40px;z-index:20;overflow:visible;mix-blend-mode:difference}.project-page .sidebar .wordmark{color:#fff}.project-page .sidebar>:not(.wordmark){display:none}.project-page #main{margin:0;padding:0;max-width:none;width:100%;min-height:100vh}.project-hero{width:100%;height:100vh;height:100svh;overflow:hidden;background:var(--surface-e8e8e8)}.project-hero>img{display:block;width:100%;height:100%;object-fit:cover}.project-hero-empty{width:100%;height:100%}.project-body{padding:48px 5vw 0}.project-introduction{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.project-information h1{font-size:clamp(1.5rem,2.5vw,2.5rem);line-height:1.2;letter-spacing:-.025em;margin:0 0 24px}.project-information dl{font-size:.85rem;line-height:1.6;margin:0}.project-information dl>div{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:3px 0}.project-information dt{color:var(--site-ink)}.project-information dd{margin:0}.project-question{font-size:clamp(1.5rem,2.8vw,3rem);font-weight:400;line-height:1.25;letter-spacing:-.025em;margin:0;white-space:pre-line}.project-description{width:100%;padding:50px 0 30px}.project-description p{font-size:clamp(1.1rem,1.7vw,1.5rem);line-height:1.65;white-space:pre-line;margin:0;max-width:none}.project-page #main>footer{margin:50px 5vw 0}.project-body>.back{margin-top:40px}@media(max-width:620px){.project-page #app>.sidebar{padding:24px 22px}.project-body{padding:30px 22px 0}.project-introduction{grid-template-columns:1fr;gap:32px}.project-question:empty{display:none}.project-description{padding-top:32px}.project-page #main>footer{margin-left:22px;margin-right:22px}}

/* Related projects, studio thinking, and return to Map. */
.project-page #app>.sidebar{position:fixed}.project-closing{padding:60px 0 20px}.project-closing-boxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.related-project{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:var(--surface-eee)}.related-image{height:100%;display:grid;place-items:center;font-size:.75rem;color:var(--site-ink)}.related-image img{width:100%;height:100%;object-fit:cover;transition:opacity .3s}.related-title{position:absolute;bottom:0;left:0;right:0;padding:16px;background:rgba(250,250,250,.92);font-size:.9rem}.related-project:hover .related-image img{opacity:.6}.thinking-box{aspect-ratio:1;display:flex;align-items:center;padding:24px;background:var(--surface-eee);overflow:auto}.thinking-box blockquote{margin:0;font-size:clamp(1.1rem,2vw,2rem);line-height:1.35;white-space:pre-line}.omi-return-circle{width:100px;height:100px;border:1.5px solid var(--site-ink-soft);border-radius:50%;display:grid;place-items:center;margin:50px auto 0;background:transparent;transition:background .25s,border-color .25s}.omi-return-circle span{opacity:0;color:#fff;font-family:Inter,sans-serif;font-weight:900;font-size:24px;transition:opacity .25s}.omi-return-circle:hover,.omi-return-circle:focus-visible{background:#03007f;border-color:#03007f}.omi-return-circle:hover span,.omi-return-circle:focus-visible span{opacity:1}@media(max-width:620px){.project-closing-boxes{grid-template-columns:1fr 1fr;gap:16px}.thinking-box{grid-column:1/-1;aspect-ratio:2/1}.omi-return-circle{width:80px;height:80px}}@media(prefers-reduced-motion:reduce){.related-image img,.omi-return-circle,.omi-return-circle span{transition:none}}

/* Minimal search page. */
.search-page{background:var(--site-bg)}.search-page #app>.sidebar{position:absolute;left:0;top:0;display:block;width:auto;height:auto;padding:30px 40px}.search-page .sidebar>:not(.wordmark),.search-page #main>footer{display:none}.search-page #main{margin:0;padding:30vh 12vw 10vh;max-width:none;width:100%;min-height:100svh}.search-page .search-form{margin:0}.search-page .search-form label.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.search-page .search-field{padding:0;border:0;align-items:center}.search-page .search-field input{font-family:Arial,Helvetica,sans-serif;font-size:clamp(2.5rem,7vw,7rem);font-weight:400;letter-spacing:-.045em;line-height:1.2;width:100%;padding:0}.search-page .search-field input::placeholder{color:#aaa;opacity:1}.search-page .search-field input:focus-visible{outline:none}.search-page .search-field input::-webkit-search-cancel-button{display:none}.search-close{position:absolute;top:38px;right:40px;font-size:2rem;font-weight:300;line-height:1;padding:6px}.search-page #search-results{margin-top:48px;max-width:900px}.search-page .search-result{border:0;padding:18px 0}.search-page .search-result>span{font-size:clamp(1.3rem,2.5vw,2rem)}@media(max-width:620px){.search-page #app>.sidebar{padding:24px 22px}.search-page #main{padding:28vh 22px 60px}.search-close{top:25px;right:18px}.search-page #search-results{margin-top:32px}}

/* Four equal closing elements: two projects, a thought, and the OMI circle. */
.project-closing{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start}.project-closing-boxes{display:contents}.project-closing .related-project,.project-closing .thinking-box{width:100%;aspect-ratio:1;min-width:0}.project-closing .thinking-box{grid-column:auto;padding:20px}.project-closing .thinking-box blockquote{font-size:clamp(1rem,1.6vw,1.6rem)}.project-closing .omi-return-circle{width:100%;height:auto;aspect-ratio:1;margin:0}.project-closing .omi-return-circle span{font-size:clamp(1.5rem,3.5vw,4rem)}@media(max-width:620px){.project-closing{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-closing .thinking-box{grid-column:auto;aspect-ratio:1}.project-closing .omi-return-circle{width:100%;height:auto}}

.project-closing .omi-return-circle{order:-1}


/* Keep the sticky project logo inside the cover photograph. */
.project-page #app>.sidebar{display:none}.project-hero{position:relative;overflow:clip}.project-logo-track{position:absolute;inset:0;z-index:2;pointer-events:none;padding:30px 40px}.project-cover-logo{position:sticky;top:30px;display:block;width:max-content;pointer-events:auto;color:#fff;mix-blend-mode:difference}.project-closing{position:relative;margin-left:32px}.related-label{position:absolute;left:-36px;top:0;writing-mode:vertical-rl;font-size:.75rem;line-height:1;letter-spacing:.02em;color:var(--site-ink)}@media(max-width:620px){.project-logo-track{padding:24px 22px}.project-cover-logo{top:24px}.project-closing{margin-left:24px}.related-label{left:-27px}}
/* Centre the vertical label against the squares; place related titles below. */
.project-closing .related-label{top:calc((100% - 80px) / 2);transform:translateY(-50%)}
.project-closing .related-project{aspect-ratio:auto;overflow:visible;background:transparent}
.project-closing .related-image{width:100%;height:auto;aspect-ratio:1;background:var(--surface-eee);overflow:hidden}
.project-closing .related-title{position:static;display:block;padding:12px 0 0;background:transparent;line-height:1.4}
@supports(width:1cqw){.project-closing{container-type:inline-size}.project-closing .related-label{top:calc((100cqw - 72px) / 8)}@media(max-width:620px){.project-closing .related-label{top:calc((100cqw - 16px) / 4)}}}
@supports(width:1cqw){.project-closing .related-label{top:calc(60px + (100cqw - 72px) / 8)}@media(max-width:620px){.project-closing .related-label{top:calc(60px + (100cqw - 16px) / 4)}}}

.project-closing .related-label{font-weight:700}.project-closing .related-title{text-align:center}


.project-closing .related-label{font-family:Inter,Arial,sans-serif;font-weight:700}


.sidebar-bottom{max-width:240px;gap:18px}.practice-statement{margin:0;line-height:1.6}.practice-address{font-style:normal;white-space:pre-line;min-height:2.4em}.practice-socials{display:flex;gap:18px;align-items:center}.practice-socials a,.practice-socials>span{display:inline-flex;width:20px;height:20px}.practice-socials svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5}.practice-socials a:hover{color:var(--site-link)}.social-unset{color:var(--site-ink)}

.category-leader{width:100%;height:65vh;height:65svh;min-height:260px;background:var(--surface-ececec);display:grid;place-items:center;color:var(--site-ink);font-size:.8rem}.category-leader img{width:100%;height:100%;object-fit:cover;min-height:0}.category-services{padding:40px 0 56px}.category-services p{font-size:clamp(1.1rem,1.7vw,1.5rem);line-height:1.6;white-space:pre-line;margin:0}.category-selected{padding:16px 0 30px}@media(max-width:620px){.category-leader{height:50svh;min-height:220px}.category-services{padding:28px 0 40px}}

/* Category covers use the full-screen project opening. */
.category-page #main>.work-top,.category-page #main>.filters{display:none}.category-page .category-leader{display:block;height:100vh;height:100svh;min-height:0}.category-page .category-services{padding:48px 5vw 56px}.category-page .category-selected{padding:16px 5vw 30px}.category-page #main>.objects-note{margin:45px 5vw}.category-page .category-services p{max-width:none}@media(max-width:620px){.category-page .category-services{padding:30px 22px 40px}.category-page .category-selected{padding:16px 22px 30px}}

.category-opening-controls{display:flex;justify-content:flex-end;padding:28px 5vw 0}.category-see-all{display:inline-flex;align-items:center;gap:16px;margin-top:32px;font-size:1rem;line-height:1.5}.category-see-all:hover{color:var(--site-link)}.category-collection .orderly-grid{align-items:start}.category-collection .orderly-grid .project-card:nth-child(n){padding-top:0}.category-collection .orderly-grid .project-cover{display:block;aspect-ratio:1;overflow:hidden}.category-collection .orderly-grid .project-cover>img,.category-collection .orderly-grid .project-cover>.placeholder{width:100%;height:100%;aspect-ratio:1;object-fit:cover}@media(max-width:620px){.category-opening-controls{padding:24px 22px 0}}

.people-section{margin-top:55px}.people-section>h2{font-size:1.2rem;font-weight:400;margin:0 0 28px}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 30px}.person img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;margin-bottom:20px}.person h3{font-size:1.15rem;font-weight:400;margin:0 0 8px}.person-role{font-size:.85rem;color:var(--site-ink);margin:0 0 18px}.person-bio{font-size:1rem;line-height:1.6;white-space:pre-line;margin:0}@media(max-width:620px){.people-grid{grid-template-columns:1fr}}

footer{align-items:flex-end}.collective-mark{display:block;flex:none;width:180px;height:180px;margin:-24px -20px -18px auto;padding:0;border:0;background:transparent;color:var(--site-ink)}.collective-mark svg{display:block;width:100%;height:100%;overflow:visible}.collective-mark text{font-family:Inter,Arial,sans-serif;font-weight:700;font-size:15px;fill:currentColor}.collective-mark:hover,.collective-mark:focus-visible{color:var(--site-link)}@media(max-width:620px){.collective-mark{width:145px;height:145px;align-self:flex-end}}

.collective-mark text{font-weight:400;font-size:16px}
.collective-mark{width:140px;height:140px;margin:-12px -8px -8px auto}.collective-mark text{font-size:14px}
@media(max-width:620px){.collective-mark{width:112px;height:112px}}

/* The Map is a finite collection with its footer below both columns. */
body.split-gallery{overflow:auto}
.split-gallery main{height:auto;min-height:100vh;display:block}
.split-gallery .project-grid{flex:none;align-items:start}
.split-gallery .gallery-column{overflow:visible;overscroll-behavior-y:auto;padding-bottom:0}
.split-gallery main>footer{display:flex}
.objectives-switcher{margin:48px 0 80px}.objective-numbers{display:flex;flex-wrap:wrap;gap:26px;margin-bottom:90px}
.objective-numbers button{padding:0 0 5px;border:0;border-bottom:2px solid transparent;background:none;font:700 clamp(1.8rem,3vw,2.6rem)/1 Inter,Arial,sans-serif;letter-spacing:-.035em;cursor:pointer}
.objective-numbers button[aria-pressed=true]{border-bottom-color:currentColor}.objective-numbers button:hover{color:var(--site-link)}
.objective-statement p{font:700 clamp(1.5rem,3vw,2.6rem)/1.2 Inter,Arial,sans-serif;letter-spacing:-.025em;white-space:pre-line;margin:0;max-width:1200px}
@media(max-width:620px){.objective-numbers{gap:20px;margin-bottom:55px}.objectives-switcher{margin-top:32px}}
.contact-modes a[aria-current]:before{content:none}
.objectives-list{list-style:none;margin:50px 0;padding:0}
.objectives-list li{display:grid;grid-template-columns:65px minmax(0,1fr);gap:20px;margin-bottom:42px}
.objective-number,.objectives-list h2{font:700 clamp(1.5rem,3vw,2.6rem)/1.15 Inter,Arial,sans-serif;letter-spacing:-.035em;margin:0}
.objectives-list p{white-space:pre-line;font-size:1.1rem;line-height:1.6;max-width:700px;margin:20px 0 0}
.contact-full-page #main{padding:170px 8vw 80px}
.contact-full-page .contact-modes{margin:0 0 55px}
.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:36px;max-width:1200px;font:700 clamp(1.6rem,3.6vw,3.8rem)/1.14 Inter,Arial,sans-serif;letter-spacing:-.04em;overflow-wrap:anywhere}
.contact-details p,.contact-details address{margin:0;white-space:pre-line;font-style:normal}.contact-details a:hover{color:var(--site-link)}
@media(max-width:620px){.contact-full-page #main{padding:145px 22px 50px}.objectives-list li{grid-template-columns:45px minmax(0,1fr);gap:14px}.contact-details{gap:28px}}
.map-sound-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:26px;padding:3px;border:0;background:none;color:var(--site-ink);cursor:pointer;align-self:flex-start;margin-left:-12px;transform:translateY(calc(.5em - 13px))}
.map-sound-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.map-sound-toggle:hover,.map-sound-toggle[aria-pressed=true]{color:var(--site-link)}
/* Keep all scrolling available without visible scrollbar tracks or thumbs. */
html,body,body *{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar,body *::-webkit-scrollbar{display:none;width:0;height:0}
.project-title{font:700 clamp(2rem,3.6vw,3.75rem)/1.08 Inter,Arial,sans-serif;letter-spacing:-.045em;margin:0 0 40px;max-width:1100px}
.project-introduction{align-items:center}
.project-information dl{font-size:1rem;line-height:1.45}
.project-information dl>div{grid-template-columns:105px minmax(0,1fr);gap:20px;padding:5px 0}
.project-information dt{color:var(--site-ink);font-weight:700}.project-information dd{overflow-wrap:anywhere}
.project-question{align-self:center}
@media(max-width:620px){.project-title{margin-bottom:28px}.project-information dl{font-size:.9rem}}
.index-project-details{display:flex;flex-wrap:wrap;gap:12px 28px;margin:9px 0 22px;font-size:.75rem;line-height:1.5}
.index-project-details>div{min-width:80px;max-width:100%}.index-project-details dt{color:var(--site-ink)}.index-project-details dd{margin:2px 0 0;overflow-wrap:anywhere}
.lagos-widget{display:flex;flex-direction:column;align-items:flex-start;gap:1px;font:700 21px/1.12 Inter,Arial,sans-serif;letter-spacing:-.035em;margin:2px 0 10px}
.lagos-widget time{font-variant-numeric:tabular-nums}
.lagos-weather{display:flex;align-items:center;gap:5px;min-height:24px}
.lagos-weather svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.weather-credit{font:400 9px/1.4 Arial,sans-serif;letter-spacing:0;color:var(--site-ink);margin-top:5px;max-width:180px}
.weather-credit summary{cursor:pointer;list-style:none}.weather-credit summary::-webkit-details-marker{display:none}
.sidebar{overflow-y:auto}
.split-gallery .project-cover:has(>img){width:fit-content;max-width:100%;aspect-ratio:auto}
.split-gallery .project-cover>img{width:auto;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

/* Only process uploads reveal their original colour on interaction. */
.split-gallery .making-tile img,.split-gallery .making-tile video{filter:grayscale(1);transition:filter .45s ease-in-out}
.split-gallery .making-tile img,.split-gallery .making-tile video{width:auto;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:transparent}
.split-gallery .making-tile:hover img,.split-gallery .making-tile:hover video,.split-gallery .making-tile:focus-within img,.split-gallery .making-tile:focus-within video{filter:grayscale(0)}
.spread-panels[data-panel-count="1"]{grid-template-columns:minmax(0,1fr);max-width:300px;margin-inline:auto}
@media(prefers-reduced-motion:reduce){.split-gallery .making-tile img,.split-gallery .making-tile video{transition:none}}

@media(min-width:851px){
 body.split-gallery{overflow:hidden}
 .split-gallery .sidebar{height:100dvh;overflow:hidden}
 .split-gallery .sidebar>*{flex-shrink:0}
 .split-gallery main{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
 .split-gallery .project-grid{flex:1;min-height:0;align-items:stretch;overflow:hidden}
 .split-gallery .gallery-column{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding:8px 5px 40px}
 .split-gallery .gallery-column>*{flex-shrink:0}
 .split-gallery .gallery-column>footer{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:20px 0 0;padding:20px 0}
}

.publication-tools{display:flex;justify-content:space-between;align-items:center;margin:35px 0 45px;gap:24px}.publication-filters{display:flex;gap:25px}.publication-filters a{color:var(--site-ink)}.publication-filters a[aria-current]{color:var(--site-ink);font-weight:700}.publication-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 30px}.publication-entry{min-width:0}.publication-entry img{display:block;width:100%;height:280px;object-fit:contain;object-position:left bottom;margin-bottom:20px}.publication-entry h2{font:700 1.1rem/1.3 Inter,Arial,sans-serif;margin:0}.publication-entry p{white-space:pre-line;font-size:.9rem;line-height:1.5}.publication-entry .publication-year{color:var(--site-ink);font-size:.8rem}.publication-list{display:flex;flex-direction:column;gap:32px}.publication-list .publication-entry{display:flex;gap:26px;align-items:start}.publication-list .publication-entry img{width:70px;height:90px;object-position:top;margin:0}.publication-list .publication-entry>div{flex:1}.publication-list h2{font-size:1.35rem}@media(max-width:1000px){.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.publication-grid{gap:30px 20px}.publication-entry img{height:190px}.publication-tools{gap:15px}.publication-filters{gap:15px;font-size:.9rem}}

.about-text p{max-width:960px;width:100%}.people-grid{grid-template-columns:1fr}.person{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.person:has(>img){grid-template-columns:minmax(140px,26%) minmax(0,1fr);gap:32px}.person img{margin:0}.person-details{min-width:0}.person-bio{max-width:850px}.collaborators-section{margin-top:65px}.collaborators-section h2{font-size:1.2rem;font-weight:400;margin:0 0 28px}.collaborators-section p{max-width:960px;font-size:1rem;line-height:1.6;white-space:pre-line;margin:0}@media(max-width:620px){.person:has(>img){grid-template-columns:1fr;gap:20px}.person img{max-width:300px}}

.recognition-entries{list-style:none;margin:0;padding:0;max-width:960px;font-size:1.5rem;line-height:1.55}.recognition-entries li{margin:0 0 1.5em;white-space:pre-line;overflow-wrap:anywhere}.recognition-awards li{margin-bottom:0}.recognition-link{color:var(--site-ink);text-decoration:none}.recognition-link:hover,.recognition-link:focus-visible{color:var(--site-link);text-decoration:none}.recognition-arrow{display:inline-block;font-size:.75em;white-space:nowrap}.recognition-details{color:var(--site-ink)}@media(max-width:620px){.recognition-entries{font-size:1.25rem}}

.category-services>p{font-family:Inter,Arial,sans-serif;font-weight:700;font-size:clamp(2rem,3.6vw,3.75rem);line-height:1.15;letter-spacing:-.04em;max-width:1200px}.service-classifications{margin-top:64px;max-width:1200px}.service-classifications>h2,.selected-projects-heading{font:700 1.2rem/1.4 Inter,Arial,sans-serif;margin:0 0 28px}.service-disclosure{margin:0 0 22px}.service-disclosure summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;font-size:clamp(1.3rem,2.2vw,2rem);padding:8px 0}.service-disclosure summary::-webkit-details-marker{display:none}.service-disclosure summary:hover{color:var(--site-link)}.service-disclosure summary:focus-visible{outline:2px solid #03007f;outline-offset:5px}.service-plus{position:relative;flex:0 0 20px;width:20px;height:20px}.service-plus:before,.service-plus:after{content:"";position:absolute;background:currentColor;left:0;top:9px;width:20px;height:1.5px}.service-plus:after{transform:rotate(90deg)}.service-disclosure[open] .service-plus:after{transform:rotate(0)}.service-explanation{font-size:1.1rem;line-height:1.6;white-space:pre-line;max-width:960px;padding:16px 44px 20px 0}@media(max-width:620px){.category-services>p{font-size:2rem}.service-classifications{margin-top:42px}}

.project-process{margin:64px 0 0}.project-process summary{font-family:Inter,Arial,sans-serif;font-weight:700;font-size:clamp(1.7rem,3vw,3rem)}.project-process-content{padding:28px 0}.project-process-content>p{white-space:pre-line;font-size:clamp(1.1rem,1.7vw,1.5rem);line-height:1.65;margin:0 0 30px}.project-credits{display:grid;grid-template-columns:1fr;gap:32px;margin:64px 0}.project-credits h2{font:700 1.25rem/1.3 Inter,Arial,sans-serif;margin:0 0 20px}.project-credits p{white-space:pre-line;line-height:1.65;margin:0}@media(max-width:620px){.project-credits{grid-template-columns:1fr;gap:32px;margin:40px 0}.project-process{margin-top:40px}}
.category-hero-picture{display:block;width:100%;height:100%}.category-hero-picture>img{display:block;width:100%;height:100%;object-fit:cover}
/* Dedicated Work index; the OMI wordmark retains the default Map route. */
.work-categories{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;min-height:65vh}.work-categories a{font:400 clamp(2rem,4.4vw,4.5rem)/1.12 Arial,Helvetica,sans-serif;letter-spacing:-.04em;color:var(--site-ink)}.work-categories a:hover,.work-categories a:focus-visible{font-family:Inter,Arial,sans-serif;font-weight:900}
.split-gallery .gallery-column>.project-card{width:70%;align-self:center}.split-gallery .gallery-column{gap:34px}
.practice-band p{font:700 clamp(1.2rem,2vw,2rem)/1.2 Inter,Arial,sans-serif;letter-spacing:-.025em;color:var(--site-ink)}.practice-slides{display:grid;overflow:hidden}.practice-slide{grid-area:1/1;transform:translateY(110%);opacity:0;transition:transform .65s ease,opacity .5s ease}.practice-slide.is-current{transform:translateY(0);opacity:1}.practice-slide:not(.is-current){pointer-events:none}.practice-band:focus-visible{outline:2px solid #03007f;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.practice-slide{transition:none}}

.practice-slide:not(.is-current){transform:translateY(-110%)}.practice-slide.is-current{animation:practice-rise .65s ease both}@keyframes practice-rise{from{transform:translateY(110%);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.practice-slide.is-current{animation:none}}
/* Give the Map columns nearly the full screen height. */
@media(min-width:851px){
 .split-gallery .sidebar{padding-top:16px;padding-bottom:16px}
 body.split-gallery main{padding-top:26px;padding-bottom:0;padding-right:24px}
 .split-gallery .work-top{display:none}
 body.split-gallery .filters{margin:0 0 12px;padding:0;align-items:flex-start;line-height:1}
 .split-gallery .filters a{padding:0}
 body.split-gallery .gallery-column{padding-top:0;padding-bottom:12px}
 body.split-gallery .practice-band{padding:8px 0 10px}
 .split-gallery .practice-band p{font-size:clamp(11px,1.15vw,18px);line-height:1.2;white-space:nowrap;letter-spacing:-.025em}
}
@media(max-width:850px){.split-gallery .practice-band{padding:14px 0}.split-gallery .practice-band p{font-size:16px;line-height:1.25}}
/* One logo origin across standard routes; image-header logos keep their bounded scroll. */
body:not(.project-page) #app>.sidebar{padding-top:16px}
body.search-page #app>.sidebar{position:fixed;padding-left:42px;padding-right:42px}
.wordmark,.wordmark:hover,.wordmark:focus-visible,.project-page .wordmark{color:var(--site-ink);mix-blend-mode:normal;-webkit-text-fill-color:var(--site-ink);text-shadow:none}
@media(min-width:621px) and (max-width:850px){body.search-page #app>.sidebar{padding-left:24px;padding-right:24px}}
@media(max-width:620px){body:not(.project-page) #app>.sidebar{padding-top:25px}body.search-page #app>.sidebar{padding-left:22px;padding-right:22px}}
#app>.sidebar>.wordmark{display:block;width:max-content}
/* Consistent navigation and editorial content sections. */
:root{--omi-x:42px;--omi-y:16px}body:not(.project-page) #app>.sidebar{padding-left:var(--omi-x);padding-top:var(--omi-y)}.project-logo-track{padding:var(--omi-y) var(--omi-x)}.project-cover-logo{top:var(--omi-y)}
body:not(.project-page):not(.search-page) #main{padding-top:26px}body:not(.project-page) #main>.work-top:not(:has(.view-switch)){display:none}#main>.filters{margin:0 0 40px;padding-top:0}.filters{gap:14px 20px}.office-filters,.work-navigation{flex-wrap:wrap}.work-index #main{padding-top:var(--work-nav-top,145px)!important}.work-index .work-navigation{margin:0 0 35px;line-height:1.2}.work-bands{display:flex;flex-direction:column;gap:45px}.work-preview-band h2{font:500 16px Arial,sans-serif;margin:0 0 14px}.work-preview-squares{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.work-preview-squares a{display:grid;place-items:center;aspect-ratio:1;background:var(--surface-f5f5f5)}.work-preview-squares img{width:100%;height:100%;object-fit:cover}.work-preview-squares span{font-size:14px;padding:14px}.about-text p{font:700 20px/1.4 Inter,Arial,sans-serif;max-width:none;margin:0 0 1em}.people-running{font:400 20px/1.5 Inter,Arial,sans-serif;max-width:none}.people-running a{text-decoration:underline!important;text-underline-offset:4px}.person-page{max-width:1000px}.person-page h1{font:700 clamp(2rem,5vw,4rem)/1.1 Inter,Arial,sans-serif;margin:0 0 24px}.person-page>p{font:500 20px/1.4 Inter,Arial,sans-serif;white-space:pre-line}.person-page img{max-width:300px;max-height:360px;object-fit:contain;float:left;margin:0 35px 25px 0}.contact-full-page #main,.person-detail #main{padding-left:var(--omi-x);padding-right:var(--omi-x)}.new-entry-list article{margin:40px 0}.new-entry-list h2{font:700 24px/1.25 Inter,Arial,sans-serif}.new-entry-list p{font:500 18px/1.5 Inter,Arial,sans-serif;white-space:pre-line}.new-entry-list img{max-width:100%;max-height:65vh;object-fit:contain}.what-we-do{padding-top:20px}.studio-listening{display:flex;align-items:center;gap:40px;margin:65px 0}.studio-listening h2{font:700 20px Inter,Arial,sans-serif}.studio-listening ol{padding-left:20px}.studio-listening li{padding:7px 0}.studio-listening p{font-size:14px;margin:5px 0}.record-disc{position:relative;flex:none;width:150px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;color:var(--site-ink);background:none}.record-disc .record-grooves{position:absolute;inset:0;display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1;shape-rendering:geometricPrecision;pointer-events:none}.record-grooves circle{vector-effect:non-scaling-stroke}.record-disc span{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#000;color:white;font:900 13px Inter,Arial,sans-serif;animation:record-turn 16s linear infinite}@keyframes record-turn{to{transform:rotate(360deg)}}
@media(max-width:850px){:root{--omi-x:24px}.work-navigation,.office-filters{gap:12px}.about-text p{font-size:18px}}
@media(max-width:620px){:root{--omi-x:22px;--omi-y:25px}.work-index #main{padding-top:35px!important}.work-preview-squares{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-listening{gap:20px}.record-disc{width:90px}.person-page img{float:none;margin:0 0 25px;width:100%}.practice-band p{white-space:normal}}
@media(prefers-reduced-motion:reduce){.record-disc,.record-disc span{animation:none}}

.category-collection #main>.work-top{display:flex;position:absolute;top:18px;right:48px}.category-collection #main>.filters{padding-right:70px}
#main>.filters:not(.work-navigation){line-height:1}#main>.filters a{padding-top:0;padding-bottom:0}
/* Work columns and quiet category navigation */
body.work-index #main{padding-top:26px!important}
.work-bands{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;align-items:start}
.work-preview-band{min-width:0;margin:0}
.work-preview-band h2{margin:0 0 32px;font-size:16px;font-weight:400;line-height:1.2;min-height:38px}
.work-preview-squares{display:flex;flex-direction:column;gap:26px}
.work-preview-squares>a{display:block;min-width:0;aspect-ratio:auto}
.work-preview-squares img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.work-preview-squares .work-program{display:block;margin-top:8px;font-size:14px;line-height:1.3}
.category-label{display:inline-grid!important;grid-template-areas:'label';text-decoration:none!important}
.category-label>.filter-label,.category-label>.filter-width{grid-area:label}
.category-label>.filter-width{visibility:hidden;font-family:Inter,Arial,sans-serif;font-weight:900;pointer-events:none}
.category-label:hover>.filter-label,.category-label:focus-visible>.filter-label,.category-label[aria-current='page']>.filter-label{font-family:Inter,Arial,sans-serif;font-weight:900;color:var(--site-ink)}
.category-navigation a{transition:opacity .18s,color .18s}
@media(hover:hover) and (pointer:fine){
.category-navigation{position:relative}
.category-navigation::before{content:'';position:absolute;inset:-16px;z-index:-1}
.category-navigation a:not([aria-current='page']){opacity:0}
.category-navigation:hover a:not([aria-current='page']),.category-navigation:focus-within a:not([aria-current='page']){opacity:1;color:#aaa}
.category-navigation a:hover,.category-navigation a:focus-visible{color:var(--site-ink)!important}
}
.about-introduction.has-team-image{display:block}
.about-introduction .about-text{width:auto;max-width:none;margin:0}
.about-team-image{display:block;width:100%;height:auto;margin-top:40px}
.contact-full-page #main{margin-left:0;padding-left:var(--omi-x);padding-right:var(--omi-x)}
.contact-heading{font-family:Inter,Arial,sans-serif;font-weight:700;font-size:clamp(32px,4vw,64px);line-height:1.1;margin:0 0 40px;max-width:1100px}
.contact-follow{margin-top:42px}
.contact-follow h2{font:700 22px/1.2 Inter,Arial,sans-serif;margin:0 0 18px}
.contact-follow>div{display:flex;gap:20px}
.contact-follow a{display:block;width:26px;height:26px}
.contact-follow svg{width:100%;height:100%}
@media(max-width:1100px){.work-bands{gap:14px}.work-preview-band h2{font-size:14px}}
@media(max-width:850px){body.work-index #main{padding-top:35px!important}.work-bands{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 18px}.about-introduction.has-team-image{grid-template-columns:1fr;gap:24px}}
@media(max-width:520px){.work-bands{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.category-navigation a{transition:none}}
.work-preview-squares>a{background:transparent}
.work-preview-squares .work-program{padding:0;text-align:left;background:transparent}
.category-navigation{isolation:isolate}
.category-navigation::before{z-index:0}
.category-navigation a{position:relative;z-index:1}
/* Work overview: headings share the Work baseline, with compact previews. */
@media(min-width:851px){
 body.work-index #main,body.category-collection #main{padding-top:var(--work-nav-top,150px)!important}
 .work-index .work-preview-squares>a{width:68%;max-width:135px}
 .work-index .work-preview-band h2{margin-bottom:22px;min-height:38px}
 .work-index .work-preview-squares{gap:24px}
}
.collection-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:40px}
.collection-heading .filters{margin:0;padding:0;line-height:1.2}
.collection-heading .filters a{padding:0}
.collection-heading .view-switch{flex-shrink:0;padding:0}
.collection-introduction{position:absolute;top:26px;left:29%;right:48px;max-height:calc(var(--work-nav-top,150px) - 52px);overflow:auto;font:700 18px/1.4 Inter,Arial,sans-serif}
.collection-introduction p{margin:0 0 12px}
.search-page #main{padding-left:var(--omi-x);padding-right:var(--omi-x)}
.contact-follow h2{font:700 clamp(1.6rem,3.6vw,3.8rem)/1.14 Inter,Arial,sans-serif;letter-spacing:-.04em}
.practice-socials svg.solid-social,.contact-follow svg.solid-social{fill:currentColor;stroke:none}
/* Category description route: text left, changing natural-proportion images right. */
body.category-page #app>.sidebar{position:absolute;left:0;top:0;width:auto;height:auto;display:block;padding:var(--omi-y) var(--omi-x)}
.category-page .sidebar>:not(.wordmark){display:none}
body.category-page #main{margin:0;max-width:none;width:100%;padding:max(170px,13vw) var(--omi-x) 0!important}
.category-editorial,.category-selected-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:7vw;align-items:start}
.category-description>p{font:700 clamp(1.5rem,2.4vw,2.8rem)/1.22 Inter,Arial,sans-serif;letter-spacing:-.025em;margin:0 0 1em;white-space:pre-line}
.category-description .service-classifications{margin-top:40px}
.category-description .service-disclosure summary{font-size:20px}
.category-cycle{height:clamp(280px,47vw,590px);position:relative;display:flex;align-items:flex-start;justify-content:center;min-width:0}
.category-cycle-link{height:100%;width:100%;display:flex;align-items:flex-start;justify-content:center}
.category-cycle img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;display:block}
.cycle-pause{position:absolute;right:0;bottom:0;border:0;background:var(--site-bg);color:var(--site-ink);font-size:16px;width:30px;height:30px;cursor:pointer;opacity:0;transition:opacity .2s}
.category-cycle:hover .cycle-pause,.category-cycle:focus-within .cycle-pause{opacity:1}
.category-selected-editorial{margin-top:70px;grid-template-columns:max-content minmax(0,1fr);column-gap:28px}
.category-selected-editorial>h2{font:700 clamp(1.5rem,2.4vw,2.8rem)/1.22 Inter,Arial,sans-serif;letter-spacing:-.025em;margin:0}
.selected-name-row{margin-bottom:24px}
.selected-name-row .index-project-name{display:block;font:400 24px/1.25 Arial,sans-serif;letter-spacing:-.025em}
.selected-name-row .index-project-name>small{display:inline;font:inherit;letter-spacing:inherit;color:var(--site-muted);margin:0 0 0 .5em}
.category-selected-editorial .index-image-preview{left:auto;right:var(--omi-x);top:30vh;width:min(34vw,480px)}
.category-selected-editorial .category-see-all{font:400 24px/1.25 Arial,sans-serif;letter-spacing:-.025em;color:var(--site-muted);margin-top:18px}
.category-selected-editorial:not(:has(>h2)){grid-template-columns:1fr}
.category-selected-editorial:not(:has(>h2))>div:first-child{display:none}
.category-page #main>footer{margin-left:0;margin-right:0}
@media(hover:none){.cycle-pause{opacity:1}}
@media(max-width:850px){
 .collection-introduction{position:static;max-height:none;margin-bottom:30px}
 .collection-heading{flex-wrap:wrap}
 .work-index .work-preview-squares>a{width:80%;max-width:150px}
 body.category-page #main{padding-top:145px!important}
 .category-editorial,.category-selected-editorial{column-gap:30px}
 .category-cycle{height:360px}
}
@media(max-width:620px){
 .category-editorial,.category-selected-editorial{grid-template-columns:1fr;gap:30px}
 .category-cycle{height:420px;max-height:65svh}
 .category-selected-editorial{margin-top:44px;gap:16px}
 .category-selected-editorial>h2{font-size:24px}
 .category-selected-editorial .index-image-preview{left:auto;right:var(--omi-x);top:auto;bottom:4vh;width:65vw}
 .category-description>p{font-size:24px}
}
.category-cycle{height:clamp(280px,32vw,440px)}
.category-cycle-link img{width:100%;height:100%;object-fit:contain;object-position:center top}
@media(max-width:620px){.category-cycle{height:360px;max-height:65svh}}
/* Work uses a continuous horizontal category rail. */
.work-index #main,.category-collection #main{max-width:none;padding-right:0}
.work-overview-rail,.work-nav-shell{position:relative;min-width:0}
.work-nav-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;padding-bottom:8px}
.work-nav-scroll::-webkit-scrollbar{display:none}
.work-overview-rail .work-bands{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:max-content;gap:64px;width:max-content;padding-right:60px}
.work-overview-rail .work-preview-band{min-width:240px}
.work-overview-rail .work-preview-band h2{min-height:0;margin:0 0 30px;font:var(--work-font-weight,500) var(--work-font-size,32px)/1.25 var(--work-font-family,Arial);letter-spacing:var(--work-letter-spacing,-.025em);white-space:nowrap}
.work-overview-rail .work-preview-band h2 a,.work-overview-rail .work-preview-band h2 a:hover>.filter-label{font-family:inherit;font-weight:inherit;font-size:inherit}
.work-overview-rail .work-preview-squares{display:flex;flex-direction:column;gap:28px}
.work-overview-rail .work-preview-item{display:block;width:160px;max-width:none;aspect-ratio:auto;background:none}
.work-overview-rail .work-preview-item img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.work-overview-rail .work-program{font:700 16px/1.4 Inter,Arial,sans-serif;letter-spacing:0;text-align:left;padding:0;margin-top:9px}
.collection-heading{gap:12px;position:relative;align-items:center;padding-right:var(--omi-x)}
.collection-heading .work-nav-shell{flex:1;min-width:0}
.work-navigation{display:flex;position:relative;gap:64px;width:max-content;min-width:100%;white-space:nowrap;margin:0;padding:0 60px 0 0;font:var(--work-font-weight,500) var(--work-font-size,32px)/1.25 var(--work-font-family,Arial);letter-spacing:var(--work-letter-spacing,-.025em)}
.work-navigation a{display:block;flex-shrink:0;position:relative;transition:transform .3s,opacity .2s,color .2s;color:#aaa}
.work-navigation a[aria-current],.work-navigation a:hover,.work-navigation a:focus-visible{color:var(--site-ink)}
.work-nav-shell.is-collapsed .work-navigation a:not([aria-current]){opacity:0;pointer-events:none}
.work-nav-shell.is-collapsed .work-nav-scroll{overflow:hidden}
.work-nav-shell::before{content:'';position:absolute;inset:-20px 0;pointer-events:auto}
.work-nav-shell .work-nav-scroll{position:relative}
.rail-arrow{position:absolute;top:0;width:42px;height:44px;z-index:4;cursor:pointer;background:var(--site-bg);border:0;font:300 30px/1 Arial,sans-serif}
.rail-arrow[hidden]{display:none}.rail-back{left:0}.rail-next{right:0}
.work-overview-rail .rail-arrow{top:0}
.dense-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;align-items:start;padding-right:var(--omi-x)}
.dense-work-card{display:block;min-width:0;color:var(--site-ink)}
.dense-work-card img{display:block;width:100%;height:auto;object-fit:contain;margin:0 0 10px}
.dense-work-card h2{font:700 16px/1.4 Inter,Arial,sans-serif;letter-spacing:0;margin:0}
.dense-work-card p{font:400 16px/1.4 Arial,sans-serif;margin:3px 0 0;white-space:pre-line}
.dense-work-card .entry-summary{margin-top:10px}
.entry-text-grid{row-gap:35px}
.category-collection>.publication-filters,.category-collection #main>.publication-filters{margin-bottom:26px}
.category-collection #main>footer{margin-right:var(--omi-x)}
.project-grid .project-cover:hover::after,.project-grid .project-cover:focus-visible::after{opacity:0!important}
.project-grid .project-cover:hover>img,.project-grid .project-cover:focus-visible>img{filter:none!important;opacity:1!important}
.publication-cover:hover img,.related-project:hover .related-image img{opacity:1!important}
@media(max-width:850px){.dense-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.work-overview-rail .work-bands,.work-navigation{gap:40px}.work-overview-rail .work-preview-band{min-width:200px}}
@media(max-width:520px){.dense-work-grid{gap:24px 14px}.dense-work-card h2,.dense-work-card p{font-size:14px}.work-overview-rail .work-preview-band{min-width:185px}}
@media(prefers-reduced-motion:reduce){.work-navigation a{transition:none}}
.work-overview-rail .work-preview-squares>.work-preview-item{width:160px;max-width:none;place-items:normal}
.work-overview-rail .work-program{width:100%;justify-self:stretch;align-self:start;text-align:left}
/* Equal image boxes; keep the artwork intact inside each square. */
.dense-work-card img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;object-position:center}
.entry-image-grid .dense-work-card:not(:has(img))>h2{aspect-ratio:1;display:flex;align-items:center;justify-content:flex-start;margin-bottom:10px}
.work-overview-rail .work-preview-item img{aspect-ratio:1;object-fit:contain}
.work-navigation{flex-wrap:nowrap}
.work-nav-shell .rail-arrow{top:-39px;height:32px;width:36px;font-size:26px}
.work-nav-shell .rail-back{left:auto;right:40px}
.work-nav-shell .rail-next{right:0}
.rail-arrow:disabled{opacity:.2;cursor:default}
/* Small, evenly framed Work thumbnails and consistent top triangle controls. */
.work-overview-rail .work-preview-band h2{text-align:center}
.work-overview-rail .work-preview-squares{align-items:center}
.work-overview-rail .work-preview-item img{border:1px solid var(--line-d0d0d0)}
.work-overview-rail .rail-arrow,.work-nav-shell .rail-arrow{top:-39px;width:36px;height:32px;font-size:0;display:grid;place-items:center}
.work-overview-rail .rail-back,.work-nav-shell .rail-back{left:auto;right:40px}
.work-overview-rail .rail-next,.work-nav-shell .rail-next{right:0}
.rail-arrow[hidden]{display:none!important}
.rail-arrow::before{content:'';width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent}
.rail-next::before{border-left:10px solid currentColor}
.rail-back::before{border-right:10px solid currentColor}
.dense-work-grid:not(.entry-text-grid){grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 20px}
.dense-work-grid:not(.entry-text-grid) .dense-work-card img{border:1px solid var(--line-d0d0d0)}
.dense-work-grid:not(.entry-text-grid) .dense-work-card h2,.dense-work-grid:not(.entry-text-grid) .dense-work-card p{font-size:14px;line-height:1.35}
@media(min-width:1600px){.dense-work-grid:not(.entry-text-grid){grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:1000px){.dense-work-grid:not(.entry-text-grid){grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 16px}}
@media(max-width:620px){.dense-work-grid:not(.entry-text-grid){grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 12px}}
@media(max-width:390px){.dense-work-grid:not(.entry-text-grid){grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Work navigation stays in place while its content scrolls. */
.work-overview-rail .work-preview-item img,.dense-work-grid:not(.entry-text-grid) .dense-work-card img{border:0}
@media(min-width:851px){
 .category-collection .collection-heading{position:sticky;top:var(--work-nav-top,150px);z-index:12;background:var(--site-bg);padding-bottom:12px}
 .category-collection .collection-heading::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:var(--work-nav-top,150px);background:var(--site-bg);pointer-events:none}
 .category-collection .collection-heading>div{position:relative}
 body.work-index{overflow:hidden}
 .work-index #main{height:100dvh;overflow:hidden}
 .work-index .work-overview-rail>.work-nav-scroll{height:calc(100dvh - var(--work-nav-top,150px) - 16px);overflow-y:auto;scrollbar-width:none}
 .work-index .work-preview-band h2{position:sticky;top:0;z-index:5;background:var(--site-bg);padding-bottom:20px;margin-bottom:10px}
 .work-index .work-overview-rail{isolation:isolate}
 .work-index .work-bands{align-items:stretch}
 .category-collection .collection-introduction{z-index:13;background:var(--site-bg)}
 .work-index #main>footer{display:none}
 .work-index .work-nav-scroll>footer{margin-right:var(--omi-x)}
}
@media(hover:hover) and (pointer:fine){
 :is(.work-index,.category-collection) .primary{position:relative;isolation:isolate}
 :is(.work-index,.category-collection) .primary::before{content:'';position:absolute;inset:-20px;z-index:-1}
 :is(.work-index,.category-collection) .primary a:not([href='#/work/categories']){opacity:0;transition:opacity .2s,color .2s}
 :is(.work-index,.category-collection) .primary:hover a,:is(.work-index,.category-collection) .primary:focus-within a{opacity:1}
 :is(.work-index,.category-collection) .primary:hover a:not([href='#/work/categories']){color:#999}
 :is(.work-index,.category-collection) .primary a:hover,:is(.work-index,.category-collection) .primary a:focus-visible{color:var(--site-ink)}
}
@media(prefers-reduced-motion:reduce){:is(.work-index,.category-collection) .primary a{transition:none}}
/* Identical category tracks in overview and collections prevent navigation jumps. */
.practice-slide{transform:translateY(110%);opacity:1;transition:none}
.practice-slide.is-current{transform:translateY(0);opacity:1;transition:transform 6s cubic-bezier(.45,0,.25,1)}
.practice-slide.is-leaving{transform:translateY(-110%);opacity:1;transition:transform 6s cubic-bezier(.45,0,.25,1)}
@media(prefers-reduced-motion:reduce){.practice-slides{display:flex;flex-direction:column;gap:8px}.practice-slide,.practice-slide.is-current,.practice-slide.is-leaving{transform:none;opacity:1;transition:none}}
.work-count{font-size:.48em;font-weight:400;letter-spacing:0;white-space:nowrap}
.work-overview-rail .work-preview-squares,.rolling-category[data-work-column]{height:calc(100dvh - var(--work-nav-top,150px) - 100px);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;overscroll-behavior-y:contain;min-height:160px}
.work-overview-rail .work-preview-squares::-webkit-scrollbar,.rolling-category[data-work-column]::-webkit-scrollbar{display:none}
.work-overview-rail .work-preview-squares>*{flex-shrink:0}
[data-work-column]:focus-visible{outline:1px dotted #999;outline-offset:3px}
.category-collection #main>.dense-work-grid{margin-left:var(--work-grid-inset,0px)}
.work-overview-rail .work-bands,.work-navigation{display:grid;grid-auto-flow:column;grid-auto-columns:340px;gap:64px;width:max-content;min-width:0}
.work-navigation a{width:340px;text-align:center;transform:none;transition:color .2s}
.work-overview-rail .work-preview-band{min-width:0;width:340px}
.work-overview-rail .work-preview-band h2,.work-navigation a{text-align:left}
.work-overview-rail .work-preview-squares{align-items:flex-start}
.work-navigation a:not([aria-current]){color:var(--site-ink)}
/* A shared scrolling surface keeps each heading attached to its project column. */
.rolling-work{position:relative;min-width:0}
.rolling-work>.work-nav-scroll{height:calc(100dvh - var(--work-nav-top,150px) - 16px);overflow:auto;scrollbar-width:none;overscroll-behavior:contain}
.rolling-heading{position:sticky;top:0;z-index:15;background:var(--site-bg);width:max-content;padding-bottom:28px}
.rolling-heading .work-navigation{margin:0}
.rolling-heading::before{inset:-20px 0 0}
.rolling-columns{display:grid;grid-auto-flow:column;grid-auto-columns:340px;gap:64px;width:max-content;padding-right:60px;align-items:start}
.work-overview-rail .work-bands,.work-navigation,.rolling-columns{padding-right:clamp(96px,12vw,200px)}
.rolling-category{width:340px;min-width:0}
.rolling-category .dense-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;margin:0;padding:0}
.rolling-category .dense-work-grid:not(.entry-text-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
.rolling-category .index-year-group{grid-template-columns:50px minmax(0,1fr);column-gap:14px}
.rolling-category .index-project-name{font-size:18px}
.rolling-introduction{font:400 16px/1.4 Inter,Arial,sans-serif;margin:0 0 24px}
.rolling-introduction p{margin:0 0 1em}
.rolling-view-controls{position:absolute;top:-39px;right:86px;z-index:20}
.rolling-work>.rail-arrow{top:-39px;width:36px;height:32px;font-size:0;display:grid;place-items:center;z-index:20}
.rolling-work>.rail-back{left:auto;right:40px}
.rolling-work>.rail-next{right:0}
.rolling-work .work-nav-scroll>footer{margin-right:var(--omi-x)}
@media(min-width:851px){body.category-collection{overflow:hidden}.category-collection #main{height:100dvh;overflow:hidden}}
@media(max-width:850px){.rolling-columns{grid-auto-columns:300px;gap:40px}.rolling-category{width:300px}.rolling-work>.work-nav-scroll{height:calc(100dvh - var(--work-nav-top,150px) - 16px)}}
/* Reveal siblings without moving or resizing their reserved category tracks. */
@media(hover:hover) and (pointer:fine){
 .category-collection .work-navigation a:not([aria-current]){opacity:0;color:#aaa;transition:opacity .25s,color .2s;pointer-events:none}
 .category-collection .work-nav-shell:hover .work-navigation a:not([aria-current]),.category-collection .work-nav-shell:focus-within .work-navigation a:not([aria-current]){opacity:1;pointer-events:auto;color:#aaa}
 .category-collection .rolling-work:has(>.rail-arrow:hover,>.rail-arrow:focus-visible) .work-navigation a:not([aria-current]){opacity:1;pointer-events:auto;color:#aaa}
 .category-collection .work-navigation a[aria-current]{opacity:1;color:var(--site-ink)}
}
@media(prefers-reduced-motion:reduce){.category-collection .work-navigation a{transition:none!important}}
@media(max-width:850px){.work-overview-rail .work-bands,.work-navigation{grid-auto-columns:300px;gap:40px}.work-navigation a,.work-overview-rail .work-preview-band{width:300px}}
@media(hover:hover) and (pointer:fine){
 :is(.work-index,.category-collection) .primary a:not([href='#/work/categories']),:is(.work-index,.category-collection) .primary a:not([href='#/work/categories']):hover,:is(.work-index,.category-collection) .primary a:not([href='#/work/categories']):focus-visible{color:#999;font-weight:300}
 :is(.work-index,.category-collection).work-menu-intro .primary a:not([href='#/work/categories']){opacity:1;color:var(--site-ink)}
}
/* Keep preview alignment after the collection-specific rules. */
.work-overview-rail .work-preview-band h2{text-align:center}
.work-overview-rail .work-preview-squares{align-items:center}

/* Office copy follows the selected category label typography. */
:root{--office-type-size:.875rem;--office-heading-family:Inter,Arial,sans-serif;--office-heading-weight:900;--office-statement-size:1.5rem}
.office-filters .category-label[aria-current='page']>.filter-label{font-family:var(--office-heading-family);font-size:var(--office-type-size);font-weight:var(--office-heading-weight)}
body:has(.about-introduction) #main{max-width:none}
.about-introduction .about-text{font:700 var(--office-statement-size)/1.5 Inter,Arial,sans-serif;width:100%;max-width:none;min-height:0}
.about-introduction .about-text p{font:inherit;letter-spacing:0}
.publication-sections .recognition-category>h2{font:var(--office-heading-weight) var(--office-type-size)/1.4 var(--office-heading-family);letter-spacing:0}
.publication-sections .recognition-entries,.text-page.publication-sections .recognition-category>p{font:400 var(--office-type-size)/1.55 Arial,Helvetica,sans-serif;letter-spacing:0}
.publication-sections .recognition-awards li{margin-bottom:1.5em}
.publication-sections .recognition-entries li{white-space:normal}
.publication-sections .recognition-details{display:inline;color:var(--site-muted);margin-left:.65em}
.people-section,.collaborators-section{font:400 var(--office-type-size)/1.55 Arial,Helvetica,sans-serif;max-width:65ch;margin-top:3.5rem}
.people-section>h2,.collaborators-section>h2{font:var(--office-heading-weight) var(--office-type-size)/1.4 var(--office-heading-family);letter-spacing:0;margin:0 0 1rem}
.about-entry-list{list-style:none;margin:0;padding:0;font:inherit}
.about-entry-list li{margin:0 0 1.5em;white-space:pre-line;overflow-wrap:anywhere}
.about-entry-list a{text-decoration:underline!important;text-underline-offset:4px}
.about-entry-list a:hover,.about-entry-list a:focus-visible{color:var(--site-link)}
.people-collaborators{max-width:none}
.people-collaborators .people-running{font:inherit;max-width:none;margin:0;white-space:normal;overflow-wrap:anywhere}

/* Numbered Office pages follow the primary menu's horizontal levels on desktop. */
#main>.office-filters:has(+.office-objectives){margin-bottom:0}
.office-objectives{--objective-type-size:var(--office-statement-size);display:grid;grid-template-rows:minmax(min-content,var(--objective-step,54px)) auto;margin:0 0 80px;overflow-anchor:none}
.office-objectives .objective-numbers{gap:24px;margin-bottom:0;align-self:start}
.office-objectives .objective-numbers button{font:700 var(--objective-type-size)/1.2 Inter,Arial,sans-serif;letter-spacing:0}
.office-objectives .objective-statements{display:grid;min-width:0;overflow-anchor:none}
.office-objectives .objective-statement{grid-area:1/1;min-width:0;font:700 var(--objective-type-size)/1.5 Inter,Arial,sans-serif}
/* Reserve one common text area so switching to or from the first item cannot move the page. */
.office-objectives .objective-statement[hidden]{display:block;visibility:hidden;pointer-events:none}
.office-objectives .objective-statement p{font:700 var(--objective-type-size)/1.5 Inter,Arial,sans-serif;letter-spacing:0;max-width:75ch}
.office-objectives .studio-entry-title{font:inherit;letter-spacing:0;margin:0 0 .65em;max-width:75ch}
.office-objectives .studio-entry-title:only-child{margin-bottom:0}
.in-the-studio .objective-statements:has(.studio-entry-title){grid-template-rows:auto auto;row-gap:calc(var(--objective-type-size)*.65)}
.in-the-studio .objective-statements:has(.studio-entry-title) .objective-statement{display:grid;grid-area:1/1/3/2;grid-template-rows:subgrid}
.in-the-studio .objective-statements:has(.studio-entry-title) .studio-entry-title{grid-row:1;margin:0}
.in-the-studio .objective-statements:has(.studio-entry-title) .objective-statement>p{grid-row:2}
.office-objectives .objective-statement img{display:block;max-width:100%;height:auto;margin-top:24px}
.office-objectives .objective-link{display:inline-block;margin-top:24px}
.studio-listening{justify-content:space-between;gap:40px}
.studio-listening>div:not(.record-disc){order:0;flex:1;min-width:0}
.studio-listening .record-disc{order:1;width:90px}
.studio-listening .record-disc span{width:29px;height:29px;font-size:8px}
.studio-listening ol{padding-left:0;list-style:none}
.studio-coffee{display:flex;align-items:center;gap:clamp(24px,4vw,40px);margin:64px 0 72px;color:var(--site-ink)}
.studio-coffee-cups{display:block;flex:none;width:80px;max-width:40%;height:auto}
.studio-coffee-copy{min-width:0}
.studio-coffee h2{font:700 var(--office-statement-size)/1.3 Inter,Arial,sans-serif;letter-spacing:0;margin:0 0 18px}
.studio-coffee-caption{font:400 1rem/1.5 Arial,Helvetica,sans-serif;margin:0;font-variant-numeric:tabular-nums}
.coffee-cup-number{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-variant-numeric:tabular-nums}
@media(max-width:620px){.studio-listening{gap:24px}.studio-listening .record-disc{width:54px}.studio-listening .record-disc span{width:18px;height:18px;font-size:6px}.studio-coffee{gap:24px;margin:48px 0}.studio-coffee-cups{width:56px;max-width:35%}.studio-coffee h2{font-size:1.125rem;margin-bottom:14px}}
@media(max-width:850px){:root{--office-statement-size:1.25rem}.office-objectives{grid-template-rows:auto auto;row-gap:32px;padding-top:32px}}
/* Studio additions share a row and can grow into a second pair of modules. */
.in-the-studio.office-objectives{margin-bottom:0}
.studio-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:56px 64px;margin:64px 0 72px}
.studio-extras .studio-listening,.studio-extras .studio-coffee{display:flex;align-items:flex-start;justify-content:flex-start;gap:20px;margin:0;min-width:0}
.studio-extras .studio-listening>div:not(.record-disc),.studio-extras .studio-coffee-copy{order:0;flex:0 1 auto;min-width:0}
.studio-extras .record-disc,.studio-extras .studio-coffee-cups{order:1;flex:none;margin-top:0}
.studio-extras .studio-coffee-cups{width:80px;max-width:none}
.studio-extras h2{font:700 var(--office-statement-size)/1.5 Inter,Arial,sans-serif;letter-spacing:0;margin:0 0 16px}
.studio-extras .studio-listening ol{margin:0;padding:0;list-style:none}
.studio-extras .studio-listening li{padding:0 0 12px}
@media(max-width:1100px){.studio-extras{grid-template-columns:1fr;row-gap:48px}}
@media(max-width:620px){.studio-extras{margin:48px 0}.studio-extras .studio-coffee-cups{width:56px}}
/* Shared heading rows keep the playlist and coffee captions on one baseline. */
.studio-extras{row-gap:16px}
.studio-extras .studio-listening,.studio-extras .studio-coffee{display:grid;grid-template-columns:minmax(0,max-content) auto;grid-template-rows:subgrid;grid-row:span 2;gap:16px 20px}
.studio-extras .studio-listening>div:not(.record-disc),.studio-extras .studio-coffee-copy{display:grid;grid-template-rows:subgrid;grid-column:1;grid-row:1/span 2;row-gap:16px}
.studio-extras h2{grid-row:1;margin:0}
.studio-extras .studio-listening ol,.studio-extras .studio-coffee-caption{grid-row:2}
.studio-extras .record-disc,.studio-extras .studio-coffee-cups{grid-column:2;grid-row:1/span 2}
@media(max-width:1100px){.studio-extras{row-gap:32px}}
.about-team-gallery{margin-top:40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:32px}
.about-team-figure{min-width:0;margin:0}
.about-team-gallery:has(>.about-team-figure:only-child){grid-template-columns:1fr}
.about-team-figure .about-team-image{margin:0}
.about-team-figure figcaption{font:400 .875rem/1.5 Arial,Helvetica,sans-serif;margin-top:12px;white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:620px){.about-team-gallery{grid-template-columns:1fr;gap:28px}}
@media(prefers-reduced-motion:no-preference){.coffee-liquid{transform-box:fill-box;transform-origin:50% 100%;animation:coffee-pour .9s ease-out both}}
@keyframes coffee-pour{from{transform:scaleY(0)}to{transform:scaleY(1)}}
/* Shared category introduction: centred text, two static images and services. */
.category-introduction-layout,.category-introduction-services{--category-intro-size:clamp(1.5rem,2.4vw,2.8rem);font:700 var(--category-intro-size)/1.22 Inter,Arial,sans-serif;letter-spacing:-.025em}
.category-introduction-layout{align-items:center;row-gap:24px}
.category-introduction-layout .category-description>p{font:inherit;font-size:calc(var(--category-intro-size)*1.1);letter-spacing:inherit}
.category-introduction-layout .category-description>p:last-child{margin-bottom:0}
.category-introduction-layout .category-static-image{display:flex;align-items:center;justify-content:center;min-width:0;margin:0}
.category-introduction-layout .category-main-image{grid-column:2;grid-row:1}
.category-introduction-layout .category-static-image img{width:auto;height:auto;max-width:100%;max-height:clamp(280px,32vw,440px);object-fit:contain}
.category-image-subheading{grid-column:2;color:var(--site-muted);min-width:0}
.category-image-subheading p{font:inherit;letter-spacing:inherit;white-space:pre-line;margin:0 0 1em}
.category-image-subheading p:last-child{margin-bottom:0}
.category-introduction-services{margin-top:48px}
.category-introduction-services .service-classifications{margin-top:0;max-width:none;padding-right:var(--site-control-inset)}
.category-introduction-services h2,.category-introduction-services .service-disclosure summary,.category-introduction-services .service-explanation{font:inherit;letter-spacing:inherit}
.category-introduction-services .service-explanation{max-width:none}
@media(max-width:620px){.category-introduction-layout,.category-introduction-services{--category-intro-size:24px}.category-image-subheading{grid-column:1}.category-introduction-layout .category-static-image img{max-height:65svh}.category-introduction-services{margin-top:36px}}
/* Restore category covers and keep OMI within the opening image. */
body.category-page:has(.category-opening-hero) #app>.sidebar{display:none}
body.category-page:has(.category-opening-hero) #main{padding:0!important}
.category-opening-hero .category-hero-picture,.category-opening-hero .category-hero-picture>img{height:auto;object-fit:contain}
.category-opening-hero~.category-description-body{padding:48px var(--omi-x) 0}
body.category-page:has(.category-opening-hero) #main>footer{margin-left:var(--omi-x);margin-right:var(--omi-x)}
.category-introduction-layout .category-subheading-image{grid-column:1;grid-row:2}
.category-introduction-layout .category-image-subheading{grid-row:2;align-self:center}
.category-introduction-services .service-disclosure summary{display:grid;grid-template-columns:minmax(0,calc(var(--category-detail-start) - var(--category-space))) minmax(0,1fr);align-items:center;column-gap:var(--category-space);width:100%;max-width:100%;font-family:"Helvetica Now Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;color:var(--site-ink)}
.category-introduction-services .service-disclosure summary:hover,.category-introduction-services .service-disclosure summary:focus-visible,.category-introduction-services .service-disclosure[open]>summary{font-weight:500;color:var(--site-ink)}
.service-menu-label{display:inline-grid;min-width:0;vertical-align:baseline}
.service-menu-label>span{grid-area:1/1}
.service-label-width{visibility:hidden;font-weight:500}
.category-introduction-services .service-explanation{font-family:"Helvetica Now Display","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300}
@media(max-width:620px){.category-opening-hero~.category-description-body{padding-top:32px}.category-introduction-layout .category-main-image{grid-column:1;grid-row:2}.category-introduction-layout .category-subheading-image{grid-column:1;grid-row:3}.category-introduction-layout .category-image-subheading{grid-row:4}}
/* A common menu-to-content band across Map, Office and Work. */
:root{--omi-sidebar-width:27vw;--omi-content-start:29vw}
body:is(.split-gallery,.office-page,.work-index,.category-collection) #main{margin-left:var(--omi-content-start);max-width:none}
body:is(.split-gallery,.office-page,.work-index,.category-collection) #app>.sidebar{width:var(--omi-sidebar-width)}
.office-work-navigation{margin:56px 0 40px;text-align:center;font:700 var(--office-statement-size)/1.5 Inter,Arial,sans-serif}
.office-work-navigation h2{font:inherit;margin:0 0 14px}
.office-work-navigation nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 16px;align-items:start;width:100%}
.office-work-navigation a,.office-work-navigation a:hover{font:inherit;color:var(--site-ink)}
.office-work-navigation a:hover,.office-work-navigation a:focus-visible{text-decoration:underline!important;text-underline-offset:5px;text-decoration-thickness:1.5px}
.about-read-more{font:inherit;margin:0 0 1em}
.about-read-more summary{list-style:none;cursor:pointer;font:inherit;width:max-content;max-width:100%;margin:0 0 1em}
.about-read-more summary::-webkit-details-marker{display:none}
.about-read-more .read-less,.about-read-more[open] .read-more{display:none}
.about-read-more[open] .read-less{display:inline}
.office-page .about-team-figure figcaption,.office-page .people-collaborators>h2,.office-next{font:700 var(--office-statement-size)/1.5 Inter,Arial,sans-serif;letter-spacing:0}
.office-page .about-team-figure figcaption,.office-next{font:var(--office-heading-weight) var(--office-type-size)/1.4 var(--office-heading-family);letter-spacing:0}
.office-page .about-team-figure figcaption{margin-top:16px}
.office-page .about-team-figure figcaption a{font:inherit;color:inherit}
.office-page .about-team-figure figcaption a,.office-next a{text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:1px}
:root{--footer-brand-width:140px;--footer-collective-size:84px}
#main footer:has(>.collective-mark){display:grid;grid-template-columns:minmax(0,1fr) var(--footer-brand-width);align-items:end;gap:24px}
#main footer>.collective-mark{grid-column:2;width:var(--footer-collective-size);height:var(--footer-collective-size);margin:0;justify-self:center;align-self:end}
.office-next{display:grid;grid-template-columns:minmax(0,1fr) var(--footer-brand-width);align-items:end;gap:24px;margin-top:64px;text-align:center}
.office-next a{display:inline-block;grid-column:2;justify-self:center;max-width:100%;overflow-wrap:break-word}
.office-next.is-final a{grid-column:1;justify-self:start;text-align:left}
.office-page #main>.office-next+footer{margin-top:40px}
@media(max-width:620px){:root{--footer-brand-width:112px;--footer-collective-size:67.2px}.office-work-navigation nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.office-page #main>.office-next+footer{margin-top:32px}}
.work-count{vertical-align:super;line-height:0}
.work-overview-rail .work-bands{gap:40px}
.work-overview-rail .rail-arrow{top:0;height:40px}
.category-collection #main{padding-top:var(--work-nav-top,145px)!important;padding-right:var(--omi-x);height:100dvh;overflow:hidden}
.category-collection-toolbar{display:flex;align-items:center;justify-content:flex-end;height:40px;margin-bottom:20px}
.category-results{height:calc(100dvh - var(--work-nav-top,145px) - 76px);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;overscroll-behavior-y:contain}
.category-results::-webkit-scrollbar{display:none}
.category-results .collection-introduction{position:static;font:400 16px/1.4 Inter,Arial,sans-serif;max-width:none;margin:0 0 28px}
.category-results .collection-introduction p{margin:0 0 1em}
.category-collection .category-results .dense-work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 16px;padding:0;margin:0}
.category-collection .category-results .dense-work-card h2{font:700 18px/1.3 Inter,Arial,sans-serif;margin:0}
.category-collection .category-results .dense-work-card p{font-size:16px}
.category-collection .category-results .dense-work-card img{border:0;aspect-ratio:1;object-fit:contain;margin-bottom:10px}
.category-collection .view-disclosure.is-open .view-options{max-width:calc(var(--work-font-size,32px)*2 + 60px);gap:20px}
.category-collection .view-toggle{width:calc(var(--work-font-size,32px) + 16px);height:var(--work-line-height,40px)}
.category-collection .view-toggle svg,.category-collection .view-options a svg{width:var(--work-font-size,32px);height:var(--work-font-size,32px)}
.category-collection .view-toggle svg path{stroke-width:3}
.category-collection .view-options svg rect{fill:currentColor;stroke:none}
.category-collection .view-options svg path,.category-collection .view-options svg circle{fill:none;stroke:currentColor;stroke-width:3}
@media(min-width:1600px){.category-collection .category-results .dense-work-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:621px) and (max-width:850px){:root{--omi-sidebar-width:25vw;--omi-content-start:28vw}.category-collection .category-results .dense-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-overview-rail .work-bands{gap:32px}}
@media(max-width:620px){body:is(.split-gallery,.office-page,.work-index,.category-collection) #main{margin-left:0}body:is(.split-gallery,.office-page,.work-index,.category-collection) #app>.sidebar{width:100%}.category-collection #main{padding-top:20px!important;height:auto;overflow:visible}.category-results{height:auto;overflow:visible}.category-collection .category-results .dense-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.category-collection .category-results .dense-work-card h2{font-size:16px}.office-work-navigation{margin:40px 0 30px}.office-next{margin-top:48px}}
/* The collection title reveals a Map-led category row at its own position. */
.category-collection .primary>a:not([href='#/work/categories']){opacity:0!important;visibility:hidden;pointer-events:none}
.category-collection .primary>a[href='#/work/categories']{white-space:nowrap}
.category-collection #app>.sidebar{z-index:60;overflow:visible}
.category-collection .primary>a[href='#/work/categories']{position:relative;z-index:51;width:max-content;color:var(--site-ink);font-weight:500;opacity:1}
.category-hover-band{position:absolute;top:145px;left:var(--omi-x);width:calc(100vw - var(--category-band-left,42px) - var(--omi-x) - var(--category-controls-width,64px));padding-left:32px;z-index:50;background:var(--site-bg);font:300 var(--category-band-size,32px)/var(--category-band-line,1.25) var(--category-band-family,Arial,sans-serif);letter-spacing:var(--category-band-spacing,-.025em);opacity:0;visibility:hidden;pointer-events:none;clip-path:inset(0 100% 0 0);transition:opacity .2s ease,clip-path .45s ease,visibility .45s}
.category-hover-band.is-open{opacity:1;visibility:visible;pointer-events:auto;clip-path:inset(0)}
.category-hover-band .work-nav-scroll{width:calc(100% - 80px);padding:0;min-width:0}
.collection-categories{display:flex;align-items:center;flex-wrap:nowrap;gap:40px;width:max-content;min-width:100%;margin:0;padding:0;white-space:nowrap}
.collection-categories a,.collection-categories a:hover,.collection-categories a:focus-visible{display:block;flex:none;color:#999;font:inherit;letter-spacing:inherit}
.category-hover-band .rail-arrow{top:0;height:var(--category-band-height,40px);width:36px;font-size:0;display:grid;place-items:center}
.category-hover-band .rail-arrow .site-arrow{font-size:var(--category-band-size,32px)}
.work-overview-rail .rail-arrow .site-arrow{font-size:var(--work-font-size,32px)}
.category-hover-band .rail-back{left:auto;right:40px}
.category-hover-band .rail-next{right:0}
@media(max-width:620px){.collection-categories{gap:28px}.category-hover-band{padding-left:20px;width:calc(100vw - var(--category-band-left,22px) - var(--omi-x))}}
@media(prefers-reduced-motion:reduce){.category-hover-band{transition:none}}
.category-opening-caption,.category-image-caption{font:var(--office-heading-weight) var(--office-type-size)/1.4 var(--office-heading-family);letter-spacing:0;white-space:pre-line;overflow-wrap:anywhere}
.category-opening-caption{margin:16px var(--omi-x) 0}
.category-image-caption{margin:16px 0 0;align-self:stretch}
.category-opening-caption a,.category-image-caption a{font:inherit;color:var(--site-ink);text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:1px}
.category-home-plus{position:fixed;right:calc(var(--omi-x) + var(--footer-brand-width)/2);top:var(--site-header-center);transform:translate(50%,-50%);z-index:80;display:block;width:var(--category-home-size,32px);height:var(--category-home-size,32px);margin:0;color:var(--site-ink)}
.category-home-plus svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3}
.work-overview-rail>.rail-arrow{z-index:30;opacity:1;visibility:visible}
/* Equal white gutters through the category description and selected projects. */
.category-page{--category-space:clamp(48px,5vw,80px);--category-detail-start:calc(50% - 24px);--category-text-size:clamp(20px,1.875vw,28px);--category-body-family:"Helvetica Now Display","Helvetica Neue",Helvetica,Arial,sans-serif;--category-home-size:32px}
.category-opening-hero~.category-description-body{padding-top:var(--category-space)}
.category-introduction-layout,.category-introduction-services{--category-intro-size:var(--category-text-size);font-size:var(--category-text-size);line-height:1.35}
.category-introduction-layout{row-gap:var(--category-space);column-gap:var(--category-space)}
.category-introduction-layout .category-description>p{font-size:var(--category-text-size);line-height:1.35}
.category-introduction-layout .category-static-image{flex-direction:column;align-items:center}
.category-image-subheading p{font:300 var(--category-text-size)/1.35 var(--category-body-family);letter-spacing:-.025em}
.category-introduction-services{margin-top:var(--category-space)}
.category-introduction-services .service-explanation{font:300 var(--category-text-size)/1.35 var(--category-body-family);letter-spacing:-.025em;margin-left:var(--category-detail-start);padding:16px 0 20px;white-space:normal}
.service-points{list-style:disc;margin:0;padding-left:1.1em}
.service-points>li{margin:0 0 .35em}
.service-points>li:last-child{margin-bottom:0}
.category-introduction-services .service-disclosure:last-child{margin-bottom:0}
.category-selected-editorial{margin-top:var(--category-space);grid-template-columns:minmax(0,calc(var(--category-detail-start) - var(--category-space))) minmax(0,1fr);column-gap:var(--category-space);padding-right:var(--site-control-inset)}
.category-selected-editorial>h2{font:700 var(--category-text-size)/1.35 var(--category-body-family);letter-spacing:-.025em}
.selected-name-row .index-project-name{display:block;font:700 var(--category-text-size)/1.35 var(--category-body-family);letter-spacing:-.025em}
.selected-name-row .index-project-name>span:first-child{min-width:0}
.selected-name-row .index-project-name>small{margin:0 0 0 .5em;font-weight:300;text-align:left}
.selected-name-row .index-project-name:focus-visible>span:first-child{color:var(--site-link)}
@media(hover:hover){.selected-name-row .index-project-name:hover>span:first-child{color:var(--site-link)}}
@media(hover:hover) and (pointer:fine){.service-disclosure summary,.service-disclosure summary *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Ccircle cx='7' cy='7' r='4' fill='%2303007f'/%3E%3C/svg%3E") 7 7,pointer!important}}
.category-introduction-services .service-summary-text{display:flex;align-items:center;gap:12px;min-width:0;overflow-wrap:anywhere}
.category-introduction-services .service-subheading{display:block;min-width:0;font:inherit;font-weight:300;color:var(--site-muted);letter-spacing:inherit;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.category-introduction-services .service-plus{flex:none}
.category-selected-editorial .category-see-all{font:300 var(--category-text-size)/1.35 var(--category-body-family);letter-spacing:-.025em;margin-top:var(--category-space)}
.category-collection-toolbar{height:var(--work-line-height,40px);position:relative}
.category-introduction-layout .category-subheading-image{grid-column:2}
.category-introduction-layout .category-image-subheading{grid-column:1}
@media(max-width:620px){.category-page{--category-home-size:24px}.category-selected-editorial{grid-template-columns:1fr;row-gap:var(--category-space)}}
@media(max-width:620px){.category-introduction-layout .category-subheading-image,.category-introduction-layout .category-image-subheading{grid-column:1}}
@media(max-width:620px){.category-introduction-services .service-disclosure summary{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:20px}.category-introduction-services .service-explanation{margin-left:calc(40% + 12px)}}
/* One static practice statement per homepage visit. */
.practice-slides{display:grid;overflow:hidden;gap:0}
.practice-slide,.practice-slide.is-current,.practice-slide.is-leaving{transform:none;opacity:1;transition:none;animation:none;visibility:hidden;pointer-events:none}
.practice-slide.is-current{visibility:visible}

/* Publication covers keep their original proportions within a consistent reading grid. */
.dense-work-grid.publication-collection.entry-image-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 28px}.publication-collection.entry-image-grid .dense-work-card img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center bottom;background:transparent;border:0;margin:0 0 14px}.publication-collection.entry-image-grid .dense-work-card h2{font:700 17px/1.3 Inter,Arial,sans-serif}.publication-collection .dense-work-card p{line-height:1.5}.publication-collection .entry-summary{color:var(--site-muted)}.publication-collection.entry-image-grid .dense-work-card:not(:has(img))>h2{aspect-ratio:3/4;align-items:flex-end}.publication-collection.entry-text-grid .dense-work-card h2{font-weight:700}@media(max-width:1000px){.dense-work-grid.publication-collection.entry-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}}@media(max-width:620px){.dense-work-grid.publication-collection.entry-image-grid{gap:30px 16px}.publication-collection.entry-image-grid .dense-work-card h2{font-size:14px}}

/* Linked category images retain the approved image sizes and clear edges. */
.category-project-image{display:block;min-width:0;max-width:100%;color:inherit;text-decoration:none}
.category-opening-hero>.category-project-image,.category-project-image>.category-hero-picture,.category-project-image>.category-hero-picture>img{display:block;width:100%;height:auto}
.category-static-image>.category-project-image{display:flex;align-items:center;justify-content:center;max-width:100%}
.category-project-image:focus-visible{outline:2px solid #03007f;outline-offset:6px}

/* Continue through discipline descriptions before returning home. */
.discipline-pagination{display:flex;justify-content:flex-end;margin-top:var(--category-space);font:var(--office-heading-weight) var(--office-type-size)/1.4 var(--office-heading-family);letter-spacing:0}
.discipline-pagination a{display:inline-flex;align-items:baseline;gap:.5em;max-width:100%;color:var(--site-ink)}
.discipline-pagination a>span:first-child{min-width:0;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.discipline-pagination .site-arrow{flex:none}
.discipline-pagination a:focus-visible{outline:2px solid var(--site-link);outline-offset:6px}

/* Prepare homepage video frames before hover and retain their native proportions. */
.split-gallery .process-moment video{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:auto;background:transparent;border:0;padding:0;object-fit:contain}

/* A single, finite mobile Map with full-width media and spaced interludes. */
@media(max-width:620px){
 body.split-gallery{overflow:auto}
 body.split-gallery #main{height:auto;min-height:100svh;overflow:visible;padding-inline:var(--omi-x)}
 .split-gallery .project-grid{display:block;overflow:visible;height:auto;min-height:0}
 .split-gallery .project-grid>.mobile-map-feed{display:flex;flex-direction:column;gap:48px;width:100%;overflow:visible;padding:0}
 .split-gallery .mobile-map-feed>.project-card,.split-gallery .mobile-map-feed>.process-moment{width:100%;max-width:none;align-self:stretch;margin:0;padding:0!important}
 .split-gallery .mobile-map-feed .project-cover,.split-gallery .mobile-map-feed .project-cover:has(>img){display:block;width:100%;max-width:none;margin:0}
 .split-gallery .mobile-map-feed .project-cover>img,.split-gallery .mobile-map-feed .process-moment>img,.split-gallery .mobile-map-feed .process-moment>video{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
 .split-gallery .mobile-map-feed>.news-card{width:100%;max-width:none;align-self:stretch;margin:8px 0;padding:24px 0}
 .split-gallery .mobile-map-feed>.objects-portal{width:100%;max-width:none;grid-column:auto;grid-row:auto;margin:8px 0;padding:32px 0}
 .category-collection-toolbar .view-disclosure{position:relative}
 .category-collection-toolbar .view-toggle{position:relative;flex:none}
 .category-collection-toolbar .view-toggle::before{content:'';position:absolute;width:44px;height:44px;left:50%;top:50%;transform:translate(-50%,-50%)}
 .category-collection-toolbar .view-options{transition:none!important}
 .category-collection-toolbar .view-options a{position:relative;min-height:44px;display:grid;align-items:center;touch-action:manipulation}
}

/* Keep the identity and menu to the left of the phone's single project column. */
@media(max-width:620px){
 body.split-gallery{--mobile-menu-width:clamp(96px,29vw,160px);--mobile-content-start:calc(var(--mobile-menu-width) + 14px)}
 body.split-gallery #app>.sidebar{position:fixed;left:0;top:0;width:var(--mobile-menu-width);height:100svh;display:flex;flex-direction:column;gap:0;padding:25px 0 20px 14px;overflow-y:auto;z-index:60}
 .split-gallery #app>.sidebar>.wordmark{font-size:clamp(36px,12vw,56px);line-height:1}
 .split-gallery .primary{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:14px;margin:52px 0 0;padding:0;font-size:clamp(17px,4.8vw,23px);line-height:1.15;letter-spacing:-.035em}
 .split-gallery .primary a{max-width:100%;white-space:normal;overflow-wrap:normal}
 .split-gallery .language{margin-top:25px;font-size:12px;align-self:flex-start}
 .split-gallery .sidebar-bottom{display:none}
 body.split-gallery #main{margin-left:var(--mobile-content-start);width:calc(100% - var(--mobile-content-start));padding:26px 14px 0 0!important}
 .split-gallery #main>.filters{font-size:11px;line-height:1.2;gap:6px 10px;margin:0 0 32px;padding:0 30px 0 0;align-items:center}
 .split-gallery .gallery-column.mobile-map-feed{gap:42px}
 .split-gallery .mobile-map-feed>.news-card{padding:18px 0}
 .split-gallery .mobile-map-feed .portal-circle,.split-gallery .mobile-map-feed .portal-square{max-width:100%}
 .category-collection-toolbar .view-toggle svg{transition:none!important}
 .category-collection-toolbar .view-options a{flex:0 0 44px;min-width:44px}
 .category-collection-toolbar .view-disclosure.is-open .view-options{max-width:128px;gap:8px;padding:0}
}

/* Project hover captions begin at the upper left in every grid. */
.project-grid .caption{align-items:flex-start;justify-content:flex-start;text-align:left;padding:14px;gap:6px}
@media(hover:none),(pointer:coarse){
 .project-grid .project-cover .caption,.project-grid .project-cover:hover .caption{opacity:0!important}
 .project-grid .project-cover.is-touch-revealed .caption,.project-grid .project-cover:focus-visible .caption{opacity:1!important}
}
@media(max-width:620px){
 .split-gallery .sidebar-bottom{display:flex;flex-direction:column;margin-top:auto;gap:10px;max-width:100%;font-size:10px;padding-top:24px}
 body.split-gallery #app>.sidebar{height:100dvh;padding-bottom:max(16px,env(safe-area-inset-bottom));overflow-y:auto}
 .split-gallery .lagos-widget{font-size:clamp(12px,3.7vw,17px);line-height:1.12;letter-spacing:-.025em;margin:0}
 .split-gallery .lagos-weather{min-height:20px;gap:3px}
 .split-gallery .lagos-weather svg{width:14px;height:14px}
 .split-gallery .weather-credit{font-size:8px;line-height:1.3;max-width:100%}
 .split-gallery .practice-socials{gap:12px;flex-wrap:wrap}
 .split-gallery .practice-socials a{width:14px;height:14px}
 .mobile-map-tools{display:flex;align-items:center;gap:4px;margin-top:16px;min-height:32px;flex-shrink:0}
 .mobile-map-tools .theme-toggle{position:static;transform:none;width:28px;height:28px;flex:none;padding:4px;z-index:auto}
 .mobile-map-tools>a{font:700 11px/1.2 Inter,Arial,sans-serif;min-height:28px;align-items:center}
 .mobile-map-tools .map-sound-toggle{display:grid;place-items:center;margin:0;padding:2px;width:22px;height:28px;flex:none}
 .mobile-map-tools .map-sound-toggle svg{width:18px;height:18px}
 .split-gallery #main>.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 6px;font-size:clamp(10px,2.8vw,13px);line-height:1.25;padding:0;margin:0 0 30px;align-items:start}
 .split-gallery #main>.filters>a{min-width:0;max-width:100%;padding:0;text-align:left;white-space:normal;grid-template-columns:minmax(0,1fr)}
 .split-gallery #main>.filters .filter-label,.split-gallery #main>.filters .filter-width{white-space:normal;overflow-wrap:break-word}
 .split-gallery .practice-band{position:fixed;left:var(--mobile-content-start);right:14px;bottom:0;width:auto;margin:0;padding:10px 0 max(10px,env(safe-area-inset-bottom));background:var(--site-bg);z-index:65}
 .split-gallery .practice-band p{font:700 clamp(11px,2.9vw,14px)/1.3 Inter,Arial,sans-serif;letter-spacing:-.02em;white-space:normal;overflow-wrap:break-word;margin:0}
 body.split-gallery #main{padding-bottom:calc(var(--mobile-banner-height,90px) + 24px)!important}
}

/* Touch devices show original project and moment colours before any interaction. */
@media(max-width:620px),(hover:none),(pointer:coarse){
 .project-grid .project-cover::after{display:none!important}
 .project-grid .project-cover>img,.split-gallery .making-tile img,.split-gallery .making-tile video{filter:none!important;opacity:1!important;transition:none}
}

/* Mobile controls and category rows share the OMI header's visual edges. */
@media(max-width:620px){
 .mobile-map-tools{display:grid;grid-template-columns:max-content 22px;grid-template-rows:28px 28px;gap:8px 4px;align-items:center;justify-content:start}
 .mobile-map-tools>a{grid-column:1;grid-row:1;align-self:center}
 .mobile-map-tools .map-sound-toggle{grid-column:2;grid-row:1;align-self:center;transform:none;margin:0}
 .mobile-map-tools .theme-toggle{grid-column:1;grid-row:2;justify-self:start;align-self:center;width:24px;height:24px;padding:2px;margin-left:-4px}
 body.split-gallery #main{padding-top:calc(var(--omi-y) + 2px)!important}
 .split-gallery #main>.filters{height:calc(clamp(36px,12vw,56px) - 6px);grid-template-rows:repeat(2,minmax(0,1fr));row-gap:0;align-content:stretch;font-size:clamp(9px,2.6vw,12px);line-height:1.2}
 .split-gallery #main>.filters>a:nth-child(-n+3){align-self:start}
 .split-gallery #main>.filters>a:nth-child(n+4){align-self:end}
 .split-gallery #main>.filters .filter-width{display:none}
 .category-collection #app>.sidebar>.language{position:absolute;top:calc(var(--omi-y) + 2px);right:calc(var(--omi-x) + 36px);margin:0;display:flex;align-items:flex-start;height:24px;z-index:91}
 .category-collection .language button{height:24px;padding:0;line-height:24px}
 .category-collection .theme-toggle{top:calc(var(--omi-y) + 5px);right:var(--omi-x);width:24px;height:24px;padding:2px;transform:none}
}

.contact-disciplines{width:100%;font:inherit;letter-spacing:inherit}
.contact-disciplines h2{font:inherit;letter-spacing:inherit;margin:0 0 .55em}
.contact-disciplines nav{display:flex;flex-direction:column;align-items:flex-start;gap:.2em}
.contact-disciplines a{display:block;max-width:100%;font:inherit;letter-spacing:inherit;overflow-wrap:normal;text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:.045em}
.contact-disciplines a:hover,.contact-disciplines a:focus-visible{text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:.045em}
@media(max-width:620px){.contact-disciplines a{min-height:44px;display:flex;align-items:center}}

.project-features-list h3{font:inherit;font-weight:700;margin:24px 0 10px}
.project-features-list h3:first-child{margin-top:0}
.project-features-list p{margin:0 0 .8em}

button.search-close{border:0;background:none;cursor:pointer}
