@media(max-width:620px){
 /* One responsive wordmark size, including covers and studio readers. */
 body .wordmark,body.project-page .wordmark,body .studio-reader-logo{font-size:clamp(36px,12vw,56px)!important;line-height:1;letter-spacing:-.065em}
 body.mobile-menu-layout{--mobile-menu-width:clamp(96px,29vw,160px);--mobile-content-start:calc(var(--mobile-menu-width) + 14px);overflow:auto}
 body.mobile-menu-layout #app>.sidebar{position:fixed;inset:0 auto 0 0;width:var(--mobile-menu-width);height:100dvh;display:flex;flex-direction:column;gap:0;padding:25px 0 max(16px,env(safe-area-inset-bottom)) 14px;overflow-y:auto;z-index:60}
 .mobile-menu-layout #app>.sidebar>.wordmark{display:block;width:max-content}
 .mobile-menu-layout .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}
 .mobile-menu-layout #app>.sidebar .primary>a{max-width:100%;white-space:normal;overflow-wrap:normal;opacity:1!important;visibility:visible!important;pointer-events:auto!important;color:var(--site-ink)!important}
 .mobile-menu-layout #app>.sidebar>.language{position:static;display:flex;margin-top:25px;height:auto;align-self:flex-start;font-size:12px}
 .mobile-menu-layout .language button{height:auto;padding:8px 0;line-height:normal}
 .mobile-menu-layout .sidebar-bottom{display:flex;flex-direction:column;margin-top:auto;gap:10px;max-width:100%;font-size:10px;padding-top:24px}
 .mobile-menu-layout .lagos-widget{font-size:clamp(12px,3.7vw,17px);line-height:1.12;letter-spacing:-.025em;margin:0}
 .mobile-menu-layout .lagos-weather{min-height:20px;gap:3px}.mobile-menu-layout .lagos-weather svg{width:14px;height:14px}
 .mobile-menu-layout .weather-credit{font-size:8px;line-height:1.3;max-width:100%}
 .mobile-menu-layout .practice-socials{gap:12px;flex-wrap:wrap}.mobile-menu-layout .practice-socials a{width:14px;height:14px}
 .mobile-menu-layout .mobile-map-tools{grid-template-columns:28px;grid-template-rows:28px 28px}
 .mobile-menu-layout .mobile-map-tools .map-sound-toggle{grid-column:1;grid-row:1;justify-self:start;margin-left:-4px}
 .mobile-menu-layout .mobile-map-tools .theme-toggle{position:static;grid-column:1;grid-row:2;transform:none;justify-self:start;width:24px;height:24px;padding:2px;margin-left:-4px}
 body.mobile-menu-layout #main{margin-left:var(--mobile-content-start);width:calc(100% - var(--mobile-content-start));max-width:none;padding:27px 14px 24px 0!important;min-width:0}
 body.mobile-menu-layout.split-gallery #main{padding-bottom:calc(var(--mobile-banner-height,90px) + 24px)!important}
 .mobile-menu-layout .category-hover-band{display:none!important}
 /* Fixed category bands beside OMI; Office keeps its individual pages. */
 .mobile-menu-layout{--mobile-category-size:clamp(9px,2.6vw,12px);--mobile-category-height:calc(clamp(36px,12vw,56px) - 6px)}
 .mobile-menu-layout.split-gallery #main>.filters,.mobile-category-band{position:fixed;left:var(--mobile-content-start);right:14px;top:calc(var(--omi-y) + 2px);width:auto;height:var(--mobile-category-height);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:0 6px;margin:0;padding:0;background:var(--site-bg);box-shadow:0 18px 0 var(--site-bg);font:400 var(--mobile-category-size)/1.2 Arial,sans-serif;z-index:70}
 .mobile-menu-layout.split-gallery #main>.filters>a,.mobile-category-band>a{min-width:0;max-width:100%;padding:0;text-align:left;white-space:normal;transform:translateY(var(--mobile-label-shift,0px));transition:none}
 .mobile-category-band>a:nth-child(-n+3){align-self:start}.mobile-category-band>a:nth-child(n+4){align-self:end}
 .mobile-category-label{display:block;line-height:inherit;overflow-wrap:break-word}
 .mobile-category-band>a[aria-current]{font-weight:700}
 .mobile-menu-layout.split-gallery #main>.project-grid{padding-top:calc(var(--mobile-category-height) + 30px)}
 body.mobile-menu-layout.office-page #main{padding-top:var(--mobile-office-content-top,126px)!important}
 .mobile-office-page{--office-type-size:var(--mobile-category-size);--office-statement-size:var(--mobile-category-size);--objective-type-size:var(--mobile-category-size);font-size:var(--mobile-category-size);line-height:1.55;min-width:0}
 .mobile-office-page>h1{font:var(--work-font-weight,300) var(--work-font-size,19px)/var(--work-line-height,1.15) var(--work-font-family,Arial);letter-spacing:var(--work-letter-spacing,-.035em);margin:0 0 14px}
 body.mobile-menu-layout.office-page #main .mobile-office-page :is(p,li,h2,h3,figcaption,summary):not(.studio-entry-reader *){font-size:var(--mobile-category-size)!important;line-height:1.55!important}
 .mobile-office-page .text-page{min-height:0;max-width:100%;margin-top:0;padding-top:0}
 .mobile-office-page .office-objectives{--objective-step:32px;margin:0!important;padding:0;min-height:0}
 .mobile-office-page .objective-numbers{gap:16px}
 .mobile-office-page .objective-numbers button{font-size:var(--mobile-category-size)}
 .mobile-office-page .objective-statement{margin:0!important}
 .mobile-office-page .studio-board-section{margin:0!important}
 .mobile-office-page .studio-extras{margin-top:56px!important;grid-template-columns:1fr;gap:40px}
 .mobile-office-page .studio-coffee{width:100%}
 .mobile-office-page .publication-sections{display:block}
 .mobile-office-page .recognition-entries{max-width:100%;overflow-wrap:break-word}
 .mobile-office-page .about-team-gallery{margin-top:32px}
 .mobile-office-page .office-next{font-size:var(--mobile-category-size);margin-top:48px}
 /* The Work rail occupies exactly the homepage's right-hand content band. */
 body.mobile-menu-layout.work-index,body.mobile-menu-layout.category-collection{overflow:hidden}
 body.mobile-menu-layout.work-index #main,body.mobile-menu-layout.category-collection #main{height:100dvh;overflow:hidden;padding-top:var(--work-nav-top,126px)!important;padding-right:14px!important}
 .mobile-menu-layout .work-overview-rail{--mobile-work-column-width:calc(100vw - var(--mobile-content-start) - 14px);width:100%}
 .mobile-menu-layout .work-overview-rail>.work-nav-scroll{width:100%;height:calc(100dvh - var(--work-nav-top,126px) - 14px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;touch-action:pan-x pan-y;overscroll-behavior-x:contain;padding:0}
 .mobile-menu-layout .work-overview-rail .work-bands{display:grid;grid-auto-flow:column;grid-auto-columns:var(--mobile-work-column-width);grid-template-columns:none;gap:24px;align-items:start;min-width:0;width:max-content;padding:0}
 .mobile-menu-layout .work-overview-rail .work-preview-band{width:var(--mobile-work-column-width);min-width:0;scroll-snap-align:start}
 .mobile-menu-layout .work-overview-rail .work-preview-band h2{height:64px;min-height:0;margin:0;padding:0 35px 12px 0;font-size:var(--work-font-size,19px);line-height:1.25;white-space:normal;text-align:left}
 .mobile-menu-layout .work-overview-rail .work-preview-squares{height:calc(100dvh - var(--work-nav-top,126px) - 82px);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;touch-action:pan-x pan-y;align-items:flex-start;padding-bottom:24px}
 .mobile-menu-layout .work-overview-rail .work-preview-item{max-width:100%;margin-inline:auto}
 .mobile-menu-layout .work-overview-rail .work-preview-entry{width:100%;margin:0;text-align:left}
 .mobile-menu-layout .work-overview-rail .rail-arrow{top:0;width:28px;height:28px}
 .mobile-menu-layout .work-overview-rail .rail-back{right:32px}.mobile-menu-layout .work-overview-rail .rail-next{right:0}
 .mobile-menu-layout .work-overview-rail>.work-nav-scroll>footer{display:none}
 .mobile-menu-layout .category-collection-toolbar{height:44px;min-height:44px;margin-bottom:20px;justify-content:space-between;gap:10px}
 .mobile-collection-title{font:var(--work-font-weight,500) var(--work-font-size,19px)/1.25 var(--work-font-family,Arial);letter-spacing:var(--work-letter-spacing,-.025em);margin:0;min-width:0}
 .mobile-menu-layout .category-results{height:calc(100dvh - var(--work-nav-top,126px) - 78px);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain}
 .mobile-menu-layout .category-results .dense-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
 .mobile-menu-layout .category-results .dense-work-card h2{font-size:13px}
 .mobile-menu-layout .category-results .dense-work-card p{font-size:12px}
 /* Close and night-view controls share the logo's centre line on Contact. */
 body.contact-full-page .search-close{position:fixed;top:var(--mobile-contact-center,49px)!important;right:calc(var(--omi-x) + 44px);left:auto;transform:translateY(-50%);width:32px;height:32px;z-index:91}
 body.contact-full-page .theme-toggle{top:var(--mobile-contact-center,49px)!important;right:var(--omi-x);transform:translateY(-50%);width:32px;height:32px}
}
@media(max-width:620px){
 /* The navigation panel itself fills the area through the viewport edges. */
 .mobile-menu-layout.split-gallery #main>.filters,.mobile-category-band{top:0;right:0;height:calc(var(--omi-y) + 2px + var(--mobile-category-height) + 18px);padding:calc(var(--omi-y) + 2px) 14px 18px 0;background:var(--site-bg);box-shadow:none}
 .mobile-menu-layout.split-gallery .practice-band{right:0;padding-right:14px}
 .mobile-office-navigation>a[href='#/studio/awards']{grid-column:2 / span 2;grid-row:2}
 .mobile-office-navigation>a[href='#/studio/awards'] .mobile-category-label,.mobile-office-page[data-office-page='awards']>h1{white-space:nowrap;overflow-wrap:normal}
}

@media(max-width:620px){
 /* Contain mobile scrolling inside the page viewport, outside browser chrome. */
 html:has(>body.mobile-menu-layout:is(.split-gallery,.office-page)){height:100%;overflow:hidden;overscroll-behavior:none}
 body.mobile-menu-layout:is(.split-gallery,.office-page){position:fixed;inset:0;height:100dvh;overflow:hidden;overscroll-behavior:none}
 body.mobile-menu-layout:is(.split-gallery,.office-page) #app{height:100%;overflow:hidden}
 body.mobile-menu-layout:is(.split-gallery,.office-page) #main{position:relative;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding-top:calc(var(--omi-y) + 2px + var(--mobile-category-height) + 18px)}
 body.mobile-menu-layout.split-gallery #main{scroll-padding-bottom:var(--mobile-banner-height,90px)}
}
