/* SITEHUB LOGO MOTION v1.2 · 2026-10-29
   Artwork: original approved SiteHub brand images (unmodified pixels).
   The uploaded LOGO.gif is actually a non-animated PNG with nearly black pixels,
   so it is not displayed. Motion is provided by CSS until a valid GIF is supplied.
   No preloader, page overlay or third-party project brand is affected.
*/
.sh-motion-logo,
.sh-motion-mark {
  display: block;
  max-width: 100%;
  object-fit: contain;
  transform-origin: center center;
  backface-visibility: hidden;
  will-change: auto;
}
/* Full wordmark: one careful entrance, then a subtle ambient brand shimmer. */
.sh-motion-logo {
  animation: sh-logo-reveal .78s cubic-bezier(.2,.75,.22,1) both,
             sh-logo-lustre 7s ease-in-out .85s infinite;
}
/* Small badges remain restrained so text, buttons and forms stay legible. */
.sh-motion-mark {
  animation: sh-mark-reveal .8s cubic-bezier(.2,.75,.22,1) both,
             sh-mark-lustre 6.5s ease-in-out 1s infinite;
}
@keyframes sh-logo-reveal {
  from {opacity:.7; transform:translate3d(0,6px,0)}
  to   {opacity:1; transform:translate3d(0,0,0)}
}
@keyframes sh-mark-reveal {
  from {opacity:.65; transform:translate3d(0,5px,0) scale(.98)}
  to   {opacity:1; transform:translate3d(0,0,0) scale(1)}
}
@keyframes sh-logo-lustre {
  0%, 100% {filter:brightness(1) drop-shadow(0 0 0 rgba(255,112,38,0))}
  50% {filter:brightness(1.06) drop-shadow(0 0 5px rgba(255,112,38,.19))}
}
@keyframes sh-mark-lustre {
  0%, 100% {filter:brightness(1) drop-shadow(0 0 0 rgba(255,76,38,0))}
  50% {filter:brightness(1.075) drop-shadow(0 0 6px rgba(255,76,38,.2))}
}
@media(hover:hover) and (pointer:fine){
  a:hover > .sh-motion-logo, a:hover > .sh-motion-mark,
  a:hover .sh-motion-logo, a:hover .sh-motion-mark {filter:brightness(1.12) drop-shadow(0 0 9px rgba(255,112,38,.25))}
}
/* Hero: one supplied brand lockup, no duplicates or cut-off black ribbon tiles. */
.sh-stage-core .sh-stage-brand-lockup {
  width:min(460px,100%);
  max-width:100%;
  margin-inline:auto;
  display:grid;
  place-items:center;
  line-height:0;
}
.sh-stage-core .sh-stage-brand-lockup > img {
  width:100%;
  height:auto;
  max-width:100%;
  display:block;
}
/* Retain existing layout sizes on phones, preventing horizontal overflow. */
@media(max-width:700px){
  .sh-stage-core .sh-stage-brand-lockup{width:min(410px,100%)}
}
@media(prefers-reduced-motion:reduce){
  .sh-motion-logo,.sh-motion-mark{
    animation:none!important;
    transition:none!important;
    filter:none!important;
    transform:none!important;
  }
}
