/* Shared identity and motion. All decoration is optional and respects reduced motion. */
:root{--mt-violet:#7054d8;--mt-teal:#7ed7c6;--mt-ease:cubic-bezier(.22,1,.36,1);--mt-fast:180ms;--mt-enter:340ms}
.mt-symbol{display:block;width:100%;height:100%;overflow:visible;isolation:isolate}
.brand-trace{stroke-dasharray:110;stroke-dashoffset:0;animation:mt-draw 1.1s var(--mt-ease) both}
.brand-signal{transform-box:fill-box;transform-origin:center;animation:mt-signal 5.8s ease-out 1.2s infinite}
.brand-dot{transform-box:fill-box;transform-origin:center;animation:mt-dot 5.8s ease-out 1.2s infinite}
.brand-sheen{transform:translateX(-75px);animation:mt-sheen 9s ease-in-out 2s infinite}
.brand-icon,.brand-mark{position:relative;isolation:isolate;transition:transform 300ms var(--mt-ease),box-shadow 300ms var(--mt-ease)}
.brand-icon:hover,.brand-mark:hover{transform:translateY(-2px) rotate(-3deg);box-shadow:0 9px 23px #6e50cf30}
.brand-mark:active{transform:translateY(0) scale(.94)}
.brand-wordmark{display:flex;align-items:center;gap:13px}.brand-wordmark strong{font-weight:650;letter-spacing:-.75px}.product-badge{font-size:10px;letter-spacing:.5px;font-weight:550;padding:6px 9px;border-radius:7px;color:#817292;background:#eae5f370;border:1px solid #e6dfee}
.online-dot,.presence{box-shadow:0 0 0 2px #8fc7af0e}
button{transition:background var(--mt-fast),color var(--mt-fast),box-shadow var(--mt-fast),border-color var(--mt-fast),transform var(--mt-fast) var(--mt-ease)}
button:active:not(:disabled){transform:scale(.975)}
@keyframes mt-draw{from{stroke-dashoffset:110;opacity:.2}to{stroke-dashoffset:0;opacity:1}}
@keyframes mt-signal{0%,24%,100%{transform:scale(.7);opacity:0}5%{opacity:.48}20%{transform:scale(1.85);opacity:0}}
@keyframes mt-dot{0%,24%,100%{transform:scale(1)}9%{transform:scale(1.16)}}
@keyframes mt-sheen{0%,67%,100%{transform:translateX(-75px);opacity:0}72%{opacity:.5}84%{transform:translateX(85px);opacity:0}}
@keyframes mt-reveal{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes mt-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes mt-backdrop{from{opacity:0}to{opacity:1}}
@keyframes mt-pop{from{opacity:0;transform:translateY(5px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
[data-page-hidden=true] *,[data-page-hidden=true] *::before,[data-page-hidden=true] *::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.brand-trace{stroke-dashoffset:0}.brand-signal,.brand-sheen{opacity:0!important}}
[data-motion=reduced] *,[data-motion=reduced] *::before,[data-motion=reduced] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
