/* Original artwork, choreographed as a short identity film.
   Transform, opacity and clip-path only; static mark is the default. */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
.brand{position:relative;display:block;isolation:isolate}
.wordmark{--wm-speed:1}
.wordmark--slow{--wm-speed:3}
.brand .wordmark{display:block;width:216px;height:auto;overflow:visible;transform-origin:center;transition:transform 120ms var(--ease-out)}
.wordmark .wm-assembly{display:none}
.wordmark .wm-highlight,.wordmark .wm-trace{pointer-events:none}
.wordmark .wm-light,.wordmark .wm-trace{opacity:0}
.wordmark.is-playing .wm-still{visibility:hidden}
.wordmark.is-playing .wm-assembly{display:inline}
.wordmark.is-playing .wm-letter{animation:wm-letter-arrive calc(820ms * var(--wm-speed)) var(--ease-out) both;animation-delay:calc(var(--letter-delay) * var(--wm-speed))}
.wordmark.is-playing .wm-signature-reveal{animation:wm-signature-unfold calc(740ms * var(--wm-speed)) var(--ease-in-out) calc(440ms * var(--wm-speed)) both}
.wordmark.is-playing .wm-signature{animation:wm-signature-land calc(740ms * var(--wm-speed)) var(--ease-out) calc(440ms * var(--wm-speed)) both}
.wordmark.is-playing .wm-light{animation:wm-light-pass calc(660ms * var(--wm-speed)) var(--ease-in-out) calc(940ms * var(--wm-speed)) both}
.wordmark.is-playing .wm-trace{transform-origin:338px 148px;animation:wm-trace-pass calc(1040ms * var(--wm-speed)) var(--ease-in-out) calc(450ms * var(--wm-speed)) both}
@keyframes wm-letter-arrive{
 0%{transform:translateY(60px);opacity:0}
 60%{opacity:1}
 100%{transform:translateY(0);opacity:1}
}
@keyframes wm-signature-unfold{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes wm-signature-land{from{transform:translateX(-22px);opacity:.3}to{transform:translateX(0);opacity:1}}
@keyframes wm-light-pass{
 0%{transform:translateX(0);opacity:0}
 12%{opacity:.85}
 80%{opacity:.85}
 100%{transform:translateX(1230px);opacity:0}
}
@keyframes wm-trace-pass{
 0%{transform:scaleX(0);opacity:0}
 18%{opacity:.7}
 67%{transform:scaleX(1);opacity:.7}
 100%{transform:scaleX(1);opacity:0}
}
/* Pointer intent gets a single light pass; fast re-entry cannot stack effects. */
@media(hover:hover) and (pointer:fine){
 .wordmark.is-polishing .wm-light{animation:wm-light-pass 560ms var(--ease-in-out) both}
 .brand:active .wordmark{transform:scale(.985)}
}
@media(max-width:1150px){.brand .wordmark{width:187px}}
@media(max-width:980px){.brand .wordmark{width:210px}}
@media(max-width:740px){.brand .wordmark{width:183px}}
@media(max-width:390px){.brand .wordmark{width:165px}}
@media(prefers-reduced-motion:reduce){
 .wordmark .wm-still{visibility:visible!important}
 .wordmark .wm-assembly,.wordmark .wm-highlight,.wordmark .wm-trace{display:none!important}
 .wordmark *{animation:none!important;transition:none!important}
 .brand .wordmark{transform:none!important;transition:none}
}
