/* Pixel2Motion: unchanged source geometry, one clock, staggered semantic actors. */
:root{--p2m-duration:1400ms;--p2m-ease-enter:cubic-bezier(0,0,.2,1);--p2m-ease-settle:cubic-bezier(.4,0,.2,1)}
@media(prefers-reduced-motion:no-preference){
  :is(.intro-loading .intro-mark,#logo-root) #brand-frame{stroke-dasharray:1.1 1.1;stroke-linecap:butt;animation:brand-frame var(--p2m-duration) linear both}
  :is(.intro-loading .intro-mark,#logo-root) #brand-mark{animation:brand-letter var(--p2m-duration) linear both}
  :is(.intro-loading .intro-mark,#logo-root) #brand-scales{stroke-dasharray:1.1 1.1;stroke-linecap:butt;animation:brand-scales var(--p2m-duration) linear both}
  :is(.intro-loading .intro-mark,#logo-root) #brand-base{stroke-dasharray:1.1 1.1;stroke-linecap:butt;animation:brand-base var(--p2m-duration) linear both}
}
/* Literal easing inside keyframes: --p2m-ease-settle and --p2m-ease-enter. */
@keyframes brand-frame{0%,15%{opacity:0;stroke-dashoffset:1.1;stroke-dasharray:1.1 1.1;animation-timing-function:cubic-bezier(.4,0,.2,1)}70%,99.99%{opacity:1;stroke-dashoffset:0;stroke-dasharray:1.1 1.1}100%{opacity:1;stroke-dashoffset:0;stroke-dasharray:none}}
@keyframes brand-letter{0%,20%{opacity:0;transform:translateY(4px);animation-timing-function:cubic-bezier(0,0,.2,1)}70%,100%{opacity:1;transform:translateY(0)}}
@keyframes brand-scales{0%,35%{opacity:0;stroke-dashoffset:1.1;stroke-dasharray:1.1 1.1;animation-timing-function:cubic-bezier(.4,0,.2,1)}85%,99.99%{opacity:1;stroke-dashoffset:0;stroke-dasharray:1.1 1.1}100%{opacity:1;stroke-dashoffset:0;stroke-dasharray:none}}
@keyframes brand-base{0%,65%{stroke-dashoffset:1.1;stroke-dasharray:1.1 1.1;animation-timing-function:cubic-bezier(.4,0,.2,1)}99.99%{stroke-dashoffset:0;stroke-dasharray:1.1 1.1}100%{stroke-dashoffset:0;stroke-dasharray:none}}
@media(prefers-reduced-motion:reduce){:is(.intro-mark,#logo-root) :is(#brand-frame,#brand-mark,#brand-scales,#brand-base){animation:none!important;opacity:1;transform:none;stroke-dashoffset:0}}
