/* A shared motion vocabulary for every public page, including CMS articles. */
:root{--im-duration:760ms;--im-ease:cubic-bezier(.16,1,.3,1);--im-travel:18px;--im-line:#d81f26;}
.im-signal{display:block;width:min(100%,640px);height:52px;margin:24px 0;overflow:visible;color:var(--ink-fg,#20201e);pointer-events:none;}
.im-signal line,.im-signal polyline{fill:none;stroke:currentColor;stroke-width:.65;opacity:.22;}
.im-signal circle{fill:var(--ink-paper,#f7f6f3);stroke:currentColor;stroke-width:1;}
.im-signal circle:nth-of-type(5n){fill:var(--im-line);stroke:var(--im-line);}
.im-heading{position:relative;}
.im-heading::after{content:"";position:absolute;left:0;bottom:-12px;width:56px;height:1px;background:var(--im-line);transform:scaleX(var(--im-draw,0));transform-origin:left;transition:transform 900ms var(--im-ease);pointer-events:none;}
.im-heading.im-entered{--im-draw:1;}
.im-card{position:relative;transition:border-color 300ms ease,box-shadow 300ms ease!important;}
.im-card.im-entered{border-top-color:#9f2f2d!important;}
.im-card:focus-within{border-color:var(--im-line)!important;}
.im-photo{translate:0 var(--im-y,0px);transition:translate 160ms linear;}
.im-button{transition:translate 240ms var(--im-ease),background-color 240ms ease,border-color 240ms ease!important;}
.im-button:active{translate:0 2px;}
.im-button:focus-visible{outline:2px solid var(--im-line);outline-offset:4px;}
@media(hover:hover) and (pointer:fine){.im-card:hover{border-color:#9f2f2d!important;box-shadow:0 6px 22px #20201e08!important;}.im-button:hover{translate:0 -2px;}}
@media(max-width:640px){:root{--im-travel:10px;}.im-signal{height:40px;margin:20px 0;}.im-heading::after{width:40px;bottom:-9px;}}
@media(prefers-reduced-motion:reduce){.im-signal{display:none;}.im-heading::after{transform:scaleX(1);transition:none;}.im-photo,.im-button{translate:none!important;transition:none!important;}.im-card{transition:none!important;}}
