/* PC-002 recruit FAQ: source-measured typography and natural accordion flow. */
#project-faq {
  min-height: 0;
  font-feature-settings: "palt";
}

#project-faq .section-title {
  margin-bottom: 0;
}

#project-faq .section-title .jp {
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: .48px;
}

#project-faq .section-title h2 {
  font-size: 60px;
  line-height: 66px;
  letter-spacing: 1.2px;
}

#project-faq .faq-question {
  position: relative;
  grid-template-columns: 75px minmax(0, 1fr);
  gap: 8px;
  padding: 26.25px 60px 26.25px 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 23.4px;
  letter-spacing: .9px;
}

#project-faq .faq-q {
  font-size: 24px;
  line-height: 31.2px;
  letter-spacing: 3px;
}

#project-faq .faq-toggle {
  position: absolute;
  top: 50%;
  right: 0;
  width: 42px;
  height: 42px;
  transform: translateY(-50%);
}

#project-faq .faq-toggle::before,
#project-faq .faq-toggle::after {
  top: 20px;
  left: 15px;
}

#project-faq .faq-answer {
  overflow: visible;
  padding: 0 0 30px;
  color: var(--ink);
  font-size: 14.1667px;
  font-weight: 400;
  line-height: 28.3333px;
  letter-spacing: 1.77083px;
}

#project-faq .faq-answer p {
  margin: 0;
}

@media (min-width: 1081px) {
  #project-faq .faq-layout {
    grid-template-columns: minmax(0, 1fr) 720px;
  }
}

@media (min-width: 768px) and (max-width: 1080px) {
  #project-faq {
    padding-block: 126px;
  }

  #project-faq .section-title .jp {
    margin-bottom: 17.5px;
  }

  #project-faq .section-title h2 {
    font-size: 70px;
    line-height: 77px;
    letter-spacing: 1.4px;
  }

  #project-faq .faq-question {
    grid-template-columns: 87.5px minmax(0, 1fr);
    padding-block: 30.625px;
    padding-right: 70px;
    font-size: 21px;
    line-height: 27.3px;
    letter-spacing: 1.05px;
  }

  #project-faq .faq-q {
    font-size: 28px;
    line-height: 36.4px;
    letter-spacing: 3.5px;
  }

  #project-faq .faq-toggle {
    width: 49px;
    height: 49px;
  }

  #project-faq .faq-toggle::before,
  #project-faq .faq-toggle::after {
    top: 23.5px;
    left: 18.5px;
  }

  #project-faq .faq-answer {
    padding-bottom: 35px;
  }
}

@media (max-width: 1080px) {
  .site-nav.is-open {
    z-index: 99;
  }

  body.is-menu-open .site-header {
    background: transparent;
    color: #fff;
    backdrop-filter: none;
  }
}

@media (max-width: 767px) {
  #project-faq {
    padding-block: 75.3623px;
    background: linear-gradient(45deg, #fff 0 49.5px, #f4f5f8 49.5px 275.8px, #fff 275.8px);
  }

  #project-faq .section-title {
    text-align: center;
  }

  #project-faq .faq-layout {
    gap: 19.0725px;
  }

  #project-faq .section-title .jp {
    margin-bottom: 9.4203px;
    font-size: 12.245px;
    line-height: 19.592px;
    letter-spacing: .367px;
  }

  #project-faq .section-title h2 {
    font-size: 47.1014px;
    line-height: 51.8115px;
    letter-spacing: .942px;
  }

  #project-faq .faq-question {
    align-items: start;
    grid-template-columns: 47.1014px minmax(0, 1fr);
    gap: 8px;
    padding: 15.0725px 37.6812px 15.0725px 0;
    font-size: 14.129px;
    line-height: 18.3677px;
    letter-spacing: .706px;
  }

  #project-faq .faq-q {
    font-size: 15.0725px;
    line-height: 19.5942px;
    letter-spacing: 1.884px;
  }

  #project-faq .faq-toggle {
    width: 30.1449px;
    height: 30.1449px;
  }

  #project-faq .faq-toggle::before,
  #project-faq .faq-toggle::after {
    top: 14.0725px;
    left: 9.0725px;
  }

  #project-faq .faq-answer {
    padding: 0 0 32.971px;
    font-size: 13.1884px;
    line-height: 26.3768px;
    letter-spacing: 1.64855px;
  }
}

