.container { width: min(1180px, calc(100% - 14vw)); margin: 0 auto; }
.section-v2 { padding: 105px 0; }
.eyebrow { color: #66c8f4; font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.eyebrow--blue { color: #087fc4; }

.site-footer { padding: 0; color: #6f818d; background: #fff; border-top: 1px solid #d6e0e6; font-size: 11px; }
.footer-main {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, 1fr);
  gap: 55px;
  padding: 58px 7vw 44px;
}
.footer-main > div { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.footer-main strong { margin-bottom: 8px; color: #173a4f; font-size: 13px; }
.footer-main a { color: #71838e; }
.footer-main a:hover { color: #008bd2; }
.footer-brand img { width: 58px; height: 58px; object-fit: contain; border-radius: 50%; }
.footer-brand p { color: #5d7482; }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding: 22px 7vw; border-top: 1px solid #d6e0e6; }

.final-cta { display: block; padding: 0; }
.final-cta > .final-cta__inner {
  min-height: 330px;
  display: flex;
  justify-content: space-between;
  gap: 60px;
  align-items: center;
  color: #fff;
}
.final-cta__inner > div { max-width: 760px; }
.final-cta__inner span { color: #63c9f5; font-size: 10px; font-weight: 800; letter-spacing: .19em; }
.final-cta__inner h2 { margin: 15px 0 14px; color: #fff; font-size: clamp(32px, 4vw, 52px); line-height: 1.2; }
.final-cta__inner p { margin: 0; color: rgba(255,255,255,.65); font-size: 14px; line-height: 1.8; }
.final-cta__inner > a { flex: 0 0 auto; padding: 17px 22px; color: #fff; background: #0787cc; font-size: 12px; font-weight: 700; }

@media (max-width: 900px) {
  .footer-main { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  .container { width: calc(100% - 44px); }
  .section-v2 { padding: 75px 0; }
  .footer-main { grid-template-columns: 1fr; gap: 35px; padding: 48px 22px 38px; }
  .footer-bottom { flex-direction: column; padding: 22px; }
  .final-cta > .final-cta__inner { min-height: 420px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 30px; }
}
