.progress-line{position:fixed;top:0;left:0;z-index:30;width:100%;height:2px;background:#c9a77b;transform:scaleX(var(--page-progress,0));transform-origin:left center;pointer-events:none}
body[data-motion="okina"] .progress-line{background:#e0584e}

@keyframes photo-curtain{0%{clip-path:inset(0 0 100% 0);transform:scale(1.09)}100%{clip-path:inset(0 0 0 0);transform:scale(1.03)}}
@keyframes title-arrive{0%{opacity:0;transform:translateY(34px)}100%{opacity:1;transform:translateY(0)}}
@keyframes light-aperture{0%{clip-path:circle(0% at 50% 47%);filter:brightness(.3)}48%{clip-path:circle(28% at 50% 47%);filter:brightness(.85)}100%{clip-path:circle(75% at 50% 47%);filter:brightness(1)}}
@keyframes vertical-letter{0%{opacity:0;transform:translateY(-18px);filter:blur(8px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}

.motion-ready body[data-motion="okina"] .hero-image{animation:photo-curtain 1.75s cubic-bezier(.22,1,.36,1) both}
.motion-ready body[data-motion="okina"] .hero h1{animation:title-arrive 1s cubic-bezier(.22,1,.36,1) .55s both}
.motion-ready body[data-motion="okina"] .hero .eyebrow,.motion-ready body[data-motion="okina"] .hero-bottom{animation:title-arrive .9s ease-out .85s both}
.motion-ready body[data-motion="okina"] [data-reveal]{opacity:0;transform:translateY(44px);transition:opacity 1s ease,transform 1s cubic-bezier(.22,1,.36,1)}
.motion-ready body[data-motion="okina"] [data-reveal].in-view{opacity:1;transform:translateY(0)}
.motion-ready body[data-motion="okina"] .work[data-reveal]{opacity:1;transform:none}
.motion-ready body[data-motion="okina"] .work[data-reveal] img{clip-path:inset(0 0 100% 0);transition:clip-path 1.25s cubic-bezier(.22,1,.36,1),transform .8s}
.motion-ready body[data-motion="okina"] .work[data-reveal].in-view img{clip-path:inset(0 0 0 0)}

.motion-ready body[data-motion="izanami"] .hero-photo{animation:light-aperture 2.5s cubic-bezier(.16,1,.3,1) both}
.motion-ready body[data-motion="izanami"] .hero-photo img{animation:none;transform:translate3d(0,var(--photo-shift,0px),0) scale(1.06);will-change:transform}
.motion-ready body[data-motion="izanami"] .hero h1 .letter{display:inline-block;opacity:0;animation:vertical-letter .85s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.9s + var(--letter-index)*.085s)}
.motion-ready body[data-motion="izanami"] [data-reveal]{opacity:0;transform:translateY(48px);transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.22,1,.36,1)}
.motion-ready body[data-motion="izanami"] [data-reveal].in-view{opacity:1;transform:translateY(0)}
.motion-ready body[data-motion="izanami"] .work-card[data-reveal]{opacity:1;transform:none}
.motion-ready body[data-motion="izanami"] .work-card[data-reveal] .frame{clip-path:inset(100% 0 0 0);transition:clip-path 1.3s cubic-bezier(.22,1,.36,1)}
.motion-ready body[data-motion="izanami"] .work-card[data-reveal].in-view .frame{clip-path:inset(0 0 0 0)}
.motion-ready body[data-motion="izanami"] .work-card[data-reveal] img{transform:scale(1.12);transition:transform 1.5s cubic-bezier(.22,1,.36,1)}
.motion-ready body[data-motion="izanami"] .work-card[data-reveal].in-view img{transform:scale(1)}
.motion-ready body[data-motion="izanami"] .work-card:hover img{transform:scale(1.035)!important}

@media(prefers-reduced-motion:reduce){.progress-line{display:none}.motion-ready [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}.motion-ready .hero-image,.motion-ready .hero-photo,.motion-ready .hero h1,.motion-ready .hero .eyebrow,.motion-ready .hero-bottom,.motion-ready .hero h1 .letter{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}.motion-ready .hero-photo img{transform:none!important}.motion-ready .work-card .frame{clip-path:none!important}.motion-ready .work-card img{transform:none!important}}
