body.page-life {

  --life-muted: #555;
  --life-body-width: 640px;

  main.site-main.container {
    max-width: var(--container);
  }

  .ff-section--narrow {
    max-width: 800px;
  }

  h1 {
    font-family: var(--life-heading-serif);
    font-weight: 300;
    letter-spacing: 0.04em;
    font-size: clamp(2.8rem, 6vw, 4rem);
    line-height: 1.1;
    text-transform: uppercase;
    margin: 0 0 1.8rem;
    text-align: left;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.35em;
    text-decoration-color: var(--ff-border);
  }

  h2 {
    font-family: var(--life-heading-serif);
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: 0.02em;
    margin: 0 0 0.65rem;
    text-align: center;
  }

  h3 {
    font-family: var(--life-heading-serif);
    font-weight: 700;
    font-size: 0.98rem;
    text-transform: uppercase;
    letter-spacing: 0.10em;
    margin: 0 0 0.65rem;
    text-align: center;
  }

  p {
    font-family: var(--life-serif);
    font-size: 0.96rem;
    line-height: 1.7;
    max-width: var(--life-body-width);
    margin: 0 0 0.9rem !important;
    padding: 0;
    color: #333;
  }

  .wp-block-column p {
    margin-bottom: 0.9rem !important;
  }

  h3 + p {
    max-width: 100%;
    margin-bottom: 2.5rem !important;
  }

  ul {
    font-family: var(--life-serif);
    font-size: 0.96rem;
    line-height: 1.7;
    padding-left: 1.1rem;
    max-width: var(--life-body-width);
  }

  img {
    border-radius: 18px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  }

  .wp-block-image + p {
    font-size: 0.85rem;
    line-height: 1.5;
    color: var(--life-muted);
    max-width: 460px;
    margin: 0.4rem auto 0;
    text-align: center;
  }

  .ff-split > .wp-block-column {
    display: flex;
    flex-direction: column;
    justify-content: center;
    row-gap: 0;
  }

  .ff-split > .wp-block-column .wp-block-image {
    max-width: 460px;
  }

  .life-hero {
    align-items: flex-start;
    column-gap: 32px;

    > .wp-block-column {
      justify-content: flex-start;
    }

    > .wp-block-column:last-child {
      align-items: flex-end;
    }

    .wp-block-image {
      max-width: 480px;
      margin-left: auto;
      margin-right: auto;
    }

    .wp-block-image img {
      width: 100%;
      max-height: 280px;
      object-fit: cover;
    }

    .wp-block-image + p {
      max-width: 430px;
      text-align: center;
      margin-top: 0.35rem;
    }
  }

  .life-align-top > .wp-block-column {
    justify-content: flex-start;
  }

  h3.life-heading-center {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .life-miracle {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }

  .life-image-only {
    text-align: center;

    .wp-block-image {
      margin-left: auto;
      margin-right: auto;
    }
  }

  .ff-section {
    margin: 44px 0;
  }

  .ff-section.ff-section--narrow {
    margin: 36px auto;
  }

  .life-miracle-section {
    margin-top: 36px;
    margin-bottom: 28px;
  }

  .ff-split:first-of-type h2,
  .ff-split:first-of-type h3 {
    text-align: left;
    font-size: 1.25rem;
  }

  @media (max-width: 782px) {

    .wp-block-column {
      align-items: center !important;
    }

    .wp-block-image {
      margin-left: auto !important;
      margin-right: auto !important;
      text-align: center;
    }

    .wp-block-image img {
      margin-left: auto;
      margin-right: auto;
    }

    .life-hero .wp-block-image + p {
      margin-left: auto;
      margin-right: auto;
      text-align: center;
    }
  }
}
