/* Présentation de Bruno Giulian — styles externes, adaptés au mobile. */
.page-ville .creator-story { background: linear-gradient(135deg, #fff, #eff9fd); padding-block: clamp(40px, 5vw, 80px); }
.page-ville .creator-story-panel { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); overflow: hidden; border: 1px solid #d9eaf1; border-radius: 28px; background: #fff; box-shadow: 0 18px 45px rgba(7, 57, 84, .07); }
.page-ville .creator-story-visual { margin: 0; min-width: 0; background: #eaf8fd; }
.page-ville .creator-story-visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.page-ville .creator-story-copy { min-width: 0; padding: clamp(26px, 3vw, 52px); align-self: center; }
.page-ville .creator-story-copy .eyebrow { color: #087da9; font-size: clamp(.75rem, .85vw, .95rem); line-height: 1.6; letter-spacing: .11em; }
.page-ville .creator-story-copy h2 { margin: 18px 0; max-width: none; color: #087da9; font-size: clamp(1.65rem, 2.55vw, 3rem); line-height: 1.12; letter-spacing: -.025em; }
.page-ville .creator-story-copy p { margin: 0 0 20px; color: #173a56; font-size: clamp(1rem, 1.02vw, 1.15rem); line-height: 1.72; }
.page-ville .creator-story-copy .creator-story-role { font-weight: 700; color: #075f88; line-height: 1.5; }
.page-ville .creator-story-copy .creator-story-signature { width: fit-content; margin: 18px 0 26px; padding-bottom: 4px; border-bottom: 3px solid #ff7358; font-family: "Segoe Script", "Brush Script MT", cursive; color: #075f88; font-size: clamp(1.75rem, 2.2vw, 2.65rem); line-height: 1.4; }
.page-ville .creator-story-promises { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0; list-style: none; }
.page-ville .creator-story-promises li { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 10px; padding: 14px 6px; border: 1px solid #dcecf2; border-radius: 15px; background: #f4fafc; color: #173a56; font-size: .88rem; font-weight: 700; line-height: 1.4; text-align: center; }
.page-ville .creator-story-promises svg { width: 34px; height: 34px; flex-shrink: 0; fill: none; stroke: #ff7358; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.page-ville .creator-story-rights { grid-column: 1 / -1; padding: 17px 24px; background: #eaf6fc; border-top: 1px solid #d9eaf1; text-align: center; }
.page-ville .creator-story-rights p { margin: 0; color: #325c78; font-size: .85rem; line-height: 1.7; }
@media (max-width: 1050px) {
  .page-ville .creator-story-panel { grid-template-columns: minmax(0, 1fr); }
  .page-ville .creator-story-visual img { height: auto; max-height: none; object-fit: contain; }
  .page-ville .creator-story-visual { max-width: 600px; width: 100%; justify-self: center; }
}
@media (max-width: 480px) {
  .page-ville .creator-story-copy { padding: 24px 20px; }
  .page-ville .creator-story-promises { gap: 7px; }
  .page-ville .creator-story-promises li { font-size: .75rem; padding-inline: 4px; }
  .page-ville .creator-story-rights { padding: 16px; }
}

/* Portrait complet avec logo : proportions conservées, sans recadrage. */
.page-ville .creator-story-visual { align-self: center; }
.page-ville .creator-story-visual img { height: auto; object-fit: contain; }

/* Signature sur deux lignes fixes, sans coupure du nom ni de la marque. */
.page-ville .creator-story-byline { display: grid; gap: 4px; margin-bottom: 18px; color: #087da9; font-size: clamp(.72rem, .85vw, .95rem); font-weight: 800; letter-spacing: .07em; line-height: 1.6; }
.page-ville .creator-story-byline::before { content: ""; display: block; width: 48px; height: 3px; margin-bottom: 7px; border-radius: 2px; background: #ff7358; }
.page-ville .creator-story-byline > span { display: block; white-space: nowrap; }
.page-ville .creator-story-brand { display: inline-block; white-space: nowrap; }
