.footer-end { display:flex; align-items:center; gap:16px; }
.site-motion-toggle { border:1px solid #62666c; border-radius:50%; color:white; }
.site-motion-toggle:hover { color:var(--amber); border-color:var(--amber); }
.scene-progress { width:42px; height:2px; background:#adb6bb; overflow:hidden; }
.scene-progress>span { display:block; width:100%; height:100%; background:var(--blue); transform:scaleX(var(--scene-progress,0)); transform-origin:left; }
.hero-word { display:inline-block; }
.motion-ready .hero { background:color-mix(in srgb,#e2e8f2 var(--hero-tint,0%),#e9edef); }
.motion-ready .hero-copy { transform:translateY(var(--hero-shift,0px)); }
.motion-ready .hero-word-wrap { transform:translateX(var(--hero-word-shift,0px)); }
.motion-ready:not(.motion-paused) .hero-word { animation:hero-word-in .95s cubic-bezier(.16,1,.3,1) both; }
.motion-ready:not(.motion-paused) .hero-word-wrap:nth-child(2) .hero-word { animation-delay:.12s; }
.motion-ready:not(.motion-paused) .hero-category,
.motion-ready:not(.motion-paused) .hero h2,
.motion-ready:not(.motion-paused) .hero-description,
.motion-ready:not(.motion-paused) .hero-link { animation:copy-in .7s .18s cubic-bezier(.16,1,.3,1) both; }
.motion-ready:not(.motion-paused) .hero h2 { animation-delay:.28s; }
.motion-ready:not(.motion-paused) .hero-description { animation-delay:.36s; }
.motion-ready:not(.motion-paused) .hero-link { animation-delay:.44s; }
.motion-ready .works { position:relative; isolation:isolate; background:color-mix(in srgb,#e2e8f2 var(--work-curtain,0%),white); }
.motion-ready .works::after { content:''; position:absolute; top:0; left:6%; width:88%; height:3px; background:var(--amber); transform:scaleX(var(--work-rule,0)); transform-origin:left; pointer-events:none; }
.motion-ready .approach-visual>img { transform:translateY(var(--art-shift,0px)) scale(var(--art-scale,1)); transform-origin:center; }
.motion-ready .contact { background:color-mix(in srgb,var(--amber) var(--contact-color,100%),#edf1f4); }
.motion-ready .contact h2 { transform:translateY(var(--contact-shift,0px)); }
.motion-ready .reveal { transition:opacity .75s var(--reveal-delay,0ms),transform .85s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms); }
.motion-ready .project.reveal { transform:perspective(1200px) translateY(44px) rotateX(5deg); transform-origin:center top; }
.motion-ready .project.reveal.is-visible { transform:none; }
.motion-ready .service-row.reveal { transform:translateY(24px); }
.motion-ready .service-row.reveal.is-visible { transform:none; }
.project-image { transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s; }
.project-image::after { content:''; position:absolute; inset:0; border:1px solid transparent; transition:border-color .3s; pointer-events:none; }
.project-open { transition:translate .25s ease-out,transform .3s,background .3s; translate:var(--pointer-x,0px) var(--pointer-y,0px); }
.text-link .arrow-disc,.text-link>.lucide,.nav-contact>.lucide,.contact-links a>.lucide,.external-link>.lucide { translate:var(--pointer-x,0px) var(--pointer-y,0px); transition:translate .25s ease-out,transform .3s,background .3s; }
.text-link:active .arrow-disc { transform:scale(.9); }
.project-image:active .project-open { transform:scale(.9); }
.nav-contact,.contact-primary,.external-link { transition:background .25s,box-shadow .25s; }
.nav-contact:active,.contact-primary:active,.external-link:active { box-shadow:inset 0 0 0 2px #ffffff80; }
.case-dialog[open] { animation:dialog-in .25s cubic-bezier(.16,1,.3,1); }
.case-dialog[open]::backdrop { animation:backdrop-in .2s ease-out; }
.faq-list details[open]>div { animation:copy-in .22s ease-out; }
.inner-page .case-intro,.inner-page .page-intro { animation:copy-in .45s cubic-bezier(.16,1,.3,1); }
@media(hover:hover) and (pointer:fine) {
  .motion-ready:not(.motion-paused) .project-image:hover { transform:translateY(-4px); box-shadow:0 18px 32px -20px #17191c66; }
  .project-image:hover::after { border-color:var(--blue); }
  .motion-ready:not(.motion-paused) .service-row:hover .service-index { color:var(--blue); }
}
@keyframes hero-word-in { from { opacity:0; transform:translateY(45px) rotateX(25deg); clip-path:inset(0 0 100% 0); } to { opacity:1; transform:none; clip-path:inset(-20% -5% -20% -5%); } }
@keyframes copy-in { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
@keyframes dialog-in { from { opacity:0; translate:0 24px; } to { opacity:1; translate:0 0; } }
@keyframes backdrop-in { from { opacity:0; } to { opacity:1; } }
@media(max-width:760px) {
  .scene-caption { gap:10px; }
  .scene-progress { width:25px; }
  .motion-ready .project.reveal { transform:translateY(22px); }
  .motion-ready .works::after { left:22px; width:calc(100% - 44px); height:2px; }
}
.motion-paused { scroll-behavior:auto; }
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation:none!important; transition:none!important; }
.motion-paused .hero-copy,.motion-paused .hero-word-wrap,.motion-paused .hero-word,.motion-paused .contact h2,.motion-paused .reveal,.motion-paused .project.reveal { transform:none; opacity:1; clip-path:none; }
.motion-paused .approach-visual>img { transform:none; }
.motion-paused .works { background:white; }
.motion-paused .works::after { transform:none; }
.motion-paused .hero { background:#e9edef; }
.motion-paused .contact { background:var(--amber); }
.motion-paused .project-image:hover,.motion-paused .project-open,.motion-paused .arrow-disc,.motion-paused .lucide { transform:none!important; translate:0 0!important; }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .hero-copy,.hero-word-wrap,.hero-word,.contact h2,.reveal,.project.reveal,.approach-visual>img { transform:none!important; opacity:1!important; }
  .motion-ready .works { background:white; }
  .motion-ready .works::after { transform:none; }
  .motion-ready .hero { background:#e9edef; }
  .motion-ready .contact { background:var(--amber); }
}
