/*
 * Concept Numeric — correctif de lisibilité V2
 * Chargé après le thème bleu nuit.
 */

body {
  font-size: 16px;
  line-height: 1.65;
}

/* Petits libellés : taille et espacement plus confortables */
.eyebrow,
.section-kicker,
.section-index p,
.materials-strip > p,
.contact-form label > span,
.project-card figcaption span {
  font-size: 11px;
  line-height: 1.55;
}

.desktop-nav a,
.header-cta,
.primary-link,
.text-link,
.local-link,
.email-link {
  font-size: 12px;
}

.hero-intro {
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.6;
}

.hero-note p,
.scroll-cue span {
  font-size: 11px;
  line-height: 1.5;
}

/* Paragraphes courants */
.intro-copy p,
.projects-intro,
.machine-lead,
.local-copy > p:not(.section-kicker),
.contact-heading > p:not(.section-kicker) {
  font-size: 16px;
  line-height: 1.8;
}

.service-card p {
  font-size: 15px;
  line-height: 1.75;
}

.service-card li,
.local-applications li,
.machine-features span {
  font-size: 12px;
  line-height: 1.55;
}

.precision-note {
  font-size: 13px;
  line-height: 1.7;
}

.process-list p {
  font-size: 15px;
  line-height: 1.7;
}

.materials-strip div span {
  font-size: 21px;
}

.faq-list summary,
.legal-details summary {
  font-size: 22px;
}

.faq-list details p,
.legal-details details p {
  font-size: 15px;
  line-height: 1.8;
}

.contact-details span {
  font-size: 14px;
  line-height: 1.65;
}

.premium-input,
.premium-textarea {
  font-size: 16px !important;
}

.form-submit p,
.cookie-copy > p:not(.cookie-title) {
  font-size: 12px;
}

footer > p,
footer nav a,
.footer-bottom p,
.cookie-settings {
  font-size: 11px;
}

/* Contraste renforcé dans toutes les sections bleu nuit */
.machine-section h2,
.process-section h2,
.faq-section h2,
.machine-section h3,
.process-section h3,
.faq-section h3 {
  color: #ffffff;
}

.machine-section .section-index p,
.process-section .section-index p,
.faq-section .section-index p {
  color: #edf1f3;
}

.machine-section .section-index span,
.process-section .section-index span,
.faq-section .section-index span,
.machine-section .section-kicker,
.process-section .section-kicker,
.faq-section .section-kicker {
  color: #b9cbd9;
}

.machine-lead,
.precision-note,
.process-list p,
.faq-list details p {
  color: #d7dee3;
}

.process-list svg,
.machine-features svg {
  color: #c4d2de;
}

/* Le texte reste lisible lorsque les cartes deviennent bleu nuit au survol */
.service-card:hover p,
.service-card:hover li,
.service-card:hover h3,
.service-card:hover .service-top span,
.service-card:hover svg {
  color: #ffffff;
}

@media (max-width: 760px) {
  body {
    font-size: 16px;
  }

  .eyebrow,
  .section-kicker,
  .section-index p,
  .contact-form label > span {
    font-size: 11px;
  }

  .intro-copy p,
  .projects-intro,
  .machine-lead,
  .local-copy > p:not(.section-kicker),
  .contact-heading > p:not(.section-kicker) {
    font-size: 16px;
  }

  .process-list p,
  .faq-list details p,
  .legal-details details p {
    font-size: 15px;
  }

  .faq-list summary,
  .legal-details summary {
    font-size: 20px;
  }
}
