.public-page-shell { background: #f6f6f6; }
.public-page-main { padding-top: 2rem; padding-bottom: 3rem; }
.public-page-hero {
  margin-bottom: 1.5rem;
  padding: 1.75rem 2rem;
  border-left: 5px solid var(--border-action-high-blue-france);
  background: linear-gradient(135deg, #ececfe 0%, #f5f5fe 100%);
  box-shadow: 0 4px 14px rgba(0, 0, 145, .08);
}
.public-page-hero h1 { margin-bottom: .75rem; color: var(--text-title-blue-france); }
.public-content-card {
  margin-bottom: 1.5rem;
  padding: 1.75rem;
  border: 1px solid #e3e3fd;
  border-radius: .5rem;
  background: #fff;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .06);
}
.public-content-card > :first-child { margin-top: 0; }
.public-content-card h2,
.public-content-card h3,
.public-content-card h4 { color: var(--text-title-blue-france); }
.public-content-card .fr-table { margin-bottom: 0; }
.public-prose { max-width: 58rem; }
.public-prose section {
  padding: 1.5rem;
  border-left: 3px solid #cacafb;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .05);
}
.public-list { padding: 0; list-style: none; }
.public-list li { margin-bottom: .75rem; }
.public-list a { display: block; padding: .75rem 1rem; border-left: 3px solid #cacafb; background: #fff; }

@media (max-width: 48rem) {
  .public-page-main { padding-top: 1rem; }
  .public-page-hero,
  .public-content-card,
  .public-prose section { padding: 1.25rem; }
}
