:root {
  --site-hover-orange: #f8b12e;
}

/* Titres plus fins, plus compacts et cohérents avec le titre du header. */
.index-page main h2,
.index-page main h3,
.index-page main h4,
.index-page main h5,
.index-page main h6 {
  font-weight: 500 !important;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

.index-page .section-title > h2,
.index-page .section-title > h3 {
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em;
}

.index-page .section-title > div {
  max-width: 760px;
  font-size: clamp(1.35rem, 1.8vw, 1.75rem) !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

.index-page .about-content h2,
.index-page .testimonial-intro h3,
.index-page .applications-copy > h3,
.index-page .team-intro h3,
.index-page .faq-guide h3,
.index-page .contact-form-wrapper h3 {
  font-size: clamp(1.3rem, 1.65vw, 1.62rem) !important;
}

.index-page .service-card h3,
.index-page .step-info h3,
.index-page .application-card h4,
.index-page .team-identity h3,
.index-page .faq-question-text,
.index-page .contact-info-box h4,
.index-page .feature-item h5 {
  font-size: clamp(1rem, 1.15vw, 1.12rem) !important;
  font-weight: 500 !important;
}

/* L'image reste à la même hauteur mais son contenu est visible en entier. */
.index-page #applications .applications-visual {
  background: radial-gradient(circle at 50% 45%, rgba(17, 153, 238, 0.12), transparent 62%), #06101f;
}

.index-page #applications .applications-visual img {
  object-fit: contain !important;
  object-position: center !important;
}

/* Toutes les cartes reprennent la bordure orange de leurs icônes au survol. */
@media (hover: hover) and (pointer: fine) {
  .index-page .feature-item:hover,
  .index-page .testimonial-item:hover,
  .index-page .service-card:hover,
  .index-page .step-item:hover,
  .index-page .application-card:hover,
  .index-page .team-intro:hover,
  .index-page .team-profile-card:hover,
  .index-page .faq-guide:hover,
  .index-page .faq-item:hover,
  .index-page .contact-info-box:hover,
  .index-page .contact-form-wrapper:hover {
    border-color: var(--site-hover-orange) !important;
  }
}

/* La navigation appartient au flux de la page et disparaît au défilement. */
.index-page .header,
.index-page .header.scrolled {
  position: relative !important;
  inset: auto !important;
  width: 100%;
}

.index-page #hero {
  padding-top: clamp(34px, 4vw, 58px) !important;
}

@media (max-width: 767.98px) {
  .index-page .section-title > div {
    max-width: 22rem;
    font-size: clamp(1.12rem, 5vw, 1.28rem) !important;
    line-height: 1.34 !important;
  }

  .index-page .about-content h2,
  .index-page .testimonial-intro h3,
  .index-page .applications-copy > h3,
  .index-page .team-intro h3,
  .index-page .faq-guide h3,
  .index-page .contact-form-wrapper h3 {
    font-size: clamp(1.14rem, 5vw, 1.3rem) !important;
  }

  .index-page #hero {
    padding-top: 30px !important;
  }

  .index-page #applications .applications-visual img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin-left: 0 !important;
    padding: 8px;
  }
}
