
/* ============================================================
   LAZILY EFFICIENT IB ENGLISH — SHARED SITE SHELL
   Loaded after page CSS so the header/footer remain uniform.
   ============================================================ */
.site-nav, .site-nav *, .site-footer, .site-footer * { box-sizing:border-box; }

.site-nav{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  z-index:5000 !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:#1E2E3E !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  font-family:'Inter',sans-serif !important;
}
.site-nav-container{
  width:100% !important;
  max-width:none !important;
  min-height:62px !important;
  margin:0 !important;
  padding:0 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
}
.site-brand{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  flex:0 0 auto !important;
  margin:0 auto 0 0 !important;
  padding:0 !important;
  color:#FDFCF9 !important;
  text-decoration:none !important;
  border:0 !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:.94rem !important;
  font-weight:800 !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
}
.site-brand:hover{color:#D4A853 !important;border:0 !important;}
.site-brand img{display:block !important;width:31px !important;height:31px !important;object-fit:contain !important;flex:0 0 31px !important;}

.site-nav-menu{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:13px !important;
  min-width:0 !important;
}
.site-assessment-links,.site-secondary-links{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 !important;
  padding:0 !important;
}
.site-assessment-pill{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:31px !important;
  margin:0 !important;
  padding:0 9px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#D4A853,#C49A3F) !important;
  color:#172431 !important;
  text-decoration:none !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:.69rem !important;
  font-weight:850 !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26) !important;
  transform:none;
}
.site-assessment-pill::after{content:'✦';margin-left:5px;font-size:.56rem;opacity:.70;}
.site-assessment-pill:hover,.site-assessment-pill:focus-visible{
  color:#172431 !important;
  border-color:rgba(255,255,255,.28) !important;
  filter:brightness(1.05);
  transform:translateY(-1px);
}
.site-assessment-pill.current{
  box-shadow:0 0 0 2px rgba(255,255,255,.30), inset 0 1px 0 rgba(255,255,255,.26) !important;
}
.site-secondary-links a{
  display:inline-block !important;
  margin:0 !important;
  padding:7px 4px !important;
  border:0 !important;
  color:#EEF1F3 !important;
  text-decoration:none !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:.67rem !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}
