[data-mobile-project-summary]{display:none!important}
@media(max-width:991px){

 html:root body #about-navbar-simple.navbar[data-snav][data-mobile-hero]{background:rgba(255,255,255,.88)!important;background-image:none!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;border-bottom:1px solid rgba(0,0,0,.045)!important}
 html:root body #about-navbar-simple.navbar[data-snav][data-mobile-hero]>.navbar-top{background:rgba(255,255,255,.5)!important;background-image:none!important;box-shadow:none!important}
 html:root body #about-navbar-mobile-control [data-mobile-nav-contact]{position:fixed!important;display:flex!important;align-items:center!important;justify-content:center!important;left:calc(var(--shared-menu-button-left) - 86px)!important;top:var(--shared-menu-button-top)!important;width:78px!important;height:44px!important;min-width:0!important;min-height:0!important;max-height:44px!important;box-sizing:border-box!important;padding:0 12px!important;margin:0!important;border:1px solid #111!important;border-radius:999px!important;background:#111!important;color:#fff!important;font:500 14px/20px Ppneuemontreal,Arial,sans-serif!important;text-decoration:none!important;box-shadow:none!important;transform:none!important;pointer-events:auto!important;transition:opacity .16s ease!important}
 html[data-mobile-navigation-open] body #about-navbar-mobile-control [data-mobile-nav-contact]{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
 html:root body main [data-case-trigger]>.case-study-card-visual{width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:9/10!important;flex:none!important;transform:none!important;rotate:0deg!important;translate:none!important;margin:0!important;padding:0!important}
 html:root body main [data-case-trigger]:not([data-case-key=mfg]):not([data-case-key=sch]):not([data-case-key=geo]){gap:10.8px!important}
 html:root body main [data-case-trigger]:not([data-case-key=mfg]):not([data-case-key=sch]):not([data-case-key=geo])>.flex-block-4-copy{padding-top:14.4px!important}
 html:root body main [data-case-trigger]:is([data-case-key=chp],[data-case-key=col],[data-case-key=cam],[data-case-key=water-management],[data-case-key=frs])>.div-block-36{display:flex!important;flex-flow:column!important;align-items:stretch!important;gap:8px!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
 html:root body main [data-case-trigger]:is([data-case-key=chp],[data-case-key=col],[data-case-key=cam],[data-case-key=water-management],[data-case-key=frs]) [data-case-hover]>div{display:none!important}
 html:root body main [data-case-trigger] [data-mobile-project-summary]{display:block!important;font-family:"Ppneuemontreal Book",Arial,sans-serif!important;font-size:inherit!important;font-weight:400!important;line-height:1.2!important;color:#606b7b!important;opacity:1!important;text-align:left!important;margin:0!important;padding:0!important;max-width:none!important}
 html:root body main [data-case-trigger]>.div-block-36>.flex-block-4{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;width:100%!important;margin:0!important;padding:0!important}
 html:root body main [data-case-trigger] .div-block-38{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex:0 0 24px!important;width:24px!important;min-width:24px!important;height:24px!important;margin:0!important;padding:0!important}
 html:root body main [data-case-trigger] .div-block-38>.image-22{display:block!important;width:24px!important;height:24px!important;min-width:0!important;max-width:24px!important;object-fit:contain!important;margin:0!important;padding:0!important}
 html:root body main [data-case-trigger] .personal-project-title-row{justify-content:flex-start!important;margin-left:0!important;padding-left:0!important}
}
@keyframes mobile-card-attention{0%,100%{scale:.954}50%{scale:1}}
@supports(animation-timeline:view()){
 @media(max-width:767px) and (prefers-reduced-motion:no-preference){
  html:root body main [data-case-trigger]{animation:mobile-card-attention 1s linear both;animation-timeline:view(block);animation-range:entry 0% exit 100%;transform-origin:center center}
 }
}

@media(max-width:991px){
html:root body #about-navbar-simple.navbar[data-snav][data-mobile-hero=true],html:root body #about-navbar-simple.navbar[data-snav][data-mobile-hero=true]>.navbar-top{background:transparent!important;background-image:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-color:transparent!important;box-shadow:none!important}
html:root body #about-navbar-simple.navbar[data-snav][data-mobile-hero=false]{background:rgba(255,255,255,.9)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important}
html:root body #about-navbar-mobile-control [data-mobile-nav-contact]{height:32px!important;max-height:32px!important;top:calc(var(--shared-menu-button-top) + 6px)!important}
html:root body main [data-case-trigger] .div-block-38{flex:0 0 20px!important;width:20px!important;min-width:20px!important;height:20px!important}
html:root body main [data-case-trigger] .div-block-38>.image-22,html:root body main [data-case-trigger] .personal-project-title-row>.image-22{width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;object-fit:contain!important}
html:root body main [data-case-trigger]:is([data-case-key=chp],[data-case-key=col],[data-case-key=cam],[data-case-key=water-management],[data-case-key=frs])>.div-block-36,html:root body main [data-case-trigger]>.flex-block-4-copy{row-gap:5.6px!important}





}
@keyframes mobile-projects-slide-in{from{translate:-10vw 0;clip-path:inset(0 100% 0 0)}to{translate:0 0;clip-path:inset(0 0 0 0)}}
@media(max-width:767px) and (prefers-reduced-motion:no-preference){
html:root body .canvas-case-overlay[data-case-projects-open=true]:not([data-case-projects-fading=true]):not(.is-fullscreen) .canvas-case-shell[data-rail-pinned]>.canvas-case-rail>.canvas-case-tabs{animation:mobile-projects-slide-in .5s cubic-bezier(.215,.61,.355,1) both}
html:root body .canvas-case-overlay[data-case-projects-fading=true] .canvas-case-tabs{animation:none!important}
}

html:root body #about-navbar-simple .navlink-streched.dark,html:root body #about-navbar-mobile-control [data-mobile-nav-contact]{scale:.9;transform-origin:center center}
html:root body .contact-modal:is([data-a11y-open=true],[data-footer-dialog]){position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;background:rgba(40,49,62,.38)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;opacity:1!important;z-index:2147483000!important;transition:opacity 220ms ease!important}
html:root body .contact-modal:is([data-a11y-open=true],[data-footer-dialog]) .contact-modal-space{display:none!important}
html:root body .contact-modal:is([data-a11y-open=true],[data-footer-dialog])>.contact-modal-container{position:relative!important;inset:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:24px!important;width:min(680px,100%)!important;min-width:0!important;max-width:100%!important;height:auto!important;max-height:calc(100dvh - 48px)!important;overflow:auto!important;overscroll-behavior:contain;padding:48px 40px 32px!important;margin:0!important;box-sizing:border-box!important;border:1px solid #e7ebef!important;border-radius:20px!important;background:#fff!important;color:#111!important;box-shadow:0 20px 80px #15213326!important;transform:none!important;translate:0 0;scale:1;transition:translate 320ms cubic-bezier(.22,1,.36,1),scale 320ms cubic-bezier(.22,1,.36,1)!important;font-family:"Ppneuemontreal Book",Arial,sans-serif!important;scrollbar-width:thin}
html:root body .contact-modal[data-a11y-open=true]:is([data-contact-phase=opening],[data-contact-phase=closing]){opacity:0!important}
html:root body .contact-modal[data-a11y-open=true][data-contact-phase=opening]>.contact-modal-container{translate:0 24px;scale:.985}
html:root body .contact-modal[data-a11y-open=true][data-contact-phase=closing]>.contact-modal-container{translate:0 12px;scale:.99;transition-duration:180ms!important}
html:root body .contact-modal .hero-h-n-tag.vertical{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;width:100%!important;height:auto!important;min-height:0!important;gap:14px!important;margin:0!important;padding:0 38px 0 0!important}
html:root body .contact-modal .contact-h{position:static!important;max-width:100%!important;font:500 clamp(30px,3vw,40px)/1.08 Ppneuemontreal,Arial,sans-serif!important;letter-spacing:-.035em!important;color:#111!important;margin:0!important;padding:0!important;white-space:normal!important}
html:root body .contact-modal .contact-modal-header-box{position:static!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;transform:none!important}
html:root body .contact-modal [data-contact-intro]{display:block!important;font:400 16px/1.45 "Ppneuemontreal Book",Arial,sans-serif!important;color:#606b7b!important;margin:0!important;padding:0!important;max-width:100%!important;text-align:left!important;opacity:1!important}
html:root body .contact-modal .contact-modal-form{position:static!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:20px!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;transform:none!important;opacity:1!important}
html:root body .contact-modal .portfolio-form-help{font:400 13px/1.35 "Ppneuemontreal Book",Arial,sans-serif!important;color:#687382!important;margin:0 0 -6px!important;padding:0!important}
html:root body .contact-modal .contact-modal-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;width:100%!important;margin:0!important;padding:0!important}
html:root body .contact-modal .contact-modal-box{display:flex!important;flex-direction:column!important;gap:8px!important;width:100%!important;min-width:0!important;flex:none!important;margin:0!important;padding:0!important}
html:root body .contact-modal .contact-modal-label{font:500 14px/1.3 Ppneuemontreal,Arial,sans-serif!important;margin:0!important;padding:0!important;color:#333b46!important}
html:root body .contact-modal :is(input.contact-modal-field,textarea.contact-modal-field){display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;padding:12px 14px!important;margin:0!important;box-sizing:border-box!important;background:#f7f8fa!important;border:1px solid #d7dce3!important;border-radius:9px!important;font:400 16px/1.4 "Ppneuemontreal Book",Arial,sans-serif!important;color:#111!important;box-shadow:none!important;transition:border-color 160ms,background 160ms!important}
html:root body .contact-modal textarea.contact-modal-field{height:128px!important;min-height:128px!important;max-height:320px;resize:vertical!important}
html:root body .contact-modal :is(input,textarea)::placeholder{font:inherit!important;color:#818b98!important;opacity:1!important}
html:root body .contact-modal :is(input,textarea):focus-visible{outline:2px solid #8caddc!important;outline-offset:2px!important;border-color:#6d91c5!important;background:#fff!important}
html:root body .contact-modal .strech-btn-wrap.contact-modl{position:static!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:20px!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;margin:4px 0 0!important;padding:0!important}
html:root body .contact-modal .form-btn-streched{order:0!important;position:static!important;display:block!important;width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;max-height:none!important;padding:12px 20px!important;margin:0!important;background:#111!important;color:#fff!important;border:1px solid #111!important;border-radius:999px!important;font:500 16px/1.3 Ppneuemontreal,Arial,sans-serif!important;letter-spacing:0!important;transition:background 160ms,opacity 160ms!important}
html:root body .contact-modal .form-btn-streched:hover{background:#343b44!important}
html:root body .contact-modal .form-btn-streched:disabled{opacity:.45!important;cursor:not-allowed!important}
html:root body .contact-modal .contact-txt-wrap2.modal{order:1!important;display:flex!important;flex-flow:row wrap!important;align-items:center!important;justify-content:space-between!important;gap:12px 18px!important;width:100%!important;margin:0!important;padding:0!important}
html:root body .contact-modal .contact-txt-wrap2.modal>.contact-email{display:block!important;width:auto!important;font:400 15px/1.35 "Ppneuemontreal Book",Arial,sans-serif!important;opacity:.75!important;color:#333b46!important;margin:0!important;padding:0!important;overflow-wrap:anywhere}
html:root body .contact-modal .contact-txt-wrap2.modal>.contact-email:hover{opacity:1!important;text-decoration:underline;text-underline-offset:4px}
html:root body .contact-modal .services-box{order:2!important;display:block!important;position:static!important;width:100%!important;margin:0!important;padding:0!important}
html:root body .contact-modal .services-box>.contact-txt-wrap2{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:18px!important;width:100%!important;margin:0!important;padding:0!important}
html:root body .contact-modal .socials-icon-link{display:inline-flex;align-items:center;justify-content:center;width:22px!important;height:22px!important;opacity:.6!important}
html:root body .contact-modal .socials-icon-link:hover{opacity:1!important}
html:root body .contact-modal .socials-icon{width:20px!important;height:20px!important;object-fit:contain!important}
html:root body .contact-modal .services-row1.modal{display:none!important}
html:root body .contact-modal>.contact-modal-container>.close-button.modal{position:absolute!important;inset:16px 16px auto auto!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;background:transparent!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;z-index:5!important;transform:none!important}
html:root body .contact-modal .close-button.modal>a{position:static!important;inset:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;min-width:0!important;min-height:0!important;background:transparent!important;margin:0!important;padding:0!important;transform:none!important}
html:root body .contact-modal .close-btn-circle{display:none!important}
html:root body .contact-modal .close-icon{width:18px!important;height:18px!important;filter:brightness(0)!important;transform:none!important}
html:root body .contact-modal :is(.w-form-done,.w-form-fail){width:100%;box-sizing:border-box;padding:20px;border-radius:10px;font:400 16px/1.45 "Ppneuemontreal Book",Arial,sans-serif}
html:root body .contact-modal .w-form-done{background:#eef4ef;color:#255331}
html:root body .contact-modal .w-form-fail{background:#faf0f0;color:#7f3434}
html:root body .portfolio-footer [class~=portfolio-footer-surface]{transform:translate3d(0,var(--footer-shift,0px),0)!important}
html:root body [data-portfolio-mobile-menu] [data-mobile-project-logo]{position:absolute!important;inset:10px auto auto 10px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:28px!important;height:28px!important;padding:5px!important;border-radius:7px!important;background:rgba(255,255,255,.87)!important;backdrop-filter:blur(6px);box-shadow:0 2px 10px #14233826;z-index:2;pointer-events:none}
html:root body [data-portfolio-mobile-menu] [data-mobile-project-logo]>img{display:block!important;width:18px!important;height:18px!important;max-width:18px!important;min-width:0!important;object-fit:contain!important;aspect-ratio:1!important;border-radius:0!important;margin:0!important;padding:0!important;filter:none!important}
@media(max-width:767px){
html:root body .contact-modal:is([data-a11y-open=true],[data-footer-dialog]){padding:0!important;background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html:root body .contact-modal:is([data-a11y-open=true],[data-footer-dialog])>.contact-modal-container{width:100%!important;height:100dvh!important;max-height:100dvh!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:calc(76px + env(safe-area-inset-top)) 24px calc(28px + env(safe-area-inset-bottom))!important;gap:26px!important}
html:root body .contact-modal .hero-h-n-tag.vertical{padding-right:0!important;gap:14px!important}
html:root body .contact-modal .contact-h{font-size:32px!important;max-width:340px!important}
html:root body .contact-modal .contact-modal-row{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
html:root body .contact-modal .contact-modal-form{flex:none!important}
html:root body .contact-modal>.contact-modal-container>.close-button.modal{inset:calc(12px + env(safe-area-inset-top)) 16px auto auto!important}
html:root body .contact-modal .contact-txt-wrap2.modal{justify-content:flex-start!important}
}
@media(prefers-reduced-motion:reduce){html:root body .contact-modal,html:root body .contact-modal>.contact-modal-container{transition:none!important}html:root body .portfolio-footer [class~=portfolio-footer-surface]{transform:none!important}}

[data-stack-inline-control]{display:none!important}
@media(max-width:991px){
html:root body #about-navbar-mobile-control button[data-unified-menu-control][data-portfolio-mobile-toggle][aria-expanded]:not([hidden]){height:28.8px!important;min-height:28.8px!important;max-height:28.8px!important;top:calc(var(--shared-menu-button-top) + 7.6px)!important}
html:root body .about-stack-artwork{height:auto!important;min-height:0!important}
html:root body [data-project-stack-artwork] [data-stack-inline-control]{display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;min-height:44px!important;box-sizing:border-box!important;margin:20px auto 0!important;padding:0!important;border:1px solid #68717b!important;border-radius:50%!important;background:transparent!important;color:#343d48!important;box-shadow:none!important;cursor:pointer;transition:background 150ms,color 150ms}
html:root body [data-stack-inline-control]>svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html:root body [data-stack-inline-control]:focus-visible{outline:2px solid #6d91c5;outline-offset:4px}
html:root body [data-stack-inline-control]:active{background:#edf0f4!important}
html:root body .canvas-case-overlay:not(.is-fullscreen) .canvas-case-close,html:root body .contact-modal>.contact-modal-container>.close-button.modal{scale:1.1;transform-origin:center center}
[data-mobile-outline-dock]{position:absolute!important;inset:var(--mobile-outline-header-height,56px) 0 auto!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;box-sizing:border-box!important;z-index:109;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;border:0!important;border-bottom:1px solid #e3e5e8!important;border-radius:0!important;opacity:0;translate:0 -8px;visibility:hidden;pointer-events:none;transition:opacity 160ms ease,translate 200ms cubic-bezier(.22,1,.36,1),visibility 0s linear 200ms}
[data-mobile-outline-dock][data-dock-visible=true]{opacity:1;translate:0 0;visibility:visible;pointer-events:auto;transition-delay:0s}
html:root body .canvas-case-overlay [data-mobile-outline-dock]>.case-mobile-outline-toggle{position:relative!important;inset:auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:46px!important;height:46px!important;margin:0!important;padding:12px 20px!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;background:transparent!important;color:#242a32!important;font:500 14px/1.3 Ppneuemontreal,Arial,sans-serif!important;text-align:left!important}
[data-mobile-outline-dock]>.case-mobile-outline-toggle svg{width:16px;height:16px;transition:rotate 180ms ease}
[data-mobile-outline-dock][data-dock-open=true]>.case-mobile-outline-toggle svg{rotate:180deg}
[data-mobile-outline-dock] [data-dock-list]{position:relative!important;display:block;margin:0!important;padding:0 20px 14px!important;max-height:min(60svh,calc(100dvh - 120px));overflow:auto;overscroll-behavior:contain;scrollbar-width:none}
[data-mobile-outline-dock] [data-dock-list][hidden]{display:none!important}
html:root body [data-mobile-outline-dock] :is(.case-page-outline-inner,.canvas-case-outline-inner){position:static!important;inset:auto!important;display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;transform:none!important;opacity:1!important;overflow:visible!important}
[data-mobile-outline-dock] .canvas-case-outline-kicker-1{display:none!important}
html:root body [data-mobile-outline-dock] a.canvas-case-outline-link-1{display:block;min-height:40px!important;font-size:14px!important;line-height:1.4!important;padding-block:10px!important}
.canvas-case-overlay[data-case-projects-open=true] [data-mobile-outline-dock],.canvas-case-overlay.is-fullscreen [data-mobile-outline-dock]{display:none!important}
}
@media(min-width:992px){[data-mobile-outline-dock]{display:none!important}}
@media(prefers-reduced-motion:reduce){[data-mobile-outline-dock],[data-mobile-outline-dock] svg{transition:none!important}}

html:root body .contact-modal .hero-h-n-tag.vertical{position:static!important;flex:0 0 auto!important;height:auto!important;min-height:0!important;max-height:none!important;align-self:stretch!important}
html:root body .contact-modal :is(.contact-modal-form,.contact-modal-box){height:auto!important;min-height:0!important;max-height:none!important;flex:0 0 auto!important;align-self:stretch!important}
html:root body .contact-modal .contact-modal-header-box{flex:0 0 auto!important;height:auto!important;min-height:0!important;max-height:none!important}
html:root body .contact-modal .contact-modal-label{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;white-space:normal!important}
html:has(body[data-portfolio-footer-in-view]){background-color:#8996a9!important}
html:root body .portfolio-footer{background:#8996a9!important}
html:root body .portfolio-footer-window{background-color:#8996a9!important;isolation:isolate}
@media(max-width:991px){
html:root body main .about-heroimg{position:sticky!important;top:0!important}
html:root body #about-navbar-mobile-control [data-mobile-nav-contact]:not([hidden]){left:calc(var(--shared-menu-button-left) - 84.8px)!important}
}
@media(max-width:767px){
html:root body .contact-modal>.contact-modal-container{justify-content:flex-start!important;align-items:stretch!important}
}
@media(max-width:360px){html:root body .contact-modal .contact-h{font-size:29px!important}}

html:root body .contact-modal .contact-h:focus,html:root body .contact-modal .contact-h:focus-visible{outline:none!important;box-shadow:none!important}
html:root body .contact-modal .tag-box-new{margin-top:12px;margin-bottom:0;max-width:100%}
html:root body .contact-modal .contact-modal-header-box{display:flex!important;flex-direction:column!important;align-items:flex-start!important}
@media(max-width:991px){
html:root body #about-navbar-mobile-control [data-mobile-nav-contact]:not([hidden]){left:calc(var(--shared-menu-button-left) - 78.98px)!important}
html:root body .about-stack-artwork [data-stack-inline-control]{position:relative!important;z-index:30!important;display:flex!important;margin:12px auto 10px!important;flex:none!important;border-color:#000!important;color:#000!important;background:#fff!important;isolation:isolate}
html:root body .about-stack-artwork [data-stack-inline-control]>svg{stroke:#000!important}
html:root body .canvas-case-overlay [data-mobile-outline-dock]{translate:0 -100%!important;opacity:0!important;visibility:hidden!important;transition:translate 240ms cubic-bezier(.22,1,.36,1),opacity 180ms ease,visibility 0s linear 240ms!important}
html:root body .canvas-case-overlay [data-mobile-outline-dock][data-dock-visible=true]{translate:0 0!important;opacity:1!important;visibility:visible!important;transition-delay:0s!important}
html:root body .canvas-case-overlay [data-mobile-outline-dock] [data-dock-list]{display:block!important;max-height:0!important;overflow:hidden!important;padding:0 20px!important;opacity:0;translate:0 -8px;transition:max-height 240ms cubic-bezier(.22,1,.36,1),opacity 180ms ease,translate 240ms cubic-bezier(.22,1,.36,1)}
html:root body .canvas-case-overlay [data-mobile-outline-dock][data-dock-open=true] [data-dock-list]{max-height:min(60svh,calc(100dvh - 120px))!important;overflow-y:auto!important;padding-bottom:14px!important;opacity:1;translate:0 0}
html:root body [data-mobile-outline-dock] .case-page-outline-inner,html:root body [data-mobile-outline-dock] .canvas-case-outline-inner{position:relative!important;padding-left:12px!important}
[data-dock-progress]{position:absolute;inset:0 auto 0 0;width:1px;background:#dfe3e8;pointer-events:none}
[data-dock-progress]>span{position:absolute;left:0;width:1.5px;min-height:20px;background:#6c7785;transition:top 160ms ease,height 160ms ease}
html:root body [data-mobile-outline-dock] a.active-outline{font-weight:500!important;color:#111!important}
}
@media(max-width:767px){
html:root body .contact-modal:is([data-a11y-open=true],[data-footer-dialog])>.contact-modal-container{padding:56px 24px 16px!important;gap:16px!important}
html:root body .contact-modal .hero-h-n-tag.vertical{gap:10px!important}
html:root body .contact-modal .contact-h{font-size:30px!important;line-height:1.08!important}
html:root body .contact-modal [data-contact-intro]{font-size:14px!important;line-height:1.35!important}
html:root body .contact-modal .contact-modal-form{gap:12px!important}
html:root body .contact-modal .portfolio-form-help{display:none!important}
html:root body .contact-modal .contact-modal-row{gap:12px!important}
html:root body .contact-modal .contact-modal-box{gap:6px!important}
html:root body .contact-modal .contact-modal-label{font-size:13px!important;line-height:1.25!important}
html:root body .contact-modal input.contact-modal-field{height:42px!important;min-height:42px!important;padding:9px 12px!important}
html:root body .contact-modal textarea.contact-modal-field{height:80px!important;min-height:80px!important;padding:9px 12px!important}
html:root body .contact-modal .strech-btn-wrap.contact-modl{gap:12px!important;margin-top:0!important}
html:root body .contact-modal .form-btn-streched{height:42px!important;min-height:42px!important;padding:9px 18px!important}
html:root body .contact-modal .contact-txt-wrap2.modal>.contact-email{font-size:13px!important}
html:root body .contact-modal .services-box{display:none!important}
}
@media(max-width:767px) and (max-height:740px){html:root body .contact-modal [data-contact-intro]{display:none!important}html:root body .contact-modal .contact-h{font-size:27px!important}}
@media(max-width:360px){html:root body .contact-modal .contact-txt-wrap2.modal{gap:10px!important}html:root body .contact-modal .contact-txt-wrap2.modal>.contact-email{font-size:12px!important}}
@media(max-width:767px) and (max-height:600px){html:root body .contact-modal:is([data-a11y-open=true],[data-footer-dialog])>.contact-modal-container{padding-top:52px!important;padding-bottom:12px!important;gap:12px!important}html:root body .contact-modal .contact-h{font-size:25px!important}html:root body .contact-modal input.contact-modal-field{height:38px!important;min-height:38px!important}html:root body .contact-modal textarea.contact-modal-field{height:60px!important;min-height:60px!important}html:root body .contact-modal .form-btn-streched{height:38px!important;min-height:38px!important}}
@media(prefers-reduced-motion:reduce){[data-mobile-outline-dock],[data-mobile-outline-dock] [data-dock-list],[data-dock-progress]>span{transition:none!important}}

/* Shared gallery gutters follow the case-study content and outer layout. */
html:root body :is([data-projects-index],[data-archive-snapshots]){display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box!important}
html:root body :is([data-projects-index],[data-archive-snapshots])>.archive-snapshots-content{width:100%!important;max-width:none!important;min-width:0!important;padding:0!important;margin:0!important}
html:root body :is([data-projects-index],[data-archive-snapshots]) .archive-snapshots-intro{width:calc(100% - 48px)!important;max-width:1100px!important;margin:0 auto 40px!important;padding:0!important;box-sizing:border-box!important}
html:root body :is([data-projects-index],[data-archive-snapshots]) :is(.projects-index-grid,.archive-snapshots-gallery,[data-project-filters],[data-project-result-count]){width:86.5%!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;padding-left:24px!important;padding-right:24px!important;box-sizing:border-box!important}
html:root body .canvas-case-overlay :is([data-projects-index],[data-archive-snapshots]) .archive-snapshots-intro{max-width:48rem!important;width:calc(100% - 80px)!important}
html:root body .canvas-case-overlay :is([data-projects-index],[data-archive-snapshots]) :is(.projects-index-grid,.archive-snapshots-gallery,[data-project-filters],[data-project-result-count]){width:100%!important;padding-left:40px!important;padding-right:40px!important}
html:root body [data-projects-index] .projects-index-stack{order:initial!important;position:relative!important;margin:0 auto 36px!important;width:100%!important;height:clamp(320px,38vw,540px)!important;max-height:540px!important;overflow:visible!important}
html:root body [data-projects-index] .projects-index-stack :is(.ps-study,.ps-showcase,.ps-stage){height:100%!important;max-height:none!important}
html:root body [data-projects-index] .projects-index-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:24px!important;row-gap:40px!important;align-items:start!important}
html:root body [data-projects-index] .projects-index-card{display:flex!important;flex-direction:column!important;gap:0!important;position:relative!important;min-width:0!important;width:100%!important;height:auto!important;max-width:100%!important;overflow:visible!important;align-items:stretch!important;text-align:left!important;background:transparent!important}
html:root body [data-projects-index] .projects-index-visual{position:relative!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;flex:none!important;overflow:hidden!important;border-radius:12px!important}
html:root body [data-projects-index] .projects-index-visual [data-case-hover]{display:none!important}
html:root body [data-projects-index] .projects-index-card-title{display:flex!important;align-items:flex-start!important;position:static!important;inset:auto!important;transform:none!important;translate:none!important;width:100%!important;min-height:0!important;height:auto!important;margin:14px 0 0!important;padding:0!important;gap:8px!important;font-size:20px!important;font-weight:500!important;line-height:1.25!important;color:#17191b!important;text-shadow:none!important;white-space:normal!important}
html:root body [data-projects-index] .projects-index-card-title img{width:20px!important;height:20px!important;flex:0 0 20px!important;object-fit:contain!important;margin:2px 0 0!important;filter:none!important}
html:root body [data-projects-index] .projects-index-card-title{justify-content:flex-start!important}
html:root body [data-projects-index] .projects-index-card-title img{display:none!important}
html:root body [data-projects-index] [data-project-card-tags],html:root body [data-projects-index] [data-project-result-count]{display:none!important}
html:root body [data-projects-index] [data-project-filters]{margin-bottom:24px!important}
html:root body [data-projects-index] [data-project-filter-count]{display:inline-block!important;margin-left:8px!important;font-size:.92em!important;line-height:inherit!important;font-weight:400!important;color:#72767d!important;font-variant-numeric:tabular-nums!important;pointer-events:none!important}
html:root body [data-projects-index] [data-project-filters] [aria-pressed=true] [data-project-filter-count]{color:#a8afb8!important}
@media(min-width:992px){html:root body [data-mobile-nav-contact]{display:none!important}}
html:root body [data-projects-index] [data-project-card-meta]{position:static!important;display:block!important;width:100%!important;padding:0!important;margin:0!important;background:none!important}
html:root body [data-projects-index] [data-project-description]{position:static!important;display:block!important;margin:8px 0 0!important;padding:0!important;font-family:inherit!important;font-size:16px!important;font-weight:400!important;line-height:1.45!important;color:#686b70!important;opacity:1!important;text-align:left!important;text-shadow:none!important}
html:root body [data-projects-index] [data-project-card-tags]{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:12px 0 0!important;padding:0!important}
html:root body [data-projects-index] [data-project-filters]{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:0!important;margin-bottom:24px!important}
html:root body [data-projects-index] [data-project-filter]{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;padding:7px 13px!important;margin:0!important;border:1px solid #dedfe2!important;border-radius:99px!important;background:#fff!important;color:#555a60!important;font-family:inherit!important;font-size:14px!important;font-weight:400!important;line-height:1.2!important;text-decoration:none!important;cursor:pointer!important;transition:background .16s,color .16s,border-color .16s!important}
html:root body [data-projects-index] [data-project-filter]:hover{background:#f0f2f4!important;color:#111!important;border-color:#b8bdc5!important}
html:root body [data-projects-index] [data-project-filters] [aria-pressed=true]{background:#202328!important;color:#fff!important;border-color:#202328!important}
html:root body [data-projects-index] [data-project-card-tags] [data-project-filter]{min-height:28px!important;padding:5px 9px!important;background:#f2f3f5!important;border-color:transparent!important;font-size:12px!important;color:#656b72!important}
html:root body [data-projects-index] [data-project-filter]:focus-visible{outline:2px solid #467bc8!important;outline-offset:3px!important}
html:root body [data-projects-index] [data-project-result-count]{font-size:13px!important;line-height:1.4!important;color:#85898e!important;margin-top:0!important;margin-bottom:24px!important}
html:root body [data-projects-index] .projects-index-card[data-project-filter-hidden=true]{display:none!important}
html:root body [data-archive-snapshots] .archive-snapshots-gallery{columns:3!important;column-gap:24px!important}
html:root body .case-page-layout:is([data-projects-index],[data-archive-snapshots])>.case-page-content.archive-snapshots-content>.case-page-hero.archive-snapshots-intro{width:100%!important;max-width:1148px!important;padding-left:24px!important;padding-right:24px!important;margin-left:auto!important;margin-right:auto!important}
html:root body .canvas-case-overlay .case-page-layout:is([data-projects-index],[data-archive-snapshots])>.case-page-content.archive-snapshots-content>.case-page-hero.archive-snapshots-intro{max-width:calc(48rem + 80px)!important;padding-left:40px!important;padding-right:40px!important}
@media(max-width:991px){
html:root body .case-page-layout:is([data-projects-index],[data-archive-snapshots])>.case-page-content.archive-snapshots-content>.case-page-hero.archive-snapshots-intro,html:root body .canvas-case-overlay .case-page-layout:is([data-projects-index],[data-archive-snapshots])>.case-page-content.archive-snapshots-content>.case-page-hero.archive-snapshots-intro{width:100%!important;max-width:none!important;padding-left:20px!important;padding-right:20px!important}
html:root body :is([data-projects-index],[data-archive-snapshots]){padding-top:24px!important}
html:root body :is([data-projects-index],[data-archive-snapshots]) .archive-snapshots-intro,html:root body .canvas-case-overlay :is([data-projects-index],[data-archive-snapshots]) .archive-snapshots-intro{width:calc(100% - 40px)!important;max-width:none!important;margin:0 auto 28px!important;padding:0!important}
html:root body :is([data-projects-index],[data-archive-snapshots]) :is(.projects-index-grid,.archive-snapshots-gallery,[data-project-filters],[data-project-result-count]),html:root body .canvas-case-overlay :is([data-projects-index],[data-archive-snapshots]) :is(.projects-index-grid,.archive-snapshots-gallery,[data-project-filters],[data-project-result-count]){width:100%!important;padding-left:20px!important;padding-right:20px!important}
html:root body [data-projects-index] .projects-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:14px!important;row-gap:28px!important}
html:root body [data-archive-snapshots] .archive-snapshots-gallery{columns:2!important;column-gap:14px!important}
html:root body [data-archive-snapshots] .archive-snapshot-slot{margin-bottom:14px!important}
html:root body [data-projects-index] .projects-index-stack{height:388px!important;max-height:388px!important;margin-bottom:28px!important}
html:root body [data-projects-index] .projects-index-stack :is(.ps-study,.ps-showcase,.ps-stage){height:320px!important;max-height:320px!important}
html:root body [data-projects-index] [data-stack-inline-control]{position:relative!important;z-index:2!important;display:flex!important;margin:12px auto!important;color:#000!important;border-color:#000!important;background:#fff!important}
html:root body [data-projects-index] .projects-index-card-title{font-size:17px!important;line-height:1.25!important;margin-top:10px!important;gap:6px!important}
html:root body [data-projects-index] .projects-index-card-title img{width:17px!important;height:17px!important;flex-basis:17px!important;margin-top:1px!important}
html:root body [data-projects-index] [data-project-description]{font-size:14px!important;line-height:1.4!important;margin-top:6px!important}
html:root body [data-projects-index] [data-project-card-tags]{gap:5px!important;margin-top:10px!important}
html:root body [data-projects-index] [data-project-card-tags] [data-project-filter]{font-size:11px!important;padding:5px 7px!important}
html:root body [data-projects-index] .projects-index-visual{border-radius:8px!important}



}

/* Launch review: preserve the reading layout while restoring its controls. */
@media(min-width:992px){
 html:root body .canvas-case-overlay:not(.is-fullscreen) .case-page-layout>.case-page-outline,
 html:root body .canvas-case-overlay:not(.is-fullscreen) .canvas-case-reading-grid>.canvas-case-outline{display:block!important}
 html:root body .canvas-case-overlay:not(.is-fullscreen) .canvas-case-header>a.canvas-case-rail-toggle[data-case-header-toggle]{display:inline-flex!important;position:relative!important;inset:auto!important;translate:none!important;transform:none!important;align-items:center!important;justify-content:center!important;flex:0 0 32px!important;width:32px!important;height:32px!important;min-height:32px!important;margin:0 8px 0 0!important;padding:0!important;border:0!important;border-radius:6px!important;background:transparent!important;color:#333!important;box-shadow:none!important;font-size:19px!important}
 html:root body .canvas-case-overlay:not(.is-fullscreen) .canvas-case-header>a.canvas-case-rail-toggle[data-case-header-toggle]{font-size:0!important;line-height:0!important}
 html:root body .canvas-case-overlay:not(.is-fullscreen) .canvas-case-header>a.canvas-case-rail-toggle[data-case-header-toggle]::after{display:none!important}
 html:root body .canvas-case-overlay .canvas-case-header>[data-case-header-toggle]:hover{background:rgba(0,0,0,.05)!important}
}
@media(max-width:767px){
 html:root body [data-b2b-explorations] .div-block-40{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:24px!important;width:100%!important;min-width:0!important;max-width:100%!important}
 html:root body [data-b2b-explorations] .div-block-40>.flex-block-11{flex:0 0 auto!important;width:100%!important;min-width:0!important;max-width:100%!important;margin-inline:0!important}
 html:root body [data-b2b-explorations] .flex-block-12{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:28px!important;width:100%!important;min-width:0!important;max-width:100%!important}
 html:root body [data-b2b-explorations] .flex-block-12>.flex-block-11{flex:0 0 auto!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;margin-inline:0!important}
 html:root body [data-b2b-explorations] .flex-block-11 :is(img,.imglabel){max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
 html:root body [data-b2b-explorations] .flex-block-11 img{width:100%!important;height:auto!important;object-fit:contain!important}
}
/* A focused topic remains visible until keyboard focus leaves it. */
html:root body .contact-modal .tag-box-new>a:focus{width:auto!important;height:auto!important;opacity:1!important;visibility:visible!important;outline:2px solid currentColor;outline-offset:3px}
html:root body .contact-modal .tag-box-new:focus-within>a:not(:focus){visibility:hidden!important}
/* Both white resting links and black hover links meet 4.5:1 on these tones. */
html:root body .portfolio-footer-window{background-color:#68778a!important;background-image:radial-gradient(ellipse at 20% 20%,rgba(255,255,255,.008),transparent 70%),linear-gradient(115deg,#65778a,#68778a)!important}
html:root body .portfolio-footer-window .portfolio-footer-link{color:#fff!important;opacity:1!important}
html:root body .portfolio-footer-window .portfolio-footer-link:is(:hover,:focus-visible){color:#000!important;opacity:1!important}
html:root body .portfolio-footer-window :is(.portfolio-footer-column-title,.portfolio-footer-heading,.portfolio-footer-title){color:#fff!important;opacity:1!important}
html:root body .portfolio-footer-window :is(.portfolio-footer-email,.portfolio-footer-copyright){color:#fff!important;opacity:1!important}
html:root body .portfolio-footer-window :is(h2,h3){color:#fff!important;opacity:1!important}
