.portfolio-page{background:var(--white);color:var(--ink)}.jobs-page{background:var(--sage);color:var(--ink)}.portfolio-intro{align-items:flex-start;min-height:356px;padding:10.9vw 0 4.6vw;display:flex}.portfolio-intro h1{font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 1.5vw;font-weight:500;line-height:1.1}.portfolio-intro p{max-width:870px;font-size:var(--text-base);line-height:1.55}.project-gallery{padding-bottom:6.5vw}.project-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:clamp(20px,2vw,32px);display:grid}.project-card{color:inherit;grid-column:span 6;display:block;position:relative}.project-card figure{margin:0}.project-card img{object-fit:cover;filter:saturate(.82);width:100%;height:100%;transition:filter .35s,transform .35s;display:block}.project-card figure{height:100%;overflow:hidden}.project-card figcaption{font-size:var(--text-sm);padding-top:.65rem;line-height:1.2}.project-card:hover img,.project-card:focus-visible img{filter:saturate();transform:scale(1.02)}.project-card:hover figcaption,.project-card:focus-visible figcaption,.portfolio-underlined-link:hover,.portfolio-underlined-link:focus-visible,.portfolio-form-link:hover,.portfolio-form-link:focus-visible,.job-more:hover,.job-more:focus-visible,.jobs-cta a:hover,.jobs-cta a:focus-visible{opacity:.68}.project-tall,.project-wide-image{aspect-ratio:1.5}.project-shallow{aspect-ratio:2.5}.project-standard{aspect-ratio:1.5}.project-medium{aspect-ratio:1.95}.project-full{grid-column:1/-1}.project-wide{grid-column:span 6}.project-seven{grid-column:span 7}.project-five{grid-column:span 5}.project-eight{grid-column:span 8}.project-four{grid-column:span 4}.portfolio-contact-cta,.jobs-page,.jobs-cta{background:var(--sage);color:var(--ink)}.portfolio-contact-cta{padding:clamp(56px,7vw,96px) 0 clamp(48px,6vw,88px)}.project-cta-content{max-width:42rem}.project-cta-content h2{font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 clamp(16px,1.5vw,24px);font-weight:500;line-height:1.12}.project-cta-lead{font-size:var(--text-md);color:#292929d1;margin:0 0 clamp(12px,1.2vw,20px);line-height:1.5}.project-cta-content p{font-size:var(--text-base);color:#292929c7;max-width:var(--measure);margin:0 0 clamp(20px,2vw,32px);line-height:1.65}.project-cta-phone{color:inherit;text-underline-offset:.15em;text-decoration:underline #29292959}.project-cta-phone:hover,.project-cta-phone:focus-visible{text-decoration-color:currentColor}.portfolio-underlined-link,.portfolio-form-link,.job-more,.jobs-cta a{width:fit-content;font-size:var(--text-sm);border-bottom:1px solid;line-height:1.4;display:inline-block}.project-cta-content .portfolio-form-link{font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;margin-top:clamp(8px,1vw,16px)}body:has(.jobs-page),body:has(.contact-page){background:var(--sage)}body:has(.jobs-page) .site-header,body:has(.portfolio-page) .site-header,body:has(.contact-page) .site-header{background:var(--white);color:var(--ink)}body:has(.jobs-page) .logo img,body:has(.contact-page) .logo img{mix-blend-mode:multiply}body:has(.jobs-page) .site-footer,body:has(.portfolio-page) .site-footer,body:has(.contact-page) .site-footer,body:has(.jobs-page) .site-footer.page-section,body:has(.portfolio-page) .site-footer.page-section,body:has(.contact-page) .site-footer.page-section{background:var(--ink);color:var(--white)}.jobs-page{padding-bottom:0}.jobs-list{padding:10.8vw 0 5vw}.job-card{max-width:700px}.job-card+.job-card{margin-top:3.5vw}.job-copy{max-width:700px}.job-city{font-size:var(--text-base);margin-bottom:1.4vw;display:inline-block}.job-copy h2{font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 1.15vw;font-weight:500;line-height:1.12}.job-copy h2 a{color:inherit}.job-copy h2 a:hover,.job-copy h2 a:focus-visible{opacity:.68}.job-copy p{max-width:700px;font-size:var(--text-base);margin:0 0 1.4rem;line-height:1.55}.job-more{font-size:var(--text-sm)}.jobs-cta{padding:5vw 0}.jobs-cta-content{grid-template-columns:1fr 1fr;align-items:center;gap:3vw 8vw;display:grid}.jobs-cta h2{font-family:var(--font-display);font-size:var(--text-xl);margin:0;font-weight:500}.jobs-cta p{font-size:var(--text-base);margin:0;line-height:1.55}.jobs-cta-links{grid-column:2;gap:2.5rem;display:flex}.jobs-cta-links a{font-size:var(--text-sm)}@media (width<=767px){.portfolio-intro{min-height:0;padding:var(--mobile-section) 0 var(--mobile-section-compact)}.portfolio-intro h1{font-size:var(--text-xl);margin-bottom:6vw}.portfolio-intro p{font-size:var(--text-base)}.project-gallery{padding-bottom:var(--mobile-section)}.project-grid{gap:var(--mobile-section-compact);grid-template-columns:1fr}.project-card,.project-full,.project-wide,.project-seven,.project-five,.project-eight,.project-four{grid-column:1}.project-card{aspect-ratio:auto}.project-card figure{aspect-ratio:8/5}.project-card figcaption{font-size:var(--text-sm);padding-top:3vw}.project-shallow figure,.project-medium figure{aspect-ratio:8/5}.portfolio-contact-cta{padding:var(--mobile-section) 0 var(--mobile-section-compact)}.project-cta-content h2{font-size:var(--text-xl);margin-bottom:5vw}.project-cta-lead{font-size:var(--text-base);margin-bottom:4vw}.project-cta-content p{font-size:var(--text-base);margin-bottom:8vw}.project-cta-content .portfolio-form-link{font-size:var(--text-sm)}.jobs-page{padding-bottom:0}.jobs-list{padding:var(--mobile-section-compact) 0 var(--mobile-section)}.job-card+.job-card{margin-top:var(--mobile-section-compact)}.job-city{font-size:var(--text-base);margin-bottom:4vw}.job-copy h2{font-size:var(--text-xl);margin-bottom:4vw}.job-copy p{font-size:var(--text-base);margin-bottom:5vw}.job-more{font-size:var(--text-sm)}.jobs-cta{padding:var(--mobile-section-compact) 0 var(--mobile-section)}.jobs-cta-content{align-items:flex-start;gap:var(--mobile-stack);flex-direction:column;display:flex}.jobs-cta h2{font-size:var(--text-xl)}.jobs-cta p{font-size:var(--text-base)}.jobs-cta-links{gap:var(--mobile-stack);flex-direction:column;display:flex}.jobs-cta-links a{font-size:var(--text-sm)}}@media (prefers-reduced-motion:reduce){.project-card img{transition-duration:.01ms}}