.site-secondary-links a:hover,.site-secondary-links a:focus-visible{color:#D4A853 !important;border:0 !important;}

.site-nav-toggle{
  display:none !important;
  flex:0 0 auto !important;
  border:1px solid rgba(255,255,255,.24) !important;
  border-radius:7px !important;
  background:transparent !important;
  color:#fff !important;
  padding:5px 8px !important;
  font-size:1.05rem !important;
  line-height:1 !important;
  cursor:pointer !important;
}

.site-footer{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:3rem 0 0 !important;
  padding:0 !important;
  background:#1E2E3E !important;
  color:#E7EAED !important;
  border:0 !important;
  border-top:4px solid #D4A853 !important;
  font-family:'Inter',sans-serif !important;
  overflow:visible !important;
}
.site-footer-inner{
  max-width:1320px !important;
  margin:0 auto !important;
  padding:2rem 24px 1.5rem !important;
  display:grid !important;
  grid-template-columns:minmax(240px,1.3fr) repeat(3,minmax(135px,1fr)) !important;
  gap:2rem !important;
  align-items:start !important;
}
.site-footer section,.site-footer nav{position:static !important;background:none !important;border:0 !important;margin:0 !important;padding:0 !important;display:block !important;}
.site-footer-logo{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  border:0 !important;
  color:#fff !important;
  text-decoration:none !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:.92rem !important;
  font-weight:800 !important;
}
.site-footer-logo img{width:35px !important;height:35px !important;object-fit:contain !important;}
.site-footer-brand p{max-width:390px !important;margin:.7rem 0 0 !important;color:#BFC7CD !important;font-size:.76rem !important;line-height:1.55 !important;}
.site-footer-group h2{
  margin:0 0 .55rem !important;
  padding:0 !important;
  color:#D4A853 !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:.70rem !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}
.site-footer-group h2::after{display:none !important;}
.site-footer-group a{
  display:block !important;
  width:max-content !important;
  max-width:100% !important;
  margin:.32rem 0 !important;
  padding:0 !important;
  color:#E7EAED !important;
  border:0 !important;
  text-decoration:none !important;
  font-size:.72rem !important;
  line-height:1.35 !important;
}
.site-footer-group a:hover{color:#D4A853 !important;border:0 !important;}
.site-signup-form{margin-top:.8rem !important;max-width:290px !important;}
.site-signup-form label{display:block !important;margin-bottom:.3rem !important;color:#D4A853 !important;font-size:.68rem !important;font-weight:800 !important;}
.site-signup-row{display:flex !important;gap:5px !important;}
.site-signup-row input{
  min-width:0 !important;flex:1 1 auto !important;margin:0 !important;padding:.5rem .55rem !important;
  border:1px solid rgba(255,255,255,.18) !important;border-radius:6px !important;
  background:rgba(255,255,255,.07) !important;color:#fff !important;font:inherit !important;font-size:.72rem !important;
}
.site-signup-row input::placeholder{color:#AEB7BE !important;}
.site-signup-row button{
  margin:0 !important;padding:.5rem .65rem !important;border:0 !important;border-radius:6px !important;
  background:#A00000 !important;color:#fff !important;font:inherit !important;font-size:.70rem !important;font-weight:800 !important;cursor:pointer !important;
}
.site-signup-msg{min-height:1em !important;margin:.3rem 0 0 !important;color:#CFE8D5 !important;font-size:.65rem !important;}
.site-signup-iframe{display:none !important;}
.site-footer-bottom{
  margin:0 !important;padding:.85rem 24px 1rem !important;border-top:1px solid rgba(255,255,255,.10) !important;
  color:#AEB7BE !important;text-align:center !important;font-size:.67rem !important;line-height:1.4 !important;
}

@media(max-width:1180px){
  .site-nav-container{padding:0 12px !important;gap:9px !important;}
  .site-brand{font-size:.84rem !important;}
  .site-assessment-pill{padding:0 7px !important;font-size:.64rem !important;}
  .site-secondary-links{gap:2px !important;}
  .site-secondary-links a{font-size:.61rem !important;}
}
@media(max-width:980px){
  .site-nav-container{min-height:58px !important;}
  .site-nav-toggle{display:block !important;}
  .site-nav-menu{
    display:none !important;position:absolute !important;top:100% !important;left:0 !important;right:0 !important;
    padding:12px !important;background:#1E2E3E !important;border-top:1px solid rgba(255,255,255,.10) !important;
    flex-direction:column !important;align-items:stretch !important;gap:10px !important;box-shadow:0 12px 24px rgba(0,0,0,.18) !important;
  }
  .site-nav.open .site-nav-menu{display:flex !important;}
  .site-assessment-links,.site-secondary-links{flex-wrap:wrap !important;justify-content:flex-start !important;}
  .site-assessment-pill{min-height:34px !important;}
  .site-secondary-links a{padding:8px 6px !important;}
  .site-footer-inner{grid-template-columns:1.2fr 1fr 1fr !important;}
  .site-footer-connect{grid-column:1/-1 !important;}
}
@media(max-width:700px){
  .site-brand span{font-size:.77rem !important;}
  .site-footer-inner{grid-template-columns:1fr 1fr !important;}
  .site-footer-brand,.site-footer-connect{grid-column:1/-1 !important;}
}
@media(max-width:470px){
  .site-brand span{max-width:190px !important;white-space:normal !important;line-height:1.08 !important;}
  .site-footer-inner{grid-template-columns:1fr !important;}
  .site-footer-brand,.site-footer-connect{grid-column:auto !important;}
}
