@font-face{font-family:futura-pt;src:url('/assets/futura-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:futura-pt;src:url('/assets/futura-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:futura-pt;src:url('/assets/futura-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
html,body{background-color:#398370!important;overscroll-behavior:none}
html{min-height:100%}
body{margin:0;min-height:100vh;min-height:100dvh}
#siteWrapper{background-color:#398370;min-height:100vh;min-height:100dvh}
body,button{font-family:futura-pt,sans-serif}
body.replica-lightbox-open{overflow:hidden}
/* Single-photo projects retain the photograph's proportions and compact captions. */
#page .replica-single-project{display:block;min-height:0;background:#398370;color:#fff}
.replica-project-inner{padding:28px var(--sqs-site-gutter,2vw) 56px}
.replica-project-figure{width:min(100%,960px,calc(min(54vh,560px) * var(--project-image-ratio)));margin:0 auto;text-align:left}
.replica-project-image{display:block;width:100%;max-width:100%;margin:0 auto;cursor:zoom-in}
.replica-project-image img{display:block;width:100%;height:auto;max-width:100%;max-height:min(54vh,560px);object-fit:contain}
.replica-project-image:focus-visible{outline:2px solid #fff;outline-offset:6px}
.replica-project-caption{margin-top:24px}
/* Keep the page h1 semantics, using the same responsive type scale as gallery h2 captions. */
.replica-project-caption h1{--heading-1-size-value:var(--heading-2-size-value);margin:0;color:#fff;text-transform:uppercase;overflow-wrap:anywhere}
.replica-project-caption a{color:inherit;text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
@media(max-width:767px){.replica-project-inner{padding:24px var(--sqs-mobile-site-gutter,6vw) 40px}.replica-project-image img{max-height:60svh}.replica-project-caption{margin-top:20px}.replica-project-figure{width:min(100%,960px,calc(60svh * var(--project-image-ratio)))}}
/* A quiet divider above populated footers, preserving the existing green. */
/* Align the desktop column headings independently of their content heights. */
@media(min-width:768px){
  #footer-sections :is(.fe-block-50bb5be3643116b64051,.fe-block-b58ef88b255cdd94f2fe) .sqs-block{justify-content:flex-start}
  #footer-sections :is(.fe-block-50bb5be3643116b64051,.fe-block-b58ef88b255cdd94f2fe) .sqs-block-alignment-wrapper{align-items:flex-start}
}
#footer-sections .page-section:first-child .content-wrapper{padding-top:44px!important}
#footer-sections .page-section:first-child .content-wrapper::before{content:"";position:absolute;top:0;left:0;right:0;width:calc(100% - var(--sqs-site-gutter,2vw) * 2);max-width:var(--sqs-site-max-width,1500px);height:1px;margin-inline:auto;background:rgba(255,255,255,.2);pointer-events:none}
@media(max-width:767px){#footer-sections .page-section:first-child .content-wrapper::before{width:calc(100% - var(--sqs-mobile-site-gutter,6vw) * 2)}}
.gallery-grid-item-wrapper,.gallery-strips-item-wrapper{opacity:1!important;visibility:visible!important}
.gallery-grid-wrapper{grid-template-columns:repeat(4,minmax(0,1fr));gap:2vw}
.gallery-grid-item{margin:0}.gallery-strips-wrapper{display:flex;flex-wrap:wrap;gap:15px;opacity:1!important}.gallery-strips-item{position:relative!important;transform:none!important;margin:0;opacity:1!important}.gallery-strips-item-wrapper{height:100%;overflow:hidden}.gallery-strips-item img{width:100%;height:100%;object-fit:cover}
.header-nav-folder-title[aria-expanded=true]+.header-nav-folder-content{opacity:1;visibility:visible;pointer-events:auto}
/* Keep the desktop links together; retain the original mobile header. */
@media(min-width:768px){
#header .header-menu{display:none}
#header .header-display-mobile,#header .header-display-desktop .header-burger{display:none!important}
#header .header-display-desktop{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:100%;gap:20px}
#header .header-display-desktop .header-title-nav-wrapper{display:contents}
#header .header-display-desktop .header-title{grid-column:1;grid-row:1;width:auto;min-width:0;margin:0;text-align:left}
#header .header-display-desktop .header-nav{display:block!important;grid-column:2;grid-row:1;position:static;transform:none;width:max-content;flex:none;margin:0!important}
#header .header-display-desktop .header-nav-list{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:clamp(24px,3.2vw,52px);white-space:nowrap}
#header .header-display-desktop .header-nav-item{margin:0!important;flex:0 0 auto}
#header .header-display-desktop .header-nav-item>a,#header .header-display-desktop .header-nav-folder-title,#header .header-display-desktop .header-actions-action--cta a,#header .header-display-desktop .header-nav-folder-content a{font:500 clamp(24px,3vw,36px)/1.4 futura-pt,sans-serif!important;letter-spacing:clamp(2px,.32vw,4.8px)!important;text-transform:uppercase;white-space:nowrap}
#header .header-display-desktop .header-title-logo img{max-width:100%;height:auto}
#header .header-display-desktop .header-actions{display:flex!important;grid-column:3;grid-row:1;justify-self:end;width:auto;flex:none;margin:0}
#header .header-display-desktop .header-actions-action--cta{display:flex!important;align-items:center}
/* Floating project menu, with a continuous pointer path from the trigger. */
#header .header-display-desktop .header-nav-item--folder{position:relative}
#header .header-display-desktop .header-nav-folder-content{display:block;position:absolute;top:100%;left:-18px;right:auto;min-width:228px;width:max-content;box-sizing:border-box;margin-top:12px;padding:10px;background:#398370;border:1px solid rgba(255,255,255,.2);border-radius:0;box-shadow:0 12px 30px rgba(0,0,0,.16),0 3px 8px rgba(0,0,0,.06);text-align:left;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility .15s;z-index:20}
#header .header-display-desktop .header-nav-folder-content::before{content:"";position:absolute;inset:-13px -1px auto;height:13px}
#header .header-display-desktop .header-nav-item--folder:not([data-dropdown-dismissed]):hover .header-nav-folder-content,#header .header-display-desktop .header-nav-folder-title[aria-expanded="true"]+.header-nav-folder-content{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
#header .header-display-desktop .header-nav-folder-content a{display:flex;align-items:center;min-height:44px;box-sizing:border-box;padding:10px 14px;margin:0;border-radius:0;text-transform:uppercase;color:#fff;text-align:left;white-space:nowrap;transition:background-color .15s ease}
#header .header-display-desktop .header-nav-folder-content a:hover,#header .header-display-desktop .header-nav-folder-content a:focus-visible{background:rgba(255,255,255,.1)}
#header .header-display-desktop .header-nav-folder-content a:focus-visible{outline:1px solid rgba(255,255,255,.75);outline-offset:-1px}
#header .header-display-desktop .header-nav-folder-item-content{background-image:none;text-decoration:none}
#header .header-display-desktop .header-nav-folder-content a[aria-current="page"] .header-nav-folder-item-content{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
}
#header .header-actions-action--cta a,#header .header-menu-cta a{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;color:#fff!important;min-width:0}
#header .header-actions-action--cta a:hover,#header .header-menu-cta a:hover{text-decoration:underline;text-underline-offset:.2em;opacity:1}
@media(max-width:767px){
#header .header-display-mobile .header-title-logo a{height:auto!important;max-height:none!important}
#header .header-display-mobile .header-title-logo img{height:64px!important;width:auto!important;max-height:none!important;max-width:100%!important}
#header .header-menu-nav-folder[data-folder="root"] .header-menu-nav-item a,#header .header-menu-cta a{font:500 8.5vw/1 futura-pt,sans-serif!important;letter-spacing:.15em!important;text-transform:uppercase;white-space:nowrap}
#header .header-menu-cta a{margin-bottom:calc(48px + env(safe-area-inset-bottom,0px))}
}
.header-menu{height:100dvh;box-sizing:border-box}
.header-menu-nav-folder{overscroll-behavior:contain}
body.header--menu-open #header .header-display-mobile .top-bun,body.header--menu-open #header .header-display-mobile .bottom-bun{background-color:white!important}

/* A four-second branded entrance with a more compact mobile layout. */
.replica-intro{position:fixed;inset:0;z-index:100001;display:grid;place-items:center;background:#398370;color:#fff;pointer-events:none;opacity:1;transition:opacity .8s cubic-bezier(.22,1,.36,1)}
.replica-intro.is-leaving{opacity:0}
.replica-intro-inner{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px}
.replica-intro-logo{width:clamp(120px,12vw,168px);height:auto;display:block;margin-bottom:32px;animation:intro-arrive 1.1s cubic-bezier(.22,1,.36,1) both}
.replica-intro-copy{margin:0;font:400 clamp(28px,3.2vw,46px)/1.6 futura-pt,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.replica-intro-copy span{display:block;animation:intro-arrive 1.1s cubic-bezier(.22,1,.36,1) both}
.replica-intro-copy span:nth-child(1){animation-delay:.18s}
.replica-intro-copy span:nth-child(2){animation-delay:.36s}
.replica-intro-copy span:nth-child(3){animation-delay:.54s}
.replica-intro-copy span:nth-child(4){animation-delay:.72s;margin-top:24px;font-size:.65em;letter-spacing:.22em;color:#fff}
@keyframes intro-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:767px){
.replica-intro{transition-duration:.55s}
.replica-intro-inner{padding:24px 20px}
.replica-intro-logo{width:104px;margin-bottom:24px;animation-duration:.65s}
.replica-intro-copy{font-size:clamp(20px,5.6vw,28px);line-height:1.65;letter-spacing:.12em}
.replica-intro-copy span{animation-duration:.65s}
.replica-intro-copy span:nth-child(1){animation-delay:.1s}
.replica-intro-copy span:nth-child(2){animation-delay:.2s}
.replica-intro-copy span:nth-child(3){animation-delay:.3s}
.replica-intro-copy span:nth-child(4){animation-delay:.4s;margin-top:18px;font-size:.75em;letter-spacing:.18em}
}
@media(max-width:767px) and (max-height:460px){
.replica-intro-inner{padding:16px}
.replica-intro-logo{width:80px;margin-bottom:16px}
.replica-intro-copy{font-size:20px;line-height:1.35}
.replica-intro-copy span:nth-child(4){margin-top:12px}
}

.replica-lightbox{border:0;padding:0;width:100vw;height:100vh;max-width:none;max-height:none;background:rgba(0,0,0,.96);color:white}.replica-lightbox::backdrop{background:#000}.replica-lightbox img{position:absolute;inset:5vh 6vw;width:88vw;height:85vh;object-fit:contain}.replica-lightbox button{position:absolute;background:transparent;border:0;color:white;font:36px sans-serif;cursor:pointer;z-index:1;padding:12px}.replica-lightbox .close{right:14px;top:10px}.replica-lightbox .prev{left:10px;top:45%}.replica-lightbox .next{right:10px;top:45%}.replica-lightbox p{position:absolute;bottom:0;width:100%;text-align:center;letter-spacing:2px}
@media(max-width:991px) and (min-width:768px){.gallery-grid-wrapper{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.gallery-grid-wrapper{grid-template-columns:repeat(2,minmax(0,1fr));gap:2vw}.replica-lightbox .prev{left:0}.replica-lightbox .next{right:0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Readable legal copy, using the existing site colors and typeface. */
#page .replica-privacy{display:block;min-height:0;color:#fff;background:#398370}.replica-privacy-copy{max-width:1000px;margin:auto;padding:36px var(--sqs-site-gutter,2vw) 64px}.replica-privacy-copy h1{font:500 clamp(28px,3vw,38px)/1.3 futura-pt,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin:0 0 24px}.replica-privacy-copy h2{font:500 22px/1.35 futura-pt,sans-serif;letter-spacing:.05em;text-transform:uppercase;margin:36px 0 16px}.replica-privacy-copy p{font:400 18px/1.65 futura-pt,sans-serif;letter-spacing:.02em;text-transform:none;margin:0 0 16px;overflow-wrap:anywhere}.replica-privacy-copy a{color:inherit;text-decoration:underline;text-underline-offset:.15em}.replica-privacy-copy a:focus-visible{outline:2px solid #fff;outline-offset:3px}@media(max-width:767px){.replica-privacy-copy{padding:24px var(--sqs-mobile-site-gutter,6vw) 44px}.replica-privacy-copy h2{font-size:19px}.replica-privacy-copy p{font-size:17px}}

.replica-privacy-copy h1,.replica-privacy-copy h2{color:#fff}
