/* Unified ASR public footer v1 · one readable type scale across React and static routes. */
body footer.asr-footer-v1{
  --asr-footer-line:#25232c;
  --asr-footer-copy:#c5c2ce;
  background:#050507!important;
  background-image:none!important;
  border-top:1px solid var(--asr-footer-line)!important;
  box-shadow:none!important;
  color:#f5f2f8!important;
  padding:0!important;
}
body footer.asr-footer-v1 .footer-clean{
  display:grid!important;
  grid-template-columns:minmax(280px,1.65fr) repeat(3,minmax(0,1fr))!important;
  align-items:start!important;
  gap:clamp(28px,3.4vw,56px)!important;
  width:min(1280px,calc(100% - 72px))!important;
  max-width:1280px!important;
  margin-inline:auto!important;
  padding:66px 0 58px!important;
}
body footer.asr-footer-v1 .footer-clean>div{min-width:0!important;border:0!important;padding:0!important;box-shadow:none!important}
body footer.asr-footer-v1 .asr-footer-identity{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:9px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  text-align:left!important;
  text-decoration:none!important;
  cursor:pointer;
}
body footer.asr-footer-v1 .asr-footer-monogram{
  display:block!important;
  font-size:clamp(29px,2.7vw,38px)!important;
  font-weight:760!important;
  letter-spacing:-.07em!important;
  line-height:1!important;
  color:#fff!important;
}
body footer.asr-footer-v1 .asr-footer-accent{color:#bca8ff!important}
body footer.asr-footer-v1 .asr-footer-name{
  display:block!important;
  font-size:13px!important;
  font-weight:650!important;
  color:#d9d3e1!important;
  letter-spacing:.025em!important;
  line-height:1.35!important;
  text-transform:none!important;
}
body footer.asr-footer-v1 .footer-brand-clean>p{
  max-width:345px!important;
  margin:23px 0 0!important;
  color:#b9b5c2!important;
  font-size:14.5px!important;
  font-weight:400!important;
  line-height:1.75!important;
  letter-spacing:0!important;
}
body footer.asr-footer-v1 .asr-footer-links{display:flex!important;flex-direction:column!important;align-items:flex-start!important}
body footer.asr-footer-v1 .asr-footer-links>b{
  display:block!important;
  margin:0 0 18px!important;
  padding:2px 0 0!important;
  color:#f6f4f9!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.35!important;
  letter-spacing:.075em!important;
  text-transform:none!important;
}
body footer.asr-footer-v1 .asr-footer-links>a,
body footer.asr-footer-v1 .asr-footer-links>button{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:7px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#cbc8d1!important;
  font:inherit!important;
  font-family:inherit!important;
  font-size:14.5px!important;
  font-weight:450!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-align:left!important;
  text-decoration:none!important;
  overflow-wrap:anywhere;
  cursor:pointer!important;
  transition:color .18s ease!important;
}
body footer.asr-footer-v1 .asr-footer-links>a:hover,
body footer.asr-footer-v1 .asr-footer-links>button:hover,
body footer.asr-footer-v1 .asr-footer-links>a:focus-visible,
body footer.asr-footer-v1 .asr-footer-links>button:focus-visible{
  color:#fff!important;
  transform:none!important;
  text-decoration:underline!important;
  text-underline-offset:4px!important;
}
body footer.asr-footer-v1 :is(a,button):focus-visible{outline:2px solid #bca8ff!important;outline-offset:4px!important;border-radius:3px!important}
body footer.asr-footer-v1 .footer-social-row{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin:25px 0 0!important}
body footer.asr-footer-v1 .footer-social-row>a{
  display:inline-flex!important;
  gap:9px!important;
  align-items:center!important;
  margin:0!important;
  border:1px solid #38343f!important;
  border-radius:9px!important;
  background:#111015!important;
  color:#e7e3eb!important;
  font-size:13px!important;
  font-weight:600!important;
  line-height:1!important;
  text-decoration:none!important;
  padding:12px 14px!important;
}
body footer.asr-footer-v1 .footer-social-row>a:hover{background:#1b1823!important;border-color:#8e78b0!important;color:#fff!important}
body footer.asr-footer-v1 .footer-social-row svg{display:block;width:17px;height:17px;flex-shrink:0}
body footer.asr-footer-v1 .footer-meta{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:18px!important;
  width:min(1280px,calc(100% - 72px))!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding:22px 0 28px!important;
  border-top:1px solid var(--asr-footer-line)!important;
  color:#a49fab!important;
  font-size:13px!important;
  line-height:1.4!important;
}
body footer.asr-footer-v1 .footer-meta>span{font-size:13px!important;color:#a49fab!important}
body footer.asr-footer-v1 .footer-meta nav{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:10px 25px!important}
body footer.asr-footer-v1 .footer-meta nav>a{
  display:inline-block!important;
  padding:3px 0!important;
  color:#c5c1ce!important;
  font-size:13px!important;
  font-weight:450!important;
  line-height:1.45!important;
  text-decoration:none!important;
}
body footer.asr-footer-v1 .footer-meta nav>a:hover{text-decoration:underline!important;text-underline-offset:4px!important;color:#fff!important}
@media(max-width:1080px){
  body footer.asr-footer-v1 .footer-clean{grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(0,1fr))!important;gap:22px!important}
}
@media(max-width:820px){
  body footer.asr-footer-v1 .footer-clean{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:38px 30px!important;padding:48px 0!important}
  body footer.asr-footer-v1 .footer-brand-clean{grid-column:1/-1!important}
  body footer.asr-footer-v1 .footer-brand-clean>p{margin-top:15px!important}
}
@media(max-width:520px){
  body footer.asr-footer-v1 .footer-clean{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:calc(100% - 36px)!important;gap:32px 18px!important;padding:42px 0!important}
  body footer.asr-footer-v1 .footer-brand-clean{grid-column:1/-1!important}
  body footer.asr-footer-v1 .asr-footer-links:last-child{grid-column:1/-1!important}
  body footer.asr-footer-v1 .footer-meta{width:calc(100% - 36px)!important;align-items:flex-start!important;flex-direction:column!important;padding:20px 0 26px!important}
  body footer.asr-footer-v1 .footer-meta nav{gap:12px 20px!important}
  body footer.asr-footer-v1 .asr-footer-links>b{margin-bottom:10px!important}
  body footer.asr-footer-v1 .asr-footer-links>a,
  body footer.asr-footer-v1 .asr-footer-links>button{font-size:14.5px!important;padding:8px 0!important}
}
@media(prefers-reduced-motion:reduce){
  body footer.asr-footer-v1 *{transition:none!important}
}

/* Older public runtimes may inject duplicated utility links after React renders. */
body footer.asr-footer-v1 .asr-footer-links [data-current-research],
body footer.asr-footer-v1 .footer-meta nav [data-asr-github-org-link]{display:none!important}
