/* JustWork site footer (EngineTech-style layout, JustWork theme).
   Uses the page's --font-heading / --font-body; colors are the home ink/paper. */
/* z-index 3: above the page content (z2) and fixed bg-video (z0), but BELOW the
   fixed chat bubble (25), chat panel (27) and slot picker (60) so they aren't covered. */
.site-footer{position:relative;z-index:3;overflow:hidden;background:#0d0d0d;color:#f2f0ea;
  font-family:var(--font-body,'Helvetica Neue',Arial,sans-serif);--footer-max:1820px;}

.footer-dots{position:relative;height:120px;overflow:hidden;background:#0d0d0d;}
.footer-dots__line{position:absolute;left:0;top:50%;width:200%;height:70px;opacity:.75;transform:translateY(-50%);
  background-image:
    radial-gradient(circle, rgba(242,240,234,.55) 1.5px, transparent 2px),
    radial-gradient(circle, rgba(242,240,234,.35) 1px, transparent 1.5px),
    radial-gradient(circle, rgba(242,240,234,.45) 1.2px, transparent 1.8px);
  background-position:0 8px,24px 22px,48px 14px;
  background-size:72px 38px,110px 44px,160px 52px;
  animation:footerDotsMove 18s linear infinite;}
@keyframes footerDotsMove{from{transform:translate3d(0,-50%,0);}to{transform:translate3d(-50%,-50%,0);}}
@media (prefers-reduced-motion:reduce){.footer-dots__line{animation:none;}}

.site-footer__inner{width:min(100% - 96px,var(--footer-max));margin:0 auto;padding:clamp(34px,4vw,66px) 0 clamp(18px,2vw,34px);}

.site-footer__top{display:grid;grid-template-columns:minmax(280px,1.25fr) repeat(3,minmax(140px,.42fr));
  gap:clamp(28px,4vw,76px);min-height:clamp(200px,22vw,320px);}
.site-footer__h{font-family:var(--font-heading,inherit);max-width:680px;margin:0;color:#fff;
  font-size:clamp(32px,3.5vw,60px);letter-spacing:-0.025em;line-height:1.06;font-weight:400;}
.site-footer__nav{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(14px,1.35vw,22px);}
.site-footer__nav a{color:rgba(242,240,234,.88);font-size:16px;font-weight:500;line-height:1.1;
  transition:color .18s ease,transform .18s ease;}
.site-footer__nav a:hover{color:#fff;transform:translateX(3px);}

.site-footer__brand-row{width:100%;margin-top:clamp(18px,3vw,46px);}
.site-footer__brand{display:flex;align-items:center;width:100%;color:#fff;}
.site-footer__mark{position:relative;flex:0 0 clamp(48px,6vw,104px);aspect-ratio:1;margin-right:clamp(14px,1.6vw,28px);
  overflow:hidden;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;}
.site-footer__mark span{color:#0d0d0d;font-size:clamp(24px,3.3vw,58px);line-height:1;}
.site-footer__word{display:block;flex:1 1 auto;min-width:0;font-family:var(--font-heading,inherit);
  font-size:clamp(54px,11vw,210px);font-weight:500;letter-spacing:-0.055em;line-height:.78;white-space:nowrap;}

.site-footer__legal{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 18px;
  margin-top:clamp(14px,1.4vw,24px);color:rgba(242,240,234,.52);font-size:10px;line-height:1.35;letter-spacing:.02em;}
.site-footer__legal p{margin:0;}
.site-footer__legal a{color:inherit;}
.site-footer__legal a:hover{color:#fff;}

@media (max-width:980px){
  .site-footer__inner{width:min(100% - 48px,var(--footer-max));}
  .site-footer__top{grid-template-columns:1fr 1fr;}
  .site-footer__h{grid-column:1 / -1;}
}
@media (max-width:560px){
  .site-footer__inner{width:min(100% - 32px,var(--footer-max));}
  .site-footer__top{grid-template-columns:1fr;min-height:auto;}
  .site-footer__nav a{font-size:15px;}
  .site-footer__mark{flex-basis:clamp(38px,12vw,58px);}
  .site-footer__word{font-size:clamp(45px,18vw,84px);}
}
