
/* FRC exact footer master — identical geometry/content on every page */
footer.footer{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  color:#374351!important;
  background:#f5f1ea!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-family:Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1.62!important;
  text-align:left!important;
}
footer.footer,footer.footer *{box-sizing:border-box!important}
footer.footer .footer-cta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:32px!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:32px max(22px,calc((100vw - 1160px)/2))!important;
  color:#fff!important;
  background:#082b57!important;
  border:0!important;
}
footer.footer .footer-cta>div:first-child{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
footer.footer .footer-cta .eyebrow{
  display:block!important;
  margin:0 0 6px!important;
  padding:0!important;
  color:#e0c594!important;
  background:transparent!important;
  border:0!important;
  font:800 12px/1.2 Arial,sans-serif!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
footer.footer .footer-cta h2{
  display:block!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(27px,3vw,42px)!important;
  font-weight:700!important;
  line-height:1.08!important;
  letter-spacing:-.02em!important;
  text-transform:none!important;
}
footer.footer .footer-cta p:not(.eyebrow){
  display:block!important;
  max-width:none!important;
  margin:6px 0 0!important;
  padding:0!important;
  color:#dbe4ee!important;
  background:transparent!important;
  border:0!important;
  font:400 16px/1.62 Arial,sans-serif!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
footer.footer .footer-cta-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 auto!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
}
footer.footer .footer-cta-actions .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  min-height:46px!important;
  height:46px!important;
  margin:0!important;
  padding:12px 17px!important;
  border-radius:0!important;
  box-shadow:none!important;
  font:800 12px/1 Arial,sans-serif!important;
  letter-spacing:.04em!important;
  text-align:center!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
footer.footer .footer-cta-actions .button--light{
  color:#082b57!important;
  background:#fff!important;
  border:1px solid #fff!important;
}
footer.footer .footer-cta-actions .button--outline{
  color:#fff!important;
  background:transparent!important;
  border:1px solid rgba(255,255,255,.72)!important;
}

footer.footer .footer-main{
  display:grid!important;
  grid-template-columns:1.2fr .65fr 1fr!important;
  align-items:start!important;
  gap:32px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:32px max(22px,calc((100vw - 1160px)/2))!important;
  color:#374351!important;
  background:#f5f1ea!important;
  border:0!important;
}
footer.footer .footer-main>div{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
footer.footer .footer-brand{
  grid-column:auto!important;
}
footer.footer .footer-brand>a{
  display:inline-block!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
}
footer.footer .footer-logo{
  display:block!important;
  width:195px!important;
  height:auto!important;
  max-width:195px!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
}
footer.footer .footer-brand p{
  display:block!important;
  max-width:300px!important;
  margin:11px 0 0!important;
  padding:0!important;
  color:#606973!important;
  background:transparent!important;
  border:0!important;
  font:400 13.44px/1.62 Arial,sans-serif!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
footer.footer .footer-brand .footer-brand-line{
  max-width:300px!important;
  color:#374351!important;
  font-weight:700!important;
}
footer.footer .footer-main h3{
  display:block!important;
  margin:0 0 10px!important;
  padding:0!important;
  color:#082b57!important;
  background:transparent!important;
  border:0!important;
  font:700 13.76px/1.3 Georgia,"Times New Roman",serif!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
footer.footer .footer-links{
  display:block!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
footer.footer .footer-links li{
  display:list-item!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  font:400 16px/1.62 Arial,sans-serif!important;
}
footer.footer .footer-links li+li{
  margin-top:5px!important;
}
footer.footer .footer-links a,
footer.footer .footer-contact a{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  color:#374351!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  font:inherit!important;
  letter-spacing:normal!important;
  text-decoration:none!important;
  text-transform:none!important;
}
footer.footer .footer-contact p{
  display:block!important;
  margin:5px 0!important;
  padding:0!important;
  color:#374351!important;
  background:transparent!important;
  border:0!important;
  font:400 13.44px/1.62 Arial,sans-serif!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}

footer.footer .footer-bottom{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:nowrap!important;
  gap:16px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:14px max(22px,calc((100vw - 1160px)/2))!important;
  color:#6b737c!important;
  background:#e9e4dc!important;
  border:0!important;
  border-top:1px solid #ddd7ce!important;
  font:400 11.84px/1.5 Arial,sans-serif!important;
}
footer.footer .footer-bottom p{
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  color:#6b737c!important;
  background:transparent!important;
  border:0!important;
  font:inherit!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
footer.footer .footer-legal{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:16px!important;
  margin:0!important;
  padding:0!important;
}
footer.footer .footer-legal a{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  color:#6b737c!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  font:inherit!important;
  letter-spacing:normal!important;
  text-decoration:underline!important;
  text-transform:none!important;
}

/* Tablet: same homepage footer layout */
@media(max-width:959px){
  footer.footer .footer-main{
    grid-template-columns:1fr 1fr!important;
  }
  footer.footer .footer-brand{
    grid-column:1/-1!important;
  }
}

/* Mobile: exact same stacked footer on every route */
@media(max-width:599px){
  footer.footer{
    font-size:15px!important;
  }
  footer.footer .footer-cta{
    display:block!important;
    padding:26px 18px!important;
  }
  footer.footer .footer-cta h2{
    font-size:clamp(26px,8vw,34px)!important;
  }
  footer.footer .footer-cta p:not(.eyebrow){
    font-size:15px!important;
  }
  footer.footer .footer-cta-actions{
    margin-top:14px!important;
  }
  footer.footer .footer-main{
    grid-template-columns:1fr!important;
    gap:28px!important;
    padding:26px 18px!important;
  }
  footer.footer .footer-brand{
    grid-column:auto!important;
  }
  footer.footer .footer-logo{
    width:195px!important;
    max-width:195px!important;
  }
  footer.footer .footer-bottom{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:10px!important;
    padding:13px 18px!important;
  }
  footer.footer .footer-legal{
    justify-content:flex-start!important;
    gap:12px 16px!important;
  }
}

/* Release-candidate footer termination */
html,body{margin-bottom:0!important;padding-bottom:0!important}
footer.footer,footer.footer .footer-main,footer.footer .footer-bottom{margin-bottom:0!important}
footer.footer{padding-bottom:0!important}
@media(max-width:959px){html,body{margin-bottom:0!important;padding-bottom:0!important}}

/* Mobile Back to top repair
   Keep the control above legal links and clear of the fixed WhatsApp button. */
@media(max-width:599px){
  footer.footer .footer-legal{
    width:100%!important;
    padding-right:64px!important;
  }

  footer.footer .footer-legal a[href="#top"]{
    order:-1!important;
    flex:1 0 100%!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:46px!important;
    margin:0 0 2px!important;
    padding:10px 14px!important;
    color:#082b57!important;
    background:#f5f1ea!important;
    border:1px solid #c9c1b6!important;
    border-radius:0!important;
    font-weight:700!important;
    line-height:1.2!important;
    text-align:center!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    touch-action:manipulation!important;
  }
}
