/* CODEX 44 - ajustements de la page d'accueil uniquement. */
.c44-hero-eyebrow {
  margin-bottom: 22px;
}

.c31-hero {
  background:
    linear-gradient(90deg, #dff4fa 0%, #f9fdfe 34%, #fff 50%, #f9fdfe 66%, #dff4fa 100%);
}

.c31-hero::before {
  background:
    linear-gradient(rgba(18, 117, 148, .042) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18, 117, 148, .042) 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .2) 34%, transparent 50%, rgba(0, 0, 0, .2) 66%, #000 100%);
}

.c44-hero-grid {
  align-items: stretch;
}

.c31-hero .c44-hero-grid .c31-hero-copy h1 {
  max-width: none;
  margin: 0;
  font-size: clamp(2rem, 3.35vw, 3.6rem);
  line-height: .96;
  letter-spacing: -.055em;
  text-wrap: initial;
}

.c44-title-line {
  display: block;
  white-space: nowrap;
}

.c44-hero-grid .c31-lead {
  margin-top: clamp(28px, 3.4vw, 48px);
}

.c44-hero-visual {
  position: relative;
  height: auto;
  min-height: 0;
  overflow: visible;
}

.c44-hero-visual img {
  position: absolute;
  inset: 14px;
  width: calc(100% - 28px);
  height: calc(100% - 28px);
  aspect-ratio: auto;
  object-fit: contain;
  background: #eef1f2;
}

/* Les titres de l'accueil, hors H1, sont réduits d'environ un quart. */
.c31-heading h2,
.c31-technique h2,
.c31-area h2 {
  font-size: clamp(1.6875rem, 3vw, 3.1125rem);
}

.c31-quote h2,
.c44-quote-heading h2 {
  font-size: clamp(1.95rem, 3.6vw, 3.675rem);
}

.c26-heading h2,
.c26-workshop h2,
.c26-catalogue h2 {
  font-size: clamp(1.5rem, 2.85vw, 2.775rem);
}

.c31-system-card h3 {
  font-size: 1.065rem;
}

.c26-service-card h3 {
  font-size: clamp(1.1625rem, 1.65vw, 1.6125rem);
}

.c26-step h3 {
  font-size: .96rem;
}

.c26-journey-cta h3 {
  font-size: clamp(1.2375rem, 1.875vw, 1.7625rem);
}

.c31-hub-copy strong {
  font-size: clamp(1.275rem, 1.875vw, 1.875rem);
}

.c31-application-copy strong {
  font-size: clamp(1.0875rem, 1.8vw, 1.7625rem);
}

.c31-project-feature strong {
  font-size: clamp(1.5rem, 2.625vw, 2.625rem);
}

.c31-project-list strong {
  font-size: .81rem;
}

.c31-heading.c44-heading-wide,
.c26-heading.c44-heading-wide {
  max-width: none;
}

.c31-heading-split.c44-heading-wide {
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}

.c31-heading-split.c44-heading-wide > p {
  max-width: 780px;
}

.c31-heading.c44-heading-wide h2,
.c26-heading.c44-heading-wide h2,
.c44-section-heading h2,
.c44-quote-heading h2 {
  max-width: none;
  text-wrap: balance;
}

.c31-heading-centered.c44-heading-wide > p:last-child,
.c26-heading-centered.c44-heading-wide > p:last-child {
  max-width: 880px;
  margin-right: auto;
  margin-left: auto;
}

.c44-section-heading {
  max-width: none;
  margin-bottom: 48px;
}

.c44-faq-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 40px;
}

.c44-faq-grid .c31-heading {
  position: static;
}

.c44-faq-grid .c31-heading > p:last-child {
  max-width: 780px;
}

.c44-quote-heading {
  margin-bottom: 42px;
}

.c44-quote-heading h2 {
  margin: 10px 0 0;
  line-height: .96;
  letter-spacing: -.05em;
}

@media (max-width: 900px) {
  .c44-title-line {
    display: inline;
    white-space: normal;
  }

  .c44-title-line + .c44-title-line::before {
    content: " ";
  }

  .c44-hero-visual img {
    position: static;
    width: 100%;
    height: auto;
    aspect-ratio: 1263 / 1257;
  }

  .c44-section-heading,
  .c44-quote-heading {
    margin-bottom: 34px;
  }
}

@media (max-width: 760px) {
  .c44-hero-eyebrow {
    margin-bottom: 18px;
  }

  .c31-hero .c44-hero-grid .c31-hero-copy h1 {
    font-size: clamp(1.85rem, 8.7vw, 2.7rem);
  }

}

@media (max-width: 640px) {
  .c31-heading h2,
  .c31-technique h2,
  .c31-area h2,
  .c31-quote h2,
  .c44-quote-heading h2 {
    font-size: clamp(1.5rem, 7.7vw, 2.1375rem);
  }

  .c26-heading h2,
  .c26-workshop h2,
  .c26-catalogue h2 {
    font-size: clamp(1.425rem, 7.5vw, 1.9125rem);
  }
}
