/* Keep the final layout untouched; entrances run once as each block enters view. */
body{--entrance-time:850ms;--entrance-distance:58px;--entrance-ease:cubic-bezier(.16,1,.3,1)}
body[data-motion-theme="clean"]{--entrance-time:1050ms;--entrance-distance:46px}
body[data-motion-theme="calm"]{--entrance-time:1300ms;--entrance-distance:32px;--entrance-ease:cubic-bezier(.2,.65,.2,1)}
main,.proposal-end{overflow-x:clip}
.motion-target{opacity:1;transform:none;clip-path:inset(-12% -12% -12% -12%);transition:opacity var(--entrance-time) ease var(--entrance-delay,0ms),transform var(--entrance-time) var(--entrance-ease) var(--entrance-delay,0ms),clip-path var(--entrance-time) var(--entrance-ease) var(--entrance-delay,0ms)}
.motion-pending{opacity:0;transform:translate3d(calc(-1 * var(--entrance-distance)),0,0)}
.motion-pending[data-entrance="right"]{transform:translate3d(var(--entrance-distance),0,0)}
.motion-pending[data-entrance="up"]{transform:translate3d(0,28px,0)}
.motion-pending[data-entrance="cut"]{clip-path:inset(-12% 100% -12% -12%)}
.motion-pending[data-entrance="photo"]{transform:translate3d(24px,0,0);clip-path:inset(0 0 0 100%)}
.rough-site-footer{align-items:center;flex-wrap:wrap;gap:14px}
.scroll-motion-control{border:1px solid #ffffff60;color:inherit;background:transparent;padding:7px 12px;font:11px/1.5 "Yu Gothic",sans-serif;letter-spacing:.03em}
.scroll-motion-control:hover{background:#ffffff12}
.scroll-motion-control:disabled{cursor:default;opacity:.65}
.entrances-off .motion-target{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
@media(max-width:700px){body{--entrance-distance:26px}body[data-motion-theme="clean"]{--entrance-distance:24px}body[data-motion-theme="calm"]{--entrance-distance:18px}.motion-pending[data-entrance="up"]{transform:translate3d(0,18px,0)}.motion-pending[data-entrance="photo"]{transform:translate3d(14px,0,0)}}
@media(prefers-reduced-motion:reduce){.motion-target{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}}
@media print{.motion-target{opacity:1!important;transform:none!important;clip-path:none!important}.scroll-motion-control{display:none}}
.motion-pending{transition:none}.hero-content{animation:none}
/* Clip only after entering: a fully clipped target cannot intersect the viewport. */
.motion-pending[data-entrance="cut"],.motion-pending[data-entrance="photo"]{clip-path:none}
.motion-entered[data-entrance="cut"]{animation:heading-cut var(--entrance-time) var(--entrance-ease) var(--entrance-delay,0ms) both}
.motion-entered[data-entrance="photo"]{animation:photo-cut var(--entrance-time) var(--entrance-ease) var(--entrance-delay,0ms) both}
@keyframes heading-cut{from{clip-path:inset(-12% 100% -12% -12%)}to{clip-path:inset(-12% -12% -12% -12%)}}
@keyframes photo-cut{from{clip-path:inset(-12% -12% -12% 100%)}to{clip-path:inset(-12% -12% -12% -12%)}}
.entrances-off .motion-target{animation:none!important}
@media print{.motion-target{animation:none!important}}
