/* CXPAPER / motion follows the cut, feed and register of a sheet. */
:root{
 --sheet-ease:cubic-bezier(.16,1,.3,1);
 --sheet-quick:cubic-bezier(.22,.68,0,1);
}
.site-header .brand{min-width:190px;transform:none}
.site-header .brand-mark{
 transform:translateX(var(--logo-offset,0px)) scale(var(--logo-scale,1));
 transform-origin:center;
 transition:transform 140ms linear;
}
.site-header.has-open-folio .brand-mark{transition:transform 500ms var(--sheet-ease)}
.site-header .brand-wordmark{display:block;transform:translateX(var(--word-offset,0px));transition:opacity 250ms ease,transform 140ms linear}
.site-header .brand-letters{display:flex;overflow:hidden;white-space:nowrap}
.site-header .brand-letters>span{
 display:inline-block;transform:translateY(var(--letter-rise,0%));
 transition:transform 560ms var(--sheet-ease);
 transition-delay:var(--letter-delay,0ms);
}
.site-header:not(.brand-expanded) .brand-letters>span{transition-duration:220ms}
.site-header.brand-motion-ready .brand-wordmark{opacity:var(--word-opacity,1)}
.site-header .brand-wordmark small{white-space:nowrap}
.site-header.header-overlay .brand{transform:none}
.header-overlay:before{transform:scaleY(0);transform-origin:top}
.header-overlay.is-solid:before{transform:scaleY(1)}
.header-ready:before{
 transition:transform 420ms var(--sheet-ease),opacity 180ms ease;
}
.site-header .nav-parent>a:hover{text-decoration:none}
.site-header .nav-parent>a:after{
 transform-origin:left;
 transition:transform 360ms var(--sheet-ease);
}
.site-header .nav-expand span{transition:transform 350ms var(--sheet-ease)}
.site-header .nav-expand[aria-expanded=true] span{transform:rotate(45deg)}

/* Open as one sheet; stagger only the index, never the photographic object. */
.site-header .nav-panel.paper-folio[data-sheet-state=closing]{pointer-events:none}
.paper-folio .folio-sheet{animation:none}
.paper-folio .folio-entry{grid-template-columns:32px minmax(0,1fr)}
.paper-folio .folio-entry:before{
 inset:0 -12px;
 transform:scaleX(0);
 opacity:1;
 transition:transform 500ms var(--sheet-ease);
}
.paper-folio .folio-entry.is-previewed:before{transform:scaleX(1)}
.paper-folio .folio-number{transition:color 220ms ease}
.paper-folio .folio-entry.is-previewed .folio-number{color:var(--brand)}
.paper-folio .folio-entry-copy{transition:transform 400ms var(--sheet-ease)}
.paper-folio .folio-entry.is-previewed .folio-entry-copy{transform:translateX(7px)}
.paper-folio .folio-image{
 clip-path:inset(0 0 100% 0);
 transition:clip-path 650ms var(--sheet-ease),opacity 300ms ease;
}
.paper-folio .folio-image.is-current{clip-path:inset(0 0 0 0)}
.paper-folio .folio-image img,.paper-folio .folio-image.is-current img{transform:none}
.paper-folio .folio-fold,.paper-folio .folio-registration{display:none}
.paper-folio .folio-preview-stack:before{transform:translate(6px,6px)}
.paper-folio .folio-preview-stack:after{transform:translate(3px,3px)}
.paper-folio .folio-all,.paper-folio .folio-footer a{
 background-image:linear-gradient(currentColor,currentColor);
 background-position:left bottom;background-repeat:no-repeat;
 background-size:0% 1px;border-bottom:0;
 transition:background-size 400ms var(--sheet-ease);
}
.paper-folio :is(.folio-all,.folio-footer a):hover,
.paper-folio :is(.folio-all,.folio-footer a):focus-visible{background-size:100% 1px}
@keyframes register-entry{
 from{opacity:0;transform:translateY(22px)}
 to{opacity:1;transform:translateY(0)}
}
@media(min-width:1051px) and (prefers-reduced-motion:no-preference){
 .paper-folio[data-sheet-state=open] .folio-heading,
 .paper-folio[data-sheet-state=open] .folio-entry,
 .paper-folio[data-sheet-state=open] .folio-footer{
  animation:register-entry 600ms var(--sheet-ease) both;
 }
 .paper-folio[data-sheet-state=open] .folio-entry:nth-child(1){animation-delay:50ms}
 .paper-folio[data-sheet-state=open] .folio-entry:nth-child(2){animation-delay:90ms}
 .paper-folio[data-sheet-state=open] .folio-entry:nth-child(3){animation-delay:130ms}
 .paper-folio[data-sheet-state=open] .folio-entry:nth-child(4){animation-delay:170ms}
 .paper-folio[data-sheet-state=open] .folio-entry:nth-child(5){animation-delay:210ms}
 .paper-folio[data-sheet-state=open] .folio-entry:nth-child(6){animation-delay:250ms}
 .paper-folio[data-sheet-state=open] .folio-footer{animation-delay:220ms}
}

