:root{--sdf-purple:#5d13af;--sdf-pink:#ff3bbf;--sdf-bg:#121921;--sdf-container:1320px}.sdf-footer,.sdf-footer *,.sdf-footer *:before,.sdf-footer *:after,.sd-site-dock,.sd-site-dock *{box-sizing:border-box}.sdf-footer{position:relative;color:#fff;background:var(--sdf-bg);font-family:"Montserrat",system-ui,sans-serif}.sdf-brand-line{height:4px;background:linear-gradient(90deg,var(--sdf-purple),#8b29cc,var(--sdf-pink),var(--sdf-purple))}.sdf-container{width:min(calc(100% - 48px),var(--sdf-container));margin:0 auto}.sdf-intro{display:grid;grid-template-columns:310px minmax(330px,1fr) auto;align-items:center;gap:60px;padding:72px 0 62px}.sdf-logo{display:inline-flex;align-items:center;color:#fff;text-decoration:none}.sdf-logo img{display:block;width:auto;height:74px;max-width:310px;object-fit:contain}.sdf-logo-fallback{font-family:"Raleway",sans-serif;font-size:31px;font-weight:650;letter-spacing:-.045em}.sdf-logo-fallback strong{font-weight:850}.sdf-about-copy{max-width:520px}.sdf-about-copy h2{margin:0 0 10px;color:#fff;font-family:"Raleway",sans-serif;font-size:20px;font-weight:800}.sdf-about-copy p{margin:0;color:rgba(255,255,255,.68);font-size:16px;line-height:1.75}.sdf-social-wrap{justify-self:end}.sdf-social-wrap>span{display:block;margin-bottom:11px;color:rgba(255,255,255,.48);font-size:13px;font-weight:650}.sdf-socials{display:flex;flex-wrap:wrap;gap:9px}.sdf-socials a{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#fff;background:rgba(255,255,255,.045);font-size:13px;font-weight:800;text-decoration:none;transition:.2s ease}.sdf-socials a:hover{border-color:rgba(255,59,191,.42);background:rgba(93,19,175,.20);transform:translateY(-2px)}.sdf-divider{height:1px;background:rgba(255,255,255,.10)}.sdf-links{display:grid;grid-template-columns:1fr 1.15fr .95fr 1fr .8fr;gap:42px;padding:56px 0 60px}.sdf-links>div{display:grid;align-content:start;gap:13px}.sdf-links h2{position:relative;margin:0 0 14px;padding-bottom:13px;color:#fff;font-family:"Raleway",sans-serif;font-size:18px;font-weight:800;letter-spacing:-.02em}.sdf-links h2:after{content:"";position:absolute;left:0;bottom:0;width:72px;height:2px;background:linear-gradient(90deg,var(--sdf-purple),var(--sdf-pink))}.sdf-links a{width:max-content;max-width:100%;color:rgba(255,255,255,.70);font-size:15px;line-height:1.5;text-decoration:none;transition:color .2s ease,transform .2s ease}.sdf-links a:hover{color:#f0d7ff;transform:translateX(3px)}.sdf-bottom{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.10)}.sdf-bottom p{margin:0;color:rgba(255,255,255,.52);font-size:13px;line-height:1.5}.sdf-footer a:focus-visible,.sd-site-dock a:focus-visible,.sd-site-dock button:focus-visible{outline:2px solid var(--sdf-pink);outline-offset:3px}
@media(max-width:980px){.sdf-intro{grid-template-columns:1fr;gap:28px}.sdf-social-wrap{justify-self:start}.sdf-links{grid-template-columns:repeat(3,1fr);gap:38px}.sdf-logo img{height:66px}}@media(max-width:680px){.sdf-container{width:min(calc(100% - 30px),var(--sdf-container))}.sdf-intro{padding:54px 0 44px}.sdf-about-copy p{font-size:15px}.sdf-links{grid-template-columns:1fr 1fr;gap:38px 26px;padding:45px 0}.sdf-links h2{font-size:17px}.sdf-links a{font-size:14.5px}.sdf-bottom{align-items:flex-start;flex-direction:column;justify-content:center;padding:22px 0}}@media(max-width:420px){.sdf-links{grid-template-columns:1fr}.sdf-logo img{height:58px;max-width:250px}}
/* v1.7 icon + readability refinements */
.sdf-socials a .sd-icon{width:20px;height:20px;stroke-width:1.9}
.sdf-bottom p{font-size:14px}




/* ==========================================================
   v1.9 Footer — denser desktop, two-column mobile, no legacy
   Astra/footer scroll controls beneath the custom footer.
   ========================================================== */
.sdf-links{grid-template-columns:1fr 1.18fr .95fr 1.15fr;gap:48px}
.sdf-links a strong{font-size:12px;letter-spacing:.08em;color:#f4d6ff}
#ast-scroll-top,.ast-scroll-top-icon,.ast-scroll-to-top-right,.ast-scroll-to-top-left,.ast-footer-overlay,.site-below-footer-wrap:empty,.site-primary-footer-wrap:empty{display:none}
html,body{margin-bottom:0}
body>.site-footer:empty,body>.ast-footer-overlay:empty{display:none}
@media(max-width:980px){.sdf-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 34px}}
@media(max-width:680px){.sdf-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 22px}.sdf-links>div{min-width:0}.sdf-links a{width:auto}.sdf-links h2{font-size:17px}}
@media(max-width:420px){.sdf-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}.sdf-links h2{font-size:16px}.sdf-links a{font-size:13.5px;line-height:1.45}}

