/* Runtime replacements and requested shared visual adjustments. */
:root{--media-corner-radius:6px;--media-fade-duration:320ms}
html{scrollbar-gutter:stable;scroll-behavior:smooth}
button.js-hamburger,button.js-close-responsive-nav{appearance:none;background:transparent;border:0;color:inherit;font:inherit;cursor:pointer}
a:focus-visible,button:focus-visible,.zoomable:focus-visible{outline:2px solid #2280a4;outline-offset:4px}
.grid--main{visibility:visible}.grid__item-image{opacity:1!important;visibility:visible!important}.project-module img{max-width:100%}.zoomable{cursor:zoom-in}
.native-video video{display:block;width:100%;height:auto;max-height:90vh;background:#191919}.contact-link{display:inline-block;font:400 18px/26px FS,sans-serif;color:#2280a4;border-bottom:1px solid #2280a4;padding:10px 0}
.native-video .embed-aspect-ratio video{position:absolute;inset:0;height:100%;max-height:none}
#lightbox:not([open]){display:none}#lightbox{border:0;padding:48px 20px 20px;max-width:95vw;max-height:95vh;background:white}#lightbox::backdrop{background:rgba(255,255,255,.94)}#lightbox img{display:block;max-width:90vw;max-height:80vh;object-fit:contain}#lightbox .lightbox-close{position:absolute;right:8px;top:2px;width:44px;height:44px;border:0;background:transparent;font:32px/44px sans-serif;cursor:pointer}
img,video,#lightbox,.grid__item-filler{border-radius:var(--media-corner-radius)}
.grid__image-caption{border-radius:0 0 var(--media-corner-radius) var(--media-corner-radius)}
:is(.project-covers,.other-projects) .project-cover :is(.cover,.cover-image,.cover-image-wrap,.details),
:is(.project-covers,.other-projects) .project-cover .cover-image::after{border-radius:var(--media-corner-radius)}
.project-navigation{float:none;clear:both;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:32px;width:100%;margin:48px 0 0;padding:28px 0;border-top:1px solid #e5e5e5;font:400 18px/26px FS,sans-serif;text-align:left}
.project-navigation a{display:block;min-width:0;color:#2280a4;text-decoration:none}
.project-navigation__label{display:block;margin-bottom:6px;color:#999;font:600 14px/20px FS,sans-serif}
.project-navigation__name{display:block;overflow-wrap:anywhere}
.project-navigation__next{text-align:right}
.project-navigation a:hover .project-navigation__name{text-decoration:underline}
.standard-modules .hangprinter-portrait{max-width:calc(50% - 20px);margin-inline:auto;align-self:flex-start}
.spa-title-prefix{white-space:nowrap}.spa-title-detail{display:block}
@media(max-width:1240px){.standard-modules .modules .sara-process>.tree-wrapper{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.standard-modules .modules .sara-process>.tree-wrapper>.tree-child-wrapper{border:0;min-width:0;width:100%}.standard-modules .sara-process .project-module-text{width:100%!important}}
@media(max-width:932px){.project-navigation{width:90%;margin-inline:5%}}
@media(max-width:540px){.project-navigation{gap:12px;margin-top:28px;padding:24px 0;font-size:16px;line-height:22px}}
.standard-modules .about-intro>.tree-wrapper{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(36px,5vw,80px);max-width:1380px}
.standard-modules .about-intro>.tree-wrapper>.tree-child-wrapper{border:0;min-width:0}
.about-closing{clear:both;margin-top:64px;padding:32px 0 12px;border-top:1px solid #e5e5e5;font:400 18px/28px FS,sans-serif;color:#a0a0a0}
.about-closing h2{margin:0 0 16px;font:300 32px/1.2 FS,sans-serif;color:#2280a4}
.about-closing p{max-width:680px;margin:0 0 18px}
.about-closing .contact-link{padding:6px 0}
.about-closing .contact-link span{margin-left:4px}
@media(max-width:900px){.standard-modules .modules .about-intro>.tree-wrapper{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}.standard-modules .about-intro .project-module-image{float:none}.about-closing{margin-top:40px}}
@media(max-width:540px){.about-closing{padding:24px 5% 8px;font-size:14px;line-height:20px}.about-closing h2{font-size:25px}.about-closing .contact-link{font-size:16px;line-height:24px}}
.project-module-image img{height:auto}
.logo img,.logo-secondary img{width:120px;height:auto}
.standard-modules #project-modules>.project-module-image{margin-left:0;margin-right:auto}
.standard-modules #project-modules>.project-module-image img{margin-left:0;margin-right:auto}
@media(max-width:932px){.logo img{width:auto;height:30px}.standard-modules #project-modules>.project-module-image{margin-left:5%;max-width:90%}}
.project-covers .project-cover{container-type:inline-size}
.project-covers .project-cover .title{max-inline-size:22ch;font-size:clamp(18px,6.5cqw,32px);line-height:1.15;white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none;text-wrap:balance}
.project-covers .cover-title-name,.project-covers .cover-title-description{display:block;text-wrap:balance}
.project-covers .cover-title-description{margin-block-start:.12em}
.project-covers .cover-title-term{white-space:nowrap}
.project-covers .project-cover .date{margin-block-start:.35em;font-size:clamp(13px,3.6cqw,18px);line-height:1.4}
.standard-modules .media-frame{position:relative;display:block;width:var(--media-width);max-width:100%;aspect-ratio:var(--media-ratio);margin-inline:auto;overflow:hidden;border-radius:var(--media-corner-radius)}
.standard-modules #project-modules .media-frame>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;margin:0;object-fit:contain}
.standard-modules #project-modules>.project-module-image>.media-frame{margin-inline-start:0}
.media-frame.media-error{background:#f4f5f6}
.media-enhanced .media-frame::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:#f4f5f6;opacity:0;transition:opacity var(--media-fade-duration) ease-out}
.media-enhanced .grid__item-filler{background-color:transparent;transition:background-color var(--media-fade-duration) ease-out}
.media-enhanced .media-pending::before{opacity:1}
.media-enhanced .media-pending .grid__item-filler{background-color:#f4f5f6}
.media-enhanced .media-frame>img,.media-enhanced .grid__item-image{transition:opacity var(--media-fade-duration) ease-out}
.media-enhanced .media-pending img{opacity:0!important;visibility:hidden!important}
.standard-modules .modules .sara-outcomes>.tree-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.standard-modules .sara-outcomes .tree-child-wrapper{border:0;min-width:0}
.standard-modules .modules .sara-outcomes .project-module-image{padding:0;width:100%}
.standard-modules .sara-outcomes .media-frame{width:100%}
.standard-modules #project-modules .sara-process .grid--main{margin-inline:-10px}
@media(max-width:932px){.standard-modules .sara-process .project-module-media_collection{width:90%;margin-inline:5%}.standard-modules .modules .sara-outcomes{width:90%;margin-inline:5%}}
@media(max-width:540px){.standard-modules .modules .sara-outcomes>.tree-wrapper{grid-template-columns:minmax(0,1fr)}}
.standard-modules #project-modules>.aligned-media .grid--main{margin-inline:-10px}
@media(max-width:932px){.standard-modules .modules #project-modules>.aligned-media{width:90%;margin-inline:5%}}
.media-enhanced .project-covers .cover-image{background-color:transparent;transition:background-color var(--media-fade-duration) ease-out}
.media-enhanced .project-covers .project-cover:is(.media-pending,.media-error) .cover-image{background-color:#f4f5f6}
.media-enhanced .project-covers .cover__img{transition:opacity var(--media-fade-duration) ease-out}
.media-enhanced .project-covers .project-cover.media-pending .details-wrap,.media-enhanced .project-covers .project-cover.media-pending .cover-image::after{opacity:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Full-width media meets the viewport on small screens. Only those outer
   corners are square; inset media and the gallery's inner corners stay rounded. */
@media(max-width:932px){
  html{scrollbar-gutter:auto}
  .standard-modules .modules #project-modules .edge-gallery{width:100%;max-width:none;margin-inline:0}
  .edge-gallery :is(figcaption,.rich-text).media-edge-left{padding-left:5vw}
  .edge-gallery :is(figcaption,.rich-text).media-edge-right{padding-right:5vw}
  .standard-modules #project-modules .project-module-media_collection[data-id="m653fb004b4c17558a9f8e4fd031e3ed7b4849d402313dcaad78c6"]>.grid--main{margin-inline:-10px}
  .media-edge-left,.media-edge-left::after{border-top-left-radius:0!important;border-bottom-left-radius:0!important}
  .media-edge-right,.media-edge-right::after{border-top-right-radius:0!important;border-bottom-right-radius:0!important}
}


/* The lightbox reserves the selected image's final area while it decodes. */
#lightbox .lightbox-frame{position:relative;overflow:hidden;background:#f4f5f6;border-radius:var(--media-corner-radius)}
#lightbox .lightbox-frame>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;opacity:0;transition:opacity var(--media-fade-duration) ease-out}
#lightbox .lightbox-frame.lightbox-ready>img{opacity:1}
#lightbox .lightbox-status{position:absolute;inset:0;display:none;align-items:center;justify-content:center;margin:0;padding:20px;text-align:center;color:#666;font:400 16px/1.5 FS,sans-serif}
#lightbox .lightbox-frame.lightbox-error .lightbox-status{display:flex}