@media (min-width: 768px) {
  .career-dialog .dialog-hero {
    min-height: 480px;
  }

  .career-dialog .dialog-role {
    top: 64px;
  }
}

@media (min-width: 768px) and (max-width: 1080px) {
  .career-dialog .dialog-hero {
    min-height: 560px;
    padding: 0 105px 51.3333px;
  }

  .career-dialog .dialog-role {
    left: 105px;
    top: 74.6667px;
    font-size: 140px;
  }

  .career-dialog .dialog-hero h3 {
    font-size: 35px;
  }

  .career-dialog .dialog-hero h3 span {
    padding: 4.6667px 11.6667px;
    font-size: 21px;
  }

  .career-dialog .dialog-hero h3 strong {
    padding: 8.1667px 21px;
    font-size: 39.6667px;
  }
}

/* PC-005 job detail flow. */
.job-detail__pager {
  display: grid;
  align-items: center;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-block: 48px;
}

.job-detail__pager-link {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.job-detail__pager-link--prev {
  justify-self: start;
}

.job-detail__pager-link--list {
  grid-column: 2;
  justify-self: center;
}

.job-detail__pager-link--next {
  grid-column: 3;
  justify-self: end;
}

@media (min-width: 768px) and (max-width: 1080px) {
  .job-detail__actions > .btn--wide {
    box-sizing: border-box;
    width: 280px;
    height: 70px;
  }
}

/* PC-007 contact spacing. */
.contact-page .breadcrumb {
  min-height: 0;
}

.contact-page .privacy-note {
  display: block;
  min-height: 0;
}

.contact-page .privacy-note p {
  margin-top: 0;
}

@media (min-width: 1081px) {
  .contact-page .page-hero h1 {
    margin-top: 10.164px;
    margin-bottom: 0;
    letter-spacing: 3.6px;
  }

  .contact-page .contact-intro {
    margin-bottom: 36px;
  }

  .contact-page .privacy-note {
    margin-bottom: 18px;
    padding-block: 35.417px;
    font-size: 14.167px;
  }

  .contact-page .privacy-note strong {
    display: block;
    margin-bottom: 14.167px;
  }

  .contact-page .contact-main {
    padding-bottom: 192.25px;
  }
}

@media (min-width: 768px) and (max-width: 1080px) {
  .contact-page .page-hero h1 {
    margin-top: 12.664px;
    margin-bottom: 0;
    font-size: 140px;
    letter-spacing: 4.2px;
  }

  .contact-page .contact-intro {
    margin-bottom: 42px;
  }

  .contact-page .privacy-note {
    margin-bottom: 21px;
    padding-block: 35.417px;
    font-size: 14.167px;
  }

  .contact-page .privacy-note strong {
    display: block;
    margin-bottom: 14.167px;
  }

  .contact-page .contact-main {
    padding-bottom: 220.25px;
  }
}

@media (max-width: 767px) {
  .contact-page .page-hero h1 {
    margin-top: 5.539px;
    margin-bottom: 0;
    line-height: 47.101px;
    letter-spacing: 1.41304px;
  }

  .contact-page .contact-intro {
    margin-bottom: 26.375px;
  }

  .contact-page .privacy-note {
    margin-bottom: 15.073px;
    padding-block: 19.783px;
    font-size: 13.188px;
  }

  .contact-page .privacy-note strong {
    display: block;
    margin-bottom: 13.188px;
  }

  .contact-page .contact-main {
    padding-bottom: 165.586px;
  }
}

/* Final production-theme precedence. */
#project-faq .faq-answer {
  color: var(--muted);
}

@media (max-width: 767px) {
  #project-faq {
    background:
      linear-gradient(
        45deg,
        #fff 0 49.5px,
        var(--soft) 49.5px 275.8px,
        #fff 275.8px
      );
  }
}
