.jd-site-footer,
.jd-site-footer *,
.jd-site-footer *::before,
.jd-site-footer *::after{box-sizing:border-box}
.jd-site-footer{
  position:relative;
  z-index:2;
  clear:both;
  width:calc(100% - clamp(16px,1.3vw,24px));
  margin:clamp(14px,1.2vw,20px) auto clamp(10px,1vw,16px);
  overflow:hidden;
  color:#eef4f8;
  background:linear-gradient(90deg,#03101a 0%,#061421 48%,#03101a 100%);
  border:1px solid rgba(22,157,255,.62);
  border-radius:clamp(12px,1vw,18px);
  box-shadow:0 12px 34px rgba(0,0,0,.30),0 0 20px rgba(22,157,255,.07)
}
.jd-site-footer__top{
  display:grid;
  grid-template-columns:auto auto minmax(80px,1fr) minmax(360px,auto);
  align-items:center;
  gap:clamp(20px,2.2vw,42px);
  min-height:clamp(54px,4vw,68px);
  padding:clamp(8px,.8vw,12px) clamp(22px,2.7vw,50px)
}
.jd-site-footer__brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#f5f0e8!important;
  text-decoration:none!important;
  white-space:nowrap
}
.jd-site-footer__brand img{
  display:block;
  width:clamp(28px,1.8vw,36px);
  height:clamp(28px,1.8vw,36px);
  object-fit:contain
}
.jd-site-footer__brand span{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(14px,.95vw,17px);
  font-weight:700;
  letter-spacing:-.02em
}
.jd-site-footer__motto{
  display:inline-flex;
  align-items:center;
  gap:clamp(20px,2vw,34px);
  color:rgba(188,206,220,.64);
  font-size:clamp(7px,.48vw,9px);
  font-weight:800;
  letter-spacing:.34em;
  text-transform:uppercase;
  white-space:nowrap
}
.jd-site-footer__line{
  position:relative;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(104,219,255,.12) 12%,rgba(104,219,255,.22) 50%,rgba(104,219,255,.12) 88%,transparent 100%)
}
.jd-site-footer__line::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:clamp(34px,3vw,50px);
  height:1px;
  transform:translate(-50%,-50%);
  background:#ee8a32;
  box-shadow:0 0 7px rgba(238,138,50,.28)
}
.jd-site-footer__services{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  min-width:0;
  gap:0;
  color:rgba(194,211,224,.70);
  font-size:clamp(7px,.48vw,9px);
  font-weight:800;
  letter-spacing:.20em;
  text-transform:uppercase;
  white-space:nowrap
}
.jd-site-footer__services span + span::before{
  content:"";
  display:inline-block;
  width:3px;
  height:3px;
  margin:0 clamp(11px,1vw,17px);
  border-radius:50%;
  background:rgba(104,219,255,.48);
  vertical-align:middle;
  transform:translateY(-1px)
}
.jd-site-footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:clamp(9px,.75vw,12px) clamp(22px,2.7vw,50px) clamp(10px,.8vw,13px);
  border-top:1px solid rgba(104,219,255,.10);
  background:rgba(2,9,15,.22);
  color:rgba(175,192,205,.70);
  font-size:clamp(9px,.62vw,11px);
  line-height:1.4
}
.jd-site-footer__copyright{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 12px
}
.jd-site-footer__copyright strong{
  color:rgba(237,242,246,.92);
  font-weight:700
}
.jd-site-footer__legal{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  white-space:nowrap
}
.jd-site-footer__legal a{
  color:rgba(192,213,228,.82)!important;
  text-decoration:none!important
}
.jd-site-footer__legal a + a::before{
  content:"";
  display:inline-block;
  width:3px;
  height:3px;
  margin:0 14px;
  border-radius:50%;
  background:rgba(104,219,255,.38);
  vertical-align:middle;
  transform:translateY(-1px)
}
.jd-site-footer__legal a:hover,
.jd-site-footer__legal a:focus-visible{
  color:#68dbff!important;
  outline:none
}
/* Access/form pages: one shell surrounds main + footer. */
.jd-access-shell{
  position:relative;
  width:min(calc(100% - 12px),1536px);
  min-height:calc(100svh - 12px);
  margin:6px auto;
  overflow:hidden;
  border:1px solid rgba(22,157,255,.62);
  border-radius:22px;
  background:#03101a;
  box-shadow:0 20px 48px rgba(0,0,0,.36),0 0 22px rgba(22,157,255,.08);
}
body.jd-account-access .jd-access-shell,
body.jd-reset-page .jd-access-shell{
  background:url("/public/media/shells/Sign_In.webp") center/100% 100% no-repeat #03101a;
}
body.jd-order-tracking .jd-access-shell,
body.jd-return-page .jd-access-shell{
  background:url("/public/media/shells/Sites_listings.webp") center/100% 100% no-repeat #03101a;
}
.jd-access-shell > #site-content{
  position:relative;
  z-index:1;
  background:transparent!important;
}
.jd-access-shell > .jd-site-footer{
  position:relative;
  z-index:1;
  width:100%;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid rgba(104,219,255,.12)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.jd-access-shell > .jd-site-footer .jd-site-footer__bottom{
  background:transparent!important;
}
@media(max-width:720px){
  .jd-access-shell{
    width:calc(100% - 6px);
    min-height:calc(100svh - 6px);
    margin:3px auto;
    border-radius:18px;
  }
}

/* Dashboard/client pages: the shell itself surrounds main + footer.
   The inner wrapper only spaces content and never draws another visual container. */
body .jd-client-shell{
  padding:0!important;
}
body .jd-client-shell > #site-content{
  width:100%;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
body .jd-client-shell .jd-client-shell-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:58px 52px 34px!important;
  background:transparent!important;
}
body .jd-client-shell > .jd-site-footer{
  width:100%;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid rgba(104,219,255,.12)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body .jd-client-shell > .jd-site-footer .jd-site-footer__bottom{
  background:transparent!important;
}
@media(max-width:1050px){
  body .jd-client-shell .jd-client-shell-content{
    padding:40px 30px 26px!important;
  }
}
@media(max-width:720px){
  body .jd-client-shell .jd-client-shell-content{
    padding:22px 14px 20px!important;
  }
}

/* When the footer lives inside a page shell, it is part of that shell rather than a second container. */
.jd-shell-frame > .jd-site-footer,
.jd-frame > .jd-site-footer,
.home-hero > .jd-site-footer{
  width:100%;
  margin:0;
  background:transparent;
  border:0;
  border-top:1px solid rgba(104,219,255,.12);
  border-radius:0;
  box-shadow:none;
}
.jd-shell-frame > .jd-site-footer .jd-site-footer__bottom,
.jd-frame > .jd-site-footer .jd-site-footer__bottom,
.home-hero > .jd-site-footer .jd-site-footer__bottom{
  background:transparent;
}
.home-hero > .jd-site-footer{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:80;
}
.home-hero > .home-hero__inner{
  padding-bottom:clamp(104px,8vw,132px);
}

@media(max-width:1050px){
  .jd-site-footer__top{
    grid-template-columns:auto 1fr;
    grid-template-areas:"brand services" "motto motto" "line line";
    gap:10px 18px
  }
  .jd-site-footer__brand{grid-area:brand}
  .jd-site-footer__motto{grid-area:motto}
  .jd-site-footer__line{grid-area:line}
  .jd-site-footer__services{grid-area:services}
  .jd-site-footer__bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:8px
  }
  .jd-site-footer__legal{justify-content:flex-start}
}
@media(max-width:720px){
  .jd-site-footer{
    width:calc(100% - 8px);
    margin:8px auto 6px
  }
  .jd-site-footer__top{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:11px;
    padding:15px 18px
  }
  .jd-site-footer__services{
    flex-wrap:wrap;
    justify-content:flex-start;
    white-space:normal
  }
  .jd-site-footer__bottom{
    padding:12px 18px 15px
  }
  .jd-site-footer__legal{
    white-space:normal;
    flex-wrap:wrap
  }
}