/* Accepted coal-loader motion, isolated from the application UI. */
.brand-logo { display: block; width: 11rem; max-width: 100%; height: auto; }
.brand-coal-loader--sm { --coal-size: 32px; }
.brand-coal-loader--md { --coal-size: 48px; }
.brand-coal-loader--lg { --coal-size: 64px; }
.brand-coal-loader { position: relative; flex: none; }
.brand-coal-loader .brand-coal-scene { display: none; }
.brand-coal-origin,.brand-coal-jump,.brand-coal-camera,.brand-coal-spin,.brand-coal-solid { display: block; }
.brand-coal-fallback { display: block; width: 100%; height: 100%; object-fit: contain; }
@supports (transform-style: preserve-3d) and (backface-visibility: hidden) {
  @media (prefers-reduced-motion: no-preference) {
    .brand-coal-loader .brand-coal-scene { display: block; }
    .brand-coal-fallback { display: none; }
  }
}
.brand-roll-scene { display: block; position: relative; width: 100%; height: 100%; min-height: 200px; overflow: hidden; }
.brand-roll-stage,.brand-roll-floor { position: absolute; inset: 0; pointer-events: none; }
.brand-roll-stage,.brand-roll-cube { transform-style: preserve-3d; }
.brand-roll-cube { position: absolute; left: calc(0px - var(--half)); top: calc(0px - var(--half)); width: calc(2 * var(--half)); height: calc(2 * var(--half)); }
.brand-roll-face { position: absolute; inset: 0; background-color: #312e2c; background-size: 100% 100%; border-radius: 2%; backface-visibility: hidden; opacity: var(--appear,1); box-shadow: inset 0 0 0 1px #aaa49b99,inset 0 0 5px #0007; }
.brand-roll-shadow { position: absolute; left: calc(-1.6 * var(--half)); top: calc(-.75 * var(--half)); width: calc(3.2 * var(--half)); height: calc(1.5 * var(--half)); background: radial-gradient(ellipse,rgba(41,33,26,.32),rgba(41,33,26,.18) 45%,transparent 72%); }
.brand-roll-name { position: absolute; left: 50%; transform: translateX(-50%); opacity: 0; pointer-events: none; height: auto; }
.brand-roll-static { display: flex; flex-direction: column; align-items: center; gap: 20px; position: absolute; inset: 0; justify-content: center; }
.brand-roll-static-mark { width: 114px; height: 130px; object-fit: contain; }
.brand-roll-static-word { width: min(224px,70%); height: auto; }
.brand-roll-static[hidden],.brand-roll-name[hidden] { display: none; }

.brand-coal-loader{display:inline-block;width:var(--coal-size,48px);height:var(--coal-size,48px);vertical-align:middle}.brand-coal-scene{position:relative;width:100%;height:100%;perspective:calc(var(--coal-size,48px)*3.395)}
.brand-coal-origin,.brand-coal-jump,.brand-coal-camera,.brand-coal-spin,.brand-coal-solid{transform-style:preserve-3d}.brand-coal-origin{position:absolute;left:50%;top:56%;width:1em;height:1em;font-size:calc(var(--coal-size,48px)*.462963);margin:-.5em}.brand-coal-jump,.brand-coal-camera,.brand-coal-spin,.brand-coal-solid{width:100%;height:100%}
.brand-coal-camera{transform:rotateX(-29deg) rotateY(-37deg)}.brand-coal-face{position:absolute;inset:0;background-size:100% 100%;background-color:#312e2c;border-radius:2%;backface-visibility:hidden;box-shadow:inset 0 0 0 .007em #aaa49b99,inset 0 0 .034em #0007}
.brand-coal-shadow{position:absolute;left:26%;width:48%;height:5.55%;top:90.72%;border-radius:50%;background:#29261d35;filter:blur(calc(var(--coal-size,48px)*.028))}
.brand-coal-jump{animation:brand-coal-hop 1720ms infinite ease-in-out}.brand-coal-spin{animation:brand-coal-spin 1720ms infinite}.brand-coal-solid{animation:brand-coal-land 10320ms infinite}.brand-coal-shadow{animation:brand-coal-shade 1720ms infinite ease-in-out}
@keyframes brand-coal-spin{0%{transform:rotate3d(1,.7,.35,0deg);animation-timing-function:cubic-bezier(.23,.46,.22,1)}77.906977%,100%{transform:rotate3d(1,.7,.35,720deg)}}
@keyframes brand-coal-hop{0%,77.906977%,100%{transform:translate(0,0)}21.813953%{transform:translate(-.08667em,-.33333em)}52.976744%{transform:translate(.03333em,.00667em)}62.325581%{transform:translate(.02em,-.06em)}}
@keyframes brand-coal-shade{0%,77.906977%,100%{transform:scale(1);opacity:1}21.813953%{transform:scale(.68);opacity:.48}52.976744%{transform:scale(1.08);opacity:1}}
@keyframes brand-coal-land{0.000000%{transform:rotateX(0deg);animation-timing-function:ease-in-out}12.984496%{transform:rotateZ(180deg)}16.666667%{transform:rotateZ(180deg);animation-timing-function:ease-in-out}29.651163%{transform:rotateZ(90deg)}33.333333%{transform:rotateZ(90deg);animation-timing-function:ease-in-out}46.317829%{transform:rotateZ(-90deg)}50.000000%{transform:rotateZ(-90deg);animation-timing-function:ease-in-out}62.984496%{transform:rotateX(-90deg)}66.666667%{transform:rotateX(-90deg);animation-timing-function:ease-in-out}79.651163%{transform:rotateX(90deg)}83.333333%{transform:rotateX(90deg);animation-timing-function:ease-in-out}96.317829%{transform:rotateX(0deg)}100%{transform:rotateX(0deg)}}
.brand-coal-loader[data-paused="true"] .brand-coal-jump,.brand-coal-loader[data-paused="true"] .brand-coal-spin,.brand-coal-loader[data-paused="true"] .brand-coal-solid,.brand-coal-loader[data-paused="true"] .brand-coal-shadow{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.brand-coal-jump,.brand-coal-spin,.brand-coal-solid,.brand-coal-shadow{animation:none}}
.brand-coal-face.brand-coal-top{transform:rotateX(90deg) translateZ(.5em);background-image:url(/brand/textures/top.webp)}.brand-coal-face.brand-coal-front{transform:rotateY(0deg) translateZ(.5em);background-image:url(/brand/textures/front.webp)}.brand-coal-face.brand-coal-right{transform:rotateY(90deg) translateZ(.5em);background-image:url(/brand/textures/right.webp)}.brand-coal-face.brand-coal-bottom{transform:rotateX(-90deg) translateZ(.5em);background-image:url(/brand/textures/bottom.webp)}.brand-coal-face.brand-coal-left{transform:rotateY(-90deg) translateZ(.5em);background-image:url(/brand/textures/left.webp)}.brand-coal-face.brand-coal-back{transform:rotateY(180deg) translateZ(.5em);background-image:url(/brand/textures/back.webp)}
