:root{--paper:#f5f5f2;--ink:#17263b;--accent:#b8cde0;--line:#d4d9df;--theme-dark:#101e31;--theme-muted:#526073;--theme-on-dark:#c9d3df;--theme-dark-line:#74859a80;--theme-surface:#e9edf1}

.hero-sequence,.motion-off .hero-sequence,.strategy-sequence,.motion-off .strategy-sequence{background:var(--theme-dark)}
.hero-impact{color:var(--accent)}
body.is-scrolled header,body.is-scrolled:not(:has(.hero-sequence)) header{background:var(--theme-dark);color:var(--paper)!important}
.hero-description p,.hero-editorial>.eyebrow,.hero-frame figcaption,.strategy-side p:not(.eyebrow),.strategy-person p:not(.eyebrow),.strategy-person .eyebrow,.footer-bottom,.photo-controls{color:var(--theme-on-dark)}
.hero-description .pill-link{border-color:var(--theme-on-dark)}
.strategy-questions li,.strategy-questions li:last-child,.strategy-people{border-color:var(--theme-dark-line)}
.page-description,.approach-lead p,.approach-item>p:last-child,.origin>p:last-child,.person-copy>p:last-child,.photo-pair p:not(.eyebrow),.union-layout p,.contact-details p,.service-panel>p,.services-preview .section-heading p:not(.eyebrow),.field-heading p:not(.eyebrow),.working-process li>p,.project-meta,.project-type,figcaption,.quote-person p span,.page-intro .eyebrow,.person-copy .eyebrow,.service-num{color:var(--theme-muted)}
.service-entry:has(.service-trigger[aria-expanded=true]) .service-trigger{color:var(--ink)}
.origin,.person>img{background:var(--theme-surface)}
#photo-dialog,#photo-view,dialog,.mobile-nav{background:var(--theme-dark)}
dialog::backdrop{background:#080808e8}
.film-fallback{color:var(--theme-on-dark)}
.nav-contact{border-color:currentColor}
.hero-description .pill-link:hover{background:var(--paper);color:var(--theme-dark)}

/* The supplied artwork retains its outlines, proportions and clear space. */
:root{--paper:#f6f5f2;--theme-surface:#eeede8;--header-height:112px}
header,body:has(.hero-sequence) header,body:not(:has(.hero-sequence)) header,body.is-scrolled header{height:var(--header-height)!important}
body:not(:has(.hero-sequence)) main{padding-top:var(--header-height)}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
.brand{display:block;flex:none;width:240px;line-height:0}
.brand img{width:240px;height:auto;object-fit:contain}
.brand .logo-primary,.brand .logo-white{display:none}
body:has(.hero-sequence) .brand .logo-black,body.is-scrolled .brand .logo-black{display:none}
body:has(.hero-sequence) .brand .logo-horizontal.logo-white,body.is-scrolled .brand .logo-horizontal.logo-white{display:block}
.mobile-nav,body:has(.hero-sequence) .mobile-nav,body.is-scrolled .mobile-nav{top:var(--header-height);max-height:calc(100dvh - var(--header-height))}
.footer-name{display:block;width:240px;flex:none;line-height:0}
.footer-name img{width:240px;height:auto;object-fit:contain}
footer{background:var(--theme-dark);align-items:center}
.hero-impact{color:var(--paper)}
.contact-strip{background:var(--paper);border-top:1px solid var(--line)}
.contact-bottom{border-color:var(--line)}
.filters button{border-color:var(--line)}
@media(max-width:600px){
 :root{--header-height:124px}
 .brand,.brand img{width:180px}
 .brand .logo-horizontal{display:none!important}
 .brand .logo-primary.logo-black{display:block}
 body:has(.hero-sequence) .brand .logo-primary.logo-black,body.is-scrolled .brand .logo-primary.logo-black{display:none}
 body:has(.hero-sequence) .brand .logo-primary.logo-white,body.is-scrolled .brand .logo-primary.logo-white{display:block}
 .hero-stage,.motion-off .hero-stage{padding-top:calc(var(--header-height) + 28px)}
 .footer-name,.footer-name img{width:210px}
}

/* Final audit: let content clear the current header and fit short screens. */
.person,.approach-item{scroll-margin-top:0}
.work-list.section-pad,.photo-gallery.section-pad{padding-top:16px}
#film-dialog{width:min(1050px,calc(100% - 40px),calc((100dvh - 164px)*16/9 + 42px));max-height:calc(100dvh - 24px)}
#film-player{min-width:0}#film-player iframe{display:block}
header nav>a:not(.nav-contact),footer>div:not(.footer-bottom)>a{display:inline-flex;align-items:center;min-height:44px}
.contact-bottom>a{display:inline-flex;align-items:center;min-height:44px}
