:root {
  --home-section-space: 100px;
  --home-news-background: #a09d94
}

body>header,body>footer {
  background: #131d66;
  color: #fff
}

body>header .nav-item,body>header .menu-toggle {
  color: #fff
}

body>header .menu-toggle {
  border-color: #ffffff80
}

body>header .logo img {
  mix-blend-mode: normal
}

body>footer .footer-logo {
  filter: none;
  mix-blend-mode: normal
}

.header-contact {
  border-radius: 50px;
  padding: 13px 25px;
  text-align: center;
  color: #131d66
}

.header-contact span {
  font-size: 13px;
  font-weight: 800;
  margin-top: 2px
}

.home-connect,.home-work,.home-news,.home-faq {
  padding-top: var(--home-section-space);
  padding-bottom: var(--home-section-space);
  margin: 0
}

.home-connect-visual {
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
  background: transparent
}

.home-connect-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 50%
}

.home-eyebrow {
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: .13em;
  margin: 0 0 25px;
  font-weight: 700
}

.home-work-copy h3 {
  margin-top: 0
}

.home-news>.home-container>h3,.home-faq>.home-container>h3 {
  margin: 0 0 30px
}

.home-faq-list {
  padding-bottom: 0
}

.home-faq-item {
  background: #fff;
  border-color: #c8ccc7
}

.home-keywords {
  padding-top: var(--home-section-space);
  padding-bottom: var(--home-section-space)
}

.home-keywords-intro {
  margin-bottom: 70px;
  min-height: 210px;
  color: #fff;
  display: grid;
  grid-template-columns: 561px 1fr;
  grid-template-rows: auto auto;
  align-content: center;
  position: relative
}

.home-keywords-intro .home-eyebrow {
  grid-column: 1;
  position: relative;
  z-index: 2;
  margin-bottom: 18px
}

.home-keywords-intro h3 {
  grid-column: 1;
  grid-row: 2;
  font: 700 60px/1.6 "Zen Kaku Gothic Antique",sans-serif;
  letter-spacing: .2px;
  margin: 0;
  position: relative;
  z-index: 2
}

.home-keywords-intro .home-keyword-triangle {
  left: 740px;
  top: 10px
}

.home-faq+.reference-cta {
  margin-top: 0
}

@media(max-width:1050px) {
  body>header nav {
    background: #131d66
  }
  .home-keywords-intro {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr)
  }
  .home-keywords-intro h3 {
    font-size: 44px
  }
  .home-keywords-intro .home-keyword-triangle {
    left: 70%
  }
}

@media(max-width:760px) {
  :root {
    --home-section-space: 60px
  }
  body>header #main-nav {
    background: #131d66;
    color: #fff
  }
  .home-connect,.home-work,.home-news,.home-faq {
    padding-top: var(--home-section-space);
    padding-bottom: var(--home-section-space);
    margin: 0
  }
  .home-eyebrow {
    font-size: 10px;
    letter-spacing: .08em;
    margin-bottom: 22px
  }
  .home-news>.home-container>h3,.home-faq>.home-container>h3 {
    margin: 0 0 28px
  }
  .home-keywords {
    padding-top: var(--home-section-space);
    padding-bottom: var(--home-section-space)
  }
  .home-keywords-intro {
    display: block;
    min-height: 0;
    margin-bottom: 60px;
    padding: 0
  }
  .home-keywords-intro h3 {
    font-size: 34px;
    line-height: 1.5;
    max-width: 310px
  }
  .home-keywords-intro .home-eyebrow {
    margin-bottom: 18px
  }
  .home-keywords-intro .home-keyword-triangle {
    left: 65%;
    top: 5px;
    opacity: .2
  }
}

.home-connect {
  background: var(--home-news-background);
  color: #fff
}

.home-connect h2,.home-connect .home-eyebrow,.home-connect-copy>p:last-child {
  color: #fff
}

.home-news {
  background: var(--home-news-background);
  color: #fff
}

.home-news .home-eyebrow,.home-news>.home-container>h3,.home-news .post-date,.home-news .post-title,.home-news .post-title a,.home-news .entry-content {
  color: #fff
}

.home-work,.home-faq {
  background: #dfdfdd
}

.home-work-copy h3 {
  line-height: 1.5
}

@media(max-width:760px) {
  .home-work-copy h3 {
    line-height: 1.45
  }
}

.home-connect-visual {
  width: 135%;
  max-width: none;
  justify-self: start
}

.home-connect-grid {
  align-items: center
}

.home-connect {
  overflow: hidden
}

@media(max-width:760px) {
  .home-connect-visual {
    width: 118%;
    max-width: none;
    margin-left: 8%;
    margin-right: 0
  }
}

/* Shared header contact button: wider pill with white bilingual text. */
header .header-contact {
  min-width: 150px;
  flex-shrink: 0;
  padding: 13px 32px;
  color: #fff
}

header .header-contact span {
  color: #fff
}

header .header-contact:hover,header .header-contact:focus-visible {
  color: #fff
}

/* Shared company address in the footer. */
footer .footer-address {
  font-style: normal;
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: .02em;
  margin: 0 0 22px;
  overflow-wrap: anywhere;
  color: #fff
}

/* Keep only company details in the smartphone footer. */
@media(max-width:760px) {
  footer .footer-grid>div:not(:first-child) {
    display: none
  }
  footer .footer-grid {
    grid-template-columns: minmax(0,1fr);
    gap: 0
  }
}

footer .footer-privacy-link {
  display: table;
  color: #fff;
  font-size: 13px;
  line-height: 1.8;
  margin: 0 0 14px;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 4px
}

footer .footer-grid>div:first-child>small {
  display: block
}
