/* Kinetic wordmark: every logo piece uses the unchanged original asset. */
#login .login-cycle{--brand-period:12.8s;position:absolute;z-index:1;left:61%;bottom:11%;transform:translateX(-50%);width:330px;max-width:calc(100% - 48px);margin:0;pointer-events:none;isolation:isolate}
#login .login-cycle:before{content:'';position:absolute;inset:-30px -15px;z-index:-1;background:radial-gradient(ellipse,#061320a6,transparent 70%)}
#login .login-brand-motion{container-type:inline-size;filter:drop-shadow(0 3px 12px #03101cc4)}
#login .motion-wordmark{position:relative;width:100%;aspect-ratio:3430/601}
#login .motion-letter-g,#login .motion-factory{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
#login .motion-letter-g{clip-path:inset(0 86% 0 0)}
#login .motion-arrow{position:absolute;left:14.2%;top:0;width:12.4%;height:85%;overflow:hidden;transform-origin:50% 51%;animation:brand-arrow-turn var(--brand-period) cubic-bezier(.45,0,.2,1) infinite;will-change:transform}
#login .motion-arrow img{position:absolute;left:-114.516129%;top:0;display:block;max-width:none;width:806.451613%;height:auto}
#login .motion-factory{clip-path:inset(0 0 0 28%);animation:brand-factory-reveal var(--brand-period) linear infinite;will-change:opacity,transform}
#login .motion-verbs{position:absolute;left:29%;right:0;top:0;height:81%;font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:56px;font-size:17cqw;font-weight:650;letter-spacing:-.05em;line-height:1;color:#d8f3ff}
#login .motion-verbs>span{position:absolute;inset:0;display:flex;align-items:center;opacity:0;transform:translateY(12%);filter:blur(4px);will-change:opacity,transform,filter}
#login .motion-plan{animation:brand-word-plan var(--brand-period) linear infinite}
#login .motion-produce{animation:brand-word-produce var(--brand-period) linear infinite}
#login .motion-watch{animation:brand-word-watch var(--brand-period) linear infinite}
#login .motion-brand-light{position:absolute;inset:0;background:linear-gradient(105deg,transparent 37%,#a9e7ff 47%,white 50%,#a9e7ff 53%,transparent 63%) 150% 0/260% 100% no-repeat;mask:url('gofactory-logo-white.png') center/contain no-repeat;-webkit-mask:url('gofactory-logo-white.png') center/contain no-repeat;filter:drop-shadow(0 0 7px #98e6ff99);opacity:0;animation:brand-reunite-light var(--brand-period) linear infinite}
#login .motion-underline{position:relative;height:1px;margin:13px 0 0 14.2%;background:linear-gradient(90deg,#a9ddeb00,#a9ddeb45 25%,#a9ddeb28 75%,#a9ddeb00);overflow:hidden}
#login .motion-underline i{position:absolute;inset:0;background:linear-gradient(90deg,transparent,#c6efff,transparent);transform:translateX(-100%);animation:brand-light-return var(--brand-period) linear infinite}
#login .motion-signature{font-size:15px;font-weight:450;letter-spacing:.13em;text-align:right;line-height:1.4;color:#c0d7e5;margin:13px 0 0;animation:brand-signature var(--brand-period) linear infinite}
#login .motion-signature span{margin:0 14px;color:#7ebad3}
/* Each complete turn leads one verb; the fourth returns to the intact wordmark. */
@keyframes brand-arrow-turn{0%,11%{transform:rotate(0)}17%,31%{transform:rotate(360deg)}37%,51%{transform:rotate(720deg)}57%,71%{transform:rotate(1080deg)}78%,100%{transform:rotate(1440deg)}}
@keyframes brand-factory-reveal{0%,10%,83%,100%{opacity:1;transform:translateX(0);filter:blur(0)}14%,77%{opacity:0;transform:translateX(4%);filter:blur(5px)}}
@keyframes brand-word-plan{0%,13%,34%,100%{opacity:0;transform:translateY(12%);filter:blur(4px)}18%,29%{opacity:1;transform:translateY(0);filter:blur(0)}33%{opacity:0;transform:translateY(-12%);filter:blur(4px)}}
@keyframes brand-word-produce{0%,33%,54%,100%{opacity:0;transform:translateY(12%);filter:blur(4px)}38%,49%{opacity:1;transform:translateY(0);filter:blur(0)}53%{opacity:0;transform:translateY(-12%);filter:blur(4px)}}
@keyframes brand-word-watch{0%,53%,77%,100%{opacity:0;transform:translateY(12%);filter:blur(4px)}58%,70%{opacity:1;transform:translateY(0);filter:blur(0)}76%{opacity:0;transform:translateY(-12%);filter:blur(4px)}}
@keyframes brand-reunite-light{0%,79%{background-position:150% 0;opacity:0}81%{opacity:1}96%{background-position:-50% 0;opacity:1}100%{background-position:-50% 0;opacity:0}}
@keyframes brand-light-return{0%,13%{transform:translateX(-100%);opacity:0}18%{opacity:.8}70%{transform:translateX(75%);opacity:.8}77%{transform:translateX(0);opacity:1}84%,100%{transform:translateX(-100%);opacity:0}}
@keyframes brand-signature{0%,10%,85%,100%{opacity:1;transform:translateY(0)}16%,76%{opacity:0;transform:translateY(4px)}}
#login[hidden] .login-cycle *,#login[hidden] .login-cycle :after{animation-play-state:paused}
@media(min-width:681px) and (max-width:1000px){#login .login-cycle{left:auto;right:5vw;bottom:12%;transform:none;width:38vw}#login .motion-signature{font-size:14px}}
@media(max-width:680px){#login .login-cycle{position:relative;left:auto;bottom:auto;transform:none;flex-shrink:0;width:300px;max-width:calc(100% - 64px);margin:24px auto 38px}#login .motion-signature{font-size:14px;letter-spacing:.1em}#login .motion-signature span{margin:0 12px}}
@media(min-width:681px) and (max-height:600px){#login .login-cycle{bottom:12%;left:auto;right:6vw;transform:none;width:32vw;max-width:300px}}
@media(prefers-reduced-motion:reduce){#login .login-cycle *{animation:none!important;will-change:auto!important}#login .motion-verbs,#login .motion-brand-light,#login .motion-underline{display:none}#login .motion-factory,#login .motion-signature{opacity:1;transform:none;filter:none}}
