/*
 * Version 77 — composition éditoriale desktop.
 * Les textes restent inchangés. Cette couche corrige uniquement la mesure,
 * les proportions, les retours à la ligne et les alignements des grands écrans.
 */

@media (min-width: 1101px) {
  /* Titres de page : moins monumentaux, plus lisibles et mieux équilibrés. */
  .minimal-copy h1,
  .about-hero h1,
  .approach-hero h1,
  .page-hero h1,
  .contact-hero h1,
  .rates-hero h1,
  .lims-hero h1,
  .resources-hero h1,
  .local-hero h1,
  .faq-hero h1,
  .article-hero h1,
  .legal-hero h1 {
    max-width: 100% !important;
    margin-bottom: 30px !important;
    font-size: clamp(50px, 3.75vw, 56px) !important;
    line-height: 1.045 !important;
    letter-spacing: -.032em !important;
    text-wrap: balance;
  }

  /* Les héros disposent enfin d'une vraie colonne de lecture. */
  .minimal-hero-grid {
    grid-template-columns: minmax(0, 1.06fr) minmax(520px, .94fr) !important;
    gap: clamp(58px, 5vw, 76px) !important;
  }

  .about-grid,
  .approach-grid,
  .hero-grid,
  .contact-hero-grid,
  .rates-grid,
  .lims-hero-grid,
  .resources-grid,
  .local-hero-grid,
  .faq-hero-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(410px, .88fr) !important;
    gap: clamp(56px, 5vw, 78px) !important;
    align-items: center !important;
  }

  .minimal-lead,
  .about-lead,
  .approach-lead,
  .lead,
  .contact-lead,
  .rates-lead,
  .lims-lead,
  .resources-lead,
  .local-lead,
  .faq-lead,
  .article-intro {
    max-width: 64ch !important;
    text-align: left;
  }

  /* Sections de l'accueil : titres plus larges, rythmes plus calmes. */
  .minimal-statement-grid {
    grid-template-columns: 48px minmax(0, 1.35fr) minmax(400px, .75fr) !important;
    gap: 48px !important;
    align-items: center !important;
  }

  .minimal-statement h2 {
    max-width: 100% !important;
    font-size: clamp(42px, 3.25vw, 48px) !important;
    line-height: 1.07 !important;
  }

  .local-seo-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(430px, .85fr) !important;
    gap: clamp(70px, 7vw, 104px) !important;
    align-items: center !important;
  }

  .local-seo-grid h2 {
    max-width: 100% !important;
    font-size: clamp(42px, 3.25vw, 48px) !important;
    line-height: 1.07 !important;
  }

  .minimal-section-title {
    grid-template-columns: 190px minmax(0, 1fr) !important;
    gap: clamp(54px, 6vw, 88px) !important;
    align-items: start !important;
  }

  .minimal-section-title h2,
  .section-heading h2,
  .editorial-heading h2,
  .published-head h2,
  .statement-copy h2,
  .contact-editorial-card h2 {
    max-width: 100% !important;
    font-size: clamp(40px, 3.2vw, 48px) !important;
    line-height: 1.08 !important;
  }

  .functional-reality-grid {
    grid-template-columns: minmax(0, 1.22fr) minmax(390px, .78fr) !important;
    gap: clamp(70px, 7vw, 104px) !important;
  }

  .functional-reality h2 {
    max-width: 100% !important;
    font-size: clamp(42px, 3.25vw, 48px) !important;
    line-height: 1.07 !important;
  }

  .final-appointment-inner,
  .about-cta-inner,
  .faq-cta-grid,
  .cta-grid,
  .cta-inner,
  .contact-grid,
  .article-cta-inner {
    grid-template-columns: minmax(0, 1fr) minmax(240px, auto) !important;
    gap: clamp(60px, 7vw, 96px) !important;
    align-items: center !important;
  }

  .final-appointment-copy h2,
  .about-cta h2,
  .faq-cta h2,
  .cta h2,
  .contact-grid h2,
  .article-cta h2 {
    max-width: 100% !important;
    font-size: clamp(40px, 3.2vw, 48px) !important;
    line-height: 1.08 !important;
  }

  /* À propos : la manchette ne doit plus être enfermée dans 10 caractères. */
  .about-origin-story .manifesto-grid {
    grid-template-columns: 190px minmax(0, 1fr) !important;
    gap: clamp(62px, 7vw, 96px) !important;
    align-items: start !important;
  }

  .about-origin-story .container > div:last-child {
    width: 100%;
    max-width: 900px !important;
    padding: 0 0 0 42px !important;
    align-self: start !important;
  }

  .about-origin-story h2,
  .manifesto-copy h2 {
    max-width: 100% !important;
    font-size: clamp(40px, 3.2vw, 48px) !important;
    line-height: 1.08 !important;
  }

  /* FAQ et contenus longs : une colonne principale stable et respirante. */
  .faq-group {
    grid-template-columns: minmax(250px, .36fr) minmax(0, 1fr) !important;
    gap: clamp(64px, 7vw, 100px) !important;
  }

  .faq-group-heading h2 {
    max-width: 16ch;
    font-size: clamp(36px, 2.9vw, 43px) !important;
    line-height: 1.1 !important;
  }

  .article-hero .container {
    max-width: 1120px !important;
  }

  .article-copy {
    max-width: 860px !important;
  }

  .article-copy h2,
  .references h2 {
    max-width: 100% !important;
    font-size: clamp(34px, 2.8vw, 42px) !important;
    line-height: 1.14 !important;
  }

  .article-copy p,
  .article-copy li {
    max-width: 70ch;
    text-align: left;
  }

  .commitment-card h2 {
    max-width: 100% !important;
    font-size: clamp(40px, 3.2vw, 48px) !important;
    line-height: 1.08 !important;
  }

  /* Garde-fous contre les mots cassés et les blocs artificiellement étroits. */
  .minimal-copy h1,
  .about-hero h1,
  .approach-hero h1,
  .page-hero h1,
  .contact-hero h1,
  .rates-hero h1,
  .lims-hero h1,
  .resources-hero h1,
  .local-hero h1,
  .faq-hero h1,
  .article-hero h1,
  .about-origin-story h2,
  .minimal-statement h2,
  .functional-reality h2 {
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
  }
}

/* Ordinateurs compacts et tablettes en paysage : une seule colonne plutôt
 * que deux colonnes trop serrées. Le mobile existant reste inchangé. */
@media (min-width: 981px) and (max-width: 1100px) {
  .minimal-hero-grid,
  .about-grid,
  .approach-grid,
  .hero-grid,
  .contact-hero-grid,
  .rates-grid,
  .lims-hero-grid,
  .resources-grid,
  .local-hero-grid,
  .faq-hero-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 52px !important;
  }

  .minimal-copy h1,
  .about-hero h1,
  .approach-hero h1,
  .page-hero h1,
  .contact-hero h1,
  .rates-hero h1,
  .lims-hero h1,
  .resources-hero h1,
  .local-hero h1,
  .faq-hero h1 {
    max-width: 22ch !important;
    font-size: 56px !important;
    line-height: 1.05 !important;
  }

  .side-card,
  .editorial-card,
  .contact-card,
  .faq-intro-card,
  .info-panel {
    width: min(100%, 720px);
  }

  .minimal-portrait {
    width: min(100%, 720px);
    margin-inline: auto;
  }
}