/* All content is visible without JavaScript. No pinned or hijacked scrolling. */
.motion-line{display:block;overflow:clip;padding-bottom:.12em;margin-bottom:-.12em}
.motion-line>span{display:block}
[data-motion-reveal]{
 transition:opacity 650ms var(--sheet-ease),transform 850ms var(--sheet-ease);
 transition-delay:var(--reveal-delay,0ms);
}
[data-motion-reveal]:not(.is-revealed){opacity:0;transform:translateY(36px)}
[data-motion-reveal=photo]{
 transition:clip-path 1100ms var(--sheet-ease),opacity 650ms ease;
}
[data-motion-reveal=photo]:not(.is-revealed){
 opacity:1;transform:none;clip-path:inset(0 0 100% 0);
}
[data-motion-reveal=photo].is-revealed{clip-path:inset(0 0 0 0)}
[data-motion-reveal=rule]{transform-origin:left}
[data-motion-reveal=rule]:not(.is-revealed){opacity:1;transform:scaleX(0)}
.hero-documentary .hero-copy{
 transform:translateY(var(--hero-copy-shift,0px));
}
.hero-documentary .film-media>picture,
.hero-documentary .film-media>video{
 transform:translateY(var(--hero-media-shift,0px)) scale(1.08);
 transform-origin:center;
}
.factory-story .client-photo{overflow:hidden}
.process-strip{counter-reset:process-step}
.process-strip>div{position:relative}
.process-strip>div:before{
 content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--brand);
 transform:scaleX(0);transform-origin:left;transition:transform 750ms var(--sheet-ease);
}
.process-strip>div.is-revealed:before{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){
 .application-links a{
  position:relative;isolation:isolate;overflow:hidden;
  transition:color 320ms ease,border-color 320ms ease;
 }
 .application-links a:before{
  content:"";position:absolute;inset:0;background:#e9ece4;z-index:-1;
  transform:translateX(-101%);transition:transform 600ms var(--sheet-ease);
 }
 .application-links a:hover:before{transform:translateX(0)}
 .application-links a>span{transition:transform 400ms var(--sheet-ease)}
 .application-links a:hover>span{transform:translateX(8px)}
}
@media(max-width:1200px){
 .site-header .brand{min-width:169px}
 .paper-folio .folio-entry{grid-template-columns:25px minmax(0,1fr)}
}
@media(max-width:1050px){
 .site-header .brand{min-width:0}
 .paper-folio .folio-entry{grid-template-columns:25px minmax(0,1fr)}
 .paper-folio .folio-entry:before{inset:0}
 .paper-folio .folio-entry.is-previewed .folio-entry-copy{transform:none}
 .paper-folio .folio-footer>a{display:table;margin-top:8px}
 [data-motion-reveal]:not(.is-revealed){transform:translateY(20px)}
 [data-motion-reveal=photo]:not(.is-revealed){transform:none}
 .hero-documentary .film-media>picture,.hero-documentary .film-media>video{transform:none}
 .hero-documentary .hero-copy{transform:none}
}
@media(prefers-reduced-motion:reduce){
 .site-header .brand-mark,.site-header .brand-letters>span{transform:none!important;transition:none!important}
 .site-header .brand-wordmark{opacity:1!important;transform:none;transition:none}
 .header-ready:before,.paper-folio .folio-entry:before,.paper-folio .folio-entry-copy,
 .paper-folio .folio-image,.paper-folio .folio-all,.paper-folio .folio-footer a,
 .application-links a,.application-links a:before,.application-links a>span,
 .process-strip>div:before,[data-motion-reveal]{transition:none!important}
 [data-motion-reveal],.motion-line>span{
  opacity:1!important;transform:none!important;clip-path:none!important;
 }
 .hero-documentary .film-media>picture,.hero-documentary .film-media>video,
 .hero-documentary .hero-copy{transform:none}
 .paper-folio .folio-image{clip-path:none}
 .paper-folio .folio-entry-copy,.application-links a:hover>span{transform:none}
 .paper-folio .folio-heading,.paper-folio .folio-entry,.paper-folio .folio-footer{animation:none!important}
}
@media print{
 [data-motion-reveal],.motion-line>span,.hero-documentary .hero-copy{
  opacity:1!important;transform:none!important;clip-path:none!important;
  animation:none!important;transition:none!important;
 }
 .site-header .nav-panel,.mobile-actions{display:none!important}
}
