/* LEO → OPEN → LEO. Original artwork, one measured cycle every 10 seconds. */
.topbar .brand picture[hidden]{display:none}
.topbar .brand .brand-mark{display:block;width:108px;height:44px;overflow:visible;filter:brightness(0)}
.brand-mark .brand-word-layout,.brand-mark .brand-letter,.brand-mark .brand-letter-art,.brand-mark .brand-added{animation-duration:10s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(.65,0,.35,1);animation-fill-mode:both;will-change:transform,opacity}
.brand-mark .brand-word-layout{transform-origin:0 0;animation-name:leo-open-layout}
.brand-mark .brand-letter-O{animation-name:leo-open-O}
.brand-mark .brand-letter-E{animation-name:leo-open-E}
.brand-mark .brand-letter-L{animation-name:leo-open-L}
.brand-letter-O .brand-letter-art{animation-name:leo-open-lift-O}
.brand-letter-E .brand-letter-art{animation-name:leo-open-lift-E}
.brand-added-P{opacity:0;animation-name:leo-open-P}
.brand-added-N{opacity:0;animation-name:leo-open-N}
@keyframes leo-open-layout{0%,6%{transform:translate(0,0) scale(1)}27%,57%{transform:translate(1.25px,var(--leo-open-y,28.875px)) scale(var(--leo-open-scale,.75))}78%,100%{transform:translate(0,0) scale(1)}}
@keyframes leo-open-O{0%,6%{transform:translateX(0)}24%,57%{transform:translateX(-339px)}75%,100%{transform:translateX(0)}}
@keyframes leo-open-E{0%,9%{transform:translateX(0)}27%,60%{transform:translateX(289px)}78%,100%{transform:translateX(0)}}
@keyframes leo-open-L{0%,6%{opacity:1;transform:translateX(0)}12%,73.5%{opacity:0;transform:translateX(-18px)}81%,100%{opacity:1;transform:translateX(0)}}
@keyframes leo-open-lift-O{0%,6%{transform:translateY(0)}15%{transform:translateY(-70px)}24%,57%{transform:translateY(0)}66%{transform:translateY(-70px)}75%,100%{transform:translateY(0)}}
@keyframes leo-open-lift-E{0%,9%{transform:translateY(0)}18%{transform:translateY(18px)}27%,60%{transform:translateY(0)}69%{transform:translateY(18px)}78%,100%{transform:translateY(0)}}
@keyframes leo-open-P{0%,21%{opacity:0;transform:translateY(12px)}30%,54%{opacity:1;transform:translateY(0)}60%,100%{opacity:0;transform:translateY(12px)}}
@keyframes leo-open-N{0%,24%{opacity:0;transform:translateY(12px)}33%,54%{opacity:1;transform:translateY(0)}60%,100%{opacity:0;transform:translateY(12px)}}
.topbar .brand[data-logo-paused] .brand-word-layout,.topbar .brand[data-logo-paused] .brand-letter,.topbar .brand[data-logo-paused] .brand-letter-art,.topbar .brand[data-logo-paused] .brand-added,.topbar .brand:focus-visible .brand-word-layout,.topbar .brand:focus-visible .brand-letter,.topbar .brand:focus-visible .brand-letter-art,.topbar .brand:focus-visible .brand-added{animation:none;transform:none;opacity:1}
.topbar .brand[data-logo-paused] .brand-added,.topbar .brand:focus-visible .brand-added{opacity:0}
@media(max-width:760px){.topbar .brand .brand-mark{width:94px}}
@media(prefers-reduced-motion:reduce){.brand-mark .brand-word-layout,.brand-mark .brand-letter,.brand-mark .brand-letter-art,.brand-mark .brand-added{animation:none;transform:none;opacity:1;will-change:auto}.brand-mark .brand-added{opacity:0}}
@media print{.brand-mark .brand-word-layout,.brand-mark .brand-letter,.brand-mark .brand-letter-art,.brand-mark .brand-added{animation:none;transform:none;opacity:1}.brand-mark .brand-added{opacity:0}}

/* A quiet, half-opacity signature appears only after OPEN is fully formed. */
.topbar .brand{position:relative;width:228px;height:44px;--leo-open-scale:.75;--leo-open-y:28.875px}
.brand-communication{position:absolute;left:116px;top:0;display:flex;align-items:center;justify-content:flex-start;width:112px;height:44px;color:#000;opacity:0;pointer-events:none;animation:leo-open-communication 10s cubic-bezier(.65,0,.35,1) infinite both;will-change:opacity,transform}
.brand-communication svg{display:block;width:100%;height:20px;overflow:visible}
@keyframes leo-open-communication{0%,33%{opacity:0;transform:translateY(4px)}36%,51%{opacity:.5;transform:translateY(0)}54%,100%{opacity:0;transform:translateY(4px)}}
.topbar .brand[data-logo-paused] .brand-communication,.topbar .brand:focus-visible .brand-communication{animation:none;opacity:0;transform:none}
@media(max-width:760px){.topbar .brand{width:206px}.brand-communication{left:102px;width:104px}}
@media(max-width:360px){.topbar{gap:16px}.mobile-menu summary{padding-inline:16px}}
@media(max-width:340px){.topbar{gap:12px}.mobile-menu summary{padding-inline:14px}.topbar .brand{width:180px;--leo-open-scale:.62;--leo-open-y:43.89px}.brand-communication{left:84px;width:96px}}
@media(prefers-reduced-motion:reduce){.brand-communication{animation:none;opacity:0;transform:none;will-change:auto}}
@media print{.brand-communication{animation:none;opacity:0;transform:none}}
