/* Original studio composition, with quiet progressive transitions. */
.reveal-on-scroll{transition:opacity .75s cubic-bezier(.2,.65,.3,1),transform .75s cubic-bezier(.2,.65,.3,1)}
.motion-ready .reveal-on-scroll:not(.revealed){opacity:0;transform:translateY(20px)}
.motion-ready .reveal-on-scroll:focus-within{opacity:1;transform:none}
.button{transition:background .25s,transform .3s,box-shadow .3s}
.button:hover{transform:translateY(-2px);box-shadow:0 5px 14px #1d1d1f12}
.product{transition:transform .4s}
.product:hover{transform:translateY(-3px)}
.text-link{transition:color .25s,border-color .25s}
.visual-sweep:not(.hero-photo){overflow:hidden}
.visual-sweep:not(.hero-photo)>img{transform:scale(1.035);transition:transform 1s cubic-bezier(.2,.65,.3,1)}
.visual-sweep:not(.hero-photo).is-in-view>img{transform:scale(1)}
.gallery-piece .gallery-image{transition:box-shadow .35s}
.gallery-piece:hover .gallery-image{box-shadow:0 8px 25px #1d1d1f12}
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-away .15s ease both}
::view-transition-new(root){animation:page-arrive .28s ease both}
@keyframes page-away{to{opacity:0}}
@keyframes page-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(min-width:701px) and (max-width:1000px){header .wordmark{font-size:34px}nav{gap:12px;font-size:10px}.nav-cta{margin-left:0}.nav-cta span{margin-left:8px}}
@media(max-width:700px){.motion-ready .reveal-on-scroll:not(.revealed){transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal-on-scroll:not(.revealed){opacity:1;transform:none}.reveal-on-scroll,.visual-sweep>img{transition:none}.visual-sweep:not(.hero-photo)>img{transform:none}.button:hover,.product:hover{transform:none}::view-transition-old(root),::view-transition-new(root){animation:none}}
