/* Responsive composition, readable text, and the uncropped original photograph. */
.pg4-site{--pg4-max:2400px;font-size:22px;line-height:1.65}
.pg4-site :is(p,li,dt,dd,label,figcaption,.pg4-kicker,.pg5-small,.pg5-photo-credit,.pg4-crumbs,.pg-footer-bottom,.pg-brand-city){line-height:1.65}
.pg4-site :is(input,select,textarea,button,.pg4-button,.pg-button,.pg-header-contact,.pg4-link,.pg-text-link){font-size:22px!important}
.pg4-site [role=status]{font-size:22px!important}
.pg4-site .pg-header-contact{flex-shrink:0;white-space:nowrap}
.pg4-site :is(.pg5-service-choice,.pg5-pricing,.pg5-work,.pg5-equipment,.pg5-more-services,.pg5-about-hero,.pg5-about-intro,.pg5-photo-strip,.pg5-expertise-section,.pg5-certificates,.pg5-journal,.pg5-journal-hero,.pg5-photo-credit,.pg6-price){max-width:var(--pg4-max)}
.pg4-site :is(.pg5-benefits,.pg5-about-callout){padding-inline:max(var(--pg-gutter),calc((100vw - 2240px)/2))}
.pg4-site :is(.pg5-service-hero h1,.pg5-about-hero h1,.pg4-hero h1){overflow-wrap:normal;word-break:normal;hyphens:none}
.pg4-site .pg5-service-hero-copy{width:57%;max-width:none;padding:48px var(--pg-gutter);margin-left:max(0px,calc((100vw - 2400px)/2))}
.pg4-site .pg5-service-hero h1{font-size:clamp(42px,4.6vw,88px)!important;max-width:18ch;text-wrap:initial}
.pg4-site .pg5-service-hero{min-height:520px}
.pg4-site .pg5-service-photo{object-position:70% 55%}
.pg4-site .pg5-service-hero:before{background:linear-gradient(90deg,var(--pg-paper) 0%,#f7f6f2f5 28%,#f7f6f2bc 43%,#f7f6f200 68%)}
.pg4-site .pg5-about-hero h1>span{margin-left:0}
.pg4-site .pg5-about-hero h1{max-width:none}
.pg4-site .pg5-about-intro .pg4-prose{max-width:65ch}
.pg4-site .pg5-about-intro{align-items:start}
.pg4-site .pg5-about-intro figure img{aspect-ratio:1.55;max-height:580px}
.pg4-site[data-template=work-index] .pg4-hero{padding-bottom:28px}
.pg4-site[data-template=work-index] .pg4-hero .pg4-crumbs{margin-bottom:24px}
.pg4-site[data-template=work-index] .pg4-hero .pg4-kicker{display:none}
.pg4-site[data-template=work-index] .pg4-lead{max-width:none;margin-top:16px;font-size:clamp(21px,1.5vw,27px)}
.pg4-site[data-template=work-index] .pg4-brand-section{padding-block:0 12px}
.pg4-site[data-template=work-index] .pg4-brand-section h2{margin-bottom:16px}
.pg4-site[data-template=work-index] .pg4-brands{padding-block:0 16px}
/* Draw the disclosure at the same optical size in every font and zoom level. */
.pg4-site .pg-nav>ul>li:has(>ul)>a{display:inline-flex;align-items:center;gap:10px}
.pg4-site .pg-nav>ul>li:has(>ul)>a:after{content:'';display:block;width:12px;height:12px;box-sizing:border-box;border:0;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transform:none;margin:0;flex-shrink:0;transition:transform .2s}
.pg4-site .pg-nav>ul>li:has(>ul):is(:hover,:focus-within)>a:after{transform:rotate(180deg)}
@media(min-width:768px){
 .pg4-site .pg-hero{aspect-ratio:1672/941;height:auto;min-height:0;max-height:none;background:#162a3d}
 .pg4-site .pg-hero-photo{object-fit:contain;object-position:center}
 .pg4-site .pg-hero h1{font-size:min(8.5vw,15svh);padding-top:24px}
 .pg4-site .pg-hero-copy{width:46%;padding-top:14px;padding-bottom:24px}
 .pg4-site .pg-hero-copy p{font-size:clamp(22px,2vw,32px);margin-bottom:24px}
 .pg4-site .pg4-hero-split .pg4-hero-media{max-height:min(580px,65svh);width:100%;aspect-ratio:1.4}
}
@media(max-width:1199px){
 .pg4-site .pg-nav>ul>li:has(>ul)>a{display:flex;justify-content:space-between}
 .pg4-site .pg-nav>ul>li:has(>ul)>a:after{display:none}
 .pg4-site .pg5-service-hero-copy{width:65%;padding:40px var(--pg-gutter)}
}
@media(min-width:1200px) and (max-width:1599px){
 .pg4-site .pg-nav{position:absolute;top:100%;left:0;right:0;background:var(--pg-paper);padding:12px var(--pg-gutter) 24px;border-bottom:1px solid var(--pg-line);display:none;max-height:calc(100dvh - var(--pg-header-height,124px) - 12px);overflow:auto}
 .pg4-site .pg-nav.pg-open{display:block}
 .pg4-site .pg-nav>ul{display:block}
 .pg4-site .pg-nav>ul>li>a{display:flex;white-space:normal;font-size:23px;padding:14px 0;border-bottom:1px solid var(--pg-line)}
 .pg4-site .pg-nav>ul>li:has(>ul)>a:after{display:none}
 .pg4-site .pg-nav ul ul{display:block;position:static;box-shadow:none;background:transparent;width:auto;padding:8px 0 12px 20px;max-height:none;overflow:visible}
 .pg4-site .pg-menu-toggle{display:flex}
 .pg4-site .pg-header-contact{margin-left:auto}
}
@media(max-width:820px){
 .pg4-site .pg4-hero h1{overflow-wrap:anywhere}
}
@media(max-width:767px){
 .pg4-site .pg-hero{background:#162a3d}
 .pg4-site .pg-hero h1{padding-top:20px;font-size:clamp(26px,8.8vw,64px)}
 .pg4-site .pg-hero h1 span:first-child{font-size:clamp(44px,15vw,92px)}
 .pg4-site .pg-hero-copy{padding-top:16px;padding-bottom:22px;width:100%}
 .pg4-site .pg-hero-copy p{font-size:22px;margin-bottom:18px}
 .pg4-site .pg-hero-backdrop{aspect-ratio:1672/941!important}
 .pg4-site .pg5-service-hero{display:flex;flex-direction:column;min-height:0;background:var(--pg-paper)}
 .pg4-site .pg5-service-hero:before{display:none}
 .pg4-site .pg5-service-hero-copy{order:0;width:100%;padding:36px var(--pg-gutter);margin:0}
 .pg4-site .pg5-service-hero h1{font-size:clamp(34px,6.5vw,52px)!important;max-width:none}
 .pg4-site .pg5-service-photo{order:1;position:static;z-index:auto;aspect-ratio:1.7;height:auto;object-fit:cover}
}
@media(max-width:359px){
 .pg4-site .pg-header{padding-block:14px}
 .pg4-site .pg-hero h1{padding-top:16px}
 .pg4-site .pg-hero-copy{padding-top:12px;padding-bottom:18px}
}
@media(max-width:600px){
 .pg4-site .pg-header{grid-template-areas:"word menu" "city city" "contact contact";column-gap:12px;row-gap:14px}
 .pg4-site .pg-header>.pg-brand{display:contents}
 .pg4-site .pg-header .pg-brand-word{grid-area:word}
 .pg4-site .pg-header .pg-brand-city{grid-area:city;margin-top:0;white-space:nowrap;letter-spacing:.025em}
 .pg4-site .pg-menu-toggle{min-height:44px;padding:8px 12px}
}
@media(max-width:359px){
 .pg4-site .pg-menu-toggle>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
