@layer components {
  .ec-reassurance {
    --reassurance-icon-size: 48px;
    --reassurance-label-size: 0.8rem;

    background: var(--ec-bg-accent);
    color: var(--ec-text-inverse);
  }

  .ec-reassurance.ec-section {
    --section-px: var(--ec-space-16);
    --section-py: var(--ec-section-py-sm);
  }

  .ec-reassurance__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--ec-space-24) var(--ec-space-8);
    margin-block: 0;
    padding: 0;
    list-style: none;
  }

  .ec-reassurance__item {
    display: flex;
    flex-direction: column;
    gap: var(--ec-space-8);
    align-items: center;
    justify-content: flex-start;
    text-align: center;
  }

  .ec-reassurance__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    inline-size: var(--reassurance-icon-size);
    block-size: var(--reassurance-icon-size);
    border-radius: var(--ec-radius-full);
    background: var(--ec-bg-accent-light);
  }

  .ec-reassurance__label {
    font-size: var(--reassurance-label-size);
    font-weight: var(--ec-weight-bold);
    line-height: var(--ec-leading-title);
    overflow-wrap: break-word;
  }

  .ec-reassurance__notice {
    margin-block-start: var(--ec-section-gap);
    font-size: var(--ec-size-xs);
    font-weight: var(--ec-weight-regular);
    line-height: var(--ec-leading-default);
    text-align: center;
  }

  @media (width >= 60rem) {
    .ec-reassurance.ec-section {
      --section-px: var(--ec-section-px-lg);
    }

    .ec-reassurance__grid {
      grid-template-columns: repeat(6, 1fr);
    }
  }
}
