@font-face{font-family:Mabry;src:url('/assets/mabry-light.woff') format('woff');font-weight:100 500;font-style:normal;font-display:swap}
:root{--paper:#fff;--ink:#000;--muted:#919191;--orange:#ee603d;--gap:1.49vw;--pad:2.98vw;--body:1.49vw}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Mabry,Arial,sans-serif;font-size:var(--body);font-weight:300;line-height:1.4;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{padding:0;border:0;background:none;cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid currentColor;outline-offset:6px}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0;font-size:inherit;font-weight:inherit}img,video{display:block;width:100%;height:auto}svg{display:block}::selection{background:#ef603d;color:#fff}.skip-link{position:fixed;top:-90px;left:16px;z-index:100;background:#fff;color:#000;padding:12px}.skip-link:focus{top:12px}
.site-header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;padding:var(--pad);height:14.9vw;z-index:10}.logo{display:block;width:6.3vw;height:6.3vw;flex-shrink:0}.logo svg{width:100%;height:100%;overflow:visible}.logo .rolling-circle{transform-origin:72px 27.5px;animation:logo-roll 9s ease-in-out infinite}.header-links{display:flex;align-items:center;gap:3.05vw;margin-top:-.34vw}.header-links a:hover{text-decoration:underline;text-underline-offset:5px}.icon-button{width:2.6vw;height:2.6vw;display:grid;place-items:center}.icon-button svg{width:1.85vw;height:1.85vw}.menu-button{margin-left:.2vw}.header-intro{position:absolute;top:2.52vw;left:14.9vw;width:47.2vw;font-size:2.085vw;line-height:1.45;letter-spacing:-.025em}.home .site-header{height:20.07vw}.main-shell{padding:0 var(--pad)}
.feed-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5.4vw var(--gap)}.feed-card{min-width:0;align-self:start;grid-column:span var(--span,4)}.feed-card[data-col="col6"]{grid-column:6/span 3}.card-media{position:relative;overflow:hidden;background:#e5e5e5}.card-media img,.card-media video{width:100%;aspect-ratio:var(--ratio,16/9);object-fit:cover}.card-media video{position:absolute;inset:0;height:100%}.card-media img{transition:opacity .25s}.feed-card a:hover .card-title,.work-card a:hover .card-title{text-decoration:underline;text-underline-offset:4px}.card-caption{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:1.95vw;line-height:1.42}.feed-card[data-span="span5"] .card-caption{grid-template-columns:2.2fr 2.8fr}.card-copy{min-width:0}.card-description{color:var(--muted);margin-top:.65vw}.feed-end{margin:8vw 0 2vw;text-align:right}.text-link{text-decoration:underline;text-underline-offset:5px}.text-link:hover{opacity:.55}
.work-toolbar{display:flex;justify-content:space-between;align-items:flex-end;margin-top:.75vw;margin-bottom:5.9vw;gap:3vw}.filters{display:grid;grid-template-columns:repeat(5,1fr);gap:.7vw 1.5vw;width:60.5%;font-size:1.18vw}.filter{justify-self:start;white-space:nowrap}.filter[aria-current="page"],.filter:hover{text-decoration:underline;text-underline-offset:4px}.view-options{display:flex;gap:.3vw}.view-button{display:grid;place-items:center;width:2.25vw;height:2.25vw}.view-button svg{width:1.5vw;height:1.5vw}.view-button[aria-pressed="true"]{background:#efefef}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4.25vw var(--gap)}.work-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:3vw var(--gap)}.work-card .card-media img{aspect-ratio:1.8;object-fit:cover}.work-card .card-title{margin-top:1.85vw}.work-grid.compact .card-title{font-size:1.1vw;margin-top:1vw}.load-more{display:block;margin:5vw auto 0;padding:.7em 1.2em;border:1px solid currentColor}.load-more:hover{background:var(--ink);color:var(--paper)}.empty-state{padding:5vw 0 12vw}.empty-state p{margin-bottom:1em}
.about-intro{grid-column:3/span 4;font-size:1.87vw;line-height:1.4;letter-spacing:-.014em;margin-top:.9vw}.about-intro p+p{margin-top:2.2vw}.module-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5.9vw var(--gap)}.module{min-width:0;grid-column:var(--start,auto)/span var(--span,8)}.module-grid>.module.full-bleed{margin-left:calc(-1 * var(--pad));margin-right:calc(-1 * var(--pad));grid-column:1/-1}.module-grid .module-grid{grid-column:1/-1;width:100%}.module-text p+p,.section-body p+p{margin-top:1.4em}.module-text p.large{font-size:1.85vw;line-height:1.4}.module-text a,.section-body a{text-decoration:underline;text-underline-offset:4px}.module-image img{height:auto}.module-image:has(img[src$=".svg"]){display:flex;align-items:center;justify-content:center}.module-image img[src$=".svg"]{max-width:50%;max-height:28vw;object-fit:contain}.section-module{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--gap)}.section-title{grid-column:1/span 2}.section-body{grid-column:3/span 6}.section-body.wide-copy{grid-column:3/span 6;font-size:1.05vw;color:var(--muted);line-height:1.6}.about-page .module-grid{row-gap:5.9vw}.about-page>.module-grid>.module:first-child{grid-column:3/span 4}.about-page>.module-grid>.module:first-child p{font-size:1.85vw;line-height:1.4}.about-page>.module-grid>.module:first-child p+p{margin-top:2.2vw}.about-page .section-body{max-width:56vw}.about-page .module-carousel{margin-top:2vw}
.carousel{position:relative}.carousel-media{overflow:hidden;background:#ececec;aspect-ratio:1.642}.carousel-media img,.carousel-media video{width:100%;height:100%;object-fit:cover}.carousel-bar{display:flex;justify-content:space-between;align-items:center;margin-top:1vw;font-size:1.18vw}.carousel-controls{display:flex;gap:1.1vw}.carousel-controls button{min-width:2vw;min-height:2vw;font-size:1.8vw}.carousel-controls button:hover{opacity:.45}
.project-intro{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--gap);padding: .8vw var(--pad) 5.9vw}.project-intro h1{grid-column:3/span 3;line-height:1.4}.project-intro .project-description{grid-column:6/span 3;white-space:pre-line;line-height:1.4}.project-page .module-grid{gap:5.9vw var(--gap)}.video-module{position:relative;background:rgba(0,0,0,.04);overflow:hidden}.video-module video{aspect-ratio:var(--ratio,16/9);object-fit:cover}.film-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff}.film-play .play-circle{display:grid;place-items:center;width:6vw;height:6vw;border:1px solid #fff;border-radius:50%;background:#0002;backdrop-filter:blur(5px);transition:transform .2s}.film-play:hover .play-circle{transform:scale(1.1)}.film-play svg{width:1.8vw;height:1.8vw;margin-left:.35vw}.video-pause{position:absolute;right:1vw;bottom:1vw;width:2.6vw;height:2.6vw;border:1px solid #ffffff80;border-radius:50%;color:#fff;background:#0005;font:14px Arial;opacity:0;transition:opacity .2s}.video-module:hover .video-pause,.video-pause:focus-visible{opacity:1}.project-tags{display:flex;gap:1em;font-size:1.18vw}.credits-toggle{border-top:1px solid currentColor;padding:1.5vw 0;width:100%;display:flex;justify-content:space-between;text-align:left}.credits-copy{padding:1vw 0 2vw}.project-next{display:flex;justify-content:space-between;align-items:center;padding:7vw 0 0;font-size:2.9vw}.project-next a:hover{text-decoration:underline}
.contact-page{padding-top:1.1vw}.newsletter{display:inline-block;text-decoration:underline;text-underline-offset:4px}.contact-offices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5vw var(--gap);margin-top:2.45vw}.contact-office h1{margin-bottom:2.25vw}.contact-office p{margin-bottom:1.45vw}.contact-office a:hover{text-decoration:underline}.contact-office .soft{color:var(--muted)}.contact-office address{font-style:normal;margin-bottom:1.45vw}.contact-secondary{margin:7vw 0;display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.contact-secondary h2{margin-bottom:1em}.contact-secondary p{max-width:35em}.contact-secondary a{text-decoration:underline}
.site-footer{padding:10vw var(--pad) 3vw}.footer-offices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gap);font-size:1.15vw;line-height:1.45}.footer-office h3{font-size:1.49vw;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.2vw;margin-bottom:1.5vw}.footer-office time{white-space:nowrap;font-size:.9em}.footer-office .address{margin-bottom:1vw}.footer-office a:hover{text-decoration:underline}.footer-newsletter{margin:4vw 0 3.4vw}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);font-size:1.15vw}.footer-bottom p+p{margin-top:.5em}.socials{display:flex;gap:3vw;flex-wrap:wrap}.socials a:hover{text-decoration:underline}.certifications{display:flex;gap:2vw;align-items:center;margin-top:2vw}.bcorp{border:1px solid currentColor;border-radius:50%;width:2.5vw;height:2.5vw;display:grid;place-items:center;font-size:1.8vw}.progress-top{display:block;margin:3vw 0 0 auto;font-size:1.2vw}
dialog{border:0;padding:0;margin:0;max-width:none;max-height:none;width:100%;height:100dvh;color:#000}dialog::backdrop{background:transparent}.menu-overlay{background:var(--orange);overflow:auto}.overlay-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--pad)}.overlay-header .logo{color:#fff}.overlay-header .close-button{color:#fff8}.close-button svg{width:1.85vw;height:1.85vw}.menu-nav{position:absolute;top:7vw;left:50.75vw;display:flex;flex-direction:column;align-items:flex-start;font-size:3.55vw;line-height:1.3;letter-spacing:-.035em}.menu-nav a:hover,.menu-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}.overlay-footer{position:absolute;bottom:var(--pad);left:var(--pad);right:var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.menu-overlay[open]{animation:menu-in .4s cubic-bezier(.2,.8,.2,1)}.search-overlay{background:white;padding-bottom:var(--pad)}.search-overlay .overlay-header .logo,.search-overlay .overlay-header .close-button{color:#000}.search-content{margin:1.3vw var(--pad) 3vw}.search-input{width:100%;font-size:5.2vw;border:0;border-bottom:1px solid #a0a0a0;border-radius:0;background:none;outline:none;padding:0 0 1vw;letter-spacing:-.04em}.search-input::placeholder{color:#aaa}.search-meta{display:flex;justify-content:space-between;margin:1.3vw 0 3vw;font-size:1.18vw}.search-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw var(--gap)}.search-results .work-card .card-title{font-size:1.3vw;margin-top:1vw}.search-hint{font-size:1.8vw;max-width:35em;padding-top:2vw;color:var(--muted)}
@keyframes logo-roll{0%,15%,60%,100%{transform:scaleX(1)}30%,40%{transform:scaleX(.13)}}@keyframes menu-in{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(min-width:1800px){:root{--body:1.35vw}.header-intro{font-size:1.95vw}.filters{font-size:1.1vw}}
@media(max-width:900px){:root{--body:2.05vw}.header-intro{font-size:2.5vw;width:46vw}.header-links{gap:2.4vw}.logo{width:7vw;height:7vw}.home .site-header{height:24vw}.icon-button{width:3vw;height:3vw}.icon-button svg{width:2.4vw;height:2.4vw}.card-caption{grid-template-columns:1fr!important;gap:.65vw}.card-type{display:none}.work-toolbar{margin-top:3vw}.filters{width:78%;font-size:1.6vw;gap:1.2vw}.view-button{width:3vw;height:3vw}.view-button svg{width:2vw;height:2vw}.module-text p.large,.about-page>.module-grid>.module:first-child p{font-size:2.5vw}.about-page>.module-grid>.module:first-child{grid-column:2/span 6}.project-intro h1{grid-column:1/span 3}.project-intro .project-description{grid-column:5/span 4}.footer-offices{font-size:1.55vw;grid-template-columns:repeat(3,minmax(0,1fr));gap:4vw 2vw}.footer-office h3{font-size:1.8vw}.footer-bottom{font-size:1.55vw}.contact-offices{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-nav{font-size:5.2vw;left:45vw;top:13vw}.overlay-footer{font-size:1.8vw}.socials{gap:2vw}.work-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.work-grid.compact .card-title{font-size:1.6vw}.section-body.wide-copy{font-size:1.6vw}.search-results .work-card .card-title{font-size:1.8vw}}
@media(max-width:600px){:root{--pad:22px;--gap:14px;--body:18px}.site-header{height:154px;padding-top:23px}.logo{width:64px;height:64px}.header-links{gap:20px;font-size:17px;margin-top:-3px}.icon-button{height:30px;width:27px}.icon-button svg,.close-button svg{width:23px;height:23px}.header-links .about-nav{display:none}.home .site-header{height:auto;min-height:320px;padding-bottom:38px}.header-intro{position:static;font-size:23px;line-height:1.35;letter-spacing:-.025em;width:auto;padding-top:41px}.home .site-header{display:grid;grid-template-columns:1fr auto}.home .header-intro{grid-column:1/-1;grid-row:2}.feed-grid{grid-template-columns:1fr;gap:46px}.feed-card,.feed-card[data-col="col6"]{grid-column:1/-1!important}.card-caption{margin-top:17px;display:grid;grid-template-columns:1fr 2fr!important;gap:14px;line-height:1.4}.card-type{display:block;font-size:15px;padding-top:2px}.card-description{margin-top:7px;font-size:16px}.feed-end{margin:52px 0 0}.work-toolbar{margin-top:0;margin-bottom:36px;align-items:flex-start;gap:12px}.filters{width:100%;grid-template-columns:repeat(3,1fr);font-size:14px;gap:12px 10px}.view-options{flex-direction:column}.view-button{width:28px;height:28px}.view-button svg{width:21px;height:21px}.work-grid{grid-template-columns:1fr;gap:38px}.work-card .card-title{margin-top:14px}.work-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 14px}.work-grid.compact .card-title{font-size:14px;margin-top:10px}.load-more{margin:42px auto 0}.empty-state{padding:20px 0 80px}.module-grid,.project-page .module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 14px}.module,.about-page>.module-grid>.module:first-child{grid-column:1/-1!important}.about-page>.module-grid>.module:first-child p,.module-text p.large{font-size:23px;line-height:1.37}.about-page>.module-grid>.module:first-child p+p{margin-top:28px}.about-page .module-grid{row-gap:44px}.module-image img[src$=".svg"]{max-width:45%;max-height:170px}.section-module{display:block}.section-title{margin-bottom:20px}.section-body{font-size:18px}.section-body.wide-copy{font-size:14px}.about-page .section-body{max-width:none}.carousel-bar{font-size:14px;margin-top:12px}.carousel-controls{gap:18px}.carousel-controls button{font-size:26px;min-width:30px;min-height:30px}.carousel-media{aspect-ratio:1.35}.project-intro{display:block;padding-top:0;padding-bottom:42px}.project-intro h1{font-size:23px;margin-bottom:30px}.project-intro .project-description{font-size:18px}.project-tags{font-size:14px}.film-play .play-circle{width:62px;height:62px}.film-play svg{width:20px;height:20px;margin-left:3px}.video-pause{opacity:1;width:32px;height:32px;right:10px;bottom:10px}.credits-toggle{padding:20px 0}.credits-copy{padding:10px 0 24px}.project-next{padding:46px 0 0;font-size:27px}.contact-page{padding-top:0}.contact-offices{grid-template-columns:1fr;gap:37px;margin-top:37px}.contact-office h1{font-size:25px;margin-bottom:21px}.contact-office p,.contact-office address{margin-bottom:20px}.contact-secondary{display:block;margin:50px 0}.contact-secondary>div+div{margin-top:35px}.site-footer{padding-top:75px;padding-bottom:25px}.footer-offices{grid-template-columns:1fr 1fr;gap:32px 14px;font-size:13px}.footer-office h3{font-size:18px;display:block;margin-bottom:14px}.footer-office time{display:block;font-size:13px;margin-top:3px}.footer-office .address{margin-bottom:12px}.footer-newsletter{margin:38px 0 32px;font-size:18px}.footer-bottom{display:block;font-size:13px}.footer-bottom>.socials{margin-top:24px;gap:23px}.certifications{gap:20px;margin-top:24px}.bcorp{width:28px;height:28px;font-size:21px}.progress-top{font-size:14px;margin-top:28px}.overlay-header{padding-top:23px}.menu-nav{top:145px;left:22px;font-size:44px;line-height:1.35}.overlay-footer{font-size:13px;display:flex;flex-direction:column-reverse;gap:24px}.overlay-footer .socials{gap:22px}.search-content{margin-top:28px}.search-input{font-size:38px;padding-bottom:13px}.search-meta{font-size:13px;margin:17px 0 28px}.search-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.search-results .work-card .card-title{font-size:14px;margin-top:10px}.search-hint{font-size:22px}.search-overlay .overlay-header{height:105px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Final alignment against the live reference. */
figure{margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:901px){.header-intro{top:2.12vw;left:14.92vw;width:46.28vw;font-size:2.144vw;line-height:1.4;letter-spacing:normal}.header-links{margin-top:-.8vw}}
.search-input:focus-visible{outline:none;border-bottom:2px solid #000;padding-bottom:calc(1vw - 1px)}
@media(min-width:601px){.about-page>.module-grid>.module:first-child{margin-top:.8vw}.about-page>.module-grid>.module:first-child p+p{margin-top:4.4vw}}
@media(max-width:600px){.search-input:focus-visible{padding-bottom:12px}}
