.logo{display:inline-flex;align-items:center;gap:.625rem;color:var(--text)}.logo-mark{flex:none;overflow:visible}.logo-m{stroke:var(--text)}.logo-a{stroke:var(--accent-fill)}.logo-hidden{stroke:var(--line-strong)}.logo-a-hop{transform-box:view-box}.logo-word{font-family:var(--font-display);font-weight:700;font-size:1.3125rem;letter-spacing:-.02em;line-height:1}.logo-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.logo-waves circle{fill:none;stroke:var(--line-strong);stroke-width:1.5;opacity:0;transform-origin:50px 50px}@media (prefers-reduced-motion:no-preference){.logo[data-variant=draw] path{stroke-dasharray:100;stroke-dashoffset:100;animation:logo-draw .52s cubic-bezier(.65,0,.35,1) forwards}.logo[data-variant=draw] .logo-a{animation-delay:.38s}.logo[data-variant=draw] .logo-hidden{animation-delay:.68s}.logo[data-variant=assemble] .logo-m{animation:logo-rise .7s cubic-bezier(.22,1,.36,1) both}.logo[data-variant=assemble] .logo-hidden{animation:logo-fade .7s ease-out both}.logo[data-variant=assemble] .logo-a{animation:logo-drop .9s cubic-bezier(.34,1.56,.64,1) .35s both,logo-hover 3.2s ease-in-out 1.4s infinite}.logo[data-variant=assemble] .logo-waves circle{animation:logo-wave 2.4s ease-out .9s infinite}.logo[data-variant=assemble] .logo-waves circle+circle{animation-delay:2.1s}.logo[data-variant=deploy] .logo-a{animation:logo-lift 1.6s cubic-bezier(.45,0,.55,1) infinite}.logo[data-variant=deploy] .logo-label{animation:logo-blink 1.6s ease-in-out infinite}html[data-theme-hop] .site-brand .logo-a-hop{animation:logo-theme-hop .56s cubic-bezier(.45,0,.55,1)}.logo-spin-stage{display:inline-block;perspective:400px}.logo[data-variant=spin] .logo-mark{animation:logo-spin 6s linear infinite;transform-style:preserve-3d}}.logo[data-split] .logo-a{transform:translateY(-14px)}.logo .logo-a{transition:transform .6s cubic-bezier(.34,1.56,.64,1)}@keyframes logo-draw{to{stroke-dashoffset:0}}@keyframes logo-rise{0%{transform:translateY(18px);opacity:0}}@keyframes logo-fade{0%{opacity:0}}@keyframes logo-drop{0%{transform:translateY(-34px);opacity:0}}@keyframes logo-hover{50%{transform:translateY(-3px)}}@keyframes logo-wave{0%{transform:scale(.6);opacity:.55}to{transform:scale(1.9);opacity:0}}@keyframes logo-lift{0%,to{transform:translateY(0)}45%,55%{transform:translateY(-12px)}}@keyframes logo-blink{50%{opacity:.55}}@keyframes logo-spin{to{transform:rotateY(1turn)}}@keyframes logo-theme-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}70%{transform:translateY(1.5px)}}.button .logo path{stroke:currentColor}.button .logo .logo-hidden{opacity:.4}