/* Shared desktop header and footer treatment used outside the homepage. */
.prefooter-cta {
  position:relative;
  min-height:174px;
  overflow:hidden;
  display:flex;
  align-items:center;
  color:#fff;
  background:#075cf1;
}

.services-page .prefooter-cta {
  background:#000;
}

.prefooter-cta-inner {
  position:relative;
  z-index:2;
  width:min(1440px,calc(100% - 96px));
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
}

.prefooter-cta h2 {
  margin:0;
  font-size:34px;
  line-height:1.12;
  font-weight:600;
  letter-spacing:-.7px;
}

.prefooter-cta p {
  margin:12px 0 0;
  font-size:16px;
  line-height:1.5;
  font-weight:400;
  color:#e6efff;
}

.prefooter-cta-inner > a {
  width:210px;
  height:52px;
  flex:0 0 auto;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  background:#fff;
  color:#075cf1;
  text-decoration:none;
  font-size:14px;
  line-height:1;
  font-weight:700;
  box-shadow:0 6px 20px rgba(0,0,0,.1);
  transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}

.prefooter-cta-inner > a:hover {
  transform:none;
  background:#000;
  color:var(--lime);
  box-shadow:0 9px 24px rgba(0,43,137,.22);
}

.prefooter-cta-inner > a img {
  display:block;
  width:18px;
  height:18px;
  flex:0 0 18px;
  object-fit:contain;
  transition:filter .2s ease,transform .2s ease;
}

.prefooter-cta-inner > a:hover img { filter:brightness(0) saturate(100%) invert(94%) sepia(67%) saturate(668%) hue-rotate(25deg) brightness(103%) contrast(90%); transform:none; }

.prefooter-cta-accent {
  position:absolute;
  z-index:1;
  width:430px;
  height:220px;
  right:-82px;
  bottom:-142px;
  border-radius:55% 50% 0 0;
  transform:rotate(-5deg);
  background-color:#7cd05f;
}

.prefooter-cta-accent::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-14px 6px 5px -33px;
  border-radius:55% 50% 0 0;
  background:#bdf23e;
}

.prefooter-network {
  position:absolute;
  z-index:1;
  inset:0 0 0 auto;
  width:46%;
  height:100%;
  pointer-events:none;
}

@media (max-width:760px) {
  .prefooter-cta { min-height:260px; padding:42px 0; }
  .prefooter-cta-inner {
    width:calc(100% - 40px);
    align-items:flex-start;
    flex-direction:column;
    gap:26px;
  }
  .prefooter-cta h2 { font-size:28px; }
  .prefooter-cta p { max-width:310px; font-size:14px; }
  .prefooter-cta-inner > a { width:190px; height:48px; }
  .prefooter-cta-accent { width:280px; height:150px; right:-112px; bottom:-100px; }
  .prefooter-network { width:78%; opacity:.82; }
}

@media (prefers-reduced-motion:reduce) {
  .prefooter-cta-accent { animation:none; }
}

@media (min-width:1501px) {
  :root { --page-gutter:max(96px, calc((100vw - 1440px) / 2)); }

  .utility {
    padding-inline:var(--page-gutter);
    font-size:14px;
    line-height:20px;
    font-weight:600;
    letter-spacing:0;
  }
  .site-header { display:contents; }
  .navbar {
    height:65px;
    padding-left:calc(var(--page-gutter) - 28px);
    padding-right:calc(var(--page-gutter) - 28px);
    position:sticky;
    top:0;
    z-index:20;
    gap:7px;
    background:#fff;
  }
  .logo { width:193px; height:54px; }
  .nav-links {
    gap:32px;
    color:#374151;
    font-size:14px;
    line-height:20px;
    font-weight:500;
    letter-spacing:-.15px;
  }
  .nav-actions { gap:12px; flex-direction:row-reverse; }
  .nav-actions .button {
    min-width:138px;
    height:40px;
    gap:8px;
    border-width:3px;
    font-size:14px;
    line-height:20px;
    font-weight:700;
    letter-spacing:-.2px;
  }
  .nav-actions .button-arrow,
  .nav-actions .outline .button-arrow { width:18px; height:18px; flex-basis:18px; }

  .site-footer { height:650px; padding:75px var(--page-gutter) 60px; }
  .footer-columns { grid-template-columns:repeat(4,1fr) 260px; gap:34px; }
  .footer-lower { left:var(--page-gutter); right:var(--page-gutter); top:325px; }
  .newsletter h3,.newsletter label,.newsletter small { margin-left:39px; }
  .footer-base { left:var(--page-gutter); right:var(--page-gutter); bottom:50px; }
}
