/* Page d'accueil publique */
body.vitrine { display: block; }
.vitrine-bar { display: flex; align-items: center; gap: 12px; padding: calc(12px + env(safe-area-inset-top)) 16px 12px; max-width: 1040px; margin: 0 auto; }
.vitrine-bar .spacer { flex: 1; }
.vitrine-brand { display: flex; align-items: center; gap: 8px; font-weight: 800; letter-spacing: .04em; font-size: .9rem; }
.vitrine-brand img { width: 26px; height: 26px; }
.vitrine-bar .btn { text-decoration: none; }
.vitrine-main { max-width: 1040px; margin: 0 auto; padding: 8px 16px 48px; }
.vitrine-hero { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 24px 0 36px; }
.vitrine-hero h1 { font-size: clamp(1.4rem, 3.6vw, 2.1rem); line-height: 1.2; margin: 16px 0 10px; max-width: 760px; }
.vitrine-lead { color: var(--text-muted); max-width: 680px; line-height: 1.6; margin: 0 0 22px; }
.vitrine-cta { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.vitrine-cta .btn { text-decoration: none; padding: 12px 22px; font-size: 1rem; }
.vitrine-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 8px 0 36px; }
.vitrine-card { padding: 22px; }
.vitrine-card h2 { margin: 6px 0; font-size: 1.05rem; }
.vitrine-card p { color: var(--text-muted); font-size: .9rem; line-height: 1.5; margin: 0; }
.vitrine-roles h2, .vitrine-data h2 { font-size: 1.15rem; margin: 0 0 12px; }
.vitrine-roles-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-bottom: 36px; }
.vitrine-roles-grid div { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--border); }
.vitrine-roles-grid span { color: var(--text-muted); font-size: .88rem; line-height: 1.45; }
.vitrine-data p { color: var(--text-muted); line-height: 1.6; max-width: 720px; }
