/* Grille éditoriale grand écran — v3.2 */
.shell {
  width: min(1520px, calc(100% - 64px));
}

.header-inner {
  min-height: 84px;
  gap: 48px;
}

.header-inner nav {
  gap: 34px;
}

.hero-reference {
  min-height: 760px;
}

.hero-reference .hero-content {
  grid-template-columns: minmax(0, 1.2fr) 480px;
  gap: 90px;
}

.hero-reference .hero-copy h1 {
  max-width: 880px;
  font-size: clamp(4.2rem, 5.5vw, 6.8rem);
}

.hero-reference .hero-copy .lead {
  max-width: 760px;
  font-size: 1.35rem;
}

.hero-dashboard {
  padding: 32px;
}

.dashboard-grid a {
  min-height: 142px;
  padding: 26px;
}

.section {
  padding-block: 108px;
}

.section-head > div {
  max-width: 900px;
}

.section-head > p {
  max-width: 500px;
  font-size: 1.03rem;
}

.section-head h2 {
  font-size: clamp(2.8rem, 3.7vw, 4.5rem);
}

.journey-grid {
  gap: 22px;
}

.journey-card {
  min-height: 172px;
  padding: 32px 36px;
}

.journey-card b {
  font-size: 1.38rem;
}

.reference-grid {
  gap: 24px;
}

.reference-card {
  min-height: 390px;
  padding: 32px;
}

.reference-card h3 {
  font-size: 1.7rem;
}

.situation-layout {
  grid-template-columns: 0.9fr 1.35fr;
  gap: 120px;
}

.situation-links a {
  padding: 24px 20px;
  font-size: 1rem;
}

.profile-grid,
.directory-grid {
  gap: 24px;
}

.profile-grid > a {
  min-height: 280px;
  padding: 36px;
}

.profile-grid h3 {
  font-size: 1.55rem;
}

.tool-grid {
  gap: 24px;
}

.tool-card {
  min-height: 350px;
  padding: 40px;
}

.proof-grid {
  grid-template-columns: 0.95fr 1.15fr;
  gap: 110px;
}

.directory-column {
  padding: 30px;
}

.cards.three {
  grid-template-columns: repeat(4, 1fr);
}

.guide-card {
  min-height: 300px;
}

.article-layout {
  grid-template-columns: minmax(0, 840px) 340px;
  justify-content: center;
  gap: 100px;
}

@media (max-width: 1580px) {
  .shell {
    width: min(1400px, calc(100% - 56px));
  }

  .hero-reference .hero-content {
    grid-template-columns: minmax(0, 1.15fr) 440px;
    gap: 70px;
  }
}

@media (max-width: 1250px) {
  .shell {
    width: min(1180px, calc(100% - 44px));
  }

  .section {
    padding-block: 88px;
  }

  .cards.three {
    grid-template-columns: repeat(3, 1fr);
  }

  .hero-reference .hero-copy h1 {
    font-size: clamp(3.7rem, 5.6vw, 5.5rem);
  }
}

@media (max-width: 1050px) {
  .shell {
    width: min(100% - 42px, 980px);
  }

  .hero-reference .hero-content {
    grid-template-columns: 1fr;
  }

  .article-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .shell {
    width: min(100% - 28px, 660px);
  }

  .section {
    padding-block: 64px;
  }

  .cards.three {
    grid-template-columns: 1fr;
  }
}
