/**
 * Global responsive adjustments.
 */

.d-inline-block {
  display: inline-block;
  width: fit-content;
}

@media not all and (min-width: 640px) {
  :root {
    --_global--container-margin: 20px;
  }

  .l-section.smb-section .smb-section__title {
    margin-top: 0 !important;
    font-size: 1.5rem !important;
  }

  .l-section.smb-section .smb-section__title .sme-font-size {
    font-size: inherit !important;
  }

  body.single-works .c-entry__content h2.wp-block-heading {
    font-size: 1.25rem !important;
    line-height: 1.5;
  }
}

/**
 * Shared lower-page hero.
 */
@media not all and (min-width: 1024px) {
  .c-page-hero {
    padding-block: 56px !important;
  }

  .c-page-hero .wp-block-heading {
    font-size: 3.5rem !important;
    line-height: 1.2;
  }
}

@media not all and (min-width: 640px) {
  .c-page-hero {
    padding-block: 48px !important;
  }

  .c-page-hero .wp-block-heading {
    font-size: 3rem !important;
  }
}

/**
 * Shared works card.
 */
.c-works-grid {
  align-items: stretch;
}

.c-works-grid > .wp-block-post {
  display: flex;
}

.c-works-card {
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
}

.c-works-card .wp-block-post-excerpt {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.c-works-card .wp-block-post-excerpt__more-text {
  margin-top: auto;
  padding-top: 1em;
}

@media not all and (min-width: 1024px) {
  .c-works-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .c-works-card {
    padding: 32px !important;
  }

  .c-works-card > .wp-block-group:first-child {
    padding-block: 24px !important;
  }
}

@media not all and (min-width: 640px) {
  .c-works-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .c-works-card {
    padding: 24px !important;
  }

  .c-works-card > .wp-block-group:first-child {
    padding-block: 16px !important;
  }

  .c-works-card .wp-block-post-title {
    font-size: 1.125rem !important;
    line-height: 1.6;
  }

  .c-works-card .wp-block-post-excerpt {
    font-size: 0.9375rem !important;
  }
}

/**
 * Shared process steps.
 */
.c-process .flow-item {
  flex: 1;
  align-self: stretch;
}

.c-process .flow-num {
  display: flex;
  width: 2em;
  height: 2em;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background-color: #287ae7;
}

@media not all and (min-width: 1024px) {
  .c-process {
    flex-direction: column;
    align-items: stretch !important;
  }

  .c-process .flow-item {
    flex: none;
    width: 100%;
  }

  .c-process > .wp-block-icon {
    flex: 0 0 auto;
    align-self: center;
    transform: rotate(90deg);
  }
}

/**
 * Shared site CTA.
 */
.c-site-cta {
  min-height: auto;
}

.c-site-cta .has-large-font-size {
  word-break: normal;
  text-wrap: balance;
}

.c-site-cta .has-large-font-size .c-site-cta__mobile-break {
  display: none;
}

@supports (word-break: auto-phrase) {
  .c-site-cta .has-large-font-size {
    word-break: auto-phrase;
  }
}

@media not all and (min-width: 1024px) {
  .c-site-cta .has-large-font-size br {
    display: none;
  }

  .c-site-cta {
    padding: 56px 40px !important;
  }

  .c-site-cta > .wp-block-cover__inner-container > .wp-block-group {
    margin-bottom: 32px !important;
  }

  .c-site-cta .has-large-font-size {
    font-size: 1.75rem !important;
    line-height: 1.5;
  }

  .c-site-cta .has-sm-l-font-size {
    font-size: 1rem !important;
    line-height: 1.8;
  }

  .c-site-cta .smb-btn {
    box-sizing: border-box;
    width: 100%;
    max-width: 320px;
    padding: 18px 24px !important;
    white-space: normal;
  }
}

@media not all and (min-width: 640px) {
  .c-site-cta {
    padding: 48px 20px !important;
  }

  .c-site-cta .has-large-font-size {
    font-size: clamp(1rem, calc(6.3vw - 0.25rem), 1.275rem) !important;
  }

  .c-site-cta .has-large-font-size strong {
    white-space: nowrap;
  }

  .c-site-cta .has-large-font-size br,
  .c-site-cta .has-large-font-size .c-site-cta__mobile-break {
    display: block;
  }
}
