.site-footer{
  background:#121338;
  color:#fff;
  margin-top:4rem;
  position:relative;
  font-size:.95rem;
  line-height:1.6;
}
.site-footer::before{
  content:"";
  display:block;
  height:4px;
  background:linear-gradient(90deg,#e75480,#ff5fa2,#5da6ff);
}
.footer-inner{
  max-width:1200px;
  margin:0 auto;
  padding:3.5rem 2rem 2rem;
  display:grid;
  grid-template-columns:2.4fr 1fr 1fr 1fr;
  gap:2.5rem;
}
@media(max-width:900px){
  .footer-inner{
    grid-template-columns:1fr 1fr;
    gap:2rem;
  }
}
@media(max-width:540px){
  .footer-inner{
    grid-template-columns:1fr;
  }
}
.footer-brand p{
  color:rgba(255,255,255,.65);
  font-size:.88rem;
  line-height:1.65;
  margin:0 0 1rem;
}
.footer-brand > p:first-of-type{
  white-space:nowrap;
}
.footer-brand .footer-logo{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-bottom:1.2rem;
}
.footer-brand .footer-logo svg{
  width:40px;
  height:40px;
  flex-shrink:0;
}
.footer-brand .footer-logo span{
  font-weight:800;
  font-size:1.05rem;
  letter-spacing:-.01em;
}
.footer-addresses{
  display:flex;
  flex-direction:column;
  gap:.6rem;
}
.footer-addresses p{
  margin:0;
  font-size:.82rem;
  color:rgba(255,255,255,.55);
  line-height:1.55;
}
.footer-addresses strong{
  color:rgba(255,255,255,.85);
  font-weight:700;
}
.footer-col h4{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:rgba(255,255,255,.4);
  margin:0 0 1rem;
  font-weight:700;
}
.footer-col a{
  display:flex;
  align-items:center;
  gap:.45rem;
  color:rgba(255,255,255,.75);
  text-decoration:none;
  font-size:inherit;
  font-weight:500;
  padding:.35rem 0;
  transition:color .2s ease,padding-left .2s ease;
}
.footer-col a:hover{
  color:#fff;
  padding-left:.3rem;
}
.footer-col a i{
  font-size:.7rem;
  color:#ff5fa2;
  opacity:.6;
  transition:opacity .2s ease;
}
.footer-col a:hover i{
  opacity:1;
}
.chat-toggle{
  position:fixed !important;
  bottom:24px !important;
  right:24px !important;
  width:68px !important;
  height:68px !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,#f067ad,#6a77ff) !important;
  color:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:28px !important;
  box-shadow:0 18px 30px rgba(12,18,56,.35) !important;
  cursor:pointer;
  z-index:1000;
  border:none;
  transition:transform .2s ease,box-shadow .2s ease;
  font-size:0 !important;
}
.chat-toggle:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 40px rgba(12,18,56,.45);
}
.chat-toggle::after{
  content:"";
  width:30px;
  height:30px;
  background:url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 4C9.37258 4 4 8.92487 4 14.875C4 18.1472 5.79844 21.0415 8.60547 22.8848V27.5L13.9766 24.3086C14.61 24.4028 15.2993 24.4375 16 24.4375C22.6274 24.4375 28 19.5126 28 13.5625C28 8.92487 22.6274 4 16 4Z' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='11.75' cy='15.25' r='1.4' fill='%23ffffff'/%3E%3Ccircle cx='16' cy='15.25' r='1.4' fill='%23ffffff'/%3E%3Ccircle cx='20.25' cy='15.25' r='1.4' fill='%23ffffff'/%3E%3C/svg%3E") no-repeat center;
  display:block;
}
.footer-cta{
  display:flex;
  flex-direction:column;
  gap:.4rem;
  margin-top:1rem;
}
.footer-cta a{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.78rem 1.7rem;
  border-radius:999px;
  font-weight:600;
  color:#fff;
  background:linear-gradient(135deg,#ff5fa2,#5da6ff);
  box-shadow:0 20px 40px rgba(18,19,56,.35);
  text-decoration:none;
}
.footer-social{
  display:flex;
  gap:.65rem;
  margin:1rem 0;
}
.footer-social a{
  width:42px;
  height:42px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,0.08);
  box-shadow:0 10px 25px rgba(0,0,0,0.25);
  color:#fff;
  font-size:1.1rem;
  transition:transform .2s ease,background .2s ease;
}
.footer-social a:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,0.16);
}
.footer-social-cluster{
  margin-top:1.2rem;
  display:flex;
  align-items:center;
  gap:1rem;
}
.footer-social-cluster img{
  width:82px;
  height:82px;
  border-radius:20px;
  object-fit:cover;
  box-shadow:0 18px 40px rgba(0,0,0,0.35);
}
.footer-social-cluster .footer-social{
  margin:0;
}
.footer-divider{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:1.8rem;
  padding-top:1.2rem;
  font-size:inherit;
  color:rgba(255,255,255,.55);
}

