/* Shared animated vector marks. No video/GIF downloads. */
.brand-mark{display:inline-flex;flex:none;width:52px;height:52px;color:var(--accent,#d8fd67);align-items:center;justify-content:center}
.brand-mark svg{display:block;width:100%;height:100%;overflow:visible}
.logo-u{fill:none;stroke:currentColor;stroke-width:8;stroke-linecap:square;stroke-linejoin:round}
.logo-guide{fill:none;stroke:currentColor;stroke-width:1;opacity:.4}
.logo-cut .cut-left{animation:cut-left 4s cubic-bezier(.65,0,.35,1) infinite}
.logo-cut .cut-right{animation:cut-right 4s cubic-bezier(.65,0,.35,1) infinite}
.logo-cut .cut-spark{animation:cut-spark 4s ease infinite;transform-origin:51px 14px}
@keyframes cut-left{0%,12%,90%,100%{transform:translateY(0)}40%,55%{transform:translateY(-5px)}}
@keyframes cut-right{0%,12%,90%,100%{transform:translateY(0)}40%,55%{transform:translateY(5px)}}
@keyframes cut-spark{0%,30%,85%,100%{transform:rotate(0);opacity:.5}50%,65%{transform:rotate(90deg);opacity:1}}
.logo-orbit .orbital{transform-origin:32px 32px;animation:logo-orbit 7s linear infinite}
@keyframes logo-orbit{to{transform:rotate(360deg)}}
/* A focused blur and vertical reveal swap both names after each full orbit. */
.brand-name{display:grid;overflow:hidden;line-height:1.2;padding-block:4px;margin-block:-4px 2px;min-width:8ch}
.brand-name>span{grid-area:1/1;white-space:nowrap}
.brand-name .identity-umar,.logo-orbit .identity-umar,.brand-name .identity-existant,.logo-orbit .identity-existant{transition:opacity .75s ease,transform .9s cubic-bezier(.22,1,.36,1),filter .75s ease;transform-origin:center;transform-box:fill-box}
.identity-existant{opacity:0;transform:translateY(12px) scale(.94);filter:blur(5px)}
.show-existant .identity-umar{opacity:0;transform:translateY(-12px) scale(1.04);filter:blur(5px)}
.show-existant .identity-existant{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.brand-name .identity-existant{letter-spacing:.035em}
@media(prefers-reduced-motion:reduce){.brand-name>span,.logo-orbit .identity-umar,.logo-orbit .identity-existant{transition:none!important}.identity-existant,.show-existant .identity-existant{opacity:0;transform:none;filter:none}.identity-umar,.show-existant .identity-umar{opacity:1;transform:none;filter:none}}
.logo-trace .logo-u{stroke-dasharray:105;animation:trace-u 4.5s ease-in-out infinite}
.logo-trace .trace-head{animation:trace-light 4.5s ease-in-out infinite}
@keyframes trace-u{0%,100%{stroke-dashoffset:105;opacity:.2}35%,80%{stroke-dashoffset:0;opacity:1}}
@keyframes trace-light{0%,100%{opacity:.2}35%,80%{opacity:1}}
@media(prefers-reduced-motion:reduce){.brand-mark *{animation:none!important}.logo-trace .logo-u{stroke-dashoffset:0}}
