/* Refined movement without hidden content, scroll hijacking or extra dependencies. */
:root{--motion-ease:cubic-bezier(.19,1,.22,1)}
.material-photo{transform:translateY(var(--material-shift,0px))}
.cut-ring .cut-guide{transform:rotate(var(--guide-turn,0deg));transition:opacity .6s}
.material-photo .material-arrow{transition:background .45s,color .45s,transform .6s var(--motion-ease)}
.material-photo:hover .material-arrow,.material-photo:focus-visible .material-arrow{transform:translate(3px,-3px)}
.material.motion-arrived .cut-guide{animation:architect-line 1.35s var(--motion-ease) both}
@keyframes architect-line{from{opacity:0;scale:.75}to{opacity:.45;scale:1}}
.brand-process .steps li{transition:border-color .6s,background .6s,box-shadow .6s}
.brand-process .steps li.step-in-view{border-color:#a08a65;background:#fffef7;box-shadow:inset 0 3px 0 #a08a65}
.step-head .brand-geometry{transition:transform .85s var(--motion-ease)}
.step-in-view .step-head .brand-geometry{transform:rotate(-8deg)}
.btn{transition:background .35s,color .35s,border-color .35s,box-shadow .45s,transform .55s var(--motion-ease)}
.btn:active{transform:scale(.98)}
.project-detail-link,.material-text>a{transition:color .3s,text-underline-offset .4s}
.project-detail-link:hover,.material-text>a:hover{text-underline-offset:8px}
.project-visual::after{transition:opacity .4s,transform .65s var(--motion-ease),background .4s}
.project-visual:hover::after{transform:translate(-3px,-3px);background:#26353d}
.film-title{display:inline-block}
.proj-grid>.proj figcaption{position:relative}
.proj-grid>.proj figcaption::after{content:'';position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:#a08a65;transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--motion-ease)}
.proj-grid>.proj.project-in-view figcaption::after{transform:scaleX(1)}
.proj-grid>.proj figcaption strong{transition:color .6s}
.proj-grid>.proj.project-in-view figcaption strong{color:#806b47}
@media(hover:hover) and (pointer:fine){
 body.home .project-visual img{transition:transform 1.6s var(--motion-ease),filter 1.2s;filter:saturate(.94)}
 body.home .project-visual:hover img{transform:scale(1.035);filter:saturate(1.03)}
 .svc{transition:border-color .45s,box-shadow .6s,background .5s}
 .svc:hover{border-color:#a08a65;box-shadow:0 16px 42px -30px #26353d66}
 .btn:hover{transform:translateY(-2px)}
}
@media(max-width:760px){
 .material.motion-arrived .material-arrow{background:#d5ddc5;color:#1b292c}
 .material-photo{margin-top:9px;margin-bottom:39px}
}
@media(prefers-reduced-motion:reduce){
 .material-photo,.cut-guide,.step-head .brand-geometry,.btn{transform:none!important;animation:none!important;transition:none!important}
}
@media print{.material-photo{transform:none!important}.cut-guide{animation:none!important}}
