/* Page-local Georgia declarations must not hide the heading font selected in
 * Blocksy. Keep a serif fallback for devices that do not provide Georgia. */
body.page .entry-content :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--theme-font-family, Georgia), serif !important;
}

/* Shared button alignment, including wrapped labels. */
main .ppi-button,
main .ppi-button a,
main .wp-block-button__link,
main .wpforms-submit,
main .ppi-partners__cta a {
  text-align: center !important;
  justify-content: center;
}

@media (max-width: 620px) {
  /* Match the German Team competence copy to the preceding body paragraph.
   * Leave the numbered steps and headings at their existing sizes. */
  html[lang^="de"] body.page-id-46 .ppi-team-v2__skill p:not(.ppi-team-v2__step) {
    font-size: 18px !important;
    line-height: 1.58 !important;
  }

  /* WPForms renders Turnstile at a desktop-sized minimum width. Preserve its
   * challenge and scale only its presentation on narrow screens. */
  body.page .entry-content .wpforms-is-turnstile {
    overflow: visible;
  }

  body.page .entry-content .wpforms-turnstile {
    transform: scale(.78);
    transform-origin: left top;
    width: calc(100% / .78);
    margin-bottom: -15px;
  }

  .ppi-investor-v3__status {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-wrap: wrap !important;
  }

  .ppi-investor-v3__status > * {
    min-width: 0;
    white-space: normal !important;
  }

  .ppi-investor-v3__hero h1 {
    font-size: clamp(25px, 6.8vw, 30px) !important;
    overflow-wrap: break-word;
    hyphens: none;
  }

  .ppi-investor-v3__roundbox {
    box-sizing: border-box;
    width: calc(100% + 44px) !important;
    margin-inline: -22px !important;
    padding: 22px 12px !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .ppi-investor-v3__roundbox > *,
  .ppi-investor-v3__form,
  .ppi-investor-v3__form .wpforms-container {
    min-width: 0;
    max-width: 100%;
  }

  .ppi-investor-v3__form input[type="email"] {
    max-width: 100% !important;
  }

  .ppi-investor-v3__roundbox .ppi-investor-v3__kicker {
    font-size: 12px !important;
    letter-spacing: .08em !important;
    overflow-wrap: anywhere;
  }

  .ppi-partners__choice {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 16px !important;
  }

  .ppi-partners__choice > span:last-child {
    min-width: 0;
  }

  .ppi-partners__choice strong,
  .ppi-partners__choice p {
    overflow-wrap: break-word;
  }

  .ppi-partners__choice strong {
    font-size: clamp(18px, 5.3vw, 20px) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .ppi-contact-layout {
    box-sizing: border-box;
    width: calc(100% + 20px) !important;
    margin-inline: -10px !important;
  }

  /* On phones the industry circles use the same centred, snapping loop as
   * the home-page circles. The desktop orbit and tablet strip stay intact. */
  body.page .ppi-industry__ring.is-mobile-loop {
    box-sizing: border-box;
    display: flex !important;
    align-items: center;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 28px max(18px, calc(50% - 74px)) 58px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
  }

  body.page .ppi-industry__ring.is-mobile-loop::-webkit-scrollbar {
    display: none;
  }

  body.page .ppi-industry__ring.is-mobile-loop .ppi-industry__item {
    position: relative !important;
    flex: 0 0 148px !important;
    width: 148px !important;
    height: 148px !important;
    margin: 0 !important;
    animation: none !important;
    offset-path: none !important;
    scroll-snap-align: center;
    opacity: .82;
    transform: scale(.82) !important;
    transition: transform 520ms cubic-bezier(.22, 1, .36, 1), opacity 420ms ease !important;
  }

  body.page .ppi-industry__ring.is-mobile-loop .ppi-industry__item.is-active {
    z-index: 3;
    opacity: 1;
    transform: scale(1.08) !important;
  }

  body.page .ppi-industry__ring.is-mobile-loop.is-jumping .ppi-industry__item {
    transition: none !important;
  }
}
