/* Reflow captured layouts rather than scaling their desktop typography. */
html{--portfolio-gutter:clamp(20px,5vw,88px)}
body.responsive{overflow-wrap:break-word;text-size-adjust:100%;-webkit-text-size-adjust:100%}
.responsive .revive-footer-body{max-width:1440px}.responsive .revive-footer-bottom{flex-wrap:wrap}
.responsive .revive-project-pager>a{min-width:0}.responsive .revive-project-pager strong{overflow-wrap:anywhere}
.responsive .revive-home-actions{flex-wrap:wrap;gap:12px 28px}.responsive .revive-home-actions>a{font-size:16px}
.responsive.revive-home #comp-m8khy2we>.QG9w8P,.responsive.revive-home #comp-m8khy2we>.QG9w8P [data-testid=colorUnderlay]{background:#fff!important}
.responsive.revive-home #comp-m8khy4jq :is(h2,span),.responsive.revive-home #comp-mfoyn61z :is(h2,span){color:#626268!important}
.responsive.revive-home #comp-m7zp1ncq :is(p,span){font-size:clamp(20px,2.15vw,32px)!important;line-height:1.5!important;white-space:normal!important;overflow-wrap:normal!important}
.responsive.revive-home #comp-m8khy4jq :is(h2,span),.responsive.revive-home #comp-mfoyn61z :is(h2,span){font-size:clamp(26px,3vw,46px)!important;line-height:1.2!important}
.responsive #comp-m8mipbja5 :is(p,span){font-size:clamp(16px,1.6vw,20px)!important;line-height:1.65!important;letter-spacing:0!important}
.responsive .revive-film-player{aspect-ratio:16/9;max-height:none}.responsive #revive-home-film{max-width:1440px}
.responsive .revive-film-heading,.responsive .revive-film-caption{color:#595960}.responsive .revive-film-caption{align-items:flex-start;flex-wrap:wrap;gap:6px 20px}.responsive .revive-film-project{flex:1 1 190px;max-width:none}
.responsive .revive-menu-panel{padding:calc(94px + env(safe-area-inset-top)) max(24px,6vw) calc(32px + env(safe-area-inset-bottom));overscroll-behavior:contain}.responsive .revive-menu-panel>button{top:calc(20px + env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));position:fixed;background:white;border-radius:50%;z-index:1}
.responsive .mb-story-block :is(p,a){font-size:max(1rem,16px)}.responsive .mb-project-meta{font-size:14px}.responsive .mb-project-meta b,.responsive .mb-decision>span,.responsive .mb-response>span{font-size:12px}.responsive .mb-scenario-buttons button,.responsive .mb-scenario-buttons button span{font-size:14px!important}.responsive .mb-demo-copy .mb-scenario-note,.responsive .mb-editorial-note{font-size:14px}.responsive .mb-demo-grid{min-width:0}.responsive .mb-demo-grid>*{min-width:0}.responsive .mb-story-block h1{overflow-wrap:normal}
@media(max-width:1800px){.responsive.revive-home .wixui-vertical-menu{display:none!important}}
@media(min-width:1600px){
 .responsive .mb-story-block{padding-left:max(8vw,calc((100vw - 1440px)/2));padding-right:max(8vw,calc((100vw - 1440px)/2))}.responsive #mb-intro{padding-left:max(8vw,calc((100vw - 1440px)/2))}
 .responsive.revive-home #comp-mfoypf4p{max-width:1250px!important;margin-left:auto!important;margin-right:auto!important;width:80%!important}.responsive .revive-contact>a{font-size:72px}
}
@media(max-width:1024px){
 .responsive [data-responsive-motion],.responsive [data-responsive-motion] [data-motion-part]{animation:none!important;transform:none!important;translate:none!important;scale:none!important;rotate:none!important;filter:none!important;opacity:1!important}
 .responsive.revive-home #comp-m8q4r1n6,.responsive.revive-home #comp-mfoypf4p{transform:none!important;scale:none!important;translate:none!important;height:auto!important}
 .responsive.revive-home #comp-mfoypf4p{width:auto!important;max-width:none!important;margin:28px 6% 20px!important;padding:0!important}.responsive.revive-home .comp-mfoypf4p-container{width:100%!important;min-width:0!important}
 .responsive.revive-home #comp-m7zp1ncq{max-width:100%!important}.responsive.revive-home .revive-changing-word{max-width:100%;overflow-wrap:normal;white-space:nowrap!important;font-size:inherit!important}
 .responsive #comp-m8mipbic .comp-m8mipbic-container{display:flex!important;flex-direction:column!important;gap:32px!important;padding:0 6%!important;grid-template-rows:none!important}
 .responsive #comp-m8mipbil,.responsive #comp-m8mipbiw2{grid-area:auto!important;width:100%!important;min-width:0!important;margin:0!important;height:auto!important}
 .responsive #comp-m8mipbil{order:1}.responsive #comp-m8mipbiw2{order:0}
 .responsive #comp-m8mipbiz{width:100%!important;min-height:0!important;height:auto!important;margin:0!important}.responsive .comp-m8mipbiz-container{display:flex!important;flex-direction:column!important;gap:22px!important}
 .responsive .comp-m8mipbiz-container>div:not([data-hook=bgLayers]){grid-area:auto!important;margin:0!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important}
 .responsive #comp-m8mipbj05 :is(h2,span){font-size:clamp(28px,4vw,40px)!important;line-height:1.2!important}.responsive #comp-m8mipbj63 :is(p,span){font-size:clamp(25px,3.2vw,34px)!important;line-height:1.25!important}
 .responsive #comp-m8mipbil img{width:100%!important;height:100%!important;object-fit:contain!important}.responsive #comp-m8mipbil [data-testid=imageX]{width:100%!important;max-width:580px!important;max-height:580px!important;margin:0 auto!important;position:relative!important;aspect-ratio:4/5!important}
 .responsive .comp-m8p3hrty-container{display:flex!important;flex-direction:column!important;gap:32px!important;padding:32px 6%!important}.responsive .comp-m8p3hrty-container>div:not([data-hook=bgLayers]){grid-area:auto!important;margin:0!important;width:100%!important;height:auto!important;min-height:0!important}
 .responsive .comp-m8p3m0rv-container,.responsive .comp-m8p3uhua-container{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;gap:30px!important;align-items:start!important}
 .responsive .comp-m8p3m0rv-container>div,.responsive .comp-m8p3uhua-container>div{width:100%!important;grid-area:auto!important;margin:0!important;min-width:0!important;height:auto!important}
 .responsive #comp-m8p3hrty :is(h3,p,span){font-size:16px!important;line-height:1.5!important;white-space:normal!important}.responsive #comp-m8p3hrty h2{font-size:30px!important;line-height:1.2!important}
 .responsive #comp-m8p3ey1q .comp-m8p3ey1q-container{display:flex!important;flex-direction:column!important;gap:40px!important;padding:40px 6%!important}.responsive #comp-mbb42o9u,.responsive #comp-mbb42oa4{grid-area:auto!important;width:100%!important;margin:0!important;height:auto!important}
 .responsive .comp-mbb42o9u-container{display:flex!important;flex-direction:column!important;gap:26px!important}.responsive #comp-mbb45tmn,.responsive #comp-mbb4889v,.responsive #comp-mbb48suj{grid-area:auto!important;margin:0!important;width:100%!important;height:auto!important}
 .responsive #comp-mbb42o9u h6{font-size:17px!important;line-height:1.6!important}.responsive #comp-mbb42o9u h1,.responsive #comp-mbb42oa4 h1{font-size:30px!important;line-height:1.2!important}
 .responsive .mb-insights{gap:22px}.responsive .mb-demo-grid{grid-template-columns:1fr}.responsive .mb-demo-visual{min-height:340px}.responsive .mb-demo-copy{padding:32px}.responsive .mb-demo-copy .mb-scenario-description{min-height:0}.responsive .mb-story-block{padding-top:64px;padding-bottom:64px}
}
@media(max-width:600px){
 .responsive.revive-home #comp-m8khy4jq :is(h2,span),.responsive.revive-home #comp-mfoyn61z :is(h2,span){font-size:26px!important;line-height:1.25!important;letter-spacing:-.025em!important}.responsive.revive-home #comp-m7zp1ncq :is(p,span){font-size:20px!important;line-height:1.5!important;letter-spacing:-.015em!important}
 .responsive #revive-home-film{width:88%;margin:10px auto 26px}.responsive .revive-film-heading{font-size:13px}.responsive .revive-film-toggle{right:10px;bottom:10px}.responsive .revive-film-caption a{font-size:14px}.responsive .revive-contact>a{font-size:clamp(30px,7.8vw,46px);align-items:flex-end}.responsive .revive-contact>a>span{flex-shrink:0}.responsive .revive-project-pager{gap:22px}.responsive .revive-project-pager strong{font-size:22px;line-height:1.3}
 .responsive .comp-m8p3m0rv-container,.responsive .comp-m8p3uhua-container{grid-template-columns:1fr!important;gap:32px!important}
 .responsive .mb-story-block h1{font-size:clamp(34px,9vw,48px);line-height:1.08;letter-spacing:-.045em}.responsive .mb-story-block h2{font-size:30px;line-height:1.15}.responsive .mb-insights{grid-template-columns:1fr}.responsive .mb-story-block{padding:48px 6%}.responsive .mb-demo-copy{padding:26px 22px}.responsive .mb-demo-visual{min-height:290px}.responsive .mb-demo-visual img{height:240px}.responsive .mb-project-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.responsive .mb-project-meta>span{min-width:0}.responsive .mb-scenario-buttons{display:grid;grid-template-columns:1fr;width:100%}.responsive .mb-scenario-buttons>button{width:100%;text-align:left;min-height:48px;padding:12px 18px}.responsive .mb-scenario-buttons>button>span{margin-left:10px}
}
@media(max-height:520px) and (orientation:landscape){.responsive .revive-menu-panel{padding-top:76px}.responsive .revive-menu-panel>nav{gap:16px}.responsive .revive-menu-panel>nav>a{font-size:30px}.responsive .revive-menu-sections{margin-top:0}}
/* Case-study prose and its containing rows must grow together. */
.responsive :is(#comp-maeqyvfm,#comp-mafrpexq,#comp-mafrl5fu,#comp-mafto61k,#comp-m8dxgi33,#comp-mk39qedj,#comp-ml9a2y4y) :is(p,span){font-size:clamp(16px,1.45vw,20px)!important;line-height:1.6!important;letter-spacing:0!important}
@media(max-width:1024px){
 .responsive #comp-m8mipbj05 :is(h1,h2,span){font-size:clamp(28px,4vw,40px)!important;line-height:1.25!important}
 .responsive :is(.comp-maeqssqk-container,.comp-mafqltgv-container,.comp-mafs1eta-container,.comp-maftajro4-container){display:flex!important;flex-direction:column!important;gap:24px!important;padding:34px 6%!important;min-height:0!important}
 .responsive :is(.comp-maeqssqk-container,.comp-mafqltgv-container,.comp-mafs1eta-container,.comp-maftajro4-container)>div:not([data-hook=bgLayers]){grid-area:auto!important;margin:0!important;width:100%!important;max-width:100%!important;height:auto!important;min-width:0!important;min-height:0!important;position:relative!important}
 .responsive :is(#comp-maeqy9i6,#comp-mafrnh21,#comp-mafqxfdo,#comp-maftb8yi) :is(h1,h2,h3,p,span){font-size:clamp(28px,4vw,40px)!important;line-height:1.2!important;white-space:normal!important}
 .responsive #comp-maftfolr :is(h2,h3,p,span){font-size:22px!important;line-height:1.4!important;white-space:normal!important}
 .responsive .comp-m8dxfw4u-container,.responsive .comp-m8dxh0c2-container{display:flex!important;flex-direction:column!important;gap:24px!important;padding:30px 6%!important;min-height:0!important}.responsive .comp-m8dxh0c2-container{padding:0!important}
 .responsive :is(#comp-mk39h3m2,#comp-mk39h3ne,#comp-m8dxgi33,#comp-m8dxh0c2){grid-area:auto!important;margin:0!important;width:100%!important;min-height:0!important;height:auto!important}
 .responsive #comp-mk39h3m2 :is(h1,h2,h3,span){font-size:clamp(40px,6vw,70px)!important;line-height:1.1!important}.responsive #comp-mk39h3ne :is(h1,h2,h3,p,span){font-size:24px!important;line-height:1.4!important}
 .responsive .comp-ml99ad1w-container{display:flex!important;flex-direction:column!important;gap:28px!important;padding:34px 6%!important}.responsive :is(#comp-ml9a2jq0,#comp-ml9a2y4y,#comp-mlaocqrn){grid-area:auto!important;margin:0!important;width:100%!important;min-height:0!important;height:auto!important}
 .responsive #comp-ml9a2jq0 :is(p,h1,h2,h3,span){font-size:clamp(23px,3vw,34px)!important;line-height:1.4!important}.responsive #comp-mlaocqrn :is(p,span){font-size:16px!important;line-height:1.6!important}
}
/* Avoid the captured header's fixed menu columns on intermediate widths. */
body.responsive header.revive-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;position:relative!important;inset:auto!important;grid-area:auto!important;transform:none!important;scale:none!important;width:88%!important;max-width:1440px!important;min-width:0!important;height:112px!important;min-height:0!important;margin:0 auto!important;padding:0!important;background:#fff!important;box-sizing:border-box!important}
.responsive .revive-header-brand{display:block;width:46px;height:46px;flex:0 0 46px}.responsive .revive-header-brand img{display:block;width:100%!important;height:100%!important;object-fit:contain!important}.responsive .revive-header>nav{display:flex;align-items:center;gap:28px;font:16px Arial,sans-serif}.responsive .revive-header>nav>a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:#222}.responsive .revive-header>nav>button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;margin:0;padding:0;border:0;background:none;color:#111;cursor:pointer}.responsive .revive-header>nav>.revive-header-menu{display:none}.responsive .revive-responsive-cover{display:none}
@media(max-width:1024px){
 .responsive.revive-home main{display:flex!important;flex-direction:column!important;gap:0!important;height:auto!important;min-height:0!important}
 .responsive.revive-home .revive-feature-cover{display:block!important;position:relative!important;width:88%!important;height:auto!important;min-height:0!important;grid-area:auto!important;margin:0 auto!important;padding:0!important;overflow:hidden!important}
 .responsive.revive-home .revive-feature-cover>div:not(.revive-responsive-cover){display:none!important}
 .responsive.revive-home .revive-responsive-cover{display:block;width:100%;aspect-ratio:4/3;background:#f5f5f7;overflow:hidden}.responsive.revive-home .revive-responsive-cover img{display:block;width:100%!important;height:100%!important;object-fit:contain!important;position:static!important;transform:none!important}
 .responsive.revive-home .revive-feature-caption{display:flex!important;flex-direction:column!important;gap:8px!important;position:relative!important;grid-area:auto!important;width:88%!important;height:auto!important;min-height:0!important;margin:0 auto 42px!important;padding:18px 0 0!important}
 .responsive.revive-home .revive-feature-caption>div:not([data-hook=bgLayers]){grid-area:auto!important;position:relative!important;width:100%!important;min-height:0!important;height:auto!important;min-width:0!important;margin:0!important}
 .responsive.revive-home .revive-feature-title :is(h1,h2,h3,span){font-size:clamp(25px,3.7vw,36px)!important;line-height:1.2!important;white-space:normal!important}
 .responsive.revive-home .revive-feature-date :is(h2,p,span){font-size:16px!important;line-height:1.5!important;color:#626268!important}
 .responsive.revive-home .revive-feature-caption .revive-feature-award{width:52px!important;height:60px!important;min-width:52px!important;position:relative!important;inset:auto!important;margin:8px 0 0!important;display:inline-flex!important}
 .responsive.revive-home .revive-feature-caption .revive-feature-award img{width:100%!important;height:100%!important;object-fit:contain!important}
 .responsive.revive-home .revive-feature-caption :is(#comp-mkxu74tk,#comp-mkxunw6f){display:flex!important;flex-direction:row!important;gap:14px!important;width:100%!important;height:auto!important;margin-top:8px!important}
 .responsive.revive-home #comp-m8khy2we{margin-bottom:30px!important;grid-area:auto!important;min-height:0!important;height:auto!important}.responsive.revive-home #comp-mig0iayb{min-height:0!important;height:0!important;margin:0!important}
}
@media(max-width:600px){body.responsive header.revive-header{height:88px!important;width:88%!important}.responsive .revive-header-brand{width:40px;height:40px;flex-basis:40px}.responsive .revive-header>nav{gap:8px}.responsive .revive-header>nav>a{display:none}.responsive .revive-header>nav>.revive-header-menu{display:inline-flex}}
@media(max-width:1024px){
 .responsive main:has(.revive-readable-copy){display:flex!important;flex-direction:column!important;gap:0!important;height:auto!important;min-height:0!important}
 .responsive main:has(.revive-readable-copy)>section{grid-area:auto!important;flex-shrink:0!important}
 .responsive .revive-readable-copy{display:flex;flex-direction:column;gap:22px;padding:24px 6% 36px;margin:0;position:relative;grid-area:auto;min-width:0;width:100%;box-sizing:border-box;background:#fff;color:#202024;font-family:Arial,Helvetica,sans-serif;pointer-events:auto}
 .responsive .revive-readable-copy>*{max-width:760px!important;align-self:center}
 .responsive [data-responsive-empty=true]{height:0!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important}
 .responsive :is(#comp-mafqltgv,#comp-mafs1eta){width:100%!important;grid-area:auto!important;margin:0!important;height:auto!important;min-height:0!important}
 .responsive :is(#comp-mafqlel3,#comp-mafrv3ah){display:flex!important;flex-direction:column!important;gap:24px!important;padding:30px 6%!important}
 .responsive :is(#comp-mafqlthd,#comp-mafs1esw){width:100%!important;grid-area:auto!important;margin:0!important;position:relative!important;min-height:240px!important}
 .responsive #comp-mafqlthd iframe{width:100%!important;min-height:280px!important}.responsive #comp-mafs1esw img{object-fit:contain!important}
 .responsive #comp-mafrxyjn{width:100%!important;grid-area:auto!important;margin:0!important;height:auto!important}.responsive #comp-mafrxyjn :is(h1,h2,h3,h4,h5,h6,p,span){font-size:16px!important;line-height:1.6!important}
}

/* Shared return-on-scroll navigation; the spacer prevents content jumps. */
body.responsive header.revive-header.revive-scroll-header{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:auto!important;width:100%!important;max-width:none!important;margin:0!important;padding:0 max(6vw,calc((100vw - 1440px)/2))!important;z-index:10000;transform:translateY(0)!important;transition:transform .24s ease;box-shadow:0 1px 0 #00000008}
body.responsive header.revive-header.revive-scroll-header.revive-header-hidden{transform:translateY(-102%)!important;pointer-events:none}
.revive-header-spacer{width:100%;flex-shrink:0}
@media(prefers-reduced-motion:reduce){body.responsive header.revive-header.revive-scroll-header{transition:none}}
/* Compact navigation keeps more of the portfolio visible. */
body.responsive header.revive-header.revive-scroll-header{height:76px!important}
body.responsive header.revive-scroll-header .revive-header-brand{width:38px;height:38px;flex-basis:38px}
@media(max-width:600px){body.responsive header.revive-header.revive-scroll-header{height:64px!important}body.responsive header.revive-scroll-header .revive-header-brand{width:32px;height:32px;flex-basis:32px}}
