/* Codex 48 : les dix-neuf chantiers et leur page Réalisations. */
.c48-realisation {
  --c48-sky: linear-gradient(90deg, #dff4fa 0%, #f9fdfe 34%, #fff 50%, #f9fdfe 66%, #dff4fa 100%);
  background: var(--c48-sky);
}
.c48-realisation .realisation-breadcrumb,
.c48-realisation > section,
.c48-realisation .realisation-page > header,
.c48-realisation .realisation-page > section {
  background: var(--c48-sky);
}
.c48-realisation .realisation-hero-copy {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 26px;
  text-align: center;
}
.c48-realisation .realisation-hero h1 { margin-inline: auto; }
.c48-realisation .realisation-hero-lead { max-width: 760px; width: 100%; padding: 0; }
.c48-realisation .realisation-kicker { justify-content: center; }
.c48-realisation .realisation-hero-lead > div { justify-content: center; flex-wrap: wrap; }
.c48-realisation .realisation-hero-media {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: var(--c48-media-width);
}
.c48-realisation .realisation-hero-media > img,
.c48-realisation .story-image img,
.c48-realisation .realisation-gallery img {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: var(--c48-photo-ratio);
  object-fit: cover;
  object-position: var(--c48-photo-position);
  max-width: var(--c48-photo-width);
  margin-inline: auto;
}
.c48-realisation .realisation-hero-media > p {
  margin-inline: auto;
  text-align: center;
  line-height: 1.6;
}
.c48-realisation .realisation-hero-index { position: static; margin-top: 14px; text-align: center; }
.c48-realisation .realisation-story { text-align: center; }
.c48-realisation .story-row,
.c48-realisation .story-row.reverse {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 32px;
}
.c48-realisation .story-row > .story-copy,
.c48-realisation .story-row > .story-image,
.c48-realisation .story-row > .story-note { grid-column: 1; grid-row: auto; }
.c48-realisation .story-copy { width: 100%; max-width: 800px; margin-inline: auto; }
.c48-realisation .story-copy > span { margin-inline: auto; }
.c48-realisation .story-image { width: 100%; max-width: var(--c48-media-width); }
.c48-realisation .story-image figcaption { max-width: 760px; margin-inline: auto; }
.c48-realisation .story-note {
  box-sizing: border-box;
  width: 100%;
  max-width: 800px;
  align-items: center;
  background: rgba(255, 255, 255, .65);
  border: 1px solid var(--real-line);
  color: var(--real-ink);
}
.c48-realisation .story-note > span,
.c48-realisation .story-note a { color: var(--real-cyan-dark); }
/* Contraste du bloc auparavant sombre, sans changer ses liens ni sa structure. */
.c48-realisation .realisation-next,
.c48-realisation .realisation-next-links a { color: var(--real-ink); }
.c48-realisation .realisation-next-grid > div > span,
.c48-realisation .realisation-next-links b { color: var(--real-cyan-dark); }
.c48-realisation .realisation-next-links small { color: var(--real-muted); }
.c48-realisation .realisation-next-links,
.c48-realisation .realisation-next-links a { border-color: var(--real-line); }
@media (max-width: 600px) {
  .c48-realisation .realisation-hero-index { padding: 8px 12px; }
}

/* Galerie et page d'ensemble : grandes vues naturelles et textes centrés. */
.c48-realisation .realisation-gallery { text-align: center; }
.c48-realisation .realisation-gallery-heading { grid-template-columns: 1fr; gap: 18px; }
.c48-realisation .realisation-gallery-heading h2 { margin-inline: auto; }
.c48-realisation .realisation-gallery-grid { grid-template-columns: 1fr; gap: 48px; }
.c48-realisation .realisation-gallery figcaption { max-width: 760px; margin-inline: auto; }
.c48-realisation .projects-intro { grid-template-columns: 1fr; gap: 18px; max-width: 800px; margin-inline: auto; text-align: center; }
.c48-realisation .project-card,
.c48-realisation .project-card:nth-child(even) { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 32px; text-align: center; }
.c48-realisation .project-card:nth-child(even) > * { grid-column: 1; grid-row: auto; }
.c48-realisation .project-card-image { width: 100%; max-width: var(--c48-photo-width); aspect-ratio: auto; background: transparent; }
.c48-realisation .project-card-image img { display: block; height: auto; aspect-ratio: var(--c48-photo-ratio); object-fit: cover; object-position: var(--c48-photo-position); }
.c48-realisation .project-card-number { left: 50%; transform: translateX(-50%); }
.c48-realisation .project-card-copy { max-width: 800px; }
.c48-realisation .project-card-copy > div { justify-content: center; align-items: center; flex-wrap: wrap; }
.c48-realisation .projects-method { color: var(--real-ink); }
.c48-realisation .projects-method .realisation-kicker.light,
.c48-realisation .projects-method-steps b { color: var(--real-cyan-dark); }
.c48-realisation .projects-method-steps { background: var(--real-line); border-color: var(--real-line); }
.c48-realisation .projects-method-steps article { background: rgba(255,255,255,.65); }
.c48-realisation .projects-method-steps p { color: var(--real-muted); }