.calendly-toggle{position:fixed;bottom:24px;right:104px;width:68px;height:68px;border-radius:24px;background:linear-gradient(135deg,#3a7bff,#00c3ff);box-shadow:0 18px 30px rgba(12,18,56,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:999;border:none;transition:transform .2s ease,box-shadow .2s ease;}
.calendly-toggle:hover{transform:translateY(-2px);box-shadow:0 22px 40px rgba(12,18,56,.4);}
.calendly-toggle::after{content:'';width:32px;height:32px;background:url('data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 4C9.37258 4 4 8.92487 4 14.875C4 18.1472 5.79844 21.0415 8.60547 22.8848V27.5L13.9766 24.3086C14.61 24.4028 15.2993 24.4375 16 24.4375C22.6274 24.4375 28 19.5126 28 13.5625C28 8.92487 22.6274 4 16 4Z' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M21.5 15.5C21.5 17.9853 19.4853 20 17 20C16.4095 20 15.8451 19.873 15.3333 19.6401L12.5 21L12.5 17.8333C11.8252 17.0983 11.5 16.1615 11.5 15.5C11.5 13.0147 13.5147 11 16 11C18.4853 11 20.5 13.0147 20.5 15.5H21.5Z' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E') no-repeat center;}

/* Global histogram alignment */
.histogram-container{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  min-width:110px;
}
.histogram-container .course-level{
  min-width:auto;
  text-align:right;
  display:inline-block;
}
.histogram{
  display:inline-flex;
  gap:4px;
  align-items:flex-end;
}

/* Unified gradient navigation */
#custom-menu{
  background:linear-gradient(135deg,#e75480 0%,#7c3aed 50%,#2563eb 100%) !important;
  box-shadow:0 12px 32px rgba(15,23,42,.15) !important;
  backdrop-filter:none !important;
}
#custom-menu .menu-inner{
  color:#fff !important;
  padding:0.75rem 1.4rem !important;
  gap:1rem !important;
  position:relative !important;
}
#custom-menu .menu-links .menu-dropdown{position:static !important;}
#custom-menu .menu-links .dropdown-panel{
  left:50% !important;
  transform:translate(-50%, -14px) !important;
  min-width:min(960px,calc(100vw - 32px)) !important;
  max-width:min(1100px,calc(100vw - 32px)) !important;
}
#custom-menu .menu-links{
  gap:0.6rem !important;
}
#custom-menu .menu-links a,
#custom-menu .menu-links .menu-link{
  color:#fff !important;
  border-bottom-color:transparent !important;
  font-size:0.78rem !important;
}
#custom-menu .menu-links .menu-icon{
  background:rgba(255,255,255,.15) !important;
  border:1px solid rgba(255,255,255,.35) !important;
  color:#fff !important;
  margin-right:0.35rem !important;
}
#custom-menu .menu-links a:hover,
#custom-menu .menu-links .menu-link:hover{
  color:#ffe8ff !important;
  border-color:rgba(255,255,255,.85) !important;
}
#custom-menu .menu-cta{
  background:linear-gradient(135deg,#ff5fa2,#5da6ff) !important;
  box-shadow:0 18px 36px rgba(18,19,56,.35) !important;
  color:#fff !important;
}
#custom-menu .menu-cta:hover{
  background:linear-gradient(135deg,#ff6cba,#6aa8ff) !important;
  box-shadow:0 22px 44px rgba(18,19,56,.45) !important;
}
#custom-menu .lang-switch select{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.4) !important;
  color:#fff !important;
}
@media (max-width:720px){
  #custom-menu .menu-inner{
    flex-direction:column;
    align-items:stretch;
    gap:.8rem;
    padding:.85rem 1rem;
    border-radius:0 0 24px 24px;
  }
  #custom-menu .menu-links{
    width:100%;
    flex-direction:column;
    gap:.35rem;
  }
  #custom-menu .menu-links a,
  #custom-menu .menu-links .menu-link{
    width:100%;
    justify-content:space-between;
    border-bottom:1px solid rgba(255,255,255,.18);
    padding:.35rem .1rem;
  }
  #custom-menu .menu-links .menu-link .chevron{margin-left:auto;}
  #custom-menu .menu-links .dropdown-panel{
    position:relative !important;
    left:auto !important;
    transform:none !important;
    min-width:100% !important;
    max-width:100% !important;
    margin-top:.5rem;
    border-radius:16px;
    padding:1rem !important;
  }
  #custom-menu .menu-actions{
    width:100%;
    flex-direction:column;
    gap:.5rem;
    align-items:stretch;
  }
  #custom-menu .menu-cta{
    width:100%;
    text-align:center;
  }
}
