/* One continuous spatial layer, with content and images above it. */
body.has-shared-mesh{position:relative}
.shared-mesh-layer{position:absolute;inset:0;overflow:clip;pointer-events:none;z-index:0}
.shared-mesh{position:absolute;top:-160px;left:0;width:100%;pointer-events:none}
body>.site-header,body>main,body>.site-footer,body>.contact-strip{position:relative;z-index:1}
body>.mobile-nav{z-index:29}
body>.skip-link{z-index:1000}
body.has-shared-mesh .photo-surface{animation:none}
.mesh-toggle{font:inherit;letter-spacing:inherit;padding:0 0 3px;border-bottom:1px solid var(--line);white-space:nowrap}
.mesh-toggle:hover{border-color:var(--ink)}
.mesh-toggle:disabled{opacity:.65}
.home-opening{display:flex;flex-direction:column;min-height:690px;height:calc(100svh - 98px);max-height:1000px;padding-top:44px}
.home-intro{display:flex;flex:1;flex-direction:column;align-items:start;position:relative;z-index:2}
.home-intro__title{font-size:clamp(90px,9.6vw,180px);line-height:.98;letter-spacing:-.08em;margin-top:33px}
.home-intro__title>span{display:block;white-space:nowrap}
.home-intro__title .hero__symbol{width:.56em;height:.56em;margin-left:.1em;vertical-align:9%}
.home-intro__bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;width:100%;margin-top:auto;padding-top:38px;padding-bottom:30px}
.home-intro__bottom p{font-size:17px;line-height:1.6;letter-spacing:-.025em}
.opening-project{margin-top:30px;padding-bottom:30px}
.opening-project .project-card__image{aspect-ratio:1.04;background:transparent}
.opening-project .project-card__caption{margin-inline:4%;padding-top:4px;align-items:center}
.opening-project .project-card__caption h3{font-size:38px}
.opening-project .project-card__index{top:8%;left:10%}
.opening-project .project-card__open{right:10%;top:12%}
.home-opening__baseline{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:30px 12px;font-size:12px}
.home-opening__baseline>a{border-bottom:1px solid var(--line);padding-bottom:3px}
.home .selected-section{padding-top:20px}
.home .project-grid--editorial{padding-top:76px}
.home .manifesto{background:transparent;color:var(--ink);padding-top:65px}
.home .manifesto h2 span{color:var(--ink)}
.home .manifesto__copy .text-link{color:var(--ink)}
.home .capability-list{border-top-color:var(--line)}
.has-shared-mesh .site-header{background:transparent}
.home .capability-list>span{border-color:var(--line);background:transparent}
.home .lab-teaser{background:transparent;border-top:1px solid var(--line);padding-block:80px}
.has-shared-mesh .footer-bottom{flex-wrap:wrap}
.clients-section{padding-block:25px 85px}
.clients-section>.section-heading{border-top:1px solid var(--line)}
.clients-section__intro{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-top:20px}
.clients-section__intro h2{font-size:clamp(42px,5.6vw,95px);line-height:1.05}
.clients-section__intro p{font-size:17px;line-height:1.5;max-width:380px}
.client-logos{list-style:none;margin:55px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px;align-items:center}
.client-logo{display:flex;align-items:center;justify-content:center;min-width:0;min-height:130px}
.client-logo>a,.client-logo>span{display:flex;align-items:center;justify-content:center;width:100%;min-height:110px;padding:18px 8px}
.client-logo__image{display:block;width:auto;height:auto;max-width:min(100%,180px);max-height:66px;object-fit:contain;filter:grayscale(1);opacity:.84;transition:opacity .25s,filter .25s}
.client-logo__image--invert{filter:brightness(0)}
.client-logo--marte .client-logo__image{width:175px;max-width:100%;max-height:none}
.client-logo>a:hover .client-logo__image,.client-logo>a:focus-visible .client-logo__image{opacity:1;filter:none}
.client-logo>a:hover .client-logo__image--invert,.client-logo>a:focus-visible .client-logo__image--invert{filter:brightness(0)}
@media(max-width:1000px){.client-logos{gap:20px}.clients-section__intro{align-items:start}.clients-section__intro p{font-size:16px;max-width:320px}}
@media(max-width:760px){
 .clients-section{padding-block:15px 45px}
 .clients-section__intro{flex-direction:column;gap:22px;margin-top:15px}
 .clients-section__intro h2{font-size:47px}
 .clients-section__intro p{font-size:16px}
 .client-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 25px;margin-top:30px}
 .client-logo{min-height:105px}
 .client-logo:last-child:nth-child(odd){grid-column:1/-1}
 .client-logo>a,.client-logo>span{min-height:100px;width:100%;max-width:230px}
 .client-logo__image{max-width:min(100%,155px);max-height:60px}
}
@media(min-width:1800px){.home-opening{padding-top:60px}.home-intro__bottom p{font-size:20px}}
@media(max-width:1100px){.home-opening{column-gap:25px}.home-intro__title{font-size:9.1vw}.home-intro__bottom p{font-size:15px}.home-intro__bottom .round-link{width:45px;height:45px;flex:none}.home-opening__baseline{font-size:11px}.home-opening__baseline>span:nth-child(2){display:none}.opening-project .project-card__caption{align-items:start}}
@media(max-width:760px){
 .home-opening{min-height:620px;height:calc(90svh - 80px);max-height:800px;padding-top:28px;gap:0}
 .home-intro__title{font-size:clamp(72px,15vw,110px);margin-top:25px;line-height:.97}
 .home-intro>.eyebrow{font-size:11px}
 .home-intro__bottom{padding-top:24px;padding-bottom:0;gap:20px}
 .home-intro__bottom p{font-size:15px}
 .opening-project{margin-top:15px;padding-bottom:0}
 .opening-project .project-card__image{aspect-ratio:1.34}
 .opening-project .project-card__caption{margin-inline:2%;padding-top:0}
 .opening-project .project-card__caption h3{font-size:32px}
 .home-opening__baseline{font-size:11px;padding-block:28px 10px;gap:20px;align-items:start}
 .home-opening__baseline>span:first-child{max-width:155px}
 .home-opening__baseline>a{max-width:150px;text-align:right}
 .home .selected-section{padding-top:8px}
 .home .project-grid--editorial{padding-top:35px}
 .home .lab-teaser{padding-block:45px}
 .mesh-toggle{font-size:12px;min-height:32px}
}
@media(max-width:360px){.home-intro__title{font-size:67px}.home-intro__bottom p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.shared-mesh{opacity:.65}}