/* v1.9: remove any parent-theme scroll/footer residue below the custom footer */
body #ast-scroll-top,body .ast-scroll-to-top-right,body .ast-scroll-to-top-left,body .ast-scroll-top-icon,
body .ast-builder-footer-grid-columns,body .site-footer-focus-item:empty,body footer.site-footer:empty{display:none}
body .sdf-footer{margin-bottom:0}


/* ==========================================================
   v3.5.7 FOOTER VISIBILITY
   ========================================================== */
.sdf-footer :is(h2,h3,strong){color:#fff!important}.sdf-footer a{transition:color .18s ease,opacity .18s ease,transform .18s ease}

/* Shared public/member contact and scroll controls. */
.sd-site-dock{
  --sd-dock-size:60px;
  --sd-dock-gap:10px;
  position:fixed;
  right:max(24px,env(safe-area-inset-right));
  bottom:calc(22px + env(safe-area-inset-bottom));
  z-index:99980;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--sd-dock-gap);
  font-family:"Montserrat",Arial,sans-serif;
  transition:opacity .18s ease,visibility .18s ease;
}
.sd-site-dock [hidden]{display:none!important}
.sd-site-dock.is-obscured{opacity:0;visibility:hidden;pointer-events:none}
.sd-site-chat-button,.sd-site-top-button{
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  margin:0;
  padding:0;
  min-width:0;
  min-height:0;
  border:1px solid rgba(255,255,255,.22);
  border-radius:20px;
  color:#fff;
  font:inherit;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.sd-site-chat-button{
  width:var(--sd-dock-size);
  height:var(--sd-dock-size);
  background:linear-gradient(145deg,#8030d4 0%,#5d13af 55%,#72169e 100%);
  box-shadow:0 10px 30px rgba(51,11,76,.30),0 2px 6px rgba(12,4,20,.16),inset 0 1px 1px rgba(255,255,255,.22);
}
.sd-site-chat-emblem{position:relative;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.17);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.02));pointer-events:none}
.sd-site-dock svg{display:block;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.sd-site-chat-glyph{width:31px;height:31px;stroke-width:1.8;transition:opacity .16s ease,transform .2s ease}
.sd-site-close-glyph{position:absolute;width:24px;height:24px;stroke-width:1.8;opacity:0;transform:rotate(-45deg);transition:opacity .16s ease,transform .2s ease}
.sd-site-chat-button[aria-expanded="true"] .sd-site-chat-glyph{opacity:0;transform:scale(.8)}
.sd-site-chat-button[aria-expanded="true"] .sd-site-close-glyph{opacity:1;transform:none}
.sd-site-top-button{width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#302039,#190e23);box-shadow:0 8px 22px rgba(20,7,29,.24),inset 0 1px rgba(255,255,255,.12)}
.sd-site-top-glyph{width:22px;height:22px;stroke-width:1.8}
.sd-site-control-tip{position:absolute;right:calc(100% + 13px);top:50%;width:max-content;max-width:180px;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:10px;color:#fff;background:#21132c;box-shadow:0 5px 16px rgba(17,6,26,.16);font-size:11px;font-weight:700;line-height:1.3;opacity:0;visibility:hidden;pointer-events:none;transform:translate(4px,-50%);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.sd-site-dock button:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 5px #6723a7,0 12px 30px rgba(44,10,65,.30)}
.sd-site-dock button:focus-visible .sd-site-control-tip{opacity:1;visibility:visible;transform:translate(0,-50%)}
.sd-site-chat-button[aria-expanded="true"] .sd-site-control-tip{display:none}
.sd-site-chat-menu{
  position:absolute;
  right:0;
  bottom:calc(100% + 14px);
  width:min(326px,calc(100vw - 32px - env(safe-area-inset-right)));
  max-height:calc(100dvh - 190px - env(safe-area-inset-bottom));
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:18px;
  border:1px solid rgba(232,211,250,.18);
  border-radius:23px;
  color:#fff;
  background:radial-gradient(circle at 100% 0,rgba(139,57,188,.16),transparent 45%),linear-gradient(145deg,#24112f,#150a1e);
  box-shadow:0 22px 65px rgba(15,4,23,.27),inset 0 1px rgba(255,255,255,.05);
}
.sd-site-chat-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}
.sd-site-chat-heading>div{min-width:0}
.sd-site-chat-heading>div>span{display:block;margin:0 0 6px;color:#d0b3e5;font-size:9px;font-weight:800;letter-spacing:.17em;line-height:1.3}
.sd-site-chat-heading strong{display:block;color:#fff;font:800 20px/1.2 "Raleway",Arial,sans-serif;letter-spacing:-.025em}
.sd-site-chat-close{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;margin:0;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#eadcf3;background:rgba(255,255,255,.04);cursor:pointer}
.sd-site-chat-close svg{width:16px;height:16px;stroke-width:1.8}
.sd-site-chat-menu .sd-site-chat-intro{margin:0 0 16px;color:#c7b8cf;font-size:12px;line-height:1.6}
.sd-site-chat-menu a{display:grid;grid-template-columns:38px minmax(0,1fr) 14px;align-items:center;gap:11px;min-height:70px;margin-top:8px;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:15px;color:#fff;text-decoration:none;background:rgba(255,255,255,.035);transition:background .16s ease,border-color .16s ease}
.sd-site-chat-menu a>i{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(225,178,249,.12);border-radius:12px;color:#dfb9f7;background:rgba(141,58,188,.12);font-style:normal}
.sd-site-chat-menu a>i svg{width:20px;height:20px;stroke-width:1.7}
.sd-site-chat-menu a>span{display:grid;min-width:0;gap:4px}
.sd-site-chat-menu a strong{color:#fff;font-size:14px;font-weight:750;line-height:1.3}
.sd-site-chat-menu a small{color:#c7b8cf;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.sd-site-chat-menu .sd-site-channel-arrow{width:14px;height:14px;stroke-width:1.7;color:#d8b4ed}
.sd-site-chat-menu a:focus-visible{outline:2px solid #dd99ff;outline-offset:2px;background:rgba(130,57,173,.17)}
@media(hover:hover){
  .sd-site-chat-button:hover,.sd-site-top-button:hover{color:#fff;border-color:rgba(255,255,255,.42);transform:translateY(-2px);box-shadow:0 14px 34px rgba(51,11,76,.32),inset 0 1px rgba(255,255,255,.22)}
  .sd-site-chat-button:hover .sd-site-control-tip,.sd-site-top-button:hover .sd-site-control-tip{opacity:1;visibility:visible;transform:translate(0,-50%)}
  .sd-site-chat-menu a:hover{color:#fff;border-color:rgba(211,144,249,.25);background:rgba(130,57,173,.17)}
  .sd-site-chat-close:hover{color:#fff;background:rgba(255,255,255,.10)}
}
@media(max-width:620px){
  .sd-site-dock{--sd-dock-size:54px;--sd-dock-gap:8px;right:calc(14px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom))}
  .sd-site-chat-button{border-radius:18px}
  .sd-site-chat-emblem{width:40px;height:40px;border-radius:12px}
  .sd-site-chat-glyph{width:29px;height:29px}
  .sd-site-top-button{width:44px;height:44px;border-radius:14px}
  .sd-site-top-glyph{width:20px;height:20px}
  .sd-site-chat-menu{padding:16px;border-radius:21px}
  .sd-site-chat-close{width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){.sd-site-dock,.sd-site-dock *{transition:none!important}}
/* Circular contact launcher; fixed positions keep it above Back to top. */
.sd-site-dock{--sd-dock-size:56px;right:calc(24px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));width:56px;height:132px;pointer-events:none}
.sd-site-dock>button,.sd-site-chat-menu{pointer-events:auto}
.sd-site-chat-button{position:absolute;top:0;right:0;width:56px;height:56px;border:0;border-radius:50%;background:linear-gradient(90deg,#5d13af,#ff3bbf);box-shadow:0 10px 15px -3px rgba(0,0,0,.25),0 4px 6px -4px rgba(0,0,0,.25);transition:transform .25s ease,box-shadow .25s ease}
.sd-site-chat-button:before{content:"";position:absolute;inset:-9px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,transparent 48%,rgba(255,59,191,.18) 62%,transparent 73%);opacity:.3;animation:sd-contact-welcome 1.8s ease-in-out 2}
.sd-site-chat-emblem{width:32px;height:32px;border:0;border-radius:0;background:none}
.sd-site-chat-glyph{width:24px;height:24px;stroke-width:2}
.sd-site-top-button{position:absolute;right:4px;bottom:0;width:48px;height:48px}
.sd-site-chat-menu{bottom:calc(100% + 12px)}
@keyframes sd-contact-welcome{0%,100%{opacity:.2;transform:scale(.92)}50%{opacity:.9;transform:scale(1.12)}}
@media(hover:hover){.sd-site-chat-button:hover{transform:scale(1.1);box-shadow:0 12px 25px rgba(93,19,175,.35),0 8px 30px rgba(255,59,191,.25)}}
@media(max-width:768px){.sd-site-dock{right:calc(18px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));height:128px}.sd-site-chat-button{border-radius:50%}.sd-site-chat-emblem{width:32px;height:32px;border-radius:0}.sd-site-chat-glyph{width:24px;height:24px}.sd-site-top-button{width:44px;height:44px;right:6px}}
@media(prefers-reduced-motion:reduce){.sd-site-chat-button:before{animation:none}.sd-site-chat-button{transition:none}}
