/* V118 / V7 — final footer reset
   Resets legacy broad footer rules from earlier stylesheets. */
.site-footer{
  display:block!important;
  grid-template-columns:none!important;
  align-items:initial!important;
  gap:0!important;
  width:100%!important;
  margin-top:auto!important;
  padding:64px 0 0!important;
  background:#061E3D!important;
  color:#fff!important;
  overflow:hidden!important;
}
.site-footer>.container{
  display:block!important;
  width:min(1180px,calc(100% - 48px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
}
.site-footer .footer-top{
  display:grid!important;
  grid-template-columns:minmax(300px,1.2fr) minmax(180px,.55fr) minmax(320px,1fr)!important;
  gap:clamp(38px,5vw,74px)!important;
  align-items:start!important;
  width:100%!important;
  padding:0 0 46px!important;
}
.site-footer .footer-top>.footer-brand,
.site-footer .footer-top>.footer-col{
  display:block!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
}
.site-footer .footer-brand .brand{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
}
.site-footer .footer-brand .brand-logo{
  display:block!important;
  width:auto!important;
  max-width:190px!important;
  height:auto!important;
  max-height:82px!important;
  object-fit:contain!important;
  filter:none!important;
  opacity:1!important;
}
.site-footer .footer-brand p{
  display:block!important;
  max-width:440px!important;
  margin:20px 0 0!important;
  color:#c6d8ea!important;
  font-size:.93rem!important;
  line-height:1.75!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.site-footer .footer-col h4{
  display:block!important;
  margin:0 0 18px!important;
  color:#9fb9d2!important;
  font-size:.68rem!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.site-footer .footer-links{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:11px!important;
  width:100%!important;
}
.site-footer .footer-links a{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  padding:0!important;
  color:#eef6fd!important;
  font-size:.86rem!important;
  line-height:1.4!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.site-footer .contact-line{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  padding:14px 0!important;
  border-bottom:1px solid rgba(184,211,236,.2)!important;
}
.site-footer .contact-line span{
  display:block!important;
  margin-bottom:7px!important;
  color:#9fb9d2!important;
  font-size:.63rem!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
.site-footer .contact-line strong,
.site-footer .contact-line a{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  color:#fff!important;
  font-size:.9rem!important;
  font-weight:650!important;
  line-height:1.55!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.site-footer .contact-line a[href^="mailto:"]{
  white-space:nowrap!important;
  font-size:clamp(.76rem,1vw,.9rem)!important;
}
.site-footer .footer-bottom{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:28px!important;
  width:100%!important;
  padding:22px 0 26px!important;
  border-top:1px solid rgba(184,211,236,.2)!important;
  color:#9fb9d2!important;
  font-size:.72rem!important;
  text-align:left!important;
}
.site-footer .footer-bottom>span{
  display:block!important;
  flex:0 1 auto!important;
  width:auto!important;
  margin:0!important;
  text-align:left!important;
  white-space:nowrap!important;
}
.site-footer .footer-legal{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:24px!important;
  width:auto!important;
  margin-left:auto!important;
  text-align:right!important;
}
.site-footer .footer-legal a{
  display:inline-block!important;
  color:#d8ebfb!important;
  white-space:nowrap!important;
}
@media(max-width:980px){
  .site-footer>.container{width:min(100% - 36px,1180px)!important}
  .site-footer .footer-top{
    grid-template-columns:minmax(0,1.15fr) minmax(180px,.85fr)!important;
    gap:38px!important;
  }
  .site-footer .footer-brand{grid-column:1/-1!important}
  .site-footer .footer-brand p{max-width:620px!important}
}
@media(max-width:760px){
  .site-footer{padding-top:48px!important}
  .site-footer .footer-top{
    grid-template-columns:1fr!important;
    gap:30px!important;
    padding-bottom:34px!important;
  }
  .site-footer .footer-brand{grid-column:auto!important}
  .site-footer .contact-line a[href^="mailto:"]{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .site-footer .footer-bottom{
    flex-wrap:wrap!important;
    gap:12px 24px!important;
  }
  .site-footer .footer-bottom>span{white-space:normal!important}
}
@media(max-width:540px){
  .site-footer>.container{width:min(100% - 28px,1180px)!important}
  .site-footer .footer-bottom{
    flex-direction:column!important;
    align-items:flex-start!important;
    text-align:left!important;
  }
  .site-footer .footer-legal{
    justify-content:flex-start!important;
    margin-left:0!important;
    text-align:left!important;
    gap:16px!important;
  }
}
