/* Footer typography, contrast, and predictable desktop/mobile navigation.
   Applies site-wide to the block footer and classic-compatible pages. */
.rha-footer{
  background:#071923!important;
  color:#e4eee9!important;
  padding:clamp(40px,4.6vw,74px) clamp(18px,3vw,48px) 26px!important;
}
.rha-footer .rha-footer-grid.wp-block-columns{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr)!important;
  gap:clamp(24px,3vw,54px)!important;
  max-width:1400px!important;
  width:100%!important;
  margin:0 auto!important;
  align-items:start!important;
}
.rha-footer .rha-footer-grid>.wp-block-column{
  min-width:0!important;
  width:auto!important;
  flex-basis:auto!important;
  margin:0!important;
  align-self:start;
}
.rha-footer .rha-footer-grid>.wp-block-column>:first-child{
  margin-top:0!important;
}
.rha-footer h3.wp-block-heading,
.rha-footer .rha-footer-grid h3{
  color:#ffffff!important;
  font-size:1.03rem!important;
  line-height:1.4!important;
  font-weight:800!important;
  letter-spacing:0!important;
  margin:0 0 14px!important;
}
.rha-footer .rha-footer-brand .wp-block-site-title,
.rha-footer .rha-footer-brand .wp-block-site-title a{
  color:#ffffff!important;
  line-height:1.35!important;
}
.rha-footer .rha-footer-grid p{
  color:#c5d7d3!important;
  font-size:clamp(.9rem,1vw,.98rem)!important;
  line-height:1.72!important;
  margin:0 0 16px!important;
  overflow-wrap:break-word;
}
.rha-footer .rha-footer-nav,
.rha-footer .rha-footer-metal-links{
  width:100%!important;
  display:block!important;
  color:#e4eee9!important;
}
.rha-footer .rha-footer-link-list{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.rha-footer .rha-footer-link-list>li{
  display:block!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  line-height:1.45!important;
}
.rha-footer .rha-footer-link-list>li::marker{content:""!important}
.rha-footer .rha-footer-link-list a{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  color:#e9f3ee!important;
  background:transparent!important;
  text-decoration:none!important;
  font-size:.92rem!important;
  font-weight:600!important;
  line-height:1.45!important;
  padding:5px 0!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
  transition:color .16s ease!important;
}
.rha-footer .rha-footer-link-list a:visited{color:#e9f3ee!important}
.rha-footer .rha-footer-link-list a:hover{
  color:#b9efca!important;
  text-decoration:underline!important;
  text-underline-offset:4px!important;
}
.rha-footer .rha-footer-link-list a:focus-visible{
  color:#ffffff!important;
  outline:2px solid #d8f6da!important;
  outline-offset:3px!important;
  border-radius:3px!important;
}
.rha-footer .wp-block-separator{
  border-color:rgba(239,250,242,.23)!important;
  opacity:1!important;
  max-width:1400px!important;
  margin:30px auto 16px!important;
}
.rha-footer .rha-footer-bottom{
  max-width:1400px!important;
  width:100%!important;
  margin:0 auto!important;
  gap:14px!important;
}
.rha-footer .rha-footer-bottom p{
  color:#b8cfc5!important;
  font-size:.79rem!important;
  line-height:1.5!important;
  margin:0!important;
}
@media(max-width:1060px){
 .rha-footer .rha-footer-grid.wp-block-columns{
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important;
  row-gap:36px!important;
 }
}
@media(max-width:650px){
 .rha-footer{padding:42px 20px 24px!important}
 .rha-footer .rha-footer-grid.wp-block-columns{
  grid-template-columns:minmax(0,1fr)!important;
  gap:30px!important;
 }
 .rha-footer .rha-footer-grid h3{margin-bottom:10px!important}
 .rha-footer .rha-footer-link-list{gap:4px!important}
 .rha-footer .rha-footer-link-list a{font-size:.97rem!important;padding:7px 0!important}
 .rha-footer .rha-footer-bottom{
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:9px!important;
 }
}
