/* Motion layers preserve all original dimensions and typography. */
.hero-motion-ready .hero-background { transform-origin:center top; }
.hello-motion { position:absolute;inset:0;pointer-events:none; }
.hero h1 .hero-line-mask { display:block;overflow:hidden; }
.hero h1 .hero-line-enter { display:block; }
.hero h1 .hero-title-hover { display:inline-block; }
.hero-description-enter { display:block; }
.hero-motion-ready h1 { transform-origin:center top; }
.hero-motion-ready .hero-description { transform-origin:center top; }
.hero-motion-ready :is(h1,.hero-background,.hello-motion,.hero-description) { will-change:transform,opacity; }
[data-hero-work] { transition:none; }
.nav-motion-item { translate:var(--nav-x,0px) var(--nav-y,0px); }
@media(hover:hover) and (pointer:fine) {
  .nav-links>a:hover { opacity:1;transform:translateY(-1px); }
  .nav .nav-resume:hover { background:var(--ink);color:white;border-color:var(--ink);opacity:1;transform:scale(1.015); }
  .nav .nav-resume { transition:background 300ms ease-out,color 300ms ease-out,border-color 300ms ease-out,transform 300ms ease-out; }
  .lang-toggle img { transition:transform 600ms ease-out; }
  .lang-toggle:hover img { transform:rotateY(180deg); }
}
@media(prefers-reduced-motion:reduce) {
  .hero-motion-ready :is(h1,.hero-background,.hello-motion,.hero-description),[data-hero-work] { transform:none!important;filter:none!important;will-change:auto; }
  .nav-motion-item { translate:none!important; }
  .nav-links>a:hover,.nav .nav-resume:hover,.lang-toggle:hover img { transform:none; }
}
