.section-texte{
  --text-title-motif-color: var(--color-accent);
  --text-divider-color: rgba(7, 10, 20, 0.16);
  --project-title-accent-width: clamp(92px, 8vw, 150px);
  --project-title-accent-height: clamp(72px, 6.5vw, 122px);
  position: relative;
}

.section-texte.has-frame{
  margin: var(--frame);
}

.section-texte.is-padding-large{
  padding-block: clamp(64px, 7vw, 120px);
}

.section-texte.is-padding-small{
  padding-block: clamp(36px, 4vw, 64px);
}

.section-texte.has-text-light{
  --text-divider-color: rgba(255, 255, 255, 0.24);
  color: #fff;
}

.section-texte:is(.bg-dark, .bg-light).has-text-auto{
  --text-divider-color: rgba(255, 255, 255, 0.24);
}

.section-texte.has-text-dark{
  color: var(--color-main);
}

.section-texte .texte-wrap,
.section-texte .texte-bloc{
  position: relative;
}

.section-texte .texte-bloc{
  width: 100%;
}

.section-texte .texte-intro{
  max-width: 1400px;
  margin: 0 auto clamp(24px, 3vw, 42px);
}

.section-texte .texte-intro.is-center{
  text-align: center;
}

.section-texte .texte-intro.is-left{
  width: 75%;
  max-width: none;
  margin-right: auto;
  margin-left: 0;
  text-align: left;
}

.section-texte .texte-intro.is-left .texte-intro__content{
  max-width: 1050px;
}

.section-texte .texte-intro.is-left.has-title .texte-intro__content{
  margin-top: clamp(22px, 2vw, 30px);
}

.section-texte .texte-intro.is-center .texte-intro__content{
  max-width: 820px;
  margin: clamp(24px, 3vw, 42px) auto 0;
}

.section-texte .texte-intro h2{
  position: relative;
  z-index: 0;
  display: inline-block;
  margin: 0;
  color: inherit;
  isolation: isolate;
  text-wrap: balance;
}

.section-texte.has-title-motif .texte-intro h2::before{
  position: absolute;
  z-index: -1;
  top: 0.52em;
  left: -0.2em;
  width: var(--project-title-accent-width);
  height: var(--project-title-accent-height);
  background: var(--text-title-motif-color);
  content: '';
  transform: translateY(-50%) skewX(-26deg);
  pointer-events: none;
}

.section-texte.motif-white{ --text-title-motif-color: #fff; }
.section-texte.motif-dark{ --text-title-motif-color: var(--color-main); }
.section-texte.motif-light{ --text-title-motif-color: var(--color-sec); }
.section-texte.motif-accent{ --text-title-motif-color: var(--color-accent); }
.section-texte.motif-accent-light{ --text-title-motif-color: var(--color-accent-light); }

.section-texte .texte-intro__sub{
  margin-bottom: 1.25rem;
  font-weight: 700;
}

.section-texte .texte-intro__text{
  margin-bottom: 1.5rem;
}

.section-texte .texte-intro__text > *:first-child,
.section-texte .texte-col > *:first-child{
  margin-top: 0;
}

.section-texte .texte-intro__text > *:last-child,
.section-texte .texte-col > *:last-child{
  margin-bottom: 0;
}

.section-texte .texte-contenu{
  display: grid;
  gap: clamp(28px, 4vw, 64px);
}

.section-texte .texte-contenu.cols-2{
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  align-items: stretch;
  gap: 0;
}

.section-texte .texte-bloc:not(.bg-white, .bg-dark, .bg-light, .bg-accent, .bg-accent-light){
  padding-top: clamp(30px, 3vw, 48px);
  border-top: 1px solid var(--text-divider-color);
}

.section-texte .texte-contenu.cols-2 > .texte-col:first-child{
  padding-right: clamp(32px, 4vw, 72px);
}

.section-texte .texte-contenu.cols-2 > .texte-col + .texte-col{
  padding-left: clamp(32px, 4vw, 72px);
  border-left: 1px solid var(--text-divider-color);
}

.section-texte .texte-contenu.cols-1{
  grid-template-columns: minmax(0, 1fr);
  max-width: 90%;
  margin: 0 auto;
}

.section-texte .texte-bloc:is(.bg-white, .bg-dark, .bg-light, .bg-accent, .bg-accent-light){
  padding: clamp(2rem, 3vw, 3.5rem);
}

.section-texte .texte-bloc.bg-white{
  background: #fff;
  color: var(--color-main);
}

.section-texte .text p:last-child,
.section-texte .text ul:last-child,
.section-texte .text ol:last-child{
  margin-bottom: 0;
}

@media (max-width: 980px){
  .section-texte .texte-intro.is-left{
    width: 100%;
  }
}

@media (max-width: 767px){
  .section-texte{
    --project-title-accent-width: 72px;
    --project-title-accent-height: 70px;
  }

  .section-texte.is-padding-large{
    padding-block: 56px;
  }

  .section-texte.is-padding-small{
    padding-block: 36px;
  }

  .section-texte .texte-intro{
    margin-bottom: 32px;
  }

  .section-texte .texte-contenu.cols-2,
  .section-texte .texte-contenu.cols-1{
    grid-template-columns: minmax(0, 1fr);
    max-width: none;
    gap: 24px;
  }

  .section-texte .texte-contenu.cols-2 > .texte-col:first-child,
  .section-texte .texte-contenu.cols-2 > .texte-col + .texte-col{
    padding-right: 0;
    padding-left: 0;
    border-left: 0;
  }

  .section-texte .texte-bloc:is(.bg-white, .bg-dark, .bg-light, .bg-accent, .bg-accent-light){
    padding: 24px;
  }

}
